JCR Container (Java Content Repository)

I’m working on a webapp with a Java Content Repository backend -
Jackrabbit
- and a Vaadin front end. To glue it together I’ve implemented a JCR backed set of
Container
,
Item
and
Property
classes that basically correspond to JCR
Sessions
,
Nodes
and
Properties
. This allows direct read/write to the JCR Session without having to implement an intermediary set POJO/DTO beans, which is a big plus in dealing with unstructured or loosely structured content.

So far I’ve implemented all the basics (Container, Indexed, Hierarchical, Buffered) and ensured the integration works well. I just need to add some additional Container interfaces like Filter, Container Properties, etc, but I’d be happy to extract the code into it’s own project and contribute it if there’s sufficient interest.

Sounds like a really interesting project as JCR is widely used for many CMS:s. Please publish the results - I am sure that many people will be interested in them.

Sounds good. I (finally) found the core dev environment docs - and updated the wiki to point to them. Are there any standards beyond those docs for contributing addons? I’m talking directory structures, ant/maven compatibility, etc…

We are in process of preparing documentation for contributing Directory Add-ons. Nothing relevan online yet, sorry.

For this add-on (and any datasource add-on in general), I would:

  • Create a ZIP package: myaddonname-0.1.zip
  • Use your own package namespace, or maybe org.vaadin.myaddonname.* (but, please do not use com.vaadin.*)
  • Add META-INF directory to the root of the package (side by side with myaddonname-0.1 directory)
  • Put myaddonname-0.1.jar to myaddonname-0.1 directory
  • Add normal readme.txt, license.txt, … files to myaddonname-0.1 -directory

These are just conventions, not rules. The ‘spec’ for package is here:
http://dev.vaadin.com/wiki/VaadinAddon
.

The directory will be published in end of March, but we’ll open it for a closed beta before that (maybe in the late February). If you are interested in participating to closed beta, send an email to directory -at- vaadin.com.

Here’s the initial snapshot of JCR Container:


JCRContainer

I’ll be adding features and fixes as needed while I use it for developing my app, but the base should be usable for anyone doing preliminary development.

Also, per other discussions, the unit tests include two generic Container acceptance tests: TestContainer and TestHierarchical, suitable for use by other Container developers.


Edit: relocated github repo

I am currently working an a prototype using Vaadin/Sling/OSGI/Docker … yes, quite a list…
As Sling is using Jackrabbit, I would love to have a peak at your JCRContainer…
But the githup repository is gone… well, it has been 6 years… any chance for a re-upload?

Thanks in advance :slight_smile:

To answer my question I found a copy of the original source code here:

http://code.openhub.net/project?pid=eWZuIw3H1pU&cid=MMgatMoWlcI&fp=137168&projSelected=true