Hey Dan,

You bring up another great topic!

Dan Korostelev wrote:
> One of most annoying dependencies is the "zope.app.appsetup" package.
> Some packages, like zope.session depend on it just to provide
> "boostrap setup" for using these packages in context of "zope3, the
> application server", however, they can be greatly used without it, so
> this is really awful dependency.
> I saw that, on last sprint, the subscriber for error reporting utility
> was moved from zope.error to zope.app.appsetup, so zope.error could
> lose the dependency on zope.app.appsetup. So, the first question is:
> do we want to move all subscribers like that? It doesn't seem like a
> best solution though, because then zope.app.appsetup should depend on
> all those packages, like zope.session. :-/

We did run this into this issue at the last sprint. We analyzed cycles 
in package dependencies and decided this was a way to break these 

I think it's less bad that zope.app.appsetup depends on a lot of 
dependencies than for zope.session to do so, at least if nothing much 
actually depends on zope.app.appsetup. After all, something setting up 
Zope 3 the application server will of course have to include a lot of 

> The problem is that the bootstrap code in zope.app.appsetup is really
> "zope3, the application"-specific, so it uses "root folders",
> persistent site managers, site management containers,
> ZopePublication.root_name, and so on. The code itself is okay, because
> it provides an easy way to setup misc. components for the "zope3
> application server", but still it's a problem, because it's probably
> impossible to refactor it in a application-independent way (until we
> provide some cool pluggable application bootstrapping mechanism, which
> is probably will become too complex and not needed/used by most
> application developers).

While it might be too complex for most application developers it might 
not be too complex for framework developers that use the Zope Framework 
as a base. I think such an infrastructure might arise if the Zope 3 and 
Grok and Zope 2 developers sit together one day. But not today. :)

> So, the general question is where should we move the bootstrap setup
> code? Or, alternatively, we could just leave it in place, but greatly
> separate it from another package components and provide
> zope.app.appsetup as an "extra" dependency (sigh...).

I think your question ties into the need for some packages to depend on 
zope.app.appsetup? Does zope.session really need this stuff? Can't we 
just get rid of that need?



Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to