Webová aplikace redakčního systému pro správu a vytváření dokumentů



Podobné dokumenty
Webová aplikace redakčního systému pro správu a vytváření dokumentů

Olga Rudikova 2. ročník APIN

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

Název: On-line tvorba webu Anotace:

Redakční systémy 1. pro správu obsahu

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

IS pro podporu BOZP na FIT ČVUT

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

MBI - technologická realizace modelu

Formy komunikace s knihovnami

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

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

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

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

Projekt: Internetové stránky obce Modletice

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA

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

E-learningovýsystém Moodle

Obsah Úvod 4. TF Wmake 1.5

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

Manuál k systému RS4S. verze 1.2

Manuál pro obsluhu Webových stránek

ArcGIS Online Subscription

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

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

Správa obsahu webové platformy

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

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

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

DOCUMENT MANAGEMENT TOOLKIT

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

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

Prezentace navrhované struktury internetových stránek

webmarketin Základní moduly aplikace

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

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ

PRODUKTY Tovek Server 6

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

Aplikace pro srovna ní cen povinne ho ruc ení

ECM. Enterprise Content Management. čt 9:15 Petr Bouška (xboup00) Zbyněk Hostaš Lukáš Maršíček Martin Nikl (xnikm00)

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

PŘÍLOHA C Požadavky na Dokumentaci

TAOX Konfigurátor potisku seznam funkcí

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

Business Intelligence

1. Začínáme s FrontPage

Vzdělávací obsah vyučovacího předmětu

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

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

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

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

Digitalizace a oběh dokumentů VUMS LEGEND, spol. s.r.o.

Jakub Šesták. ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

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

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

PRODUKTY. Tovek Tools

Maturitní projekt do IVT Pavel Doleček

Redakční systém WordPress MU Manuál pro uživatele

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Dokumentace pro správu zlínských DUM

GOOGLE APPS FOR WORK. TCL DigiTrade

Příloha č. 1. k zadávací dokumentaci veřejné zakázky DATOVÝ SKLAD. Technická specifikace

MANAŽER ČASOPISU. Obr. 1 Hlavní stránka manažera časopisu

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

Kritéria pro výběr uživatelského prostředí Joomla

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

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

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

Redakční systém Joomla!

Pojmenuje a ovládá základní funkce počítače, seznámí se s jednoduchou historií vývoje počítačů. Pojmenuje a ovládá základní funkce počítače

Manuál pro uživatele aplikace FUEL 2000 Enterprise

Snadná úprava stránek, nemusím umět HTML, tvořím obsah téměř jako ve Wordu. Jak změnit obsah nástěnky: vpravo nahoře Nastavení zobrazených informací

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 editaci ŽS. Verze 1.

Zadání maturitní práce ve školním roce 2016/2017

Příručka pro studenta

PRODUKTY. Tovek Tools

Metodika vkládání dat do e-learningu Patrik Vlnas

SW pro správu a řízení bezpečnosti

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části)

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

Drupal. Svobodný redakční systém. duben 2007 Jakub Suchý 1

Systémy pro tvorbu digitálních knihoven

ZÁKLADNÍ POPIS INFORMAČNÍHO SYSTÉMU KAJOT EASY-K

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Obsah Redakční systém Wordpress

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

1. Integrační koncept

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

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

CMSSS manuál k použití

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

Publikování map na webu - WMS

PROVÁZÁNÍ ECM/DMS DO INFORMAČNÍCH SYSTÉMŮ STÁTNÍ A VEŘEJNÉ SPRÁVY

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

DATAMINING SEWEBAR CMS

VY_32_INOVACE_INF3_18. Textové formáty PDF, TXT, RTF, HTML, ODT

- příručka pro redaktory -

Transkript:

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Webová aplikace redakčního systému pro správu a vytváření dokumentů BAKALÁŘSKÉ PRÁCE Ivo Drgáč Brno, podzim 2012

Prohlášení Prohlašuji, že tato 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. Vedoucí práce: Ing. Mgr. Zdeněk Říha, Ph.D.

Poděkování Rád bych tímto poděkoval Ing. Mgr. Zdeňku Říhovi, Ph.D. za vedení mé práce. Dále bych chtěl poděkovat externímu zadavateli, především Mgr. Haně Vystavělové, za odborné rady, konzultace a především lidský přístup.

Shrnutí Práce se zabývá studií systémů pro tvorbu a správu dokumentů. Praktická část práce je zaměřena na implemantaci webové aplikace pro parsování klíčových částí dokumentu. Abstract The aim of this thesis is study of systems for creating and managing documents. The practical part is focused on the implementation of web application for parsing key parts of the document.

Klíčová slova Správa obsahu, redakční systém, CMS, WCMS, ECMS, PHP, parsování, zranitelnost Keywords Content Management, Content Management System, CMS, WCMS, ECMS, PHP, parsing, vulnerability

Obsah 1. Úvod... 5 2. Informační systémy ke správě webového obsahu... 6 2.1. Content management... 6 2.2. Content management system... 6 2.3. Typy CMS... 8 2.3.1. Mobile CMS... 8 2.3.2. Enterprise CMS... 8 2.3.3. Web CMS... 10 3. Redakční systém ke správě webového obsahu... 12 3.1. Charakteristika redakčních systémů... 12 3.2. Modulárnost redakčních systémů... 13 3.3. Přístup k redakčním systémům... 13 3.4. Výhody užití redakčního systému... 13 3.5. Přehled dostupných redakčních systémů... 14 3.5.1. Nejvíce využívané redakční systémy... 15 3.5.1.1. WordPress... 15 3.5.1.2. Joomla!... 17 3.5.1.3. Drupal... 18 4. Analýza a návrh systému... 20 4.1. Charakteristika systému... 20 4.2. Datový model systému... 20 4.3. UML model systému... 23 4.3.1. Diagram funkcionality systému... 24 4.3.2. Správa dokumentací... 25 4.3.3. Správa zranitelností... 26 4.3.4. Správa poznámek... 27 4.3.5. Správa uživatelů... 28 5. Implementace aplikace... 29 5.1. Použité nástroje pro implementaci... 29 5.1.1. Jazyk PHP... 29 5.1.2. MySQL... 29 5.1.3. Nette... 30 5.1.4. PHPdocX... 31 5.1.5. Twitter Bootstrap... 31 5.2. Seznam klíčových funkcí implementováného systému... 31 6. Závěr... 33 7. Seznam literatury... 34 8. Přílohy... 37

1 Úvod Cílem této bakalářské práce je seznámit uživatele se základními principy content management systémů. Teoretická část je zaměřena na vysvětlení hlavních pojmů z oblasti CMS, jejich rozčlenění a popis základních funkcí jednotlivých systémů. Další část práce je věnována seznámení čtenáře s redakčními systémy. Důsledně jsem popsal hlavní funkce redakčních systémů a zaměřil se také na seznam výhod, které uživatelům poskytuje jejich používání. Za podstatné považuji i seznámení čtenáře se současně nejúspěšnějšími redakčními systémy. Praktická část bakalářské práce je zaměřena na využití nastudovaných informací pro tvorbu webové aplikace redakčního systému se zaměřením na parsování částí dokumentu. Navržený systém má sloužit k vnitřním potřebám firmy AEC, a tudíž bylo potřeba brát ohledy na jejich specifické potřeby a požadavky. Návrh systému je popsán prostřednictvím datového modelu aplikace, který je reprezentován ERD diagramem. Dbal jsem také na popsání klíčových entit, jejich atributů a jednotlivými vazbami mezi nimi. Funkce systému jsou znázorněny pomocí UML diagramů. Implementační část systému tvoří seznam použitých technologií včetně jejich stručného popisu. Všechny použité technologie jsou volně dostupné. V poslední části své práce jsem znázornil, jakým způsobem byly implementovány jednotlivé klíčové funkce systému. 5

2 Informační systémy ke správě webového obsahu Následující kapitola se zaměřuje na vysvětlení základních pojmů z oblasti správy digitálního obsahu. 2.1. Content management Content management (CM) je množina procesů a technologií sloužících ke tvorbě a správě digitálních informací. Tyto informace nesou často označení digitální obsah případně jen obsah a mohou mít podobu textového dokumentu, multimediálního souboru nebo datového typu, jehož životní cyklus je potřeba spravovat. Cyklus dokumentu můžeme rozčlenit do základních etap podle vývoje: vytvoření, aktualizace, publikace, předvedení, archivace a destrukce. Správa obsahu se řídí propojenými pracovními postupy kde každý účastník má přidělenu svou roli a povinnosti: Autor Vytváří a upravuje digitální obsah. Editor Provádí překlad a lokalizaci dokumentu a upravuje jejich styl. Vydavatel Uvolňuje publikace a dbá na jejich zveřejnění. Administrátor Spravuje uživatelské účty, určuje jejich práva podle funkce. Administrátor má také možnost úpravy přístupových práv pro určité složky a soubory. Host Uživatel, který používá publikace po jejich uvedení na Internet. CM umožňuje správu více verzí daného obsahu dat pro dokumenty v určitých fázích jejich vývoje. Tato funkce je vhodná pro autory a editory, kteří se při tvorbě dokumentů často potřebují vrátit k předchozím verzím dokumentů.[8] 2.2. Content management system Content management system (CMS) je označení pro systém, který usnadňuje uživatelům publikaci, editaci a údržbu obsahu pomocí centrálního rozhraní (nejčastěji webové). Systémy správy obsahu poskytují možnost řídit a ovládat pracovní procesy ve vývojovém prostředí. Tyto procedury mohou být automatizované případně manuální. Funkce CMS (Content Managment System) můžou být rozděleny do následujících skupin:[23] 6

Tvorba a modifikace obsahu Klíčem k tvorbě obsahu CMS je jednoduché prostředí, které je podobné různým textovým editorům. To umožňuje vytváření a aktualizaci obsahu bez potřeby širší znalosti programovacích jazyků jako je HTML. CMS také slouží jako nástroj pro správu struktury webových stránek, především jejich umístění a provázanost mezi sebou. Tuto strukturu je možné měnit bez narušení odkazů mezi stránkami. Převážná část CMS poskytuje pro tvorbu digitálního obsahu on-linové prostředí. Obsah tam lze tvořit a aktualizovat odkudkoliv, kde je internetové připojení.[23][5] Správa obsahu Pro správu obsahu slouží centrální úložiště CMS systému, kde je uchován veškerý obsah. Díky tomu lze evidovat změny, které nastaly a uživatele, kteří je provedli. Každý uživatel tak může spravovat pouze stránky, ke kterým má přístup. Funkce CMS umožňují taky propojení se stávajícími informačními systémy.[23][5] Publikování Vzhled CMS je aplikován nezávisle na obsahu. Data sloužící k publikaci jsou upravována prostřednictvím navržených šablon, čímž je zajištěn jednotný vzhled systému. To umožňuje autorům soustředit se hlavně na tvorbu a úpravu digitálního obsahu. U těch nejlepších systémů je takzvaný koncept "single source publishing" (publikování z jednoho zdroje), kdy je obsah automaticky převáděn do různých formátů. To znamená vygenerování obsahu do různých tisknutelných formátů (PDF, RTF) nebo například do univerzálního datového formátu XML. [23][5] Prezentace CMS dokážou poskytnout celou řadu nástrojů pro zlepšení kvality a efektivnosti stránek. Stejně tak usnadňují zajištění podpory pro nejrůznější prohlížeče nebo návštěvníky s omezenou schopností vnímání (zrakově postižení). [23][5] 7

2.3. Typy CMS Každý CMS nabízí specifické množství funkcí. Systémy tedy můžeme rozdělit do několika kategorií podle obsahu, se kterým pracují. [27] Web CMS Enterprise CMS Mobile CMS 2.3.1. Mobile CMS Mobile content management system (MCMS) je CMS systémem zaměřujícím se na zpracování a prezentaci digitálního obsahu pro mobilní zařízení jako jsou mobilní telefony, smartphony nebo PDA. MCMS mohou existovat samostatně, nicméně často jsou součástí větších CMS nebo je jejich funkcionalita přidána prostřednictvím modulů. MCMS se soustřeďuje především na tyto funkce[14]: Multi-channel content Multi-channel content umožňuje uživatelům spravovat obsah a zároveň jej poskytovat webovým prohlížečům, mobilní telefonům a dalším zařízením.[16] Templating Zatímco u tradičních content management systémů jsou vzhledové šablony navrhovány a optimalizovány pro několik webových prohlížečů, musí Mobile CMS šablony přizpůsobit velmi širokému spektru cílových zařízení s různými kapacitami a omezeními. Existují dva přístupy k přizpůsobení šablon: multi-client a multi-site. Multi-klientský přístup umožňuje vidět všechny verze webu na stejné doméně (např. sitename.com), šablony jsou prezentovány na základě zařízení, které uživatel používá pro prohlížení. Multi-site přístup zobrazuje mobilní web na cílené sub-doméně (např. mobile.sitename.com).[16] Location-based content Tato funkce poskytuje uživateli cílené informace, reklamy, mapy a novinky do mobilního zařízení v závislosti na jeho současné poloze.[16] 2.3.2. Enterprise Content Management Enterprise Content management systém (ECMS) je navržen pro správu podnikových informací. Ty existují v mnoha digitálních podobách: textové dokumenty, tabulky, obrázky, fotky, audio, video soubory apod. ECM pomáhá vytvářet obsah pomocí běžných aplikací jako je Microsoft Word a jednoduchých šablon pro vytváření obsahu. Může rovněž uchovat a zahrnout stávající obsah z mnoha různých zdrojů. [3] ECMS zajišťuje 8

správu obsahu z jiných podnikových aplikací a portálů, zefektivňuje vyhledávání použitím kategorizačních schémat (atibuty, metada, tagy)[3]. Rovněž slouží ke správě vztahů mezi dokumenty. Systém také podporuje tvorbu dokumentace ve více podobách a uchovávání různých verzí. [3] ECMS rovněž zajišťuje publikaci digitálního obsahu skrze vícečetné kanály. Potřebná informace může být zároveň poslána jako fax, tištěna jako dokument nebo publikována na webových stránkách.[3] Kompletní ECM systém v sobě zahrnuje následující oblasti: Enterprise Document Management (EDM) Web Content Management (WCM) Digital Asset Management (DAM) Enterprise Document Management EDM nebo také Document Management (DM, DMS) slouží ke správě podnikové dokumentace a usnadňuje práci s dokumenty ve všech fázích jejich životního cyklu. DMS zajišťuje uchovávání a sledování odlišných verzí dokumentu. Definuje a poskytuje automatickou obsluhu procesů, které jsou spojeny s tvorbou a distribucí dokumentace. Poskytuje systému funkce pro vyhledávání ať už fulltextového nebo dle atributů. Uživatel tak může najít informace bez potřeby znalosti jejich organizace nebo místa úložiště.[3][11] Web Content Management System Jedná se o systém pro podporu tvorby webového obsahu. Tomuto druhu CMS a jeho podrobnému popisu je věnována kapitola 2.3.3. Digital Asset Management Jedná se o nástroj sloužící k efektivní správě a zpracování grafických souborů, ke kontinuálnímu zpracování audio a video a jiných mediálních dat hledají marketingové organizace softwarové aplikace vytvořené speciálně pro správu digitálních informací. [3]Správa digitálních informací 1 poskytuje obchodní přínos a návratnost investic pomocí inovačních metod organizace, distribuce a sledování digitálních i fyzických médií po vícečetných kanálech. [3] Navíc DAM poskytuje firmám schopnost přesunovat digitální obsah efektivně přes dodavatelský řetězec k procesům produkce, postprodukce a distribuce.[3] 1 Správa digitálních informací - Digital Asset Management (DAM) 9

2.3.3. WEB CMS Jedná se o jeden z nejvíce používaných druhů CMS. Umožňuje uživateli vytvářet, editovat, publikovat a také udržovat obsah webových stránek. Hlavní výhodou správy WCMS je, že je určen pro uživatele bez rozsáhlých znalostí. Přesun tvorby obsahu se tak přesunuje z IT na odborná oddělení, kde uživatelé mohou uploadovat, upravovat a odstraňovat obsah stránek pomocí předem definovaných šablon systému.[28] Jednou z klíčových funkcí webů je navigace a vyhledávání. Vzhled konkrétních stránek nebo částí webu je definován prezentačními šablonami, ve kterých je rovněž určeno, jaké typy navigačních menu se budou používat a kde budou umístěny. Kvalita vyhledávacích komponent a použité mechanismy vyhledávání se liší systém od systému. Obvykle jsou možné kombinace fulltextového vyhledávání s prohledáváním klíčových slov a kategorií, řazením podle relevance nalezených záznamů apod. Aby vyhledávání skutečně fungovalo, je potřeba připravit koncepci rozdělení částí obsahu do kategorií a při vytváření dbát na to, aby každá část obsahu byla označena potřebnými metadaty a klíčovými slovy. S přibývajícím množstvím informací na webu se význam vyhledávání zvyšuje a stává se opravdu klíčovým. Špatně fungující vyhledávání na rozsáhlém webu významně degraduje jeho užitnou hodnotu pro uživatele a měnit koncepci kategorií, metadata a klíčová slova stovek či tisíců obsahových částí za běhu je velmi obtížné a nákladné. WCMS můžeme rozdělit podle toho, jakým způsobem systém zpracovává obsah[28]: Offline processing systems Tento typ WCMS zpracovává obsah dříve, než je publikován na server. Uživatel může manipulovat s obsahem i v případě internetového výpadku. Jakýkoliv obsah, který byl uploadován do WCMS, není zveřejněn, dokud autor nebo editor nedá svolení k jeho publikaci. Ve výsledku je tento druh systému vhodný spíše pro menší skupinu uživatelů, kde jen omezené množství z nich má přístup k síti a stará se o publikaci webového obsahu. Mezi nejznámější offline WCMS patří Bricolage, CityDesk, Vignette a Adobe Contribute. Online processing systems Pokud se na správě digitálního obsahu podílí více uživatelů, je vhodnější vybrat online WCMS, který umožňuje přístup z libovolné lokality, kde je dostupné internetové připojení. Jednou z výhod online zpracování CMS je jeho rozšiřitelnost funkcionality v podobě doplňků, jako jsou galerie obrázků, fórum, wiki ablogy. Příkladem takovéhoto WCMS jsou Joomla, Drupal, Plone a Mambo. Hybrid systems Systémy, které vznikly jako kombinace obou typů zmíněných WCMS. Předností toho systému je možnost využívat výhody offline i online zpracování obsahu. 10

3 Redakční systémy Tato kapitola se zaměřuje na vysvětlení základních pojmů z oblasti redakčních systémů. 3.1. Charakteristika redakčních systémů Redakční systémy (RS) jsou součástí skupiny systémů pro správu webového obsahu. Hlavním rozdílem je jejich konkrétní zaměření a menší rozsah funkcí ve srovnání s robustními WCMS systémy. Funkce redakčních systémů slouží k jednoduchému publikování a pohodlnou editaci již existujících webových prezentací a jejich webového obsahu. Některé systémy však disponují takovými funkcemi, že je lze využít i při samotné tvorbě webových stránek. [21] V dnešní době je pod pojmem RS obvykle myšlen systém, který je dostupný skrz web rozhraní a umožní jednoduše spravovat články, fotografie, hudbu nebo video a další multimediální obsah. Systém má obvykle dvě části, které nazýváme uživatelská a správcovská. Podle odbornosti uživatele můžeme zajistit přístup k jedné nebo druhé části rozhraní a umožnit tak správu a úpravu obsahu našich stránek. Hlavním prvkem u redakčních systémů je jednoduchá ovladatelnost pro uživatele. Stejně jako u WCMS i RS poskytují a umožňují správu webového obsahu bez znalosti skriptovacích jazyků jako jsou PHP a ASP. Využívány jsou především pro tvorbu webových stránek, portálů, galerií, blogů, ale také pro tvorbu intranetových stránek firem. Redakční systémy se liší v počtu funkcí, které poskytují. Spousta z nich se programuje firmám dle jejich specifických potřeb a požadavků. Avšak je zde několik jasných prvků, které má většina společné[22][1][7]: Decentralizovaná správa obsahu umožňuje více uživatelům spravovat web prostřednictvím internetu nebo firemní sítě. Tvorba a editace článků ve WYSIWYG editorech - uživatel pro tvorbu webového obsahu využívá WYSIWYG editory, u kterých není potřeba znát programovací jazyky. Náhled umožňuje nahlížet na vytvořené stránky a vyprodukovaný obsah. Správa přístupových práv přiděluje práva, díky kterým má uživatel jasně daný seznam funkcí, které může v systému vykonávat (úprava dokumentů apod). Přístup přes webový prohlížeč - údržba a internetové prezentace se dá provádět prostřednictvím internetu. Provázanost příbuzných stránek umožňuje jednoduše provázat příbuzné stránky a tím usnadnit orientaci. 11

Publikace růných formátů dokumentů - uživatel může publikovat obsah ve formátu PDF, Docx, Excel apod. Oddělení logické struktury, vzhledu a obsahu - obsah je strukturován do předem navržených šablon, které zajišťují jednotný vzhled celého webu. Uchovávání verzí obsahu - v případě potřeby dává uživateli možnost vrátit se předchozí verzi obsahu. Standartizace - při používání šablon pro tvorbu webové prezentace je dbáno na stejnorodé promítnutí stránek u různých typů prohlížeče. 3.2. Modulárnost redakčních systémů Převážná část redakčních systémů je navržena modulárně. To zaručuje možnost rozšiřování funkcí redakčního systému prostřednictvím dalších přídavných prvků. Přídavné moduly jsou navrženy většinou výrobcem RS a záleží jen na něm, jestli jsou zpoplatněny. Příkladem takového modulu může být diskusní fórum, chatovací místnost aj. Obrázek 3.1 : Znázornění modularity redakčního systému 3.3. Přístup k redakčním systémům Provoz redakčních systémů je zajišťován prostřednictvím webových serverů. Uživatelé se přihlašují skrze webové aplikace a mají definovaná přístupová práva. Nahrávání digitálního obsahu probíhá s pomocí webového prohlížeče nebo FTP. Obsah a všechny informace, které souvisejí s webovým obsahem, jsou ukládány v relačním databázovém systému. 3.4. Výhody užití redakčních systémů Redakční systémy přinášejí širokou škálu výhod v závislosti na výběru typu RS. V dnešní době rozlišujeme systémy freewarové, které jsou založené na platformě OpenSource. Jejich předností je dostupnost a možnost samostatné úpravy kódu podle potřeb uživatele. 12

Další možností jsou komerční redakční systémy, které za určitý poplatek poskytují RS s předem daným množstvím funkcí.[21] V případě rozšíření funkcionality RS je potřeba si zakoupit příslušný modul s požadovanou funkcí. Poslední populární variantou jsou proprietální redakční systémy navržené podle potřeb konkrétní společnosti.[24] V případě vhodně zvoleného RS si firma zajistí prostředek pro jednoduché spravování webových prezentací, který se jednoduše obsluhuje prostřednictvím webového prohlížeče. Dokumenty tak můžou editovat uživatelé z jakéhokoliv místa, kde je možnost připojení k internetu. K samotné tvorbě obsahu se využívají WYSIWYG 2 [24][21]editory, které nevyžadují po uživateli znalost značkovacích jazyků. Díky tomu odpadá často zdlouhavé přepisování HTML kódu. Stačí nahrát potřebný obsah prostřednictvím systému, který jej dále zobrazuje podle předem definovaných šablon. Odpadá taky nutnost odstavení celé webové prezentace při její editaci. Nespornou výhodou je i fakt, že řada redakčních systémů umožňuje sledování statistických dat, jako je návštěvnost stránek a statistika prodeje, které jsou nezbytností pro provoz internetových obchodů. Ve výsledku je tedy jasné, že dobře vybraný RS vede nejenom ke zvýšení efektivity práce, ale také k úspoře financí.[24][21] 3.5. Přehled dostupných redakčních systémů V této podkapitole se zaměřím na představení nejznámějších a nejpoužívanějších redakčních systémů. V následující tabulce (obrázek 3.2.) je uveden přehled základních volně dostupných redakčních systémů. 2 Zkratka označuje způsob editace, při kterém je verze zobrazená na obrazovce vzhledově totožná s výslednou verzí dokumentu. 13

Obrázek 3.2. : Přehled volně dostupných redakčních systémů[13] 3.5.1. Nejvíce využívané redakční systémy V dnešní době existuje celá řada redakčních systémů. Bez ohledu na to jaký druh webu uživatel tvoří, pravděpodobně už pro něj je vyvinut vhodný systém. Problémem většiny vývojářů a designérů je neochota učit se větší množství redakčním systémů. Dávají raději přednost flexibilním a výkonným systémům, které mohou používat na všechny své webové prezentace. [1] 3.5.1.1. WordPress 14

Obrázek 3.3. : WordPress[31] WordPress (WP) redakční systém je vyvíjen jako opensource projekt.[1] Programátor tak má možnost upravovat jeho části a přizpůsobit si ho podle svých potřeb. Ve výsledku je WordPress mocným nástrojem pro tvorbu téměř jakéhokoliv webu. Toho také využívají stovky lidí a podílí se na jeho vývoji. Právě díky vysoce aktivní komunitě je velice snadné najít návody a informace o každé části vývoje WP. [1] Dříve se začlenění WordPress mezi redakční systémy považovalo za diskutabilní především kvůli jednoznačnému zaměření na tvorbu blogů. V dnešní době, kdy se WP může pomocí různých rozšiřujících modulů proměnit v internetový obchod či sociální síť, je tato debata zcela bezpředmětná.[1] Silné stránky[1] Rozsáhlá komunita vývojářů s velkým množstvím dokumentace a návodů k dispozici Bezplatné a placené pluginy a specializovaná témata sloužící ke tvorbě různorodých webů. Uživatelsky přívětivá nástěnka pro správu obsahu Slabé stránky[1] Pro tvorbě jednoduchých webových prezentací je WP zbytečně složitý. 15

Instalace přináší bezpečnostní rizika. Bez dalších bezpečnostních opatření je WP zranitelný vůči útokům. Slabá oficiální podpora 3.5.1.2. Joomla! Obrázek 3.4. : Joomla![6] Joomla! je další ze skupiny velmi populárních RS. K tvorbě svých webů a webových aplikací ji využívají nejen jednotlivci, ale také malé a střední podniky a dokonce i velké významné společnosti po celém světě. Systém je vhodný také pro tvorbu back-endových sítí, čehož využívá např. Citibank.[1][6]Pro RS Joomla! existuje také velké množství rozšiřujících modulů a díky aktivní komunitě, která má statisíce aktivních členů a přispěvatelů, jsou instalační a tutorialové dokumentace snadno k nalezení.[1][6] Silné stránky[1] Autentizaci uživatelů lze mimo jiné provádět pomocí OpenID, Google a LDAP. Více než 7000 rozšíření Velmi aktivní uživatelská komunita a velké množství dokumentace k dispozici Slabé stránky[1] 16

Rozhraní není tak uživatelsky přívětivé jako u některých jiných redakčních systémů, ačkoliv je stále velmi použitelné. Pro jednoduché stránky může být zbytečně pokročilý. 3.5.1.3. Drupal Obrázek 3.4. : Drupal[10] Drupal pochází z rukou holandského studenta Driese Buytaetra, který jej vyvinul za účelem sdílení informací se svými kolegy. V dnešní době má na starosti vývoj Drupalu několik hlavních vývojářů a stovky dobrovolných přispěvatelů. Velkou předností Drupalu je vysoké množství vývojářů modulů. Díky nim jsou v dnešní době zaznamenány tisíce doplňujících modulů, které jsou k dispozici ke stažení.[10] Drupal má velmi aktivní komunitu s celou řadou kanálů IRC, fór a dokonce i osobních akcí. K dispozici je také dokumentace vytvořená komunitou, která se neustále aktualizuje a vylepšuje. Tato dokumentace obsahuje vše, co uživatel potřebuje vědět o instalaci, tvorbě webů a modulů, návrhu témat a dalším. Silné stránky[1] Robustní podpora komunity včetně kanálů IRC a osobních setkání Více než 6 000 modulů, díky nimž je Drupal vysoce rozšiřitelný. Velký počet společností, které nabízí komerční podporu systému Drupal. 17

Slabé stránky[1] Pro jednoduché weby může být zbytečně pokročilý. Nedostatek kvalitních bezplatných a komerčních témat (několik jich existuje, ale ani zdaleka ne tolik jako pro jiné redakční systémy). Systém vytváření témat je poměrně složitý. 18

4 Analýza a návrh systému Tato kapitola je zaměřena na analýzu a návrh systému dle podmínek zadavatele. 4.1. Charakteristika Při archivaci bezpečnostních auditů firmy AEC dochází ke kupení jednotlivých dokumentů, které se zaměřují na popis výsledků testů bezpečnosti systémů. Systém se primárně zaměřuje na práci s již vytvořenými dokumenty a jeho náplní je zpracovat větší množství vstupních dokumentů a vytvořit jeden výstupní. Dokumentace je vždy ve formátu docx a má předem danou neměnnou strukturu. Cílem systému je automaticky vyparsovat části dokumentů (tzv. zranitelnosti) a uložit je v databázi. Zranitelnost popisuje části testovaných aplikací, kde může dojít k prolomení bezpečnostních ochran. Každý takový záznam je složen z atributů Risk, Skill, Application, Findings, Recommendation, Attachements a cílem aplikace je tyto záznamy evidovat a sestavit z nich nový dokument, kde budou přehledně strukturovány. Výhody, které tato aplikace poskytuje uživatelům, jsou nejlépe vidět na popsaném příkladu. Uvažujme situaci, kdy máme desítky dokumentů, které představují auditové zprávy. Z těchto dokumentů chce uživatel sestavit výsledný report všech míst v aplikaci, kde by mohlo dojít k narušení bezpečnosti. Při stávající situaci nedisponuje firma žádným nástrojem pro evidenci jednotlivých zranitelností dokumentu, a tudíž je potřeba procházet soubory ručně a kopírovat jednotlivé zranitelnosti, což je velmi časově náročné a nespolehlivé. Při kopírování dokumentace také může dojít k rozhození formátu dokumentu a jeho další úprava stojí uživatele čas. V případě navržené aplikace stačí jednoduše nahrát soubory do systému a z jednotlivých vyparsovaných zranitelností pak sestavit nový dokument. Celkový proces nahrávání, parsování a nové generace dokumentace je tak otázkou několika minut. Ve výsledku tedy dochází k šetření uživatelského času, který je potřebný pro tvorbu auditačních souborů. Pro práci s dokumentací slouží decentralizovaný přístup, takže není problém s aplikací manipulovat z jakéhokoliv místa prostřednictvím internetového připojení. Při navrhování jsem zohlednil také komunikační potřeby uživatelů a přidal jednoduchý nástroj na tvorbu a zápis poznámek. 4.2. Datový model systému Datový pohled na celou aplikace je znázorněn pomocí ERD diagramu.(obrázek 4.1.) 19

User Obrázek 4.1. : Datový model systému Tato entita představuje konkrétní uživatelský účet. Note User_ID primární klíč entity Name uživatelské jméno E-mail uživatelský e-mail Password heslo pro přihlášení do systému Role rozlišení, zda se jedná o běžného uživatele nebo administrátora Jedná se o poznámku, kterou User může zanechat v systému. Audit Note_ID primární klíč entity Created datum vytvoření poznámky Name název poznámky Text text vytvořené poznámky User_ID jedná se o cizí klíč entity User, slouží k rozpoznání jakým uživatelem byla zpráva zanechána Představuje dokument, který je nahrán do systému. Audit_ID primární klíč entity 20

Tag Name pojmenování souboru v systému Created datum přidání souboru do systému Size velikost souboru HTML - HTML verze nahraného souboru pro potřeby parsování Filename původní název souboru v systému Filename_saved název souboru, pod kterým je uložen v systému User_ID jedná se o cizí klíč entity User, slouží k rozpoznání, jakým uživatelem byla zpráva zanechána Označuje soubory pomocí klíčového slova nebo znaku. Na základě tohoto označení jsou dokumenty snadno dohledatelné v systému. Tag_ID primární klíč entity Name název tagu Audit_ID cizí klíč sloužící k identifikaci označeného dokumentu Vulnerability Jedná se o zranitelnost, která byla vyparsována z dokumentu. Vul_ID primární klíč entity Risk_lvl označení nebezpečnosti zranitelnosti Name název zranitelnosti Risk popis hrozícího rizika Skill míra znalosti a zkušenosti útočníka potřebná k vytvoření rizika Application aplikace, na které byl test prováděn Findings zjištění, že bylo nalezeno riziko Recommendation doporučení pro odstranění rizika Attachements přílohy Audit_ID cizí klíč sloužící k evidování, ze kterého dokumentu byla zranitelnost parsována Popis vazeb mezi entitami Pro větší přehlednost při popisování vazeb uvedených na datovém modelu jsem u každé vazby uvedl číslo. 21

1 = (USER) vkládá daný (AUDIT) 2 = (USER) vkládá daný (NOTE) 3 = (AUDIT) parsuje danou (VULNERABILITY) 4 = (AUDIT) je označen daným (TAG) 4.3. UML model systému Ke znázornění funkční struktury jsou použity UML diagramy, které poskytují uživatelský pohled na systém, aniž by došlo k odhalení jeho vnitřní struktury. Vzhledem k tomu, že navržená aplikace slouží pouze k potřebám firmy AEC, jsou podle této skutečnosti přizpůsobeny a navrženy dvě uživatelské role: Uživatel Přihlašuje se do systému prostřednictvím webové aplikace, kde má přiděleno jméno a heslo. (obrázek 4.2). Nemá nastavena žádná omezení a může tak přistupovat ke všem dokumentům a k databázi zranitelností. Každý editor tak může vykonávat úkony, které jsou popsány výše. Obrázek 4.2. : Příhlášení do webové aplikace pro parsování dokumentace Administrátor Administrátor upravuje a vytváří uživatelské účty. 22

4.3.1. Diagram funkcionality systému Úvodní diagram zachycuje rozčlenění funkcionality celého systému do čtyř částí (modulů). Na obrázku 4.2. jsou na diagramu zachyceny dvě uživatelské role: uživatel a administrátor. Uživatel obsluhuje všechny moduly systému vyjma správy uživatelů, kde má přístup pouze administrátor. Každý z jednotlivých modulů je namodelován a popsán níže. Obrázek 4.3. : Diagram funkcionality systému 23

4.3.2. Správa dokumentů Diagram prezentuje rozvržení funkcí v modulu pro správu dokumentace. Uživatelské entity mohou přidávat nové dokumenty. Proces přidání v sobě zahrnuje parsování dokumentace, které se provádí při každém nahrání souboru, a možnost přidání tagů. Jakákoliv editace uloženého dokumentu (odstranění nebo tagování) vyžaduje výběr konkrétní položky, která má být upravena. Stejný postup je potřeba dodržet i při stahování souboru na disk. Pro lepší orientaci v zobrazených dokumentech mohou uživatelské entity využít funkci pro hledání. Obrázek 4.4. : Diagram správy dokumentů 24

4.3.3. Správa zranitelností Modul správy zranitelností umožňuje uživatelským entitám pracovat s vyparsovanými zranitelnostmi. Mezi základní funkce patří vyhledávání v databázi zranitelností, zobrazení všech atributů vybrané zranitelnosti a její smazání. Poslední funkcí modulu je generování šablony. Vygenerovaný dokument v sobě obsahuje atributy vybrané zranitelnosti, z původní auditové zprávy. Obrázek 4.5. : Diagram správy zranitelností 25

4.3.4. Správa poznámek Diagram pro správu poznámek zobrazuje rozvržení funkcí, které uživatelským entitám umožňují zanechání poznámek v systému, jejich zobrazení a také smazání. Pro poslední dvě ze zmíněných funkcí je vždy potřeba vybrat konkrétní poznámku, která má být zobrazena nebo smazána. Obrázek 3.6. : Diagram správy poznámek 26

4.3.5. Správa uživatelů Jedná se o jediný modul v systému, do kterého uživatel nemá přístup. Diagram znázorňuje rozvržení funkcí pro správu uživatelských účtů. Administrátor může přidávat nové uživatele. Tento proces vyžaduje vytvoření nového uživatelského jména, nastavení funkce (uživatel, administrátor) a nastavení hesla. Pro potřeby změny uživatelských údajů slouží funkce pro úpravu. S jejím využitím lze znovu nastavit heslo případně změnit uživatelské jméno. V případě editace a mazání každého uživatelského účtu je potřeba vybrat daného uživatele ze seznamu. Obrázek 4.7. : Diagram správy uživatelů 27