[Zope-ZEO] Advice

Greg Ward gward@mems-exchange.org
Thu, 21 Sep 2000 08:23:40 -0400


[I crudely slag Zope]
> One of the reasons our group is moving away from Zope is that it has
> very poor support (if any) for the development/staging/live model.  We
> like this model.  We think it's a good thing.  But sync'ing code across
> multiple Zope installations is a royal PITA.

[Jim steps in]
> I'd like to hear more about the problems you've had and how
> you overcome them in a different system.

Personally, my gripes with Zope boil down to one fundamental
disagreement:

    code != data

IOW, I don't think my source code -- specifically, DTML methods and
documents, but also all the other stuff that make up a Zope web
application -- should be put into a big opaque database.  Source code
belongs in the filesystem, because stuff in the filesystem can be:
  * version-controlled (RCS/CVS)
  * grep'ed
  * edited with a real editor
  * rsync'd

...and other things you typically do to source code.

> > And no, versions are *not* the answer.
> 
> Well, they are a pretty good answer for lots of applications
> in my experience.

I suspect Zope is very good at content management, which I understand is
what it was designed for in the first place.  Zope's model is that
content (data) is king, and logic (code) is ancillary and not very
important.  (If you can't version control it or grep it, how important
can it be?)  The model that makes sense for application development is
that code is king, and it exists to present a web interface to a
database.

In my experience, Zope is not very good at application development,
because it doesn't let you do the natural things programmers like to do
with source code.  (Also, DTML is a pain in the neck, but that's a minor
problem compared to the fact that it's locked away out of the reach of
grep/emacs/rsync/cvs/etc.)

Of course, the database that our code serves up is a ZODB/ZEO beast,
which is why I'm on this list!  There are many very cool bits and pieces
of Zope, and ZODB/ZEO are probably the coolest.

        Greg
-- 
Greg Ward - software developer                gward@mems-exchange.org
MEMS Exchange / CNRI                           voice: +1-703-262-5376
Reston, Virginia, USA                            fax: +1-703-262-5367