On Nov 1, 2005, at 8:27 PM, Rodent of Unusual Size wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Sisson wrote:

My main concern with the use of the Wiki for documentation is that the
Wiki content isn't versioned to match Geronimo releases.


[snip]

An alternative is to develop the main documentation under svn control
(the Derby project does this), but that would mean updates would have to be submitted as patches. Derby's doco can be easily generated as a PDF
with bookmarks etc, which is great for offline or printing.


Perhaps some mix would be good, such as a weekly checkin to
svn of any changes to the wiki.  Of course, then there's
the issue of format compatibility.  Do the wikis in use
provide for XML exports?  If so, a little glue should be
able to automatically manage the conversion and checkin.
The major problems I see with that is that the who-changed-what
accountability is lost (unless a change to the wiki can
be included in the export as an XML entity that can be used
to identify the changer in svn), and that changes made
between checkpoints don't get recorded.


I've cranked my brain on this one for awhile as OpenEJB now uses confluence for documentation rather than generating html from xml stored in cvs as we did before.

XML importing and exporting is possible in confluence, as well as html and pdf exports (no import for those, though). As a couple releases ago, they also have the ability to have "listeners" or something that you can set up to be executed when pages are changed, added, removed, etc. So, the most aggressive approach I can think of is that we could setup a listener that exports the entire page and checks it into svn. Some less aggressive version of that is possible too.

As far as versioning, the best i can think of would be to have a Confluence Space per svn branch. So a GERONIMO-X space for each release branch under geronimo/branches/. Using Tomcat as an example as we don't have branches yet, that'd be something like TOMCAT-4, TOMCAT-50 and TOMCAT-55. You could even start a new space by exporting from the previous major version's space, creating a new space, then importing to the new space. If you export aggressively, you can start a new Space from what's in svn.

Anyway, I haven't solved the problem completely but thats a high level dump of what's in my brain in regards to import/export, source control, and versioning.

-David

Reply via email to