[Zope-dev] the Zope Framework project
Paul Everitt
paul at agendaless.com
Wed Mar 4 07:54:57 EST 2009
On 3/4/09 1:07 AM, Chris McDonough wrote:
> Martin Aspeli wrote:
>> Chris McDonough wrote:
>>
>>> Sorry, the "you" above in "you scolded" was Martin Aspeli, not Faassen.
>> Note that the "scolding" had something to do with you breaking Plone
>> trunk due to a transitive change in Chameleon, and the realisation that
>> from this point on, any package shared between repoze.bfg and Plone (or
>> anything else) that is configured with ZCML, will probably need to be
>> forked. We found a workaround with Chameleon, but not one that will scale.
>
> The fix is totally scalable and completely correct. Chameleon.zpt just does not
> have any (real) ZCML anymore. Any package that has ZCML is, by definition,
> written for some framework as stuff that is meant to be overridden, otherwise it
> wouldn't be written as configuration. ZCML is unlike code in this way. If it
> wasn't meant to be overridden, it would be in code.
>
> All packages which are meant to be maximally useful outside the scope of that
> framework should be split into two things: the library portion, then some
> portion that contains ZCML for gluing in to some framework that wants ZCML in
> some specific configuration.
When I read Martin's post, I had a similar reaction. Namely, that the
convenience of the Uberthing (Plone in this case) will always trump the
desire of packages trying to survive on their own for new audiences. At
the time of the configuration scolding, I remember thinking: there's
little interest here in Chameleon's goal to be bigger than Zope. "Keep
things convenient for us in Plone!"
Package sharing between repoze.bfg and Plone should not mean that BFG
gets dragged down, paying for things it specifically doesn't want to
eat. BFG never claimed to sign up for Plone's contracts.
I sense the logic of Chris's position: if the Zope Framework is as big
as every current use case in Zope2+Zope3+Grok+etc., with nine years of
accumulations on each (3 forms systems in one of them), then we're
missing the goal (IMO). We'll make life incrementally better for
ourselves, but we'll still scare off the folks who aren't after Uberthing.
Plone is going towards a smaller-and-smaller "core" that is only as big
as the manpower to do a great job at keeping it stable. Meaning, very
small. Hopefully the Zope Framework is a tiny little thing that pays
only for what it eats.
Hopefully the goal is to make a very good microframework (or even
better, set of libraries). If "you can't make the best configuration
language possible because one line of includes to get trusted adapters
is an unconscionable burden" is the rule, then I know how this movie ends.
--Paul
More information about the Zope-Dev
mailing list