[Zope-DB] Re: [Zope3-dev] Re: Relational Databases in Zope 2 and Zope 3

Stephan Richter stephan.richter at tufts.edu
Mon Jun 28 07:43:57 EDT 2004

> Okay, what about APE?

APE has not been ported yet, so it is not an option. Also, it attempts 
transparency in the persistence layer, while SQLObject provides transparency 
only in the model, i.e. when you do your UML you do not worry about ZODB 
versus RDB, but after that you use SQLObject consciously. 

> How "standard" is SQLObjects?

How standard is any Python package. I would say SQLObject is well accepted in 
the Python community (from what I read).

> What is going to be the answer the the end-user question "How do I access
> my RDB from Zope" in Zope 3? (I know this is a business question, but the
> ZSQL Methods answer made a lot of people very happy, and it'd be good to
> think about it for Zope 3)

Yes, for this reason we have SQL Scripts. They can be used the same way as 
before and behave the same way as before.

> > We still have those around, in the form of 'SQLScripts',
> > but they are content objects and meant for scripters.
> How mature are these?

They have been in the core since 2 years now. The reason RDB might not be 
working is often due to a lack of up-to-date RDB DAs. But people show 
interest of keeping them working. The RDB DA code has been real-world tested 
by Sidnei. SQLScripts themselves are not stress-tested yet, but their 
innerworkings are just a port of the Zope 2 code.

> > Using SQLObject, relational data meets Zope3 as content objects. You can
> > use simply use Zope3 schemas to describe your data (shouldn't be too
> > hard to model those when you've already got a relational schema ;)) and
> > you can, of course, register views and adapter for those objects just
> > like they were persistent...
> I'm sure this will all mean something to me once I grok Zope 3.

Basically he is saying that you simply write schemas (interfaces with fields 
describing attributes) and Sidnei's code will create content objects of those 
interfaces that are stored in a RDB.

> Which raises another question: is it worth re-implementing RDB intergration
> in Zope 2, or is Zope 3 close enough now that it shouldn't be bothered
> with?

I don't think this is necessary. Zope 2's integration is not that bad at all. 
The worst thing about it is really that every DA has a different connection 
string. We have fixed that in Zope 3 by introducing a universal syntax.

Overall, I think the RDB story in Zope 3 is in good shape. 

Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training

More information about the Zope-DB mailing list