}w !"#$%&'()+,-./012345
M ASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Webový portál pro procesní komunitu ˇ B AKALÁ RSKÁ PRÁCE
Vít Hovˇezák
Brno, podzim 2012
Prohlášení Prohlašuji, že tato bakaláˇrská práce je mým puvodním ˚ autorským dílem, které jsem vypracoval samostatnˇe. Všechny zdroje, prameny a literaturu, které jsem pˇri vypracování používal nebo z nich cˇ erpal, v práci rˇ ádnˇe cituji s uvedením úplného odkazu na pˇríslušný zdroj.
Vít Hovˇezák
Vedoucí práce: Mgr. Jiˇrí Koláˇr ii
Podˇekování Na tomto místˇe bych velice rád podˇekoval všem, kteˇrí mi pro tuto práci ochotnˇe poskytli jakékoli cenné rady. Pˇredevším vstˇrícnému vedoucímu své bakaláˇrské práce Mgr. Jiˇrímu Koláˇrovi, díky kterému jsem mˇel možnost nahlédnout do svˇeta procesního rˇ ízení a který se svou trpˇelivostí zasloužil o dokonˇcení práce. V neposlední rˇ adˇe dˇekuji také své rodinˇe a kamarádum ˚ za neustálou morální podporu.
iii
Shrnutí Tématem mé bakaláˇrské práce je vytvoˇrení webového portálu sloužícího pro drobné publikace a blogování v oblasti BPM a rovnˇež pro využití procesu˚ v oblasti e-learningu, související s projektem MEDUSY. Cílem je vypracovat analýzu potˇreb procesnˇe orientované komunity, pomocí které zvolím vhodné rˇ ešení. V praktické cˇ ásti popisuji vývoj webu pomocí dvou odlišných platforem (Google Sites, CMS Drupal) a srovnávám výhody jejich použití. Jako souˇcást práce vytváˇrím i grafický návrh portálu a aplikuji jej na obˇe implementace.
iv
Klíˇcová slova webový portál, BPM, procesní rˇ ízení, e-learning, analýza potˇreb, responzivní design, Drupal, Google Sites, CMS
v
Obsah 1 2
3
4
5
6
Úvod . . . . . . . . . . . . . . . . . . . . . . . 1.1 Používané zkratky . . . . . . . . . . . . Analýza potˇreb procesní komunity . . . . . 2.1 Funkˇcní požadavky . . . . . . . . . . . . 2.1.1 Hierarchie uživatelských rolí . . 2.1.2 Publikování cˇ lánku˚ a blogování 2.1.3 Ostatní funkce . . . . . . . . . . . 2.2 Technické požadavky . . . . . . . . . . . Systémy pro správu obsahu . . . . . . . . . . 3.1 WordPress . . . . . . . . . . . . . . . . . 3.2 Joomla! . . . . . . . . . . . . . . . . . . . 3.3 Drupal . . . . . . . . . . . . . . . . . . . 3.4 Google Sites . . . . . . . . . . . . . . . . 3.5 Ostatní CMS . . . . . . . . . . . . . . . . Grafické podklady . . . . . . . . . . . . . . . 4.1 Logo . . . . . . . . . . . . . . . . . . . . 4.2 Layout . . . . . . . . . . . . . . . . . . . 4.3 Responzivní design . . . . . . . . . . . . Implementace webového portálu . . . . . . 5.1 Drupal . . . . . . . . . . . . . . . . . . . 5.1.1 Uživatelé a oprávnˇení . . . . . . 5.1.2 Typy obsahu . . . . . . . . . . . . 5.1.3 Kategorie . . . . . . . . . . . . . 5.1.4 Views . . . . . . . . . . . . . . . . 5.1.5 Vlastní modul . . . . . . . . . . . 5.2 Google Sites . . . . . . . . . . . . . . . . 5.2.1 Rozvržení webu . . . . . . . . . . 5.2.2 Šablony stránek . . . . . . . . . . Závˇer . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 3 3 4 5 5 6 6 7 8 9 10 11 11 11 13 15 15 15 16 17 18 19 21 21 21 23
vi
1 Úvod V dnešním svˇetˇe informaˇcních technologií je stále duležitˇ ˚ ejší pˇricházet s výsledky práce co nejdˇríve. Je to nutné zejména z duvodu ˚ stále rostoucí konkurence v této oblasti a také kvuli ˚ rychle se rozvíjejícím technologiím. V oblasti webových portálu˚ to platí o to více, že jsou výsledky práce viditelné všem uživatelum ˚ ihned po nasazení do ostrého provozu. Portálem zde rozumíme jakýkoli systém shromažd’ující data, který je pˇrístupný široké veˇrejnosti, webovým portálem pak takový, který je pˇrístupný pˇres internet. Proto je pro stále vˇetší množství projektu˚ výhodné využít již existujících rˇ ešení. Na prvním místˇe se nabízí zvolit redakˇcní systém – „Content management system“ (systém pro snadnou správu obsahu, dále jen CMS). Tyto systémy mají nespornou výhodu ve své komunitˇe vývojáˇru, ˚ kteˇrí mají snahu svuj ˚ systém stále vylepšovat a opravovat bezpeˇcnostní chyby. Je ale nutné si uvˇedomit, že takové rˇ ešení není zdaleka vhodné pro všechny projekty a že je vždy tˇreba zvážit všechna pro a proti. Pˇri vývoji obecnˇe jakéhokoli portálu bychom se mˇeli zamˇerˇ it na nároky, které se na konkrétní projekt kladou. V souˇcasné dobˇe existuje široká škála redakˇcních systému, ˚ ze kterých je možné podle tˇechto nároku˚ vybrat. Osobnˇe jsem pro webový portál procesní komunity shledal mezi CMS nejvhodnˇejším Drupal [3], se kterým mám v praxi výborné zkušenosti a který se ukazuje být správnou volbou zejména díky jeho univerzálnímu použití. V této oblasti byla vytvoˇrena rˇ ada projektu, ˚ které na tomto systému úspˇešnˇe fungují. Z cˇ eských projektu˚ je možné jmenovat napˇríklad web televize Prima FTV. Úskalím tˇechto CMS je ale jejich technické rˇ ešení. Vˇetšina z nich je tvoˇrena s využitím programovacího jazyka PHP („Hypertext Preprocessor“) [6], kvuli ˚ cˇ emuž není vˇetšinou možné je využití pro úkoly s vysokou výpoˇcetní nároˇcností, což bylo již dokázáno nespoˇctem nezávislých mˇerˇ ení. Tuto nevýhodu ale vyvažuje množství pozitivních vlastností, které u hotových CMS najdeme. Neocenitelným pruvod˚ cem svˇetem redakˇcního systému Drupal mi byla kniha Pro Drupal 7 Development: Third Edition [11], kterou napsal Todd Tomlinson a dále napˇr. Drupal 7 Module Development [1] a Drupal Web Services [8]. Jelikož je moje práce implementaˇcního typu, snažil jsem se vše pojmout co nejvíce prakticky. Nejprve jsem provedl analýzu potˇreb procesní komunity, pˇri které se objevily požadavky i na funkˇcnost, jež nejsou bez hlubší znalosti tématu zˇrejmé. Poté bylo nutné zpracovat návrh funkcí a specifikaci webu, což obnášelo výbˇer CMS, volbu odpovídajících modulu˚ a celkové uspoˇrádání potˇreb komunity do smysluplné podoby pro schválení. Z vlastních zkušeností vím, že 1
1. Ú VOD právˇe výbˇer modulu˚ muže ˚ v budoucnu zpusobit ˚ nejvíce komplikací, proto se v této fázi vyplatí vynaložit vˇetší úsilí. Mým cílem je na pˇríkladu ukázat, že použití CMS má smysl i pro takový portál. Ze všech zvažovaných systému˚ vyšel vítˇeznˇe volnˇe šiˇritelný Drupal, který nabídl nejvíce možností pro implementaci požadavku˚ a pro budoucí rozšiˇrování webu. Jako alternativu pro srovnání jsem zvolil Google Sites [7], což je pˇrímoˇcaré rˇ ešení pro budování publikaˇcních webových portálu. ˚ Z ostatních možností se nabízel napˇr. Wordpress [9] nebo Joomla [10]. Po tomto úkolu byl celý návrh funkˇcnosti odsouhlasen a bylo možné pˇrejít k implementaci. Zde je potˇreba zmínit, že Drupal byl vybrán ve verzi 7, je naprogramovaný v jazyce PHP a nejlépe spolupracuje s webovým serverem Apache [5]. Nedílnou souˇcástí vývoje webu bylo vytvoˇrení vhodné webové grafiky a její kódování do použitelné šablony, což obnášelo také navržení odpovídajícího loga. Oba webové portály byly vytvoˇreny a nyní jsou již v testovacím provozu. Ukázalo se, že zvolené technologie jsou vyhovující a že je možné s CMS v budoucnu stále poˇcítat jako se silnou konkurencí k systémum ˚ na míru. Za dobu používání se sice objevilo nˇekolik požadavku˚ na úpravu, ale díky všestrannosti zvolených systému˚ bylo vždy možné dojít k vyhovujícímu výsledku. Tímto jsem ukázal, že použití CMS pro podobné projekty má opravdu smysl a pro moji další práci budou tyto redakˇcní systémy vždy zvažovány.
1.1 Používané zkratky BPM – „Business process management“ (procesní rˇ ízení) je skupina firemních cˇ inností a pravidel, pomocí kterých se lze efektivnˇe postarat o požadavky klientu, ˚ ale i zamˇestnancu. ˚ CMS – „Content management system“ (systém pro správu obsahu) umožnuje ˇ pomocí softwaru (dnes pˇredevším webové aplikace) snadno vytvárˇ et, upravovat, mazat a publikovat libovolný obsah (napˇr. cˇ lánky). PHP – „Hypertext Preprocessor“ je skriptovací programovací jazyk s bohatou podporou internetových protokolu, ˚ který využíváme zejména pro tvorbu dynamických webových aplikací. [6] MySQL – Multiplatformní databázový systém, který je pro své jednoduché nasazení velice cˇ asto používán, a proto je podporovaný vˇetšinou dnešních publikaˇcních systému. ˚
2
2 Analýza potˇreb procesní komunity Podstatným krokem pro návrh jakékoli webové aplikace je bezesporu získání pˇredstavy o požadavcích cílové skupiny uživatelu. ˚ V tomto pˇrípadˇe o komunitˇe zabývající se procesním rˇ ízením. Nejjednodušší cestou bylo seznámení se základy BPM a následná interview s vybranými cˇ leny skupiny. Z tˇechto rozhovoru˚ vyplynula rˇ ada duležitých ˚ poznatku, ˚ kterou je možné rozˇclenit do dvou hlavních skupin. První z nich jsou požadavky funkˇcní, jež urˇcují základní rozvržení možností systému. Jedná se tedy napˇr. o možnost publikování cˇ lánku, ˚ pˇrípadnˇe o vyhledávání v již zveˇrejnˇených pˇríspˇevcích. Druhou, ale neménˇe duležitou ˚ skupinou, jsou požadavky technické neboli nefunkˇcní, k nimž patˇrí zejména požadavky na výkon aplikace.
2.1 Funkˇcní požadavky 2.1.1 Hierarchie uživatelských rolí V každé aplikaci s vˇetším množstvím uživatelu˚ je dobré vymezit nˇekolik skupin (uživatelské role), které se navzájem liší ruznými ˚ možnostmi v rámci systému (oprávnˇení). Zajistíme tak zejména jasnˇe daný rozsah odpovˇednosti jednotlivých uživatelu˚ a zamezíme pˇrístupu k nastavením, která mají být pro nˇekteré role skrytá. Implicitnˇe využíváme rozdˇelení anonymního uživatele (návštˇevník) a pˇrihlášeného uživatele (administrátor) – ve vˇetšinˇe pˇrípadu˚ je návštˇevník konzumentem obsahu (muže ˚ jej pouze zobrazit) a administrátor tvur˚ cem (vytváˇrí, upravuje a maže obsah). Pro úˇcely BPM komunity je ale vhodnˇejší pˇridat další role s pokroˇcilejším rozdˇelením oprávnˇení (uživatelské role jsou serˇ azeny od nejslabší po nejsilnˇejší a každá další dˇedí oprávnˇení z pˇredchozí). ˇ veˇrejný obsah, pˇridává komentáˇre ke cˇ lánkum • Návštˇevník – Cte ˚ a vidí pˇrihlašovací formuláˇr (jedná se o nepˇrihlášeného uživatele). • Redaktor – Píše cˇ lánky a bloguje (každý pˇrihlášený uživatel má tuto roli). • Moderátor – Schvaluje cˇ lánky k publikování, upravuje a publikuje revize cˇ lánku, ˚ vytváˇrí nové uživatele (redaktory) a udˇeluje roli „Moderátor“. • Administrátor – Spravuje veškerá nastavení webu a uživatelu, ˚ pˇridˇeluje role uživatelum ˚ a oprávnˇení rolím, upravuje kategorie cˇ lánku˚ a provádí aktualizace systému. 3
ˇ 2. A NALÝZA POT REB PROCESNÍ KOMUNITY
2.1.2 Publikování cˇ lánku˚ a blogování Nejduležitˇ ˚ ejší funkcí pro každou podobnou komunitu je možnost vytvárˇ et na webu cˇ lánky cˇ i blogové pˇríspˇevky a publikovat je návštˇevníkum. ˚ Pro komplexní správu cˇ asto se upravujících cˇ lánku˚ se hodí systém revizí, díky kterému je moderátor schopný sledovat vývoj a urˇcovat, která revize bude veˇrejnˇe pˇrístupná. Další užiteˇcnou funkcí je odkazování na informaˇcní zdroje pˇrímo ze cˇ lánku a s tím spojené vyhledávání cˇ lánku˚ podle použitých informaˇcních zdroju. ˚ • Správa revizí – Každý cˇ lánek muže ˚ mít více revizí (moderátor urˇcí, která z nich je veˇrejnˇe pˇrístupná), redaktoˇri mužou ˚ na základˇe editace existující revize vytváˇret nové a žádat takto o publikování aktuální verze. • Komentáˇre – Každý uživatel muže ˚ ke cˇ lánkum ˚ s otevˇrenou diskuzí vkládat vlastní komentáˇre, moderátor má však právo diskuzi u libovolného cˇ lánku vypnout cˇ i skrýt. • WYSIWYG editor – „What you see is what you get“ (co vidíš, to dostaneš) – Pro pohodlné vkládání cˇ lánku˚ je žádoucí využít textový editor, který pˇrevádí formátovaný text do HTML znaˇcek („HyperText Markup Language“). • Štítkování a kategorie – Podstatné je tˇrídˇení obsahu podle kategorií a pˇridávání libovolných štítku˚ (tagu) ˚ k jednotlivým cˇ lánkum. ˚ Takto lze pozdˇeji podobné cˇ lánky snadno vyhledávat. • Obrázky, videa a dalších média – Je možné pˇridat cˇ lánku úvodní obrázek, ale také vkládat obrázky a další média pˇrímo do textu cˇ lánku, nejlépe pomocí WYSIWYG editoru. ˇ • Odkazování na informaˇcní zdroje – Casto bývají v textu cˇ lánku použity citace z externího zdroje (kniha, noviny, cˇ asopis cˇ i jiná webová stránka) a je tˇreba na takové zdroje pˇrehlednˇe odkazovat (viz 2.1.3). • Blogování – Každý redaktor muže ˚ vytváˇret blogové pˇríspˇevky, které se budou vizuálnˇe i umístˇením lišit od ostatních cˇ lánku. ˚ Takový pˇríspˇevek pak bude moci editovat pouze autor, který jej vytvoˇril. Moderátor bude mít však stále možnost pˇríspˇevek oznaˇcit jako nevydaný, cˇ ímž jej skryje pˇred anonymními návštˇevníky. Redaktor jej ale bude moci dodateˇcnˇe upravit a požádat o opˇetovné publikování. 4
ˇ 2. A NALÝZA POT REB PROCESNÍ KOMUNITY
2.1.3 Ostatní funkce Shromažd’ování informaˇcních zdroju˚ – Pro pˇrehledné ukládání informaˇcních zdroju˚ bude nutné vyplnit název zdroje a poté vybrat odpovídající typ podle toho, jestli se jedná o webovou stránku, knihu, noviny, cˇ asopis nebo ostatní. Další typy zdroje bude moci pˇridávat moderátor. Následnˇe uživatel vyplní ostatní údaje, mezi které patˇrí autor, odkaz a volitelnˇe i krátký popisek a libovolné štítky. Zminované ˇ informaˇcní zdroje se zobrazí pod cˇ lánkem, pˇrípadnˇe je možné je vložit pˇrímo do textu. Seznam všech takto vytvoˇrených informaˇcních zdroju˚ na webu si mužou ˚ všichni uživatelé prohlédnout na samostatné stránce. Pomocí filtrování lze takto najít napˇr. pouze knižní zdroje a zobrazit všechny cˇ lánky, ve kterých se takové zdroje zminují. ˇ Sociálních sítˇe a RSS – Pˇri vkládání nového cˇ lánku cˇ i blogového pˇríspˇevku se muže ˚ jeho autor rozhodnout, do které propojené sociální služby bude odeslána krátká upoutávka. Muže ˚ se jednat o služby „facebook.com“, „plus.google.com“, „twitter.com“, pˇrípadnˇe „linkedin.com“. Podobnou funkcí bude zpˇrístupnˇení agregace obsahu z externích webových zdroju, ˚ díky které budou na webu komunity zobrazovány odkazy na zajímavé cˇ lánky i z jiných webu. ˚ Navíc portál umožní uživatelum ˚ odebírat veškeré novinky pomocí RSS kanálu („Really Simple Syndication“).
2.2 Technické požadavky Pˇri hledání technických požadavku˚ se vˇetšinou soustˇredíme na operace v systému, které mohou být pro bˇežný provoz kritické. Jedním z cˇ asto uvádˇených pˇríkladu˚ muže ˚ být bankovnictví, u kterého vyžadujeme vysokou spolehlivost a rychlou odezvu provádˇených akcí. U webového portálu pro procesní komunitu jsem se však po všech rozhovorech pˇresvˇedˇcil o tom, že není nutné zvažovat žádnou na výkon kritickou funkci. Proto je jediným technickým požadavkem rychlá odezva serveru, která nemá pˇresáhnout 1 sekundu pro zpracování výstupu uživateli.
5
3 Systémy pro správu obsahu 3.1 WordPress WordPress je znám pˇredevším jako oblíbený blogovací systém. Pro jeho jednoduchost je možné jej použít pro vytvoˇrení jednoduchých prezentací, již zmínˇené blogy cˇ i internetové cˇ asopisy menšího rozsahu. Je napsaný v jazyce PHP a využívá databázi MySQL. Systém je podporovaný spoleˇcností Automattic. Roˇcnˇe WordPress zaznamená kolem milionu stažení a s poˇctem kolem 20 000 programátoru˚ je jedním z nejrozšíˇrenˇejších systému. ˚ O vznik redakˇcního systému WordPress se zasloužili Matt a Mike Little roku 2003, aˇckoliv jeho puvod ˚ sahá až do roku 2001. WordPress je oficiálním nástupcem systému „b2/cafelog“, který puvodnˇ ˚ e obsahoval jen minimum kódu, avšak postupem cˇ asu se rozvinul do dnešní podoby, kdy je podle statistik celosvˇetovˇe používán na více než 17 % veškerých webových stránek. Pro systém WordPress byl zásadním milníkem rok 2005, kdy byla vydána témˇerˇ milionkrát stažená verze 1.5. V té dobˇe byla zahájena hostingová služba WordPress.com sloužící zejména pro tvorbu osobních blogu. ˚ Pro bezproblémový chod aktuální verze WordPressu je nezbytné, aby webhosting podporoval verzi PHP minimálnˇe 5.2.4 a verzi MySQL nejménˇe 5.0. Nejvhodnˇejšími HTTP servery ( „Hypertext Transfer Protocol“) jsou Apache a Nginx. Zejména pro Apache je WordPress optimalizovaný a peˇclivˇe testovaný. Data byla získána z oficiálního webu systému WordPress [9] a z webu jeho cˇ eské podpory [12]. Jednoznaˇcnou výhodu tohoto CMS je jeho již zmínˇená jednoduchost, nenároˇcnost na server, rychlost, pravidelné aktualizace a také velké množství pluginu˚ a šablon. Z jeho pluginu˚ je velmi známý WYSIWYG editor Texi, který patˇrí k nejlepším cˇ eským programum ˚ pro úpravy textu. Další výhodou WordPressu je poˇcetná komunita vývojáˇru, ˚ dostatek dokumentace a návodu. ˚ Jednoduchost redakˇcního systému WordPress má i své nevýhody – vede k tomu, že jej nelze použít pro prezentace vˇetšího rozsahu. Pˇri rostoucích návštˇevnostech webu˚ je také tˇreba použít vhodný cachovací plugin. Oproti jiným systémum ˚ je nevýhodou také absence oficiální podpory a zranitelnost systému˚ vuˇ ˚ ci útokum. ˚
Obrázek 3.1: Logo CMS WordPress [9] 6
3. S YSTÉMY PRO SPRÁVU OBSAHU
3.2 Joomla! Joomla je jedním z redakˇcních systému˚ založených na jazyce PHP a soucˇ asnˇe je to velmi univerzální systém vhodný jak pro bˇežné weby, tak pro eshopy. Vhodná je také pro back-endové sítˇe. V souˇcasné dobˇe má více než 200 000 uživatelu, ˚ více než 7 000 rozšíˇrení a velmi aktivní uživatelskou komunitu. Roˇcnˇe Joomla zaznamená kolem 115 000 stažení a zabývá se jí 16 500 vývojáˇru. ˚ Historie redakˇcního systému Joomla je nesmazatelnˇe spojena s CMS Mambo. Právˇe Mambo pochází z roku 2000 z dílen australské spoleˇcnosti Miro. Roku 2003 se však spoleˇcnosti Miro od Mamba distancovala a zodpovˇednost pˇrešla na Open Source project Development Team. Od té doby bylo Mambo cˇ ím dál tím více populární a sbíralo ruzná ˚ ocenˇení. Po neshodách vedení se pak pod taktovkou puvodního ˚ týmu Mamba v záˇrí 2005 objevila první verze systému Joomla. Jelikož je tento CMS založen na PHP, potˇrebujeme, aby se na daném webovém serveru nacházel PHP server verze 5.2.4 a více. Za splnˇení této podmínky Joomla spolupracuje se servery s operaˇcním systémem Windows i Linux. Dále je nezbytná databáze MySQL. Nová Joomla 3 však navíc podporuje i databáze MSSQL a PostgreSQL. Bˇežná konfigurace v prostˇredí Linux by pak mˇela zahrnovat webový server Apache cˇ i Nginx, zatímco ve Windows se jedná o IIS ( „Internet Information Services“). Data byla získána z oficiálního webu systému Joomla [10]. Mezi výhody CMS Joomla patˇrí její pˇrehledná administrace, instalace doplnk ˇ u˚ šablon pˇres administraci, obecnˇe velké množství ruzných ˚ rozšíˇrení a šablon. V cˇ eských podmínkách také existuje pomˇernˇe široká komunita. Joomla dále vyniká ve skvˇelé správˇe uživatelu˚ a pˇridˇelování práv. Velmi cenˇená je také možnost provozu internetového obchodu a webu firmy souˇcasnˇe. Na druhou stranu není redakˇcní systém Joomla dostateˇcnˇe zabezpeˇcený a bez pravidelných aktuˇ alizací administrátorem lze uložená data pomˇernˇe snadno ohrozit. Casto uvádˇenou nevýhodou byla dˇríve zastaralost jádra systému, kterou vyˇrešila dlouho oˇcekávaná verze 1.5. Ve srovnání s ostatními systémy není uživatelské rozhraní nijak zvlášt’ pˇrívˇetivé.
Obrázek 3.2: Logo CMS Joomla! [10]
7
3. S YSTÉMY PRO SPRÁVU OBSAHU
3.3 Drupal Drupal je univerzální redakˇcní systém postavený na PHP. Pochází z Holandska od studenta Driese Buytaerta. Vznikl v roce 2001 a od té doby si až do dnešních dnu˚ získává mnoho pˇríznivcu. ˚ Je pro nˇej charakteristické výraznˇejší zamˇerˇ ení na správu obsahu a publikování a také složitˇejší proces uˇcení, nicménˇe po ovládnutí dosahuje výborných výsledku. ˚ Celý systém tvoˇrí jednotlivé moduly, z nichž každý obstarává co nejmenší cˇ ást funkcionality, díky cˇ emuž je možné moduly skládat na základˇe závislostí. Poˇcet modulu˚ se blíží cˇ íslu 20 000, což znaˇcí velké možnosti jeho funkˇcnosti. Základna vývojáˇru˚ tohoto systému cˇ ítá okolo 23 000 programátoru. ˚ Autorem redakˇcního systému Drupal je již zmínˇený holandský student Dries Buytaert. Ten roku 2000 vytvoˇril systém pro sdílení informací se svými spolužáky a nazval jej Drop. Název vznikl z pˇreklepu ve slovˇe Dorp (v nizozemštinˇe znamená vesnice). První veˇrejná verze systému z roku 2001 již vyšla pod názvem Drupal. Od té doby se autorovi pˇridalo mnoho vývojáˇru, ˚ kteˇrí se podílejí na vývoji jádra. Od cˇ tvrté verze je Drupal vyvíjen paralelnˇe ve dvou verzích, aby byly bezpeˇcnostní záplaty k dispozici i pro starší weby. Aktuálnˇe jsou takto podporované verze 6 a 7. Data byla získána z oficiálního webu systému Drupal [3]. Drupal je systémovˇe pomˇernˇe nenároˇcný, ale pˇri pˇridání základních modulu˚ nároˇcnost naroste. Vzhledem k dnešním výkonum ˚ serveru˚ to je ale naštˇestí pˇrijatelná danˇ za širokou škálu možností. Vyhovující jsou operaˇcní systémy Linux i Windows ve spojení s databází MySQL, PostgreSQL, pˇrípadnˇe SQLite. Nejvhodnˇejší webový server je Apache, ale lze využít i Nginx nebo IIS.
Obrázek 3.3: Logo CMS Drupal [3]
Jednoznaˇcnými výhodami Drupalu jsou poˇcetné moduly, v administraci upravovatelné šablony a velmi aktivní komunita, která dokonce poˇrádá ruzné ˚ semináˇre a osobní setkání. Komunita také vytváˇrí komplexní dokumentaci, ve které muže ˚ uživatel najít veškeré potˇrebné informace. Mezi nevýhody Drupalu 8
3. S YSTÉMY PRO SPRÁVU OBSAHU však patˇrí nepˇríliš vysoká pˇrehlednost mezi jednotlivými moduly. Zejména zacˇ áteˇcníci tedy mají problém vybrat ty správné. V aktuální verzi Drupalu pˇrišla dlouho oˇcekávaná vylepšení, která zaˇcáteˇcníkum ˚ práci s tímto CMS zjednodušila, nicménˇe stále je nutná napˇríklad ruˇcní aktualizace jádra systému. Možnosti komerˇcní podpory, mnoho modulu˚ a pokroˇcilost však z tohoto systému pˇresto dˇelají jeden z nejpoužívanˇejších redakˇcních systému. ˚
3.4 Google Sites Aplikaci Google Sites (v cˇ eské variantˇe pˇrekládané jako Google Weby) bychom mohli nazvat spíše nástrojem pro vytváˇrení webových stránek, než plnohodnotný CMS. Chybí totiž možnost získat zdrojové soubory s databází a systém provozovat oddˇelenˇe od serveru˚ spoleˇcnosti Google. Co se však chvíli zdá být nevýhodou, v zápˇetí nás pˇresvˇedˇcí o opaku. Není nutné starat se o jakékoli technické zázemí cˇ i aktualizace, všechno totiž probíhá bez našeho zásahu. Google Sites se tedy výbornˇe hodí pro rychlé nasazení webu pouhým klikáním a najde uplatnˇení zejména pro práci ve skupinˇe více uživatelu. ˚
Spoleˇcnost Google tento nástroj získala v rˇ íjnu roku 2006 odkoupením a pˇrejmenováním z puvodního ˚ projektu s názvem JotSpon. V roce 2007 jej sloucˇ ila se svým vlastním projektem Google Pages a pˇrejmenovala právˇe na Google Sites. Dnes je možné vytváˇret weby zdarma a provozovat je pod doménou „sites.google.com“, pˇrípadnˇe nasmˇerovat na vlastní doménu. Nelze ale opomenout urˇcitá omezení, se kterými je tˇreba poˇcítat. Není napˇríklad možné uskladnit vˇetší množství dat než 100 MB cˇ i použít nepovolené HTML znaˇcky. Uživatel je dále vázán omezeným množstvím šablon a musí se spokojit s víceménˇe pevnˇe stanovenou strukturou webu. Data byla získána z oficiálního webu služby Google Sites [7].
Podstatnou výhodou tohoto nástroje je její snadné propojení na již existující Google služby a není tedy nutné vytváˇret nové úˇcty v pˇrípadˇe, kdy má uživatel u této spoleˇcnosti aktivní e-mail. Dalším pozitivem je propracovaný systém oprávnˇení, což je pro práci v týmu nezbytné. Na druhou stranu je tˇreba rˇ íci, že omezený systém šablon nebude vyhovovat všem. Kdo vyžaduje složitˇejší úpravy, pravdˇepodobnˇe zvolí nˇekteré z plnohodnotných CMS. I pˇres všechna omezení se ale služba Google Sites zdá být použitelným rˇ ešením v pˇrípadˇe, kdy potˇrebujeme rychle rˇ ešit týmové záležitosti, ale nemáme potˇrebu komplexních úprav struktury cˇ i grafiky webu. 9
3. S YSTÉMY PRO SPRÁVU OBSAHU
3.5 Ostatní CMS Mambo – Redakˇcní systém Mambo je vyvíjený od roku 2000 a spoleˇcnˇe s CMS Joomla patˇrí mezi nejpoužívanˇejší redakˇcní systémy, díky cˇ emuž muže ˚ nabídnout solidní technickou podporu. Kromˇe toho je charakteristický vysokou stabilitou. Jeho hlavní výhoda však spoˇcívá v tom, že od uživatelu˚ nevyžaduje znalosti jazyka HTML a je tak velmi nenároˇcný na obsluhu. Mambo je založen na jazyce PHP a vyžaduje operaˇcní systém Linux a databázi MySQL. Textpattern – Textpattern také patˇrí mezi systémy založené na PHP. Jedná se o velmi flexibilní systém používající znaˇckování podobné HTML, navíc s vynikající dokumentací. Je uživatelsky velmi pˇrívˇetivý, dokonce i pro technicky ménˇe zdatné uživatele. Jeho nevýhodou je pomˇernˇe malé množství rozšíˇrení a šablon k dispozici. Celkem nabízí okolo 150 šablon a 750 pluginu. ˚ Systémové požadavky na tento redakˇcní systém nejsou pˇríliš vysoké, proto je zvláštˇe na slabších serverech cˇ asto využívaný. Umbraco – Umbraco patˇrí mezi systémy založené na jazyce .NET. Má široké použití pro bˇežné weby i intranety. Jeho velkou výhodou je naprosto otevˇrený systém šablon, startovací sady a motivy. Významnými klady jsou také bezplatné i komerˇcní výukové materiály a podpora. Spousta uživatelu˚ zajisté ocení dobrou spolupráci s programem Microsoft Word. Mezi nevýhody patˇrí nutnost zaplatit primární doplnky ˇ a absence vypracovaných témat pro uživatele. Aktuální verze CMS Umbraco pro svuj ˚ chod vyžaduje webový server IIS 7 nebo vyšší, ASP.NET nejménˇe ve verzi 4 a jednu z databází SQL Server 2008, SQL CE pˇrípadnˇe MySQL. Uvedená data byla získána z webu Webdesigner Depot [4].
10
4 Grafické podklady Nároky komunity pro grafické zpracování webu nebyly nijak velké, proto jsem se rozhodl pojmout tvorbu podle vlastního uvážení. Nejprve jsem však prošel mnoho existujících portálu, ˚ abych se inspiroval. Z pruzkumu ˚ vyplynulo, že kvalita grafiky webu˚ je spíše podprumˇ ˚ erná, což podpoˇrilo moji snahu z této rˇ ady vystoupit a pˇrijít s originálním návrhem.
4.1 Logo
Obrázek 4.1: Logo webu
Pro zpracování loga mi jako nejvhodnˇejší prvek pˇrišla UML notace ( „Unified Modeling Language“), konkrétnˇe naznaˇcení diagramu aktivit, což je bˇežná forma vyjádˇrení v procesním rˇ ízení. Myšlenka loga spoˇcívá v propojení BPM s portálem (viz obrázek 4.1). Další šipkou je naznaˇceno, že zde proces nekonˇcí. To je možné tvrdit hlavnˇe díky propojení na sociální sítˇe a díky možnosti interakce s uživateli prostˇrednictvím komentáˇru. ˚ Logo bylo pˇrijato kladnˇe a nebyly k nˇemu žádné pˇripomínky, tudíž jej využiji pˇri vytváˇrení layoutu webu.
4.2 Layout Ve fázi návrhu grafiky webu jsem vycházel ze zažitých zvyklostí a snažil jsem se vytvoˇrit spíše cˇ istý a pˇrehledný layout (viz obrázek 4.2). Jako hlavní barvy jsem zvolil sytˇe modrou a šedou, které jsou podle potˇreby doplnovány ˇ jejich odstíny. Za zmínku stojí výrazný banner, na kterém podle potˇreby rotují duležité ˚ cˇ lánky. Navigaˇcní prvky jako hlavní menu cˇ i vyhledávání jsou umístˇeny v hlaviˇcce. O dalších cˇ ástech se dále zminuji ˇ pˇri implementaci webu.
11
4. G RAFICKÉ PODKLADY
Obrázek 4.2: Základní layout webu 12
4. G RAFICKÉ PODKLADY
4.3 Responzivní design ˇ Castá praktika pˇri budování moderních webových portálu˚ je responzivní design. Jedná se o metodu, díky které se web pˇrizpusobuje ˚ šíˇrce displeje zaˇrízení, na kterém je zobrazován. Tento zpusob ˚ zobrazení webu je dnes duležitý ˚ zejména kvuli ˚ pˇrítomnosti široké škály mobilních zaˇrízení. Každý takový mobilní telefon cˇ i tablet má odlišnou velikost displeje a ovládání webové aplikace proto nemusí být vždy pohodlné. Responzivní design rˇ eší tuto situaci nejˇcastˇeji tak, že nabízí zmˇenu uskupení jednotlivých prvku˚ na stránce bez nutnosti jejího opˇetovného naˇctení. Mužeme ˚ takto mít napˇr. 4 nezávislé designy, každý pro urˇcitou maximální šíˇrku displeje. Jednotlivé verze jsem zpracoval do samostatných náhledu. ˚ Mobilní layout – Na obrázku 4.3 je možné si prohlédnout ukázku portálu, který je zobrazen napˇríklad na mobilním telefonu, pˇrípadnˇe nˇekterých menších tabletech ve svislé poloze (aby nebyla ukázka pˇríliš vysoká, jsou dvˇe ruzné ˚ cˇ ásti stránky zobrazeny vedle sebe).
Obrázek 4.3: Mobilní layout webu
13
4. G RAFICKÉ PODKLADY Úzký layout – Pro bˇežné tablety ve vertikální poloze je uzpusobena ˚ verze layoutu zobrazená na obrázku 4.4. Velikosti jednotlivých prvku˚ stránek (napˇr. odkazy) jsou upraveny pro snadnˇejší navigaci pomocí doteku prstu, podobnˇe jako je tomu u mobilní verze designu.
Obrázek 4.4: Úzký layout webu
Široký layout – Na obrázku 4.5 je poslední z možných alternativ k základnímu layoutu, která je urˇcená pro širokoúhlé displeje. Všechna uvedená rozvržení je možné vyzkoušet i na bˇežném monitoru pouhou zmˇenou šíˇrky okna prohlížeˇce.
Obrázek 4.5: Široký layout webu
14
5 Implementace webového portálu Po vypracování analýzy požadavku˚ je nutné zvolit dva vhodné CMS, s pomocí kterých se pokusím nastavit veškerou požadovanou funkcionalitu do vyhovující podoby. Naše kritéria pro výbˇer nejlépe splnil CMS Drupal a to z duvodu ˚ jeho spolehlivosti a hlavnˇe všestrannosti. Pro vˇetšinu funkcionality si vystaˇcím s již existujícími moduly a pro zbývající funkce využiji bohaté API ( „Application Programming Interface“) k naprogramování vlastního modulu. Jako alternativu jsem zvolil nástroj Google Sites, na kterém si budeme demonstrovat snadné nastavení podobných funkcí a podaˇrí se nám cˇ ásteˇcnˇe aplikovat i uvedenou webovou grafiku.
5.1 Drupal Vývojáˇri CMS Drupal se snaží o dobré rozvrstvení funkcionality, proto je potˇreba dát si pozor na správný výbˇer modulu. ˚ Špatná volba by nám v budoucnu mohla znepˇríjemnit další vývoj. Nejlepší cesta pˇri výbˇeru modulu je orientace podle poˇctu webu, ˚ které modul využívají a podle frekvence vydávání nových verzí. Drupal se nyní nachází ve verzi 7.18, proto budeme hledat takové moduly, které jsou kompatibilní s verzí 7. Každý modul muže ˚ mít zverˇ ejnˇené tzv. stabilní a vývojové („dev“) verze. Pokud možno, vždy volíme stabilní verze. Vývojovou použijeme v pˇrípadˇe, kdy stabilní verze obsahuje chyby, pˇrípadnˇe ji explicitnˇe vyžaduje jiný modul. Z webové prezentace CMS Drupal [3] si tedy stáhneme aktuální verzi jádra a podle pˇriložených instrukcí nainstalujeme vˇcetnˇe cˇ eské lokalizace. Pˇri instalaci jsem zvolil databázi MySQL pro její dobrou podporu mezi moduly. Drupal však od verze 7 využívá PDO („PHP Data Objects“), což je rozšíˇrení PHP, díky kterému je možné zvolit pro instalaci vyhovující typ databáze (napˇr. MySQL, PostgreSQL, SQLite cˇ i Microsoft SQL Server) bez nutnosti psát v modulech pro každý typ databáze specifické SQL dotazy („Structured Query Language“). Základní Drupal máme tedy nainstalovaný a mužeme ˚ se podívat na jednotlivé možnosti tohoto CMS. 5.1.1 Uživatelé a oprávnˇení První požadavek vyplývající z analýzy potˇreb lze splnit snadno. Drupal totiž obsahuje již v jádˇre velice propracovaný systém uživatelských rolí a oprávnˇení. Na stránce s editací rolí tedy vytvoˇríme odpovídající uživatelské role a pˇridáme k nim oprávnˇení podle potˇreby. Pˇri pˇridávání nových uživatelu˚ pak 15
5. I MPLEMENTACE WEBOVÉHO PORTÁLU pˇriˇrazujeme konkrétní role podle skupiny, do které má patˇrit. Rolí muže ˚ mít uživatel více (napˇr. správce galerie a správce blogu) a oprávnˇení k tˇemto rolím pˇriˇrazená se pak sˇcítají. 5.1.2 Typy obsahu Základním stavebním prvkem Drupalu jsou typy obsahu. Z pohledu OOP ( „Object-oriented programming“) bychom je mohli vnímat jako entity obsahující urˇcité atributy. Tˇemito atributy jsou v Drupalu tzv. pole. Polem muže ˚ být napˇr. nadpis cˇ lánku, text cˇ i odkaz na jiný cˇ lánek. Pro web procesní komunity jsem vymezil pˇet základních typu˚ obsahu. Každý jsem nastavil podle potˇreby a vybral pro nˇej specifická pole. Systém revizí obstarává samotný Drupal, ale pˇridal jsem navíc moduly Revisioning („http://drupal.org/project/revisioning“) a Diff ( „http://drupal.org/project/diff“), které nám umožní pokroˇcilou správu. Je pak snadné nastavit schvalovací proces revizí moderátorem. Modul Diff umožní uživateli pˇrehlednˇe si zobrazit rozdíly mezi revizemi. • Stránka – Stránka je základním typem obsahu již od prvních verzí Drupalu. Zastává zde funkci statického obsahu, který se nemˇení pˇríliš cˇ asto a obsahuje textové pole s WYSIWYG editorem. Jako textový editor jsem zvolil TinyMCE („http://www.tinymce.com/“), který se podobá rozhraní oblíbených textových procesoru˚ a je tedy pro uživatele známý a lehce ovladatelný. Navíc je možné stránku vkládat do menu. ˇ • Clánek – Uživatel muže ˚ ke každému cˇ lánku pˇridat úvodní obrázek díky modulu Media („http://drupal.org/project/media“), libovolné tagy, navázat informaˇcní zdroje a do hlavního textového pole pˇridat neomezené množství textu vˇcetnˇe pˇrípadných obrázku˚ a jiných médií (opˇet s využitím modulu Media). Navíc zvolí odpovídající kategorii, do které cˇ lánek patˇrí (napˇr. Magazín, Téma mˇesíce, cˇ i BPM prakticky). Viz obrázek 5.1. ˇ • Pˇríspˇevek do blogu – Obsahuje stejná pole jako Clánek, jen není možné vybrat žádnou kategorii. Pˇríspˇevek se automaticky zobrazí v sekci „Blog“. • Informaˇcní zdroj – Pro informaˇcní zdroje je nutné zvolit jakého je typu (webová stránka, kniha, noviny, cˇ asopis nebo ostatní), pak volitelnˇe odkaz na zdroj a libovolný popis. • Webový formuláˇr – Formuláˇr je funkˇcnˇe podobný jako Stránka, ale má navíc možnost pˇridávat ruzná ˚ formuláˇrová políˇcka, která jsou pak veˇrejnˇe pˇrístupná k odeslání. Bˇežnˇe se takto rˇ eší napˇr. kontaktní formuláˇr, ankety a další. 16
5. I MPLEMENTACE WEBOVÉHO PORTÁLU
Obrázek 5.1: Administraˇcní rozhraní se správou polí Další ze žádaných funkcí je možnost komentáˇru, ˚ pro kterou jsem místo výchozího modulu Drupalu (Comment) zvolil externí službu s názvem Disqus ( „http://www.disqus.com/“), což je v souˇcasné dobˇe velice oblíbený modul hlavnˇe z duvodu ˚ možného propojení na ruzné ˚ sociální služby. Uživatel tedy nemusí mít žádný speciální profil na BPM portálu a i tak má možnost vidˇet napˇríklad svuj ˚ obrázek cˇ i pˇrezdívku u komentáˇru. ˚ Takto pˇridané pˇríspˇevky je možné moderovat s pˇríslušným oprávnˇením, které staˇcí pˇriˇradit napˇríklad k uživatelské roli „Moderátor“. 5.1.3 Kategorie Pro kategorizaci cˇ lánku˚ je dobré využít výchozí modul Drupalu nazvaný Taxonomy. Z poˇcátku není úplnˇe zˇrejmé jeho využití, ale pˇri jeho pochopení si usnadníme práci. Základním stavebním prvkem taxonomie je „Slovník“. Pˇridáme si tedy napˇríklad slovník „Kategorie cˇ lánku“. ˚ Do slovníku je nutné vložit termíny. Termínem už mužeme ˚ chápat konkrétní kategorie. Vložíme si tedy termíny „Magazín“, „Téma mˇesíce“ a „BPM prakticky“. Takto jsme si vytvoˇrili 17
5. I MPLEMENTACE WEBOVÉHO PORTÁLU základní strukturu naší taxonomie, ale na webu ještˇe žádné kategorie viditelné nejsou. Duvod ˚ je ten, že obsah mužeme ˚ do tˇechto kategorií tˇrídit, ale jednotlivé výpisy cˇ lánku˚ podle tˇechto kategorií si musíme nejprve vytvoˇrit. Existuje více metod jak to provést, ale nejvíce univerzální je tvorba pohledu˚ pomocí modulu Views („http://drupal.org/project/views“), která je popsaná v následující kapitole. 5.1.4 Views Modul Views je podle statistik oficiálního webu Drupalu [3] nejˇcastˇeji instalovaným modulem pro verzi 7. Zatímco se nastavení polí u typu obsahu stará o ukládání dat do databáze, modul Views naopak vytváˇrí výpisy dat podle námi definovaných pravidel. Je tak možné napˇríklad vypsat všechny cˇ lánky patˇrící do kategorie Magazín, vypsat všechny pˇríspˇevky do blogu konkrétního redaktora, seˇradit cˇ lánky podle poˇctu komentáˇru˚ a vytvoˇrit spousty dalších kombinací výpisu. ˚
Obrázek 5.2: Rozhraní modulu Views s nastavením úvodní stránky 18
5. I MPLEMENTACE WEBOVÉHO PORTÁLU 5.1.5 Vlastní modul Ukážeme si, jak lze snadno pozmˇenit funkcionalitu nabízenou Drupalem, pˇrípadnˇe rozšiˇrujícími moduly. Standardní funkcí Drupalu je zobrazení editaˇcní záložky u každého cˇ lánku, který má uživatel možnost editovat. Uživatelé by ale rádi mˇeli k dispozici také záložku pro smazání cˇ lánku, která je nyní k dispozici pouze na konci editaˇcní stránky cˇ lánku. Naším cílem je tedy toto tlaˇcítko pˇresunout mezi záložky. Veškeré vlastní moduly (které nejsou veˇrejnˇe pˇrístupné) je doporuˇcené nahrávat do složky „sites/all/modules/custom“ v naší instalaci CMS. Zaˇcneme tedy tak, že do této složky umístíme prázdnou složku s novým modulem. Nazvˇeme ji napˇr. „node_delete_tab“. Aby Drupal poznal, že se jedná o modul, staˇcí do této složky vložit soubor nazvaný „node_delete_tab.info“ s tímto krátkým obsahem: name = D e l e t e button move d e s c r i p t i o n = Moves a D e l e t e button t o t a b s a r e a . package = CUSTOM core = 7 . x f i l e s [ ] = n o d e _ d e l e t e _ t a b . module První dva rˇ ádky obsahují deklaraci názvu a popis nového modulu. Zápis „package = CUSTOM“ znamená, že se modul zobrazí na pˇrehledu všech modulu˚ v kategorii CUSTOM, tedy námi naprogramované. Poslední povinnou položkou je verze jádra Drupalu. Pokud bychom se snažili instalovat modul pro jinou verzi jádra, Drupal nás na to upozorní. Poslední položka je nepovinná a rˇ íká Drupalu, jaké PHP soubory náš modul obsahuje. Nyní je již náš nový modul vidˇet v administraci modulu˚ Drupalu a mu˚ žeme jej zapnout. V této chvíli samozˇrejmˇe žádná zmˇena nenastane, musíme ji nejprve naprogramovat pomocí dvou hooku. ˚ Hook je oznaˇcení pro funkci v Drupal API [2], na kterou se mužou ˚ navˇesit další funkce a postupnˇe tak upravovat data. Vytvoˇríme si tedy ve stejné složce soubor „node_delete_tab.module“ s takovým obsahem:
19
5. I MPLEMENTACE WEBOVÉHO PORTÁLU
5. I MPLEMENTACE WEBOVÉHO PORTÁLU
5.2 Google Sites Implementaci pomocí CMS Drupal jsem dokonˇcil a je možné pokusit se o totéž s Google Sites. Situace je zde o poznání jednodušší z toho duvodu, ˚ že se tento nástroj obejde bez instalace. Staˇcí se na stránkách služby Google Sites [7] zaregistrovat a mužete ˚ vytvoˇrit vlastní web. Prvním krokem je výbˇer názvu webu a jeho adresy pod doménou Googlu. Následnˇe pˇrecházíme k výbˇeru šablony, což je pˇrichystané základní rozvržení webu. Šablonu není možné pozdˇeji zmˇenit, proto je tˇreba vybírat dukladnˇ ˚ e. Jelikož jsem mezi nimi nenalezl žádnou vyhovující, pro potˇreby BPM komunity se spokojíme s prázdnou šablonou. Možností, jak graficky upravit zvolenou šablonu je naštˇestí o nˇeco více, takže si v záložce „Motiv“ vybírám možnost „Mikro: Modrotisk“, která se barevnˇe blíží k pˇrichystaným grafickým podkladum ˚ pro BPM portál. Mˇenit pozdˇeji motiv naštˇestí lze. Jiné možnosti prozatím nejsou, proto kliknutím potvrdím vytvoˇrením webu. 5.2.1 Rozvržení webu Z horní administrátorské lišty mohu ihned vytváˇret nové stránky, s jejichž obsahem si s pomocí WYSIWYG editoru není problém poradit. V dostupných akcí mohu prohlížet historii revizí i upravit rozvržení webu, takže web uzpuso˚ bíme podle našich potˇreb. Ponecháme zobrazené záhlaví, vodorovnou navigaci, postranní panel a vlastní zápatí. V hlaviˇcce je možné použít vlastní logo, takže toho využijeme a nahrajeme jej. Web je možné upravit také barevnˇe. To provedeme ve správˇe webu na záložce Barvy a písma, kde je možné zvolit detailnˇe barvy pro ruzné ˚ prvky na stránce a použít obrázek jako pozadí hlaviˇcky. Po všech úpravách hlaviˇcka zaˇcíná puvodní ˚ návrh pˇripomínat, ale musíme se spokojit s tím, že komplexní úpravy provést nepujdou. ˚ Na obrázku 5.3 je možné si prohlédnout výsledek. 5.2.2 Šablony stránek Základní šablony existují cˇ tyˇri. Výchozí šablonou je Webová stránka sloužící ke statickým textum. ˚ Využijeme ji tedy napˇr. pro stránku O portálu. Duleži˚ tou šablonou je Oznámení, které je vhodné pro vkládání krátkých zpráv, ale je možné jej využít i pro cˇ lánky a blogování. Vˇetšinu sekcí proto budou tvorˇ it cˇ lánky právˇe z této šablony. Další možnou šablonou je Seznam a nakonec Úložištˇe souboru. ˚ Lze si vytvoˇrit i vlastní šablony, které se však budou funkˇcnˇe zakládat na vyjmenovaných typech.
21
5. I MPLEMENTACE WEBOVÉHO PORTÁLU
Obrázek 5.3: Základní layout webu s Google Sites
22
6 Závˇer V rámci své bakaláˇrské práce jsem zanalyzoval požadavky komunity zabývající se Business process managementem a provedl jsem pruzkum ˚ vhodných redakˇcních systému. ˚ Ze zkoumaných CMS jsem zvolil dva, které nejvíce odpovídaly potˇrebám této komunity. S jejich využitím jsem následnˇe vytvoˇril dva funkˇcnˇe podobné portály a aplikoval na nˇe responzivní téma s vlastním grafickým designem. Oba testované CMS splnují ˇ požadavky komunity a byly kladnˇe pˇrijaty k dukladnému ˚ testování. Aˇckoli jsem byl z poˇcátku k uzavˇrenému rˇ ešení poskytovanému spoleˇcností Google skeptický, postupnˇe si mˇe získalo svojí jednoduchostí a propojením s ostatními službami této spoleˇcnosti. I takto ale podle mého názoru není Google Sites schopný konkurovat možnostem redakˇcního systému Drupal. Aktuální verze jsou dostupné online z tˇechto adres: • Google Sites – „http://sites.google.com/site/bpmportal2012/“ • Drupal – „http://bp.kybersoft.com/“ Bˇehem mé práce se mnohé drobnosti na obou webech zmˇenily a pˇredpokládám, že bˇehem následujících mˇesícu˚ k dalším zmˇenám dojde. Jsem o tom pˇresvˇedˇcený už jen z duvodu, ˚ že internet je rychle se vyvíjejícím prostˇredím a webové portály se tomuto tempu musí stále pˇrizpusobovat. ˚
23
Literatura [1] Matt Butcher. Drupal 7 Module Development. Packt Publishing Ltd., 2010. [2] Dries Buytaert. API reference | Drupal API [online]. 2001 [cit. 2012-11-29] Dostupné z http://api.drupal.org/. [3] Dries Buytaert. Drupal - Open Source CMS [online]. 2001 [cit. 2012-11-04] Dostupné z http://drupal.org/. [4] Webdesigner Depot. Top 10 content management systems [online]. 2011 [cit. 2012-12-17] Dostupné z http://www.webdesignerdepot.com/2011/10/top-10-contentmanagement-systems/. [5] The Apache Software Foundation. Apache HTTP Server Project [online]. 1995 [cit. 2012-09-26] Dostupné z http://httpd.apache.org/. [6] The PHP Group. PHP: Hypertext Preprocessor [online]. 2001 [cit. 2012-1001] Dostupné z http://www.php.net/. [7] Google Inc. Google Sites [online]. http://sites.google.com/.
2011 [cit. 2012-10-09] Dostupné z
[8] Trevor James. Drupal Web Services. Packt Publishing Ltd., 2010. [9] Matt Mullenweg. WordPress – Blog Tool, Publishing Platform, and CMS [online]. 2005 [cit. 2012-10-01] Dostupné z http://wordpress.org/. [10] Inc. Open Source Matters. Joomla! [online]. 2005 [cit. 2012-10-08] Dostupné z http://www.joomla.org/. [11] Todd Tomlinson. Pro Drupal 7 Development: Third Edition. Apress, 2010. [12] WordPress – cˇ eská podpora. WordPress portál [online]. 2012 [cit. 2012-1103] Dostupné z http://www.cwordpress.cz/.
24