[Grok-dev] Re: WSGI, Repoze and deployment questions
Philipp von Weitershausen
philipp at weitershausen.de
Fri Nov 23 05:34:40 EST 2007
Martijn Faassen wrote:
> As a WSGI-know-nothing, I'm trying to figure out what to do to make WSGI
> support a first class citizen in Grok.
> I understand Philipp with grokproject and/or zopeproject has done some
> work to integrate paste and WSGI.
I really should fine the time to synchronize the two again.
> There's also the Repoze project that offers WSGI integration, which
> allows one to install Grok. Repoze also offers other things, of course.
> What would be the way forward for Grok? What benefits and drawbacks do
> these strategies offer? Perhaps they're mutually complementary? What do
> we want to be possible with Grok eventually?
> Perhaps we need some concrete goals. There is a cool WSGI-based Python
> exception formatter. What would we need to do to make this available
> with Grok?
> All this also affects Grok's deployment story. In fact, Grok needs a
> better deployment story. I presume WSGI is going to be involved, but we
> also need documentation spelling out what to do to make Grok work with
> their favorite web server. Would Grok work with mod_wsgi?
As Tres pointed out, it already does.
I think, as a short term goal, we should move grok and grokproject to a
WSGI-based sandbox, using zope.app.wsgi. I think this is what repoze
uses for now as well, for the lack of a better way to integrate Zope 3
and WSGI. That's not to say zope.app.wsgi is a particularly bad way,
though it is a bit monolithic. It still allows you to deploy anywhere
you'd like (including mod_wsgi) and plug in various middlewares which I
have in almost all of my projects (e.g. Deliverance, custom sessioning
middleware, debugging middleware during development, etc.)
A long-term goal could be to go repoze way and "explode" the Zope 3
publisher, much like they did for Zope 2. Because then we can use one
transaction middlware across Zope 2, Zope 3 and possibly other systems,
and one exception formatter, etc. without carrying the baggage imposed
by Zope 3 (which is all Component Architecture driven rather than
More information about the Grok-dev