[Zope-CMF] Proposal for hooking rendering

Paul Everitt paul at zope-europe.org
Tue Nov 29 03:34:09 EST 2005


Hi all.  I'd like to make a small proposal to enable investigation of a 
larger proposal.

I'm generally interested in the ideas of pipelines for markup rendering. 
   Specifically, I'm interested in separating the concerns of skin 
scripters and corporate ID people into two logical parts:

 
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/SiteThemes
http://www.zope.org/Members/zopepaul/zopesitethemesdiagram.png

This isn't revolutionary stuff.  It's a meme that appears in Typo3 and a 
few Python templating systems.

At the EuroPython sprint, Tres coded up a nice little ZCML pipeline 
product that hooked Zope 3.1's publication events.  However, this event 
isn't usable in Five 1.3.

Here's my small proposal for a near-term CMF 1.x release:

1) In CMFCore/FSPageTemplate.py, modify its pt_render or _exec.

2) Check to see if there is a configured pipeline tool.

3) If so, run the result of:

   result = self.pt_render(extra_context=bound_names)

...through the tool and return it.

Things I'm not proposing:

1) CMF out-of-the-box contains any tool nor any pipelines.

2) I'm not asking others to do the work on these.  I'll learn enough to 
make some prototypes.

Before I write a proper proposal, though, I'd like to find out if there 
is basic interest:

1) Does the CMF have an interest in experimenting with ideas on 
splitting corporate ID responsibilities from product skin responsibilities?

2) Is the idea of a portal tool wired into ZPT rendering a low-impact 
way to do this experimentation?

Downsides:

1) Fundamental changes to the 1.x series might be suspicious.

2) This will, one day, be superseded by event subscribers.

3) Once this door opens, it might quickly turn into a monster (pipeline 
chains, etc.).

--Paul



More information about the Zope-CMF mailing list