[ http://issues.apache.org/jira/browse/GRFT-25?page=comments#action_66784 ]
     
David Sean Taylor commented on GRFT-25:
---------------------------------------

Before changing anything, please allow me to tag the source first.
I will then put out jar files on my maven repo for this tagged 'version'.

Comments <DST>:

1. The CmsObject interface contains too many attributes. Title, description and 
owner should be not mandatory. Futhermore, this interface contains getObjects() 
and getProperties() which could be duplicate attributes.

<DST> I use getProperties only. When you say title, description, and owner 
should not be mandatory, are you saying to move them to properties?

2. The Document interface forces to have a binary content. Binary content is 
only interesting for Document management & asset management. We can expect to 
use Graffito for a CMS application containing only articles. In a such case, an 
article can be composed only of a set of String : title, summary, content, 
authors, ... and not binary content.

<DST> Seems to make sense

3. The Content interface is not an appropriate name. DocumentStream seems to be 
more explicit.
4. We need to have a better internationalisation support.
5. It is difficult to extend the model. 

<DST> well it requires writing Java code, but it hasnt been that difficult from 
the Java POV


> PROPOSAL : New Graffito Object Model
> ------------------------------------
>
>          Key: GRFT-25
>          URL: http://issues.apache.org/jira/browse/GRFT-25
>      Project: Graffito
>         Type: Improvement
>   Components: Model
>     Versions: 1.0-a1-dev
>     Reporter: Christophe Lombart
>     Assignee: Christophe Lombart
>      Fix For: 1.0-a1-dev
>  Attachments: graffito-model.png
>
> Introduction
> ------------
> This document describes a proposal for a new Graffito Object Model. 
> In my point of view, the model has the following weaknesses : 
> 1. The CmsObject interface contains too many attributes. Title, description 
> and owner should be not mandatory. Futhermore, this interface contains 
> getObjects() and getProperties() which could be duplicate attributes.
> 2. The Document interface forces to have a binary content. Binary content is 
> only interesting for Document management & asset management. We can expect to 
> use Graffito for a CMS application containing only articles. In a such case, 
> an article can be composed only of a set of String : title, summary, content, 
> authors, ...  and not binary content. 
> 3. The Content interface is not an appropriate name. DocumentStream seems to 
> be more explicit.
> 4. We need to have a better internationalisation support.
> 5. It is difficult to extend the model.
> The New Object Model 
> --------------------
> The proposed model is splitted into different modules (see in attachement the 
> UML class diagram) :
> * The Graffito code module.
> * A series of optional modules.
> 1. The Graffito Core Module
> ---------------------------
> This module contains all ancestor objects like CmsObject, Folder, Content. 
> Content is the ancestor of any kind of content object (Document, topic, 
> article, ...). Versionning is not mandatory is all case. The 
> "VersionnedContent" is the ancestor used in a version management context. As 
> you can see, only content can be versionned. Later, we can support 
> versionning on Folders. 
> 2. Optional modules 
> -------------------
> Depending on the application requirements, the Graffito users can select one 
> or more optional modules. If the Graffito model doesn't fit to the 
> application requirements, it should be possible to plug a customized module. 
> One subproject per module has to be defined in the Graffito project. 
> 2.1 Document Management module
> ------------------------------
> This module manage any kind of binary documents (Ms Word, pdf, ...). By 
> default, this DM module is supporting internationalisation. In order to 
> increase the performance, the DocumentStream should be defined as a proxy. 
> All documents are versionned. 
> 2.2 Article Management module
> -----------------------------
> This module can manage translated articles or single language articles. All 
> articles are versionned. 
> 2.3. Forum
> ----------
> This module is a simple object model that can be used for a Forum 
> application. Obviously, topic (the forum content) are not versionned. 
> 2.4. Other modules
> ------------------
> Now, it should be easy to extend the Core Graffito module or any other 
> optional modules. For example, someone can add a news management, asset 
> management or customize the article module. 
>   
> 3.Open points 
> --------------
> * Review the project structure in order to support modules.
> * CmsObject interface : getProperties, getObjects() : David, are you using 
> both attributes ?
> * Internationalisation : providing by default in the different module or not 
> ?  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to