jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "(Berry) A.W. van Halderen" <b.vanhalde...@hippo.nl>
Subject Re: Implementing virtual, per session subtree
Date Wed, 14 Nov 2007 09:40:09 GMT
On Wed, Nov 14, 2007 at 10:07:26AM +0100, Marcel Reutegger wrote:
> (Berry) A.W. van Halderen wrote:
> ok, I see. if the additional data is some kind of extract from the real 
> content you may still use the approach with an event listener. instead of 
> updating a data structure in your application you can just write e.g. the 
> node count back to the workspace into a session private location. but this 
> is only reasonable if the data you need to update after every save is small.

It is a.o. faceted navigation;  Suppose I have a JCR tree with somewhere
in the path /documents nodes stored with all having a properties names
x, y and z.  Each node has possible values for property x in the range
x1, x2, x3, etcetera and the same for y and z.  So I would get:
  /documents/some/path/node[x=x1]
  /documents/some/path/node[y=y3]
  /documents/some/path/node[x=z2]
  /documents/some/other/node[x=x2]
  /documents/some/other/node[y=y1]
  /documents/some/other/node[x=z2]
Now I create a "derived" path, which allows me to "surf" by property
  /navigation/byXYZ
The children of this nodes are folder like nodes with as names all possible
values which are found for property x in the /documents tree, so:
  /navigation/byXYZ/x1
  /navigation/byXYZ/x2
The subsequent children of these nodes are all possible values for y.
  /navigation/byXYZ/x1
  /navigation/byXYZ/x1/y1
  /navigation/byXYZ/x1/y3
  /navigation/byXYZ/x2
  /navigation/byXYZ/x2/y1
  /navigation/byXYZ/x2/y3

You can already see that in fact see that the tree through which you
can browse is exponential in size compared to the actual size of the
stored nodes.
It can however be generated from the stored data itself, so there is no
need to actually store it, just refresh.  Event listeners are out I think
because of the shere potential size of the data, and the risk of keeping
things in memory one a path has been traversed once.

\Berry
-- 
Berry A.W. van Halderen           b.vanhalderen@hippo.nl / berry@halderen.net
Disclaimer: the above is the author's personal opinion and is not the opinion
or policy of his employer or of the little green men that have been following
him all day.

Mime
View raw message