Hi Alex

I will try to explain in short
magnolia cms defines 2 custom node types in JCR as you have noticed mgnl:content and mgnl:contentNode there are different ways how java content repositories might allow these definitions, with jackrabbit its quite straight forward - you can define these node types to be registered in customnodetypes.xml under repository or via jackrabbit api,

How its done in magnolia :

Definition:
- magnolia defines basic node types in customnodetypes.xml, you are free to add as many as you want to be used in your templates.

How its used:
- mgnl:content and mgnl:contentNode are generic types defined as "folder" which can have a hierarchy. - magnolia uses mgnl:content to define a "page" and mgnl:contentNode to define "paragraphs" - from API point of view magnolia only has object "Content" which could either refer to a page or to a paragraph differentiated by its type (jcr type)

On content aggregation:
- If a request is for a page, it simply builds a content object using mgnl:content node from the jcr as stored on the requested uri this is not a complete page aggregation but only a top level object is being created, once this is done and request is dispatched to the template its a responsibility of a template to retrieve/display rest of the content because this could vary based on your template definition. template uses info.magnolia.cms.taglibs to achieve this or custom code - If a request is for a resource (images, files..) which are stored in magnolia as NodeData (JCR Property) under either mgnl:content (directly under the page /home/myImage.jpg) or mgnl:contentNode (under a paragraph /home/columnOne/para1/myImage.jpg).

in JCR structure would look like this:

assuming home, en and index are pages

- home [ mgnl:content ]
        - en [ mgnl:content ]
                - index [ mgnl:content ]
                        - leftParagraphCollection [ mgnl:contentNode ]
                                - 0001 [ mgnl:contentNode ]
                                        - title [ jcr:property ] String
                                        - text [ jcr:property ] String
                                        - image [ jcr:property ] Binary
                                - 0002 [ mgnl:contentNode ]
                                        - link [ jcr:property ] String
                                        - image [ jcr:property ] Binary

                        - rightParagraphCollection [ mgnl:contentNode ]
                                - 0001 [ mgnl:contentNode ]
                                - .....
        - jp
                - .....


hope this helps
regards
- Sameer






On Sep 19, 2005, at 3:38 AM, Alexandru Popescu wrote:

Hi!

Probably my mind got finally confused after trying to push so much info lately; so I have reached a point where I cannot understand how the website repository is organized in terms of node types.

The confusion seems to have started after looking at Agregator class. There, there are manipulated 2 different `resources´ (how should I call them: nodes? according to the request URI. There is also a node whose name is computed by adding _properties.).

I have also noted that Magnolia defines to custom node types: mgnl:content and mgnl:contentNode.

So, my question is: can anybody help me understand how the mapping between the JSR170 node types and the information stored/managed by Magnolia is done?

I think that the answer is quite long, so I will double from the start my thanks,

./alex
--
.the_mindstorm.


----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------


----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------

Reply via email to