[Zope-dev] Creating a fully stand-alone Zope Page Templates

Richard Jones rjones@ekit-inc.com
Wed, 26 Feb 2003 09:20:15 +1100


On Wed, 26 Feb 2003 1:53 am, Guido van Rossum wrote:
> > Hurm. I can't answer this directly, but I have done the same as you and
> > divorced ZPT completely from Zope for Roundup. See http://roundup.sf.net/
> > in the roundup.cgi.[PageTemplates|TAL|ZTUtils] packages.
>
> I wonder if it would be worth our while to make sure that ZPT is
> separately usable, just like we do for ZODB?

I've made that suggestion numerous times on the ZPT mailing list, with zero 
response.


> Just how much did you have to change to divorce ZPT from Zope?

I've fully documented it (as required by the ZPT license). In a nutshell:

- implemented MultiMapping as simple python modules
- changed the way macros are handled to remove the computed attribute stuff 
(since it's an acquisition trick)
- removed all references to acquisition (for cleanliness, no other reason) 
including some ZTUtils that won't work without it (ie. tree stuff)
- altered the import statements so that I wouldn't clash with another version 
of ZPT if it were installed (or if Roundup was installed as a Zope Product)
- significantly improved error reporting :)

The critical change is the way that the macros are handled. The 
ComputedAttribute stuff just doesn't make sense (and is horribly complicated) 
when you're not using acquisition. The good news is that TAL requires no 
changes if you implement a dummy zLOG. I ended up removing the dependency.


     Richard