Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "JCR Management"

(To Do)
(What works at the moment)
Line 30: Line 30:
 
* It's possible to rename nodes
 
* It's possible to rename nodes
 
* It's possible to remove nodes
 
* It's possible to remove nodes
 +
* I'm quite excited because undo and redo seem to work out of the box for the currently implemented commands add, rename and remove seem
  
 
== The Contributions ==
 
== The Contributions ==

Revision as of 14:46, 25 June 2007

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:

  1. 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.
  1. It will provide a basis for other applications.
  2. It will implement the exemplary JCR Manager tool.

The 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
  • I'm quite excited because undo and redo seem to work out of the box for the currently implemented commands add, rename and remove seem

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

  1. Test the use of ATL as a proof of concept for the collaboration between JCRM and other EMF consuming projects.
    1. Get a sample transformation (author2person) running in the local environment. (done)
    2. Get ATL to use a model backed by the JCR Management framework.
      1. Register the reference metamodel. (done)
      2. Access the registered reference metamodel by URI in the ATL launch configuration. (done. Thanks to Mikaël Barbeo for the hint)
      3. Understand ATL using the users manual (http://www.eclipse.org/m2m/atl/doc/) to create a good transformation example.
  2. Test the EMF features with a standalone version of JCRM.
  3. Submit a speach for the Eclipse Con Europe until end of next week latest.
  4. Implement JCRMStoreImpl.move() after the fix for the EMF Bug 194088 is available.
  5. Understand the Eclipse release engineering to know in which folder structure to check in the initial code.

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

Back to the top