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 )

Reply via email to