[Zope-DB] instant DB access

Charlie Clark charlie@begeistert.org
Thu, 24 Jul 2003 21:33:24 +0200

On 2003-07-24 at 21:03:38 [+0200], Michael Teter wrote:
> Howdy.
> Warning, this may sound whiny.
maybe not quite whiny.

> Zope seems like a great, well thought-out product.  But why, after it 
> existing so long, is it still a chore to figure out and setup database 
> access for it?

I think those who've put so much work into Zope will take that as a 
compliment! In fact Zope had grown organically and survived the stresses 
and strains of this growth pretty well. There are murmurs that the RDBMS 
subsystem isn't quite as good as it might be. As for RDBMS being a chore 
under Zope, well it's as much a chore with other systems.
> For example, I want Zope to run on Linux and access my existing 
> PostgreSQL database.  From what I've read, to make that happen I'll have 
> to download the source version of PostgreSQL, in addition to some 3rd 
> party tools or libraries.

You will need Zope, PostgreSQL, a Python driver for PostgreSQL and the 
corresponding ZopeDA. It is standard practice to need database sources to 
compile the driver although some binaries may be available. This is not a 
Zope issue. If you you are running any kind of Un*x including Linux this 
should not be foreign to you. I'm not a heavy Un*x user and I've managed it.
> Considering how polished Zope seems to be, this roll-your-own database 
> access seems rather raw, unfinished.  It would be nice to be able to 
> download and install a plugin (or whatever it's called in Zope) that 
> would give me instant database interoperability with Postgres (as well as 
> plugins for other DBs).

Zope does, of course, come with two databases: the ZopeDB and Gadfly. So 
that instant access is available.

The main reason for other DAs not being available is maintenance and 
support. There are, however, lots of well supported, including some 
commercial, Python driver / ZopeDA combinations.
> I'll get my hands dirty if I have to, but it seems like a big shift in 
> level of detail compared to the simplicity and completeness of Zope 
> itself.

You have to get you hands dirty with Zope just like you have to with any 
kind of application development. Luckily the muck is Python so you've a 
chance of actually seeing what you're doing. Zope provides an awful lot of 
functionality that is more or less ready to use and much, much more than 
the CMS competition. It's free and Open Source and you have to understand 
that that means no one is responsible for it apart from yourself. There are 
warts and gremlins in there, make no mistake. Luckily on most of the 
mailing lists there are people willing and able to help.