[Zope-dev] [Checkins] SVN: zope.traversing/trunk/src/zope/traversing/ Moved the publicationtraverse module from zope.app.publication and added tests.

Jim Fulton jim at zope.com
Sun Jun 21 08:48:21 EDT 2009


On Jun 21, 2009, at 5:36 AM, Christian Theune wrote:

> On Sat, 2009-06-20 at 13:04 -0600, Shane Hathaway wrote:
>> Jim Fulton wrote:
>>> Why?  traverseName is part of zope.app.publication's implementation.
>>> Now it's oddly split off in a very separate package.
>>
>> The publisher traversal code is very similar to the code in
>> zope.traversing, so I thought the best thing to do is put it in the  
>> same
>> package as zope.traversing, so that traversal would be maintained  
>> in one
>> place.
>
> I think there's a valid goal around here. Publisher traversal and
> traversal as used in templates have two different implementations that
> partly overlap at some points and its hard to explain why there are  
> two
> of them.
>
> I'm not sure whether we can get a single unified implementation, but  
> for
> me that would be nice.


I don't agree. The semantics are different. For example, you often  
want to traverse to things in a template that you don't want to expose  
via URL.  We currently (or last time I checked) expose ++resource+ 
+name in URLs and this is a bug.

The only place this traversal code is used outside of publication is  
by the browser menu code that tries to traverse to a menu item to see  
if it is accessible to the user.  This was to avoid having to put  
security declarations on menu items (a worthy goal) but we've found  
that this entailed far too much expense and complexity.  I'm not sure  
anyone is even using this menu code any more and if they are, I bet  
they are or should be making explicit security declarations.

Jim

--
Jim Fulton
Zope Corporation




More information about the Zope-Dev mailing list