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 - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to