Hi,

Last week the first Oakathon (Hackathon for Oak [1]) took place in Basel. Overall it was a big success. We where able to sort out much of the basics of Oak and shape the project for the future. The short term focus was on the features of the upcoming 0.2 release [2] and I think we can say we are mostly done with these. The release will most probably happen in the next couple of days. Apart from what was already there in the previous release, the 0.2 release will most likely introduce HTTP bindings, OSGI packaging, garbage collection, much better test coverage and a lot of progress with the overall JCR functionality.

On a more long term scale we nailed down the module structure for Oak, clarified much of the APIs and got the basics for name, path and value handling into place. As a direct consequence there are a lot of code reorganisations and refactorings and there will likely be more in the near future.

Oak currently consists of three main modules: oak-mk, oak-core and oak-jcr. The oak-mk module largely resembles the Microkernel [3]. A notable new feature here is support for branching off a private working copy and merging it back to the trunk later [4]. This allows oak-core and oak-jcr to implement arbitrary large transient spaces by persisting them as necessary.

On the testing side we where able to get the TCK wired to Oak such that we can continually monitor our progress and watch for regressions. A significant number of TCK tests pass already.

While not all gory details are sorted out yet and there are still many loose ends, the Oakathon left us with a sound basis for going further. Based on the work done we can follow up with implementing the individual JCR features in oak-jcr and oak-core.

Michael

[1] http://wiki.apache.org/jackrabbit/Jackrabbit%203
[2] http://markmail.org/message/7dhxklytr2xaoe24
[3] http://wiki.apache.org/jackrabbit/RepositoryMicroKernel
[4] https://issues.apache.org/jira/browse/OAK-45

Reply via email to