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

Tonico Strasser contact_tonico at yahoo.de
Thu Sep 15 14:35:43 EDT 2005


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 :)

Tonico



More information about the Zope3-dev mailing list