[Zope-dev] Re: SVN: Products.ZopeVersionControl/trunk/ Purge
old zope2 Interface interfaces for Zope 2.12 compatibility.
Dieter Maurer
dieter at handshake.de
Fri May 23 14:38:32 EDT 2008
Tres Seaver wrote at 2008-5-22 10:45 -0400:
>> ...
>> The fact is that right now, today, we still have code that relies on Z2
>> interfaces. Not just in third party products - current Zope2 releases
>> rely on Z2 interfaces in some places as well.
>
>Only by oversight, not by design (the only one I know of is the
>IStreamIterator bit in ZPublisher / ZServer).
"Products.PlugcinIndexes.common.UnIndex.UnIndex" still uses
both "__implements__" and "implements".
True, the Zope2 interfaces are defined from the Zope3 ones
via a magical "Interface.bridge.createZope3Bridge".
>> Some of that code has no
>> Z3 alternative either. I find it very hard to believe that you want to
>> silently break all that code. Whatever happened to our N+2 deprecation
>> policy.
>
>What I want is to stop the "n*m" + 2 policy, where m is the number of
>layers in the stack. I would much prefer that everything using Zope2
>interfaces breaks *noisily*, which is why I ripped the Interface module
>out of the Zope2 trunk, and why the "old" names are no longer present in
>the CMF trunk.
Formerly, both you and me, have been strong advocates for
backward compatibility. What happened that you now want to
break things drastically?
>Zope 2.8 shipped with Five in the core *three years ago*: from that
>moment, the Zope2 interfaces were complete dead ends.
Precisely this Five version suggests to use "__implements__"
and "implements" together...
--
Dieter
More information about the Zope-Dev
mailing list