[Zope3-dev] Re: Heads up! Major interface changes coming this weekend

Jim Fulton jim@zope.com
Sat, 03 May 2003 08:54:53 -0400


Andreas Jung wrote:
> 
> 
> --On Samstag, 3. Mai 2003 6:27 Uhr -0400 Jim Fulton <jim@zope.com> wrote:
> 
>> Andreas Jung wrote:
>>
>>>
>>>
>>> --On Samstag, 3. Mai 2003 1:06 Uhr +0200 Christian Heimes
>>> <heimes@faho.rwth-aachen.de> wrote:
>>>
>>>> Sidnei da Silva wrote:
>>>>
>>>>> What are the plans to get this included in Zope 2 (and if there are
>>>>> plans, may I volunteer to make the changes on Zope 2 codebase?)
>>>>
>>>>
>>>>
>>>> If you want I can help you. We could share the work and double check
>>>> each other. I'm quite experienced with some parts of the source base of
>>>> zope 2.5 and 2.6 especially the OFS and AccessControl packages.
>>>>
>>>
>>> It would be nice to have this stuff for Zope 2.X *but* a backport should
>>> be 100% compatible. It is not acceptable that the Interface package
>>> breaks again.
>>> (the changes made for 2.6 broke ZClasses and several products). So
>>> changes should me made with care.
>>
>>
>> Hm. I wasn't aware that ZClasses were broken by those changes. :(
>>
>> The changes are *not* 100 compatible, as I pointed out in my 
>> compatability
>> note. Do you think ang Zope 2 applications are using the advanced 
>> features
>> I mentioned (__class_implements__, module __implements__, instance
>> __implements__)?  Would it be acceptable to provide an lternate spelling
>> of these APIs declarations that could be used with the old interface
>> package during transition?
> 
> 
> I think for most 2.X application it would be enough when the __implements__
> behaviour remains untouched (that's the case according to your first 
> posting)

Pretty much. (Note the edge case where a class doesn't have a declaration,
but it's base classes do.)

> and the Verify module keeps it functionalites. It is my experiences that 
> a lot
> of applications for 2.X are using the Interface package for documenting 
> purposes
> only. Only a few application perform checks inside unittests or test 
> arguments
> passed to a method for interface complicance. So I do not see too much 
> advantages
> for the backport except for Zope2 products that are worth to be ported 
> to Zope 3 :-)

The advantage of making Zope 3 interfaces available in Zope 2 is that it
will enable using other Zope 3 features in Zope 2.

Jim


-- 
Jim Fulton           mailto:jim@zope.com       Python Powered!
CTO                  (703) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org