V poslední době jsem ve svém okolí často slyšel požadavek vývoje vlastního redakčního systému. Zejména internetové obchody a zpravodajské portály mají požadavky, které se těžko konfigurují v univerzálních CMSkách, jako jsou Joomla, Drupal, Typo3 nebo Wordpress.
Existuje nespočetné množství CMSek, což jen dokazuje, že naprogramovat velmi jednoduché CMSko zvládne i průměrně zdatný php programátor. To svádí k myšlence vývoje vlastního. Za tím však jsou úskalí na první pohled ne zcela zřejmé. V první řadě je třeba říci, že každý, kdo se už pustil do psaní vlastního redakčního systému potvrdí, že je to především velká časová investice, a to i tehdy, když nechybí chuť a nadšení.
Čistota - polovina života programátora
Doslova minovým polem při vývoji CMS je neustálá modifikovatelnost kódu. O psaní "čistého kódu" bylo napsáno mnoho příruček, ale uplatnit tyto doporučení v reálném životě je něco úplně jiného. Není umění naprogramovat aplikaci podle konečného seznamu požadavků, podle předem schválené specifikace. V praxi to však funguje tak, že aplikace se vyvíjí za pochodu a většinou ne jedním programátorem. Právě to je důvod, proč i mnohé zkušené programátorské komunity přestaly vyvíjet své CMSko.
Další pastí bývá bezpečnost. Čím větší web, tím zajímavější potenciální terč útoku. Bezpečnostní update aplikací na serveru si někdy vynutí i změny v kódu CMSka. Zjednodušeně řečeno, každé CMSko si žádá jist, a to i tehdy, když se už nové funkce do něho nedodělávají.
Problémů přibývá
Pro každý web je důležité, aby ho uživatelé uměli najít a aby na něm uměli najít to, co je zajímá. Mluvím o optimalizaci pro vyhledávače a o vyhledávání na stránce. SEO-m se dnes zabývá kde-kdo, ale udělat v CMS funkčnost pro generování "hezkých linků", meta údajů, validního kódu není hračka, ačkoliv na první pohled se to tak může jevit. Má se přegenerovat URL, když se změní název stránky? Pokud ano, jak najde vyhledávač indexovaný obsah na nové adrese? Nesníží se tím pagerank stránky? - jsou jen začátkem nekonečné řady otázek. Naprogramovat vlastní vyhledávání na stránce je ambiciózní, ale vzhledem k tomu, že na jednom vyhledávacím řádku zobrazujícím jak-tak relevantní výsledky postavil Google svůj miliardový byznys svědčí o tom, že udělat dobré vyhledávání možná opravdu není triviální. "Google Custom search" ne každému vyhovuje - důvody jsou různé.
Komu se vlastní CMS vyplatí
Nevýhod spojených s vývojem vlastního CMS je daleko více, ale vlastní redakční systém má i mnoho výhod. V první řadě je to nezávislost. Bez ohledu na to, zda CMS vyvíjejí interní zaměstnanci nebo externí firma, pokud existuje dokumentace, kdokoliv může kdykoliv pokračovat ve vývoji. Další výhodou je možná konkurenční výhoda vyplývající z toho, že do vlastního CMS může být přetaveno know-how firmy a pracovní procesy takovým způsobem, který by možná nebyl realizovatelný u univerzálního CMS. V neposlední řadě je to finanční hledisko - odpadá investice do nákupu licence nebo pravidelná platba za licenci.
Kdybych to měl nějak shrnout, myslím si, že současné redakční systémy jsou čím dál komplikovanější aplikace, jejichž údržbu a případný vývoj si může dovolit jen málokterá firma. V praxi by většině těch, kteří "potřebují" vlastní CMSko, stačilo lépe využití již naprogramovaných redakčních systémů a jejich modulů.