jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Meschberger <fmesc...@adobe.com>
Subject Thoughts on JCR Server bundle
Date Mon, 28 Nov 2011 07:39:12 GMT
Hi all,

I have initially proposed a bundle-ization of the Jackrabbit JCR Server library (JCR-3142
[1]). This turns the library into a bundle such, that the DavEX access point is exposed as
an OSGi Service (whiteboard registration with the OSGi Http Service).

While working on the Sling Simple WebDAV [2] and DavEx [3] bundles I realized, that the JCR
Server library does not only provide an access point (servlet) to DavEx (JCR Remoting) but
also for simple WebDAV access. This second access point is not currently exposed from the
JCR Server bundle. Also Sling has some special simple WebDAV exposure in that it is exposed
twice: On servlet operating under the Sling-umbrella and the second directly registered with
the Http Service.

For Sling I now have patches to partially embedd the JCR Server library (and import from the
WebDAV bundle). For more flexible deployments, though, I would prefer a slightly different
setup:

  -- JCR Server just exports its APIs
  -- Sling's bundles just import the required APIs and expose the servlets

This would mean the Declarative Services setup of the JCR Server would be removed again and
instead some of the packages are exported.

I don't know exactly, which packages might need to be exported. But I would assume this would
be the following packages:

 * .server
 * .server.io (Sling simple WebDav exports this at version 2.3 for extensibility)
 * .server.jcr 
 * .server.remoting.davex
 * .server.util
 * .webdav.jcr
 * .webdav.simple

The rest of the packages (those below .webdav.jcr) would not be exported. Im not sure, though.
Maybe everything would have to be exported ?

WDYT ?

Regards
Felix

[1] https://issues.apache.org/jira/browse/JCR-3142
[2] http://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/webdav
[3] http://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/davex
Mime
View raw message