[Zope-dev] zope.publisher uses deprecated IView

Dan Korostelev nadako at gmail.com
Fri Mar 6 16:27:37 EST 2009


2009/3/6 Tres Seaver <tseaver at 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


More information about the Zope-Dev mailing list