jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting" <jukka.zitt...@gmail.com>
Subject Re: Apache JCR Commons
Date Thu, 04 Dec 2008 15:40:10 GMT

Thanks for all the comments, keep 'em coming! Here's an updated
version of the JCR Commons subproject proposal. This version should
address most of the concerns and issues that were raised.


The JCR Commons subproject would take over the development and
maintenance of the following components:

   * jackrabbit-parent
   * jackrabbit-jcr-tests
   * jackrabbit-jcr-benchmark
   * jackrabbit-jcr-rmi
   * jackrabbit-jcr-servlet
   * jackrabbit-classloader
   * jackrabbit-ocm
   * jackrabbit-ocm-nodemanagement

Most notably (and a bit surprisingly), the jcr-commons component would
remain with the core project for now to avoid complicating the
development workflow for issues that may range over component
boundaries. We may need to split the jcr-commons component to be able
to move parts of the code to the proposed subproject, but that's a
separate discussion that we don't need to solve now.

Similarly, the jcr-server and webdav components will be kept with core
for now until we have better idea about what to do there (see

Compared to the previous proposal, I also decided to put the
jackrabbit-parent component into the commons subproject. The parent
POM does contain some core-specific parts, but I believe we can move
those back to the core components and make the parent POM contain only
truly Jackrabbit-wide information and settings.

For comparison, the following components would remain as the core
Jackrabbit project:

    * jackrabbit-api
    * jackrabbit-core
    * jackrabbit-text-extractors
    * jackrabbit-webdav
    * jackrabbit-jcr-server
    * jackrabbit-webapp
    * jackrabbit-jca
    * jackrabbit-spi
    * jackrabbit-spi-commons
    * jackrabbit-jcr2spi
    * jackrabbit-spi2jcr
    * jackrabbit-standalone


* Committers: For now there will be just a single set of Jackrabbit
committers. Later on we may want to consider adopting a "subproject
committer" concept for making it easier to grant someone committership
to just the commons components.

* PMC: The Jackrabbit PMC will govern also this new subproject.


* Initial code: The initial code for the new subproject would come
from the selected existing components in Jackrabbit trunk.

* Releases: Each component within the new subproject would have it's
own independent release cycle. To avoid confusion with the existing
1.x releases, the release numbering of the moved components would
start at 2.0. Since all these components are relatively small and
tightly scoped, it would probably be useful to keep their version
numbering down to just two levels, i.e. use x.y instead of x.y.z as
the numbering scheme.


* Web site: The subproject will have its own web site at
http://jackrabbit.apache.org/commons/. We might want to follow the
example of Apache Commons in organizing this web site.

* Mailing lists: We will use the existing
{user,dev,commits}@jackrabbit.apache.org mailing lists for the new
subproject. To make it easier to track topics about selected commons
components, we should adopt a practice of prefixing related email
subjects, for example using [rmi] for messages about JCR-RMI.

* Subversion: We create a new asf/jackrabbit/commons directory that
will contain all the code of the new subproject. Each component will
have it's own {trunk,branches,tags} structure within this subtree. For
example, the JCR-RMI component would be developed in
asf/jackrabbit/commons/jcr-rmi/trunk. All Jackrabbit committers will
have write access to this subtree. Notifications of commits to this
subtree will be sent to the commits@jackrabbit list.

* Issue tracker: We create separate Jira projects for each component
in the subproject. These projects will be grouped using a new "JCR
Commons" category in Jira. Update messages will be sent to the
dev@jackrabbit list.


Jukka Zitting

View raw message