[Grok-dev] Re: STORM howto

Fernando Correa Neto fcdoth at gmail.com
Fri Mar 14 11:10:48 EDT 2008


On Fri, Mar 14, 2008 at 4:49 AM, Martin Aspeli <optilude at gmx.net> wrote:
> Martin Aspeli wrote:

>  Oh, and one more thing - as a data point (and not a whinge, honestly):
>  I've personally invested a lot of time in learning and using SQLAlchemy
>  for various other projects and I know it pretty well now: I recommended
>  it as the SQL integration story for Plone in my book (via
>  collective.lead); I've used it in standalone Python scripts extensively
>  for a previous project; and I've used to build Pylons applications.

Right. But I think it is just a matter of being fluent with a given
technology. I've picked up Storm ORM for some reasons. The main reason
was z3 integration built-in because it was developed for z3. Also, a
big company and PSF member behind it which gives it long life. Other
important factor is that Storm has evolved from SQLAlchemy and
SQLObject so the best of the two words are present.
I really like the multi-store story of Storm ORM and its ability to
add new databases really simple. I mean, very minimal API.
To be honest, the code looks pretty much the same and both projects
will have long life. And in zope, if you are really talking about the
integration, it will be transparent for the end user, so the beckend
ORM would be just a detail. Just like external indexers integration in
plone. It doesn't matter if you are using Lucene or Xapian, the
interface is the same.

>  If I were to do a Grok project that required RDBMS integration, I would
>  hope to be able to re-use that knowledge. I may be tempted to use Pylons
>  instead if I couldn't, just because Pylons makes this so easy. I think
>  comparing Grok and Pylons is largely apples and oranges, so if it came
>  down to it I may have made a different decision, but that's my gut feel
>  right now.

In fact, there is a very minimal WSGI middleware [1] that people can
use in WSGI enable apps.
It didn't hurt my eyes looking at it :).

>  I wouldn't be surprised if other Python developers who'd used SQLAlchemy
>  had a similar gut feel. And I *think* that includes a growing number of
>  Zope 2 and Plone developers, since there are various SQLAlchemy-oriented
>  solutions for Zope 2 and Plone (collective.lead,  collective.tin,
>  collective.mercury, collective.rope, z3c.sqlalchemy, z3c.zalchemy
>  Alchemist and so on). I've never seen anyone use Storm with Plone (which
>  of course doesn't mean that no-one does it).

Yes, a lot of packages counts a lot. But do they use the same
interface or do you need to know its particularities in order to use
them? If they share the same integration story, them I consider this
very good.
I am really happy doing
componet.getUtility('IZStorm').get('some_store').[add(), remove(),
find()] :). I mean, this is something I can remember easily.

>  Perhaps this warrants some wider consultation before a decision is made?

Off course. I would fight till death to defend what fits best my brain :).
I think the ORM integration in zope should be discussed. Same
interface with different beckends so people can use whatever they know
best to accomplish their tasks.
I would not say let's pick this or that ORM. I'd love to have a common
interface to add ALL of them and say that zope supports whatever ORM
if it is compliant with X standard ( WSGI :o)) ).

Best Regards,

[1] http://snippets.dzone.com/posts/show/4408

More information about the Grok-dev mailing list