[Zope-dev] zcml entry points

Wichert Akkerman wichert at wiggy.net
Wed Oct 17 16:44:29 EDT 2007


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.

It allows you to define entrypoints like this:

      entry_points={
          "zope.zcml" : [
              "meta = plone.session",
              "configure = plone.session",
          ],
      },

this tells the system to load meta.zcml and configure.zcml from plone.session.

I am not quite sure what the best way to hook this into Zope itself is.
For Zope 2 we can do it in Five, since that is where all the zcml loading
logic currently is. Or we could move that into Zope2 itself somewhere.
I'm not familiar enough with Zope3 to know what the best place would be there.

One problem is ordering: the zope.component zcml needs to be loaded first.
Perhaps we need to build an egg dependency graph and walk through that
to load zcml entry points in the right order. As long as all dependencies
are registered correctly that should work.

Wichert.

-- 
Wichert Akkerman <wichert at wiggy.net>    It is simple to make things.
http://www.wiggy.net/                   It is hard to make things simple.


More information about the Zope-Dev mailing list