Calf Backlog
1. TODO
- calf main serve action
- if (404 and autogen and source exists) or (autogen and source is newer)
- if file ~= *-s.html create slidy version
- else if file ~= *.tex create .tex
- else if file ~= *.pdf create pdf (use *-main.tex if exists)
- server mode editing: rsnapshot style hard-linked trees, pooled...
- when .html requested that doesn't exist, check for .yam and generate if it
exists
- need to test it running at /
- multiplier
- config pointing to mimir server
- domain model about sites (with owlim taxa?)
- nutch spidering with admin interf (or solr server for this?)
- calf
- usage stats; tag for frequent list in nav bar
- tag for breadcrumbs in nav bar
- fix TS local edit stuff to work with user config file
2. DONE
- deleted base attribute and changed the behaviour of the file tag so that for
requests that are not via the browse controller relative tags are prepended
with createLink(controller: 'browse', action: 'index')
- used ian's injection trick for treeService in YamTagLib and removed the ts
from the model in BC and (mostly) in browse/index.gsp
- sec: added the spring sec ui plugin
- implemented gatewiki:file for any controller (not just browse)
- partial fix for editing files with spaces in their names
- if no .html but .yam exists regen
- cleaned up TS code removing parentRelPath etc.
- gatewiki:yam changed to avoid any disk writes
- removed the watches/notify stuff (autoregen on request works just as well)
- added spring security core plugin
- local edits
- use ivy/mvn to depend on gate
- implemented autoregen in the taglib and use in browse/index.gsp
- gatewiki:yam tag
- cow lite from show (good enough to mostly replace cow w/s mode)
- TreeService: index.html logic, MIME types etc.
- BrowseController: rel path into params (as "path") by URL mapping
- YamService: compilation errors are reported (via log.warn)
- tested on huge.yam (a 1MB .yam); works fine, takes between 2 and 5 seconds
- tomcat deploy
- queuing to prevent multiple simultaneous generates on same file
(inotify-monitored IO events seem to take some amount of time and therefore
get notified more than once)
- service wrapping inotify to regenerate changed .yams
- scaffolded model of paths to watch, plus turn on/off
3. Notes
- calf on google sites:
- there's no such thing as a directory (a "folder" is for uploads only it
seems), though pages can be "below" other pages?
- access control applies to the whole site, not to subtrees?
- nimble install
- in BuildConfig: plugins { runtime ':nimble:latest.integration' }
- then grails jack-be-nimble
- consoling System.out << "ls
${grails.util.BuildSettingsHolder.settings.baseDir}".execute().inputStream