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.
Difference between revisions of "JCR Management"
(→To Do) |
(Added project description, "Current Status" and enhanced "What works at the moment") |
||
Line 1: | Line 1: | ||
= JCR Mangement (JCRM) = | = 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 == | == The Framework == | ||
It contains: | It contains: | ||
Line 5: | Line 18: | ||
* 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 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. | * 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 == | == 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. | A tool that is based on top of the framework to use EMF, modeling projects and other projects to manage JCR content. | ||
− | === What works | + | === What works at the moment === |
* Currently it displays the JCR content tree | * 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 add nodes with a type defined in the domain model |
Revision as of 11:49, 24 June 2007
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