Tres Seaver wrote:
I agree with you that there should be BBB code that provides the old behavior and I agree with Philipp that not using that old behavior is a benefit for the CMF.
Sure. I just don't want to *make* people upgrade CMF when upgrading Zope, unless there is a reason which is important *to the CMF*.
An interesting factoid I found while spelunking this issue: the CMF (by way of DCWorkflow) is literally the oldest consumer of the expression machinery outside of ZPT itself! Shane's earliest checkin of the 'Expression' module was nearly 5 years ago, and used an empty string as the class-level default for the 'text' attribute.
FWIW the following patches gives the proper BBB behaviour. Shall I check it in? Does it need to send a deprecation warning? Florent Index: Products/PageTemplates/Expressions.py =================================================================== --- Products/PageTemplates/Expressions.py (revision 68406) +++ Products/PageTemplates/Expressions.py (working copy) @@ -99,6 +99,8 @@ class ZopePathExpr(PathExpr): def __init__(self, name, expr, engine): + if name == 'standard' and not expr: + expr = 'nothing' super(ZopePathExpr, self).__init__(name, expr, engine, boboAwareZopeTraverse) Florent -- Florent Guillaume, Nuxeo (Paris, France) Director of R&D +33 1 40 33 71 59 http://nuxeo.com fg@nuxeo.com