[Zope-dev] Deprecate ITerms in zope.app.form? [Re:zope.browser?]

Martijn Faassen faassen at startifact.com
Sun Dec 21 15:06:01 EST 2008


  Hi there,

Tres, please tell me what I should be doing as opposed to moving
things around and deprecating them.

I want a version of Grok with far less dependencies than it pulls in
now. I believe there are a lot of advantages in doing that, and I'm
not going to go into them here as I'm sure you can imagine them
yourself.

There are two ways I can go about that:

a) break everybody's APIs and rewrite parts of Zope 3 itself so we
have less dependencies for Grok.

b) refactor Zope 3 itself so that there are less spurious dependencies
that get pulled in.

You're complaining that b) is going to cause people trouble as they
see deprecation warnings. Fine, we can evolve towards a system to do
deprecation warnings better.

But you also seem to be suggesting we shouldn't even do b) in the first 
place.

a) is a much greater break with the past than b), however. What is the
alternative that I'm missing? Or are you suggesting we break
everybody's code and go for a)? Why then arguing a smaller refactoring
that tries hard to keep things working? (I expect the Grok project
will involve a combination of a) and b) in the end, but hopefully as
little a) as possible).

It's not a theoretical cleanliness we're talking about here.

zope.app.form is *not* a dependency of z3c.form anymore, and I
consider this a win for z3c.form. Less code installed, and people who
wade through the code won't run into the very misleading zope.app.form
anymore.

I've also noticed a similar win with z3c.saconfig. I forget
the details, but I was very careful not to pull in a certain
dependency as that pulled in all of Zope 3, and I wanted to keep
dependencies under control. Then someone added a feature that needed
that dependency. Then it turned out that in the mean time a new
version of the dependency had been released that *didn't* pull all of
Zope 3. That made me happy, as it strikes to me that a lot of small 
improvements like that may significantly reduce the set of dependencies 
many Zope 3 installations require.

Regards,

Martijn



More information about the Zope-Dev mailing list