jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Rink <kaw...@zimmer428.net>
Subject references best-practises?
Date Fri, 22 May 2009 06:32:44 GMT

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

(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 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//

View raw message