[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