[Zope3-dev] Re: z.a.pagetemplate.engine and ITraverser

Philipp von Weitershausen philipp at weitershausen.de
Wed Aug 4 11:46:16 EDT 2004


Fred Drake wrote:
>>I really don't like to have to remember or to explain the difference
>>between a "traverser" and a "traversable".
> 
> I don't either; that's just what I found, and I didn't see a specific
> reason to change that aspect of this now.  I think that's unrelated to
> the separation of URL traversal from object graph traversal, at any
> rate, regardless of how nice it would be to have been names.
> 
> Given that the names are pretty much frozen for ZopeX3 3.0, I'd rather
> not change them any more than necessary.

I, for one, never can remember. During Five development, Martijn and I 
tried to draw a map of how Zope handles traversal. It's just waaaaay too 
complicated:

- the request has a traverse method (why?!?!)

- the publication does traversal too (implements IPublicationTraverse)

- namespace adapters handle namespaces (that's actually the most 
scrutable thing of it all)

- traversers, traversables, adapters and/or views handle 
component-specific traversal.

This is too much! For example, we tried to find the place where it 
traverses to views as a fallback if there's no container item--without 
luck. In the end, I still have no idea what the difference between 
traversers and traversables are. I wouldn't know a use case for making 
that distinction...

I really hope that Zope3 isn't going to repeat Zope2's biggest mistake: 
freeze the API until hell itself is frozen over.

Philipp



More information about the Zope3-dev mailing list