-----BEGIN PGP SIGNED MESSAGE-----
Lennart Regebro wrote:
> On 10/20/07, Martijn Faassen <[EMAIL PROTECTED]> wrote:
>> I'd say it is a general concern of a framework to try to avoid how often
>> you need to repeat yourself. Right now you to use a Zope 3 package you
>> need to do the following things:
>> * list the egg in your setup.py dependencies
>> * load the ZCML required
>> * import it in your code
> True. But they do different things.
> 1. Says "download and install a component"
> 2. Says "configure a component"
> 3. Says "use a component"
> Or something like that.
> I must say I kinda prefer the method of including the ZCML from the
> application zcml, where it is used, than having it magically included
> by buildout just because it was downloaded and installed. This mainly
> because if I write a module that requires foo.bar.frotz to have it's
> zcml included, I think it's the job of my module to include it, not a
> separate buildout.
> But I see your point as well, and maybe there could be made a
> difference in the buildout between modules to just be installed and
> modules to be installed and configured?
I'd rather see eggs designed to be used as plugins for a pluggable app
(e.g., Plone / Zope2 Products, maybe Grok add-ons) expose and entry
point in their setup.py, which would then be found and triggered
automagically by the plugin-aware application.
E.g., a stock Zope2 product, bundled as an egg, might expose the
following in its setup() call::
Or maybe the product even exposes mroe than one kind of entry point::
A Grok application might say:
The entry points feature of setuptools was originall added in order to
support this use case (plugins / add-ons for a particular framework).
Tres Seaver +1 540-429-0999 [EMAIL PROTECTED]
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
-----END PGP SIGNATURE-----
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -