[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