On Wed, Jun 6, 2012 at 7:06 PM, Tres Seaver <tseaver@palladion.com> wrote:
On 06/06/2012 12:11 PM, Hanno Schlichting wrote:
I've looked into WSGI again at the Plone Symposium East sprint and I think we should remove the middleware approach again for Zope2. Primarily as we loose some features like publisher events and exception views, which in practice are used by Plone.
[snip my subjective view on repoze project]
So I'd probably just merge back the exception and transaction handling into the Zope2 WSGI publisher (keeping some of the code cleanup).
That could still be a reasonable choice. Another choice would be to just add an integration point into the publisher which wrapped the middleware in at startup time, without requiring explicit configuration.
As I said above, my main concern is keeping publisher events and exception views intact. Some of these events need to happen in code that's currently inside repoze.* middleware. Like "before transaction commit", "publication failure" or "publication success". For exception handling Plone wants to load some settings from inside the database. Mangling those into a WSGI environment is a bit tedious - having a real Zope request/response object makes that a bit easier. Hanno