[ZDP] Zope hierarchy

Tom Deprez Tom Deprez" <tom.deprez@village.uunet.be
Tue, 18 May 1999 15:52:16 +0200


Lot's of questions! But once I understand them,... A great deal will be
written down in our ZBook!

Can some Zopist (or all)  help me on this :

When programming OO, all object descent from a parent. I guess that this is
the same with Zope and thus Python. I was browsing through the '.py' files,
but I don't understand much from it; therefor these questions.

Zope has several products : DTML Document, DTML Method, External Method,
File, Folder, Image, Mail Host, User Folder, Version, Z Gadfly database
connection, Z SQL Method, Z Search Interface, Zope Draft. To this, new
products can be added, e.g. Z Classes, Python objects?

Seeing at ZClasses, I can find this hierarchy :

A simple ZClass descents from ZObject.
If you want a ZClass which can contain several things, you have to descent
from ZObjectManager.

Thus, the hierarchy is :

!                     !
normal        ZObjectManager
ZClass                    !
                        container ZClass

Can I assume that the other products (e.g. DTML Document) is the same as a
ZClass? So that it descents from ZObject? (thus DTML Method is a ZClass?)
Where can we place these products in the hierarchy?

Reading the documents, it's sometimes very confusing to see words like Bobo
(=Z ORB, ZTemplates, ZODB) , Gadfly (??), Principia (=Zope?), Catalog,
ZTables, ZODB3 (What's difference between ZODB3 and ZODB). I think they are
incorporated (or going to be) into Zope.  Can we say that it are products of
Zope? Where to place them in the hierarchy above? I want to place them in a
correct manner (schematic overview) in my mind for the rest of my life.

How can this be done ?

Another schematic overview I want to make is :

A ZORB searches for the object into the ZODB (Object database). But then?
What happens if the object is a folder? Is a SQL Method? e.g. I browse to a
folder object... The ZORB searches for this folder object in the ZODB. If it
finds it, it looks for the index_html. In the index_html a #in tag is used
to iterate trough the results of an SQL result. (Thus the ZODB then searches
for the ZSQL Method in the ZODB ???)

How can I represent the ZODB?

Please, reply. Otherwise I can't get further with ZBook. Thanks!