Zadání na vývoj v ui42 bylo jednoduché: Vytvořit PHP skript, který vygeneruje OpenOffice dokument na základě vstupní šablony a vstupních dat.
OdtPHP verze 1.0
Zkusil jsem na webu najít nějaké jednoduché řešení. Zkušenosti s generováním dokumentů, i ve formátu ODT, jsem už měl, ale chtěl jsem najít něco specifičtějšího. Narazil jsem na knihovnu odtPHP. Byla ve verzi 1.0 a neměla tedy za sebou velkou historii. Objektově orientovaná knihovna pro PHP 5 a vyšší. Řekl jsem si, že konečně něco nového, co si sebou netlačí kopu problémů pocházejících z nižších verzí programovaných v PHP 4, případně nižší, a má tedy šanci na úspěch. Knihovna měla v té době úhledně zpracovaný web s malým tutoriálem v příkladech. Některé knihovny nemají ani to. Celá knihovna byla jednoduchá, ale celkově to navozovalo dojem, že nové verze přinesou mnoho zajímavých funkcí. Autoři na webu slibovali: „OdtPHP je velmi jednoduchá na použití: s minimálním množstvím kódu vytvoříte jednoduché dokumenty nahrazením tagů v šabloně a vložením obrázků.“ A nebyly to jen sliby. Použití bylo opravdu jednoduché. Netrvalo dlouho a úkol byl splněn.
Rozšíření OdtPHP
Později přišly od klienta ui42 další požadavky. Potřeboval doplnit do šablony podmíněné bloky, proměnné různě formátovat, a další drobnosti. OdtPHP je velmi jednoduchá knihovna. A to nejen co se použití týká, ale i po ostatních stránkách. Na nově požadované funkce už jednoduše nestačila. Splnění nových požadavků se tedy neobešlo bez úprav knihovny. Nebyl to ale velký problém – knihovna ve verzi 1.0 už jen z principu nemůže mít překomplikovaný kód, a rozšířit ji o nové funkce není pro dobrého PHP programátora problém. Samozřejmě případný upgrade na novější oficiální verzi knihovny je potom ztížený.
OdtPHP už skončilo
Teď, s odstupem jednoho roku jsem se rozhodl znovu podívat na zoubky OdtPHP knihovně. Jen tak ze zájmu, co zajímavého přinesly nové verze. Mým nemilým překvapením bylo, že web www.odtphp.com už nefungoval. Nepodařilo se mi najít ani web, kam se OdtPHP přestěhovala. Nepodařilo se mi najít ani žádnou informaci o ukončení vývoje. Ale vše nasvědčuje tomu, že vývoj skončil, přesněji ani nepokračoval. Knihovnu je stále možné stáhnout na sourceforge.net (http://sourceforge.net/projects/odtphp/). To je vše, co po ní zůstalo.
Poučení
Pokud se rozhodnete při vývoji webů nebo webových aplikací použít open source knihovnu, která za sebou nemá delší vývoj, počítejte, že časem se mohou dostavit problémy, některé části si možná budete muset upravit nebo doprogramovat podstatné části kódu. Po těchto úpravách bude upgrade na novou verzi ztížený, pokud ne nemožný. Pokud samozřejmě nové verze přijdou. Neočekávejte podporu od autorů. Na druhé straně, knihovna může být dobrým základem pro vaši novou knihovnu ušitou na míru. Kód nebude možná tak překomplikovaný a úpravy půjdou lehčeji. V každém případě je potřeba použití knihovny s krátkou historií dobře zvážit.
Na konec už jen dodám: OdtPHP je velmi jednoduchá na použití. A za tím si stojím – neznám žádnou jinou PHP knihovnu, s pomocí které bych věděl rychleji vygenerovat ODT dokument podle šablony. Tedy pokud se bavíme o jednoduchých šablonách. Ale pro mnoho webových aplikací to může být postačující.