2009/1/31 Martijn Faassen <faassen@startifact.com>:
Dan Korostelev wrote:
Also, there's a bug in zope.traversing:
The getParents function of zope.traversing.api uses the "getParents" method of IPhysicallyLocatable, which really is new ILocationInfo, but this interface doesn't even declare getParents method and the RootPhysicallyLocatable adapter in zope.traversing doesn't implement it as well so I got errors. :-/
Oops, none of the tests caught that somehow, where'd you get the errors?
Anyway, Christian Theune should be back online soon to help resolve this one.
I checked out the adapters myself and it looks like the RootPhysicallyLocatable works exactly like the default LocationPhysicallyLocatable would work for the IRoot object. So I propose to remove the RootPhysicallyLocatable implementation from zope.traversing.adapters and import LocationPhyscallyLocatable as RootPhysicallyLocatable there and remove its registration from zope.traversing's configure.zcml. And, of course, the getParents method should be added to the ILocationInfo interface and that should be stated in changelog somehow, because that's an extension to API requirements, so third-party components will need to implement that method in their custom implementations, if there are any. -- WBR, Dan Korostelev