24.11.2014

Webové stránky a redakční systémy

Tvorba webových stránek

Redakční systemy – CMS. Slouží k editaci webových stránek a prezentaci obsahu. Dnes jsou standardní součástí většiny nově tvořených webů. Data jsou uchovávána v databázi a lze s nimi pracovat pomocí vloženého administračního rozhraní. Šablony slouží ke grafické prezentaci dat uživateli, který zjednodušeně řečeno vidí běžnou webovou stránku. Předpokládám, že jste se s nějakým setkali a soustředím se dnes na porovnání tří nejznámějších opensourcových z pohledu tvorby webových stránek, mého zákazníka a správce vlastní webové stránky. Jsou to Joomla, Drupal a WordPress. Budu trochu neobjektivní a na zavěr vysvetlím proč. Vezmu to v pořadí, v jakém jsem se s nimi seznámil a používal pro své zákazníky.

CMS Joomla

tvorba webových stránekJoomla – nemám jí rád. Čím vice stránek jsem v ní udělal, tím více rostla moje nespokojenost. Nevím jak dnes, ale před lety bylo težké v ní udělat web a předat jej zákazníkovi, aby si ho dále spravoval sám. Myslím po obsahové stránce. Celá koncepce s moduly, pluginy, sekcemi a kategoriemi byla tak složitá, že i pro mne bylo často těžké najít v obsahlejsim webu po nějaké době určitý článek, nebo část textu a provést požadované úpravy. Co teprve uživatel? I ti technicky zdatnější a proškolení mě po čase žádali o úpravu obsahu s tím, že si  nepamatují jak to provést. Možná je to věc názoru. Setkal jsem se s tvrzením, že je Joomla intuitivni. Podle mne není. Uzavřené a netvárne moduly a komponenty, které bylo pro dosažení požadované funkčnosti hackovat a  spousta předražených tzv. komerčnich komponent, na které pak hledá nešťastný kupec specialistu, aby mu je přizpůsobil. Joomla má snad největší podíl placenych modulů (pluginů a komponent) ze všech porovnávaných CMS. Dnes jsem rád, že mi na Joomle běží minimum projektů a k přepracovaní je nepřijímám.

Hodnoceni: CMS pro mne jako tvůrce webových stránek nepoužitelný, protože nevyhovje zákazníkům. Pokud si na něm chcete zprovoznit vlastní  webové stranky a jste technicky zdatní, ziskate už v základní instalaci poměrně bohatý a robustní systém. Šablony jsou celkem pěkné.

CMS Drupal

Drupal byl pro mne, jako programátora přijemným objevem. Říká se, že Drupal je pro Geeky a je na tom dost pravdy. Je to trochu jako s Linuxem. Pokud do něj proniknete, nemůžete si jej vynachválit, ale pro běžného uživatele to není. V základní instalaci neobsahoval Drupal až do verze 7 ani integrovaný editor. Jen holé jádro systému s možností doinstalovat si spoustu modulů zdarma vytvořené komunitou. Pěkný se zdál samotný koncept. Proč totiž instalovat haldu modulů, které často dělají totéž, když tyto funkce mohou navzájem sdílet? Drupal má svůj propracovaný, ale celkem složitý framework, v rámci kterého mohou moduly volat jakékoli funkce systému, nebo jiných modulů a modifikovat jejich chování. O složitosti frameworku vypovídá to, že se na téma Drupalu často píší diplomové práce. Drupal poskytuje programátorovi velkou volnost, aniž by musel cokoli hackovat. Moto vývojářů je Don´t hack just hook. Hooks jsou v terminologii Drupalu právě ty funkce, které lze volat a měnit.

Bohužel, v praxi to, co se zdálo největší výhodou je největším problémem celého systému. Aby vše fungovalo, je potřeba, aby vývojáři  udržovali své moduly kompatibilní a to nejenom s novými verzemi systému, ale i často s desítkami spolupracujících modulů. Vývojáři jsou ale dobrovolníci, kteří modul vytvořili jako studenti a dnes mají jiné priority. Stačí málo a dosud fungující systém se rozsype. Upgrady se stávají noční můrou a vyžadují důkladné testování, o migraci na nové verze systému nemluvě. Aby toho nebylo málo, má Drupal výkonnostní problémy. Bez použití cache je zoufale pomalý, ale právě v takovém stavu tvorba webových stránek probíhá. Verze 7 mnohé zlepšila, ale přesto jsem se zaradoval, když jsem objevil WordPress.

Hodnocení: zajímavý systém pro programátora, lze v něm vytvořit prakticky cokoli, můžete použít velké množství modulů zdarma, nebo vytvářet vlastní. Šablony byly vždy dost ošklivé a jejich tvorba není úplně jednoduchá. Pro zákazníka pochopitelné prostředí, pro správce problematické upgrady. Vhodný pro hodně provázané weby, kde je potřeba přehledně prezentovat velké množství dat např. formou tabulek a nastavit mnoho úrovní přístupových práv pro různé skupiny uživatelů. Vícejazyčné stránky již v základu.

CMS WordPress

WordPress se může zdát krokem zpátky od striktnosti Drupalu, pro mě však představuje zdařilý kompromis. Vše je tu trochu jednodušší, ale snáze pochopitelné. Od použití pluginů (v Drupalu jim odpovídají moduly, v Joomle komponenty, moduly, pluginy) po šablonový systém. Pluginy spolu mohou spolupracovat, ale není to základní koncept. Jejich aktualizace je většinou bezproblémová a jsou často funkční s více verzemi systému. Tím myslím velké změny, které se u předchozích verzí nazývají migracemi. Už v základní verzi jde o použitelný blogovací a publikační systém s přijemným uživatelským rozhraním a co je důležité, snadno pochopitelným pro uživatele. Pro programátora tu bude všechno povědomé a přehledné a vše důležité pro tvorbu šablon a pluginů si brzy osvojí.  Abych přidal nějaká negativa, jde asi o nejrošířenější redakční systém, který je pro útočníka snadno rozpoznatelný a proto může být častěji terčem hackerů. To se dá srovnat správným nastavením zabezpečením adresářů a častou aktualizací, která jak jsem napsal, je neproblematická.

Hodnocení: dobrý nástroj pro tvůrce webových stránek i jednotlivce. Snadné rozšiřování, aktualizace i vývoj. Vhodné pro spíše menší a méně komplexní projekty, kde odvede více práce Drupal s propracovaným systémem  řazení výstupních dat a mnoha úrovněmi uživatelských přístupových práv. Pro vytvoření vícejazyčných stránek je potřeba doinstalovat buďto poměrně drahý placený plugin, nebo neplacený, který trochu nabourá přehlednost prostředí, které je u WordPressu jednou z výhod.

Závěrem

Možná jsem se nevěnoval tolik Joomle a tím se dostávám k tomu, proč nejsem úplně objektivní. Vychválil jsem WordPress, který znám v poslední verzi, ale u Joomly s ní nemám příliš velkou zkušennost. V malé míře to platí i o Drupalu, který udělal velký skok kupředu, ale některé věci se nemění a řekl bych, že základní charakteristiky zůstávají stejné. Nevěnoval jsem se placeným systémům, které sice mají korporátní podporu, ale jak jsem poznal u zákazníků, kteří je mají, jsou tyto vázány na server vývojáře se všemi důsledky, které se nabízejí a jedním z nich je i to, že prostě spousta věcí „nejde“, poněvadž by se na multihostingu podobná změna projevila u všech uživatelů. K dokreslení situace ohledně CMS mohu zmínit i to, že v reakci na Joomlu jsem vytvořil vlastní redakční systém, přívětivý pro zákazníky, kde ovšem jakýkoli nadstandardní požadavek vyžaduje rozsáhlé programování na míru, v podstatě vývoj nového pluginu, který lze v případě CMS většinou jednoduše stáhnout. Vše co jsem napsal je můj osobní názor a budu rád, pokud jsem svým článkem trochu přispěl k tématu.