incubator-graffito-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christophe Lombart <>
Subject 2 new commiters and new subproject proposal
Date Wed, 11 May 2005 07:35:33 GMT
Hi all, 

I  would like to nomminate 2 new commiters for the Graffito project :
Sandro Boehme  and Oliver Kiessler.
They wants to start with us an Object-JCR mapping tools which will be
a great benefit for the Graffito project and also for other ASF
projects (see the proposal below).
The main goal of this tools is to map any kind of pojo object  (eg.
news, articles, forums, pages, folders, ...) into a JCR compliant
If this tools is well designed, it should be possible to reuse a lot
of code for supporting other technologies (Webdav via the Slide API,
propriatary cms API, ...) .
By this way, we have more flexiblities to plug any kind of content
server with a strong object design.
In the first time, this tools can be an independant Graffito
subproject and later (depending on the community size), this project
could be hosted in another ASF area.
Some jackrabbit committers are interesting by this tools and we can
expect more interaction between both projects.

So, can you make your vote ?
* 2 new committers : Sandro & Oliver (+1 for myself)
* Start this new mapping toos in Graffito and see later if this
mapping tools can move somewhere else (+ 1 for myself).

Kind regards, 

Object / JCR repository mapping tools 

Authors : Sandro Boehme (, Christophe Lombart

The scope of the project is the mapping and the decoration of an
arbitrary Java class structure to a JCR item type structure.
This enables arbitrary java class models to use the functionality
provided by a JCR implementation. The persistence manager
class acts as a proxy for JCR-capable classes to hand over JCR
functionalities from Java model objects to JCR nodes.

The intention of the project is to be data centric, to support a model
driven architecture and to be very easy to use.

The data centric approach makes it easier for different applications to
use the unified content provided by the repository.
It is archived with the configuration file containing the mappings,
decorations and the converter class name(s).
Full model driven architecture will not be supported in the first step
because we need more investigation for that issue.
With well chosen defaults it should be possible to use the JCR
funtionality with a minimum of mapping and decoration
information. For the sake of an easy use it is also planned to support
xdoclet and maybe annotations.


In short term : 

- Transparent persistence: Persistent classes don't have to inherit
from a persistent base class or to implement an interface.
- The Object / JCR  mapping is defined in an XML Repository. Later, we
plan to support JDK annotations.
- Map class names to JCR node types
- Map class attributes to node properties or subnode.
- Map class associations (eg. a page contains news) to subnode.
Support any kind of collection or maps for m-n associations.
- Lazy loading - Proxy support
- Simple query language based on the JCR query features
- Implement an AOP cache within different cache strategies. The
caching stategy is defined in the config xml file.

Later, we plan : 
- Use JDK annotation and/or xdoclet
- Strong caching mechanism


We can expect that a lot of CMS developers will be interested by this
kind of tools.
This framework gives the possibility to migrate any CMS application
smoothly to the JCR technology.
Futhermore, it gives more abstraction between the content repository
and the application itself.

View raw message