Hlavní navigace

Šablony stránek pro Zope: dokumentace

Miloš Průdek 13. 6. 2003

V dnešním pokračování se budeme ještě chvilku věnovat obecným doporučením. Ukážeme, jak hledat ve značně zpustlé a nesourodé dokumentaci Zope a zachovat si přitom zbytek porostu na hlavě.

Jakou technologii použít?

Často se můžete ocitnout před problémem, který lze vyřešit pomocí tří technologií: DTML, Skripty v Pythonu aExterní metody. Obecně se jedná o všechny problémy nebo zadání, které jsou logického charakteru a vyžadují si skutečný programovací jazyk (na rozdíl od prezentace, kterou byste měli řešit pomocí šablon ZPT). U takových problémů a zadání byste měli zavrhnout jazyk DTML (ať hnije na propadlišti dějin) a podle velikosti projektu se rozhodnout pro Skripty v Pythonu (u menších programů) nebo Externí metody (u větších programů). Obě tyto technologie se realizují v Pythonu a není problém je v rámci jednoho webu kombinovat. Skripty v Pythonu jsou jednak pohodlnější díky možnosti ovládání přes web, jednak bezpečnější (není přístup do souborového systému, „nebezpečné“ knihovny jsou zakázány). Externí metody jsou mocnější (můžete používat všechny knihovny a máte plný přístup do souborového systému), ale musíte dávat větší pozor na případné bezpečnostní mesaliance.

Hledání dokumentace

Bez kvalitní dokumentace se v profesionální práci neobejdete. V minulosti nebyl aplikační server Zope v této otázce vzorem všech ctností. Nejdřív neexistovala žádná dokumentace. Pak něco málo sepsali programátoři, ovšem nebylo to moc čitelné ani pochopitelné. Pak najali slečnu, která tomu dala řád a nesrozumitelné se záhy stalo snadno pochopitelným. V poslední době bohužel opět dokumentaci píší lidé, kteří tráví většinu času programováním. Tak vznikla základní literatura o Zope, tzv. Zope Book. Hlavním autorem Zope Book je v současnosti Chris McDonough, který knihu doplnil o mnoho nových kapitol a intenzivně pracuje na jejím zkvalitnění. Chris ale věnuje knize jen čas, který nemusí trávit programováním.

Zope Book je dnes velmi kvalitním zdrojem informací. Její snad jedinou, ale podle mého názoru vážnou chybou jsou chybějící příklady. Zvlášt nepříjemné jsou chybějící příklady v referenční části. Programátoři – autoři Zope se domnívají, že syntaktické definice jsou dostačující a příklady jen překážejí v pochopení. Aplikační programátoři, kteří se teprve seznamují se Zope, by ale prodali vlastní sestru do nevěstince za více příkladů v referenční dokumentaci. Dokonce i  Chris McDonough se domnívá, že by více příkladů prospělo, ale nemá čas je psát, protože má i jiné úkoly. Proto umožnil čtenářům on-line verze Zope Book doplňovat komentáře, které jsou pak čas od času integrovány do knihy (nepříliš často, asi jednou za 6 měsíců).

Když hledáte příklady programů pro Zope, nezbývá než obrátit se na jiné zdroje. Nejlepším zdrojem na webu je zopelabs.com s mnoha „recepty“ roztříděnými podle technologií (DTML, Skripty v Pythonu, Externí metody atd.). Všem vážným zájemcům o Zope ale silně doporučuji stáhnout si archivy emailové konference zope, a to alespoň od počátku roku 2000, protože bohatší a spolehlivější zdroj informací prostě nenajdete. Připravte se na to, že budete mít dotazy, které pomocí Zope Book nevyřešíte. Pak se přihlašte do konference zope, ale střezte se položit dotaz, zodpovězený v minulosti. Budete odkázáni na výše zmíněný archiv – a právem.

Nedokumentované funkce

Některé důležité funkce Zope nejsou zdokumentovány, nebo jsou dokonce zdokumentovány špatně. V předchozí kapitole jsem uvedl, že Zope Book umožňuje vkládání komentářů dokonce i anonymním uživatelům. Můžeme si tak přečíst, že už 20. června 2002 anonymní programátor upozorňuje, že „funkcemanage_ad­dDocument by se měla nazývat manage_addDTMLDo­cument! Když použijete funkci manage_addDocu­ment, přidáte metodu DTML, nikoliv dokument DTML…“

Čas běží a nic se nemění. 10. ledna 2003 jiný programátor doplňuje, že „funkce manage_addDocu­ment vytvoří metodu DTML a funkcemanage_ad­dDTMLDocument vytvoří dokument DTML. Přitom v dokumentaci se tvrdí pravý opak a v knize Zope Book se nic nezměnilo, i když první upozornění na problém se objevilo před šesti měsíci.“

Jisté funkce nejsou vůbec v dokumentaci uvedené, i když jsou to zcela klíčové, nezbytné funkce. Například bez funkce manage_delObjects nemůžete žádný objekt smazat. Přesto nebyla zatím zdokumentována, i když první komentář upozorňující na tento problém je z 13. září 2002.

Když tedy máte pocit, že vám v Zope chybí nějaká funkce, a nemůžete ji najít v oficiální dokumentaci (Zope Book), nezoufejte. Podívejte se do archivu konference zope nebo na web zopelabs.com. Ta funkce tam pravděpodobně je, ale ukrývá se :-)

Doufám, že vás nenudily obecné informace posledních několika dílů. Snažil jsem se předat nejen nadšení pro Zope, ale i upozornit na přetrvávající nedostatky. Vím, že mnozí lidé Zope opakovaně zkoušeli a vzdávali. Frustrace z nedostatku dokumentace a potíže způsobené velkým objemem materiálu, který je nutné pochopit pro efektivní práci v Zope, odrazují mnoho programátorů. Přesto věřím, že s každým novým pokusem bude pro vás Zope pochopitelnější, jak se vám postupně rozhrne jedna opona za druhou. V příštím pokračování už se budeme opět plně věnovat šablonám ZPT.

Našli jste v článku chybu?
Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Root.cz: Kamery Sony se dají ovládnout na dálku

Kamery Sony se dají ovládnout na dálku

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU