[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