[Zope3-dev] site.zcml (ftesting.zcml) extension

Roger Ineichen dev at projekt01.ch
Mon Apr 25 10:52:34 EDT 2005


Hi Shane

From: zope3-dev-bounces+dev=projekt01.ch at zope.org 
> [mailto:zope3-dev-bounces+dev=projekt01.ch at zope.org] On 
> Behalf Of Shane Hathaway
> Sent: Monday, April 25, 2005 3:38 PM
> To: Dominik Huber
> Cc: zope3-dev at zope.org
> Subject: Re: [Zope3-dev] site.zcml (ftesting.zcml) extension
> 
> Dominik Huber wrote:
> > We should have an application/framework-level hook within 
> the site.zcml
> > that is processed before *-configure.zcml are invoked.
> > 
> > Problem: A framework package 'b.x' registers a dedicated 
> menu 'b_views'.
> > A package 'a.x' using 'b.x' should be able to register menu items
> > refering 'b_views'. The initialisation will fail because 
> 'a.x' is loaded
> > before 'b.x' and therefore  'a.x' cant register any view to 
> 'b_views'
> > because the menu does not exists yet.
> > 
> > Proposed solution: package includes named *-app.zcml will be invoked
> > before the regular *-configure.zcml package includes 
> (Compare example
> > site.zcml below)
> > 
> > Any objections?
> 
> That might be a reasonable band-aid.  However, directives 
> ought to have
> no load-time dependencies on other directives.  The configuration
> directives should defer any interconnections and registration 
> until the
> whole configuration is loaded.
> 
> In your specific example, a.x should be able to register views on any
> menu, regardless of whether b_views has been loaded yet.

This would be nice. But it isn't.

The addMenuItem directiv has dependency to the menu directive
if you use a own Adding view.

That's the only reason where we see right now. 

The alphabtice order of configure.zcml like Stephan proposed
is one solution. But I like a more explicit solution for this
like Dominik proposed with a additional application level
for 3rd party packages.

Regards
Roger Ineichen



More information about the Zope3-dev mailing list