[Zope3-dev] Zope 3 Web Content Management

Janko Hauser jh@comunit.de
Thu, 19 Sep 2002 15:35:06 +0200


Max M wrote:

> 
> I have added a rant about how I believe skinning should be done in a 
> CMF. I also believe that it can make creating a CMF a lot simpler.
> 
> http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/rant%20by%20Max%20M 
> 

Perhaps I have misunderstood some parts of your proposal and especially 
skinning touches the border from basic framework to complete product, so 
there are different views for sure.

But the structure you declare in your skin mechanism will not solve all 
the different design needs different customers have. Nesting should not 
be allowed?

I do not like the approach to introduce another programmatic layer for 
the generation of layout. PageTemplates are useful to generate views for 
the components.

Perhaps I will first ask some questions, before I say something to the 
actual implementation.

In a CMS are at least three different areas of Layout. First there is 
the layout of the content-objects. Here we have found it is important to 
connect different layouts to objects of the same content-type. For 
example we have articles with pictures, without, one or two columns, etc.

This can be changed during the lifetime of an object. With modern 
WYSIWIG approaches it's perhaps possible to neglect the next area of 
layout, namely the input of content in the different content-areas of an 
actual document. We call it mask in contrast to the template, which 
presents the content.

Then there are functional documents, which are placed as objects in the 
tree, like news-listing, contact-formulars, subscription forms, they 
also need to be editable, so there does also need to be a way to input 
information. Here the template is directly connected to the content object.

Then there is a hole slew of managment screens for other site functions, 
here we are touching the old Z2 problem, that it needs a big amount of 
dirty work to change these screens. This looks much better in Z3 with 
the help of the zcml-files.

So what I see, that before we discuss the actual implementation of a 
template system, we need to define a way, how views can be connected to 
objects. The current way in Z3 is path based, but this will probably not 
work for a CMS, as the knowledge of the view needs to be present in the 
content-object, at least for pure layouts.

Related to this is the question, where are the skins/templates? I like 
the staging approach of the CMF, first different layouts in the 
filesystem, handled like code, maintained as one basic package. Then the 
possibility to refine the layout for actual uses and have this in the 
ZODB. I haven't used the CMF a lot, so I'm not sure, if this approach 
scales.

Ok I see, that this became just another rant :-). Will write another 
mail or put something on the web site for other topics.

__Janko