[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 mailing list