Ok,  it sounds great !
Before starting the refactoring, I would like to be sure that
everybody is agreed.
Can we summarize like this :

Main goals
---------------
* Review the project to be more attractive and increase the community size.

* Refactoring the Graffito project in order to be more a content
management framework instead of a complete CMS product. As an
alternative to many cms products, Graffito wants to provide a more
modular approach.


Refactoring the project :
-----------------------------------
* Framework means a series of components/services that can be running
alone (or integrated into specific applications). The framework offers
also an integration with other existing frameworks/components. One
good example is an integration with existing workflow engines like
JBPM, OsWorkflow, ....
* We have to define the component lists (in the first time, only for
the "Graffito core" layer).  * The first component to review is the
current PersistenceManager. This one aims to access to different JCR
content repositories which can contain any kind of content. Other
backend systems will not be supported because it will add more
complexities (eg. node type management, ...).
* Each component has its own set of artifacts (jar, config file,
dependencies...).
* The code repository has to be reviewed in order to match to this new
goal.

The Content Model :
------------------------------
* Our content model has to be extensible without imposing specific
content types.
* The persistence layer  will use the OCM tools to map java classes
into a JCR repo.
* A tools is required to register a new class definition into a JCR
repo. When registring a new java class, this tools will create the
corresponfing node types. Register a new content java class has to be
as simple as register a new jcr node type.


Let me know if it makes sense for you.


br,
Christophe

On 2/14/07, Jukka Zitting <[EMAIL PROTECTED]> wrote:
Hi,

On 2/14/07, Christophe Lombart <[EMAIL PROTECTED]> wrote:
> On 2/14/07, Jukka Zitting <[EMAIL PROTECTED]> wrote:
> > What I'm most interested in at this level is the content model.
> > Currently Graffito has a predefined set of Document and other content
> > types, but also uses generic bean persistence. Should the "Graffito
> > Content Model" be fixed by better specifying the core content
> > interfaces, or should the Graffito Core support arbitrary content
> > objects?
>
> Good question. So, this is certainly the first tech aspect to review.
> Our persistence layer should not force the developer to use a specific
> content model. He should have the freedom to define its own interfaces
> and classes. The current CmsObject has be also optional. JCR and our
> OCM tools gives us this kind of flexibility. So, it should be possible
> to have similar think in the core Graffito components. At least try to
> have it with a prototype.

Agreed. Having a fixed content model would effectively make Graffito
just another content management system instead of a framework for such
systems. However, having a flexible content model poses a number of
open questions like how to handle typing or how to enforce specific
relationships between documents or objects. JCR handles this quite
nicely with the node type system. This is actually one of the main
reasons why I'd rather make Graffito just JCR-based, as otherwise
we'll need to come up with a similar typing mechanism that covers also
other backend systems.

BR,

Jukka Zitting

Reply via email to