-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Jim Fulton wrote:
On Dec 17, 2007, at 10:07 AM, Janko Hauser wrote: ...
This baffles me somewhat. At the moment I see skins/layers as the only mechanism to let developers using an application to customize it, possibly more than once in the same instance. I find them not optimal, because they only allow customizing on the outer most level. But overrides is a failure as I understand it.
How are overrides a failure?
For one thing, they don't let you turn *off* a feature; you have to provide an alternative. Reusing naively-constructed ZCML from another package is hard enough that I've begun *copying* it into 'etc' and modifying it, rather than trying to juggle '<include>' and '<includeOverrides>'. I would still like to see the '<include>' machinery extended to support "masking" (e.g., via 'only' and 'exclude' subdirectives).
Skins, after all do nothing but override views.
Skins provide a mechanism for defining views against more specific interfaces, which is not what ZCML overrides do at all: they replace existing registrations.
So what should be used or invented instead?
I use overrides.
As a usecase take a forum application which should be installed more than once in an instance but needs different layouts and also different subset of functionality.
I don't have this use case. I wonder how many people do.
It was a common use case under CMF, and remains one in Plone.
We tend to think up complex use cases and then make the zope framework more complicated to deal with them. Sometimes these are legitimate use cases, but they are rarely common cases and their solutions should generally not be inflicted on the masses.
WRT this use case, I strongly suspect it would be simpler and easier to support defining multiple configurations in ZCML and a mechanism to specify different configurations for different sites within an instance. In fact, I think Stephan Richter added this a while ago.
Agreed. For instance, I'm finding the IRO-based lookup mechanism to be overkill for lots of applications, which basically just need a flat namespace registry (a la entry points in eggs). Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHZp+t+gerLs4ltQ4RAs6UAKCAuEhix+Ft3euVxj5wr7XTnd+3XACfUYeP iXdeldtvVRjEdMhMe3z6whs= =LjXU -----END PGP SIGNATURE-----