[Zope] Which docs am I missing?

Stefan Hoffmeister Stefan.Hoffmeister@Econos.de
Tue, 19 Oct 1999 15:06:00 +0200


It seems as if I am missing quite a bit of documentation. I have

  DTML, ZAG, ZCMG, ZDG

(just the archive names) and tried to read about everything that is
relevant to "plain" DTML (seems to be limited to DTML, ZCMG).

But then I run into 

  "Zope Quick Reference"

which is quite massive and all very fine - the problem just is: where is
the more elaborate counter-part to this *quick* reference, with all the
explanations?

Essentially I am looking for documentation on "techniques" - ways of how
to do things. Now, there are quite a few of HOWTOs. But unfortunately most
of these HOWTOs appear to demonstrate higher-level concepts.

Take, for instance,

  <dtml-with Images>
    <dtml-in "objectValues(['Image'])">
       <dtml-var sequence-item>
    </dtml-in>
  </dtml-with>

which I found in the archives for this mailing list. Given the current
"official" documentation, how could I have found out an explanation of
what

    <dtml-in "objectValues(['Image'])">

does (ignoring the problem of how to find objectValues)? The only place I
have found "objectValues" mentioned is

"For example, to display all sub-objects of a folder, the objectValues
method may be used (figure 13)."

Sure, so what? What's this "Image" thing? Apparently it is an index into a
Python list which returns a list of all images in the current folder? Name
space? What else is there? Well, the "Entire Zope FAQ" (FAQ!) says

"You can however, specify a list of object metatypes that it should
return. objectValues(['DTML Document']) will only return all DTML Document
objects in a Folder. Other metatypes you could select on are: Folder, DTML
Method, File, Image, Mail Host, User Folder and Session."

Do you see my problem? When I *have* something, I can *backtrack* this to
at least some bits and pieces of information - although the only way to
find it is a grep, which is as brute-force as it can be. But where is the
documentation that "looks forward", that helps me to find out how to write
"original" code? Reverse-engineering may be fun, but it's a bit
time-consuming for my taste?

Thanks for any pointers!