Brian Sutherland wrote:
On Mon, Jun 16, 2008 at 08:40:24PM +0200, Martijn Faassen wrote:
Hi there,
In some earlier discussions a number of approaches to integrate SQLAlchemy
into Zope were discussed. Following up on that, I've tried a particular
approach that tries to use ScopedSessions with a custom scope that isn't
just per thread, but also per site (application). The benefit of this
approach is that it should allow the following to just work:
from z3c.sa_integration import Session
...
def somewhere_in_a_view(self):
session = Session()
return session.query(Test).all()
For some reason this raises a warning bell in my head. I keep on
thinking: this is zope, the session is a classic case for a utility, we
should be getting it in views by an interface.
FWIW, I had the same though.
I think there's a trade-off here: we can use patterns that SQLAlchemy
and Pylons and others use directly (use a "global" that isn't actually
global) or we can use patterns that are ubiquitous in Zope (look up
utilities by interface).
To my mind, the latter is better because it makes us internally
consistent, and because it promotes one of the formalisms that IMHO
makes Zope 3 easier to work with.
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
_______________________________________________
Zope-Dev maillist - Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )