jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <jukka.zitt...@gmail.com>
Subject [jr3] Release roadmap
Date Thu, 23 Feb 2012 14:15:22 GMT
Hi,

As a followup to the strategic plan proposal, and to help turn our
focus from abstract planning to actual deliverables, here's a quick
draft roadmap for possible releases we could/should be making still in
H1/2012. It's still necessarily incomplete (for example I excluded
query and indexing features for now as I don't yet have a good idea of
when or how they should be addressed), but I think a roadmap like this
should help us focus on the right things at the right time.

For example, IMHO agreeing on the clustering model and getting a basic
implementation in place is a fundamental decision that needs to be
done as early as possible (by April in this draft), followed soon by
merging of concurrent CRUD operations. Only after we have those in
place can we start making solid decisions about higher-level features.
This doesn't mean that we shouldn't take such features into account
when designing and implementing the clustering model, just that we
shouldn't start implementing them before the basics are in place.

This is a pretty tight schedule mostly to bring up a sense of focus
that we currently seem to be lacking. The proposed schedule should be
reachable with a few persons working full time on this, which I think
(and hope) we should be able to arrange. And it's more of a guideline
than a fixed plan, we can proceed faster on some issues if possible or
postpone others where needed. We may even decide to drop some items
entirely or introduce new items to the plan.

With that background, here's the proposed roadmap:

* 0.1 - March 2012
  * Basic JCR and HTTP interfaces (Hello, World!)
  * In-memory storage (no-need for persistence yet)
  * Runnable jar for easy deployment
  * Integration tests to verify the above

* 0.2 - April 2012
  * Basic CRUD operations over JCR and HTTP
  * Extension model for plugging in alternative storage backends
  * Basic on-disk or in-cloud persistence (no performance or stability
goals yet)
  * Clustering model that supports the above CRUD operations
  * Runnable jar with "join cluster" functionality
  * Integration tests to verify the above

* 0.3 - May 2012
  * Basic (Hello, World! -level) JavaScript-friendly HTTP API
  * Simple WebDAV layer with remote filesystem semantics
  * Automatic merging of concurrent CRUD operations
  * Extension model for plugging in features like access control, node
types, etc.
  * Basic (Hello, World! -level) implementation of one such pluggable feature
  * OSGi bundle packaging
  * Integration tests to verify the above
  * Basic performance tests for simple read and write scenarios

* 0.4 - June 2012
  * Bindings for jQuery
  * WebDAV(ex)-based remoting
  * Support for all JSON and JCR data types, including multivalued properties
  * Basic support for flat hierarchies (no performance goals yet)
  * Basic support for access control based on the extension model
  * Basic support for node types based on the extension model
  * Basic support for observation based on the extension model
  * Basic support for locking (if needed/wanted)
  * OSGi/Spring/etc. pluggability of extensions
  * Integration tests to verify the above
  * Performance benchmark against selected other NoSQL databases
  * Performance tests for clustered deployments
  * Basic scalability tests for simple read and write scenarios

BR,

Jukka Zitting

Mime
View raw message