Folks; being into trying to remodel parts of our system structure using JCR / Jackrabbit, I wonder what is the most "sane" ways of dealing with references in a JCR repository in general and, more specifically, in Jackrabbit?
Our use case is like this: - We do have a "central" document management structure where everything stored in our system is kept in a global hierarchy. Most of the things kept in there are large binary files with an extensive bunch of properties attached to them. - Initially, users all should see this "global hierarchy", but they also should be capable of "collecting" nodes off the global hierarchy in a custom, self-defined sub-hierarchy where they can keep information sorted the way they need it. This should, however, happen to be effective (thus copying a node containing vast amount of binary content a dozen of times at worst doesn't seem a sane way) and consistent (so, again, copying nodes seems a no-go as it would make updating things more difficult given one decides to eventually edit the content of the node). - Asides a custom application, users should be capable of accessing the repository (or at least parts of) using "generic" tools (WebDAV, most specifically). Plus, they also should in the future be capable of exporting their hierarchy of the repository as XML, containing all data they did collect there for use with a "standalone" client (i.e. an application including an embedded JCR repository to browse an archived tree of data). >From a Unix system point of view, the idea of symlinks comes to mind. Browsing the web a little, I found several resources on references in JCR / Jackrabbit, leaving me with two options to consider: (a) Use "references"; following [1] which outlines that at least this is possible somehow. Asides not yet having figured out how to get this done correctly, some of the drawbacks outline in [1] sound sane enough to think twice. (b) Use some "reference property" in order to, in a node, keep some UUID or path or whatever telling where to find the actual content. Overally, I am unsure what to do. Basically (b) seems most straightforward, but what I have seen/read so far, doing a simple XML export in such a case wouldn't eventually dereference my references, plus I am not sure what would happen, in such a case, accessing the repository using WebDAV. So... what are your thoughts on that? What's your approach in situations in which (sym-)links seem required? Any other ideas? TIA and all the best, Kristian [1]http://wiki.apache.org/jackrabbit/DavidsModel#head-ed794ec9f4f716b3e53548be6dd91b23e5dd3f3a -- Kristian Rink cell : +49 176 2447 2771 business: http://www.planconnect.de personal: http://pictorial.zimmer428.net "Past midnight. Never knew such silence. The earth might be uninhabited..." //beckett / krapp's last tape//
