Hi 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 dependancies.
In 3.5.0 non testing install requirements where setuptools zope.interface zope.tales zope.tal where as 3.5.2 install requires setuptools zope.interface zope.component zope.security [untrustedpython] zope.tales zope.tal zope.i18n zope.i18nmessageid zope.traversing 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 zope.browser-1.3-py2.5.egg zope.contenttype-3.5.1-py2.5.egg zope.exceptions-3.6.1-py2.5.egg zope.location-3.9.0-py2.5.egg zope.publisher-3.12.4-py2.5.egg zope.security-3.7.3-py2.5-linux-x86_64.egg zope.traversing-3.13-py2.5.egg zope.proxy-3.6.1-py2.5-linux-x86_64.egg 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 zope.app.pagetemplate. 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 zope.interface zope.tales zope.tal zope.i18n zope.i18nmessageid If people think this is a good idea, I am quite willing work on this (with guidance ;-), so thoughts, comments welcome. TIA Tim Hoffman
_______________________________________________ Zope-Dev maillist - [email protected] https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
