[Zope3-dev] Siesia: A new UI for Zope 3
Martijn Faassen
faassen at infrae.com
Wed May 5 10:34:19 EDT 2004
Stephan Richter wrote:
> On Wednesday 05 May 2004 01:44, Jim Fulton wrote:
>
>>>The issue at hand, really, is that Zope's skinning mechanism sucks.
>>
>>Hm, I think we still need to work on communication. :(
>>Aside from being inflamatory, this statement has no content.
>
>
> Sorry, I guess I over-summarized. But I distinctly remember Paul criticizing
> this approach about a year ago. Skins +Layers use a hierarchical tree or
> inheritance, but most other UI generation system use a pipe. This makes it
> really hard for designers to use well-established patterns.
An advantage of a pipe based system is that designers who develop a UI
are not bothered by calling a Zope 3 API. They don't need to know it.
Instead, you can create a well-defined output structure that is produced
for each object. This structure (which could be a bunch of python
datastructures or an XML structure) can be very well specified. The UI
people then use this structure and transform it into what is needed, in
one or more steps.
This way, a UI designer has a much decreased chance of having to handle
bugs somewhere deep in Zope, as many such bugs will be found already by
the developer lower down when producing the right data from the content
(as the first input into the pipeline).
The whole design with a pipeline system can be more modular, at least
this is the hope.
A very trivial pipeline can be done right now:
* one method on content object (or view?) that produces a structure
of dictionaries and lists with data in there. This data is sufficient to
produce the HTML view needed.
* a page template that takes this structure (and only this structure,
no other API calls) and produces the HTML page.
A Zope 3 way of doing pipelines could probably exploit the adapter
infrastructure to associate steps with each other.
Regards,
Martijn
More information about the Zope3-dev
mailing list