MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨  AKULTA INFORMATIKY !"#$%&'()+,-./012345

Webové diskusní fórum

BAKALÁRSKÁPRÁCEˇ

Martin Bana´s

Brno, Jaro 2009 Prohlášení

Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vy- pracoval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování používal nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušný zdroj.

V Brnˇe,dne ......

Podpis: ......

Vedoucí práce: prof. RNDr. JiˇríHˇrebíˇcek,CSc.

ii Podˇekování

Dˇekujivedoucímu prof. RNDr. JiˇrímuHˇrebíˇckovi,CSc. za správné vedení v pr ˚ubˇehucelé práce a trpˇelivostpˇrikonzutacích. Dále dˇekujicelému kolektivu podílejícímu se na reali- zaci projektu FEED za podnˇetnépˇripomínkya postˇrehy.

iii Shrnutí

Bakaláˇrskápráce se zabývá analýzou souˇcasnýchdiskusních fór typu open-source a vý- bˇerem nejvhodnˇejšíhodiskusního fóra pro projekt eParticipation FEED. Další ˇcástpráce je zamˇeˇrenána analýzu vybraného fóra, tvorbu ˇceskéhomanuálu, ˇceskélokalizace pro portál a rozšíˇrenípro anotaci pˇríspˇevk˚u. Poslední kapitola je vˇenovánanasazení systému do provozu a testování rozšíˇrení pro anotaci pˇríspˇevk˚u.

iv Klíˇcováslova projekt FEED, eParticipation, diskusní fórum, portál, PHP, MySQL, HTML

v Obsah

1 Úvod ...... 3 2 Projekt eParticipation FEED ...... 4 2.1 eGovernment ...... 4 2.2 Úˇcastníciprojektu FEED ...... 4 2.3 Zamˇeˇreníprojektu FEED ...... 5 2.4 Cíl projektu ...... 5 3 Licence GNU/GPL ...... 6 3.1 GNU/GPL Verze 1 ...... 6 3.2 GNU/GPL Verze 2 ...... 6 3.3 GNU/GPL Verze 3 ...... 6 4 Analýza souˇcasnýchopen-source diskusních fór ...... 7 4.1 Požadavky ...... 7 4.2 Kandidáti ...... 8 4.2.1 Phorum ...... 8 4.2.2 phpBB ...... 8 4.2.3 MyBB ...... 8 4.2.4 PunBB ...... 9 4.2.5 SMF ...... 9 4.3 Analýza vlastností ...... 9 4.3.1 Dostupnost aktualizací ...... 9 4.3.2 Pˇrehlednost ...... 10 4.3.3 Dostupnost rozšíˇrení(plugin ˚u)...... 11 4.3.4 Dokumentace ...... 12 4.3.5 Dostupnost lokalizace ...... 13 4.3.6 Licence ...... 13 4.3.7 Proces instalace ...... 13 4.3.8 Podpora komunity ...... 14 4.4 Závˇer ...... 15 5 Analýza diskusního fóra MyBB ...... 16 5.1 Uživatelské role ...... 16 5.1.1 Nepˇrihlášenýuživatel ...... 16 5.1.2 Pˇrihlášenýuživatel ...... 16 5.1.3 Moderátor ...... 16 5.1.4 Administrátor ...... 18 5.2 Datový model ...... 19 5.2.1 Hlavní entity ...... 19 6 Podpora anotace (tagování) pˇríspˇevk˚upro diskusní fórum ...... 21

1 6.1 Požadavky ...... 21 6.2 Realizace ...... 22 6.2.1 Soubory editpost., newreply.php, newthread.php ...... 22 6.2.2 Soubor functions_search.php ...... 22 6.2.3 Soubor modcp.php ...... 23 6.2.4 Soubor post.php ...... 24 6.2.5 Soubor tagovaci_system.php ...... 25 6.2.6 Soubory showthread.php, search.php ...... 25 6.3 Závˇer ...... 25 7 Uživatelský manuál k diskusnímu fóru ...... 26 8 Ceskᡠlokalizace diskusního fóra ...... 27 8.1 Modifikace stávající lokalizace ...... 27 8.2 Tvorba lokalizace pro tagovací systém ...... 27 9 Implementace a testování ...... 28 10 Závˇer ...... 29 A Odkazy na citovaný software ...... 32 B Obsah pˇriloženéhoCD: ...... 33

2 Kapitola 1 Úvod

Webové diskusní fórum je v dnešní dobˇepro mnoho lidí neodmyslitelnou souˇcástíinter- netových stránek. Mnoho portál ˚umá své vlastní diskusní fórum. To m ˚užesloužit napˇrí- klad k podpoˇreuživatel ˚uvyužívajících urˇcitéslužby nebo pro sdílení názor ˚ua myšlenek mezi uživateli. Obsahem této bakaláˇrsképráce je analýza dostupných open-source diskusních fór a výbˇervhodného kanditáta na základˇepožadavk ˚uprojektu eParticipation FEED. Prak- tickou ˇcástípráce je lokalizace fóra do ˇceštinya vytvoˇreníˇceskéhomanuálu. Další ˇcást práce se zabývá rozšíˇrenímfunkcionality vybraného diskusního fóra o anotaci pˇríspˇevk ˚u podle podrobného seznamu požadavk ˚u. V závˇeru práce je popsáno nasazení vybraného diskusního fóra, implementace vytvo- ˇrenéhodoplˇnkupro anotaci pˇríspˇevk˚ua testování pˇreduvedením do ostrého provozu.

3 Kapitola 2 Projekt eParticipation FEED

Projekt FEED je souˇcástípˇrípravnéakce Evropské Unie „eParticipation“. Hlavním cílem eParticipation projekt ˚uje zvýšení úˇcastiveˇrejnostiv politice za využití informaˇcnícha komunikaˇcníchtechnologií. Cílem je podávat uživatel ˚umsmysluplné informace a zlepšit legislativní a rozhodovací postupy na všech úrovních rozhodování státní správy v rámci eGovernmentu.1

2.1 eGovernment eGovernment se zabývá využitím informaˇcnícha komunikaˇcníchtechnologií ve veˇrejné správˇe.Klíˇcovéjsou hlavnˇetyto požadavky:

• Informace od obˇcanaby mˇelybýt získávany jen jednou. Nemˇeloby docházet k si- tuacím, kdy obˇcanmusí oznamovat jednu událost na více místech. To by mˇelobýt zajištˇenokomunikací mezi jednotlivými subjekty státní správy.

• Mˇeloby existovat spoleˇcnémísto pro všechny úˇredníúkony. Obˇcanby pˇrivyˇrizo- vání žádosti mˇelbýt schopen vyˇríditvšechno na jednom místˇe,bez navštˇevování dalších úˇrad˚u.Zároveˇnby mˇelmít i možnost volby poboˇcky(nejen v místˇetrvalého bydlištˇe)a také volbu formy komunikace (osobnˇe,telefonicky, elektronicky).

• Omezení komunikace se subjekty státní správy na minimum. Pokud existují vˇeci, které m ˚užestátní správa zaˇríditsama, mˇelaby to zaˇríditautomaticky bez aktivity obˇcana.

Tento model pˇrinášíˇraduvýhod i pro samotný stát. Zejména jde o zrychlení vnitˇrních proces ˚ua zvýšení konkurenceschopnosti v ekonomice. Procesy fungující automaticky, výraznˇešetˇríˇcasa jsou mnohem efektivnˇejší.

2.2 Úˇcastníciprojektu FEED

Koordinátorem projektu je Národní technická univerzita Athény. Na projektu se dále podílí Masarykova univerzita, firma Public-i Group Limited, holandská firma Zenc BV, Athénské technologické centrum (Athens Technology Center S.A.) a ˇreckáEgejská uni- verzita (University of the Aegean). Projekt, který má vzniknout spoluprací tˇechtostran, má být na základˇezískaných zkušeností rozšíˇrendo všech zemí Evropské Unie. Rešeníˇ

1. HREB͡ CEKˇ J. a PETERS R. FEED – End-User Characteristics and System Actors, 18. 1. 2009, str. 9.

4 2. PROJEKTEPARTICIPATION FEED projektu potrvá do 31. prosince 2009. Bˇehemtéto doby budou všechny strany shromaž- d’ovat zkušenosti s používáním portálu. V Ceskéˇ republice se do tohoto testování pˇri- hlásilo Ministerstvo životního prostˇredí CRˇ a SR, Jihomoravský kraj a statutární mˇesto Brno.

2.3 Zamˇeˇreníprojektu FEED

Zlepšování fáze podávání legislativních návrh ˚u. Tato fáze je zamˇeˇrena na vˇcasné in- dikování pˇrípadnýchsociálních problém ˚u,prozkoumání celkového prostˇredía vybudo- vání prostˇredípro transparentní politiku. Budou pˇritomvyužívány informace z již fun- gujících projekt ˚ueParticipation v Evropské Unii.2 Podpora komunikace na úrovni samosprávy se skuteˇcnouEvropskou orientací. Pod- pora se pˇredevšímzamˇeˇrujena získání dostateˇcnéhomnožství úˇcastník˚uze strany ve- ˇrejnostia veˇrejnésprávy. Zajišt’uje pozadí pro celkovou diskusi nad danými problémy, vˇcetnˇeprezentace pˇredkládanýchnávrh ˚ua diskuse nad podmínkami ˇcizmˇenami.2 Zamˇeˇrenína rámec problém ˚usouvisející s životním prostˇredíma energetikou. Využití osvˇedˇcenýchnástroj ˚ua vedení skuteˇcnýmiexperty týmu projektu FEED.2 Testování nových pˇrístup˚u,zvyšujících participaci veˇrejnosti. Pˇredevšímse jedná o vy- užití technologie Web 2.0, sociální techniky a anotaˇcníchnástroj ˚upro diskutovaný ob- sah.2

2.4 Cíl projektu

Cílem ˇrešeníprojektu FEED je webový portál, poskytující svým uživatel ˚umjednoduchý pˇrístupk dokument ˚um.Tyto dokumenty by mˇelyobsahovat dostatek informací o pro- blémech spojených pˇredevšíms životním prostˇredíma energetikou. Projekt FEED pod- poruje debaty o ˇrešenítˇechtoproblém ˚uplynoucích z Evropských právních akt ˚u,proto i webový portál bude zamˇeˇrenpˇredevšímna veˇrejnédiskuse a debaty. Projekt poskytne nástroje (webový portál, webové diskusní fórum), a zajistí úˇcastveˇrejnosti v komunikaci s veˇrejnousprávou.

2. HREB͡ CEKˇ J. a PETERS R. FEED – End-User Characteristics and System Actors, 18. 1. 2009, str. 9.

5 Kapitola 3 Licence GNU/GPL

Cílem práce je vybrat vhodné diskusní fórum typu open-source. S pojmem „open-source“ pˇrímosouvisí termín GNU/GPL. Zkratka GPL znamená „General Public License“, což je v pˇrekladu„Všeobecná ve- ˇrejnálicence“. Tato licence byla sepsána v roce 1989 Richardem Stallmanem pro GNU projekt. GNU/GPL je na rozdíl od ostatních silnˇeCopyleftovou licencí. To znamená, že díla vycházející ze zdrojového kódu uvolnˇenéhopod GNU/GPL musí být dále distribu- ována také pouze pod touto licencí. GNU/GPL dále požaduje, aby autor modifikované verze uvedl své jméno. Je to jediný zp ˚usob,jak odlišit r ˚uznéverze softwaru a chránit reputaci ostatních vývojáˇr˚u.

3.1 GNU/GPL Verze 1

První verze GNU/GPL licence byla vydána v roce 1989. Kladla vývojáˇr˚uma distributo- r ˚umpovinnost publikovat kromˇebinárních soubor ˚ui zdrojové kódy kv ˚ulimožnosti mo- difikace kódu tˇretímistranami. Druhá povinnost se týkala modifikace softwaru. Pokud byl software pod GNU/GPL jakkoli modifikován nebo pokud došlo ke slouˇcenídvou program ˚uz nichž jeden byl pod licencí GNU/GPL, musel být výsledek distribuován také pod GNU/GPL licencí.

3.2 GNU/GPL Verze 2

Hlavní zmˇenaoproti první verzi byla v sedmé sekci licence. V této sekci je ˇreˇceno,že pokud uživatel nem ˚užez jakéhokoliv d ˚uvodu(napˇr.právní ustanovení, obvinˇeníz po- rušení patent ˚u)dále šíˇritsoftware pod GNU/GPL, nemˇelby ho šíˇritv ˚ubec.Bˇehemdal- ších let používání této licence nabyli vývojáˇripˇresvˇedˇcení,že nˇekterésoftwarové firmy využívají skulin v GPL ke svému prospˇechu.Z tohoto d ˚uvodubyla vydána tˇretíverze.

3.3 GNU/GPL Verze 3

Tˇretíverze GNU/GPL byla vydána 29. ˇcervna2007. Hlavní zmˇenyse týkaly kompati- bility r ˚uznýchsvobodných licencí (napˇríkladkompatibilita s licencí Apache), definice pojmu „zdrojový kód“ nebo internacionalizace. Dále se zabývá zp ˚usobem,jakým se ˇreší pˇrípadnéporušení licence. To zahrnuje informace proti kˇrížovémulicencování (napˇr.pa- tentová dohoda Novell – Microsoft). V pˇrípadˇedohody Novell – Microsoft je v licenci vyjímka. Licence je definována tak, aby v budoucnu již byly podobné dohody neúˇcinné.

6 Kapitola 4 Analýza souˇcasnýchopen-source diskusních fór

Pro výbˇerdiskusních fór k analýze byla použita webová stránka OpenSourceCms. Na této stránce je vystavena vˇetšinaopen-source diskusních fór, a to vˇcetnˇeuživatelských recenzí a poznatk ˚u.Navíc je zde možnost diskusní fórum pˇrímovyzkoušet bez nutnosti instalace a konfigurace. Pˇriprvním testování bylo nutné vybrat diskusní fóra, která budou zahrnuta do další fáze analýzy. Hlavními kritérii pˇritombyla uživatelská hodnocení spoleˇcnˇes poˇctemuži- vatel ˚u,kteˇrídiskusní fórum hodnotili. Spíše než na hodnocení fóra záleželo na jeho oblí- benosti. Byla otestována diskusní fóra MyBB, phpBB, SMF, Phorum, PunBB a Vanilla. První dojmy byly postaveny pˇredevšímna designu a pˇrehlednosti.Hodnotit pˇrehled- nost pro širokou skálu uživatel ˚uby bylo nemožné, proto byly vzhledy diskusních fór po- rovnány s nejˇcastˇejipoužívanými diskusními fóry na internetu. Pˇritomto porovnání bylo zjištˇeno,že diskusní fórum Vanilla požadavk ˚umnevyhovuje kv ˚ulivelice zvláštnímu roz- ložení stránky. Do další fáze tedy toto diskusní fórum zahrnuto nebylo. Ostatní zmínˇená diskusní fóra mˇelashodný ˇcivelice podobný vzhled.

4.1 Požadavky

Pro úspˇesnývýbˇerdiskusního fóra musely být nejprve stanoveny klíˇcovévlastnosti. Dostupnost aktualizací. Jeden z nejd ˚uležitˇejšíchfaktor ˚upˇrivýbˇeru diskusního fóra. Dis- kusní fóra jsou ˇcastocílem hacker ˚unebo spambot ˚ua bez pravidelných aktualizací by bylo velmi obtížné se tˇemtoútok ˚umbránit. Pˇrehlednost. Diskusní fórum je zamˇeˇrenona uživatele, a ti by nemˇelimít problém ho ovládat. Design je první vˇec,kterou uživatel vnímá pˇrivstupu na webovou stránku, a tudíž je pˇrehlednostwebu d ˚uležitýmfaktorem. Dostupnost rozšíˇrení(plugin ˚u). Rozšíˇreníjsou nedílnou souˇcástívˇetšinydiskusních fór. Pomocí r ˚uznýchplugin ˚uje možné možnosti diskusního fóra dále rozšíˇritnapˇríkladv ob- lasti bezpeˇcnostinebo komunikace. Pokud diskusnímu fóru tato funkcionalita chybí, je velice pravdˇepodobné,že se brzy stane neaktuálním. Dokumentace. Dokumentace je d ˚uležitájak pro administrátory, tak pro uživatele. Pro uživatelé je d ˚uležitýkompletní uživatelský manuál, pro administrátory pak popis insta- lace, FAQ (ˇcastokladené dotazy) nebo popis funkcí použitých ve fóru. Dostupnost lokalizace. Dostupnost lokalizace je velice d ˚uležitáhlavnˇepro bˇežnéuživa- tele. Dodat lokalizaci pro webové fórum není v ˚ubecsložité a spoˇcíváto pouze v pˇrekladu pˇredempˇripravenýchsoubor ˚u.Pro takto rozšíˇrenádiskusní fóra však bude pravdˇepo- dobnˇelokalizace do ˇceštinyexistovat.

7 4. ANALÝZA SOUCASNÝCHOPENˇ -SOURCEDISKUSNÍCHFÓR

Licence. Jelikož cílem bylo vybrat diskusní fórum typu open-source, pˇredpoklalo se, že bude pod licencí GNU/GPL nebo pod licencí z ní odvozenou. Odvozené licence ale mo- hou mít r ˚uznáomezení a i verzí licence GNU/GPL je více. Proces instalace. Instalace se spíše týká administrátor ˚u.Je to ale velice d ˚uležitýfaktor, protože je možné, že vybrané fórum budou používat i ostatní zemˇezapojené do projektu FEED. Proces instalace by tedy mˇelbýt rychlý a jednoduchý, bez zbyteˇcnýchotázek a nastavení. Podpora komunity. Podpora komunity je ˇcastoopomíjeným faktorem. Pˇritomprávˇeuži- vatelé ví nejlépe, jaké chyby a problémy se v produktu vyskytují. Castoˇ právˇekomunita m ˚užebýt nejrychlejší cestou k vyˇrešeníproblému.

4.2 Kandidáti

4.2.1 Phorum

Phorum je diskusní fórum, které se snaží poskytnout rychlé a flexibilní prostˇredípro ši- rokou škálu uživatel ˚u. Dobrým dojmem nep ˚usobiladomovská stránka projektu. V kategorii „News“ (No- vinky) byla poslední zpráva z 2. ledna 2008, což svˇedˇcío jisté neaktuálnosti webu. Velice pˇríjemnábyla naopak možnost prohlédnout si zdrojové kódy pˇrímona webu. Domovská stránka – http://www.phorum.org Analyzovaná verze – 5.2.10 Další webové stránky používající fórum – http://www.mysql.com

4.2.2 phpBB

PhpBB bylo vytvoˇrenoJamesem Atkinsonem v ˇcervnuroku 2000. Fórum bylo vydáno pod licencí GNU/GPL a již v prosinci roku 2000 byla vydána první stabilní verze 1.0. Fórum je zamˇeˇrenona potˇrebyr ˚uznýchuživatel ˚u,nabízí široké spektrum funkcí a rozší- ˇrení. Domovská stránka – http://www.phpbb.com Analyzovaná verze – 3.0.4 Další webové stránky používající fórum – http://www.zive.cz

4.2.3 MyBB

Diskusní fórum MyBB bylo p ˚uvodnˇevydáváno pod nesvobodnou licencí. Ke zmˇenˇedo- šlo až po žádosti vývojáˇr˚uprojektu KDE o zveˇrejnˇenífóra pod GNU/GPL licencí. Za toto gesto vývojáˇriKDE rozšíˇriliMyBB o pár užiteˇcnýchdoplˇnk˚u.Zveˇrejnˇenífóra pod licencí GNU/GPL bylo velice kladnˇepˇrijatopoˇcetnoukomunitou MyBB fóra, jakožto i open-source komunitou. Domovská stránka – http://www.mybboard.net

8 4. ANALÝZA SOUCASNÝCHOPENˇ -SOURCEDISKUSNÍCHFÓR

Analyzovaná verze – 1.4.4 Další webové stránky používající fórum – http://www.kde.org

4.2.4 PunBB

PunBB je rychlé a jednoduché diskusní fórum založené na PHP. K hlavním pˇrednos- tem fóra patˇrírychlost, velikost a grafická nenároˇcnost.Diskusní fórum PunBB má ménˇe funkcí než konkurenˇcnídiskusní fóra, za to nabízí pˇrehlednosta srozumitelnost. Domovská stránka – http://punbb.informer.com Analyzovaná verze – 1.3.3 Další webové stránky používající fórum – http://developers.facebook.com

4.2.5 SMF

Simple Machines Forum, zkratkou SMF, je také napsáno v PHP za použití databáze MySQL. Je navrženo s d ˚urazemna minimální nároky na server a jednoduchost. Pomocí SSI (Server Side Includes) je možné nastavit fórum tak, aby komunikovalo s další webo- vou stránkou bez nutnosti zásah ˚uuživatel ˚u.První verze byla vydána v bˇreznuroku 2008. Domovská stránka – http://www.simplemachines.org Analyzovaná verze – 1.1.8 Další webové stránky používající fórum – http://forum.ubuntu.com

4.3 Analýza vlastností

4.3.1 Dostupnost aktualizací

Pˇrianalýze dostupnosti aktualizací pro jednotlivá fóra bylo pro každé z nich vybráno posledních 5 aktualizací. K nim byly na domovských stránkách dohledána data vydání. Bylo zjištˇeno,že vývojáˇrivšech zmínˇenýchdiskusních fór dokáží pružnˇereagovat na hlá- šení chyb od uživatel ˚ua v pˇrípadˇekritických chyb rychle vydat záplatu ve formˇenové aktualizace. Nejlépe si v tomto mˇeˇrenívedlo diskusní fórum MyBB, jehož vývojáˇriaž do aktuální verze 1.4.4 vydávali aktualizace každý mˇesíc.

Phorum 5.2.10 5.2.9 5.2.8 5.2.7 5.2.6 Datum vydání 25. 1. 09 6. 10. 08 29. 7. 08 20. 3. 08 7. 1. 08 phpBB 3.0.4 3.0.3 3.0.2 3.0.1 3.0 Datum vydání 12. 12. 08 12. 11. 08 10. 7. 08 7. 4. 08 13. 12. 07 MyBB 1.4.4 1.4.3 1.4.2 1.4.1 1.4 Datum vydání 27. 11. 08 28. 10. 08 17. 9. 08 17. 8. 08 3. 8. 08 PunBB 1.3.3 1.3.2 1.3.1 1.3 1.2.19 Datum vydání 17. 4. 09 8. 12. 08 26. 11. 08 9. 11. 08 14. 7. 08

9 4. ANALÝZA SOUCASNÝCHOPENˇ -SOURCEDISKUSNÍCHFÓR

SMF 1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 Datum vydání 4. 2. 09 7. 11. 08 7. 9. 08 1. 5. 08 23. 9. 07

4.3.2 Pˇrehlednost Hodnotit pˇrehlednostje velice subjektivní. Vybraná diskusní fóra byla nainstalována a postupnˇeotestována v bˇežnémprovozu. Fóra mˇelav základním vzhledu podobné roz- vržení stránek. Vývojáˇridiskusního fóra SMF zvolili ne zcela vhodný systém zobrazení „záložkového menu“ (obr. 4.1). Tento designový prvek a tabulka nad ním, zobrazující poˇcetnepˇreˇcte- ných zpráv od poslední návštˇevy, by mˇelybýt spíše umístˇenyve spodní ˇcástistránky. Uživatel je dle mého názoru nucen ˇcastˇejiscrollovat stránkou.

Obrázek 4.1: Záložkové menu diskusního fóra SMF

Po delším zkoumání diskusního fóra MyBB bylo zjišt’ˇeno,že podporuje tzv. tématický náhled (threaded view). Pˇrepnutído tohoto náhledu usnadˇnujeorientaci v dlouhých té- matech. Rozdíl mezi lineárním a tématickým náhledem je vidˇetna obrázcích 4.2 a 4.3. Podle dostupných informací tématický náhled podporují pouze fóra MyBB a Phorum.

Obrázek 4.2: Tématický náhled na fórum

10 4. ANALÝZA SOUCASNÝCHOPENˇ -SOURCEDISKUSNÍCHFÓR

Obrázek 4.3: Lineární náhled na fórum

4.3.3 Dostupnost rozšíˇrení(plugin ˚u) Phorum Diskusní fórum Phorum má ve verzi 5.2.10 oficiálnˇe151 rozšíˇrení.Ta jsou roztˇrídˇena do nˇekolikakategorií. Stránka zobrazující dostupná rozšíˇreníbyla bohužel docela nepˇre- hledná, postrádála vyhledávání. Podrobnˇejšíinformace o pluginu byly ˇrešenyformou diskusního fóra. phpBB U fóra phpBB je systém zobrazení rozšíˇrenípokroˇcilejší.Pro verzi 3.0.4 je dostupných cel- kem 235 rozšíˇrení.Stránka podporuje vyhledávání nebo tˇrídˇenípodle kategorií, autora, ˇcasupotˇrebnéhok instalaci nebo verze fóra. Jednotlivé doplˇnkyjsou vypsány v tabulce. Pˇrizobrazení podrobnˇejšíchinformací je možné dané rozšíˇreníhodnotit. Podrobnˇejšíin- formace obsahují také odkaz na fórum, do kterého mohou uživatele psát zkušenosti s da- ným rozšíˇrením.

MyBB Rozšíˇrenípro MyBB jsou na domovských stránkách projektu pod odkazem „Mods“. Do- hromady databáze obsahuje 228 plugin ˚uroztˇrídˇenýchdo deseti kategorií. V základním režimu je zobrazen poˇcetstáhnutí konkrétního pluginu, v podrobných informacích pak autor, datum vydání, odkaz do diskusního fóra ˇcihodnocení. Mohou se zde také nachá- zet uživatelské recenze.

11 4. ANALÝZA SOUCASNÝCHOPENˇ -SOURCEDISKUSNÍCHFÓR

PunBB Diskusní fórum PunBB od verze 1.3 pˇrineslo nový systém rozšíˇrení.Z tohoto d ˚uvodudo- sud pro aktuální verzi fóra neexistuje mnoho oficiálních plugin ˚u.Databáze obsahovala 9 plugin ˚u.Podle informací z oficiálních stránek projektu je však již mnoho plugin ˚ukon- vertováno pro aktuální verzi fóra.

SMF Databáze plugin ˚upro fórum verze 1.1.8 obsahuje 371 rozšíˇrení.Domovská stránka umož- ˇnujejak jednoduché, tak pokroˇcilévyhledávání. Dostupná rozšíˇrení jsou tˇrídˇenado 13 kategorií. V podrobném zobrazení je pak kromˇeklasických informací zobrazen poˇceti stáhnutí. Zajímavou možností je vygenerování návodu k instalaci pluginu pro odlišné verze fóra. Komentáˇrea dotazy k rozšíˇrenímjsou ˇrešenyformou diskusního fóra.

4.3.4 Dokumentace

Phorum Uživatelská dokumentace se omezila jen na nadpisy „Co je fórum?“ a „Co je Phorum?“. Manuál pro administrátory je na tom lépe. Je v nˇempˇrehlednˇepopsána instalace, r ˚uzné promˇennéa také postup pˇriaktualizaci fóra nebo nastavení speciálních parametr ˚u.V ma- nuálu pro vývojáˇreje pak popsáno vše potˇrebnék vytvoˇrenívlastního pluginu spoleˇcnˇe s praktickými pˇríklady. phpBB Dokumentaci phpBB nelze nic vytknout. Zahrnuje všechny uživatelské role – adminis- trátora, moderátora a uživatele. Podrobnˇepopisuje veškeré dialogy a funkce, se kterými se uvedení uživatelé mohou setkat. V sekci „Development“ jsou pak návody na tvorbu nových plugin ˚u,témat, nebo úpravu stávajícího zdrojového kódu.

MyBB Stejnˇejako v pˇrípadˇephpBB, i dokumentace diskusního fóra MyBB je na velmi dobré úrovni. Obsahuje ˇcastokladené dotazy, manuál pro uživatele, moderátory a administrá- tory, návod na tvorbu nových plugin ˚ua témat, a také sekci se seznamem speciálních funkcí ulehˇcujícíchpráci s databází. Dokumentace dále obsahuje odkazy na diskusní fóra, uživatelé ˇrešíproblémy, které nebyly popsány v dokumentaci. Celý systém je velmi pˇrehledný,obsahuje spoustu obrázk ˚ua umožˇnujeuživatel ˚umpsát nové návody.

PunBB Dokumentace fóra PunBB je po všech stránkách nedostaˇcující.Chybí manuál pro uživa- tele a moderátory. Jediné informace se nachází v sekci „Informace pro vývojáˇre“,kde je na pár pˇríkladechzobrazeno, jak provézt základní úkony spojené s databází.

SMF Tak jako v pˇrípadˇeMyBB nebo phpBB, je i dokumentace k diskusnímu fóru SMF na velmi vysoké úrovni. Obsahuje manuály pro r ˚uznéuživatelské role, detailní popis insta-

12 4. ANALÝZA SOUCASNÝCHOPENˇ -SOURCEDISKUSNÍCHFÓR lace, informace pro vývojáˇreplugin ˚ua témat vzhled ˚u,ˇcastokladené dotazy. Nechybí ani seznam d ˚uležitýchfunkcí fóra a formuláˇrpro názory uživatel ˚u.

4.3.5 Dostupnost lokalizace

Aˇckolipro každé diskusní fórum existuje ˇceskálokalizace, její nalezení neprobíhalo vždy jednoduše. Napˇríklad diskusní fórum PunBB nemá dosud kv ˚ulipˇrechodu na novou verzi zavedenu sekci lokalizací na domovské stránce. Ceskᡠlokalizace byla nakonec na- lezena na ˇceskýchoficiálních stránkách. Na lokalizacích pro ostatní jazyky se podle pˇrí- spˇevk˚una diskusním fóru projektu stále pracuje. U diskusního fóra Phorum pak byly lokalizace dostupné v pˇríspˇevcíchv oficiálním fóru. Tento zp ˚usobzobrazení je pro uži- vatele velmi nepˇrehledný.

Vlastnost Phorum phpBB MyBB PunBB SMF Poˇcetjazyk ˚u 27 58 19 - 47 Dostupnost ˇceštiny     

4.3.6 Licence

Po prozkoumání licenˇcníchpodmínek jednotlivých fór bylo zjištˇeno, že žádné diskusní fórum neomezuje uživatele v modifikaci zdrojových kód ˚u.

Diskusní fórum Licence Phorum The Phorum Licence 2.03 phpBB GNU GPL Version 2 MyBB GNU GPL Version 3 PunBB GNU GPL Version 2 SMF SMF Licence4

4.3.7 Proces instalace Phorum Instalace diskusního fóra Phorum spoˇcíváve vytvoˇrenídatabáze a editace konfiguraˇc- ního souboru include/db/config.php. Tento konfiguraˇcnísoubor je pˇrehlednˇeoko- mentován, není tedy problém ho správnˇedoplnit. Po doplnˇenísouboru instalaˇcnísystém zkontroluje správnost údaj ˚ua instalace dále probíhá zadáním údaj ˚upro administrátor- ský úˇcet.Pˇreddokonˇceníminstalace ještˇesystém nabídne aktivaci dalších modul ˚u(roz-

3. The Phorum Licence 2.0. Tato licence, která vychází z licence Apache 1.1, opravˇnujeuživatele používat oficiální i modifikované diskusní fórum, vˇcetnˇejeho další distribuce. Neopravˇnujevšak uživatele k odstra- nˇeníinformací o autorských právech (Copyright) ze zdrojových kód ˚u. 4. SMF Licence. Licence SMF umožˇnujeuživateli používat a modifikovat zdrojové kódy, ale veškerá dis- tribuce musí být nejdˇrívschválena spoleˇcnostíSMF. Uživatel není oprávnˇenodstranit informace o licenci, jakkoli zmˇenitlicenci u distribuovaných zdrojových kód ˚unebo odstranit informace o autorských právech (Copyright) ze zdrojových kód ˚u.

13 4. ANALÝZA SOUCASNÝCHOPENˇ -SOURCEDISKUSNÍCHFÓR

šíˇrení)dodávaných v základní instalaci. phpBB Instalaˇcnírozhraní fóra phpBB je velmi pokroˇciléa profesionální. Samo kontroluje do- stupné databáze, verze PHP a aktivované promˇenné,další moduly dostupné na da- ném serveru a také pˇrístupovápráva k adresáˇr˚umfóra. Zadání údaj ˚uo databázi pro- bíhá pˇresgrafické rozhraní, uživateli však nic nebrání vyplnit údaje pˇrímov souboru config.php. Po zadání správných údaj ˚u,které si systém sám zkontroluje, je uživatel vyzván k vyplnˇeníúdaj ˚upro úˇcetadministrátora. Po jejich vyplnˇeníje možné nastavit další pokroˇciléfunkce diskusního fóra. Po této fázi je instalace dokonˇcena.

MyBB Instalace je stejnˇejako v pˇredchozímpˇrípadˇegrafická. Po odsouhlasení licence instalátor zkontroluje pˇrístupovápráva k adresáˇr˚uma dostupnost PHP a MySQL. Další nastavení údaj ˚uo databázi je velice pˇrehledné,po vyplnˇeníse zavede tabulka do zvolené databáze. Následuje vyplnˇeníinformací o diskusním fóru a úˇctuadministrátora. Po správném vy- plnˇenítˇechtoúdaj ˚ua smazaní adresáˇre install je diskusní fórum pˇripravenona pou- žití.

PunBB Instalace fóra PunBB je také grafická. Instalaˇcníproces je velice jednoduchý a pˇrímoˇcarý, uživatel není zahlcen zbyteˇcnýmidotazy. Po správném vyplnˇeníúdaj ˚uo databází, ad- ministrátorském úˇctua názvu diskusního fóra systém zkontroluje, zda všechny adresáˇre mají správná pˇrístupová práva. Posledním krokem je stáhnutí souboru config.php a jeho zkopírování do adresáˇres diskusním fórem.

SMF Instalátor diskusního fóra SMF je na první pohled velice vyspˇelý.Jako jediný dokáže po pˇrihlášeník serveru automaticky zmˇenitpˇrístupovápráva u vyžadovaných adresáˇr˚uma soubor ˚u.Po zmˇenˇepˇrístupovýchpráv systém uživatele požádá o zadání pˇrihlašovacích údaj ˚uk databázi. Po následném vytvoˇreníúˇctuadministrátora je instalace dokonˇcena.

4.3.8 Podpora komunity

Vyspˇelostkomunity je také velice subjektivní kritérium. Technika mˇeˇreníbyla založena na výbˇeru posledních 20 témat z každého diskusního fóra sloužícího jako podpora uživa- tel ˚u.Pˇrivýbˇeru byla volena témata, která byla zadána pˇredvíce než jednou hodinou. U každého tématu byl zapsán ˇcaszadání dotazu, ˇcasprvní odpovˇedi,poˇcetvložených pˇrí- spˇevk˚upˇredvyˇrešením problému (v tabulce oznaˇcenjako „Vyˇrešeníproblému“), poˇcet všech odpovˇedía poˇcettémat, která nebyla v ˚ubecvyˇrešena.Z tˇechtohodnot byl vypoˇcí- tán pr ˚umˇera data zapsána do tabulky.

14 4. ANALÝZA SOUCASNÝCHOPENˇ -SOURCEDISKUSNÍCHFÓR

Vlastnost Phorum phpBB MyBB PunBB SMF Vyˇrešeníproblému5 1,65 5,63 3,1 3,35 9,2 Poˇcetvšech odpovˇedí 3,65 6,55 7,2 4,55 10,8 Doba první odpovˇedi 2:31 0:49 0:12 9:19 1:55 Nevyˇrešenýchtémat 2 3 0 5 2 Z tabulky vyplývá, že aˇcse komunitˇediskusního fóra Phorum podaˇrilovyˇrešitpro- blémy nejˇcastˇejiuž v první nebo druhé odpovˇedi,reakce na nové dotazy byly výraznˇe pomalejší. U komunity diskusního fóra MyBB napˇríkladbyla pr ˚umˇernádoba první od- povˇedi12 minut. Navíc z 20 vybraných dotaz ˚unebyl ani jeden nevyˇrešen.Na opaˇcné stranˇese umístila komunita diskusního fóra PunBB, která potˇrebovalav pr ˚umˇeru pˇres9 hodin na zareagování na zadaný dotaz. Do položky „Vyˇrešení problému“ jsou zahrnuty i špatnˇezadané ˇcinesrozumitelné dotazy, nebo žádosti o podání dalších informací. Avšak mˇeˇrítkemvyspˇelostikomunity je také schopnost správnˇese zeptat a podat všechny potˇrebnéinformace.

4.4 Závˇer

Po shrnutí všech pozitiv a negativ vybraných diskusních fór bylo rozhodnuto, že pro re- alizaci webového diskusního fóra pro portál FEED bude použito diskusní fórum MyBB. To poskytuje pˇríjemnérozhraní, tématický náhled na pˇríspˇevky, je vydáváno pod nej- novˇejšíverzí GNU/GPL licence, má širokou podporu komunity a velice jednoduchou instalaci. Pˇripoužívání fóra nebyly zjištˇenyžádné vážnˇejšínedostatky.

5. Oznaˇcujepoˇcetpˇríspˇevk˚upˇredzasláním odpovˇedi,která problém vyˇrešila.

15 Kapitola 5 Analýza diskusního fóra MyBB

Webové diskusní fórum MyBB pro projekt FEED má poskytnout uživatel ˚umpotˇrebnéin- formace o probíraných tématech a umožnit uživatel ˚umaktivní zapojení formou diskuse. Pro správné pochopení fungování diskusního fóra byla vypracována jeho podrobná analýza. Ta kromˇezákladních funkcí zahrnuje i analýzu rozšíˇrenípro anotaci pˇríspˇevk˚u. Pro potˇrebyanalýzy byly vytvoˇrenydiagramy pˇrípad˚uužití pro každou uživatelskou roli a entitnˇerelaˇcnídiagram. Diagramy pˇrípad˚uužití byly vytvoˇrenyv programu „Vi- sual Paradigm for UML Community Edition“6, pro tvorbu entitnˇerelaˇcníhodiagramu bylo použito „CASE Studio“7.

5.1 Uživatelské role

Diskusní fórum MyBB rozlišuje 3 základní uživatelské role. Tˇemijsou administrátor, mo- derátor a pˇrihlášenýuživatel. Informace o tˇechtouživatelích jsou v systému uchovávány. Speciální rolí je pak host, což je nepˇrihlášenýuživatel.

5.1.1 Nepˇrihlášenýuživatel Nepˇrihlášenýuživatel v systému nemá žádnou možnost editace informací nebo vkládání nových informací do diskusního fóra. M ˚užejen zobrazit téma, kalendáˇrnebo seznam uživatel ˚u.Má však možnost vyhledávání pˇríspˇevk˚uve fóru. Nepˇrihlášenýuživatel má dále možnost pˇrihlásitse, nebo se zaregistrovat.

5.1.2 Pˇrihlášenýuživatel Po pˇrihlášenímá už uživatel možnost vkládat nové pˇríspˇevkynebo zakládat témata. Má stejné možnosti jako nepˇríhlášenýuživatel, navíc pak má i možnost pracovat s pˇríspˇevky a kalendáˇrem.M ˚uževkládat nové události a pˇríspˇevky, a libovolnˇeje modifikovat. Má také možnost editovat sv ˚ujúˇcetnebo se odhlásit.

5.1.3 Moderátor Moderátor má kromˇevšech pravomocí uživatele ještˇedalší moderátorské pravomoce. Stará se o to, aby diskuse vedla správným smˇerem. Ve fóru, které moderuje, m ˚uželibo- volnˇeeditovat pˇríspˇevkyˇcitémata, vˇcetnˇejejich odstranˇení.

6. http://www.visual-paradigm.com/ 7. http://www.casestudio.com/

16 5. ANALÝZA DISKUSNÍHO FÓRA MYBB

Obrázek 5.1: Diagram pˇrípaduužití – nepˇrihlášenýuživatel

Obrázek 5.2: Diagram pˇrípaduužití – pˇrihlášenýuživatel

17 5. ANALÝZA DISKUSNÍHO FÓRA MYBB

Moderátor má dále za úkol schvalovat ˇcimazat pˇrílohy, pˇresouvattémata do správ- ných diskusních fór nebo moderovat klíˇcováslova. Libovolné klíˇcovéslovo m ˚užemoderátor schválit, ignorovat nebo smazat. Dále m ˚uže klíˇcovémuslovu pˇriˇraditkategorii, do které patˇrí.M ˚užetaké libovolnˇemanipulovat s ka- tegoriemi klíˇcovýchslov.

Obrázek 5.3: Diagram pˇrípaduužití – moderátor

5.1.4 Administrátor Administrátor je speciální rolí v systému. Kromˇevšech pravomocí moderátora má navíc možnost konfigurace diskusního fóra. Stará se o správný chod diskusního fóra po tech- nické stránce. V pˇrípadˇepotˇrebymá možnost zaslat všem uživatel ˚umhromadné ozná- mení. Administrátor pˇriˇrazujeuživatele do skupin, napˇríkladdo skupiny moderátor ˚u.Má možnost skupiny uživatel ˚ulibovolnˇeeditovat. Dále má i možnost editovat uživatelské úˇcty.

18 5. ANALÝZA DISKUSNÍHO FÓRA MYBB

Obrázek 5.4: Diagram pˇrípaduužití – administrátor

5.2 Datový model

Diskusní fórum ukládá jednotlivá diskusní fóra, informace o uživatelích, témata, pˇrí- spˇevkya události v kalendáˇri.Dále z diagram ˚uužití vyplývá, že systém musí uchovávat i informace o klíˇcovýchslovech a jejich kategoriích. K zobrazení vztahu mezi tˇemitoen- titami byl použit entitnˇerelaˇcnídiagram.

5.2.1 Hlavní entity

Uživatel Každý uživatel je evidován v systému pod unikátním identifikaˇcnímˇcíslem.Informace o uživateli obsahuje pˇrihlašovacíjméno, heslo a emailovou adresu. Dále má pˇriˇrazenu jednu roli v systému.

Uživatelská role Každá role v diskusním fóru má také své unikátní ˇcíslo.D ˚uležitou informací je jméno role nebo práva role. Každý uživatel m ˚užemít pouze jednu roli. Jedna role m ˚užebýt sdílena mezi více uživateli.

Pˇríspˇevek Pˇríspˇevekmá také své unikátní ˇcíslo.Dále nese informaci o tom, do kterého tématu a fóra patˇrí,a který uživatel pˇríspˇevekvložil. Mezi doplˇnkovéinformace pak patˇrípˇred- mˇet,datum, zpráva a tag pˇríspˇevku.

19 5. ANALÝZA DISKUSNÍHO FÓRA MYBB

Téma Téma obsahuje pouze identifikaˇcníˇcísloa informaci o tom, do kterého fóra patˇrí.Každé téma m ˚užepatˇritjen do jednoho fóra, avšak fórum m ˚užeobsahovat více témat.

Fórum Klíˇcementity „fórum“ je jednoznaˇcnéidentifikaˇcníˇcíslo.Mezi doplˇnkovéinformace pak patˇrínapˇríkladnázev fóra nebo datum vytvoˇrenífóra.

Událost Klíˇcementity „událost“ je identifikaˇcníˇcíslo.Mezi další d ˚uležitéinformace patˇríˇcíslo uživatele, který událost vložil a informace o tom, jestli je událost veˇrejnánebo soukromá. Entita „událost“ je dále rozšíˇrenao datum, název a popis události.

Obrázek 5.5: Entitnˇerelaˇcnídiagram

20 Kapitola 6 Podpora anotace (tagování) pˇríspˇevk˚upro diskusní fórum

V základních požadavcích na diskusní fórum byla podpora anotace pˇríspˇevk˚u.Diskusní fórum MyBB však podporu anotace v základu nemá. Bylo proto nutné najít na internetu rozšíˇrení,které by podporu anotace do fóra dodalo. Po prohledání stránky s oficiálními pluginy byl nalezen plugin „Thread description for MyBB 1.4“. Toto rozšíˇrenípˇridávádo urˇcitýchformuláˇr˚upole „Popis“, do kterého uživatel m ˚uževložit krátký souhrn svého pˇríspˇevku. Po prvním otestování bylo však zjištˇeno,že toto rozšíˇrenízcela nevyhovuje zadaným požadavk ˚um.

6.1 Požadavky

• Uživatel je schopen pˇridatklíˇcováslova ke svým pˇríspˇevk˚um.M ˚užeje vybrat ze seznamu dostupných klíˇcovýchslov, nebo vložit nová.

• Pˇredtím, než se novˇezadaná klíˇcováslova objeví v seznamu dostupných klíˇcových slov, musí být schválena moderátorem nebo administrátorem diskusního fóra. Ten má možnost slovo schválit, ignorovat nebo smazat.

• Editovat klíˇcováslova m ˚užepouze moderátor nebo administrátor. Pokud je slovo zmˇenˇeno,není ho již tˇrebaschvalovat.

• Moderátor nebo administrátor má možnost tˇríditslova do skupin a také pˇridávat nové skupiny. Skupina obsahuje kromˇenázvu i popis. Klíˇcováslova je možno libo- volnˇepˇresouvatz jedné skupiny do druhé.

• Pokud je slovo zaˇrazenodo skupiny, je takto zobrazeno i ve formuláˇri,který slouží k pˇridánínového pˇríspˇevku.Klíˇcováslova jsou pˇrehlednˇezobrazena v tabulce.

• Podporu anotace pˇríspˇevk˚ulze libovolnˇezapínat a vypínat, informace vložené do databáze se však po vypnutí nesmažou.

• Do fóra pˇribudemožnost vyhledávat pouze v klíˇcovýchslovech. Zda bude pˇríspˇe- vek podle klíˇcovéhoslova nalezen záleží na tom, zda je klíˇcovéslovo schváleno moderátorem ˇciadministrátorem.

21 6. PODPORA ANOTACE (TAGOVÁNÍ) PRÍSPˇ EVKˇ UPRODISKUSNÍFÓRUM˚

6.2 Realizace

Pro realizaci požadavk ˚ubylo d ˚uležitéporozumˇetzdrojovému kódu a systému, jakým fó- rum funguje. Celé diskusní fórum je napsáno v objektovém PHP, a témˇeˇrvšechny HTML skripty jsou uloženy pˇrímov databázi. Z ní se naˇcítajíaž pˇrikomponování výsledné stránky. Jelikož je diskusní fórum vydáváno pod GNU/GPL, nic nebránilo v modifikaci stá- vajících zdrojových kód ˚u.Bylo nutné upravit soubory zajišt’ující zobrazení formuláˇre pro vložení nového pˇríspˇevku,soubory zajišt’ující vyhledávání v databázi, soubor pre- zentující kontrolní panel moderátora a soubor post.php, realizující vkládání dat do da- tabáze. Dále bylo nutné vytvoˇrit nový soubor, který bude realizovat zapnutí a vypnutí tagovacího systému.

6.2.1 Soubory editpost.php, newreply.php, newthread.php

Tyto tˇrisoubory zajišt’ují zobrazení formuláˇrepro vkládání nového pˇríspˇevku.Soubory newthread.php a newreply.php slouží k vložení nového tématu nebo pˇríspˇevku.Po- mocí souboru editpost.php je realizována editace vložených pˇríspˇevk˚u. Modifikace jednotlivých soubor ˚ubyla v mnohém velmi podobná. V první ˇradˇebylo nutné zmˇenitpole pˇredávanéskriptu post.php. Zmˇenaspoˇcívalav prostém pˇridání nové promˇennédo stávajícího pole. Dalším krokem bylo vytvoˇrenítabulky zobrazující dostupné (schválené) tagy. Celý kód tabulky jsem uložil do promˇenné $tags_listing. Kromˇeprostého zobrazení formuláˇrepro vložení pˇríspˇevkubylo nutné vyˇrešiti systém náhledu pˇríspˇevkupˇredvložením. Pˇritomto kroku se totiž tagy vložily do pˇríspˇevku dvakrát. Tento problém byl odstranˇenvložením podmínky, která zaruˇcuje,že tagy se budou naˇcítatpouze z formuláˇre.

Obrázek 6.1: Tabulka pro výbˇerdostupných klíˇcovýchslov

6.2.2 Soubor functions_search.php

Nároky na modifikaci souboru functions_search.php byly menší, než v pˇrípadˇe pˇredchozíchsoubor ˚u.Bylo nutné pˇridatfunkci, která bude vyhledávat pouze tagy. Tato funkce musela navíc respektovat moderátorské rozhodnutí, zda bude dané tagy možné vyhledat. Dále musela být modifikována funkce vyhledávající v celém pˇríspˇevkutak, aby vyhledávala i tagy.

22 6. PODPORA ANOTACE (TAGOVÁNÍ) PRÍSPˇ EVKˇ UPRODISKUSNÍFÓRUM˚

6.2.3 Soubor modcp.php

Pomocí souboru modcp.php by mˇelmít moderátor možnost manipulovat s vloženými tagy. Do systému bylo nutné pˇridatfunkce, které by ˇrešilytuto funkcionalitu. Jelikož se jednalo o schvalování tag ˚u,byla tato funkce zaˇrazenamezi stávající schvalování pˇrí- spˇevk˚u,témat a pˇríloh.Do promˇenné $tags se ukládá tabulka se všemi tagy vˇcetnˇe informace o jejich schválení a kategorii. Kromˇeprezentaˇcníformy bylo nutné vytvoˇritfunkce manipulující s danými tagy. Podle systému manipulace s pˇríspˇevky, tématy a pˇrílohamibyla vytvoˇrenafunkce, která je schopná stejným zp ˚usobemmanipulovat i s tagy. D ˚uležitépˇritombylo, aby byl systém co nejvíce podobný dosavadnímu systému schvalování.

Obrázek 6.2: Formuláˇrsloužící k moderování klíˇcovýchslov

Poslední modifikace souboru modcp.php spoˇcívalave vytvoˇrenífunkcí pro mani- pulaci s kategoriemi tag ˚u.Tato sekce s názvem „Kategorie“ (anglicky „Category“) byla zaˇclenˇenado menu v kontrolním panelu moderátora. Funkce pro prezentaci kategorií naˇcítádostupné kategorie z databáze a vkládá je do tabulky. Tato tabulka je následnˇe uložena do promˇenné $categories. Funkce pro práci s kategoriemi je velmi podobná funkci pro práci s tagy. Rozdíl je v tom, že obsahuje ˇrádekstarající se o pˇridánínové kategorie.

23 6. PODPORA ANOTACE (TAGOVÁNÍ) PRÍSPˇ EVKˇ UPRODISKUSNÍFÓRUM˚

Obrázek 6.3: Formuláˇrpro editaci kategorií klíˇcovýchslov

6.2.4 Soubor post.php Soubor post.php, jak již název napovídá, slouží k vkládání dat do databáze. Je v nˇem postupnˇepopsáno jaké akce se provedou po odeslání nového tématu, pˇríspˇevku,ˇcijeho editaci. Každá sekce obsahuje pole, do kterého se ukládají hodnoty ze vstupu. V souboru bylo nutné aktualizovat vstupní a výstupní pole, aby do nich mohla být uložena i informace o tagu. Kromˇetoho bylo nutné pˇridatfunkci, která vstupní ˇretˇezeczadaných nových tag ˚u dokáže rozdˇelitna jednotlivé tagy. Pro oddˇelenítag ˚ubyla v tomto pˇrípadˇepoužita ˇcárka. Rozdˇeleníˇretˇezcetag ˚una jednotlivé tagy bylo realizováno pomocí funkce explode() následovnˇe:

$list = explode(",", $tag_list); while(list($key, $val) = each($list)) { $val = strtolower($val); $val = ltrim($val); if($val != "") { $query8 = $db->query("SELECT tag_name FROM ".TABLE_PREFIX."tags WHERE tag_name = ’$val’"); if($db->num_rows($query8) == "0") { $db->write_query("INSERT INTO ".TABLE_PREFIX."tags (tag_name,is_enabled) VALUES (’$val’,’1’)") or exit ("Cannot insert tag into DB " . mysql_error()); } } }

24 6. PODPORA ANOTACE (TAGOVÁNÍ) PRÍSPˇ EVKˇ UPRODISKUSNÍFÓRUM˚

6.2.5 Soubor tagovaci_system.php Soubor tagovaci_system.php slouží k aktivaci a deaktivaci tagovacího systému. Tato funkcionalita je realizována pomocí tˇechtotˇrífunkcí. tagovaci_system_info() Funkce má za úkol podat základní informace o pluginu. Výstupem je pole obsahující jméno pluginu, jeho popis, webovou stránku projektu, jméno autora, webovou stránku autora a verzi pluginu. Tyto informace jsou zobrazeny v kontrolním panelu administrá- tora pod položkou „Plugins“. tagovaci_system_activate() Pokud chce administrátor aktivovat plugin, spustí se tato funkce. Po spuštˇenívytvoˇrí v databázi tabulky, do kterých se ukládají tagy. Dále vytvoˇríˇctyˇrinové záznamy v ta- bulce templates. Tyto záznamy obsahují HTML skripty, pomocí kterých je realizováno tˇrídˇenítag ˚udo kategorií, aktivace tag ˚ua editace pˇríspˇevk˚u.Ke správnému zobrazení všech potˇrebnýchformuláˇr˚uzmˇenípomocí funkce find_replace_templatesets() další HTML skripty v tabulce templates. tagovaci_system_deactivate() Funkce tagovaci_system_deactivate() smaže z tabulky templates záznamy, které byly vytvoˇrenypˇriaktivaci pluginu. Pomocí funkce find_replace_templatesets() pak zmˇenímodifikované záznamy v tabulce tak, aby byly stejné jako pˇredaktivací plu- ginu.

6.2.6 Soubory showthread.php, search.php Do soubor ˚u showthread.php a search.php bylo nutné naˇcístlokalizaci pro plugin. Lokalizace se naˇcítápomocí funkce $lang->load(). Toto bylo potˇrebaudˇelati u ostat- ních soubor ˚u.

6.3 Závˇer

Modifikované soubory a novˇevytvoˇrenýsoubor tagovaci_system.php byly zaba- leny spoleˇcnˇes kopií GNU/GPL licence a krátkým popisem instalace v angliˇctinˇea ˇceš- tinˇedo souboru tagovaci_system.zip. Plugin verze 0.9 splˇnujevšechny pˇredemza- dané požadavky a je dobˇrezaˇclenˇendo systému. Pˇritestování nebyly zjištˇenyžádné chyby ˇcinedostatky, které by snižovaly komfort pˇripráci s diskusním fórem nebo zne- možˇnovalyjeho použití.

25 Kapitola 7 Uživatelský manuál k diskusnímu fóru

Jelikož se pˇredpokládalo,že nové diskusní fórum bude používáno i uživateli, kteˇrído- posud nemˇelis diskusními fóry žádné zkušenosti, bylo potˇrebak diskusnímu fóru na- psat ˇceskýmanuál. Manuál mˇelobsahovat popis všech d ˚uležitýchfunkcí. Jelikož sepsání všech funkcí manuálu by vyžadovalo podrobnou analýzu, bylo rozhodnuto, že se ˇceský manuál vytvoˇrípˇreklademp ˚uvodníhoanglického manuálu dostupného na webových stránkách projektu. Tento pˇrístuppˇrinášíˇraduvýhod. Pˇritomto pˇrístupumáme jistotu, že neopomeneme žádnou d ˚uležitoufunkci a že funkce jsou prezentovány tak, jak bylo p ˚uvodnˇezamýšleno. Manuál byl sepsán v programu Winefish, což je LaTeXový editor distribuován pod li- cencí GNU/GPL. Byla použita šablona s názvem „article“. V první ˇradˇebylo d ˚uležitépo- psat hlavní stranu, protože s tou pˇrijdouuživatelé do styku nejˇcastˇeji.Tím máme na mysli popsání systému znaˇcenídiskusních fór, oznaˇcenípˇreˇctenýchfór a fór modifikovaných od poslední návštˇevyuživatele. V další ˇcástibylo srozumitelnˇepopsáno, jak funguje do- movská stránka „Portál“. Manuál poté popisuje zobrazení jednotlivých diskusních fór, témat a pˇríspˇevk˚u,vˇcetnˇejejich dalšího vkládání. Pátá kapitola, která pojednává o zasílání pˇríspˇevk˚ua odpovˇedí,musela být kv ˚ulipˇri- dání podpory tagování pozmˇenˇena.Bylo tˇrebavysvˇetlit,jak mohou být tagy používány a k ˇcemuv ˚ubecslouží. Jelikož se pˇridánítagovacího systému dotklo i vyhledávání, byla tato funkce zmínˇenai v šesté kapitole „Vyhledávání“. Další kapitoly se spíše než diskusi vˇenujísprávˇeúˇctu.Je v nich vysvˇetleno:

• jak správnˇepoužívat kontrolní panel uživatele,

• jak zasílat ostatním uživatel ˚umsoukromé zprávy,

• jak správnˇepoužívat kalendáˇra zadávat nové události.

Poslední kapitolou manuálu je kapitola pojednávající o statistikách diskusního fóra. Pro snazší prezentaci na webových stránkách byl manuál dále pˇrevedendo formátu HTML. Pro pˇrevodbyl použit nástroj TeX4ht. Pomocí pˇríkazu: $ htlatex cesky_manual.tex ’’ byla vytvoˇrenaz výsledného zdrojového souboru kopie manuálu ve formátu HTML.

26 Kapitola 8 Ceskᡠlokalizace diskusního fóra

Oficiální ˇceštinapro diskusní fórum je k dispozici na stránkách diskusního fóra MyBB. Bohužel po nainstalování a delším používání bylo zjištˇeno,že obsahuje spoustu chyb ˇci špatnˇepˇreloženýchnázv ˚u.Nˇekterévˇetydokonce nebyly pˇreloženyv ˚ubec.

8.1 Modifikace stávající lokalizace

Zdrojové kódy obsahující lokalizované ˇretˇezcejsou obyˇcejnéphp skripty, které pˇriˇrazují promˇennýmhodnoty. Tyto skripty jsou pak nahrány do pˇríslušnýchzdrojových soubor ˚u. Postupnˇebyly otevˇrenyvšechny zdrojové soubory a opraveny všechny pˇreklepynebo špatnˇenapsaná slova. Poté byly soubory postupnˇeprocházeny a pˇrekladbyl opravován. Po dokonˇcenírevize bylo modifikováno celkem 131 ˇretˇezc˚u. Další práce spoˇcívalav kontrole obrázk ˚u.V pr ˚ubˇehutestování ˇceštinybyly nalezeny tˇriobrázky vyžadující opravu. V obrázcích bylo místo slova „Odpovˇedˇet“pouze „Opo- vˇedˇet“.Pˇrieditaci byl kladen velký d ˚urazna zachování velikosti obrázk ˚u,aby nedošlo k porušení rozložení stránky. Po dokonˇceníúprav byla do zdrojových soubor ˚upˇripsánakrátká informaci o tom, kdy a kým byly soubory zmˇenˇeny.

8.2 Tvorba lokalizace pro tagovací systém

Lokalizace k tagovacímu systému byla sepsána stejným stylem jako lokalizace fóra. Do- hromady bylo pro tagovací systém použito 16 textových ˇretˇezc˚u.Z poˇcátkubyly nové ˇretˇezcepˇripisoványpˇrímodo oficiální ˇceštiny, pozdˇejibyly texty pˇresunutydo samostat- ného souboru. Kromˇeˇceskélokalizace byla pro snazší rozšíˇrenívytvoˇrenai lokalizace anglická. Obˇelokalizace byly poté vloženy do pˇríslušnýchsložek spoleˇcnˇes tagovacím systémem.

27 Kapitola 9 Implementace a testování

Po dokonˇcenívšech úprav bylo diskusní fórum nainstalováno na webový server. Jako uložištˇebylo týmem podílejícím se na implementaci využito služeb Masarykovy univer- zity. Po dokonˇceníinstalace portálu, aplikování ˇceštinya aktivaci pluginu pro tagování pˇríspˇevk˚ubyl portál zpˇrístupnˇenna webové adrese http://ontosearch.ics.muni. cz/feed. Po zveˇrejnˇeníportálu byl vybranému okruhu osob zaslán email žádající o spo- lupráci pˇritestování. Na portálu byl také vystaven kompletní ˇceskýuživatelský manuál diskusního fóra. Další testování portálu (zejména funkcí spojených s instalací a používáním pluginu) bylo provedeno lokálnˇena mém osobním poˇcítaˇci.Pˇritestování bylo vytvoˇrenonˇeko- lik uživatelských úˇct˚us r ˚uznýmiprávy. Byly simulovány r ˚uznésituace (špatnˇezadané vstupy, pokusy o smazání databáze atd.), které by mohly odhalit pˇrípadnéproblémy. V pr ˚ubˇehutohoto testování nebyly nalezeny žádné závažné chyby, chyby nalezené v roz- šíˇrenípro tagování pˇríspˇevk˚ubyly opraveny. Pro jednodušší instalaci diskusního fóra FEED bylo do stávajícího instalátoru pˇridáno rozšíˇrenípro tagování pˇríspˇevk˚ua modifikovaná ˇceština.Dále byl do složky docs pˇridán ˇceskýuživatelský manuál jak ve formátu HTML, tak i ve formátu PDF. Jako výchozí jazyk pro diskusní fórum byla zvolena ˇceština.

28 Kapitola 10 Závˇer

Mým úkolem bylo vybrat diskusní fórum vhodné pro projekt FEED, analyzovat ho, lokalizovat ho do ˇceštiny, vytvoˇritk nˇemuˇceskýmanuál a vytvoˇritsystém pro tago- vání pˇríspˇevk˚u.Vˇeˇrím,že se mi podaˇrilotento úkol splnit. D ˚ukazemtoho m ˚užebýt fakt, že diskusní fórum už je využíváno pro ˇceskoumutaci projektu FEED na stránce http://ontosearch.ics.muni.cz/feed, jak dokládá obrázek 10.1. Díky vytvoˇrenémurozšíˇrenípro tagování pˇríspˇevk˚uje fórum schopno velmi chytrého tˇrídˇenípodle klíˇcovýchslov a usnadˇnujetak orientaci a v neposlední ˇradˇei vyhledávání pˇríspˇevk˚u. K diskusnímu fóru byl vytvoˇrenvelmi podrobný ˇceskýmanuál popisující všechny funkce, s kterými m ˚užepˇrijítuživatel do styku. Vˇeˇrím,že jsem tím usnadnil používání fóra bˇežnýmuživatel ˚um,kteˇrínemají potˇrebnétechnické znalosti a používání fóra by jim mohlo ˇcinitproblémy. Stávající ˇceskoulokalizaci, která se nacházela na domovských stránkách fóra MyBB, jsem modifikoval a opravil. Myslím, že tím lokalizace pˇrineseˇceskýmuživatel ˚umještˇe vˇetšípohodlí pˇripráci s fórem. Vˇeˇrím,že ˇcástpráce, kterou jsem vytvoˇrilna projektu FEED, bude dobˇresloužit bu- doucím uživatel ˚umportálu. Na projektu bych se chtˇeldále podílet vývojem rozšíˇrenípro tagování pˇríspˇevk˚u,pˇrípadnˇedalší modifikací diskusního fóra.

29 10. ZÁVERˇ

Obrázek 10.1: Diskusní fórum MyBB pro projekt FEED

30 Seznam obrázk ˚u

4.1 Záložkové menu diskusního fóra SMF 10 4.2 Tématický náhled na fórum 10 4.3 Lineární náhled na fórum 11 5.1 Diagram pˇrípaduužití – nepˇrihlášenýuživatel 17 5.2 Diagram pˇrípaduužití – pˇrihlášenýuživatel 17 5.3 Diagram pˇrípaduužití – moderátor 18 5.4 Diagram pˇrípaduužití – administrátor 19 5.5 Entitnˇerelaˇcnídiagram 20 6.1 Tabulka pro výbˇerdostupných klíˇcovýchslov 22 6.2 Formuláˇrsloužící k moderování klíˇcovýchslov 23 6.3 Formuláˇrpro editaci kategorií klíˇcovýchslov 24 10.1 Diskusní fórum MyBB pro projekt FEED 30

31 Dodatek A Odkazy na citovaný software

Winefish< http://www.nl.abisource.com/developers/sdk/index.phtml> tex4ht< http://www.adobe.com/devnet/pdf/library/>

Visual Paradigm for UML< http://www.visual-paradigm.com/>

CASE Studio< http://www.casestudio.com/>

32 Dodatek B Obsah pˇriloženéhoCD:

Souˇcástípráce je CD-ROM s následujícím obsahem:

• Modifikované zdrojové kódy diskusního fóra MyBB pro projekt FEED

• Zdrojové kódy rozšíˇrenípro tagování pˇríspˇevk˚u

• Zdrojové kódy textu práce pro LATEX • Ceskýˇ manuál pro diskusní fórum FEED

• Ceskᡠlokalizace pro fórum

33 Literatura

[1]H REB͡ CEKˇ J. a PETERS R. FEED – End-User Characteristics and System Actors, 18. 1. 2009. [citováno 29. 3. 2009]. Dostupné z: .

[2] Webové stránky projektu FEED, (25. 3. 2009). .

[3] Webová stránka OpenSourceCMS, (3. 4. 2009). .

[4] Free Software Foundation. GNU General Public License [online]. Free Software Foun- dation, 2007, datum poslední revize 18. 1. 2009 10:43:43. [citováno 13. 4. 2009]. Do- stupné z: .

[5] MyBB Group. MyBB Documentation [online]. MyBB Group, 2009, datum poslední revize 29. 12. 2008. [citováno 5. 4. 2009]. Dostupné z: .

[6] LACKO Luboslav. PHP a MYSQL – Hotová ˇrešení. 1. vydání. CP Books, 2005. ISBN 80-251-1249-7.

[7] Pˇrispˇevatelé Wikipedie. GNU General Public License [online]. Wikipedie: Ote- vˇrenáencyklopedie, 2009, datum poslední revize 6. 4. 2009, 22:41 UTC. [citováno 13. 4. 2009]. Dostupné z: .

[8] PˇrispˇevateléWikipedie. Unified Modeling Language [online]. Wikipedie: Otevˇrenáen- cyklopedie, 2009, datum poslední revize 6. 4. 2009, 4:28 UTC. [citováno 17. 4. 2009]. Dostupné z: .

[9] PˇrispˇevateléWikipedie. Use cases [online]. Wikipedie: Otevˇrenáencyklopedie, 2009, datum poslední revize 8. 4. 2009, 14:19 UTC. [citováno 11. 4. 2009]. Dostupné z: .

[10] PˇrispˇevateléWikipedie. Use case diagram [online]. Wikipedie: Otevˇrenáencyklope- die, 2009, datum poslední revize 8. 4. 2009, 7:24 UTC. [citováno 14. 4. 2009]. Do- stupné z: .

[11] Webová stránka projektu MyBB, (5. 4. 2009). .

34 B.OBSAHPRILOŽENÉHOˇ CD:

[12] Webová stránka projektu Phorum, (5. 4. 2009). .

[13] Webová stránka projektu phpBB, (5. 4. 2009). .

[14] Webová stránka projektu PunBB, (5. 4. 2009). .

[15] Webová stránka projektu SMF, (5. 4. 2009). .

35