Mendelova univerzita v Brně Provozně ekonomická fakulta
Inovativní systém pro správu obsahu webové aplikace Bakalářská práce
Vedoucí práce: Ing. Jana Weinlichová
Pavel Chmelař
Brno 2010
volná strana pro zadání práce
Rád bych na tomto místě poděkoval své vedoucí práce Ing. Janě Weinlichové za vedení bakalářské práce, podporu a připomínky při její tvorbě. Dále patří dík Bc. Romanu Fiantovi za jeho odborné připomínky k návrhu systému a v neposlední řadě i členům mé rodiny za jejich podporu.
Čestně prohlašuji, že tento dokument je mým autorským dílem, které jsem vypracoval sám. Všechny zdroje, odkazy a literatura použitá při zpracování této práce jsou řádně citovány a uvedeny v kompletním výčtu zdrojů.
V Brně dne 24. května 2010
....................................................
5
Abstract Chmelař, P. Innovative Web Content Management System. Bachelor thesis. Brno, 2010. This thesis provides a descriptive proposal of a new web content management system and its partial realization with respect to principles derived from a users comfort point of view. A particular objective is the analysis of some of the most popular open-source CMSs. There are also descriptions of technologies required for the developement of the author’s new system. Keywords: web, content management, system, analysis, WCMS, CMS
Abstrakt Chmelař, P. Inovativní systém pro správu obsahu webové aplikace. Bakalářská práce. Brno, 2010. Práce se zabývá podrobným návrhem vlastního systému pro správu obsahu webové aplikace a realizací vybraných modulů s ohledem na stanovené zásady z hlediska komfortu uživatele. Součástí práce je analýza několika nejpopulárnějších volně šiřitelných systémů CMS. Jsou zde popsány i technologie potřebné pro vývoj vlastního systému. Klíčová slova: web, správa obsahu, systém, analýza, WCMS, CMS
6
OBSAH
Obsah 1 Úvod
7
2 Cíl práce
8
3 Technologie 3.1 Webové standardy a technologie . . . 3.1.1 HTML . . . . . . . . . . . . . 3.1.2 XHTML . . . . . . . . . . . . 3.1.3 CSS . . . . . . . . . . . . . . 3.2 Programovací technologie a databáze 3.2.1 PHP . . . . . . . . . . . . . . 3.2.2 JavaScript . . . . . . . . . . . 3.2.3 AJAX . . . . . . . . . . . . . 3.2.4 MySQL . . . . . . . . . . . . 3.3 Systémy pro správu obsahu . . . . . 3.3.1 CMS . . . . . . . . . . . . . . 3.3.2 WCMS . . . . . . . . . . . . . 3.4 Open-source software . . . . . . . . . 3.5 Proprietární software . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
4 Analýza dostupných řešení 4.1 Srovnání open source a proprietárního softwaru . . . 4.2 Nejpoužívanější open-source WCMS systémy . . . . . 4.3 Výběr a představení tří open-source WCMS systémů 4.3.1 WordPress . . . . . . . . . . . . . . . . . . . . 4.3.2 Joomla! . . . . . . . . . . . . . . . . . . . . . 4.3.3 Drupal . . . . . . . . . . . . . . . . . . . . . . 4.4 Vlastnosti systémů WordPress, Joomla!, Drupal . . . 4.4.1 Instalace, provoz a údržba . . . . . . . . . . . 4.4.2 Tvorba základní stránky . . . . . . . . . . . . 4.4.3 Snadné seznámení s možnostmi systému . . . 4.4.4 Ovládání administace . . . . . . . . . . . . . . 4.4.5 Zpracování multimédií . . . . . . . . . . . . . 4.4.6 Grafická přizpůsobivost . . . . . . . . . . . . . 4.4.7 Přizpůsobení struktury . . . . . . . . . . . . . 4.4.8 Uživatelské role v systému . . . . . . . . . . . 4.4.9 Interaktivita . . . . . . . . . . . . . . . . . . . 4.4.10 Možnosti rozšíření . . . . . . . . . . . . . . . 4.4.11 Podpora a síla komunity . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
9 9 9 10 11 11 11 12 12 13 13 13 14 14 15
. . . . . . . . . . . . . . . . . .
16 16 17 17 18 18 18 18 19 19 20 20 20 21 21 22 22 23 23
7
OBSAH
5 Zásady systémů WCMS z hlediska uživatelského komfortu 5.1 Přehled uživatelů a cílová skupina . . . . . . . . . . . . . . . . 5.2 Zásady pro uživatelský komfort s ohledem na cílovou skupinu . 5.2.1 Aktuální pozice . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Obrazová podpora . . . . . . . . . . . . . . . . . . . . 5.2.3 Základní informace . . . . . . . . . . . . . . . . . . . . 5.2.4 Ovládací prvky . . . . . . . . . . . . . . . . . . . . . . 5.2.5 Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Implementace systému 6.1 Základní návrh systému . . . . . . . . . . . . 6.1.1 Typ stránek . . . . . . . . . . . . . . . 6.1.2 Vzhled stránek . . . . . . . . . . . . . 6.1.3 Obsah . . . . . . . . . . . . . . . . . . 6.1.4 Nastavení . . . . . . . . . . . . . . . . 6.1.5 Nástěnka . . . . . . . . . . . . . . . . . 6.2 Průvodce tvorbou webové stránky . . . . . . . 6.3 Ukládání dat . . . . . . . . . . . . . . . . . . 6.3.1 Systémová nastavení . . . . . . . . . . 6.3.2 Uživatelé a jejich role . . . . . . . . . . 6.3.3 Průvodce a obsah . . . . . . . . . . . . 6.4 Návrh administračního rozhraní . . . . . . . . 6.4.1 Rozmístění hlavních navigačních prvků 6.5 Proces tvorby stránek . . . . . . . . . . . . . . 6.5.1 Typ prezentace . . . . . . . . . . . . . 6.5.2 Rozvržení stránek a grafický vzhled . . 6.5.3 Tvorba obsahu . . . . . . . . . . . . . 6.5.4 Realizace vybraných modulů . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . .
24 24 24 25 25 25 25 25
. . . . . . . . . . . . . . . . . .
26 26 26 26 27 27 27 27 27 28 28 29 30 30 31 31 32 33 34
7 Závěr 36 7.1 Rozšiřitelnost systému . . . . . . . . . . . . . . . . . . . . . . . . . . 36 7.2 Zhodnocení systému . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8 Literatura
37
Přílohy
38
A Grafické ukázky systému
39
1
1
ÚVOD
8
Úvod
První dekáda 21. století je téměř u konce a s ní i celá řada technologií a postupů, které byly dříve považovány za převratné, inovativní a v mnoha ohledech nepřekonatelné. S příchodem nových médií v oblasti masové komunikace v 90. letech minulého století se objevily možnosti, které byly dříve neslučitelné. Tyto možnosti přinesl zejména internet a jeho aplikace. Mezi ty hlavní patří především globální dosah s vysokou hustotou lokálních příjemců a možnost okamžitého masového elektronického nasazení s velmi levným přístupem k vysílání. (Vossen, Long, Xu Yu, 2009) Obrovský nárůst uživatelů internetu tak zvýšil důležitost tohoto média. Podle Internet World Stats vzrostl počet uživatelů od roku 2000 ke konci roku 2009 o téměř 400%. Počet uživatelů internetu v České republice se koncem roku 2009 pohyboval okolo 6 miliónů osob. (Miniwatts Marketing Group, 2010) Dle údajů Českého statistického úřadu za rok 2009 vlastnilo počítač 54,2 % domácností v ČR a 49,2 % disponovalo připojením k internetu. Na základě porovnání dostupných údajů z předešlých let lze usuzovat i budoucí nárůst využití internetu a jeho služeb. Mezi nejvyužívanější služby internetu se řadí WWW (World Wide Web), všeobecně označovaný jako Web, jehož vynálezcem je Tim Bernes-Lee z Londýna. Jedná se o systém propojených hypertextových dokumentů umístěných v síti Internet. Pomocí webového prohlížeče je možné procházet webovými stránkami, které mohou obsahovat text, obrázky, videa a další multimédia. Navigace mezi nimi je pak zajištěna pomocí hypertextových odkazů. Lidé z celého světa mohou přistupovat a příspívat na webu tvorbou svých vlastních dokumentů, obsahujících informace týkající se téměř jakéhokoli tématu. (McPherson, S. S., 2009) Způsoby a principy tvorby těchto dokumentů nejsou vždy jednoduché, a proto vznikají specializované programz a webové aplikace pro usnadnění jejich tvorby. Na základě svých zkušeností a dostupných informací jsem se rozhodl pro tvorbu vlastního řešení, které by zjednodušilo práci při publikování a správě obsahu webových stránek. Před samotnou tvorbou je však potřeba analyzovat již hotová řešení, nejen z pohledu technického, ale především z pohledu užívání.
2
2
CÍL PRÁCE
9
Cíl práce
Cílem této práce je návrh a částečná realizace webové aplikace, která poskytne komfort uživateli při tvorbě a správě webového obsahu ve formě jednoduchého a intuitivního ovládání na základě navržených zásad. Samotnému návrhu zásad z hlediska komfortu uživatele bude předcházet přehled o aktuálním stavu nejpoužívanějších dostupných řešení, podrobná analýza jejich vlastností a přístupu k tvorbě webového obsahu z pohledu uživatele. Navržené zásady budou promítnuty do samotné tvorby webové aplikace, která bude realizována pomocí jazyka PHP a databáze MySQL. Výstupem pak bude realizace vybraných modulů systému pro správu obsahu webové aplikace a zhodnocení možností rozšíření a způsobu užití.
3
TECHNOLOGIE
3 3.1
10
Technologie Webové standardy a technologie
Webový standard je obecné označení pro formalizaci norem a technických parametrů, který definuje a popisuje podobu WWW. Často je spojován s postupy při tvorbě webových aplikací, filozofií webového návrhu a také technologickým vývojem, jenž zahrnuje metody této tvorby. Mnoho vzájemně provázaných standardů ovlivňuje, ať už přímo či nepřímo, vývoj a správu webových stránek a aplikací především z hlediska jejich přístupnosti a použitelnosti. Webové standardy se dělí na následující: • doporučení vydaná konsorciem W3C (World Wide Web Consortium), • internetové standardy (STD) – dokumenty vydané komisí IETF (Internet Engineering Task Force), • požadavky na komentáře (RFC) – dokumenty vydané IETF, • standardy vydané mezinárodní organizací ISO (International Organization for Standardization), • standardy vydané asociací ECMA (European Computer Manufacturers Association), • standardy Unicode a různé technické zprávy Unicode (UTRs) vydané UC (Unicode Consorcium), • jméno a číslo protokolu udržovaného IANA (Internet Assigned Numbers Authority). Pokud je řečeno o webu či webové stránce, že dodržuje webové standardy, je tím často myšleno, že je daná stránka validní z hlediska HTML, CSS či JavaScriptu. Právě o tyto standardy se stará výše zmíněné konsorcium W3C, které založil Tim Berners-Lee roku 1994. (WaSP Group, 1998) Jedná se o tzv. doporučení, která by se měla dodržovat při tvorbě webových aplikací a tedy i systémů pro jejich generování. Cílem dodržování těchto standardů je zjednodušení a zefektivnění tvorby webových stránek a současně jejich zpřístupnění širšímu okruhu lidí i technickým zařízením. Stránky splňující tyto standardy budou správně fungovat jak v budoucích verzích prohlížečů, tak na nových technických zařízení. 3.1.1
HTML
HTML (HyperText Markup Language) patří mezi stěžejní technologie pro tvorbu webových stránek. Jedná se o značkovací jazyk pro definování struktury obsahu webové stránky. Umožňuje autorovi publikovat dokumenty s nadpisy, textem, tabulkami, seznamy, fotografiemi apod. a pomocí hypertextových odkazů směrovat návštěvníka na další stránky. Pro vyhledávání informací, zajištění rezervací či objednání produktů poskytuje HTML formulářové prvky, které společně se vzdálenými službami zajistí uživateli přístup k potřebným informacím či vykonání požadavku. Dokumenty HTML mohou obsahovat také videoklipy či zvukové nahrávky.
3.1
Webové standardy a technologie
11
Pro popis jednotlivých prvků se využívá značek neboli tagů. Seznam všech použitelných tagů a způsob jejich užití je definován ve specifikaci jazyka HTML, který spravuje již zmíněné konsorcium W3C. (W3C, 1999) Poslední verzí jazyka HTML je specifikace HTML 4.01 z roku 1999, následně byl vývoj HTML na několik let ukončen. Pomyslným nástupcem jazyka HTML se pak stal jazyk XHTML. Od roku 2007 se však vyvíjí nová verze HTML, nesoucí označení HTML 5. (W3C, 2010) 3.1.2
XHTML
XHTML (eXtensible HyperText Markup Language) je obměna HTML, která využívá přísnější syntax jazyka XML (eXtensible Markup Language). Každý XHTML dokument je XML dokument, z čehož, kromě povinného uvedení XML hlavičky a nutnosti správné utvořenosti (well-formedness) dokumentu, plynou následující omezení a odlišnosti oproti HTML: • všechny názvy prvků a atributů musí být psány malými znaky, • všechny párové prvky musí být ukončeny, např.
...
, • všechny nepárové prvky musí být ukončeny pomocí mezery a lomítka, např.
, • všechny hodnoty atributů musí být ohraničeny uvozovkami, např.
test nebo
test, • všechny hodnoty atributů musí být jednoznačné a nesmí být zkráceny na jedno slovo, např. selected="selected". XHTML obsahuje i další omezení, která jsou uvedena v doporučení vydaném konsorciem W3C 26. ledna 2000. Toto doporučení bylo aktualizováno 1. srpna 2002 a je považováno za aktuální. (W3C, 2000) Z hlediska definice typu dokumtentu je XHTML 1.0 rozděleno do tří kategorií: Strict, Transitional a Frameset. XHTML-1.0-Strict – je XML obdoba pro HTML 4.01 Strict a obsahuje prvky a atributy, které nebyly označeny ve specifikaci HTML 4.01 za nevyhovující. Užití se předpokládá společně s CSS za účelem osvobození dokumentu od formátovacích značek. XHTML-1.0-Transitional – je XML obdoba pro HTML 4.01 Transitional. Obsahuje prezentační prvky (např. center, font a strike) vyloučené ze striktní verze. Je vhodná pro starší prohlížeče, jejichž podpora CSS není na dostatečné úrovni. XHTML-1.0-Frameset – je XML obdoba pro HTML 4.01 Frameset, která umožňuje používát rámce a zastaralé značky. XHTML prošlo ještě dalším vývojem. Vzniklo několik pracovních verzí pod označením XHTML 2.0. Konsorcium W3C se ale rozhodlo ukončit činnosti vývojového týmu XHTML 2 a přesunout tak jejich aktivitu na vývoj HTML 5 a XHTML 5.
3.2
Programovací technologie a databáze
3.1.3
12
CSS
CSS (Cascading Style Sheets) je jazyk, který poskytuje vizuální prezentaci obsahu. Umožňuje tedy prezentovat webové stránky pomocí barev, písma a rozvržení jednotlivých prvků. Pomocí CSS lze přizpůsobit prezentaci různým typům zařízení, jako jsou například mobilní telefony s malou zobrazovací plochou, tiskárny, klasické monitory a podobně. Jedná se o jazyk nezávislý na HTML a lze jej využít s jakýmkoli značkovacím jazykem založeným na XML. Údržba stránek je díky oddělenému CSS od HTML snazší a umožňuje sdílení jednoho stylu napříč více stránkami. Dodržuje tak princip oddělení obsahové části stránek od prezentační. (W3Schools, 2010) Mezi výhody použití CSS patří: • formátování XML dokumentů, • možnosti řízení tisku, • snadná tvorba a údržba stylů, • rozsáhlé možnosti formátování, • dynamická práce se styly, • dopředná kompatibilita. Jednotlivé specifikace jazyka CSS prošly a stále prochází vývojem. Aktuální verze CSS je verze CSS 2.0, ačkoli verze 2.1 je již v tzv. předávací podobě. Již delší dobu se pracuje na verzi 3, která je ale stále ve fázi vývoje. Proto je vhodné nadále vycházet ze stabilní verze 2.0. (Cyroň, 2006)
3.2 3.2.1
Programovací technologie a databáze PHP
PHP HyperText Preprocessor (zkráceně PHP), z počátku označovaný jako Personal Home Page, je dílem Rasmuse Lerdorfa z roku 1994. Jedná se o skriptovací jazyk vytvořený pro programování internetových stránek. Z počátku se jednalo o kombinaci skriptů v Perlu pro získávání údajů o návštěvnosti jeho stránek a zobrazení celkového obsahu. Pro rozšíření funkčnosti napsal Rasmus Lerdorf skriptovací jádro společně s dalším nástrojem zvaným Form Interpreter (FI). Za účelem odstranění chyb poté zveřejnil novou verzi pod označením PHP2. V důsledku užívání tohoto nástroje pro stále složitější potřeby, došlo k rozšíření skupiny hlavních programátorů a roku 1998 vyšla oficiální verze PHP3. V roce 2000 pak byla uveřejněna verze PHP4 založená na jádru Zend I a v roce 2004 pak verze PHP5 založená Zend engine II, která přinesla především lepší přístup k objektově orientovanému programování. Rovněž se pracuje na verzi PHP6, ta však stále ještě není dokončena. Za poslední stabilní verzi je považována verze 5.3.2 z března roku 2010. PHP je velice oblíbený jazyk, především díky své jednoduchosti a kombinaci několika programovacích jazyků. Syntax je inspirována zejména programovacími jazyky Perl, C, Java, Pascal, a je nezávislý na platformě. PHP lze použít i při tvorbě desktopových aplikací, ale nejčastěji se používá pro tvorbu aplikací webových, kde je začleněn do struktury jazyka HTML či XHTML. Obsahuje rovněž řadu knihoven,
3.2
Programovací technologie a databáze
13
pomocí kterých lze přistupovat k nejrůznějším databázovým systémům, zpracovávat grafiku, text, či pracovat přímo se soubory. (Naramore, 2006) Mezi významné projekty implementované v jazyce PHP patří např. Wikipedie, Facebook a velká část systémů pro správu webového obsahu. 3.2.2
JavaScript
JavaScript je objektově orientovaný skriptovací jazyk. V době vzniku tohoto jazyka byla velice omezená rychlost přenosu dat, a proto se společnost Netscape rozhodla vyvinout jazyk, který by zajistil práci s daty již na straně klienta a nikoli až na serveru. Typickým problémem byla validace formulářů, kdy se nejprve celý formulář odeslal na server, tam se vyhodnotil a v případě chyby se veškeré údaje opět vrátily ke klientovi na opravu. Z počátku nesl označení LiveScript, ale pro jeho rychlý vývoj se společnost Netscape spojila se společností Sun Microsystems, která v té době slavila úspěchy s jazykem Java. Z marketingových důvodů došlo k přejmenování jazyka LiveScript na JavaScript, přestože LiveScript neměl nic společného s jazykem Java. Výše zmíněná validace dat není jedinou výhodou tohoto jazyka. JavaScript dokáže zajistit interakci s téměř všemi aspekty okna prohlížeče a jeho obsahu. Je tedy plnohodnotným programovacím jazykem, schopným provádět složité výpočty a interakce, včetně uzávěrů a anonymních funkcí. Přestože dnes tento jazyk podporují téměř všechny přední webové prohlížeče, stále se jedná o jazyk na straně klienta a je tedy možné zakázat jeho funkčnost či narazit na jeho absenci. Na druhou stranu jeho výhodou je, že pro psaní javascriptových programů není potřeba žádného speciálního vývojového prostředí či překladače. Jazyk se interpretuje přímo v prohlížeči. Z důvodu existence tří odlišných verzí – JavaScript v Netscape Navigatoru, JScript v Internet Exploreru a CEnvi v ScriptEase – došlo v roce 1997 k první standardizaci jazyka JavaScript 1.1 společností ECMA (European Computer Manufacturers Association – Sdružení evropských výrobců počítačů). Standardizovaná verze JavaScriptu je označena jako ECMAScript a byly z ní odvozeny i další implementace, jako je například ActionScript. (Zakas, 2009) 3.2.3
AJAX
AJAX (Asynchronous JavaScript and XML) se používá k označení technologií použitých při vývoji interaktivních webových aplikací za účelem dosažení bezstavovosti aplikace. Bezstavovost webové aplikace v tomto případě znamená odstranění znovunačtení celé stránky a aktualizaci pouze potřebných částí. Cílem je poskytnout uživateli příjemnější prostředí a rychlejší práci s aplikací. Jedná se o spojení technologií HTML, CSS, DOM, JavaScript a především XMLHttpRequest pro asynchronní výměnu dat s webovým serverem. Termín AJAX se poprvé veřejně objevil v dubnu 2005 v článku Jesse James Garretta nazvaném ”Ajax: Nový přístup k webovým aplikacím”. Velká popularita a rozšíření AJAXu se spojuje obvykle se společností
3.3
Systémy pro správu obsahu
14
Google, která tento přístup využila ve svých aplikacích typu Gmail, GoogleMaps a dalších. Mezi výhody patří především snížení zátěže serveru díky malému objemu přenášených dat a uživatelsky přívětivé prostředí, které často imituje činnosti desktopových aplikací. Při nevhodné implementaci však může naopak dojít k nárůstu HTTP požadavků, což může zaneprázdnit server i přesto, že každý požadavek odesílá pouze malé množství dat. (Zakas, 2007) 3.2.4
MySQL
MySQL je relační systém řízení báze dat, jehož hlavními autory jsou Michael Widenisu a David Axmark. Tento systém byl vytvořený švédskou firmou MySQL AB, avšak nyní jej vlastní společnost Sun Microsystems, dceřinná společnost Oracle Corporation. K dispozici je pod dvojí licencí, a to jak pod bezplatnou licencí GPL, tak pod komerční placenou licencí. Funguje jako server poskytující přístup více uživatelům k širšímu počtu databází. Umožňuje ukládat samostatné informace do tabulek, které označují oblast souvisejících informací. V MySQL se každá tabulka skládá ze samostných polí neboli sloupců, které zastupují jednotlivé části uložené informace. Jednotlivá pole mohou nést informace různých typů – kupříkladu text, čísla, kalendářní data apod. Datové tabulky se vytváří na základě informace, která v nich má být uložena. Jednotlivé tabulky jsou pak v MySQL propojovány na základě společných jmenovatelů, tedy polí, která obsahují stejné informace. (Naramore, 2006) Vlastní komunikace s databází probíhá pomocí jazyka SQL, což je standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. Databáze MySQL je často využívána v propojení s jazykem PHP, který obsahuje velké množství funkcí pro vzájemnou spolupráci a usnadňuje tak práci vývojáře.
3.3 3.3.1
Systémy pro správu obsahu CMS
CMS (Content Management System), neboli systém pro správu obsahu, je sbírka postupů, které se využívají při řízení podniků, projektů, či zpracování dokumentů pro zefektivnění spolupráce mezi jednotlivými subjekty. Tyto postupy jsou navrženy tak, aby umožnily širokému spektru lidí upravovat a sdílet uložená data. Přístup k datům je řízen na základě systému přidělování práv, který zajišťuje zobrazení jednotlivých dokumentů pouze povolaným osobám. Důležitou vlastností CMS je snadné ukládání a vyhledávání dat, což urychluje nejen samotné publikování, ale i hledání a případnou korekci duplicitních záznamů. Dalším předpokladem kvalitního CMS je zjednodušení psaní zpráv a zefektivnění komunikace mezi uživateli. (Rockley, 2003)
3.3
Systémy pro správu obsahu
15
Pod konkrétními daty v CMS si lze představit téměř cokoli. Mohou jimi být filmy, obrázky, vědecké údaje, telefonní čísla, různé doklady atd. CMS jsou obvykle užívány pro ukládání, kontrolu či opravu publikovaných dokumentů. Konkrétní obsah lze rozlišovat také dle svého užití. Všechny mají však společné dílčí cíle, mezi které patří synchronizace jednotlivých kroků a shromažďování dat do výsledného funkčního celku. Systémy CMS lze dělit dle jejich užití na následující: • ECMS (Enterprise CMS), • WCMS (Web Content Management System), • DMS (Document Management System), • Mobile CMS (Mobile Content Management System), • CCMS (Component Content Management System), • Media CMS (Media Content Management System), • LMS (Learning Management System). 3.3.2
WCMS
WCMS, neboli systém pro správu webového obsahu, je webová aplikace určená pro vytváření a správu HTML obsahu. Její základ vychází z principu CMS, který je popsán v kapitole 3.3.1. Tento systém je reprezentován kolekcí skriptů, které oddělují obsahovou část od prezentační. Je využíván pro správu a řízení dynamických kolekcí webového materiálu (HTML dokumentů a k nim připojených multimediálních prvků). Usnadňuje tvorbu, řízení a úpravu obsahu a poskytuje potřebné funkce pro údržbu webu. Moderní WCMS je zpravidla definován svojí schopností spravovat a uveřejňovat obsah. Většina WCMS toho však umí mnohem více. Charakteristickým rysem WCMS je modulárnost, díky které je možné využít různých rozšíření, přídavných modulů a získat tak větší funkcionalitu celého webu. Těchto rozšíření dnes najdeme celou řadu. Od jednodušších modulů pro publikaci novinek, přes diskusní fóra, až po rozsáhlé moduly pro elektronické obchodování. Náklady na pořízení či zprovoznění WCMS systému se různí. Cena se vždy odvíjí od typu licence a propracovanosti aplikace. Se zvyšujícím se počtem alternativních řešení v podobě open-source aplikací, mohou být náklady na pořízení takového systému dokonce nulové. WCMS odděluje jednotlivé role při vývoji webových stránek. Webdesigner se může věnovat pouze návrhu samotného webu, zatímco obsahovou část mohou spravovat uživatelé bez hlubších technických znalostí. Díky výše zmíněným vlastnostem se WCMS rozšířily nejen mezi širokou veřejnost, ale staly se i spolehlivým řešením v mnoha firmách, neziskových organizacích a dalších společnostech. Díky možnostem, které skýtají WCMS, je dnes vývoj webových stránek stále více založen na použití těchto technologií. (Rockley, 2003)
3.4
3.4
Open-source software
16
Open-source software
Open source je označení aplikací, které jsou šířeny se zachováním určitých práv a svobod pro jejich koncového uživatele (tedy nabyvatele licence). Jedná se o práva spouštět program za jakýmkoli účelem, ať už se jedná o studium, jak program pracuje, či o jeho přizpůsobení vlastním potřebám. Předpokladem k tomu je přístup ke zdrojovému kódu dané aplikace. Redistribuce kopie je možná dle svobodné vůle uživatele, stejně jako vylepšování programu a zveřejňování těchto zlepšení. Základním rysem open-source softwaru je skutečnost, že nabyvatel licence má vždy právo software dále kopírovat a měnit. Dále má právo jej prodávat nebo darovat (jeho kopie nebo pozměněné verze), bez ohledu na to, zda-li získal licenci tohoto softwaru zdarma nebo za ni zaplatil. (Štědroň, 2009)
3.5
Proprietární software
Pod termínem proprietární software je v této práci označován software, jehož licence nezaručuje uživatelům stejnou míru práv a svobod, jako při používání open-source softwaru. Pro účely této práce je základní charakteristikou proprietárního softwaru to, že je dodávám bez přístupu ke zdrojovému kódu, bez možnosti vlastních úprav uživatelem a s přísně limitovanými možnostmi užívání a dalšího řízení. Tento software je v mnohých případech distribuován pouze formou placené služby či prodejem licence. (Štědroň, 2009)
4
ANALÝZA DOSTUPNÝCH ŘEŠENÍ
4 4.1
17
Analýza dostupných řešení Srovnání open source a proprietárního softwaru
Splnění všech požadavků uživatele při nasazení konkrétního řešení se odvíjí od možností dané aplikace a její schopnosti adaptace v prostředí, kde má být nasazena. Potřeby a okolnosti daného prostředí stanoví, jaké faktory jsou pro výběr relevantní a použitelné. Mezi stěžejní faktory ovlivňující výběr softwaru patří náklady, bezpečnost a flexibilita. Náklady reprezentují vynaložené prostředky pro pořízení, užití a správu softwaru v průběhu jeho životního cyklu. Open-source software je často distribuován bez poplatku, přestože v některých případech nabízí obdobnou funkcionalitu jako jeho proprietární alternativy. Z hlediska pořizovacích nákladů jsou tedy open-source aplikace přístupnější širšímu spektru uživatelů. Provozní náklady nelze přímo generalizovat, neboť se odvíjí od konkrétních požadavků aplikace. Zpravidla se jedná o hardwarové či softwarové požadavky pro provoz aplikace. Mnohdy opomíjeným, ale velice důležitým požadavkem pro provoz aplikace, je jednoduchost užití a snadná a finančně nenáročná proškolitelnost jeho uživatelů. S těmito faktory mohou souviset nemalé náklady u obou systémů. U proprietárního řešení zákazník často získá komfort v podobě podpory či proškolení zdarma, případně s nízkou cenovou náročností, právě díky vysoké pořizovací ceně produktu. U open-source řešení je k dispozici naopak bohatá dokumentace pro vlastní nastudování problematiky, třebaže takové řešení nemusí být vždy vhodné. Pro některé open-source aplikace existují odborníci, kteří si velice cení své znalosti, což může být problematické, pokud uživatel nasadil open-source systém s představou, že do něj nebude muset investovat své finance. Obdobná situace může nastat při rozšiřování či úpravě open-source aplikace na základě specifických potřeb uživatele. Náklady na úpravu stávajícího open-source řešení mohou v některých případech přesáhnout cenový rozpočet aplikace tvořené přímo na míru. Zabezpečení výše uvedených modelů je velice komplikované a správný přístup není vždy jednoznačný. Díky poskytování zdrojových kódů open-source aplikací široké veřejnosti a početné komunitě vývojářů jsou případné chyby v zabezpečení dříve nalezeny a opraveny. Tento proces může naopak u proprietárního řešení trvat déle, neboť přístup k celé problematice zabezpečení mají pouze povolané osoby. Takový přístup má i své výhody. Potencionální útočník nezná strukturu ani slabá místa zabezpečení aplikace na takové úrovni, jako tomu je u open-source aplikací díky volně dostupným zdrojovým kódům, a je pro něj tedy obtížnější zabezpečení prolomit. Skutečností však zůstává, že bezpečnost veškerých technologických produktů a implementace není předem dána metodou rozvoje nebo distribuce. Některé komerční produkty jsou méně zabezpečené než jejich alternativy vyvíjené komunitou a naopak některé open-source produkty jsou méně zabezpečené než jejich komerční protějšky. Mnohem důležitější je kvalita nasazení, konfigurace a udržovanost aplikace včetně
4.2
Nejpoužívanější open-source WCMS systémy
18
její modernizace na základě zjištěných nedostatků. Klíčovým prvkem je zde uživatel, a tak je nezbytné při výběru zohlednit, do jaké míry daná aplikace reaguje na podněty jejích uživatelů, ať už spadají do oblasti zabezpečení či poskytnutí různých funkčních vlastností. (Hiong, 2004) Ať už se jedná o open-source či proprietární software, vždy se jedná o aplikace, které jsou vyvíjeny na základě potřeb uživatelů. Pro další analýzu je tedy nezbytné vycházet z již hotových systémů a zaměřit se tak na dostupná řešení, která nám umožní detailní studii jejich struktury, funkcionality a užití. Proprietální software díky uzavřenosti svých zdrojových kódů nesplňuje požadavek studie struktury aplikace, a proto se níže budeme věnovat pouze open-source aplikacím.
4.2
Nejpoužívanější open-source WCMS systémy
Open-source aplikace jsou v dnešní době velice oblíbené a díky dostupnosti informací je dnes může vyvíjet teméř kdokoli. Základním požadavkem pro jejich implementaci je znalost určitého programovacího jazyka. Pro vývoj těchto aplikací se používá především jazyků PHP, Java, ASP.NET, Perl, Python a Ruby. PHP patří mezi velice oblíbené skriptovací jazyky, a tak již existuje celá řada hotových WCMS řešení napsaných v tomto jazyce. Za obecně nejpoužívanější open-source WCMS systémy napsané v jazyce PHP jsou považovány například: • Drupal, • Wordpress, • Joomla, • Mambo, • SilverStripe, • TYPO3, • PHP-Nuke, • TextPattern, • Xoops, • e107. Samotnou používanost jednotlivých WCMS řešení je velice obtížné mapovat, neboť nekteré ze systémů přímo neposkytují, či dokonce nesbírají potřebné informace pro zajištění těchto statistik. Přesto však existují různé výzkumy zaměřené nejen na používanost, ale i oblíbenost a funkcionalitu uvedených aplikací. Mezi společnosti zabývající se výzkumem CMS systémů patří např. Water and Stone1 a NTEN2 .
4.3
Výběr a představení tří open-source WCMS systémů
Za účelem podrobného zkoumání jednotlivých aplikací jsem se v této práci zaměřil na tři nejvíce oblíbené a používáné systémy pro správu webového obsahu. Byly vybrány systémy: Wordpress, Joomla! a Drupal. Jejich výběr proběhl na základě 1 2
http://waterandstone.com http://nten.org
4.4
Vlastnosti systémů WordPress, Joomla!, Drupal
19
zpracování dat z výzkumu Open Source CMS Market Share Survey3 , který provedla společnost Water and Stone. Dalším důležitým zdrojem byl výzkum společnosti NTEN (Content Management Systems Satisfaction Survey4 ), zaměřený na spokojenost uživatelů při používání systémů pro správu obsahu. Níže uvedené hodnocení a vlastnosti systémů jsou doplněny o mé vlastní zkušenosti při jejich užívání. 4.3.1
WordPress
WordPress je jedním z nejjednodušších systémů pro správu webového obsahu. Vyniká především svojí snadnou instalací, aktualizací a přívětivým rozhraním pro ovládání. Disponuje velkou zásobou rozšiřujících doplňků a grafických témat. Uspořádání stránek je navrženo především pro dva typy obsahu. Jedním z nich jsou stránky, bez možnosti použití na více místech za pomocí automatických pravidel. Druhým typem obsahu je blog, díky kterému je tento systém velice oblíbený. Systém tedy není určen pro komplexnější weby, což dokazuje i slabá podpora uživatelských rolí. 4.3.2
Joomla!
Joomla! patří k velice silným nástrojům v oblasti WCMS. Jeho počátek se datuje k 17. srpnu 2005, kdy se skupina vývojářů odtrhla od projektu Mambo z důvodu nespokojenosti se směrem, kterým se projekt Mambo ubíral. Projekt Joomla! v mnohém vychází ze systému Mambo, a proto existuje řada rozšíření, které lze aplikovat na oba systémy. Joomla! podporuje složitější struktury stránek, což negativně ovlivňuje proces učení se práce se systémem. Poskytuje tři typy obsahu: sekce, kategorie a články. Každý obsah je svázán s určitou stránkou a omezuje tak rozvoj složitější struktury webu. 4.3.3
Drupal
Drupal je robustní nástroj z kategorie WCMS určený pro tvorbu komplexních stránek. Jedná se o velice flexibilní a výkonný systém, který umožňuje definovat vlastní typ obsahu a nastavení podrobných pravidel při jeho zobrazování. Jeho podpora funkcní a doplňkových modulů je velice obsáhlá. Porozumění tomuto systému a jeho konfigurace jsou však mnohem obtížnější než u systémů WordPress nebo Joomla!. To je způsobeno především velkým počtem nabídek, které obsahují širokou škálu nastavení.
4.4
Vlastnosti systémů WordPress, Joomla!, Drupal
V této kapitole bude rozebrána podrobná specifikace porovnávaných aplikací. Celkový proces užívání systému může být rozdělen podle jednotlivých kritérií, což umožní snazší porovnání vlastností aplikací. 3 4
http://www.waterandstone.com/open-source-cms-resources http://www.nten.org/research/2008-cms-satisfaction-survey
4.4
Vlastnosti systémů WordPress, Joomla!, Drupal
20
Pro podrobné posuzování a zkoumání užití byly zvoleny následující verze systémů: WordPress 2.7, Joomla! 1.5.8 a Drupal 6.8. 4.4.1
Instalace, provoz a údržba
Provoz všech tří aplikací není příliš omezen. Mohou být provozovány na operačních systémech Linux, Windows a Macintosh OS. Vyjma systému Drupal vyžadují MySQL databázi a PHP jako skriptovací jazyk. Drupal umožňuje navíc výběr datábáze mezi MySQL, PostgreSQL a MS SQL. Aplikace lze umístit i na sdílený hosting, což při použití kombinace LAMP (Linux, Apache, MySQL, PHP) výrazně snižuje cenové požadavky na provoz. Vlastní instalace aplikace je zajištěna pomocí průvodce. Ke spuštění průvodce je zapotřebí základní znalost práce s adresářovou strukturou a soubory pomocí FTP a vytvoření MySQL databáze. Velice intuitivní je instalace systému Wordpress. Jednoduchý průvodce požaduje minimum dat a zrychluje tak proces instalace. Naopak Joomla! a Drupal jsou náročnější na pozornost uživatele a počet požadovaných dat. Pro urychlení práce se systémy se využívá ukládání kopií do paměti cache. Joomla! a Drupal umožňují ukládání stránek, zatímco WordPress nabízí tuto možnost pouze jako doplněk. 4.4.2
Tvorba základní stránky
Wordpress již po prvotní instalaci obsahuje jeden článek, stránku, komentář a dvě šablony vzhledu. Volba pro výběr, zdali se mají vytvořit vzorové prvky, však při instalaci chybí. Stějně tomu je i u systému Drupal, ten však nabízí po instalaci stručného průvodce jak pokračovat. Joomla! při instalaci naopak poskytuje možnost volby vzorových dat. Pro volbu vzhledu je k dispozici rozhraní pro přepínání mezi hotovými šablonami. Wordpress jako jediný nabízí podrobné vyhledávání šablon, které je zabudované přímo v administraci. Výběr, stažení a aktivace je otázkou několika kliknutí, zatímco u ostatních systémů je potřeba tento proces zajistit mimo rozhraní administrace. Systémy obsahují v základu snad všechny potřebné komponenty pro tvorbu a správu webu s hierarchickou strukturou stránek. Vyjímkou je však Drupal, který neposkytuje WYSIWYG editor v základním vybavení, ale jako doplněk, který je potřeba doinstalovat. Poskytuje tím sice svobodný výběr textového editoru, ale prodlužuje tak proces rychlé tvorby webu a značně se tím vzdaluje uživatelům bez technických znalostí. Způsob organizace více stránek není na první pohled jasný především u systému Joomla!. Ten vyžaduje pro tvorbu obsahu výběr mezi sekcí, kategorií a článkem. Rozdíl mezi nimi není zcela jednoznačný a mnoho uživatelů bude muset hledat přesný význam v dokumentaci, než se s těmito prvky seznámí. Drupal je na tom o něco lépe, kdy dává na výběr mezi článkem a stránkou, které lze pak umístit do
4.4
Vlastnosti systémů WordPress, Joomla!, Drupal
21
navigační lišty, případně na jíná místa webu. Obdobně tento proces řeší i Wordpress, ale neposkytuje tak pokročilá nastavení jako Drupal. 4.4.3
Snadné seznámení s možnostmi systému
Seznámení s konkrétním systémem, jeho funkcemi a způsoby, jakými pracuje, může být záležitostí i několika dní. V případě Drupalu je délka učení pravděpodobně nejdelší, neboť poskytuje několik desítek různých konfiguračních nastavení, které je potřeba zvládnout pro využití všech jeho možností. Joomla! je na tom v tomto směru o něco lépe něž Drupal, přesto však může potrápit i pokročilého uživatele. Wordpress naopak nenabízí takové možnosti jako Drupal a Joomla!, a proto je počáteční práce a seznámení s tímto systémem o mnoho rychlejší. 4.4.4
Ovládání administace
WordPress i Joomla! poskytují administrační rozhraní pro správu obsahu, které je graficky odlišné od prezenční části webu. Pokud chce mít uživatel přehled o své tvorbě, musí mít otevřená dvě okna prohlížeče a přepínat mezi administrační a prezenční částí. Výhodou tohoto přístupu je větší prostor pro umístění administračních prvků. Drupal se naopak snaží poskytnout přehlednost při tvorbě obsahu tím, že má administraci zabudovanou přímo do prezenční části. To umožňuje uživateli vidět okamžitě výsledek své tvorby ve finální podobě. Administrační navigace v Drupalu však neobsahuje žádné grafické vodící prvky, čímž se stává méně přehlednou a díky svému rozsahu i složitou. Wordpress má navigační prvky umístěny v levém vertikálním panelu, který je možné minimalizovat a orientovat se tedy pouze podle ikon. Samotné menu je rozděleno na dvě části. První část shromažďuje prvky používané na webu a druhá poskytuje rozšířené nastavení webu. K dispozici je i nástěnka, na které jsou umístěny boxy s rychlým přístupem k funkcím systému. Celkové rozložení prvků tak urychluje navigaci v systému a je pohodlnější pro užívání, přestože je potřeba sledovat výsledek v druhém okně prohlížeče. Joomla! využívá horizontální menu, které je rozděleno do několika kategorií. Na úvodní straně je pak správce řízení (control manager), neboli seznam správců specifických funkcí systému. Administrační rozhraní disponuje širokou nabídkou funkcí a nastavení. V porovnání s ostatními systémy obsahuje velké množství informací, kterými je uživatel mnohdy zahlcen. 4.4.5
Zpracování multimédií
Každý ze systémů přistupuje ke zpracování textu a obrázků jiným způsobem. Jak již bylo zmíněno, Drupal v základu neobsahuje textový editor, a tak je potřeba veškerý text formátovat ručně, případně doinstalovat potřebný editor. Stejně tomu je i při zpracování obrázků. Wordpress i Joomla! používají TinyMCE, avšak každý s jinými možnostmi. Zatímco WordPress nabízí funkci pro vložení textu z editoru Word,
4.4
Vlastnosti systémů WordPress, Joomla!, Drupal
22
systém Joomla! jí nedisponuje a může tak docházet ke vkládání nadbytečných tagů. Také umístění tlačítka pro vložení obrázku pod textovým polem není příliš vhodné, neboť většina ovládacích prvků pro formátování obsahu jsou umístěny nad tímto polem. Vkládání videí ze zdrojů jako YouTube je realizováno pomocí elementu embed. Přímé vložení pomocí URL a další nastavení videa nabízí v základní instalaci jako jediný WordPress. 4.4.6
Grafická přizpůsobivost
Grafická přizpůsobivost všech tří systémů je velice rozsáhlá. Pro každý systém existují stovky předpřipravených grafických návrhů. Některé pocházejí přímo z dílny autorů systému, jiné jsou tvořeny třetími stranami, což je typické především u systému Joomla!. Grafická témata pro WordPress jsou dostupná z oficiálních stránek včetně jejich uživatelského hodnocení a statistik stažení. Drupal poskytuje pouze statistiky stažení. Samotný postup tvorby grafického tématu je pak pro všechny systémy obdobný. Je potřeba vytvořit několik vzorových stránek, soubor se styly, soubor s nastavením a informacemi a samozřejmě i náhled. 4.4.7
Přizpůsobení struktury
Všechny systémy poskytují určitou strukturu, kterou lze v některých případech rozšířit či přizpůsobit dle vlastních požadavků. Tuto strukturu tvoří především funkce systému, mezi které může patřit: omezení počtu stránek, úroveň uspořádání, vlastní typ obsahu, tvorba formulářů a mnohé další. Každý ze systémů může mít tyto funkce implementovány jiným způsobem. Systém WordPress je díky své struktuře v porovnání s ostatními systémy značně omezen. Zobrazení obsahu na více místech je zde možné pouze u článků. Funkce jako tvorba formulářů, tisk stránky, multijazyčnost, zobrazení souvisejících objektů a mnohé další, jsou zde dostupné pouze jako doplňkové moduly. Sdílení dat a prvků, pro účely zobrazení na více webech, je rovněž velice obtížné realizovat. Pro správu více webů pod jednou administrací se využívá alternativy WordPress MU, v základní verzi to tedy možné není. Joomla! je na tom v porovnání se systémem Wordpress o něco lépe. V základu již omožňuje tvorbu formulářů pro získávání dat od návštěvníků, modul pro automatické zobrazení souvisejích odkazů a zobrazení obsahu ve více kategoriích. Naopak hierarchie je zde rozdělena do tří úrovní: sekce, kategorie, články. Jako další typy obsahu jsou zde navíc např. ankety a novinky. Jiné funkce lze získat pomocí doplňkových modulů. Nevýhodou může být také způsob sdílení dat, kdy jsou šablony stránek a různá témata svázány přímo z položkami menu a je tedy obtížné zajistit, aby se zobrazily různé kombinace informací na rozdílných místech. Drupal nabízí nejširší možnosti v oblasti přizpůsobení struktury. Umožňuje tvorbu vlastního typu obsahu, detailní nastavení umístění a zobrazení prvků i správu
4.4
Vlastnosti systémů WordPress, Joomla!, Drupal
23
několika webů z jedné administrace. Přesto je však pro některé funkce nezbytné instalovat doplňky. Instalace doplňků pro tvorbu obsahu ve více jazycích, tisk stránky, širší možnosti hodnocení a sdílení článků, je společná pro všechny testované systémy. 4.4.8
Uživatelské role v systému
Správa uživatelů a jejich práv je v publikačním systému velice zásadní. Lze ji realizovat pomocí uživatelských rolí nebo přímým nastavením přístupu k jednotlivým funkcím či sekcím systému. Uživatelské role jsou využívány především při práci s obsahem. Obvykle se jedná o tvorbu, úpravu a publikování obsahu. Konkrétní činnost může vykonávat pouze uživatel, který je tímto úkonem pověřen. WordPress specifikuje uživatelské role dle činností na: • tvorbu vlastního obsahu, • tvorbu vlastního obsahu a jeho publikování, • tvorbu, úpravu a publikování veškerého obsahu. Další nastavení rolí je možné pouze pomocí instalace doplňku. V případě systému Joomla! jsou role rozděleny přímo na tvorbu návrhu obsahu, úpravu obsahu a publikování obsahu. Dále je možné nastavit přístup pouze k vlastní tvorbě nebo k veškeré tvorbě ostatních uživatelů. Přístup podle sekcí či obsahu nelze nastavit. Systém Drupal poskytuje kromě základních dvou uživatelských rolí (anonymního a ověřeného uživatele), také role pro tvorbu, úpravu, publikování a mazání obsahu dle jeho typu. Při tvorbě obsahu se také rozlišuje, zdali se jedná pouze o návrh nebo o konečnou verzi, která má být publikována. V případě systému Joomla! je pak k dispozici i archiv, ale jednou publikované změny již nelze vrátit. Tuto možnost však nabízí WordPress a Drupal. 4.4.9
Interaktivita
Interaktivitu u WCMS reprezentují především činnosti, které může návštěvník webu provádět. Mezi tyto činnosti patří například: komentování a hodnocení článků, vytváření profilů, blogování či dokonce tvorba vlastního obsahu. Komentáře a jejich správa včetně spamového filtru je velice dobře propracována v systému WordPress. Drupal má také velice dobrou podporu pro komentáře, avšak spamový filtr je potřeba doinstalovat pomocí doplňků. Joomla! naopak komentáře a jejich správu v základní výbavě nenabízí. Stejně tomu je i s tvorbou uživatelských profilů, kdy Joomla! tuto funkci poskytuje opět pouze formou doplňků. Ostatní systémy tuto možnost nabízí, ovšem WordPress pouze v jednoduchém provedení. Samozřejmostí je plná podpora RSS kanálů.
4.4
Vlastnosti systémů WordPress, Joomla!, Drupal
4.4.10
24
Možnosti rozšíření
Pro systémy jsou vyvinuty již tisíce volně dostupných doplňků, které je možné stáhnout a nainstalovat do systému za pomoci několika kliknutí. Nejrychlejší instalací doplňků disponuje WordPress. Integrace systému WordPress do dalších systémů není podporována. U systému Joomla! a Drupal existují pro tuto funkčnost speciální doplňky. 4.4.11
Podpora a síla komunity
Všechny systémy jsou vyvíjeny komunitou vývojářů, která se jimi zabývá a na samotný vývoj dohlíží jejich zástupce. V případě systému Joomla! a Drupal se jedná o neziskové organizace Matters foundation a Drupal foundation, zatímco na WordPress dohlíží zisková organizace Automattic. Pro všechny systémy existuje nejen obrovské množství konzultantů, ale také diskusní fóra, kde je možné hledat odpovědi na své dotazy či připomínky. Samozřejmostí je i dokumentace k jednotlivým funkcím a nástrojům systémů.
5
ZÁSADY SYSTÉMŮ WCMS Z HLEDISKA UŽIVATELSKÉHO KOMFORTU
5
25
Zásady systémů WCMS z hlediska uživatelského komfortu
Vzhledem k absenci pevně stanovených pravidel, podle kterých by měl být systém pro správu obsahu navržen a vyvíjen, lze do jisté míry vycházet z vlastností, které mají tyto systémy společné. Podrobné vlastnosti systémů byly popsány v kapitole 4.4. Z těchto vlastností a způsobu, jakým systémy fungují, budou následně odvozeny vlastní zásady pro tvorbu systému. Zásady systémů WCMS jsou dány především požadavky jejich uživatelů, neboli cílovou skupinou, pro které je daný systém určen. Čím více je tato skupina rozsáhlejší, tím více se stavá systém robustnější, složitější a v mnohých případech ztrácí na přehlednosti. Je tedy nezbytné zaměřit se v počáteční fázi vývoje na výběr cílové skupiny a požadavky na systém směřovat k jejímu uspokojení.
5.1
Přehled uživatelů a cílová skupina
Uživatelé tvořící cílovou skupinu WCMS se liší především svými znalostmi a zkušenostmi při jejich používání. Uživatelem se může stát zkušený programátor, kodér, grafik, ale také například běžný uživatel, který nedisponuje základními technickými znalostmi. V takovém případě je velice obtížné uspokojit všechny uživatele a jejich požadavky. V situaci, kdy jsou systémy vyvíjeny pro pokročilejší uživatele, je jejich přehlednost a jednoduchost do jisté míry omezena, především z důvodu poskytnutí širší funkcionality. Při uživání výše uvedených systémů je možné na takové omezení bezpochyby narazit. Vyšší funkcionalita má za následek snížení uživatelského komfortu pro méně zkušené uživatele. Cílem této práce je narvhout systém pro správu webového obsahu tak, aby tento uživatelský komfort poskytoval i méně zkušeným uživatelům. Primární cílovou skupinou jsou tedy uživatelé bez hlubších technických znalostí.
5.2
Zásady pro uživatelský komfort s ohledem na cílovou skupinu
Předpokládá se, že uživatelé bez hlubších technických znalostí mohou mít problémy při orientaci a ovládání systému. Neznají principy, na jakých systém funguje, což značně prodlužuje i proces tvorby jednoduché stránky. Pro zajištění uživatelského komfortu je tedy potřeba, aby systém poskytnul: • jednoduché ovládání, • příjemné grafické rozhraní, • přehledné rozmístění ovládacích prvků, • rychlý proces tvorby obsahu. Kromě výše uvedených požadavků je potřeba dbát i na poskytnutí potřebných funkcí a možnosti rozšíření systému.
5.2
Zásady pro uživatelský komfort s ohledem na cílovou skupinu
5.2.1
26
Aktuální pozice
Uživatel by měl být vhodným způsobem informován o tom, jakou činnost provádí a v jaké fázi vývoje se nachází. Pro dosažení tohoto cíle je možné využít krokovací metody s vzestupným či sestupným číslováním nebo vytvořit průvodce pro specifickou činnost. 5.2.2
Obrazová podpora
Pod obrazovou podporou je možné si představit například ikony, náhledy, či grafického průvodce. Tyto objekty poskytují obrazovou informaci, která do jisté míry může nahradit textové pojmenování tlačítek, objektů či jiných funkčních prvků obsažených v systému. V některých případech může sloužit pouze jako doplněk pro snazší orientaci v systému. Systém by měl dbát na poskytnutí obrazové informace, neboť je obecně známo, že uživatel se dokáže pomocí grafických prvků rychleji orientovat. 5.2.3
Základní informace
Je zcela žádoucí, aby systém poskytoval v danou chvíli pouze informace nezbytné pro provedení dané činnosti, případně informace úzce související, a nezahlcoval uživatele zbytečnými funkcemi a nabídkami. Při tvorbě jednotlivých částí systému je tedy potřeba zvážit, zdali je daná funkce opravdu nezbytná, nebo ji lze považovat za pokročilou. Uživatel by měl mít přístup k základním funkcím a v případě potřeby mít možnost zobrazení rozšiřující nabídky. 5.2.4
Ovládací prvky
Ovládácí prvky aplikace by měly být vždy k dispozici, a to v co nejjednodušší podobě a stuktuře. Musí být dostatečně výrazné a nesplývat tak s obsahovou částí. Dále je potřeba zvolit vhodné pozicovaní a stylovaní. 5.2.5
Dialog
Využití dialogu může být jeden ze způsobů, jak urychlit proces tvorby obsahu. V oblasti WCMS se může jednat o textovou formu otázek, které poskytuje systém a uživatel na ně reaguje svojí činností. Systém by měl nabízet krátké, výstižné a jednoduché otázky, vhodně pozicované a stylované, aby upoutaly pozornost uživatele. Cílem užití dialogu by měla být snazší orientace a urychlení tvůrčího procesu.
6
IMPLEMENTACE SYSTÉMU
6
27
Implementace systému
Před každou implementací systému je nezbytné rozdělit jeho vývoj do několika fází a podrobněji je rozebrat. Zároveň je potřeba dbát na dodržení zásad stanovených v kapitole 5 pro dosažení uživatelského komfortu. S ohledem na tyto požadavky budou nejprve vybrány prvky, které tvoří základní strukturu systému. Na základě stanovené struktury budou následně odvozena data vhodná pro ukládání do databáze a bude navrženo schéma databáze formou entitně relačního diagramu pro jednotlivé části systému. Posledním krokem bude návrh administrační části a realizace vybraných modulů, respektive částí celého systému.
6.1
Základní návrh systému
Každý z analyzovaných systémů obsahuje určité prvky či specifika, které tvoří takzvané jádro systému, případně ho doplňují určitou svojí funkčností. Pro základní fukčnost vlastního systému jsem se zaměřil pouze na čtyři vzájemně provázané vlastnosti, které považuji za stěžejní a mezi které patří: typ stránek, jejich vzhled, obsah a nastavení. 6.1.1
Typ stránek
Pojem typ stránek v této práci označuje webovou stránku či jejich seskupení, vytvořené za účelem poskytování informací s rozdílnou formou interpretace. Jednotlivé typy stránek byly stanoveny podle rozsahu a možností, které nabízí při tvorbě webového obsahu. Jedná se například o vizitku, blog, web, eshop a další. Ačkoli uvedené typy mohou poskytovat stejné či podobné prvky pro tvorbu obsahu, jejich odlišnost by měla být na první pohled zřejmá. V opačném případě by měly být k dispozici dodatečné informace, na základě kterých by uživatel získal bližší představu o jejich účelu a možnostech. Vzhledem k rozsáhlosti projektu se v této práci zaměřuji na jeden typ stránek a tím je vizitka. Vizitka je v rámci této práce definována jako jeden samostaný html dokument, který vychází z klasické papírové vizitky a rozšiřuje její možnosti. Účelem je poskytnutí základních informací v přehledné formě a na jednom místě. Cílovou formou pro využití tohoto typu stránek může být osobní či firemní profil, produktová stránka apod. 6.1.2
Vzhled stránek
Vzhled stránek je další kategorií, kterou považuji za velice důležitou při jejich tvorbě, a proto jsem jí v tomto systému věnoval dostatek prostoru. Samotný vzhled výsledné prezentace nezajišťuje pouze barevné schéma či grafické prvky, ale také samotné rozvržení prezentace pro pozicování obsahu. Pro snazší orientaci při tvorbě stránek pomocí tohoto systému jsem se rozhodl rozdělit nastavení vzhledu stránek na dvě části: rozvržení stránek a grafický vzhled. Podrobněji jsou popsány níže.
6.2
Průvodce tvorbou webové stránky
6.1.3
28
Obsah
Obsah je stěžejní částí celé aplikace. Je to část systému, kde se tvoří konkrétní podoba stránek pomocí vkládání funkčních prvků. Pod těmito prvky si lze představit obrázky, videa, různě formátované texty, do kterých patří například články, komentáře, aktuality a další. 6.1.4
Nastavení
Pojem nastavení představuje souhrn všech nabídek a možností, která lze pro daný systém poskytnout. Měl by zahrnovat především správu uživatelů, doplňků, nastavení stránek a další pokročilé funkce systému. 6.1.5
Nástěnka
Mezi další prvky systému patří nástěnka, jejímž úkolem bude zobrazení užitečných informací v přehledné a jednoduché formě. Obsahem tak mohou být informace o vytvořených stránkách, aktivitě na webu, statistkách, případně rychlý přístup k vybraným modulům systému.
6.2
Průvodce tvorbou webové stránky
Na základě počátečního rozvržení byl sestaven průvodce zahrnující celý proces tvorby webové stránky. Cílem tohoto průvodce je zajistit dostatečný komfort při tvorbě a správě webové stránky. Detailní popis jednotlivých částí tohoto průvodce je podrobně popsán níže v kategorii 6.5. Základní princip popisuje následující obrázek.
Obr. 1: Schéma průvodce tvorbou webové stránky
6.3
Ukládání dat
Pro ukládání uživatelských a systémových dat byla použita databáze MySQL. Návrh databáze byl rozdělen do tří částí: systémová nastavení, uživatelé a role, průvodce a obsah. Pro tvorbu schémat byl použit nástroj MySQL Workbench verze 5.2.21.
6.3
29
Ukládání dat
6.3.1
Systémová nastavení
Veškerá systémová nastavení jsou vkládána do univerzální tabulky system, kde se uloží konkrétní vlastnost a její hodnota, jak je patrné z obrázku 2.
Obr. 2: Schéma pro systémová nastavení
6.3.2
Uživatelé a jejich role
Schéma na obrázku 3 znázorňuje, jaká data je možno ukládat pro uživatele vytvořené v tomto systému. Každý uživatel má záznam v tabulce users a je mu automaticky přiřazena výchozí role. Role označuje typ uživatele na základě omezení, které jsou mu přiřazeny. Tabulka object types obsahuje jména a popis prvků vyskutujících se v systému, ke kterým je možné omezovat přístup. Systém tedy funguje na základě omezení přístupu k jednotlivým prvkům a tyto omezení jsou uloženy v tabulce restrictions. Ve výchozím stavu jsou při vytvoření nové uživatelské role přístupné veškeré prvky systému. Pro maximální rozšiřitelnost jsou rozšiřující informace o uživateli ukládány do tabulky user details, která funguje stejným způsobem jako výše uvedená tabulka system.
Obr. 3: Schéma pro uživatele a jejich role
6.3
30
Ukládání dat
6.3.3
Průvodce a obsah
Ukládání obsahu a dat je stěžejní částí celého systému. Z obrázku 4 je patrné, že každý typ stránek (záznam v tabulce projects) může mít přiřazené rozvržení stránek. Pro konkrétní rozvržení je pak zavedeno i grafické téma. K vytvořené stránce je připojeno rozvržení, téma a obsahové bloky. Záznam v tabulce contents, který reprezentuje obsahový blok, musí mít přiřazen modul, neboť modul určuje typ a vlastnosti obsahu. Data obsahu jsou uložena do tabulky content details. Modul tak není závislý na vlastní tabulce a omezen počtem atributů. Pro ukládání detailních informací k jednotlivým stránkám je určena tabulka page details.
Obr. 4: Schéma pro průvodce a obsah
6.4
Návrh administračního rozhraní
6.4
31
Návrh administračního rozhraní
Pro návrh administračního rozhraní byl nejprve sestaven tzv. drátěný model (wireframe), popisující rozmístění hlavních navigačních prvků s ohledem na dříve stanovené zásady a funkční prvky, které by měl systém obsahovat. Na základě drátěného modelu byl vzpracován grafický návrh. Stejný postup byl využit i pro tvorbu jednotlivých sekcí administrační části. 6.4.1
Rozmístění hlavních navigačních prvků
Administrace byla rozdělena na obsahovou a navigační část. Jak je vidět na obrázku 5, navigační panel zabírá pouze nepatrnou část stránky, což poskytuje dostatek prostoru pro obsahovou část, a tedy i zobrazení dalších nabídek při práci se systémem. Umístění navigace v horní části obrazovky a její členění do čtyř hlavních sekcí navíc usnadňuje orientaci v administraci systému, a zvyšuje tak uživatelský komfort při jeho užívání. Navigační panel je aktivní pouze pro přihlášeného uživatele a kombinuje administrační a prezentační část při samotné tvorbě obsahu. Obsahuje také již dříve zmíněného průvodce tvorbou webové stránky, jemuž bude věnována zvláštní pozornost v následující kapitole.
Obr. 5: Drátěný model administrace systému
6.5
Proces tvorby stránek
6.5
32
Proces tvorby stránek
Proces tvorby stránek byl rozdělen do vybraných sekcí, jak je uvedeno na obrázku 5. V rámci této kapitoly bude podrobně popsát návrh a realizace dílčích sekcí tohoto systému. Vzhledem k jeho rozsáhlosti jsou však navrženy, implementovány a popsány pouze vybrané pasáže celého systému. Pozornost byla zaměřena především na tvorbu vizitky, která byla popsána v kapitole 6.1.1. Průvodce tvorbou webových stránek zajišťuje výběr typu prezentace, rozvržení stránek, grafického vzhledu a samotnou tvorbu obsahu pomocí funkčních prvků. Zaměříme se tedy na tyto čtyři sekce, u kterých si popíšeme jejich účel, možnosti a způsob provedení. 6.5.1
Typ prezentace
Typ prezentace je první krok, který uživatel musí podstoupit, aby mohl vytvořit webovou stránku. V rámci této sekce je uživateli předložen seznam dostupných typů stránek, ze kterých si vybere právě jeden a bude do něj tvořit obsah. Samotný seznam poskytuje informace v obrazové i textové podobě, jak je uvedeno v drátěném modelu na obrázku 6.
Obr. 6: Drátěný model typu prezentace
6.5
Proces tvorby stránek
6.5.2
33
Rozvržení stránek a grafický vzhled
Sekce rozvržení stránek poskytuje uživateli různé druhy rozložení bloků na stránce, do kterých bude následně umístěn obsah. Pozice bloků na stránce je specifikována pomocí kaskádových stylů, s čímž souvisí i výsledná grafická podoba stránek. Ačkoli rozvržení stránky a grafické téma společně tvoří celkovou podobu stránky, zvolil jsem v této práci variantu rozdělení. Při velkém množství grafických témat je totiž obtížné se v nich orientovat, výběr se tak stává nepřehledným a uživatelsky nepřívětivým. Grafické náhledy pro rozvržení stránek nesou jednoduchou grafickou informaci, a tak je možné jejich velikost zmenšit, jak lze vidět na obrázku 7. Náhledy jednotlivých témat v sekci grafický vzhled naopak podrobně popisují výsledný vzhled stránek a je zcela nezbytné, aby měl uživatel k dispozici náhled v dostatečné velikosti již při výpisu témat bez nutnosti další činnosti. Touto činností je myšleno především zvětšování náhledů, které značně zpomaluje celý proces tvorby. V případě, že je náhled grafického tématu ve větším formátu než poskytuje administrační rozhraní, možnost zvětšení je samozřejmě nabídnuta. Obrázek 8 znázorňuje výběr z grafických témat v rámci sekce grafický vzhled. Grafická témata mohou být přímo závislá na rozvržení obsahových prvků. Jako druhý krok při tvorbě obsahu byl tedy vybrán výběr rozvržení stránek. Ke každému rozvržení jsou pak přiřazeny grafická témata, která si uživatel vybere ve třetím kroku průvodce.
Obr. 7: Drátěný model rozvržení stránek
6.5
Proces tvorby stránek
34
Obr. 8: Drátěný model grafického vzhledu 6.5.3
Tvorba obsahu
Sekce tvorba obsahu reprezentuje poslední krok průvodce tvorbou webové stránky. V rámci této sekce je načteno rozvržení společně s grafickým tématem a tvorba obsahu je přesunuta do prezentační části. To umožňuje uživateli vidět výsledek své tvorby v konečné podobě, bez nutnosti přepínání mezi administrační a prezentační částí. Každý z obsahových bloků má ve svém levém horním rohu umístěné tlačítko, které vyvolá dialogové okno s nabídkou pro vložení prvku do stránky. Nabídku prvků představují moduly, které jsou dostupné pro daný typ stránek. Výběr z modulů popisuje drátěný model seznamu dostupných modulů na obrázku 9. Po výběru konkrétního modulu se aktuálně otevřené okno zavře a načte se nové, pro vyplnění potřebných údajů. Další činnost je již závislá na požadavcích a možnostech konkrétního modulu. Jednoduchým příkladem může být použití modulu logo. Při jeho výběru se zobrazí nabídka pro nahrání souboru nebo zadání url adresy. Po potvrzení dialogu se vkládáný modul vloží jako prvek do obsahového bloku, ve kterém byla vyvolána nabídka pro vložení. Po najetí kurzorem myši na vložený prvek se zobrazí nabídka pro jeho odstranění, úpravu, či změnu pořadí v rámci obsahového bloku. Některé moduly mohou poskytovat pouze akci pro smazání či přesun v závislosti na typu obsahu.
6.5
Proces tvorby stránek
35
Obr. 9: Drátěný model seznamu dostupných modulů 6.5.4
Realizace vybraných modulů
V rámci této práce byly kromě celkové funkčnosti systému popsány i jednotlivé kroky průvodce tvorbou webové stránky. Dílčí kroky tohoto průvodce byly zvoleny za vybrané moduly systému a následně implementovány. Prvním krokem při implementaci bylo vytvoření grafické podoby jednotlivých stránek pomocí programu Fireworks CS4 od společnosti Adobe. Grafický návrh byl realizován na základě drátěného modelu, navrženého pro danou sekci v kapitolách: 6.5.1, 6.5.2, 6.5.3. Barevné schéma bylo vybráno monochromatické a jako odstín byla vybrána oranžová barva v kombinaci s bílou, černou a odstíny šedi. Pro splnění podmínky správné tvorby hypertextových dokumentů bylo zvoleno doporučení XHTML 1.0 Strict stanovené konsorciem W3C. Dynamická stránka projektu byla realizována v programovacím jazyce PHP 5.3.0 s propojením na databázi MySQL 5.1.36. Vývoj a testování funkčnosti aplikace byly realizovány na operačním systému Windows Vista v testovacím prostředí, které poskytla open-source aplikace WampServer 2.0. Při vývoji této aplikace byl kladen důraz na minimalizaci redundancí ve zdrojovém kódu, k čemuž přispěla i tvorba tříd pro jednotlivé prvky systému. Praktickou ukázkou ze zdrojových kódů aplikace je například vytvoření třídy ProjectSelector, která obsahuje funkce pro práci s dostupnými projekty v systému. Mezi tyto funkce patří například: getProjectInfo(),
6.5
Proces tvorby stránek
36
setProjectVisibility(), setProjectOrder() a deleteProject(). Níže uvedená ukázka zdrojového kódu popisuje funkci getProjectInfo(), která vrací setříděné pole informací o jednotlivých projektech. Funkci mohou být předány volitelné parametry: id a visibility. Parametr id je identifikátor konkrétního projektu a parametr visibility určuje, zdali je tento projekt nastaven pro zobrazení. Lze tak vypisovat nejen všechny projekty, ale i jeden konkrétní, s ohledem na jeho přístupnost. Ukázka implementace funkce getProjectInfo(): public function getProjectInfo ($id=0, $visibility=1) { if($id>0) $condition = " WHERE id = $id AND visible = $visibility "; else $condition = " WHERE visibility = $visibility "; $query = " SELECT * FROM " . $this->tableName . $condition . " ORDER BY order "; $result = mysql query($query); return $result; } Tabulky projects, layouts, themes a modules mají stejnou strukturu pro uchovávání dat, a proto byl výše uvedený princip získávání informací použit i pro následující kroky průvodce: typ prezentace, rozvržení stránek, vzhled stránek a seznam dostupných modulů. S ohledem na možná rozšíření systému byla zvolena tvorba samostatných tříd pro jednotlivé kroky průvodce. Vzhledem k rozsahu bakalářské práce a důkladnému návrhu systému byly realizovány první tři kroky průvodce tvorbou webové stránky. Dále byly položeny základy k budoucímu zpracování publikační a administrační části navrženého systému. Veškeré návrhy a implementované části systému jsou dostupné z WWW: http://wcms.pavelchmelar.cz/.
7
ZÁVĚR
7 7.1
37
Závěr Rozšiřitelnost systému
S ohledem na stanovené zásady systémů z hlediska komfortu uživatele byl při návrhu tohoto systému kladen velký důraz na jeho jednoduchost a způsob užívání. Přesto byl systém navržen tak, aby umožňoval budoucí rozšíření v co největší možné míře. Samotný průvodce tvorbou webových stránek je rozšiřitelný ve všech čtyřech krocích. Lze do něj nasadit libovolné rozvržení stránek, šablonu grafického vzhledu, typ stránek a samozřejmě moduly, které představují obsahové prvky na stránce. Struktura databáze umožňuje přidání téměř libovolného modulu a je připravena i na hierarchické členění stránek, vícevrstvá menu apod. Na systém je rovněž možné aplikovat další nástavby, mezi které mohou patřit například podrobné statistiky návštěv, využití jednotlivých modulů, případně další aktivity ze strany návštěvníků. Nádtavbou na tento systém by mohlo být například rozhraní pro překlad systémových částí a modulů do cizích jazyků nebo rozhraní pro správu více projektů v rámci jednoho úživatelského účtu.
7.2
Zhodnocení systému
Stěžejní částí této práce byl návrh systému, který by poskytoval jednoduché a intuitivní prostředí zajišťující komfort uživateli při jeho užívání. Ve srovnání s popisovanými systémy v kapitole 4.4 přináší tento systém nový, jednodušší a přehlednější způsob ovládání systému pro tvorbu a správu webového obsahu. To ocení především uživatelé bez hlubších technických znalostí, ale dostatečně pružná struktura systému otevře široké možnosti i uživatelům z řad vývojářů. Administrační rozhraní systému je provázáno s prezentační částí, a předkládá tak uživateli výsledek jeho aktuální tvorby na jednom místě a v jednom okně webového prohlížeče. V porovnání s popisovanými systémy tak otevírá zcela nové možnosti tvorby a správy obsahu webových stránek. Kromě modulárního přístupu k obsahovým prvkům zohledňuje systém také správu uživatelů a jejich přístupových práv, jež byla u některých porovnávaných systémů nedostačující. S ohledem na důkladný návrh systému a rozsah bakalářské práce byl systém realizován v rámci vybraných modulů, mezi které patří: výběr typu prezentace, volba rozvržení a výběr grafického tématu. Dále byla realizována základní struktura systému zohledňující případná rozšíření a byl položen základ pro detailní zpracování publikační části systému formou nových doplňků. V případě dokončení implementace celého systému by vznikl projekt, který by mohl najít své uplatnění nejen mezi širokou veřejností, ale i v neziskových společnostech a organizacích či dokonce v oblasti komerční sféry. Na dokončení implementace se hodlám aktivně podílet, a tak možná již letos budou realizovány první stránky vytvořené pomocí užitelsky komfortního prostředí.
8
8
LITERATURA
38
Literatura
CYROŇ, Miroslav. CSS - kaskádové styly : praktický manuál. Praha : Grada, 2006. 340 s. ISBN 978-80-247-1420-2. HIONG, Goh Seow. ZDNet [online]. 2004 [cit. 2010-04-20]. Open source vs commercial apps : the differences that matter II. Dostupný z WWW:
. MCPHERSON, Stephanie Sammartino. Tim Berners-Lee: Inventor of the World Wide Web. Colorado : Twenty-First Century Books, 2009. 112 s. ISBN 978-0-8225-7273-2. Miniwatts Marketing GroupInternet World Stats[online]. 2010-05-01 [cit. 2010-05-01]. European Union Internet Usage and Population Stats. Dostupné z WWW: . NARAMORE, Elizabeth. Vytváříme webové aplikace v PHP5, MySQL a Apache. Vyd. 1. Brno : Computer Press, 2006. 813 s. ISBN 80-251-1073-7. ROCKLEY, Ann; Kostur, Pamela; MANNING, Steve. Managing enterprise content: a unified content strategy. United States of America : New Riders, 2003. 565 s. ISBN 978-0-7357-1306-2. ŠTĚDROŇ, B. Open Source software ve veřejné správě a soukromém sektoru. Vyd. 1. Praha : Grada, 2009. 124 s. ISBN 978-80-247-3047-9. VOSSEN, Gottfried; LONG, Darrell D.E.; XU YU, Jeffrey (Eds.). Web Information Systems Engineering - Wise 2009. Berlin : Springer, 2009. 606 s. ISBN 978-3-642-04408-3. W3Schools Learn HTML and CSS with W3Schools. United States of America : John Wiley & Sons, 2010. 240 s. ISBN 978-0-470-61195-1. W3C W3C Recommendation[online]. Vyd. 2. 2000-01-26, 2002-09-01 [cit. 2010-0524]. XHTML 1.0 The Extensible HyperText Markup Language. Dostupné z WWW: . W3C W3C Specification[online]. 1999-12-24 [cit. 2010-05-01]. HTML 4.01 Specification. Dostupné z WWW: . W3C W3C Working draft[online]. 2010-03-04 [cit. 2010-05-02]. W3C Working Draft. Dostupné z WWW: . WaSP Group Web Standards Project[online]. 2002-02-27 [cit. 201005-01]. The Web Standards Project. Dostupné z WWW: . ZAKAS, Nicolas C.; MCPEAK, Jeremy; FAWCETT, Joe. Professional Ajax. Vyd. 2. United States of America : John Wiley & Sons, 2007. 598 s. ISBN 978-0-470-10949-6. ZAKAS, Nicolas C. JavaScript pro webové vývojáře. Vyd. 1. Brno : Computer Press, 2009. 832 s. ISBN 978-80-251-2509-0.
Přílohy
A
A
GRAFICKÉ UKÁZKY SYSTÉMU
Grafické ukázky systému
Obr. 10: Výber typu prezentace
40
A
GRAFICKÉ UKÁZKY SYSTÉMU
Obr. 11: Výběr rozvržení stránek
41
A
GRAFICKÉ UKÁZKY SYSTÉMU
Obr. 12: Výběr grafického vzhledu
42
A
GRAFICKÉ UKÁZKY SYSTÉMU
Obr. 13: Výběr z dostupných modulů
43