[Zope-dev] Re: relocating Zope 2 core interfaces - a proposal

Philipp von Weitershausen philipp at weitershausen.de
Fri May 6 10:56:55 EDT 2005


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


More information about the Zope-Dev mailing list