2009/3/6 Tres Seaver <tseaver@palladion.com>:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Martijn Faassen wrote:
Hey,
Wolfgang Schnerring wrote:
since Dan Korostelev commented on my https://bugs.launchpad.net/zope3/+bug/338136 saying I should take it to the mailing list, here goes:
zope.publisher.interfaces.browser.IBrowserView inherits from zope.component.interfaces.IView, which actually is zope.component.bbb.interfaces.IView -- marked as deprecated since 2004, but no pointer what the replacement should be.
What's going on here?
I actually remember running into this many many years ago and got so confused I gave up on it then. :) Hopefully someone else can tell you more!
Something is definitely funky in here.
I wonder what happens to our compattests if we simply remove this inheritance relationship. If nothing directly refers to IView it might mean everything will still work...
I just undeprecated IView and the other 'bbb' interfaces for exactly this reason: if core packages still use them five years later, then the deprecation loses.
I doubt that the IView and (especially) IPresentation/IContextDependent are actually imported/used anywhere directly. Especially when they were deprecated for years. So I'm +10 on simply removing the inheritance and that BBB interfaces themselves, as they only create confusion when someone tries to find out what those interfaces constist of. As for others, I bet IResource could be safely moved into zope.app.publisher and the IDefaultViewName - to zope.publisher to make company for IDefaultSkin. :) As for IViewFactory/IResourceFactory - they are not used by zope. For example, the BrowserView and BrowserPage classes don't provide those interfaces. So I propose to simply remove them. -- WBR, Dan Korostelev