Hi, another time I studied the specification and didn't find an answer. This time it's about checkin/-out and locking. I have a web application (and a backend) which is using the JCR (until now 1.0 and ACLs from 2.0). It's working quite well and some features are really nice, but I'm a little bit confused how locking and checkin/-out should work.
In my case the application works with documents, where it could be that several people are working on the same one. So I want that the users can checkout a document. So this means for me, that the document is "locked" until the document is checked in again and nobody without him can change it. So there are several ways how I think it could work. My questions: Is checkin/-out user based? So that this is the checkin/-out like described in my example? Is checkin/out only for creating a new version? This would mean, then my user checks in his document, I have to checkout the node, add the new property and then checkin? I thought about using the open-scoped Lock for a long time checkout. Does a user can change properties, when he locked a document? I didn't saw any testcase or description in the spec, how this should work. I would prefer this way: - a user locks a document (Node.lock(..)) - if it is versionable he checks it out (Node.checkout(..)) - do his stuff - save (Node.save(..)) - checks in (Node.checkin(..)) - unlock (Node.unlock(..)) Is this possible? Any ideas? Hints? Solutions? Thanks and best regards, Daniel
