You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lenya.apache.org by Andreas Hartmann <an...@apache.org> on 2006/05/31 09:51:46 UTC

Object-XML-mapping (was: Re: why should documentManager.create?)

Michael Ralston wrote:
> Andreas Hartmann wrote:
>> michael@ralston.id.au wrote:
>>> In my instance, with the EJB repository I am working on, content is not
>>> stored in a XML form, nor is it stored in any easily serializable 
>>> form. It
>>> is only stored as an Object.
>> OK, I see. The current architecture handles documents as containers
>> for arbitrary content which is accessed using streams. In a first step,
>> you would need a DocumentManager.add() method which doesn't initialize
>> the document's content, but IMO we should rather discuss the concept
>> independent from this implementation detail.
> My content objects currently implement Cloneable, in order to provide 
> versioning. When I checkout a Node, I make a Clone of its Content object 
> so I can rollback.
> 
> I was thinking I could use this Cloneing to make Content object 
> templates for each ResourceType and then Clone them when I create a new 
> Node.

That sounds very useful.

BTW, how do your content objects provide their content to Cocoon pipelines?
And how is the object mapped to XML? If you're interested in synergies -
a friend of mine developed an object-to-xml-mapping concept in his diploma
thesis, he is also familiar with Lenya. I'm CCing him in this mail.
His contact data are here: http://metzner.org/home/


>>> I've made this association with the following objects:
>>> - an abstract content object, which returns a DOM document (if an
>>> inputSource is required this can be run through SourceUtil). This dom
>>> document is also composed of child content objects.
>> I've looked at the 'Proposal for an object model to support composed
>>
>> Is this parent-child relation related to the site structure?
>> Or is it a kind of "part-of" relation / composition?
>>
> It's not necessarily related to the site structure at all (although it 
> can be). It's definetly a composition. Eg, if I have a 'News' content 
> object, then I could assign it to a cell on the right hand side of every 
> page, but it may not exist anywhere in the SiteTree or have a sourceURI 
> pointing directly to it.

OK, I see.


>>> This relationship layer then allows me to have a heirarchy to my 
>>> content.
>>> For example, the main page of an image gallery could have a 'Gallery'
>>> content object which is a parent to many 'Image' content objects.
>> Can't this be handled by the SiteManager component?
>> Or do you need a separation between URL space and content hierarchy?

> Yes, I want a separation between URL space and content. Then I can also 
> share content objects on different URLs.

That's a good point.

BTW, IMO it would be nice to see the javadocs of your approach to get
an overview. Is it easy for you to publish them somewhere?

-- Andreas

-- 
Andreas Hartmann
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
andreas.hartmann@wyona.com                     andreas@apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org