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

Reply via email to