Jackrabbit Branch Development
In this section i I want to summarize the process of the content repository integration.
All development take takes place in the jackrabbit branch.
Information
...
about JCR and Jackrabbit
- The Java Content Repository API (JCR) is a standard for content repositories
- JCR = JAVA Content Repository
- Jackrabbit is an implementation of the JCR specification
- Content Repository for Java Technology API Specification (JSR-170)
- Content Repository for Java Technology API Specification (JSR-283)
Motivation - Why we want to integrate Jackrabbit / a JCR Interface in OFBiz
- When we have an external content Repository it's easy to connect third party tools to the repository (i.e. CMS Systems)
- If we have a generic JCR implementation we can simply add different content repositories
- A content Repository make it much easier to maintain Content Repositories allow easier maintenance of complex content structures, content is not as contents are no longer stored in different tables (Content, Resource, ElectronicText ...).
- Content Repositories can provide revisioning of contents and content modifications
What
...
has been done
- Created a new independent JCR module in the framework
- Start the Jackrabbit Container on ofbiz startup
- Created a Repository Factory
Still to be done
Ideas
- Propagate and enforce OfBiz permissions, roles and users to JCR
- Expose the JCR part via WebDAV (and/or some RESTish service)
- JCR contents shall always be revisioned
- Prevent duplication of properties between OfBiz and JCR
- Explore Content Addressable Storage CAS options to prevent duplicate contents
- Use this opportunity to create a simple workflow for OfBiz CMS Contents (or externalize to a CMS that provides a workflow)