[Zope] DTML Syntax contd. + rant

Martijn Faassen m.faassen@vet.uu.nl
Thu, 11 Nov 1999 20:55:45 +0100


Don Porter wrote:
> 
> On 11 Nov, Martijn Faassen wrote:
> > In general something like this would make you lose the split between
> > layout/templating issues (DTML) and more sophisticated programming
> > issues (Python). Zope's idea is to keep them separate.
> 
> If that is the case, then I think some of the introductory material
> describing Zope ought to make that clear.

I do think there *is* documentation that states this. Now where was it
again..

> When first examining Zope,
> I received the impression that knowledge of Python really wasn't
> necessary to use Zope.  One document which gave me that idea was
> 
>         http://www.zope.org/Resources/QA

But Zope users without lots of Python knowledge *can* use Zope for quite
powerful things. Just with acquisition, HTML, and properties, and some
limited DTML can get quite far. Especially if you use powerful products
like Squishdot.

> It seems to me though, that trying to make powerful use of Zope
> without learning and using Python is what takes us into the dark
> corners of DTML which are so difficult to use. 

To do even *more* powerful things with Zope, you can use Python. And
using Python is far far nicer than the dark corners of DTML, too.
Unfortunately it is very tempting for everybody to press DTML into
service it isn't intended for. That is why DTML has been developing in
ways that make even its 'simple' subset have dark corners. That is what
I was ranting about.

It should be easier to use Python with Zope. PythonMethods promise a lot
there. It should also be clearer when *not* to use DTML.

> As someone trying to
> use Zope, I feel as if I've been misled.  I may not be justified in
> feeling this way, but if the Zope creators want to hear voices from
> a frustrated newbie perspective, this is one of them.

I don't think you have been misled. Zope with DTML only is quite
powerful.
 
> While I'm on the soapbox, another thing about Zope which irks me is
> its gratuitous inconsistencies.  I can't apply what I learn in one
> part of Zope to another part.  In Folders, I can use "objectValues"
> to get a list of the objects contained in the folder.  When I want
> to iterate over the Users in a User Folder, though, "objectValues"
> doesn't work.  You have to go searching through the ZQR to see that
> you must use "getUserNames" instead.  What's up with that?

Good question. I don't know about this one. I must say that in many
cases the inconsistencies are absent and things do behave according to
nice protocols in Zope. But Zope is obviously a work in progress.
Perhaps you can list the inconsistencies you encounter and work with
others to eliminate them, or at least document them?
 
> My grump pill should be wearing off soon...

I hope so. :)

Zope can be frustrating, but also tremendously rewarding. The rewards
outweigh the frustrations manyfold in my opinion. But frustrations are
frustrations, and so we'll work to get rid of them.

Regards,

Martijn