3. Using SVN as a Wiki backend
No available Wiki in Java that we could find has good SVN support. Using SVN
as a backend gives us:
- off-line edit - simply checkout the pages and edit to your heart's content
while off-line
- edit with other tools, not just the web forms interface
- management of authorship-related metadata such as how many lines added,
difference between versions and so on
- a stable and reliable versionning system that's been proved in production
use by 000,000s of developers
- concurrent editing
Why not JCR layered on top of SVN? Just a question of team resources and
experience, the strength of the SVNKit library and so on.
4. Controlled languages and semantics
Annotating documents with semantics is not a panacea for all the problems of
document retrieval, but can in certain circumstances be beneficial, especially
for high value and medium or low volume content.
CoW is partly intended to be an experimental framework for a new type of
website in which
- the database is complemented by a knowledgebase storing semantic annotation
(using OWLIM)
- the knowledgebase is defined and populated using
(CLOnE)
- concurrent changes are managed as in CVS or SVN (check out, edit, update,
merge, etc.)
This work is funded by research projects with
- British Telecom (SeKT)
- the BBC (PrestoSpace)
- ATOS Origin (TAO)
5. Current status
CoW uses Grails and currently includes:
- a wiki language with a JavaCC parser
- a content persistence and versioning backend using Subversion
- simple display and edit of wiki pages and other static content (with a
minimal hypersonic DB to store pointers to wiki areas and
user/role/permission data)
- a version of the Grails Acegi (Spring security) plugin that includes editing
of the user data and assigns permissions to wiki areas based on their DB id
- user registration using the Captcha plugin
The system has two modes, workstation and server; the former does no user
management, the latter uses the Acegi plugin.