I have been using zope.pagetemplate for quite some time within repoze.bfg
projects and bobo (+zope.component) on google appengine
(python 2.5.x). I have just been doing some upgrades etc... and discovered
that zope.pagetemplate in 3.5.2 has introduced a whole heap of new
In 3.5.0 non testing install requirements where
where as 3.5.2 install requires
Now I already had i18n, i18nmessageid and zope.component, zope.interface as
I was already using them, but now zope.security and zope.traversing means I
also now get
I know that zope.pagetemplate.engine actually had a dependency on
zope.traversing but this was never expressed in the EGG-INFO/requires.txt in
3.5.0. I used my own engine given I always running trusted code. (I am
using metal as well).
So now for my modest proposal, do you think it would be feasible to move
the restricted engine implementations out of zope.pagetemplate.engine and
into some higher level package and provide a simple trusted engine that
anyone can use (that supports metal as well)
As the architecture.txt for zope.pagetemplate says
- An *expression engine* is responsible for compiling expressions and
for creating expression execution contexts. It is common for
applications to override expression engines to provide custom
expression support or to change the way expressions are implemented.
The `zope.app.pagetemplate` package uses this to implement trusted
and untrusted evaluation; a different engine is used for each, with
different implementations of the same type of expressions.
So maybe the best place for the full expression engines would be
This would seem to be in keeping with a lot of the work, breaking down core
zope technologies into re-usable (outside of a pure zope stack) components.
This would in theory bring the dependencies back down to
If people think this is a good idea, I am quite willing work on this (with
guidance ;-), so thoughts, comments welcome.
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -