[Zope3-dev] Re: New package zc.configure provides an exclude
directive for excluding zcml files
Jim Fulton
jim at zope.com
Tue Oct 2 08:23:10 EDT 2007
On Oct 2, 2007, at 3:29 AM, Martijn Faassen wrote:
> Jim Fulton wrote:
>
> [snip]
>> Maybe grok was already trimmed down. In my case, I basically
>> eliminated all ZMI support (since I didn't need it). I got about
>> 40%,
>
> Grok is trimmed down in the sense that it doesn't depend on all
> Zope 3 packages, though due to the interesting dependency structure
> it still relies on about 100 eggs. We didn't do any trimming down
> of ZMI support.
Note that it wasn't my goal to trim the number of eggs I got,
although trimming that, or, in theory, using zipped eggs would speed
startup as well. I'm using the zope.app.zcmlfiles egg as my base.
> Would it be possible to get a list of exclude statements that you
> use to eliminate ZMI support in your project? I imagine our list is
> far from complete.
Here is the zcml file I'm including rather than incliding
zope.app.zcmlfiles/configure.zcml:
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:i18n="http://namespaces.zope.org/i18n"
i18n_domain="zope"
package="zope.app.zcmlfiles"
>
<exclude package="zope.app.catalog.browser" />
<exclude package="zope.app.container.browser" />
<exclude package="zope.app.form.browser" />
<exclude package="zope.app.generations" />
<exclude package="zope.app.intid.browser" />
<exclude package="zope.app.session" file="browser.zcml" />
<exclude package="zope.app.security.browser" />
<exclude package="zope.app.securitypolicy.browser" />
<exclude package="zope.app.authentication.browser" />
<exclude package="zope.app.authentication.browser"
file="session.zcml" />
<exclude package="zope.app.authentication"
file="ftpplugins.zcml" />
<exclude package="zope.app.authentication"
file="httpplugins.zcml" />
<exclude package="zope.app.authentication"
file="groupfolder.zcml" />
<exclude package="zope.app.authentication.browser"
file="password.zcml" />
<exclude package="zope.app.authentication"
file="principalfolder.zcml" />
<exclude package="zc.userfolder.browser" />
<!-- This was copied from zcmlfiles. Bits are commented out to
speed startup. -->
<!-- note that we need to do this early, as later startup
subscribers may break without fixups -->
<exclude package="zope.app.component.browser" />
<include package="zope.app.component" />
<include package="zope.app.generations" file="subscriber.zcml" />
<!-- Ordinary Application (non-view) configuration) -->
<!-- <include package="zope.app.interface" /> -->
<include package="zope.app.security" />
<include package="zope.component" />
<include package="zope.annotation" />
<!-- <include package="zope.app.dependable" /> -->
<include package="zope.app.content" />
<include package="zope.publisher" />
<!-- <include file="menus.zcml" /> -->
<!-- <include package="zope.copypastemove" /> -->
<!-- <include package="zope.size" /> -->
<include package="zope.location" />
<include package="zope.app.container" />
<exclude package="zope.app.publisher.xmlrpc" />
<include package="zope.app.publisher" />
<include package="zope.app.publication" file="meta.zcml" />
<include package="zope.app.publication" />
<include package="zope.traversing" />
<include package="zope.app.pagetemplate" />
<!-- <include package="zope.app.zapi" /> -->
<!-- Views -->
<!-- <include package="zope.app.http" /> -->
<!-- Translations -->
<!-- <configure package="zope.app.locales"> -->
<!-- <i18n:registerTranslations directory="." /> -->
<!-- </configure> -->
<exclude package="zope.app.i18n.xmlrpc" />
<exclude package="zope.app.i18n.browser" />
<include package="zope.app.i18n" />
<!-- Database boostrapping and maintanance -->
<include package="zope.app.appsetup" />
<include package="zope.app.zopeappgenerations" />
<!-- Services -->
<include package="zope.app.principalannotation" />
<!-- Utilities -->
<!-- <include package="zope.app.error" /> -->
<!-- Broken-object support -->
<!-- <include package="zope.app.broken" /> -->
<!-- Skins -->
<!-- <include package="zope.app.basicskin" /> -->
<include package="zope.app.rotterdam" />
<!-- Additional packages -->
<!-- <include package="zope.app.applicationcontrol" /> -->
<!-- <include package="zope.dublincore" /> -->
<include package="zope.app.wsgi" />
<!-- Content types -->
<!-- <include package="zope.app.folder" /> -->
<!-- browser Configurations -->
<include file="browser.zcml" />
</configure>
Note that this was made by just copying the configure.zcml from
zope.app.zcmlfiles and commenting out some things and adding
excludes. I basically kept commenting things or excluding things
until my tests failed. :) I could probably go a little further if I
worked a lot harder, so of course, I stopped. :) I'll also probably
have to add some things back later when I pay attention to i18n.
(This app uses extjs for it's UI and I haven't figured out how I'm
going to approach i18n for that. extjs rocks btw.)
Jim
--
Jim Fulton
Zope Corporation
More information about the Zope3-dev
mailing list