[Zope-dev] Re: SVN: Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py A recent fix in the zope 3 traversing code now requires the ITraversable

Tres Seaver tseaver at palladion.com
Mon May 29 12:01:23 EDT 2006


-----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 at 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 at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com



More information about the Zope-Dev mailing list