Top Banner
Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský Bakalárska práca Jún 2008 Podporný komunitný portál medzinárodného študijného programu MEi:CogSci Školiteľ: RNDr. Martin Homola
37

Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Jun 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Fakulta matematiky, fyziky a informatikyUniverzita Komenského, Bratislava

Autor:Michal Novomeský

Bakalárska prácaJún 2008

Podporný komunitný portál medzinárodného študijného programu MEi:CogSci

Školiteľ: RNDr. Martin Homola

Page 2: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

2

Page 3: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Čestné prehlásenie

Čestne prehlasujem, že svoju bakalársku prácu som vypracoval samostatne s odborným vedením RNDr. Martina Homolu a všetku použitú literatúru uvádzam v zozname.

V Bratislave, 29. 05. 2008 Michal Novomeský

3

Page 4: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Poďakovanie

Rád by som sa touto formou poďakoval svojmu školiteľovi RNDr. Martinovi Homolovi. Ako študent som navštevoval jeho predmet Moderný prístup k webdizajnu, práve vďaka tomuto predmetu sa môžem venovať webu oveľa profesionálnejšie, ako doteraz a prinášať ovocie aj inde do sveta. Okrem toho ma podporoval počas môjho bakalárskeho štúdia. Som rád, že ma oslovil práve pre takýto náročný druh bakalárskej práce a mal vo mňa dôveru, ako aj trpezlivosť s mojimi nedostatkami.

4

Page 5: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

AbstraktCMS, nástroj pre správu obsahu, umožňuje majiteľovi stránky pridávať a meniť obsah aj v prípade, ak nemá znalosti v oblasti webových technológií. Tvorí jadro komunitných portálov a jej obsahom bývajú najčastejšie blogy a fórum. Použitie wiki považujem za vhodné riešenie na správu obsahu a informácií pre komunitný portál.

Cieľom je vytvoriť komunitný portál, ktorý má v sebe obsiahnuté blog používateľov, wiki, galéria fórum, kalendár, správu používateľov (študentov, vyučujúcich) a plne kontrolovateľné prístupové práva ku každej časti webu. Blog, wiki, galérie a fórum tvoria asi najpodstatnejšiu časť dnešných komunitných portálov. CMS tvorí jadro systému. Blogy vytvárajú blogosféru – spoločenstvo blogov a ich vzájomných vzťahov. Wiki tvorí obsah a informácie.

Vo svojej práci porovnávam rôzne existujúce CMS, ktoré majú charakter komunitného portálu. Pre tento projekt som považoval za najvhodnejšie vytvorenie nového CMS, ktorý bude plne slúžiť potrebám budúceho komunitného portálu. Práca ďalej opisuje vzniknutý komunitný portál, jadro systému a jeho modulové rozšírenia.

Implementácia projektu ponúka systém „šitý na mieru“, intuitívne používateľské prostredie pre všetkých, ktorí sa s ním budú oboznamovať a používať ho.

Po jednoročnom vývoji sa zrealizovaný systém dostal do finálnej fázy v podobe existujúceho a funkčného webu www.meicogsci.eu. Vzniknuté nové CMS spĺňa požiadavky otvoreného a multifunkčného systému, ktorý v budúcnosti bude vhodný pre rôzne skupiny používateľov alebo projekty.

5

Page 6: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

ObsahČestné prehlásenie................................................................................................................................3Poďakovanie.........................................................................................................................................4Abstrakt................................................................................................................................................51 Úvod..................................................................................................................................................72 CMS, Wiki, Blogy a Komunitné portály...........................................................................................8

2.1 CMS...........................................................................................................................................82.2 Wiki............................................................................................................................................92.3 Blogy........................................................................................................................................102.4 Komunitné portály...................................................................................................................11

3 Existujúce riešenia...........................................................................................................................123.1 Prehľad vybraných riešení.......................................................................................................123.2 Kritéria rozlišovania................................................................................................................123.3 Porovnanie existujúcich riešení s požadovaným.....................................................................133.4 Zdôvodnenie použitia vytvorenia vlastného CMS...................................................................13

4 Mei:CogSci portál...........................................................................................................................144.1 Špecifikácia..............................................................................................................................154.2 Použité technológie..................................................................................................................164.3 Architektúra.............................................................................................................................184.4 Jadro systému...........................................................................................................................184.5 Modulové rozšírenia................................................................................................................214.6 Bezpečnosť..............................................................................................................................254.7 Prístupnosť...............................................................................................................................25

5 Záver................................................................................................................................................26Slovník pojmov..................................................................................................................................27Použitá literatúra.................................................................................................................................29Prílohy................................................................................................................................................30

Príloha AŠpecifikácia....................................................................................................................................30Príloha BDátové CD.....................................................................................................................................37

6

Page 7: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

1 ÚvodContent Management System (CMS) je nástroj na správu obsahu. Slúži na organizáciu a jednoduché vytváranie dokumentov a rôzneho iného obsahu. Umožňuje majiteľovi stránky pridávať a meniť obsah aj v prípade, ak nemá znalosti v oblasti webových technológií.

CMS zároveň tvorí jadro komunitných portálov. Obsahom komunitného portálu bývajú najčastejšie blogy a fórum. Použitie wiki považujem za vhodné riešenie pre správu obsahu a informácií. Z wiki dnes ľudia často čerpajú informácie a zároveň umožňuje viacerým používateľom, niekedy aj anonymným, meniť jej obsah.

Informačný systém organizácie má v maximálnej miere podporovať primárne procesy. Mei:CogSci (Stredoeurópsky medzinárodný študijný program Kognitívnej vedy) pociťuje absenciu vlastného komunitného portálu, ktorý by spravoval vzťahy medzi vyučujúcimi, študentami a koordinátormi.

Cieľom mojej práce je implementácia webovskej aplikácie CMS. Funkcionalita aplikácie vyžaduje integráciu do jedného celku týchto modulov:

● Blog, Wiki,● Vyhľadávanie na celej stránke,● Fórum, Kalendár,● Systém na správu používateľov,● Plne kontrolovateľné prístupové práva,● Ostatné.

Rozhodol som sa, že naprogramujem vlastné CMS, ktorého funkcionalita je v súlade s požiadavkami špecifikácie v prílohe A.

Výsledkom implementačnej práce je komunitný portál študijného programu Mei:CogSci.

Vo svojej práci budem● v kapitole 2 opisovať problematiku, ktorou sa budem zaoberať,● v kapitole 3 porovnávať existujúce systémy, ktoré by boli vhodné na tvorbu tejto aplikácie,● v kapitolách 4.3 až 4.4 opisovať architektúru zrealizovaného systému,● v kapitole 4.5 prezentovať niektoré modulové rozšírenia – zhotovené na základe

špecifikácie v prílohe A.

7

Page 8: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

2 CMS, Wiki, Blogy a Komunitné portály

2.1 CMSContent Management System (skratka CMS) je nástroj na správu obsahu. Slúži na organizáciu a jednoduché vytváranie dokumentov a rôzneho iného obsahu. Väčšinou je to web aplikácia na organizáciu web stránok a webu. CMS vyžaduje na editáciu a tvorbu článkov buď špeciálny klientský software alebo má na to webové rozhranie. Trh je zaplnený rôznymi komerčnými ale aj mnohými open source riešeniami [6].

Môžeme sa stretnúť aj s pojmom WCMS, alebo Web CMS – teda implementáciu webovej aplikácie pre vytváranie a manažovanie obsahu HTML.Najčastejšie sa stretávame so systémom s online spracovaním údajov – dynamicky naprogramovanou aplikáciou. Ukážka bežnej aplikácie, ktorej sa mení len obsah:

Niektoré kľúčové vlastnosti WCMS [7]:● Automatizované šablóny - Vytvárať štandardné výstupné šablóny (HTML a XML), ktoré

môžu byť automaticky aplikované do existujúcej aplikácie, ktoré môžu zmeniť jej vizuál alebo vzhľad obsahu, napr. z jedného súboru/šablóny.

● Jednoducho editovateľný obsah – Oddelený obsah od vizuálnej časti je rýchlejšie manipulovateľný. Mnoho WCMS obsahujú WYSIWYG nástroje na správu obsahu, ktoré umožňujú bežným používateľom vytvárať a upravovať obsah.

● Modularizácia – Mnoho WCMS obsahujú pluginy alebo moduly, ktoré môžu byť ľahko nainštalované pre rozšírenie funkcionality konkrétnej webstránky.

● Document management - CMS môže poskytovať správu životného cyklu dokumentu od vytvorenia cez revízie (SVN, CVS), publikácie, archívy po jeho ukončenie.v

CMS umožňuje majiteľovi stránky pridávať a meniť obsah aj v prípade, ak nemá znalosti v oblasti webových technológií. Toto prináša veľký prínos v komerčnej sfére, kde si firma/organizácia objedná CMS, zaplatí najprv viac peňazí, ale potom už môžu meniť stránky samostatne, čim získajú to, že majú pohotovejšiu aktualizáciu a v konečnom dôsledku ušetria, lebo už web dizajnéra

8

Page 9: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

nepotrebujú. Na druhej strane to môže prinášať riziká v podobe zhoršenej kvality prezentácie.

Z pohľadu vývojáraV praxi sa môžeme stretnúť s dvoma druhmi systému z hľadiska vlastníctva:

● Proprietárny CMSOrganizácia alebo samostatne zárobkovo činná osoba sa rozhodla vytvoriť vlastný systém, ktorý potom ďalej predáva a vyvíja ho. Vývojári kladú dôraz na vlastnú filozofiu a poznajú, ako systém funguje. Dosiahnutiu požadovanej funkcionality predchádza dlhší vývoj a použitie tohto riešenia je vhodné na webovej stránky, ktoré sa nepovažujú za štandardné, alebo v sebe obsahujú dôležitú časť neštandardných riešení.

● Existujúce GNU/GPL CMSPrednosť je kladená na existujúce systémy, niektoré z nich opisujem v kapitole č. 3. Doplnením alebo využitím existujúcich funkcionalít a modulových rozšírení sa dá šikovným spôsobom dosiahnuť požadovaný výsledok. V dôsledku jeho voľnej rozšíriteľnosti sa môžu objaviť bezpečnostné diery, ktoré, ak sa pohotovým spôsobom nevyriešia, môžu ohroziť bezpečnosť súkromných údajov alebo iných časti systému. V niektorých prípadoch je nutné zasahovať do jadra systému, čím sa systém pripravuje o svoju pôvodnú stabilitu.

Ceny sa líšia od výkonu. Na trhu existuje veľa subjektov vytvárajúcich podobné aplikácie. Často sa však stáva, že v dôsledku šikovnosti marketingových snažení a nedostatočným náhľadom klienta do problematiky klient zaplatí zbytočné finančné prostriedky za služby, ktoré nepotrebuje.

Problémy nastávajú v prípade, že klient má neštandardné alebo špecifické požiadavky v kontexte existujúcich webových technológií. Môže sa stať, že klient niečo špecifikuje, no neskôr zistí, že to vlastne nepotrebuje. Tu je dôležité, aby bol kladený dôraz na komunikáciu medzi odberateľom a dodávateľom.

2.2 WikiWiki je webová stránka, ktorá umožňuje návštevníkom pridávať, odstraňovať a upravovať svoj obsah. Zakladá sa na myšlienke spoločného spravovania informácií na web stránkach, prvá wiki (WikiWikiWeb) bola vyvinutá Ward Cunninghamom v polovici 90 rokov 20. storočia. Wiki poskytovala odkazy na množstvo stránok. Táto jednoduchosť v upravovaní urobila z wiki veľmi užitočný nástroj pre spoluautorstvo. Wikipédia, on-line encyklopédia je jedna z najznámejších wiki [4]. Z Wikipédie čerpám väčšinu svojich citácií, ktoré uvádzajú aj iné odborné publikácie alebo články.

História● 1994 - Ward Cunningham – začiatok vývoja wiki● 2000+ - rozvoj● 2007 - wiki vstupuje do Oxford English Dictionary Online● Dnes – niektoré spoločnosti používajú wiki ako spolupracujúci systém, ako aj náhradu za

statický intranet

Riešenie formou wiki poskytuje organizácií alebo cieľovej skupine flexibilnú formu správy obsahu. Ak sa obsah omylom vymaže, môžeme ho obnoviť z histórie. Syntax wiki je síce netriviálna pre bežného používateľa, ale zvládne ju po istej dobe každý. Ide o akúsi strednú cestu medzi úpravou textu vo Worde a v HTML. Výstup je však kvalitný a čistý HTML kód.

9

Page 10: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Editovanie wiki stránokMediaWiki syntax Ekvivalent k XHTML Vyrenderovaný výstup

"Take some more tea," the March Hare said to Alice, very earnestly.

"You mean you can't take ''less''," said the Hatter: "it's very easy to take ''more'' than nothing."

<p>"Take some more tea," the March Hare said to Alice, very earnestly.</p>

<p>"You mean you can't take <i>less</i>," said the Hatter: "it's very easy to take <i>more</i> than nothing."</p>

"Take some more tea," the March Hare said to Alice, very earnestly.

"You mean you can't take less," said the Hatter: "it's very easy to take more than nothing."

BezpečnosťOtvorená filozofia umožňuje editovať obsah komukoľvek. Problém môže byť vandalizmus. Vďaka histórií a možnosti obnoviť obsah zo starej verzie, prípadne je možné blokovať IP adresu nežiadúcej osoby – aj keď nie vždy to stačí. Niektoré stránky sa môžu zablokovať pred úpravou obsahu anonymným používateľom, prípadne ju povoliť editovať skupine alebo konkrétnemu používateľovi.

DôveryhodnosťKritici anonymne editovateľných wiki stránok poukazujú na problém manipulácie alebo nepravdivosti údajov. V drvivej väčšine som narážam na wiki stránky, ktoré sú pravdivé. Ak však niekto narazí na wiki stránku, kde je chyba, uvidí ju a môže ju opraviť. V prípade zatvorenej filozofie nastáva opačný problém – dôveryhodnosť stúpa, korekcia údajov je však pomalšia.

2.3 BlogyWeblog (z angl. web log – zhruba: webový denník) alebo skrátene a neformálnejšie blog je webová aplikácia obsahujúca chronologicky zoradené príspevky. Autor sa nazýva blogger (niektorí ľudia píšu len jedno g alebo slovenský výraz blogér), spoločenstvo blogov a ich vzájomných vzťahov blogosféra [3].

Formálnymi znakmi weblogu je zachovávanie trvalých odkazov URL na jednotlivé príspevky (permalinky), obrátené chronologické radenie príspevkov (najnovšie navrchu), poskytovanie syndikovaného obsahu, napr. vo forme RSS, blogroll (zoznam spriaznených stránok) a často možnosť komentovania príspevkov čitateľmi. Rozsah príspevkov je od jediného odkazu na inú webovú stránku až po rozsiahlejšie pôvodné texty a grafiku [3].

Blogovať môže každý. Väčšinou sa zvyknú písať príspevky z oblasti vlastných záujmov. Ak má niekto iný názor na danú problematiku, dochádza často k rôznorodosti názorov. Dnes je tento spôsobom publikovania svojich príspevkov rozšírený, no nie všetci vytrvajú. Problémom môže byť nedostatok času na zhotovenie príspevku alebo odradenie názorov druhých ľudí pohybujúcich sa v blogosfére.

Z pohľadu implementácie ide o naprogramovanie správy obsahu a zobrazovania blogov, blogových príspevkov rôznymi používateľmi. Ďalej pridávanie komentárov, prípadne aj hodnotenie príspevkov, ako aj samotného blogéra. Vhodné riešenie je naprogramovať dynamickú (statický – čisté HTML) stránku prepojenú s databázou.

Príkladom môže byť obľúbený slovenský blogový portál www.blog.sme.sk. Ide o riešenie zhotovené pomocou technológií PHP, MySQL, a jej výstupom je XHTML zobrazujúce sa klientovi vo svojom webovom prehliadači. Kľúčový je aj obsah, ktorý plní funkciu zhotovenej aplikácie.Ďalší nádejný projekt http://blog.matfyz.sk tiež využíva technológiu PHP. Využíva natívnu databázu

10

Page 11: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

XML, čo dnes nie je až také časté. Výhodou XML je to, že je ISO štandard. Moderné relačné databázy využívajú propertiárny formát na ukladanie dát. V porovnaní s horeuvedeným portálom sa jedná o lepšie naprogramovanú aplikáciu s neporovnateľne menším obsahom a počtom používateľov.

2.4 Komunitné portályPoskytujú nám „bránu“ do WWW. Tieto portály spolu prinášajú informácie a služby ako email a diskusné fóra pre rozšírenie komunity a integrácie. Integrujú rôzne zdroje a služby, ako napr. vyhľadávače a slovníky, a často aj povolenie používateľom prispôsobovať obsah, layout a navigáciu pre vyhovenie ich vlastných potrieb. Pre komunitné portály sú hlavné potreby a záujmy [18].

Medzi známe komunitné portály patrí www.hi5.com. Môžeme ľahko pridávať fotografie, albumy a priateľov. Používa ho čoraz viacej ľudí. Medzi obdobné portály patrí aj www.flickr.com.Portál www.youtube.com umožňuje zdieľať vlastné videá. Obsahuje veľký počet videí. Google implementovalo do svojho vyhľadávača náhľadovú fotografiu, ktorá sa zobrazuje pri vyhľadávaní videa z Youtube v prípade zadaní príslušných kľúčových slov. Takéto prepojenie, resp. prepojenie komunitných portálov patrí dnes medzi pozoruhodné myšlienky.

Doteraz sme spomenuli komunitné portály vhodné pre širokú verejnosť. Cieľom tejto práce je vytvoriť komunitný portál pre uzavretejšiu skupinu používateľov.

V komunitnom portáli by nemalo chýbať fórum. Fórum je jeden z prostriedkov, ako možno vytvoriť internetovú komunitu, vytvárať alebo prehlbovať medziľudské vzťahy.

Možno povedať, že CMS je jadrom/srdcom aplikácie budúceho alebo existujúceho komunitného portálu. Blogy, wiki, galérie a fórum z pohľadu používateľa tvoria jeho obsah, z pohľadu vývojára sa jedná o modulové rozšírenia. Obsah napĺňajú väčšinou používatelia komunitného portálu.

11

Page 12: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

3 Existujúce riešenia

3.1 Prehľad vybraných riešeníBitweaverTento systém v sebe obsahuje väčšiu časť prvkov, ktoré potrebujem (blog, wiki, fórum, kalendár, používatelia, jazykové mutácie). Jeho nevýhodou je, že používa PHPv4.

MediaWikiNajnovšia MediaWiki je PHPv5. Tento systém v sebe obsahuje, ako už názov o sebe hovorí, výbornú implementáciu wiki. Má v sebe aj zabudované cachovanie, čo zrýchľuje čas generovania stránky. Je zréjme, že na stránku www.wikipedia.org, ktorá funguje na spomínanom systéme, je vyvíjaný veľký tlak. Neviem si však predstaviť, že by som zobral zdrojový kód tejto aplikácie a použil jeho základ na zvyšnú tvorbu komponentov.

JoomlaOpäť jeden rozsiahly, obľúbený a používaný systém. Používa MVC, ktorý zabezpečí to, aby zjednotili spôsob písania zdrojového kódu, ktorý je súčasne objektívne posudzovaný za jeden z najlepších. Je PHPv5. Joomla v sebe neobsahuje systém práv, ktorý potrebujem. Nevedel by som si teda predstaviť do systému naprogramovať a upravovať existujúce zložky systému.

phpBBIde o komunitný portál, ktorého hlavným prvkom je vynikajúce fórum. Okrem toho v sebe obsahuje aj základné prvky CMS. Ani zďaleka však nemá všetky, ktoré potrebujem. Budúci systém bude využívať know-how časti phpBB fórum.

WordpressAk si chce niekto založiť vlastný blog s možnosťou komentárov, môže použiť Wordpress. Má v sebe komentáre, archívy, kategórie a tiež aj základné prvky CMS – formou pluginov, ktorých je mnoho. Je PHPv4, čo vylučuje jeho použitie.

Výhodou používania existujúcich open-source frameworkov/CMS je:● Veľa modulových rozšírení je už naprogramovaných.● Jednoduchá správa obsahu.● Pluginy/moduly a možnosť vytvorenia vlastných.● MVC (v niektorých prípadoch).

Nevýhody:● Systém svojím objemom obsahuje v sebe mnohé veci, ktoré sa v budúcom projekte nemusia

využiť, zaberajú priestor a stránky vyžadujú dlhší čas na generovanie.● Potrebný čas na adaptáciu a zistenie, akú ma systém architektúru a ako funguje.

3.2 Kritéria rozlišovania1. PHPv5 – PHPv4 má slabo implementované objektovo orientované programovanie, pričom

verzia 5 ho už v sebe má. Podmienkou pre mňa teda bolo použiť PHPv5, tak som nad týmto systémom neuvažoval.

2. Implementovaný systém práv podľa špecifikácie v prílohe A.

12

Page 13: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

3. Rozsah – nepovažujem za rozumné použiť rozsiahly systém, kde je veľa vecí, ktoré nevyužijem.

4. Povaha – sú ľudia, ktorí radšej zvolia existujúce riešenia a dokážu v rýchlo a efektívne zhotoviť riešenie. Sú takí, ktorí chcú mať vo svojej práci poriadok, poznať a mať podchytené každé detaily svojej práce. Vychádzam z hodnotenia DISC [23][24].

Niektoré open-sourcové CMS sú však závislé od webhosingových poskytovateľov a niektoré z nich donedávna poskytovali stále iba PHPv4.

3.3 Porovnanie existujúcich riešení s požadovaným

CMSv2 je pomenovanie pre budúci výsledný systém. Rýchlosť bola meraná ako čas potrebný pre vygenerovanie úvodnej stránky.

Bitweaver MediaWiki Joomla phpBB Wordpress CMSv2

PHPv5 Nie Áno Áno Áno (v3) Nie Áno

Systém práv Nie Nie Nie Nie Nie Áno

Rozsah Veľký Stredný Veľký Stredný Stredný Malý

Wiki Áno Áno Áno Nie Plugin Plugin

Blog Áno Nie Áno Plugin Plugin Plugin

Fórum Áno Nie Plugin Áno Plugin Plugin

Galéria Áno Nie Plugin ? Plugin Plugin

Kalendár Áno Nie ? ? ? Plugin

Rýchlosť >0.10 0.04 >0.10 0.03 ? 0.05

3.4 Zdôvodnenie použitia vytvorenia vlastného CMS

Na základe DISC [23][24], keďže som SCD, nebolo by pre mňa dobré motivujúce prostredie, keby som použil existujúce, nie moc vyhovujúce riešenie. Aby vznikol plnohodnotný projekt, považujem to za rozhodujúce kritérium. Zároveň som bral ohľad na potreby zadávateľa. Požaduje sa čas vygenerovania pod 0.1 sekundy na strane servera. Používatelia sú z Európy, majú rýchle internetové pripojenie a potrebujú, aby sa im stránky načítavali čo najrýchlejšie. V horeuvedenej tabuľke sme hneď vylúčili dva najrozsiahlejšie. Zvyšné tri neboli vhodné, aby z nich vznikol požadovaný komunitný portál. Sú však ľudia, ktorí sa aj v tomto prípade rozhodnú pre existujúce riešenie. Netvrdím, sa jedná o zlé rozhodnutie, ale prináša to určité riziká, najmä tie, ktoré nie sú voľným okom okamžite viditeľné.

Ani nikto nevlieva mladé víno do starých mechov, lebo nové víno by mechy potrhalo.Vytieklo by a aj mechy by sa zničili . Mladé víno treba nalievať do nových mechov [20].

13

Page 14: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

4 Mei:CogSci portál

Vrchný obrázok znázorňuje úvodnú stránku. Spodný obrázok znázorňuje profilovú časť používateľa s minimalizovanou hlavičkou. Pravý panel zobrazuje navigáciu. Ľavý sa zobrazuje len na profilových stránkach, kde je fotografia, meno, resumé aplikácie „Trafficlight“ a kalendár udalostí.

14

Page 15: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

4.1 ŠpecifikáciaHlavné cieleCieľ projektu je vytvoriť podporujúci komunitný portál pre učiteľov, študentov a koordinátorov programu MEi:CogSci. Čiastočne by mal byť otvorený aj pre verejnosť.Hlavné ciele portálu:

1. Komunikovať PR informácie o MEi:CogSci programe pre širokú verejnosť.2. Komunikovať študijné informácie od učiteľského zboru k študentom.3. Komunikácia medzi študentom a ostatnými študentmi (ľubovoľným spôsobom) ako aj k

učiteľom a administrátorom (feedback, súvisiace so štúdiom (domáce úlohy, ...)).

Štruktúra portáluPortál je rozdelený do dvoch častí:

1. MEi:CogSci študijný program (programová časť)2. MEi:CogSci komunita (komunitná časť)

Programová časť predstavuje niekoľko informačných stránok pre študentov, partnerov a širokú verejnosť (študijný plán), najnovšie novinky, a dve špeciálne aplikácie pre správu študentských „pohybov“ a študentskej konferencie.

Komunitná časť portálu sa stará o komunikáciu, osobné weblogy, spoločný pracovný priestor (v podobe wiki), a súborový repozitár s archívom.

Bude možné tagovať (takmer) všetko a používať tagy pre navigáciu. Bude možné jednotným spôsobom vytvárať komentáre v celom portáli na blogových príspevkoch, článkoch vo wiki, fórumových príspevkoch; hoci je nutné nepovoliť komentáre na všetko.

Požadovaná funkcionalita● Kalendár, Novinky (časť alebo integrovaná časť s kalendárom)● Wiki, Weblogy, Fórum, Súborový repozitár, Galérie (nízka priorita)● Administračný nástroj konferencie● ``Traffic light indikátor''● Aplikácia „Mobility“ manažovací systém (špeciálne programovaná aplikácia). ● Konfigurovateľné RSS feedy (niekto môže pridať blog, fórumové vlákna, wiki stránky)

Väčšina portálových vlastností bude obalená kombináciou weblogov a wiki stránok. Stránky osobného profilu, všetky informačné stránky a stránky spoločného pracovného priestoru budú wiki stránky. Každý používateľ bude mať osobnú stránku s weblogom a kalendárom. Súborový repozitár bude použitý pre archiváciu súborov ale aj pre publikáciu dokumentov a obrázkov v celom portáli.

Prístupové právaPoužívateľské roly sú potrebné, aby vyhoveli potrebám portálu. Budú viacnásobné roly. Bude možné obmedziť prístup k obsahu na základe rol používateľov (napr. uzamknúť niektoré stránky wiki alebo fóra, súbory v súborovom repozitáre. tak aby sa povolilo zapisovanie alebo čítanie (každé ošetrené zvlášť) iba pre niektoré roly). Ďalšou požiadavkou bolo, aby používatelia mohli zverejňovať informácie pre niekoľkých výlučne vybraných používateľov.

Celá špecifikácia je v prílohe.

15

Page 16: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

4.2 Použité technológie

Požiadavky na systém zo strany servera

PHP v5Ak som chcel využiť moderné trendy objektového programovania, musel som použiť PHP vo verzií 5. Dnes existuje mnoho CMS systémov, ktoré stále fungujú na verzií 4. Výhoda tohto objektového programovania je v rýchlosti, lebo viac využíva fyzickú pamäť.

MySQL v5Systém využíva príkazy/selecty, ktoré sú obsiahnuté len od tejto verzie. Odporúča sa tuning databázy, čím sa zrýchli rýchlosť generovania celej stránky.

Apache v2Ide o najobľúbenejší a najpoužívanejší webový server na internete. Ak chceme generovať „pekné“ URL (pozri 4.4), musíme použiť tento webserver. Inak je možné použiť ľubovoľný.

Požiadavky na systém zo strany klienta● Webový prehliadač, W3C kompatibilný

Testovanie som vykonal na existujúcich a používaných prehliadačoch:- IE v6 a vyššie- Mozilla Firefox- Opera- Safari- Konqueror

● Odporúča sa použiť rozlíšenie 1024x768 a vyššie a nevypínať v prehliadači JavaScript

Implementované súčasti

WikiText parserIde o Mediawiki parser, ktorý transformuje wiki syntax do XHTML. Je jednoducho použiteľný, stačí mu zadať text, ktorý sa má transformovať.Zdroj: http://pear.php.net/package/Text_Wiki_Mediawiki/

Tento parser som implementoval (hardcode) do vznikajúceho systému.Vykonal som príslušné zmeny:

● Prepojenie so súborovým repozitárom – nalinkovať existujúce obrázky a súbory● Doprogramovanie ďalšej a chýbajúcej wiki syntaxe● Prepojenie s lokálnou databázou wiki stránok – zistiť, ak sa použije prelink na wiki stránku,

či existuje v zozname wiki stránok

Wikitext editor WikibitsIde o používaný editor v aplikácií MediaWiki na správu obsahu wiki stránok a o formulárový prvok, nad ktorým sa vykonávajú JavasScriptové funkcie pre zjednodušenie úpravy obsahu. Úprava textu prebieha v jazyku wiki.

16

Page 17: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

WYSIWYG editor TinyMCEExistuje skupina používateľov, ktorá si neporadí s wiki editorom. Tento editor umožňuje spravovať obsah jednoduchým spôsobom, ako v aplikáciach OpenOffice alebo MS Word. Výstup je XHTML, no nie vždy validné a v súlade so štandardami W3C.

Ide o rozsiahly editor, zároveň generuje najvalidnejší XHTML výstup. V súčasnosti je v neustálom vývoji (2008-06-02 TinyMCE 3.0.9 Released).

Súhrn vlastností [19]:● Jednoduchá integrácia, zaberie 2 riadky zdrojového kódu● Upraviteľné cez témy a pluginy● Upraviteľný XHTML 1.0 výstup. Blokovanie neplatných elemenov a zakázaných atribútov. ● Jazyková podpora● Podpora pre viaceré webové prehliadače, Mozilla, MSIE, FireFox, Opera a Safari

(experimentálne).

17

Page 18: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

4.3 ArchitektúraSystém, ktorý som navrhol, pozostáva z dvoch častí. Prvou z nich je jadro aplikácie/systému (CMS), druhou obsah aplikácie (moduly).

Do jadra systému zaraďujeme:● Hierarchia tried● Implementované súčasti● Šablóny pre layout

Medzi moduly zaraďujeme modulové rozšírenia, ktoré sa stanú súčasťou systému. Schéma vľavo nám to názorne zobrazuje. Systém umožňuje vytvoriť ľubovoľné modulové rozšírenie, ktoré „dedí“ triedy implementované v jadre aplikácie. Obsahuje vlastné metódy a zdedené hlavné metódy, ktoré poskytujú jadru systému výstup, ktorý sa má zobraziť na stránke.

4.4 Jadro systémuNávrh tried

cAppVolá sa pri volaní stránky. Na základe GET a POST parametrov rozhodne, ktorýmodul sa má zavolať a čo má spraviť.m

cUrlFunkcie tejto triedy používam v aplikácii na vygenerovanie URL.a

cDbTrieda sprostredkováva spojenie s databázou. Zároveň obsahuje potrebné funkcie pre prácu s databázovými tabuľkami celej aplikácie. Je možné ju prispôsobiť pre akúkoľvek relačnú i natívnu databázu

cSessionTrieda hovorí o tom, ktorý používateľ je prihlásený a aké má práva podľa toho, kde sa nachádza a čo robí.

cData Pracuje s dátovým modelom konkrétneho modulu, ktorý pracuje s údajmi databáze.

cMenuGeneruje hlavne stromovú štruktúru navigácie stránok obsiahnutých v tabuľke Menu.

18

Page 19: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

cFormGeneruje formulárové prvky. Poskytuje flexibilitu, kde nie je potrebné písať formulárové prvky manuálne v HTML.

MenuIde o strom podstránok celej stránky, ktorý môže byť ľubovoľnej hĺbky.Dátový model je reprezentovaný relačnou tabuľkou:Rodič Nadpis URI Modul Typ

- Public - - -

- Login login login tmpl

Public FAQ faq faq class

Okrem iného obsahuje aj parametre:● Poradie – číselná reprezentácia, ktorá usporadúva položky v menu od najmenšieho po

najväčší● Nadpis v menu – nadpis na stránke môže byť iný, ako nadpis v menu● Protokol – či HTTP alebo HTTPS● Viditeľnosť – zobrazovanie sa v položkách menu, boolean

Systém určí, ktorý modul a aký typ sa má inicializovať, na základe URI, ktoré získa z GET parametrov.

URL parametrizáciaNa základe GET parametrov naplníme objekt oUrl, ktorý sa skladá z:

1. Page – aktívna stránka2. Iid – aktívny element3. Cat – doplnkový údaj, slúžiaci napr. pre filtráciu údajov4. Pos – pre stránkovanie5. SessionID – 128 bitový string ako identifikátor session súboru na serveri – prenositeľný cez

URL, ak nie je podpora pre cookies.

Príklady použitia pri používaní rozšírenia mod_rewrite pre webovský server Apache:1. http://www.meicogsci.eu/faq 2. http://www.meicogsci.eu/blog/i2 3. http://www.meicogsci.eu/profile/Nubian 4. http://www.meicogsci.eu/blog/5 5. http://www.meicogsci.eu/wiki/Home/ssid-520bd2de32345203590129016662759d/

AkcieRozlišujeme základné druhy akcií:

● New – zobrazí sa prázdny formulár na pridávanie elementu, printForm()● Insert – pridá sa element● Edit – zobrazí sa prázdny formulár s predvolenými hodnotami elementu, printForm()● Save – uloží sa● Delete – vymaže sa● Default – zavolá sa printList(). Ak je v URI zadané ID elementu, zavolá sa printDetail()

Viac informácií v sekcií Modulové rozšírenia.

19

Page 20: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Prístupové právaJe dôležité, aby bolo možné kontrolovať, či daný používateľ môže pristupovať k danej stránke a čo s ňou môže robiť.

Kritéria rozlišovania:● Stránka – o akú stránku z Menu sa jedná● Element – napr. prvok s ID=5 v tabuľke noviniek● Namespace

Rozoznávame 3 základné druhy prístupu:● Public – neprihlásený používateľ● Group – skupina používateľov● User – konkrétny používateľ

Práva sú zložené s prvkov● Read – právo na čítanie● Write – právo na úpravu alebo vymazávanie záznamu● Grant – právo pridávať právo● Comment – právo komentovať tento element (napr. wiki stránku)● Insert – právo pre pridávanie nového elementu

Máme dve tabuľky prístupových práv:● Permissions

Hovoria o tom, že ktorá stránka a ktorý jej element má mať aké práva.● Initial permissions

Práva, ktoré sa použijú pri tvorbe konkrétneho elementu.

Pridávanie a úprava existujúcich elementov

Po vykonaní akcie Insert sa vloží nový element do príslušnej tabuľky. Následne sa spustí dbUpdate(), ktorý zaktualizuje údaje na základe vyplnených údajov vo formulári a ich následného spracovania. Týmto spôsobom nie je potrebné písať manuálne príkazy pre správu údajov v databáze.

Pseudokód:function dbInsert { exec ('INSERT INTO $tabulka () VALUES ()') dbUpdate($insertID)}function dbUpdate($ID) { for each $pole in $tabulka do exec ('UPDATE $tabulka SET $pole = $_POST[$pole]')}

TagovanieSystém má v sebe zabudované globálne tagovanie. Pomocou metódy cForm::tagTextBox sa zobrazí vo formulárí textový priestor. Jednotlivé tagy sú oddelené čiarkov. Po jeho uložení sa zapíšu do tabuľky tagov. Záznam v tabuľke v sebe obsahuje, o aký modul a element sa jedná.

20

Page 21: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Subversion

Jadro systému je spravované obľúbeným systémom na správu zdrojových kódov – SVN. Je možné ho jednoduchým spôsobom nasadiť na ľubovoľné miesto a aktualizovať ho jednoduchými príkazmi. Dňa 07. 06. 2008 dosiahol revíziu č. 140.

4.5 Modulové rozšíreniaSystém umožňuje jednoduchú tvorbu modulov, ktoré vo veľkej miere spĺňajú najčastejšie podmienky, ktoré sú kladené na vytváranie modulov pre konkrétne podstránky.

V prípade potreby dorábania vlastných modulov do systému je možné využiť zabudované rozhranie Pre jeho spustenie stačí pridať do Menu potrebné parametre, t.j. správny module_name.

Systém môže obsahovať dva druhy modulov:● Samostatne fungujúci skript, ktorý vráti nejaký výstup – tomuto sa venovať nebudeme● Modul, ktorý pracuje priamo nad databázou

Modul je trieda, ktorá ako parametre dostane objekty cDb, cUrl a cSession.Medzi hlavné metódy modulu, ktoré sú odvodené od cData, patria:

● printList – vypíš všetky záznamy v požadovanom výstupe, je možné záznamy filtrovať podľa viacerých kľúčov alebo stránkovaním

● printDetail – vypíš konkrétny záznam v požadovanom výstupe● printForm – formulár slúžiaci pre úpravu alebo pridávanie nového záznamu – využíva najmä

funkcie na generovanie formulárových prvkov z triedy cForm

Pseudokód hlavných metód:function printList { echo $insertButton foreach $elements in $result do <hyperlink>$element[title]</hyperlink> <newline />}function printDetail($elementID) { <header>$element[title]</header> <paragraph>$element[text]</paragraph> echo $editButton . $deleteButton}function printForm { inputBox($title) textBox(text) echo $saveButton . $cancelButton}

Základná funkcionalita

Základnú funkcionalitu systému zabezpečujú moduly, ktoré sú súčasťou jadra systému:● Správa obsahu podstránok● Menu – pridávanie nových podstránok alebo modulových rozšírení● Prístupové práva● Správa používateľov● Viacjazyčná podpora (nevyužitá v spomínanom projekte)

21

Page 22: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Aplikácia prístupových práv pre modulové rozšírenia

Využijeme integrovaný systém práv v CMS. V niektorých modulových rozšíreniach bolo potrebné prispôsobiť ich fungovanie, aby fungovali korektne.

BlogBlogy nemajú Namespace. Bolo potrebné zabezpečiť, aby sa pri tvorbe elementu nastavili potrebné prístupové práva. Riešenie spočívalo v pridaní parametru User do tabuľky Initial permission. Pri pridávaní blogového príspevku sa nastavili prístupové práva, ktoré vlastnil prihlásený používateľ.

Wiki, FilePridávanie je riešené pomocou Namespace, ktorého vlastníkom je konkrétny používateľ. Používateľ môže pridávať do svojho vlastného Namespace, ktorý mu bol vytvorený pri registrácií, ale aj do iných – na základe nastavenia Initial permissions administrátorom.

Príklad použitia tabuľky Initial permissions:Module User Namespace Level Read Write Grant Comment Insert

Blog Nubian - User(Nubian) 1 1 1 1 1

Blog Nubian - Group(Users) 1 0 0 1 0

Wiki - User:Nubian User(tbc) 1 1 1 1 1

Wiki - User:Nubian Group(Users) 1 0 0 1 0

File - User:tbc User(tbc) 1 1 1 1 1

File - User:tbc Group(Users) 1 0 0 1 0

Príklad použitia tabuľky Permissions:Module Element User Namespace Level Read Write Grant Comment

Blog Hello Nubian - User(Nubian) 1 1 1 1

Blog Hello Nubian - Group(Users) 1 0 0 1

Wiki MyProfile - User:Nubian User(tbc) 1 1 1 1

Wiki MyProfile - User:Nubian Group(Users) 1 0 0 1

File Profile.jpg - User:tbc User(tbc) 1 1 1 1

File Profile.jpg - User:tbc Group(Users) 1 0 0 1

StreamBolo potrebné zabezpečiť, aby si používatelia mohli zvoliť, ktoré správy chcú vidieť vo svojom kalendári. Okrem iného majú možnosť zapisovať svoje udalosti aj do ostatných streamov, ktoré sa zobrazia iným používateľom. Chceme aj, aby do hlavného streamu, ktorého udalosti sa zobrazujú na úvodnej stránke, mohli zapisovať len administrátori.Module Element User Namespace Level Read Write Grant Comment

Stream User:Nubian - - User(Nubian) 1 1 1 0

Stream User:Nubian - - Group(Users) 1 0 0 0

Stream Public - - Group(Root) 1 1 1 0

22

Page 23: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Sú tu aj moduly, ktoré nepotrebujú mať prístupové práva pre každý element – šlo by o zbytočný krok. Akým spôsobom je to možné riešiť, napr. v prípade prehľadu používateľov? Chceme zabezpečiť, aby administrátori mohli meniť údaje všetkých používateľov, a bežní používatelia ich mohli len prezerať. Stránka FAQ, v ktorej chceme zabezpečiť, aby k nej mal prístup aj návštevník.Module Element User Namespace Level Read Write Grant Comment

Users - - - Group(Root) 1 1 0 0

Users - - - Group(Users) 1 0 0 0

FAQ - - - Group(Root) 1 1 0 0

FAQ - - - Public 1 0 0 0

Vyhľadávanie

Vyhľadáva sa viacvrstvovo a rozoznáva, či je používateľ prihlásený, ako aj jeho rolu. Vyhľadávanie v archíve a takmer na celej webovej stránke (v blogoch, wiki, súboroch a komentároch) je výborným spôsobom, ako sa najrýchlejšie po zadaní vhodnej vyhľadávacej frázy dostať k požadovanej informácií.

Kalendár udalostí

Používateľ vždy vidí vlastné udalosti a môže ich pridávať. Ak chce pridávať udalosti do ostatných streamov, musí mať právo za zápis do nich. Ide o netriviálne naprogramované riešenie, ktoré, aby správne fungovalo, vyžadovalo väčšiu pozornosť a čas.Príklad zobrazovania vlastného kalendára udalostí. Na vrchu je zobrazená systémová hláška, ktorá sa zobrazí v prípade, ak používateľ správne zadal všetky údaje. Následné sa údaje uložia do databázy. V pravej časti sa zobrazuje kalendár, ktorý sa zobrazuje na každej profilovej stránke používateľa. Po kliknutí na konkrétnu udalosti sa v dolnej časti zobrazí jeho obsah.

23

Page 24: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

„Traffic light“

Študent si sám spravuje vlastné predmety. (zelená: DONE, žltá: STARTED, biela: NEW)

Mobility

Ide o špeciálne naprogramovanú aplikáciu. Keď študent vyplní žiadosť, predchádza to schváleniu lokálnym koordinátorom. Ak ju nevyplní korektne, lokálny koordinátor môže žiadosť zamietnuť. Po znovu vyplnení a schválení lokálnym koordinátorom sa aplikácia dostáva do rúk hlavnému koordinátorovi, ktorý môže žiadosť schváliť a aj uzamknúť. Toto modulové rozšírenie pracuje nad jednou tabuľkou v databáze a obsahuje v sebe veľké množstvo akcií a riešení jednotlivých prípadov, ktoré môžu nastať.Príklad použitia aplikácie Mobility z pohľadu hlavného koordinátora.

24

Page 25: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

4.6 BezpečnosťInformačné a komunikačné systémy sa neustále vyvíjajú a otvárajú nové možnosti pre rozvoj spoločnosti. Navrhované riešenia sú však čoraz komplikovanejšie a prinášajú isté bezpečnostné riziká tak pre výrobcov, ako aj používateľov [21].

Sila prihlasovacieho heslaTriviálne heslá používateľov, hlavne administrátorov, predstavujú potenciálne bezpečnostné riziko, kde môže škodlivá osoba vymazať alebo nežiadúco modifikovať obsah.

Bezdrôtové siete (wireless local area networks, WLANs)Z funkcionálneho hľadiska výhodou z bezpečnostného hľadiska nevýhodou WLAN je možnosť pripojenia anonymného používateľa (človeka z ulice) k takejto sieti a získanie prístupu k údajom [21].

Je možné tomu zamedziť použitím protokolu HTTPS/SSL (Secure Secret Layer), kedy anonymný používateľ ťažko získa prístup k odosielaným či prijímaným údajom.

Generická architektúra webovského aplikačného systémuPri interakcii webovského klienta a webovského servera posielané URL medzi klientom a serverom majú typický formát http://server/path/application?parameters. Manipulácia s application časťou adresy URL môže mať za následok zneužitie zraniteľností existujúcich na aplikačnom serveri. Údaje z časti parameters adresy URL sa zadávajú aplikácií. Musia byť správne validované [22].

Tento druh rizika je dlhodobo známy a vynaložil som nemalé úsilie, aby som tomu zamedzil. Vstupy, resp. GET parametre sú systémovo validovateľné.Nie je možné pristúpiť cez prehliadač k lokálnym skriptovacím súborom vďaka súboru .htaccess a jeho zadaných rewrite-ov. Funguje v prípade použitia webovského servera Apache2.

4.7 PrístupnosťStránka spĺňa WCAG 1.0 Double-A.Výhody:

● Prístupnosť pre slabozrakých● Čitateľné na mobilných zariadeniach, PDA, konzolách● Optimalizované pre vyhľadávače – ide o štruktúrovaný obsah – hlavičky, divy, paragrafy,

ktoré sú obalené štýlmi CSS. Z pohľadu používateľa sa jedná o nepodstatný údaj.Validné XHML a CSS je v tomto prípade samozrejmosťou.

25

Page 26: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

5 ZáverCieľom bakalárskej práce bola implementácia komunitného portálu medzinárodného študijného programu Mei:CogSci. Súčasťou implementácie bolo zhotovenie systému na správu obsahu (CMS) a naprogramovanie modulových rozšírení. a

Funkcionalita aplikácie spĺňa požiadavky stanovené v špecifikácii, ktoré sú uvedené v prílohe A.Vo svojej práci som implementoval modulové rozšírenia blog, wiki, fórum a kalendár tak, aby vytvárali spolu jeden celok. Sú plne kontrolovateľné prístupovými právami, ktoré tvoria jadro systému. Toto jadro systému tvorí tiež súčasť implementácie pre túto prácu. Spojenie jadra systému a modulových rozšírení vytvára webovskú aplikáciu spĺňajúcu charakter komunitného portálu, ktorá sa nachádza na stránke www.meicogsci.eu. s

Štruktúru portálu tvorí programová a komunitná časť. V programovej časti okrem informačných stránok som realizoval dve špeciálne aplikácie pre správu študentských „pohybov“. V komunitnej časti som zrealizoval spomenuté modulové rozšírenia, ktoré spolu tvoria charakter komunitného portálu.p

Prínosom zhotoveného systému je jeho budúce využitie pre účely študijného programu Mei:CogSci.Implementácia komunitného portálu poskytuje tiež flexibilnú možnosť ďalšieho využitia na akademickej pôde, ako aj v komerčnej sfére na ďalšie projekty. V neposlednom rade poskytuje široké možnosti využitia pre rôzne neziskové a humanitárne projekty. Odporúčam rozširovanie jadra systému a zväčšovanie funkcionality implementovaním ďalších modulových rozšírení. Považujem to zároveň za osobnú výzvu.

26

Page 27: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Slovník pojmovCSSKaskádové štýly alebo CSS (skratka z angl. Cascading Style Sheets) je všeobecné rozšírenie HTML. Konzorcium W3C[1] označuje CSS ako jednoduchý mechanizmus na vizuálne formátovanie internetových dokumentov [9].

DISCŠtvrtinový model týkajúci sa správania založený na práci psychológa William Moulton Marston Ph.D. (1893 – 1947). Ide o skratku pre:

● Dominantnosť (Dominance) – súvisí s kontrolou, silou a asertivitou● Vplyv (Influence) – súvislosť so sociálnymi situáciami a komunikáciou● Pevnosť (Steadiness) – súvisí s trpezlivosťou, vytrvalosťou, a pozornosťou● Svedomitosť (Conscientiousness) – súvisí so štruktúrou a organizovaním [24]

GNU/GPLGNU General Public License (GNU GPL či jednoducho GPL) je populárna licencia pre slobodný softvér, ktorú pôvodne napísal Richard Stallman pre projekt GNU (projekt na vytvorenie kompletného operačného systému, ktorý by bol slobodným softvérom). Poslednou verziou licencie je verzia 3 vydaná 29. júna 2007. Voľnejším komplementom GPL je tzv. LGPL - Lesser General Public License [2].

JavaScriptJavaScript, je skriptovací programovací jazyk. Jazyk je používaný najmä pri tvorbe webových stránok. V niektorých prípadoch ide o užitočný nástroj, no niekedy sa používa aj tam, kde by sa nemal. Ľudia si ho zvyknú mýliť s Javou.

Mei:CogSciMiddle European Interdisciplinary Master Programme In Cognitive Science.

MySQLMySQL je slobodný a otvorený viacvláknový, viacužívateľský SQL relačný databázový server. MySQL je populárny databázový systém, podporuje viacero platforiem ako Linux, Windows či Solaris a je implementovaný vo viacerých programovacích jazykoch ako PHP, C++ či Perl [11].

MVCModel-view-controller (MVC) je architektonická vrstva používana v softvérovom inžinierstve. Úspešné použitie vrstvy oddeľuje logiku biznisu od hľadiska používateľského rozhrania, a jej výstup je aplikácia, kde je jednoduchšie modifikovať jednak vizuál aplikácie, alebo podstatné pravidlá biznisu bez zastiahnutia ostatných [12].

NamespaceV podstate je to abstraktný objekt poskytujúci kontext pre prvky (mená, technické výrazy, alebo slová). Tento spôsob drží rôznorodosť výrazov s rovnakým menom [13].

PHPPHP (PHP: Hypertext editor) je populárny open source skriptovací programovací jazyk, ktorý sa

27

Page 28: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

používa najmä na programovanie klient-server aplikácií (na strane servera) a pre vývoj dynamických webových stránok [10].

RSSRSS (RDF Site Summary) je veľmi jednoduchý formát pre čítanie správ a článkov z rôznych spravodajských a iných serverov, ktoré sa snažia svojim čitateľom sprostredkovať rôzne užitočné informácie [15].

SessionLogin „sedenie“ je perióda aktivity medzi prihlásením a odhlásením používateľského systému [17].

SQLStructured Query Language (SQL) je počítačový jazyk na manipuláciu (DML) (výber, vkladanie, úpravu a mazanie) a definíciu dát (DDL). V súčasnosti je to najpoužívanejší jazyk tohto druhu v relačných systémoch riadenia báz dát [1].

TagTag (metadáta), kľúčové slovo, výraz, ktorý je spojený alebo pridružený k nejakej informácií [14].

URL (URI)URL je skratka pre Uniform Resource Locator, zjednodušene povedané adresa lokácie na sieti internet [16].

WCAGWeb content accessibilitiy guidelines.

W3CThe World Wide Web Consortium (W3C) vyvíja technológie schopné prevádzky (špecifikácie, smernice, softvér, a nástroje), aby vládli webu jej plným potenciálom.

XHTMLRozšíriteľný hypertextový značkový jazyk (Extensible Hypertext Markup Language; XHTML) je značkový jazyk (markup language) podobný HTML, ale s prísnejšou syntaxou. Zatiaľ čo HTML je aplikáciou SGML, veľmi pružného značkového jazyka, XHTML je aplikáciou XML, obmedzenej podmnožiny SGML. XHTML 1.0 sa stalo odporúčaním W3C 26. januára 2000 [8].

28

Page 29: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Použitá literatúra[1] http://sk.wikipedia.org/wiki/SQL[2] http://sk.wikipedia.org/wiki/GNU_General_Public_License[3] http://sk.wikipedia.org/wiki/Blog[4] http://sk.wikipedia.org/wiki/Wiki[5] http://en.wikipedia.org/wiki/Wiki[6] http://sk.wikipedia.org/wiki/CMS[7] http://en.wikipedia.org/wiki/Web_content_management_system[8] http://sk.wikipedia.org/wiki/XHTML[9] http://sk.wikipedia.org/wiki/Kaskádové_štýly[10] http://sk.wikipedia.org/wiki/PHP_(programovací_jazyk)[11] http://sk.wikipedia.org/wiki/MySQL[12] http://en.wikipedia.org/wiki/Model-view-controller[13] http://en.wikipedia.org/wiki/Namespace[14] http://en.wikipedia.org/wiki/Tag_(metadata)[15] http://sk.wikipedia.org/wiki/RSS_(formát_súboru)[16] http://sk.wikipedia.org/wiki/URL[17] http://en.wikipedia.org/wiki/Login_session[18] LENNIE, J.: Glossary. EvaluateIT, [ cit. 10.jún 2008; 20.00h EST ]. Dostupné na webovskej stránke (world wide web): http://www.evaluateit.org/glossary/[19] SYSTEMS, M.: What is TinyMCE?. TinyMCE Javascript Content Editor by Moxiecode Systems AB<, [ cit. 10.jún 2008; 18.00h EST ]. Dostupné na webovskej stránke (world wide web): http://tinymce.moxiecode.com/[20] L.: Biblia - Slovenský ekumenický preklad, Evanjelium podľa Lukáša, 5. kapitola, 37-38 verš. Bratislava : Slovenská biblická spoločnosť, 2007[21] OLEJÁR, D.: Úloha štátu pri ochrane digitálneho priestoru. Katedra informatiky FMFI : Univerzita Komenského, 2008[22] HUDEC, L.: Bezpečnostné slabiny webovských serverov a ich testovanie. FIIT STU Bratislava : FIIT STU, 2008[23] FURLOW, L.: Job Profiling: Building a Winning Team Using Behavioral Assessment. AchieveMentors, [ cit. 11.jún 2008; 17.00h EST ]. Dostupné na webovskej stránke (world wide web): http://www.achievementors.com/doc/job_profiling.pdf[24] http://en.wikipedia.org/wiki/DISC_assessment

29

Page 30: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Prílohy

Príloha AŠpecifikácia

30

Page 31: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

31

Page 32: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

32

Page 33: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

33

Page 34: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

34

Page 35: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

35

Page 36: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

36

Page 37: Fakulta matematiky, fyziky a informatiky Univerzita ...nubian.sk/bakalarka/spec.pdf · Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský

Príloha BDátové CD

37