yuppie wrote:
Proposed Solution
=================

1.) Adding ZCML that bridges existing z2 interfaces into the 'interfaces' module of their package. [Zope 2.8.0]

+1

2.) Copying z3 interfaces from Five.interfaces to the 'interfaces' module of the corresponding package. Marking those in Five as Zope 2.7 backwards compatibility cruft. [Zope 2.8.0]

+1

3.) Doing the same for Zope 2.7 with monkey patching code. [Five 1.0+]

I assume here you mean patching in OFS.interfaces, webdav.interfaces etc...

4.) Making interfaces.zcml point to the new locations. [Five 1.0+]

5.) Adding unit tests that verify interfaces and implementations. [Zope 2.8.0]

IMHO that's yagni. We actually don't use interfaces that much for verifying implementations anymore. I think their most common use in Zope 3/Five is documentation, API/schema specification, and easier spelling for security declarations.


Risks
=====

I can't see a way to provide backwards compatibility for Products.Five.interfaces.*, but as explained above I'm hopeful this doesn't break many Five products.

How and where would we be backward incompatible? I assume that Five.interfaces would remain where it is, since its definitions are needed for your point 3) above.


Philipp
_______________________________________________
Zope-Dev maillist - Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** 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