Webové komponenty v open source CMS

Rozměr: px
Začít zobrazení ze stránky:

Download "Webové komponenty v open source CMS"

Transkript

1 Masarykova univerzita Fakulta informatiky Webové komponenty v open source CMS Diplomová práce Bc. Tomáš Svoboda Brno, jaro 2016

2

3 Masarykova univerzita Fakulta informatiky Webové komponenty v open source CMS Diplomová práce Bc. Tomáš Svoboda Brno, jaro 2016

4

5 Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Bc. Tomáš Svoboda Vedoucí práce: RNDr. Jaroslav Ráček, Ph.D. i

6

7 Poděkování Rád bych tímto poděkoval RNDr. Jaroslavu Ráčkovi, Ph.D. za vedení mé diplomové práce. Dále bych rád poděkoval i Mgr. Jiří Kadlecovi za vedení práce po technické stránce a za věcné připomínky v oblasti testování. V neposlední řadě bych rád poděkoval mé rodině a všem, kteří mě během mého studia podporovali. iii

8 Shrnutí Hlavním cílem diplomové práce je porovnat vybrané soudobé open source systémy pro správu obsahu z hlediska rozšiřitelnosti webovými komponentami z různých pohledů. Vedle samotné analýzy rozšiřitelnosti, která tvoří hlavní část práce, jsem u vybraných komponent analyzoval i jejich složitost a výkonnost, což je jedním z faktorů pro srovnání systémů z hlediska rozšiřitelnosti. Druhým cílem této práce je vytvoření několika ukázek vybraných komponent v systému, který je vyhodnocen jako nejlepší. Dále pro tyto implementované komponenty vytvořit test, který bude srovnávat jejich výkonnost. Celkem jsem provedl dvě sady měření výkonnosti mezi skupinou vhodných webových komponent testující různé typy obsahu, pro které je daná komponenta určena. Pro účely měření jsem připravil testovací sady dat, vytvořil jednotlivé komponenty a vytvořil skript, s jehož pomocí jsem testování prováděl. iv

9 Klíčová slova Systém pro správu obsahu, open source, CMS, Liferay, Joomla, webové komponenty, komponenty, srovnání, výkonnost v

10

11 Obsah 1 Úvod Systémy pro správu obsahu Vlastnosti CMS Historie CMS Současné CMS Kritéria hodnocení WordPress Liferay JBoss Portal Joomla DotNetNuke Výběr systémů pro podrobné srovnání Liferay Portlety Životní cyklus portletu Módy a stavy portletu Konfigurace portletů Meziportletová komunikace Hook Šablona ADT Modul EXT Téma a šablony rozložení Srovnání komponent v Liferay Joomla Šablony Komponenty Moduly Plugin Srovnání komponent v Joomle vii

12 6 Výsledné srovnání obou systémů Rozšiřující komponenty Liferay Portlet Dokumenty Portlet Zprávy Hook třídy Plugin EXT Shrnutí implementace komponent Liferay Postupy a doporučení pro začleňování komponent v Liferay Závěr A Příloha A Rejstřík viii

13 Seznam tabulek 7.1 Srovnání statistických hodnot pro portlet Dokumenty se šablonou ADT a s výchozím zobrazením Srovnání statistických hodnot pro agregátor obsahu a pro portlet Zprávy se šablonou ADT a s výchozím zobrazením 47 ix

14

15 Seznam obrázků 6.1 Ohodnocení kritérií systémů Liferay a Joomla Srovnání doby vykreslení pro portlet Dokumenty Srovnání doby vykreslení pro portlet Zprávy xi

16

17 Seznam příkladů kódů 4.1 Jedna z možných podob vytvoření render URL Jedna z možných podob vytvoření action URL Jedna z možných podob vytvoření resource URL Definice veřejného parametru entityid Příklad kostry stránky a umístění pozic v souboru index.php Příklad nastavení parametru akce kontroleru komponenty Příklad části url odkazující na komponentu a požadovanou akci Příklad kontroleru modulu volajícího pomocnou třídu Příklad vytvoření události vyhledání obsahu a získání výsledku 39 xiii

18

19 1 Úvod Systémy pro správu obsahu (CMS content management system) jsou informační systémy umožňující efektivní vytváření, úpravu a následnou administraci nejrůznějších forem obsahu. Tyto systémy, na rozdíl od předchozích způsobů správy obsahu, usnadňují práci s obsahem svým uživatelům, protože poskytují jednoduché rozhraní pro přístup do systému, díky čemuž může obsah spravovat kdokoliv i bez pokročilých technických znalostí, které byly vyžadované před nástupem těchto systémů. Portál Liferay je portálový systém s otevřeným zdrojovým kódem vytvořeným společností Liferay. Liferay není jen systém pro správu obsahu, ale na rozdíl od mnohých jiných open source systémů poskytuje například i funkce pro spolupráci uživatelů. Liferay tak představuje digitální platformu integrující moderní technologie jako jsou například cloudové služby nebo mobilní technologie. Systém pro správu obsahu Joomla je systém s otevřeným zdrojovým kódem vytvořený na platformě PHP. Systém Joomla cílí na malé a středně velké systémy. Stejně jako Liferay má i Joomla komunitní podporu, s tím rozdílem, že není zaštítěna žádnou společností. Vedle základních mechanismů pro správu obsahu poskytuje i komponenty pro implementaci například blogů nebo diskuzních fór. Tato práce má několik cílů. Hlavním cílem je srovnání open source systémů pro správu obsahu z hlediska rozšiřitelnosti, protože je v současné době tato část informačních technologií hojně využívána a je důležité znát možnosti jednotlivých systémů z hlediska rozšiřitelnosti a personalizace. Druhým cílem práce je srovnání systémů mezi různými platformami, protože na poli open source systémů dochází často ke srovnávání systémů pouze v rámci jedné platformy a mnohdy pouze systémy na platformě PHP. V neposlední řadě je cílem této práce i porovnání výkonnosti použitých řešení, protože v posledních letech dochází k nárůstu objemu spravovaných dat, a proto je kladen důraz i na výkonnost systému. První kapitola obsahuje úvod diplomové práce. Druhá kapitola je věnována definici a popisu systémů pro správu obsahu obecně, včetně 1

20 1. Úvod určení hlavních vlastností. V rámci tohoto popisu je zařazena i historie těchto systémů. Třetí kapitola obsahuje základní porovnání soudobých systémů pro správu obsahu, včetně definice srovnávacích kritérií, které jsem v této práci využíval. Čtvrtá kapitola je zaměřena na systém pro správu obsahu Liferay. V rámci této kapitoly jsou analyzovány jednotlivé webové komponenty Liferay více do hloubky. Závěr kapitoly je věnován krátkému shrnutí a porovnání jednotlivých komponent. V páté kapitole popisuji systém pro správu obsahu Joomla jakožto druhý nejlepší systém na základě vyhodnocení ve třetí kapitole. V jednotlivých podkapitolách se věnuji možným webovým komponentám, kterými lze rozšířit stávající systém a jeho základní funkcionalitu. V poslední části kapitoly opět stručně vyhodnocuji možnosti, které Joomla poskytuje skrze tyto komponenty. Šestá kapitola stručně shrnuje klady a zápory mezi oběma systémy. Na základě tohoto porovnání následně vybírám jeden systém CMS konkrétně Liferay, kterému se věnuji v rámci implementací komponent více do hloubky v sedmé kapitole. V rámci sedmé kapitoly mimo jiné porovnávám i výkonnost určitých řešení, které vykonávají stejnou funkcionalitu, ale je ji dosaženo jiným způsobem. V závěru sedmé kapitoly uvádím několik doporučení, kterými by se mohly komponenty rozšiřující systém Liferay zlepšit. Poslední osmá kapitola obsahuje závěr diplomové práce. Výsledkem mé diplomové práce je porovnání řady soudobých open source systémů pro správu obsahu a detailní porovnání dvou nejlepších systémů z hlediska rozšiřitelnosti webovými komponentami a následná evaluace výkonnosti několika implementací různých komponent ve vybraném systému. 2

21 2 Systémy pro správu obsahu Content management system (CMS), neboli systém pro správu obsahu, je systém, který slouží pro správu obsahu, jeho vytváření, editaci nebo publikaci. Takovéto systémy je možné vytvořit a provozovat na libovolné platformě. Hlavním cílem systémů pro správu obsahu je poskytnutí jednoduchého uživatelského rozhraní, které umožní komukoliv vytvářet a následně publikovat informace i bez potřebných technických znalostí. Tuto skutečnost ocení především správci obsahu a jeho autoři [1]. Systémy pro správu obsahu se skládají ze dvou nezbytných částí. První aplikace pro správu obsahu (content management application, CMA) je určena pro autory a správce obsahu, jímž poskytuje jednoduché prostředí pro tvorbu obsahu i jeho administraci. Druhou částí je aplikace pro dodání obsahu (content delivery application, CDA), která slouží pro publikování informací vytvořených v CMA v požadované podobě [2]. Vedle základních funkcí pro administraci, vytváření či publikování informací, systémy pro správu obsahu často disponují funkcemi jako je například podpora pro verzování obsahu nebo indexování dat a jejich následné vyhledávání. Některé pokročilejší systémy umožňují i podporu pro určitou formu marketingu [2] Vlastnosti CMS Jak již z názvu vyplývá, tyto systémy se zabývají správou obsahu. Různé systémy obsahují různou funkcionalitu a různé vlastnosti. Mezi základní vlastnosti související s administrací obsahu, které by měly poskytovat všechny systémy, patří především vytváření a publikování obsahu, jeho editace a případně i odstranění. Aby se usnadnilo vytváření publikovaného obsahu, CMS využívají šablony, do kterých autor vkládá například pomocí formuláře příslušná data. Systém poté předkládá uživateli obsah v takové podobě, v jaké byl zadefinován v šabloně. Některé pokročilejší systémy umožňují vedle přímého zadávání informací autorem i automatické a dynamické vkládání určitého typu dat z databáze. Využívání šablon 3

22 2. Systémy pro správu obsahu sebou přináší ještě jednu zásadní výhodu, a to sjednocení vizuální podoby souvisejících informací. Další důležitou vlastností moderních systémů je i možnost verzování dat a tudíž i revize provedených změn nad daným obsahem. Jednotlivé verze mohou obsahovat vedle změn i informace o tom, kdy byly provedeny nebo kým. To umožňuje správcům obsahu a administrátorům udržet si přehled o prováděných změnách a v případě neautorizované úpravy chybu napravit navrácením do předchozí verze. Zřejmě jednou z nejvíce klíčových součástí systému je publikace obsahu, protože právě díky publikaci je vytvořený obsah přístupný koncovým uživatelům. Pokud by tedy měla organizace nevhodně nastavený proces publikace, nemusel by se obsah v požadované podobě a ve správný okamžik dostat k uživateli a organizace by tak mohla ohrozit svůj zisk. Systémy pro správu obsahu dovolují vedle okamžité publikace obsahu i zpožděnou publikaci, kdy systém automaticky sám vypublikuje daný obsah na základě zvoleného času a data. Obě tyto vlastnosti usnadňují práci správcům obsahu, protože mají možnost publikovat jak aktuální obsah, tak předpřipravený obsah pro zachování průběžného přidávání obsahu. Publikaci obsahu často provází i jistá podoba pracovního postupu workflow při kterém každý vytvořený obsah prochází stanoveným procesem dané organizace. Jelikož si proces volí každá organizace sama, mj. i v závislosti na podpoře ze strany systému, bývá často různý. V klíčových bodech je však shodný napříč jednotlivými systémy. Typický postup od vzniku obsahu k jeho publikaci spočívá ve třech krocích. Nejprve autor vytvoří prvotní podobu obsahu, která však ještě není určena k publikaci. Ve druhém kroku dojde k přezkoumání vytvořeného konceptu, na jehož základě je koncept buď přijat a tedy i připraven k publikaci, nebo je zamítnut a vrácen autorovi k přepracování dle připomínek. V posledním kroku se schválený koncept předá nejčastěji správci obsahu, který je zodpovědný za publikaci. Ten poté může schválený obsah publikovat, nebo vrátit k přepracování v závislosti na nastavení procesu v organizaci. Rozdělení procesu publikace do těchto kroků zvýší kvalitu publikovaných informací, mj. i proto, že každý obsah musí schválit více lidí. Vedle těchto základních stavů procesu publikace mohou například existovat i mezikroky, ve kterých dojde k překladu obsahu do jiných jazyků nebo jen korektuře textu. 4

23 2. Systémy pro správu obsahu Aby nedocházelo k zahlcení systému i uživatele irelevantními a zastaralými informacemi, které již neplatí, musí systém obsahovat určitou službu pro mazání nebo archivaci dat. Archivace obsahu má nespornou výhodu v porovnání s pouhým smazáním, a to možnost opětovného přístupu k archivovaným datům a v případě, že se týkají tématu, který se periodicky opakuje, i znovu použít. Tento způsob má ale i jistou nevýhodu v podobě neustálého navyšování potřebné kapacity úložných zařízení. Z toho důvodu je ideální kombinace obou vlastností, kdy nepodstatná data správce maže a důležité archivuje. S přibývajícím množstvím dat v systému roste důležitost správného indexování informací, například pomocí štítků nebo členěním do kategorií. Správná indexace poskytne uživatelům při vyhledávání relevantnější obsah a tudíž může přilákat i více nových návštěvníků. Často také systémy pro správu obsahu poskytují vedle svého mechanismu pro indexaci i službu pro lepší popis obsahu pomocí klíčových slov, která pomáhá webovým vyhledávačům [3]. Tato služba se označuje jako tzv. Search Engine Optimization (SEO) optimalizace pro vyhledávače a s její pomocí dojde k zařazení dané webové stránky na vyšší pozici ve vyhledávači. Z toho důvodu se často uvádí technika SEO ve spojení s marketingem organizace [4]. Správa uživatelů v systému je natolik klíčová, že si zaslouží větší pozornost. Pokud uvažujeme nasazení systému v situaci, kdy ho bude spravovat větší počet administrátorů, přispívat do něj větší počet autorů nebo chceme omezit některým uživatelům přístup do daných sekcí, musíme použít netriviální subsystém pro administraci uživatelů [3]. Současné systémy obsahují vedle vlastního řešení autorizace a autentizace i podporu pro další způsoby správy uživatelů. Mezi ně patří například připojení LDAP serveru k systému, podpora protokolu OAuth nebo OpenID. Využívání systémů pro správu obsahu sebou přináší řadu výhod. Patrně nejvýraznější je kontrast mezi využitím nějakého již stávajícího systému pro správu obsahu a implementací vlastního řešení systému. Nejen že je použití existujícího CMS systému ekonomicky výhodné, ale také zaručuje i jistou kvalitu služeb. To z toho důvodu, že nemusíme znovu a znovu vyvíjet části systému, které jsou obecné a společné napříč různými systémy. Díky opětovnému používání komponent se zvyšuje pravděpodobnost odhalení skrytých chyb a systém se stává stabilnější. 5

24 2. Systémy pro správu obsahu Nejčastějšími komponentami, které se mohou používat opětovně, jsou různé šablony, rozložení stránky do sloupců, celkový vzhled systému nebo správa uživatelů, která se opakuje nejčastěji. U velkých a populárních systémů CMS často existuje i určitá forma online obchodu s komponentami, které mohou poskytnout jejich tvůrci zdarma i za peníze dalším provozovatelům tohoto systému. Ti tak nemusejí sami vytvářet danou funkcionalitu a ušetřené finance mohou vynaložit na jiném místě. Další výhodou související se systémy pro správu obsahu je oddělení obsahu od jeho vzhledu, a to především díky využívání šablon a šablonovacího systému. Vedle oddělení obsahu a formy jeho zobrazení dochází i k oddělení obou částí od samotné logiky systému. To například umožňuje další vývoj systému i během jeho provozu bez ohrožení integrity již publikovaných informací [3]. Právě oddělením jednotlivých částí dovoluje souběžnou práci v systému na obsahu, který se zobrazí uživateli na jedné stránce. To je například, kdy autoři obsahu mohou napsat nebo vytvořit svůj příspěvek, grafik může vytvořit šablonu, do které se následně zasadí jednotlivé příspěvky a správce obsahu vloží tento obsah na správné místo na stránce. Existují i další způsoby souběžné práce v systému, záleží pouze na možnostech poskytovaných daným systémem. Využívání již existujících systémů pro správu obsahu však přináší i řadu nevýhod a problémů. Nejvýraznějším problémem je bezpečnost systému. Pokud totiž dojde k prolomení bezpečnosti u daného systému, jsou ohroženi všichni, co daný systém používají. Avšak touto hrozbou trpí především menší řešení, které nejsou vhodné pro nasazení v komerční sféře. Pokud bychom chtěli mít jistotu, že nedojde k takové situaci, nezbývá, než si implementovat vlastní systém. To ovšem nezaručuje, že se zde neobjeví žádné chyby v zabezpečení [3]. Druhý a zároveň poslední závažný problém spočívá v možnosti rozšiřování funkčnosti systému. Způsobů, jak lze rozšířit konkrétní systém pro správu obsahu je více, avšak existuje různá míra náročnosti, jak daný úkol provést. Pokud se jedná o speciální funkcionalitu, často nezbývá nic jiného, než zasáhnout přímo do zdrojového kódu systému a upravit příslušný kód [3]. Ještě bych zmínil jeden problém týkající se výkonnosti. U systémů pro správu obsahu totiž dochází ke generování výsledných stránek zobrazeným uživateli až při daném požadavku, který systém zpraco- 6

25 2. Systémy pro správu obsahu vává. Tento způsob však může být někdy pomalý, a proto je možné generování stránek částečně optimalizovat pomocí kešování dat na serveru [3] Historie CMS Stav před vytvořením prvních systémů pro správu obsahu byl z hlediska efektivního využívání technologií kritický. Jedinou možností, jak publikovat obsah uživatelům, bylo vytvoření jednotlivých souborů HTML, kde každý soubor reprezentoval konkrétní webovou stránku. Tento způsob publikace byl velice neefektivní, protože každý, kdo chtěl něco publikovat, musel znát webové technologie, především jazyk HTML. Nejen, že toto tvořilo určitou bariéru pro tvůrce obsahu bez patřičných znalostí, ale také to zabraňovalo souběžné editaci obsahu na jedné stránce. To mimo jiné i snižovalo rychlost od napsání k prezentaci informace uživateli, čímž daná organizace přicházela o zisk [5]. První systémy pro správu obsahu se začaly objevovat v druhé polovině devadesátých let. Nejprve se jednalo o vlastní řešení, které si každá organizace vyvíjela sama. Postupem času se některé z těchto společností rozhodly začít poskytovat své vlastní implementace těchto systémů druhým, včetně případné podpory. Na přelomu tisíciletí se vedle těchto proprietárních systémů začínají ve větší míře objevovat i open source implementace, které během několika let začaly úspěšně konkurovat již zaběhlým systémům. Mezi tyto open source systémy patří například Liferay, Drupal a nespočet dalších [6] [7]. V současnosti se systémy pro správu obsahu rozdělily na dva hlavní typy systém pro správu dokumentů a systém pro správu webového obsahu, který dnes převládá [8]. 7

26

27 3 Současné CMS V současné době již existuje velké množství systému pro správu obsahu na různých platformách i s různou škálou možností, které poskytuje svým uživatelům. Nejčastěji používané systémy poskytují vedle základních služeb pro správu obsahu i další jako je například pokročilá správa uživatelů, webové služby pro manipulaci s obsahem nebo rozšiřitelnost systému o vlastní komponenty. Právě poslední zmiňovaný bod představuje v současnosti jedno z hlavních rozhodovacích kritérií pro výběr systému. Z tohoto důvodu je hlavním tématem této práce rozšiřitelnost systémů pro správu obsahu o vlastní webové komponenty. Pro účely srovnání systémů pro správu obsahu v této práci jsem vybral systémy, které mají otevřený zdrojový kód, nejsou všechny na stejné platformě a poskytují různé komponenty, kterými je možné daný systém rozšířit o požadovanou funkcionalitu. Pro základní porovnání jsem zvolil WordPress, Liferay, Red Hat JBoss Portal, Joomlu a DotNetNuke jako systémy pro správu obsahu splňující výše uvedený typ systémů. 3.1 Kritéria hodnocení Pro účely srovnání jednotlivých systémů jsem vybral několik kritérií, které nejlépe vykreslují možnosti daných systémů a na jejichž základě následně vyhodnotím jednotlivé systémy pro správu obsahu. Prvním a nejvýraznějším kritériem je rozšiřitelnost systému o vlastní komponenty. S tímto bodem souvisí i obecná rozšiřitelnost systému a úroveň modifikací vestavěných služeb a vlastností samotného systému. Jedná se o klíčový parametr při výběru vhodného systému, protože se od něj odvíjí mnoho dalších aspektů v pozdějším využívání a především jeho personalizaci. Druhé kritérium, které jsem zvolil, představuje výkonnost zvolené komponenty. Toto kritérium je relevantní pouze v případě, kdy je daný úkol možné provést více způsoby, respektive s využitím různých komponent. Jelikož je pojem výkonnosti obsáhlý, zúžil jsem ho primárně na dobu, po kterou trvá zobrazení dané komponenty včetně jejího ob- 9

28 3. Současné CMS sahu uživateli. Takto definované kritérium zahrnuje i keše na různých úrovních, které by v případě odlišně stanovené definice výkonnosti mohly vyústit v nepřesné závěry. Třetí a poslední parametr pro srovnání systémů je sice marginální, nicméně v určitých situacích může být rozhodujícím kritériem pro výběr vhodné komponenty. Jedná se o složitost komponenty konkrétně jde o složitost implementace dané komponenty a o složitost následného nasazení této komponenty do příslušného systému. Zvolil jsem právě tyto tři kritéria, neboť se jedná o běžné parametry používané pro srovnávání systémů pro správu obsahu. V neposlední řadě při vyhodnocování jednotlivých systémů zohledňuji i podporované technologie, nicméně se nejedná o parametr, který by měl zásadní vliv na výběr systému pro další rozbor. 3.2 WordPress Systém pro správu obsahu WordPress se řadí mezi jedny z nejpoužívanějších systémů tohoto typu na světě. WordPress je vybudován na platformě PHP, vznikl v roce 2003 pod licencí GPLv2 a nejnovější verze je 4.5 [9]. Vývoj tohoto systému je zaštítěn pouze komunitním vývojem, což se negativně podepisuje na mnohých aspektech systému jako je například bezpečnost, struktura interních prvků nebo škála poskytovaných služeb. Systém WordPress je možné vedle klasického systému pro správu obsahu použít i například jako portálový nebo blogovací systém. Word- Press bývá v mnoha případech využíván pouze jako blogovací systém, neboť pro toto základní nastavení není nutné znát jazyk PHP ani mít jiné pokročilé znalosti. WordPress oficiálně podporuje pouze některé webové servery, nicméně lze jej spustit na libovolném serveru, kde je možné provozovat systém vytvořený v jazyce PHP. Co se týče databází, jediné dva podporované databázové systémy jsou MySQL a MariaDB, jelikož jsou vybudovány na podobných principech a stejnými autory [9]. Značně omezená škála podporovaných databází často vylučuje WordPress v mnoha případech, kdy je nutné například vytvořit rozsáhlý systém nebo naopak vybudovat nový systém na základě původního, který silně integruje nepodporovanou databázi. 10

29 3. Současné CMS Systém WordPress poskytuje několik typů komponent, o které je možné rozšířit základní systém. Jedná se o pluginy a témata. Pluginy představují jedinou možnost, jak lze systém WordPress rozšířit o novou funkcionalitu. Vedle přidání nových služeb je možné i modifikovat existující. Nicméně tento mechanismus je velmi limitovaný a je vybudován na sadě definovaných událostí [10]. Při každé události dojde ke kontrole, zdali neexistuje plugin registrující tuto událost a případně provede tuto službu namísto původní. Pluginy umožňují i práci s databází skrze vlastní rozhraní nazvané options, nicméně neposkytuje takové možnosti jako SQL. Z toho důvodu je dostupné i běžné rozhraní, které umožňuje práci přímo s SQL. Jako poslední zajímavý prvek ve spojení s pluginy jsou tzv. štítky šablony. S jejich pomocí je možné volat funkce definované v pluginy uvnitř šablony. Na místě, kde je štítek v šabloně umístěn, dojde ke vložení výstupu z dané funkce [10]. Témata reprezentují možnost úpravy vzhledu webové stránky. Téma je možné vytvořit na základě již existujícího, nebo vytvořit zcela nové. V rámci této komponenty je možné definovat šablony rozložení webové stránky, vlastní kaskádové styly, javascriptové skripty a obrázky. Dále je možné přidat speciální skript PHP, který vystupuje jako běžný plugin [11]. V příloze je umístěna ukázková implementace pluginu pro WordPress. Tento plugin jsem využil i v rámci výsledného vyhodnocení systému Wordpress na základě stanovených kritérií. Kvůli zaměření samotného WordPressu na systémy menšího rozsahu, omezenému množství podporovaných technologií a především kvůli omezeným možnostem komponent rozšiřovat systém, nebudu dále porovnávat systém Wordpress více do detailu v další části této práce. 3.3 Liferay Portál Liferay (dále jen Liferay) je open source implementací portálového systému vytvořeného společností Liferay, Inc. Tento portálový systém vznikl již v roce 2000 jako produkt pro neziskové organizace [12]. Sama společnost byla pod tímto jménem založena až o čtyři roky později. Portál Liferay není jen systém pro správu obsahu, ale 11

30 3. Současné CMS poskytuje i podporu pro spolupráci a sociální interakci v podobě diskuzních fór, blogů, wiki stránek nebo kalendáře. Společnost Liferay poskytuje dvě verze svého portálového řešení, a to komunitní edici pod LGPL licencí a enterprice edici, která na rozdíl od komunitní edice poskytuje svým klientům mimo jiné i plnou podporu, školení atp. O kvalitách portálu Liferay svědčí i ocenění za nejlepší open source portál organizací InfoWorld z roku 2007 [13]. Liferay je vytvořen v programovacím jazyce Java, a tak může být provozován na libovolné platformě disponující běhovým prostředím Javy. Samotný Liferay je poté možné spustit na většině moderních aplikačních serverech i servletových kontejnerech. Vedle samotného portálu je Liferay dostupný i v balíčku s přednastavenými aplikačními servery a kontejnery, který usnadní konfiguraci portálu administrátorům [14]. Nová verze Liferay bývá pravidelně vydávána každých 12 až 18 měsíců. Krátce po vydání komunitní edice portálu přibližně jeden až dva měsíce je dostupná i enterprice edice. Zpoždění mezi oběma edicemi má za cíl především zabezpečení stability nové verze. Současná stabilní verze portálu nese označení 6.2 CE [15]. V současnosti se vyvíjí 7 verze portálu, která s sebou přináší řadu vylepšení, jako například podpora pro OSGi [16], což je nová technologie na platformě Java umožňující vytváření dynamických komponent [17]. Vedle portálu společnost Liferay zaštiťuje i další komunitní projekty, které následně integruje se službami portálu a vytváří tak jednu digitální platformu složenou z open source projektů. Mezi těmito projekty je například vlastní Liferay IDE vystavěné nad Eclipse IDE, moderní framework uživatelského rozhraní AlloyUI nebo Liferay Screens integrující mobilní technologie a portál. Liferay obsahuje řadu předpřipravených komponent, které slouží pro vytvoření základního systému spravujícího obsah i bez nutnosti tvořit vlastní komponenty portlety. Tyto komponenty pokrývají nejrůznější funkční aspekty od navigace přes zobrazení obsahu až po diskuzní fóra a blogy. Vedle těchto portletů, distribuovaných spolu s portálem Liferay, existuje možnost získat další skrze Liferay marketplace vlastní online repozitář, kde je možné nabízet své portlety ostatním. Liferay podporuje několik způsobů, jak rozšířit nebo pozměnit standardní chování služeb portálu. Nejběžnějším způsobem rozšíření 12

31 3. Současné CMS je pomocí portletů, neboli komponent, které tvoří základní strukturu webové stránky portálu. Další možností, jak změnit chování již existujících komponent, je pomocí tzv. hooku, který je technologickým nástupcem rozšiřovacího modelu EXT. V obou těchto komponentách dochází k modifikaci již existujících služeb portálu nebo portletů. Vedle těchto základních způsobů předefinování nebo rozšíření funkcionality systému existuje i množina komponent, které mění podobu zobrazovaného obsahu. Mezi ně patří tzv. témata (themes), šablony rozložení (layouts) a šablony pro zobrazení aplikace (ADT application display templates). Pro systém Liferay jsem vytvořil komponentu, která je pro tento systém typická portlet. Tuto komponentu jsem zahrnul do celkového zhodnocení systému Liferay a umístil ji do přílohy. 3.4 JBoss Portal Red Hat JBoss Portal je portálové řešení společnosti Red Hat, které lze mimo jiné provozovat i jako systém pro správu obsahu [18]. Tento portál vznikl v roce 2005 pod licencí LGPL a v současnosti je ve verzi 6.2. JBoss Portal je součástí platformy JBoss, to znamená, že podporované technologie tohoto systému odpovídají technologiím, které jsou nutné pro fungování JBossu. JBoss Portal poskytuje dva hlavní mechanismy pro rozšiřování systému. Podobně jako Liferay, i JBoss Portal implementuje specifikaci Portlet 2.0, tj. prvním způsobem jsou portlety jako v Liferay. Druhý způsob představují vlastní komponenty, nazývané obecně Portal Extensions. Tyto komponenty mají podobný účel jako hooky v Liferay, tj. přepsání základních webových zdrojů, jako jsou zobrazované stránky, obrázky, atp. Co se týče modifikace samotného systému obdoba EXT v Liferay JBoss Portal nic takového neposkytuje [19]. Vedle těchto dvou rozšiřujících komponent JBoss Portal podporuje i definici vlastního vzhledu webové stránky portálu a portletů označované jako skins [19]. Nicméně ve srovnání s tématy v Liferay je implementace těchto komponent složitější, protože se skládají z několika částí a podčástí a především, na rozdíl od témat Liferay neposkytují takové možnosti pro tvorbu výsledné podoby stránky. 13

32 3. Současné CMS Pro JBoss Portal jsem implementoval jednoduchý portlet, který jsem následně zahrnul do celkového zhodnocení systému. Na základě podobnosti komponent mezi JBoss Portal a Liferay a tím, že tyto komponenty mají omezenější možnosti rozšiřování než komponenty v Liferay, jsem se rozhodl v další části této práce detailněji porovnávat jiné systémy pro správu obsahu. 3.5 Joomla Systém pro správu obsahu Joomla jsem si vybral z toho důvodu, že je vybudován na platformě PHP, která bývá často využívána v open source projektech. Druhým důvodem, proč jsem si vybral právě tento systém, je ten fakt, že na rozdíl od populárnějšího systému pro správu obsahu WordPress je Joomla lépe navržena pro zvládání většího množství obsahu. Posledním důvodem je množství a škála webových komponent, které je možné používat v systému, a které se rozsahem použití blíží webovým komponentám v systému Liferay. Systém Joomla byl poprvé vydán pod licencí GPL v roce 2005 na základě odštěpení od projektu Mambo. Podobně jako Liferay je možné systém Joomla použít i pro další typy informačních systémů, například blogy, diskuzní fóra nebo složitější portálové řešení. V současnosti je Joomla ve verzi 3.5 [20]. Stejně jako u dalších větších systémů, má i Joomla silnou základnu komunitních vývojářů, kteří se podílí jak na vývoji systému, tak na tvorbě webových komponent, které jsou následně dostupné v knihovně komponent. Joomla má omezenější paletu funkcí z hlediska škály služeb, které doplňují standardní webové komponenty. Mezi tyto funkce, které na rozdíl od Liferay neobsahuje nebo jen v omezené míře, patří například SEO mechanismus. Vestavěné SEO v Joomle poskytuje uživatelům pouze omezené možnosti, a proto je nutné přidat některý externí plugin rozšiřující práci se SEO [21]. Na rozdíl od Liferay je množství podporovaných technologií, se kterými je možné Joomlu provozovat, značně omezené. Joomla je kompatibilní se třemi základními databázovými systémy (MySQL, PostgreSQL a SQL Server) a pouze s některými webovými servery [22]. 14

33 3. Současné CMS Co se týče minimálních požadavků na systém, Joomla má několikanásobně nižší nároky než Liferay. To je ovšem zapříčiněno rozsahem vestavěných funkcí v Liferay a velikostí systémů, na které je Liferay navržen. S tímto faktem do určité míry souvisí i statistika vzniku nových a zaniknutí stávajících systémů na jednotlivých systémech provedená organizací Datanyze. Podle této studie bylo zjištěno, že v únoru tohoto roku vzrostl počet webových systémů na Liferay o 75. V případě Joomly vzniklo přibližně 9600 webových stránek, nicméně více než polovina z tohoto počtu také zanikla. Uvedené hodnoty však mohou být ve skutečnosti ještě vyšší, protože data v analýze byla získána na základě webových crawlerů, které neměly přístup do interních sítí, kde se Liferay často vyskytuje [23]. Systém Joomla obsahuje několik způsobů, jak lze rozšířit nebo upravit standardní chování systému. V zásadě lze jednotlivé komponenty rozdělit do tří skupin, podle toho, čeho se týkají šablony upravující vzhled a rozložení, jazyky a v neposlední řadě komponenty, moduly a zásuvné moduly, které přidávají určitou funkcionalitu spojenou s vykreslením obsahu. Rozšíření komponentou jazyky, tj. přidání nových překladů textací ostatních komponent, není rozšiřující komponentou na stejné úrovni jako ostatní, a proto se často ani neuvádí jako komponenta rozšiřující systém Joomla. Jejím jediným účelem je přidání lokalizace do nového jazyka nebo změna stávajících zpráv v komponentě. Jazykový balíček obsahuje instalační soubor popisující mj. názvy komponent, které rozšiřuje a samotné lokalizované texty v souborech ini. Dále může obsahovat i skript, který se stará například o různé tvary slov v množném čísle. V tomto směru je práce s lokalizací obtížnější než v Liferay, který využívá standardizované prostředí pro internacionalizaci v Javě. V příloze práce je umístěná šablona Joomly, kterou jsem vytvořil pro srovnání systémů z hlediska složitosti implementace a rozšiřitelnosti systému. 15

34 3. Současné CMS 3.6 DotNetNuke Jako poslední systém pro správu obsahu jsem vybral systém Dot- NetNuke, protože se řadí mezi nejpoužívanější systémy pro správu obsahu na platformě.net. Tuto platformu jsem zvolil záměrně, protože právě na.netu se často upřednostňují proprietární systémy před systémy open source. Systém DotNetNuke (DNN) vznikl v roce 2003 pod licencí MIT a v současnosti má již osmou verzi. Vedle základní verze poskytuje společnost vlastnící DNN platformu i další dvě placené verze, které poskytují širší škálu služeb a technické podpory. Vedle systému pro správu obsahu je možné DotNetNuke použít například i pro menší portálové systémy a webové aplikace. Vývoj systému DotNetNuke je již od počátku zajišťován komunitním vývojem a později po založení organizace DNN je vývoj zaštítěn i společností DNN. Stejně jako řada ostatních systémů pro správu obsahu, ani DotNet- Nuke nepodporuje všechny technologie související se systémy pro správu obsahu. Jelikož je vystavěn na platformě.net, jediné oficiálně podporované technologie jsou ty, které pochází od Microsoftu, tj. IIS jako webový server a MS SQL jako databáze [24]. DotNetNuke poskytuje dvě hlavní komponenty rozšiřující základní systém. Jedná se o moduly a komponenty měnící vzhled tzv. skins. Moduly umožňují pouze funkcionalitu přidávat, nikoliv měnit již existující implementaci [25]. V rámci komponenty skins je možné definovat kaskádové styly a další webové zdroje a především šablonu rozložení webové stránky [26]. Vytvořil jsem komponentu skin, kterou jsem zahrnul do celkového vyhodnocení systému DotNetNuke v porovnání s ostatními systémy. Kvůli omezenému množství podporovaných technologií a omezeným možnostem těchto komponent jsem se rozhodl dále nepokračovat v podrobné analýze tohoto systému. 3.7 Výběr systémů pro podrobné srovnání Primárně na základě definovaných kritérií jsem zvolil dva systémy pro správu obsahu, které byly vyhodnoceny jako nejlepší. Vedle samot- 16

35 3. Současné CMS ných kritérií jsem do úvahy při evaluaci jednotlivých systémů zahrnul i rozsah podporovaných technologií daného systému. Jako nejlépe hodnocený systém jsem vybral Liferay, protože nejlépe vyhovuje těmto kritériím. Systém Joomla jsem zvolil z toho důvodu, že poskytuje více typů komponent i větší počet podporovaných technologií ve srovnání s ostatními systémy a bude tedy vhodným systémem při detailním porovnání se systémem Liferay. 17

36

37 4 Liferay Na základě prvotního vyhodnocení vybraných systémů pro správu obsahu jsem zvolil Liferay jako hlavního kandidáta pro podrobnější analýzu systému z hlediska rozšiřitelnosti komponentami a vyhodnocení ostatních kritérií. 4.1 Portlety Nejsnazší a nejčastější způsob, jak rozšířit základní služby portálu Liferay, představují právě portlety. Liferay podporuje oba portletové standardy JSR168 a JSR286 [27] a aktivně se podílí na specifikaci verze 3.0 [28]. Portlet reprezentuje základní webovou komponentu, jejímž výstupem je úsek HTML kódu zasazený na předem určené místo na webové stránce. Portlety poskytují různé služby na základě jejich implementace zobrazení obsahu, služby nad ním a nebo další administrativní úkony Životní cyklus portletu Životní cyklus portletů je řízen portálem portletovým kontejnerem a na základě stavu, v jakém se portlet nachází, generuje svůj výstup. Specifikace portlet 2.0 rozšiřuje předchozí verzi a definuje několik nových stavů, ve kterém se portlet může nacházet. Základními stavy nelišících se od stavů servletů, ze kterých portlety vychází jsou stavy inicializace a zničení portletu. Kontejner volá příslušné metody v okamžiku, kdy má být portlet nasazen nebo naopak odstraněn ze služby. Tyto dvě metody jsou volány právě jednou za celý životní cyklus portletu. První verze specifikace definovala dva základní stavy portletu tzv. fáze render a action [29]. Fáze render je určena pro vykreslení určitého obsahu portletu na základě dané render metody. Výstupem této metody je fragment HTML kódu s požadovanými daty, který je vložen do webové stránky na místo vyhrazené portletem. Konkrétní render metodu můžeme volat pomocí tzv. render URL. Tato URL může obsahovat různé parametry od módu portletu přes parametr specifikující 19

38 4. Liferay generovaný výstup až po stav okna, v jakém se má portlet nacházet. Render URL je možné vytvořit jak v rámci controlleru, tak uvnitř JSP stránek, které definují podobu, v které se informace předají uživateli. < portlet:renderurl var =" myrenderurl " > < portlet:param name =" page " value =" formpage "/> </ portlet:renderurl > Příklad kódu 4.1: Jedna z možných podob vytvoření render URL Fáze action slouží pro provedení nějaké akce. Typickou akcí je například odeslání formuláře nebo smazání dat z databáze jinými slovy akce, která má jiný účel, než jen zobrazení informací. Po dokončení metody asociované s danou akcí následuje fáze render. Pokud je na jedné portálové stránce více portletů, tak po dokončení akce dojde k vyvolání příslušných render metod u všech těchto portletů. < portlet:actionurl var =" actionurl " name =" myaction "/> Příklad kódu 4.2: Jedna z možných podob vytvoření action URL Ve druhé verzi specifikace došlo k přidání dvou nových metod serveresource a processevent. Fáze resource souvisí s poskytováním dat, které mají často jinou než HTML podobu nejčastěji binární, XML nebo JSON. Jelikož přijatá data mají tento charakter, nedochází k novému překreslení a opětovnému načtení portletu a k jejich zpracování musí dojít na straně klienta. Z těchto důvodů je vhodné volat resource metody skrze resource URL například v rámci implementace AJAXu [29]. < portlet:resourceurl var =" myresourceurl "/ > Příklad kódu 4.3: Jedna z možných podob vytvoření resource URL Fáze event byla přidána z důvodu rozšíření škály způsobů implementace meziportletové komunikace [29]. Fáze render následuje po dokončení vykonání metody spjaté s danou událostí. Některé URL fází životního cyklu portletu je možné rozšířit o parametry obsahující název portletu a tzv. plid (portal layout ID), který obsahuje unikátní ID stránky v Liferay. Přidáním těchto dvou parametrů je možné vykonat metodu související s danou URL v jiném portletu, než ze kterého je volána. 20

39 4. Liferay Módy a stavy portletu S životním cyklem portletu je spjat i stav a mód, v jakém se portlet nachází. Specifikace portlet 2.0 definuje tři základní stavy portletu normální, minimalizovaný a maximalizovaný stav okna portletu a tři standardní módy portletu VIEW, EDIT a HELP. Specifikace umožňuje přidat i vlastní stavy a módy, jen je nutné, aby byly podporované i ze strany portálu [30]. Liferay tedy poskytuje dva vlastní stavy POP_UP a EXCLUSIVE, které zobrazí portlet v tzv. pop-up okně nebo vykreslí pouze tento portlet. Liferay rozšiřuje základní množinu o dalších šest módů portletů. Mezi nimi je například mód pro tisk, náhled nebo konfigurace. Módy portletu poskytují určitý pohled na portlet. Základní VIEW mód musí implementovat každý portlet, protože zobrazuje běžný výstup portletu. Pohled editace (EDIT) slouží pro konfiguraci portletu podle preferencí uživatele nebo administrátora v závislosti na konfiguraci oprávnění a situaci [30]. Uživatel si tak například může definovat, jaký typ obsahu nebo v jakých intervalech se má zobrazovat. Jednotlivé atributy klíč a příslušná hodnota se ukládají v databázi v tabulce portletpreferences a Liferay je zpřístupňuje skrze stejnojmenné rozhraní. Bez ohledu na typ módu portletu je vždy nutné, aby byl vytvořen buď kontroler zajišťující patřičný výstup pohledu, nebo přímo JSP stránka s totožným výstupem. Jednotlivé pohledy, které portlet podporuje, jsou definované v konfiguračním souboru Konfigurace portletů Konfigurace portletů v Liferay je prováděná na základě vyhodnocení konfiguračních souborů umístěných ve složce WEB-INF. Prvním z nich je soubor portlet.xml, který je jediným povinným souborem vyplývajícím ze specifikace portlet 2.0. Tento konfigurační soubor definuje jednotlivé portlety, které jsou poté dostupné v rámci portálu. Každý záznam tak obsahuje základní informace o portletu, jako například jeho název, inicializační parametry, podporovaný jazyk, sdílené parametry a mnoho dalšího. Ostatní konfigurační soubory jsou proprietární a pomáhají s dalším nastavením portletů v Liferay. Prvním z těchto proprietárních souborů 21

40 4. Liferay je liferay-portlet.xml. Konfigurace v tomto souboru upravuje některé obecné vlastnosti portletů v Liferay a dále tak rozšiřuje jejich JSR286 definici z portlet.xml. V rámci tohoto konfiguračního souboru je možné upravit mimo jiné zdali má být portlet instanciovatelný, tj. zdali může být více instancí daného portletu na jedné stránce, nastavit tzv. frienldy URL upravenou URL pro lepší čitelnost uživatelem nebo je možné přidat specifické javascriptové a kaskádové soubory, které definují dynamické chování na straně klienta a vzhled komponent v rámci daného portletu [31]. Soubor liferay-display.xml přidává možnost tvůrcům portletů rozčlenění jednotlivých portletů do kategorií, ve kterých se posléze zobrazují v Liferay při přidávání portletů na stránku. Soubor liferay-plugin-package.properties je posledním konfiguračním souborem portletů. Tento soubor se od předchozích liší v tom, že neslouží pro popis jednotlivých portletů v rámci portletového pluginu, ale obsahuje metadata a další informace, které se využívají při překladu a nasazení pluginu do Liferay nebo i při publikaci pluginu v Liferay marketplace. Vedle základních popisných dat název, autor, licence, podporovaná verze Liferay se zde může například definovat, na jakých knihovnách tento plugin závisí a tedy jaké knihovny se mají přidat na tzv. classpath [31] Meziportletová komunikace Meziportletová komunikace slouží pro výměnu dat mezi více portlety, tj. jeden nebo více portletů se bude chovat na základě dat z jiného portletu. Vedle základních mechanismů, jako jsou tzv. cookies a portletové relace (session), poskytuje Liferay i další způsoby, jak předávat data mezi portlety. Obecně lze hovořit o jednom portletu, který data posílá (Sender portlet) a o portletech, kteří data přijímají (Receiver portlets). Prvním mechanismem jsou veřejné parametry (public render parameters [32]. Tyto parametry propagují běžné neveřejné render parametry i mezi další portlety, které mají nakonfigurovanou podporu pro konkrétní veřejné parametry. Definice parametrů i podpora ze strany portletů je nastavena v souboru portlet.xml pomocí jednoduchých deklarací v jazyce XML. 22

41 4. Liferay <public - render - parameter > < identifier > entityid </ identifier > <qname xmlns:x =" http: // liferay. com ">x:entityid </ qname > </ public - render - parameter > Příklad kódu 4.4: Definice veřejného parametru entityid Na základě nastavení atributu portlet.public.render.parameter.distribution v portálu je možné určit rozsah platnosti veřejných parametrů. Vedle základního chování, kdy jsou všechny veřejné parametry platné pouze v rámci portletů na jedné stránce, lze rozsah platnosti parametrů rozšířit i na všechny stránky portálu. Vlastní hodnotu jednotlivým parametrům lze přiřadit ve fázi action pomocí metody response.setrenderparameter(... ) a pokud již nechceme, aby tato hodnota zůstala nadále přístupná portletům, můžeme ji odstranit pomocí metody response.removepublicrenderparameter(...). Druhým mechanismem meziportletové komunikace je tzv. událostmi řízená komunikace [32]. Tento způsob komunikace vychází z klasického konceptu událostmi řízeného informačního systému a je proto snažší na pochopení ve srovnání s ostatními způsoby. Stejně jako v případě veřejných parametrů je možné nastavit, aby byly události platné pouze v rámci jedné stránky nebo aby se propagovaly mezi portlety na jiných stránkách. Deklarace definice událostí, publikace a zpracování ze strany portletů je obdobná jako u veřejných parametrů. Portlet opět publikuje danou událost v rámci fáze action pomocí metody response.setevent(... ). Událost je poté zpracována dalšími portlety uvnitř příslušné metody obsluhující daný typ události. Po zpracování události přejde každý z těchto portletů do fáze render. Posledním způsobem meziportletové komunikace je komunikace na straně klienta. Liferay pro tento způsob komunikace poskytuje mechanismus, který dovoluje publikovat nebo naopak zpracovávat události na straně klienta za pomoci javascriptu bez nutnosti serveru v roli prostředníka jako v předchozích mechanismech [33]. Veřejné parametry poskytují jednu velkou výhodu oproti událostem, a to v podobě sjednocení veřejných i neveřejných parametrů do jedné množiny. To usnadňuje práci s veřejnými parametry, protože k nim můžeme přistupovat jako k obyčejným parametrům a do jisté míry tak skrývají mechanismus meziportletové komunikace. 23

42 4. Liferay Na druhou stranu, události mohou zapouzdřovat data různých datových typů včetně složitějších objektů na rozdíl od parametrů obsahující pouze řetězce, které je nutné parsovat do požadovaného datového typu. Další výhodou událostí je to, že nezůstávají aktivní mezi více průchody portletem. 4.2 Hook Hooky reprezentují nejjednodušší způsob, jakým lze upravit standardní chování a přepsat tak hlavní funkce portálu. Koncept hooků se objevil až v pozdějších verzích Liferay, konkrétně od páté verze. Hooky vznikly za účelem nahrazení dosavadního konceptu úprav portálu modelem EXT. Každý hook má svůj vlastní konfigurační soubor liferay-hook.xml, ve kterém je možné nastavit, co daný hook upravuje. Obecně platí, že v jedné instanci portálu by měly hooky upravovat konkrétní soubor nebo atribut v souboru jen jednou, aby nedošlo k nekonzistentnímu stavu, kdy by Liferay nevěděl, která hodnota nebo soubor je ten správný. Existují však výjimky, které dovolují přepisovat jak soubory (např. rozšíření vícejazyčných hlášek), tak atributy (např. atributy definující akce na události v portálu) [34]. Nejčastějším případem, kdy se hook používá, je situace, kdy je zapotřebí upravit stávající podobu některého webového zdroje, tj. změna konkrétní JSP stránky, javascriptového kódu nebo třeba obrázky. Liferay k tomuto účelu poskytuje snadný mechanismus, kdy stačí vytvořit stromovou strukturu reprezentující umístění originálního souboru v portálu. Do tohoto umístění poté stačí pouze vložit upravený soubor a Liferay se sám postará o nahrazení staré verze za novou. Tato aktualizace spočívá ve vložení nového souboru do složky portálu, kde se nachází originální soubor a přidání postfixu portal k názvu původního souboru. Díky tomu je možné snadno odebrat příslušný hook a vrátit funkcionalitu do původního stavu. Od šesté verze Liferay umožňuje omezit platnost hooku jen na některé kolekce webových stránek (tzv. sites). Tyto omezené hooky jsou označované jako application adapters [35]. V současnosti jimi lze omezit působnost pouze hooky upravující JSP stránky, a to nastavením atributu vynucujícím vypnutí globálního rozsahu hooku v konfigu- 24

43 4. Liferay račním souboru. Aplikovat jednotlivé hooky lze poté v konfiguraci skupin stránek v portálu. Vedle úprav JSP webových zdrojů je možné s hooky měnit i přidávat vlastní tzv. strust actions nebo přidat vlastní reakce na události vyvolané uvnitř portálu. Rozdíl mezi akcemi strust a těmi vyvolanými událostmi je právě v původu, který je vyvolá. Je zřejmé, že akce vyvolané událostmi spustí událost portálu, jako je například přihlášení uživatele do systému. Naopak akce strust jsou vyvolané na základě textového řetězce v URL, který odpovídá definovanému řetězci nějaké akce. V obou případech však stačí rozšířit některou z generických Java tříd akcí Liferay a rozšířit konfiguraci přidáním příslušného záznamu do správného konfiguračního souboru. S reakcemi na události souvisí i tzv. model listenery komponenty, které odposlouchávají události (vytvoření, změny,...) nad entitami modelu a podle typu události provést adekvátní reakci. Uvnitř hooku je možné vytvořit vlastní listener, který je buď přidán ke stávajícím, nebo zcela nahradí standardní, který má asociovaná každá entita modelu [34]. Implementace vlastního listeneru je snadná, stačí pouze implementovat generické rozhraní ModelListener a přidat příslušný atribut odkazující na plné kvalifikované jméno listeneru do konfiguračního souboru portal.properties uvnitř hooku. Implicitně se nový listener přidá k ostatním, pokud bychom tedy chtěli ty standardní odstranit, musíme nastavit uvnitř souboru portalext.properties atribut související s danou entitou na prázdnou hodnotu. Jedním z konfiguračních souborů, který lze rozšířit, je portal.xml. Jediný problém, který může nastat, je, že bychom měnili hodnotu jednoho atributu z více hooků a tento atribut je definován tak, že smí být změněn pouze jednou. Mezi takové atributy patří například aktivace podmínek použití. Dalším typem změn je přepsání libovolných textových hlášek a štítků. Veškeré soubory s texty v různých jazykových mutacích jsou umístěny ve složce content v příslušné knihovně portálu. Když chceme upravit některý text zprávy, stačí vytvořit soubor Language_*.properties s označením požadovaného jazyka, do kterého se vloží nová zpráva. Jednotlivé jazykové soubory je poté nutné vložit do konfiguračního souboru liferay-hook.xml. Liferay poté zcela automaticky vkládá nové textové zprávy namísto původních. 25

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16 Obsah Kapitola 1 Seznámení se systémem Joomla!................................. 9 Přehled systémů pro správu obsahu....................................................10 Použití systému pro správu obsahu.....................................................11

Více

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009 Webové rozhraní pro datové úložiště Obhajoba bakalářské práce Radek Šipka, jaro 2009 Úvod Cílem práce bylo reimplementovat stávající webové rozhraní datového úložiště MU. Obsah prezentace Úložiště nasazené

Více

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant KOMPONENTY APLIKACE TreeINFO Petr Štos ECM Business Consultant CO JE TO APLIKACE TreeINFO Sada komponent Komponenty rozšiřující sloupce Komponenty rozšiřující pohledy na data Aplikační části Využití jednotlivě

Více

Zpráva o zhotoveném plnění

Zpráva o zhotoveném plnění Zpráva o zhotoveném plnění Aplikace byla vytvořena v souladu se Smlouvou a na základě průběžných konzultací s pověřenými pracovníky referátu Manuscriptorium. Toto je zpráva o zhotoveném plnění. Autor:

Více

Obsah Úvod 4. TF Wmake 1.5

Obsah Úvod 4. TF Wmake 1.5 Obsah Úvod 4 Struktura systému 5 Uživatelské role 6 Přihlášení do systému 7 Úvodní stránka 8 enu redaktora 9 enu autora 9 azyky 0 Odhlášení ze systému 0 Nastavení Bloky Editace bloku Přidání nového bloku

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu.

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu. Redakční systém JSR Systém pro správu obsahu webových stránek Řešení pro soukromé i firemní webové stránky Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu. Je plně

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

SOU Valašské Klobouky. VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy. Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT

SOU Valašské Klobouky. VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy. Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT SOU Valašské Klobouky VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy Mgr. Radomír Soural Zkvalitnění výuky prostřednictvím ICT Název a číslo projektu CZ.1.07/1.5.00/34.0459 Název školy

Více

Redakční systém Joomla. Prokop Zelený

Redakční systém Joomla. Prokop Zelený Redakční systém Joomla Prokop Zelený 1 Co jsou to red. systémy? Redakční systémy (anglicky Content Management System - CMS) jsou webové aplikace používané pro snadnou správu obsahu stránek. Hlavním cílem

Více

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní WR Reality Web Revolution Uživatelský manuál administračního rozhraní Web Revolution s. r. o. 2010 WR Reality Administrace uživatelský manuál Praktický průvodce administrací webové aplikace WR Reality

Více

Aleš Rybák, Jiří Kadlec. Pluginy budoucnosti

Aleš Rybák, Jiří Kadlec. Pluginy budoucnosti Aleš Rybák, Jiří Kadlec Pluginy budoucnosti Jak se vyvíjel Liferay 4000000 3500000 3000000 2500000 2000000 1500000 1000000 500000 50 k Java LOC 2,1 M Java LOC YAML XSLT XSD XML Velocity Template Language

Více

MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ

MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ PREZENTACI Petr Minařík 2.2.2010 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE ZADÁNÍ PRÁCE Seznámení se s současnými redakčními systémy vyuţívanými pro

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Pryč jsou ty doby, kdy bylo nutné kvůli každé malé úpravě webových stránek shánět odborníka, který

Pryč jsou ty doby, kdy bylo nutné kvůli každé malé úpravě webových stránek shánět odborníka, který Redakční systém JSR Systém pro správu obsahu webových stránek Pryč jsou ty doby, kdy bylo nutné kvůli každé malé úpravě webových stránek shánět odborníka, který měl potřebné znalosti jazyka HTML a jiných

Více

Elektronická podpora výuky předmětu Komprese dat

Elektronická podpora výuky předmětu Komprese dat Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém

Více

Dobrý CMS Popis produktu a jeho rozšíření

Dobrý CMS Popis produktu a jeho rozšíření Dobrý CMS Popis produktu a jeho rozšíření 503M012.N01 11/09/2012 www.dlaex.cz info@dlaex.cz OBSAH 1 Úvod...3 2 Účel produktu...3 3 Vlastnosti produktu...3 3.1 Koncepce...3 3.2 Základní y...3 3.3 Doplňkové

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Co je (staro)nového v DSpace

Co je (staro)nového v DSpace Ústav výpočetní techniky, Masarykova univerzita, Brno CZDSUG 2011, Ostrava Obsah přednášky I Delegování práv. Autentizace přes IP adresy. Omezení viditelnosti, skrytí metadat. Export (CSV). Rozšířená konfigurace

Více

Modul MWA - Publikace a články

Modul MWA - Publikace a články Modul MWA - Publikace a články Stávající webová aplikace ČMI podporuje prostředníctvím Modulu RIV publikaci výstupů vykazovaných v Rejstříku informací o výsledkcích (dále jen RIV). Nový modul Publikace

Více

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka Anotace V rámci projektu FRVŠ jsme připravili webovou e-learningovou aplikaci, která je implementována v jazyce Java v rozšířené

Více

Dobrý SHOP Popis produktu a jeho rozšíření

Dobrý SHOP Popis produktu a jeho rozšíření Dobrý SHOP Popis produktu a jeho rozšíření 501M012.N01 11/11/2011 www.dlaex.cz info@dlaex.cz OBSAH 1 Úvod...3 2 Účel produktu...3 3 Vlastnosti produktu...3 3.1 Koncepce...3 3.2 Základní y...3 3.3 Doplňkové

Více

Redakční systém Joomla!

Redakční systém Joomla! Redakční systém Joomla! historie, současnost i budoucnost Svatopluk Vít Karviná, čtvrtek 29.říjen 2009 Co je to redakční systém? robustní prostředí pro tvorbu stránek není nutná hluboká znalost HTML jazyka

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro administrátory Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento

Více

Modul msender message Sender. Nápověda

Modul msender message Sender. Nápověda Modul msender message Sender Nápověda msender je rozšiřujícím doplňkem systému Money S5 a vytváří pro informační systémy Money bránu do světa SMS zpráv a E-mailové obchodní komunikace. Modul je plně integrován

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Dobrý FOTO Popis produktu a jeho rozšíření

Dobrý FOTO Popis produktu a jeho rozšíření Dobrý FOTO Popis produktu a jeho rozšíření 502M012.N00 11/11/2011 www.dobry-foto.cz www.dlaex.cz info@dlaex.cz OBSAH 1 Úvod...3 2 Účel produktu...3 3 Vlastnosti produktu...3 3.1 Koncepce...3 3.2 Základní

Více

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server. 1 Práce se systémem Tento dokument popíše způsob instalace a základy práce se systémem Joomla!, ve kterém je učebnice jazyka Scratch vytvořena. Podrobný návod k systému Joomla! je popsán v dokumentaci

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

WNC::WebNucleatCreator

WNC::WebNucleatCreator Tomáš Dlouhý WNC::WebNucleatCreator Verze: 5.1 1 Obsah Obsah...2 Úvod...3 Novinky...3 Požadavky...4 Instalace...4 Přihlášení se do WNC...6 Moduly...7 Modul Blog...7 Modul Categories...8 Modul News...8

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

Více

Reranking založený na metadatech

Reranking založený na metadatech České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1

Více

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA INTERPI Interoperabilita v paměťových institucích Program aplikovaného výzkumu a vývoje národní kulturní identity

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Tvorba webových aplikací s využitím Open Source CMS. Lukáš Dubina. Vedoucí práce. PaedDr. Petr Pexa

Tvorba webových aplikací s využitím Open Source CMS. Lukáš Dubina. Vedoucí práce. PaedDr. Petr Pexa Tvorba webových aplikací s využitím Open Source CMS Lukáš Dubina Vedoucí práce PaedDr. Petr Pexa Školní rok: 2009-2010 Abstrakt Cílem této práce je popsat problematiku tvorby webových stránek s využitím

Více

Postupy práce se šablonami IS MPP

Postupy práce se šablonami IS MPP Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul

Více

Technologie Sharepoint

Technologie Sharepoint Jan Salajka 25. 3. 2010 ČVUT FEL Technologie Sharepoint Letem světem Sharepoint - Co to je??? Je to technologie Slouží především k řízené tvorbě a správě informací ve webovém prostředí Slouží jako podklad

Více

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13 Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje

Více

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. Tomáš Petránek tomas@petranek.eu Karviná, 21. 10. 2011 Obsah prezentace 1. Okolnosti

Více

DATA ARTICLE. AiP Beroun s.r.o.

DATA ARTICLE. AiP Beroun s.r.o. DATA ARTICLE AiP Beroun s.r.o. OBSAH 1 Úvod... 1 2 Vlastnosti Data Article... 1 2.1 Požadavky koncových uživatelů... 1 2.2 Požadavky na zajištění bezpečnosti a důvěryhodnosti obsahu... 1 3 Implementace

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

PORTÁL STÁTNÍ ROSTLINOLÉKAŘSKÉ SPRÁVY VE SLUŽBÁCH

PORTÁL STÁTNÍ ROSTLINOLÉKAŘSKÉ SPRÁVY VE SLUŽBÁCH PORTÁL STÁTNÍ ROSTLINOLÉKAŘSKÉ SPRÁVY VE SLUŽBÁCH VEŘEJNOSTI I ZAMĚSTNANCŮ O zákazníkovi Státní rostlinolékařská správa (SRS) je úředním orgánem rostlinolékařské péče České republiky. Činnost Státní rostlinolékařské

Více

Správa obsahu webové platformy

Správa obsahu webové platformy Správa obsahu webové platformy www.dobrovolnik.net Bc. Irina Kushnareva PRAHA 2019 Tento dokument byl vypracován v rámci projektu Dobrovolnictví ve veřejné správě, reg. č. CZ.03.3.X/0.0/0.0/15_018/0005458,

Více

Systémová administrace portálu Liferay

Systémová administrace portálu Liferay 02 Systémová administrace portálu Liferay 1 Agenda Administrace Instalace lokálního a serverového prostředí Základní práce s uživateli Role a oprávnění Konfigurace portálu 2014 IBA CZ, s. r. o. 2 Portálová

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

Více

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele MINISTERSTVO VNITRA odbor strukturálních fondů č.j. MV- 82945-5 /OSF Praha dne 24. listopadu 2009 Počet listů: 5 Odpověď zadavatele na otázky ze dne 20. listopadu 2009 k Zadávací dokumentaci na veřejnou

Více

Manuál pro práci s modulem Otázky a odpovědi

Manuál pro práci s modulem Otázky a odpovědi Manuál pro práci s modulem Otázky a odpovědi Užitečné postupy a doporučení Obsah 1 Role uživatelů...3 2 Odesílání otázek...3 3 Přehled otázek...4 3.1 Orientace v přehledu...4 3.2 Základní údaje otázky...5

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA Obsah Obsah... 4 Pinya CMS... 5 Přihlášení do systému... 6 Položky v menu administrace... 7 Uživatelé... 8 Správa uživatelů... 8 Nový uživatel... 9 Role... 10 Vytvoření

Více

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

Více

Jak otevřené je Zastupitelstvo hlavního města Prahy?

Jak otevřené je Zastupitelstvo hlavního města Prahy? Jak otevřené je Zastupitelstvo hlavního města Prahy? Nezbytnou podmínkou pro kvalitní fungování demokracie je dostupnost informací o činnosti zastupitelských sborů, jimiž jsou krajská zastupitelstva. Ta

Více

Webové rozhraní TELEFONNÍ STYK POD KONTROLOU NÁSTROJ PRO ŘÍZENÍ CHODU CALL CENTRA A ZPRACOVÁNÍ TELEFONNÍCH HOVORŮ. Funkcionalita

Webové rozhraní TELEFONNÍ STYK POD KONTROLOU NÁSTROJ PRO ŘÍZENÍ CHODU CALL CENTRA A ZPRACOVÁNÍ TELEFONNÍCH HOVORŮ. Funkcionalita TELEFONNÍ STYK POD KONTROLOU NÁSTROJ PRO ŘÍZENÍ CHODU CALL CENTRA A ZPRACOVÁNÍ TELEFONNÍCH HOVORŮ Webové rozhraní Webové rozhraní je určeno k ovládání a konfiguraci komponent SEVIO a k ovládání a konfiguraci

Více

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 OBSAH 1 ÚVOD... 3 1.1 HOME STRÁNKA... 3 1.2 INFORMACE O GENEROVANÉ STRÁNCE... 4 2 VYHLEDÁVÁNÍ V ÚZEMÍ...

Více

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 /

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 / Outdoor Expert Uživatelský manuál Verze aplikace: 1.0 28. 12. 2014 OutdoorExpert_Manual.docx 1 / 35 2015-01-01 Obsah 1 ÚVOD... 3 2 POPIS FUNKČNOSTÍ APLIKACE... 3 2.1 SPUŠTĚNÍ APLIKACE... 3 2.2 ZALOŽENÍ

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

43 HTML šablony. Záložka Šablony v systému

43 HTML šablony. Záložka Šablony v systému 43 HTML šablony Modul HTML šablony slouží ke správě šablon pro výstupy z informačního systému modularis ve formátu HTML. Modul umožňuje k šablonám doplňovat patičku, dokumentaci a vázat šablony na konkrétní

Více

45 Plánovací kalendář

45 Plánovací kalendář 45 Plánovací kalendář Modul Správa majetku slouží ke tvorbě obecných ročních plánů činností organizace. V rámci plánu je třeba definovat oblasti činností, tj. oblasti, ve kterých je možné plánovat. Každá

Více

Internetové služby isenzor

Internetové služby isenzor Internetové služby isenzor Aktuální snímek z webové kamery nebo aktuální teplota umístěná na vašich stránkách představují překvapivě účinný a neotřelý způsob, jak na vaše stránky přilákat nové a zejména

Více

InternetovéTechnologie

InternetovéTechnologie 8 InternetovéTechnologie webdesign, mobile first Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky Webové stránky a aplikace - Webové stránky - množina vzájemně propojených stránek, které obsahují informace

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

GeoHosting. Martin Vlk. (vypusťte svoje data do světa) Help forest s.r.o. člen skupiny WirelessInfo 2008

GeoHosting. Martin Vlk. (vypusťte svoje data do světa) Help forest s.r.o. člen skupiny WirelessInfo 2008 GeoHosting (vypusťte svoje data do světa) Martin Vlk Help forest s.r.o. člen skupiny WirelessInfo 2008 Využívání geografických dat Jak můžeme pracovat s geografickými daty? Práce s vlastními geografickými

Více

Uživatelský manuál aplikace. Dental MAXweb

Uživatelský manuál aplikace. Dental MAXweb Uživatelský manuál aplikace Dental MAXweb Obsah Obsah... 2 1. Základní operace... 3 1.1. Přihlášení do aplikace... 3 1.2. Odhlášení z aplikace... 3 1.3. Náhled aplikace v jiné úrovni... 3 1.4. Změna barevné

Více

26 Evidence pošty. Popis modulu. Záložka Evidence pošty

26 Evidence pošty. Popis modulu. Záložka Evidence pošty 26 Evidence pošty Uživatelský modul Evidence pošty realizuje podrobnou evidenci všech došlých a odesílaných poštovních zásilek s možností přidělovat tyto zásilky uživatelům informačního systému k vyřízení,

Více

Pravidla a plánování

Pravidla a plánování Administrátorský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz Datum vydání: 7. května 2013

Více

APS Administrator.ST

APS Administrator.ST APS Administrator.ST Rozšiřující webový modul pro APS Administrator Webové rozhraní sledování docházky studentů Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská 1611/19, Praha, www.techfass.cz,

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

ArcGIS Online Subscription

ArcGIS Online Subscription ArcGIS Online Subscription GIS pro organizace ArcGIS Online je GIS v cloudu. Poskytuje služby GIS v prostředí internetu, ať už se jedná o úložné místo, publikaci mapových a geoprocessingových služeb, nebo

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source Univerzální datové rozhraní UDS for ELO UDS pro ELO je univerzální datové rozhraní, schopné napojit systém pro archivaci a správu dokumentů ELO na libovolný datový zdroj a to bez nutnosti programování.

Více

1. Integrační koncept

1. Integrační koncept Příloha č. 2: Technický popis integrace 1. Integrační koncept Z hlediska koncepčního budování Smart Administration na Magistrátu města Mostu je možno hovořit o potřebě integrace tří úrovní systémové architektury

Více

Aplikace pro srovna ní cen povinne ho ruc ení

Aplikace pro srovna ní cen povinne ho ruc ení Aplikace pro srovna ní cen povinne ho ruc ení Ukázkový přiklad mikroaplikace systému Formcrates 2010 Naucrates s.r.o. Veškerá práva vyhrazena. Vyskočilova 741/3, 140 00 Praha 4 Czech Republic tel.: +420

Více

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE ICZ a.s. Správa a řízení dokumentů Na hřebenech II 1718/10 147 00 Praha 4 Tel.: +420-222 271 111 Fax: +420-222 271 112 Internet: www.i.cz Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE Vypracoval

Více

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

Bc. Martin Majer, AiP Beroun s.r.o.

Bc. Martin Majer, AiP Beroun s.r.o. REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam

Více

Jak otevřené je zastupitelstvo Středočeského kraje?

Jak otevřené je zastupitelstvo Středočeského kraje? Jak otevřené je zastupitelstvo Středočeského kraje? zbytnou podmínkou pro kvalitní fungování demokracie je dostupnost informací o činnosti zastupitelských sborů, jimiž jsou krajská zastupitelstva. Ta se

Více

Akční nabídka marketingového řešení pro neziskové organizace

Akční nabídka marketingového řešení pro neziskové organizace Akční nabídka marketingového řešení pro neziskové organizace Varianta BASIC Obsahem balíčku je: webová stránka včetně: redakčního systému umožňujícího snadnou úpravu obsahu i neprofesionálním uživatelům,

Více

Mapa Česka: www.mapa-ceska.cz

Mapa Česka: www.mapa-ceska.cz Mapa Česka: www.mapa-ceska.cz Mapový portál Mapa Česka, který je dostupný na internetové adrese www.mapa-ceska.cz, byl vytvořen v roce 2014 v rámci bakalářské práce na Přírodovědecké fakultě Univerzity

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Leady & MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK

Leady & MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK Strana 1 z 12 Obsah 1. Leady... 3 a. Shrnutí... 3 b. Popis modulu... 3 c. Technické podrobnosti o modulu... 5 2. MERK... 6 a. Shrnutí... 6 b.

Více

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na

Více

36 Elektronické knihy

36 Elektronické knihy 36 Elektronické knihy Uživatelský modul Elektronické knihy slouží k přípravě a publikování informací ve formátu HTML. Tento formát je vhodný pro prezentaci informací na internetu a je široce podporován

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Nephele systém. Akademie výtvarných umění v Praze. Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i.

Nephele systém. Akademie výtvarných umění v Praze. Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i. Nephele systém Akademie výtvarných umění v Praze Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i. RNDr. Mgr. M. Beneš, RNDr. B. Zitová, PhD., RNDr. J. Hradilová,

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Nástroje pro tvorbu wireframes

Nástroje pro tvorbu wireframes Nástroje pro tvorbu wireframes Tento dokument stručně popisuje dostupné nástroje, které slouží pro tvorbu modelů stránek, tzv. wireframes. Michal Pařízek v červnu 2009 vyzkoušel celkem sedm nástrojů, z

Více

44 Organizace akcí. Popis modulu. Záložka Seznam akcí

44 Organizace akcí. Popis modulu. Záložka Seznam akcí 44 Organizace akcí Modul Organizace akcí slouží k přípravě a plánování různých společenských, sportovních, kulturních, apod. akcí. Tyto akce je možné dále dělit do částí (ve stromové struktuře) a plánovat

Více

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče. KAPITOLA 3 Architektura aplikací na frameworku Rails V této kapitole: modely, pohledy, řadiče. 58 Část I: Začínáme Jedna ze zajímavých vlastností frameworku Rails spočívá v tom, že klade docela závažná

Více

Název: On-line tvorba webu Anotace:

Název: On-line tvorba webu Anotace: Registrační číslo projektu: CZ.1.07/1.4.00/21.3712 Škola adresa: Základní škola T. G. Masaryka Ivančice, Na Brněnce 1, okres Brno-venkov, příspěvková organizace Na Brněnce 1, Ivančice, okres Brno-venkov

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více