[Zope-dev] Re: SVN: Products.ZopeVersionControl/trunk/ Purge old
zope2 Interface interfaces for Zope 2.12 compatibility.
Wichert Akkerman
wichert at wiggy.net
Thu May 22 14:23:19 EDT 2008
Previously Tres Seaver wrote:
> Wichert Akkerman wrote:
> > 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).
If you look at Zope itself that may be correct. Current stable CMF and
Plone releases certainly do use them.
> > 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.
>
> Zope 2.8 shipped with Five in the core *three years ago*: from that
> moment, the Zope2 interfaces were complete dead ends.
I've been involved with Zope development for about three years now. I
had never heard before this month that the old interfaces were scheduled
for removal. We have had zope.deprecate in Zope since 2.8 as well - why
wasn't that used? Or any other visible deprecation mechanism? Why not
add that right now to the as yet unreleased Zope 2.11 so at least we get
a warning out?
> > If you insist on going this path we need to start adding deprecation
> > warnings for the Z2 Interface class *now*.
>
> They are already gone.
Not in 2.9, 2.10 and 2.11, two of which still see occasional maintenance
releases and 2.11 is not final yet. We can add a deprceation warning
there.
> >> Plone is already going to have to do this to work with CMF trunk,
> >> because the "bridge" code which provided BBB Z2 interfaces is now gone.
> >
> > I've done that work on trunk already - it took a lot of work and was
> > quite painful. There are probabyl still a few broken things that try to
> > use Z2 interfaces.
>
> Code which claims to be "working" with Z2 interfaces is already
> crippled: worse, it infects *other* code with that breakage. Such code
> *never* worked properly (those interfaces were never supported by the
> component architecture), and was always a decoy or a booby trap.
Confusing - sure. But working.
> Third party code has to make adjustments sometimes, and three years is
> long enough.
It would have been fine if there was a visible deprecation. As I said I
for one was not aware that this was going to happen this fast (or at
all). I find it hard to believe I am the only one.
Wichert.
--
Wichert Akkerman <wichert at wiggy.net> It is simple to make things.
http://www.wiggy.net/ It is hard to make things simple.
More information about the Zope-Dev
mailing list