Steven Noels wrote:
Stefano Mazzocchi wrote:The reason for this is that I would love to be able to have a running cocoon publish documents *directly* from CVS, that is use CVS as a versioning content repository, which is the step one toward a poor-man (but not so poor on functionality!) CMS.
Writeable and all: http://www.anyware-tech.com/blogs/sylvain/archives/000009.html
Thanks for the plug, Steven :-)
Some details on this stuff : it's a Source that implements WriteableSource, TraversableSource and partially RevisableSource. It is connected "live" to the CVS server and thus doesn't require a file-accessible repository (like JRCS does) nor a local checkout.
I needed that for one of our projects : this is a lightweight CMS which allows users to edit XML documents stored in a CVS repository. An explorer-like web GUI allows users to checkout the latest version of documents either as MS-Word or OpenOffice documents (hence the ZipArchiveSerializer). When users have finished editing a document, they upload the modified word or OO file to the web application, which then extracts the content as XML data and creates a new version on the CVS server.
I studied the various opensource Java CVS clients available, and found only 3 :
- Netbeans javacvs (http://javacvs.netbeans.org),
- Eclipse CVS plugin,
- JCVS (http://www.jcvs.org)
Netbeans and Eclipse modules require local checkouts and this wasn't suitable for my needs since users may have different access rights on the CVS repository. Using a live connection to the CVS server, each user uses its own credential for authentication and authorization directly on the CVS server. The Eclipse plugin is also very tied to the Eclipse environment, and I didn't want to pull too much stuff for just the CVS access functionality.
JCVS is the only one that is not tied to a local checkout, so this is what I used. It is composed of a GPL'ed Swing GUI using a LGPL'ed implementation of the pserver protocol.
It works, but I'm not very happy with it since the pserver implementation is still conceptually tied to a CVS GUI and required some hacks to function properly. So I'm considering rewriting a pserver implementation (it's not very hard) that could be used both for the CVS Source and for a VFS provider (see http://jakarta.apache.org/commons/vfs).
I will make this CVSSource available after my holidays (needs some polishing), but it won't be possible to include it in Cocoon's CVS since it currently relies on some LGPL stuff.
For the explorer-like GUI, I wrote a modified version of the DirectoryGenerator that relies on TraversableSources rather than files. It can thus be used with files, cvs repositories, slide repositories, etc, which has no link on the LGPL'ed stuff.
The end of the year is near (european time), so I wish you all a happy new year, a lot of happiness personally, professionally and... cocoonally ;-)
Sylvain
--
Sylvain Wallez Anyware Technologies
http://www.apache.org/~sylvain http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]