[Zope-dev] Context priority as an alternative to configuration directive overrides

Tres Seaver tseaver at palladion.com
Thu Dec 2 17:22:29 EST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 12/02/2010 03:43 PM, Charlie Clark wrote:
> Am 02.12.2010, 14:19 Uhr, schrieb Malthe Borch <mborch at gmail.com>:
> 
>> As far as I understand, for a ZCML include override to work properly,
>> you need to carefully make sure that your includes are in the exact
>> right order and on the same level. In a system where two packages are
>> trying to override the same component (should arguably never be the
>> csae, but it is frequently), it can be difficult to get it right.
> 
>> Priorities on the other hand are absolute, globally. It's easy for
>> anyone to see that the highest priority wins, no matter the order of
>> inclusion.
> 
> -1 on priorities - how do you resolve the case where the priorities are  
> the same? The proposed solution introduces an additional complexity which  
> could get even more baffling than the current one.
> 
> I would much prefer a cascading/layered/subclass approach but I suspect  
> this might not be possible with the current implementation, so I  
> sympathise entirely with your complaint. As a developer you kind of  
> imagine that your application layer ought to "win" just as your subclass  
> "wins". Can we get some kind of diamond rule?

I'm -100 on priorities as well.

I'm not quite sure I understand the issue:  the person who should "win"
is the one configuring the outermost layer (the site, rather than any
soi-disant "reusable policy" shipped with a library).  No ZCML shipped
as part of a library should *ever* contain an <includeOverrides>
element, period.  One library writer arrogating the right to override
another library writer's ZCML is insane.

We need to give up on the idea that we can solve the "reusable policy"
problem with more machinery:  the correct first-order solution is to
create local copies and fix them up by hand (the second-order solution
is to quit shipping so much "mandatory" ZCML in our packages).


Tres.
- -- 
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz4HCUACgkQ+gerLs4ltQ5kGACgrWlvc9XBldb8B//wBn2FMcQC
MIEAoMbraokLM4Dz8wqxumaGJ3kvdypR
=yP08
-----END PGP SIGNATURE-----



More information about the Zope-Dev mailing list