On 8/21/06, Lennart Regebro <[EMAIL PROTECTED]> wrote:
On 8/20/06, Alec Mitchell <[EMAIL PROTECTED]> wrote:
> On 4/17/06, Dieter Maurer <[EMAIL PROTECTED]> wrote:
> > In our local Zope version, I implemented a solution that is
> > (in my opinion) superior:
> > Define an exception "UseTraversalDefault" that can be
> > used by "__bobo_traverse__" to tell the traversal process
> > (either URL traversal in the publisher or restricted/unrestricted/CMF
> > traversal) to use the default lookup.
> > One big advantage is that e.g.
> > "Archetypes.BaseObject.BaseObject.__bobo_traverse__" no longer
> > need this horrible dance to decide whether it should or must
> > not create a "NullResource".
> OK, I'm bringing an old thread back to life to propose implementing
> this change for Zope 2.10. It would be quite nice to get rid of this
> "horrible dance" in the next version of Archetypes, and the change
> would generally allow people to make simpler __bobo_traverse__ methods
> that don't have to reimplement the traversal machinery themselves,
> especially since the traversal machinery is a bit in flux these days.
> Of course, if the plan is to make __bobo_traverse__ obsolete in the
> near future (provided reasonable alternatives exist), then making it
> nicer shouldn't really be too much of a priority. Thoughts?
Well, as I mentioned in April, i was going to in Zope 2.10 refactor
this and get rid of five:traversable, so I asked for specific usecases
so I could test it. No use cases popped up and the refactoring is now
What effect that has on your usecase I don't know. However, five
objects no longer have a __bobo_traverse__ by default, which should
make things simpler.
Indeed it does, the issue is that writing __bobo_traverse__ methods
which try to fallback on the normal traversal mechanisms has always
been a pain (you have to reimplement the normal traversal mechanisms
yourself, including some funny WebDAVisms). If instead the
__bobo_traverse__ mechanism could explicitly tell its caller (via an
exception) to continue with the standard traversal, it would be a nice
improvement. Of course, the real fix may be for products to stop
using __bobo_traverse__ and start sing BeforeTraverseEvent
subscribers, or IPublshTraverse adapters. This is something I hope to
look into in the next couple days.
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -