[Zope-dev] Re: zcml entry points

Martin Aspeli optilude at gmx.net
Wed Oct 17 17:57:42 EDT 2007


Fred Drake wrote:
> On 10/17/07, Wichert Akkerman <wichert at wiggy.net> wrote:
>> A common issue we are seeing is that we have eggs depending on each
>> other, but they still need to load the zcml from those dependencies
>> somehow. As a temporary solution to play with the concept I added
>> something simple to the plone.recipe.zope2instance buildout recipe.
> 
> What's the problem you're seeing?  I'm not sure what you're trying to
> solve.  ZCML includes work just fine in the egg world.
> 
> As long as you're referring to packaged ZCML using
> package="package.name" in your <include> and <includeOverrides>
> directives, all is good.

The main win, IMHO, is to avoid the requirement for people to install 
slugs for third party products. Slugs suck - they are confusing to 
explain and people forget them all the time. Buildout makes it a bit 
easier, but it's still not a terribly good solution.

For example, say you want to install oi.plum. You need to add the line 
'oi.plum' twice - once under 'eggs' and once under 'zcml' in your 
buildout.cfg. Forget the latter, and the package doesn't work properly 
(or at all).

If we had entry points, we could just load the egg. Internally, oi.plum 
may use <include /> as much as necessary to load *its* dependencies, but 
that's not something the user of the package needs to worry about.

If Zope loaded entry-point ZCML automatically (maybe with an on/off 
switch in zope.conf for those who need more fine grained control) that'd 
be a pretty nice solution.

Martin

-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book



More information about the Zope-Dev mailing list