[Grok-dev] Killing zope.app from grok
Martijn Faassen
faassen at startifact.com
Fri Jan 8 13:36:11 EST 2010
Souheil CHELFOUH wrote:
> Currently, grokui.admin still depends on :
> zope.app.applicationcontrol and zope.app.appsetup
Also zope.app.testing (which pulls in a ton of stuff)
And when I run the buildout I also get grok and such. The buildout
contains old-style grok instance recipes - I think we want to update
these to the new ones.
> I don't see any alternative for these. Any advices on this ?
I'm going to describe some of the process of analysis I go through here..
It's important to look at the state in SVN, in case versions that grok's
KGS depend on are still lagging behind in the refactoring.
First zope.app.appsetup:
zope.app.appsetup.IDatabaseOpenedWithRootEvent is now
zope.processlifetime.IDatabaseOpenWithRoot
(you can see the BBB imports if you look at these)
getInformationFromEvent is also used from that package. Maybe there's a
way to avoid it?
If not, we have do something else. We could move
getInformationFromEvent. We could lift it up into grokui.admin, but we'd
like to avoid that. Plus it also depends on something from
zope.app.publication. An alternative is to move it into
zope.app.publication then. That would also allow us to break up dependency.
Perhaps zope.app.publication is something we can't break the link with
that easily in general with Grok (though grokui.admin should ideally
still break it..). In this case we should break the dependencies of
zope.app.publication. The main dependencies of this package are already
okay, but it still has tons of test dependencies which we should try to
break by working on the tests of zope.app.publication to try to break
dependencies...
Now zope.app.applicationcontrol
IServerControl is an interface. Don't see a quick way to get rid of it.
You shouldn't be using the RuntimeInfoView directly in grokui.admin. You
should use the IRuntimeInfo adapter directly. Not that this breaks the
dependency on zope.app.applicationcontrol, but it will make it easier to
do so in the future. Same with ZODBControlView. Can you take care of
that in grokui.admin?
I'll look at extracting some of this stuff from
zope.app.applicationcontrol into something more reusable.
Regards,
Martijn
More information about the Grok-dev
mailing list