[Framework-Team] PLIP #247 ready for review (I think)

Ethan Jucovy ethan.jucovy at gmail.com
Sat Jan 17 01:37:23 UTC 2009


Hello,

I've implemented PLIP #247, Automate ZCML Loading for Plone Plugins (
http://plone.org/products/plone/roadmap/247) and committed a review buildout
here:
 https://svn.plone.org/svn/plone/review/plip247-automate-plugin-zcml
for your review.  The buildout is branched from the 3.3 review bundle
buildout based on buildout.eggtractor, which automatically generates ZCML
slugs for development packages and puts them in
parts/instance/etc/package-includes.
Since the purpose of PLIP 247 is to automate ZCML loading, those
automatically generated ZCML slugs should be removed.  I've hardly ever used
buildout so I'm not sure how to change that behavior -- sorry about that;
I'll change it if I can figure out how.

The changes in Plone itself (branched and pulled in with an svn:external)
are pretty small: I added z3c.autoinclude as a dependency in setup.py,
included z3c.autoinclude's meta.zcml from Products/CMFPlone/meta.zcml and
added the <includePlugins> directives to Products/CMFPlone/configure.zcml,
meta.zcml and overrides.zcml.

I've included a sample plugin package `foo` as an svn external in src/.  If
you install that package in your environment (by adding it to buildout.cfg's
[develop] section for example -- though again the package-include slugs
should be removed) its ZCML will be automatically detected and executed
(from Products.CMFPlone's <includePlugins/> directives) when the zope server
is started.  The foo package has a README with more details.

The implementation is currently using the unreleased trunk of
z3c.autoinclude to allow the entry point spelling "target=plone" (as opposed
to "target=Products.CMFPlone") and to allow three separate directives to
load a plugin's meta.zcml, configure.zcml, and overrides.zcml.

Some of the things that people have said ought to be discussed about PLIP
#247 are:
  1) impact on server startup time
  2) implications for test environments
  3) stabilizing and releasing a new version of z3c.autoinclude
  4) debugging tools/APIs for z3c.autoinclude
  5) documentation and/or code generation templates to explain the entry
point for plugin authors

I'll begin working on #3 immediately, since there's plenty I can do there
while discussion is still happening.

Please let me know if there's anything else I'll need to submit for the
PLIP's review.

Thanks,
Ethan Jucovy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.plone.org/pipermail/plone-framework-team/attachments/20090116/fbdfb1b4/attachment-0001.html>


More information about the Framework-Team mailing list