[Zope3-dev] Re: RFC: Publication Post-Processing

Jim Fulton jim at zope.com
Thu Sep 15 16:15:44 EDT 2005


Tonico Strasser wrote:
> Jim Fulton schrieb:
> 
>>
>> At:
>>
>>   
>> http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/PublicationPostProcessing 
>>
>>
>> I've put doesn some thoughs for discussion on making the publication APIs
>> more explicit and for supporting post processing tasks like adding
>> standard look and feel or adding missing page components.
>>
> 
> Hi,
> 
> as a UI designer I would like to have a page Object (not the context 
> object) that I can adapt to IPublicationResult.
> 
> I would like contracts for HTML pages, e.g something like:
> 
> class IHTMLPage(zope.interface.Interface):
>     """Provides information for a generic HTML Page"""
>     title = ''
>     description = ''
> 
> class IZMIPage(IHTMLPage):
>     "Provides information for a basic ZMI page"""
>     scripts = [] # ordererd List of IZMIScriptFiles
>     styles = [] # ordered List of IZMIStylesheetFiles
>     class_names = IZMICSSNames # class names mapping  with standard keys
>     id_names = IZMIIdNames # id names mapping with standard keys
>     actions = [] # IZMIActions
>     views = [] # IZMIViews
>     # ... anything needed by a IZMIPageRenderer
> 
> class IHTMLPageRenderer(IPublicationResult):
>     def render(obj, request, html_page):
>         """Renders a HTML page"""
> 
> class IZMIPageRenderer(IHTMLPageRenderer)
>     def render(obj, request, zmi_page):
>         """Renders a ZMI page"""
> 
> A renderer should be able to use any template language to do its job, 
> e.g. ZPT, DTML, PHP, XSLT ... IMHO.
> 
> Disclaimer: I guess the code above is garbage, this is just for 
> discussion, I'm still learning the basics :)

This is an excellent thought experiment.

I think that, ultimately, we'll have to try some things out (prototype,
in other words) to see what works.  My short term (before Nov 1)
goal is to see what sort of hooks we can put in the publisher that allows
these kinds of experiments wilthout making too many commitments.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list