Hi Philipp!

Philipp von Weitershausen wrote:
I don't think it will make much sense to keep Zope 2 interfaces around
for more than one year from now. In other words, I'm suggesting to
deprecate them for Zope 2.10.


But we can't deprecate z2 interfaces as long as Zope 2 itself uses them for other tasks than providing backwards compatibility. There are still some unconverted z2 interfaces in Zope 2.

There are a few places in Zope 2 where they are still used for checks
(mostly webdav, OFS, ZCTextIndex).

In detail these are:

1.) WriteLock: Objects are only lockable if their class has WriteLockInterface in its __implements__ list.

2.) PluggableIndex: Indexes for ZCatalog have to be registered in Products.meta_types with PluggableIndexInterface.

3.) IFAwareObjectManager and the 'interfaces' argument of ObjectManager.all_meta_types: The mechanism used for pluggable indexes has a generic implementation in ObjectManager and can be used by any subclass of IFAwareObjectManager.

For the deprecation period, these
checks will have to be done against both the Zope 2 and the Zope 3

In Zope 2.9 these mechanisms already work alternatively with z3 interfaces. There should be no need to use z2 interfaces in products written for Zope 2.9.

I think this is as hard as it gets for the switch-over to
Zope 3 interfaces, but perhaps I'm missing something.

Don't think so. But there might be other z2 interfaces in use.



Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to