Tue, 19 Dec 2000 17:41:34 +0100
The last couple of months I developed a dynamic website in Zope.
You can take a look: http://www.joods.nl/, but be warned: it's Dutch.
I used Zope 2.1.6 with python 1.5.2 on Debian Linux 2.2r2.
While developing in Zope should be fast, unfortunately, it was not.
Some minor things, which would be no problem in any other
language, took me hours to do in Zope.
Here is a list. I'm sure some things are already solved in the newest
version of Zope. I'm posting this list not to offend, but to help you
improve the system.
1) When I make an error in an DTML-page, all my changes are
lost! This is really frustrating. And unnecessary.
2) Variables with a minus-sign in it! Who came up with that?
Now I have to write <dtml-var expr="_['sequence-length'] > 10">.
3) sequence-start is only valid at the beginning of <dtml-in>.
This really limit it's use, for example to print a 'previous'-button
on the bottom of the page.
4) Zope has an Image object, but you can't ask for the width and
height (which should be trivial).
5) You can use <dtml-var myImage> to show an image. But it's
not possible to set border=0, which is also trivial.
6) I invested some time to learn ZClasses. Only to find out the
query-features are very poor, which made it useless to me.
Now I only use 'real' databases.
7) The <dtml-let> tag is nested. So how can I remember a value
I discovered in an <dtml-in> loop?
8) I made a big HTML-form to post and edit articles.
To make a form to edit an article, I used:
<form..>Big form here</form>
But how can I use the *same* big form for a new article?
I think putting the form in another file (as I did) is not the right solution.
9) I consider this a bug: <dtml-var expr="objectValues()">
gives the value HTML-quoted. Very strange.
10) It's pretty hard to use a checkbox in a form. Browsers don't
submit unchecked checkboxes, which result in Key-errors.
Writing wrappers for every checkbox is an ugly way to solve this.
11) Some dates in my (MySQL) database are "0000-00-00 00:00:00".
I couldn't find a way to handle this in Zope. All I got was errors.
Even putting the code between <dtml-try> tags didn't solve it.
12) Zope's homepage says: "Zope enables teams to collaborate...".
But Zope doesn't provide tools to prevent users editing the same
document at the same time. Check-in and -out mechanisms are
really important in "collaborating teams".
13) Zope inserts a <base href=".."> tag in every page. Because I
put Zope behind a Apache proxy, this is really horrible. I still couldn't
find a way to turn this off.
14) I saw the documentation has improved last week. Unfortunately
it was too late for me. It was (excuse me) really bad. I hope someone
with teaching-skills will rewrite the text.
15) I and someone else tried to install the MySQL database adapter
under Red Hat Linux. Using detailed instructions and common
sense didn't help. Fortunately, installing under Debian was much
easier. I thinks many others will not change their Linux distribution
or database system and just forget about Zope.
I hope some day we will have a open source content management
system that can compete with the commercial ones.
The world is moving so fast these days that the person who says
it can't be done is generally interrupted by someone doing it.
-- Harry Emerson Fosdick
Surf Edwin Martin's brainwaves: http://www.bitstorm.org/edwin/