>> But the versioning part was a little more tricky to get right. Still >> find the checkin/checkout/save semantics quite confusing. > > The reason you have to do checkin and checkout explicitly is because > sometimes you might want to do multiple changes on the current node > (calling node/property.save() or session.save()) without creating a > new version.
I see > In content management systems for example you typically > have a button "creation new version" that would do a checkin(), which > is followed by a checkout() right afterwards to allow normal write > operations on the new head version (a checked-in node is not > writeable). Now all normal operations work normally and can do > multiple saves, without knowing the versioning in the background. Thanks for the explanation >> Would have hoped for such an example in the docs. > > There is an examples page on the wiki which also covers versioning: > > http://wiki.apache.org/jackrabbit/ExamplesPage Indeed but frankly speaking I did not find that very example too useful :) ...otherwise I would have not gotten confused with the checkin/checkout calls ;) > This article also talks about real-world usage of JCR versioning: > > http://www.onjava.com/pub/a/onjava/2006/11/08/advanced-java-content-repository.html Thanks for the pointer! cheers -- Torsten
