[clug] Python/Zope/CMF/Plone

Gough, Chris Chris.Gough at cit.act.edu.au
Thu Aug 12 09:24:33 GMT 2004

> George Bray wrote (on 12 August 2004 1:43 pm)
> Gday cluggers.
Hi there George

> I don't know much about Python but it looks very "objecty" which is 
> good, however it seems its internal database isn't as easy to work with 
> as, say, MySQL. Guess I'm having trouble thinking different here.

There is no "internal database" in python, just native collection types:
lists (arrays), tupples (immutable arrays), and dictionaries (associative
arrays). There are python modules for connecting to all kinds of databases
(like every other scripting language I have used). Most uses of python are
outside Zope - it's a popular language in it's own right.

I think you are referring to ZODB (Z Object Data Base), which is the
persistence mechanism for ZOPE. It's a ZOPE thing, not a python thing. From
a python script, a ZODB looks like a dictionary, and there are various back
ends for it (file system or RDBMS). I've never used Plone, but from the Zope
perspective web requests translate into method calls (which are themselves
objects, like everything else). The objects persist in the ZODB (behind

These methods _can_ execute arbitrary python code, including talk to any
database, but to enjoy using Zope you really have to embrace the Zope way of
doing things - thinking in terms of web requests that execute scripts that
communicate with a database doesn't help. ZODB suffers from the same problem
as every object database - It's fine while you are chasing references about
the place from object to object, but it's hard to look at sets in arbitrary
ways like you can with a relational database.

My (limited) experience with Zope is that if you can see an easy way with to
do it, then it's very, very easy. When i can't see the Zopeish way to do it,
i think probably would still be easy if only i could think the right way.
Perhaps the biggest drawback with Zope might be finding good a mentor /

Chris Gough

 This email, and any attachments, may be confidential and also privileged.
If you are not the intended recipient:
Please notify the sender and delete all copies of this transmission along
with any attachments immediately.
You should not copy or use it for any purpose, nor disclose its contents to
any other person.

More information about the linux mailing list