-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Philipp von Weitershausen wrote:
Tres Seaver wrote:
Philipp von Weitershausen wrote:
Log message for revision 68328: A recent fix in the zope 3 traversing code now requires the ITraversable adapter to be present even when traversing just dicts. No problem, we can set it up quite easily.
This basically finishes this branch. All tests pass, some 3rd party apps have been tested with it. There are a few test failures in the CMF and others (e.g. Plone), but that's mostly "their fault" (incorrect or unexpected usage of certain things).
Those are BBB fouls, as those failures do not emit deprecation warnings when run against 2.9. In fact, none of the deprecation warnings which are raised when running the CMF 2.0 tests under 2.9 allow for failures under 2.10.
The failrures are mostly instances of:
- The "empty path element" exception. Zope3's choice to make that an error is undefended, AFAIK (Fred never replied to your query about the reason), and needs BBB in any case.
Right, Fred didn't reply, but we managed to have a little chat. After this I replied to your email: http://mail.zope.org/pipermail/zope-dev/2006-May/027493.html
Basically:
* we hardly see a use case for empty path elements. They don't work right now, at least not in the way that you expected them to work. So, we're not really breaking anything if we take away something that didn't work in the first place.
The CMF (and Plone on top of it) work *fine* as they are today for completely empty expressions. Reverting the BBB-incompatible cahnge, and adding deprecation warnings, is our standard practice here. The "empty element" (as opposed to "empty expression", which is what CMF / Plone use) hasn't worked in qute a while, AFAICT. 'unrestrictedTraverse' raises a KeyError in both 2.8 and 2.9.
* AFAIK the CMF tries to compile empty TALES expessions (I don't know yet whether only in tests or also in "real" code, Hanno Schlichting has been testing my branch against the CMF in the past days). This isn't a use case either. It's just misguided usage, as I would call it (Fred agrees). We can fix the CMF to simply not compile empty TALES expressions.
Yes, but you can't break the CMF in a release without doing the deprecation dance first.
- CMFDefault/skin/configure.zcml blows up because the syntax of the 'browser:skin' directive has changed in a BBB-incompatible way. The now-failing directive is::
<browser:skin name="cmf" layers="cmf default" />
and the traceback is *very* weird::
ZopeXMLConfigurationError: File \ "/tmp/endgame/Products/CMFDefault/skin/configure.zcml", line \ 10.2-13.8 ConfigurationError: ('Invalid value for', 'layers', "ImportError:\ Couldn't import default, No module named default in cmf default")
Ah yes. This is due to a missing ZCML declaration in Five. I already fixed it on the Five trunk (http://mail.zope.org/pipermail/checkins/2006-May/001859.html), but the zpt branch is a bit too old to have this fix. That's why it works fine on the Zope trunk but not on the zpt branch.
They I guess we should update the external for Five on the branch, and verify?
- "No traversable adapter found" raised out of 'boboAwareZopeTraverse'. This one is likely due to the prior ZCML issue, which blows out ZCML processing early.
Very likely. The correct traversable adapter is set up when you load Five/traversing.zcml or zope.traversing/configure.zcml. If the ZCML machinery doesn't get far enough, you don't have the adapter.
Yup. Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFEexrF+gerLs4ltQ4RArJhAJ9F0sRAGJQPCuw9nQj/LhB6PAqLAACgouNG z7AJL0Z+2susI9X0L2vPiJE= =vMph -----END PGP SIGNATURE----- -- =================================================================== Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com