Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JCR Management
Contents
JCR Mangement (JCRM)
JCR Management will provide pluggable JCR (http://en.wikipedia.org/wiki/Content_repository_API_for_Java) implementations through the EMF API. This way:
- Domain models can represent JCR content. That will make it possible to apply features of EMF and other modeling projects to this model.
- JCR node types are mapped to classes.
- JCR childnodes and properties are mapped to EStructuralFeature.
- It will provide a basis for other applications.
- It will implement the exemplary JCR Manager tool.
Current Status
The implemented features do work in my environment. As soon as the integration into ATL or an other EMF consumer works I consider it as a working deep slice and provide a download. This will make the project easier understandable and presentable. After this step I will start focus on building up community.
The Framework
It contains:
- A reusable EMF resource implementation.
- An extendable ecore model. It can be used by extending your domain entities from the JCRMNode entity in this model instead of EObject.
- An extendable and lazy EStore implementation for operations on your model.
What works at the moment
- The mapping between node types and classes works (using annotations)
- The mapping between the node name a property works
- The JCR is loaded using the EMF resource mechanism. (Though plugability still needs to be implemented)
The JCR Manager
A tool that is based on top of the framework to use EMF, modeling projects and other projects to manage JCR content.
What works at the moment
- Currently it displays the JCR content tree
- It's possible to add nodes with a type defined in the domain model
- It's possible to rename nodes
- It's possible to remove nodes
The Contributions
- Ed Merks helped as a mentor creating JCRM within Eclipse.
- The ATL team contributed an initial meta model and transformation that will speed up ATL integration.
- My employer inovex GmbH (http://www.inovex.de) contributes 5 person days where I can work on this project within working hours. Of course I'm eager to use this joker but I will need to find a time where I have no other important ToDo's at work.
To Do
- Test a standalone version.
- Test the use of ATL as a proof of concept for the collaboration between JCRM and other EMF consuming projects.
- Implement JCRMStoreImpl.move() after the fix for the EMF Bug 194088 is available.
- Understand the Eclipse release engineering to know in which folder structure to check in the initial code.
- Submit a speach for the Eclipse Con Europe until end of next week latest.
Next Milestone
Create a first downloadable presentation of the project to show the potential of Eclipse modeling to the Jackrabbit community.
Values
- simplicity
- transparency
- no dependency on JCR implementations