[Zope] Why Not Zope? 'Cos I like to bitch! ;-)

Andy McKay andym@ActiveState.com
Thu, 30 Nov 2000 14:18:57 -0800


> > Hi guys,
> > I found this article written by someone from Quixote concerning Zope,
> > describing its weaknesses and possible future development
> > http://www.amk.ca/python/writing/why-not-zope.html
>
> This guy is quite far up his own arse :-)

I agree and Im just agreeing with what Chris said but putting it in a
different way.

His main arguement here seem to be that building complicated stuff in DTML
sucks. He's right it does, but you shouldn't be building big complicated
stuff in DTML (as Chris says).

We almost exclusively write our code in python which means:
-    you can grep it
-    you can use CVS
-    you can write any test suite you like

For most small applications DTML can suffice, but when it gets large you
should separate your code the way its intended, DTML is for simple logic and
presentation ONLY. Whilst PythonMethods are cool, I would naturally stray
away from them for the above reasons for anything longer than about 5 lines.

The heavy lifting, logic and anything more should be in python. I won't
pretend its particularly easy Zope hurt quite a lot some times, but we got
there..

> It's probably more useful to work around the problems he describes
> rather than bitching about them and telling people not to use Zope:
>
> The 'no grep' is probably the most serious of his points. You can easily
> get around it though, by using a ZCatalog. Admittedly, a decent search
> and replace interface (which I'm plugging for on zope-dev ;-) would be
> really nice (Zope 3? ;-)

We actually tried cataloging the dtml... and it didnt work. This can be a
pain I agree.

[..]
> The test suite stuff is true for any web application, as has been
> discussed on the XP lists (so I'm told ;-) That said, there's ZUnit and
> PyUnit now, so I'm not sure that his opinion on this is valid at all.

You can write a your own test suite and for most web applications thats what
people do.

> His comments about DTML are all valid, but it's a choice he'd made to
> write logic in DTML and he's a fool for doing so. IMNSHO, all 'logic'
> should be kept in python and you should never need to use the "" in a
> DTML tag.
[..]

Hear, hear. As above, the "" is useful though...

[..]
> Yes, it can be confusing, but maybe you should just write
> code which doesn't make assumptions about variables, or handles the
> cases when they're not there. The same is true of acquisition and the
> namespaces concepts, maybe with better documentation, people like him
> wouldn't have such problems.

To me you should "never" make the assumptions you suggest regardless of the
environment...

> Zope's built in FTP server is one of it's huge stengths, IMO. He hasn't
> realised this and so bitches about it. You can always turn it off you
> know! Likewise the HTTP server, run Zope as a CGI if you must! :P

"Apache already exists and is highly flexible and configurable" of course it
is, use it if you want, grrr..... TMTOWTODI.

More comments I would like to argue with:

"it's not apparent that DC is quickly responding to fixes."

I think DC and this group are great at responding to fixes, especially
anything serious or security related. Ok there are still a few bugs out
there that havent quite gone yet, but everybody has been great. The good
community spirit for me is one of Zope's strengths.

"Object traversal is complicated since objects can affect how they're
traversed"

And again this is bad for what reason. More power to us I say.

Thats it.
--
   Andy McKay, Developer.