[Zope3-dev] Splitting package configuration

Stephan Richter srichter at cosmos.phy.tufts.edu
Wed May 23 08:04:32 EDT 2007


Hi everyone, 

I built my first Zope 3 instance with buildout yesterday. After I got an 
initial version working, I found it pretty lame to use "zope.app.zcmlfiles". 
With "zope.app.zcmlfiles" I had 100 eggs without it 84 eggs (this is somewhat 
project-specific.)

However, I had to add several unneeded dependencies, because the 
main "configure.zcml" of a package usually also includes the 
browser "configure.zcml". For example, I have a dependency 
on "zope.app.form", just because "zope.app.securitypolicy" (and other 
packages) create old-style forms. 

In fact, I do not even use anything declared in "IDefaultBrowserLayer", so any 
browser "configure.zcml" is totally overhead for in this case. In fact, 
anyone creating a new skin from scratch will want to avoid the same overhead.

I think the solution can be very simple and be effectively backward-compatible 
for most cases:

1. Do not include the browser "configure.zcml" files in the 
main "configure.zcml" of that package.

2. 
(a) If the package has a SETUP.cfg and "package-configure.zcml", then add the 
browser "configure.zcml" include to that "package-configure.zcml".

(b) If the package is currently loaded via "zope.app.zcmlfiles"'s
"configure.zcml", then we will add the browser "configure.zcml" there.

This solution would not be fully backward-compatible with people including 
package "configure.zcml" files manually. I think this is okay, since people 
often do not even want the browser stuff.

A fully backward solution would be to put all the generic package 
configuration in a new ZCML file and combine them both in "configure.zcml". 
However, I find that solution very undesirable, so I hope noone will like it 
either. :-)

I would like to get this change started as soon as possible to make it work 
for Zope 3.4. If noone objects, I will start with this in a few days.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training


More information about the Zope3-dev mailing list