Tabulka technologií Zope v minulém dílu seriálu byla stručným přehledem. Některé pojmy z této tabulky si zaslouží bližší vysvětlení:
ZODB
ZODB je centrální datové úložiště pro aplikační server Zope. Poznáte ho snadno: v adresáři, do kterého jste nainstalovali Zope, je to soubor var/Data.fs. Tento soubor vidíte přes webové rozhraní (ZMI) jako soustavu složek (Folder), které obsahují instance výše uvedených typů (ZPT, Python Script, External Method, ZClass, DTML, ZSQL, ZCatalog).
ZMI
Zope se ovládá přes webový prohlížeč. Program, který to zajišťuje, se jmenuje Zope Management Interface (ZMI). Takže věta „Vložte obrázek přes ZMI“ znamená vlastně „Pomocí vašeho webového prohlížeče vložte obrázek do Zope.“
Skripty v Pythonu
Logická příprava dat pro prezentaci. Zpracování dat. Skripty v Pythonu jsou normální programy v jazyce Python. Jsou uloženy v objektové databázi ZODB. Mají přímý přístup ke všem datům uloženým v ZODB, vč. ZCatalog a REQUEST. Nemají přístup do souborového systému a nemohou přímo volat žádné externí programy. Hlavní výhoda: možnost modifikace programu skrze webové rozhraní. Vhodné pro krátké a středně velké programy v Pythonu.
Externí metody
Plní stejné úkoly jako Skripty v Pythonu. Jsou uloženy v souborovém systému. Mají přístup do souborového systému a mohou přímo volat libovolné externí programy. Vhodné pro středně velké a rozsáhlé programy v Pythonu.
Produkty
Produkty jsou hotové prvky, které mohou sloužit jako stavební prvky (prefabrikáty) pro vaše aplikace. Produkty jsou většinou normální Externí metody doplněné o šablony, skripty v Pythonu, případně metody DTML, a obsahují povinná inicializační zaklínadla, která se postarají o bezešvé začlenění produktu do Zope a do ZMI. Produkt tedy transparentně rozšiřuje Zope o nové funkce. Uživatelé produktů jsou aplikační programátoři. Tvůrci produktů jsou jiní, zkušenější aplikační programátoři. Produkty si může větší softwarová firma vyvíjet pro svou potřebu a pro ulehčení programování, nebo je může distribuovat a prodávat.
ZClass
Technologie ZClass byla původně navržena pro doplnění objektově orientovaného programování do jazyka DTML. Dnes se DTML už pro programování nepoužívá, a proto technologie ZClass v této roli jen dosluhuje – zajišťuje slučitelnost starších programů pro Zope. Dnes se používá především pro rychlý návrh aplikací a vyzkoušení koncepcí, které se pak přepisují do Skriptů v Pythonu nebo do Externích metod.
Verze
Populární funkce Undo (krok zpět) je díky technologii Verzí dotažena do pozoruhodné hloubky. Neomezený počet kroků Undo a Redo, automatické citování jména uživatele a času změny, možnost vracet krok uprostřed historie změn bez vracení předchozích kroků a možnost porovnání dvou historických verzí, to vše přes web.
Získávání
Získávání zrychluje, zlevňuje a zjednodušuje programování dynamických stránek. Jednotlivé prvky není nutné kopírovat na všechna místa, kde je potřebujete. Stačí mít prvek v nejvyšším bodě (invertovaného) stromu adresářů. Tato technologie byla popsána v minulých dílech seriálu.
Překrývání technologií
Použití některých těchto technologii se překrývá. Například jazyk DTML se dlouho používal jako logický i prezentační jazyk a dodnes jej tak můžete používat. Jeho použití by ale mělo být omezeno jen na údržbu starých projektů. Pro prezentaci máme šablony a pro logiku se Python hodí mnohem víc než DTML.
Překrývání technologií je určitým nedostatkem Zope. Vždyť filozofie jazyka Python (základní kámen Zope) vždy byla protikladem přístupu jazyka Perl. Když se zeptáte na řešení nějakého problému v Perlu, často uslyšíte zkratku TIMTOWTDI (There is more than one way to do it – dá se to udělat více metodami). V Pythonu by mělo platit, že je jedna metoda, která je pro řešení nejlepší. Metodami zde myslím jednoduché problémy jako načtení obsahu souboru, ne složité probémy jako webserver nebo CAD. Takové jednoduché problémy by skutečně měly mít jedno nejrozumnější řešení. Zope následkem překrývání technologií způsobuje určitou regresi směrem k filozofii Perlu.