jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Guggisberg <stefan.guggisb...@gmail.com>
Subject Re: JCR, Portlets and usecases
Date Sun, 13 Feb 2005 13:32:23 GMT
On Sun, 13 Feb 2005 07:02:28 +0100, Rickard Öberg
<rickard.oberg@senselogic.se> wrote:
> Hi!
> Now that the PFD is out I want to air some thoughts about how JCR could
> work together with Portlets.
> My background is that I have a CMS/portal implementing JSR168, and our
> partners are "screaming" (figuratively speaking) for a way to access our
> internal page structure and render it. This is where JCR would come in
> quite nicely.
> Accessing the Repository from a portlet would be quite natural (simply
> look it up in the "java:comp/env" JNDI context), but I'm unsure how
> common usecases would be dealt with most efficiently.
> Here is a common one just to describe the basic problem:
> A portlet wants to render a menu describing the site structure. I would
> prefer if this is done by using the XML export feature in combination
> with an XSL transformation in the portlet. That way it is easy to tweak
> the actual HTML generation. But, since such a usecase is only interested
> in a small subset of data (e.g. path+displayname+UUID for one sublevel
> of the current node) the current XML export feature is too
> coarse-grained. It's an "all-or-nothing" approach. In terms of the
> current JCR API it would probably be more efficient to implement an
> ItemVisitor which exports a specific subset of the model to SAX. 

take a look at javax.jcr.util.TraversingItemVisitor. by extending from
TraversingItemVisitor.Default you can selectively override any
of the entering/leaving methods.

btw: alternatively you could very easily write your own ContentHandler that 
filters out any unwanted content and pass that ContentHandler to the 
standard JCR export methods in the Session interface.


> Such an ItemVisitor could probably be made totally generic, if one wants to.
> With a SAX-exporter that can be tweaked for various usecases it should
> be very easy and efficient to implement a number of common JCR+Portlet
> usecases.
> So here are my actual questions:
> * Is anyone else going to use JCR in the context of portlets?
> * If yes, how do you see it being used, commonly? As above, with
> XML(SAX)+XSL, or in some other way?
> * Are there any tools, like the SAX-exporter outlined above, which
> could/should be made available within the Jackrabbit context?
> Any other general thoughts related to JCR and Portlets would also be
> most welcome :-)
> regards,
>    Rickard

View raw message