VYSOKÁ ŠKOLA BÁŇSKÁ - TECHNICKÁ UNIVERZITA OSTRAVA
INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY Informační systém KOREP Univerzální komunikační portál (semestrální projekt)
Kohut Lukáš, koh131 Lukačko Tomáš, luk192 Kraus Tomáš, kra692 Lukeš Michal, luk156
1 Zjednodušené zadání 1.1 IS Komunikační a redakční portál Se vzrůstající poptávkou po jednoduchých informačních systémech, které požadují ve většině případů naprosto stejné požadavky, jsme se rozhodli vytvořit IS, který by univerzálně řešil tuto problematiku. Místo neustálého vývoje jednoduchých redakčních a komunikačních systémů jsme se rozhodli vytvořit univerzální informační systém, ve kterém by bylo možné spojit nejběžnější požadavky a požadované funkce na tyto systémy. Většina požadovaných funkcí, které byli doposud našimi zákazníky požadovány, se dá shrnou do tří kategorii: 1. zveřejňování informací doplněnými o vhodné přílohy a možnost široké veřejnosti se k těmto informacím vyjádřit 2. veřejná komunikace uživatelů prostřednictvím tzv. fór 3. soukromá komunikace mezi jednotlivými uživateli, či skupinami uživatelů Každá z těchto tří základních kategorií se dá jednoduše samostatně implementovat a vytvořit tak samostatný systém, který je ovšem neuniverzální a úzce směřován jediným směrem. Cílem nového projektu je spojit tyto tři kategorie do jediného univerzálního informačního systému. Předpokladem úspěšného využití tohoto systému je schopnost být univerzálně využit na různá zadání budoucích zákazníků. Z toho vyplívá, že náš budoucí informační systém bude moct být opakovaně nasazen a využit pro různá konkrétní řešení. V budoucnu tedy bude nabídnuto potencionálnímu zákazníkovi toto univerzální řešení a jedinou individualitou každého takového řešení bude vzhled informačního systému. Jelikož v drtivé většině případů mají být tyto systémy přístupné široké veřejnosti, musí se jednat o informační systém dostupný ze sítě internet, proto bude informační systém vyvíjen jako webový informační systém a jeho konkrétní nasazení bude realizováno vždy z veřejně dostupného serveru připojeného k síti internet. Budoucí informační systém lze tedy popsat jako univerzálně nasaditelný portál. V každém takovémto portálu má zákazník, respektive správce takovýchto jednotlivých systémů, možnost jednoduše vytvářet, editovat a přidávat obsah, který se bude zobrazovat strukturovaně. Samotní uživatelé tohoto systému pak budou moct v tomto portálu komunikovat prostřednictvím fór, diskuzí k obsahu a soukromých diskuzí mezi dalšími uživateli. Informační systém bude zákazníkovi nabízet ještě další funkce, které se sice přímo netýkají výše popsaných kategorii požadavků, ale jejich zaimplementováním do systému budeme moct nabídnout zákazníkům něco navíc. Těmito funkcemi budou například možnost vytváření a spravování anketa, vytváření a spravování podrobných profilů uživatelů využívající konkrétní nasazené řešení, přidávání a přehled jednoduchých aktualit, personalizace nastavení systému pro jednotlivé uživatele a globální nastavení systému, ve kterém si může uživatel, respektive správce konkrétního nasazení systému vybrat například vzhled systému nebo povolit či odepřít možnost používání funkcí systému jednotlivým skupinám uživatelů. Z výše uvedených požadavků také vyplívá, že konkrétní nasazení systému bude využívat široké spektrum uživatelů, z toho vyplívá tedy nutnost spravování jednotlivých uživatel. Navíc jednotlivý uživatelé budou moct zastávat různé role a budou moct být děleni do skupin. Rovněž budou řešena práva k využívání jednotlivých funkcí systému. Jelikož se má jednat o webový informační systém, je nutné řešit i možnost prohlížení si obsahu či přidávání příspěvku do diskuzí a fór neregistrovaným uživatelům.
2 Zadání 2.1 Funkční požadavky PROČ nový IS Se vzrůstající poptávkou po jednoduchých informačních systémech, které požadují ve většině případů naprosto stejné požadavky, jsme se rozhodli vytvořit IS, který by univerzálně řešil tuto problematiku. Místo neustálého vývoje jednoduchých redakčních a komunikačních systémů jsme se rozhodli vytvořit univerzální informační systém, ve kterém by bylo možné spojit nejběžnější požadavky a požadované funkce na tyto systémy.
K ČEMU má IS sloužit 1. 2. 3. 4. 5. 6.
Vystavování nového obsahu na síti internet Zpřístupnění konkrétního obsahu širokému spektru Veřejná komunikace mezi registrovanými uživateli v systému Soukromá komunikace uživatelů v systému Jednoduchá možnost vytváření obsahu pro veškeré uživatele v systému Shromažďování nezávislých informací
KDO s IS bude pracovat Administrátor – správce informačního systému, který provádí údržbu systému, uživatelských účtů a číselníků. Administrátor je supervizorem, jenž má zpřístupněny veškeré funkce v systému a tyto funkce může využívat nebo spravovat. Editor – správce veřejných debat a editor vystavovaného obsahu. Tzn., že editory jsou uživatelé, kteří mohou sepisovat nový obsah (články), tento obsah editovat a následně zveřejňovat velkému množství uživatelů. Zároveň jsou editoři správci veřejných diskuzí (fór), ve kterých mohou provádět editaci nevhodných příspěvků, zároveň mohou přispívat do diskuzí. Registrovaný uživatel – cílový uživatel systému, jenž využívá veškerých dostupných možností systému. Registrovaný uživatel může přispívat do veřejných diskuzí, reagovat na zveřejněný obsah, komunikovat s ostatními registrovanými uživateli systému, spravovat svůj soukromý profil a přispívat vlastním obsahem pomocí blogu. Neregistrovaný uživatel – může pročítat veřejný obsah IS a přispívat do diskuzí k tomuto obsahu.
VSTUPY do systému 1. Uživatel Uživatel je evidován pod svým pseudonymem a ten musí být jedinečný. Při registrace je uživatel povinen zadat svůj email, na který budou posílány dodatečné informace z IS. Zároveň bude tento mail moc, být použit pro zaslání nového hesla, pokud bude uživatelem zapomenuto. Další informace, které budou v rámci uživatele vstupovat do systému, budou křestní jméno a příjmení uživatele, a následně heslo k registrovanému účtu. 2. Článek Článek v systému uchovává obsah v textové podobě. Dále se k jednotlivým článkům uvádí krátký úvod do článku označený jako pretext či anotace a název článku. Systém rovněž bude uchovávat datum přidání článku a datum poslední úpravy článku. Text článku bude možné sepisovat v sofistikovaném editoru, samotný text bude zformátovaný ukládán v html formátu. Je požadováno, aby tento editor měl několik základních funkcí pro editaci textu, viz. funkce. 3. Přílohy článků K článkům mohou být přidány souborové přílohy. Vstupem bude soubor, který se uloží do systému, k tomuto souboru bude specifikován jeho název a popis tohoto souboru. Zároveň bude systém uchovávat velikost souboru a typ souboru. 4. Diskuze U článku může být vedena diskuze, v praxi jde tedy o uživatelské příspěvky ke článku, které musí obsahovat text příspěvku a datum vložení. Pokud bude do diskuze přispívat neregistrovaný uživatel systému, pak je nutné od takovéhoto uživatele v systému uchovat jeho pseudonym a emailovou adresu. Pokud k diskuzi bude přispívat registrovaný uživatel, pak se ke článku standardně vyplní příznak, dle kterého lze uživatele systému identifikovat. 5. Anketa Systém anket slouží k možnosti vyjádření uživatele k jednoduché otázce. Vstupem bude otázka a k ní definovaný seznam odpovědi. U odpovědí je nutné uchovávat počet zvolení této odpovědí v rámci jedné otázky. U otázky je vhodné uchovávat datum vytvoření ankety. 6. Kategorie článků Články budou zobrazovány v přehledných kategoriích. U kategorií bude v systému nutné udržovat jejich jméno a podrobný popis. 7. Chat – realtime komunikace
V systému bude možné využívat realtimové komunikace. K tomu bude nutné, aby systém mohl udržovat data potřebná k uskutečnění této komunikace. Vstupem budou data nutná k definici jednotlivých chatovacích místností a pak samotné příspěvky uživatelů. U chatovací místnosti se bude specifikovat jméno a popis. U jednotlivých příspěvků bude nutné udržovat text příspěvku a datum vložení. Rovněž je nutné udržovat datum vstupu do chatovací místnosti. 8. Fórum a příspěvky Veřejná komunikace bude fungovat systémem fór. Jednotlivé fóra musí byt specifikována svými názvy a popisy. Příspěvky registrovaných uživatelů do těchto fór budou obsahovat texty a data přidání. 9. Uživatelský profil V rámci uživatelského účtu má každý uživatel možnost vyplnit administrátorem definované položky. Tyto položky pak budou tvořit uživatelský profil. Je nutné, aby vstupem do systému byli jmenované položky, které si pak mohou uživatelé doplnit vhodnými hodnotami. Je proto nutné udržovat název položky k vyplnění, její popis a datový typ, který má odpovídat hodnotě pro tuto položku (např. věk – číslo, místo narození – text, atd.) za účelem možného ošetření chybných vstupů. U samotných uživatelských položek je pak třeba udržovat v systému uživatelem definované hodnoty, které budou tvořit samotný profil. 10. Soukromé zprávy Vstupem bude uživatelem sepsaný text zprávy, dále pak předmět zprávy, datum odeslání a seznam příjemců. Jako seznam příjemců by měl systém udržovat řetězec uživatelů, od sebe vhodně oddělených oddělovačem. 11. Novinky V systému bude fungovat výpis systémových novinek, tyto novinky budou udržovat v systému textový obsah, pretext či anotaci, datum vložení novinky a název.
VÝSTUPY ze systému
1. Přehled článků Přehled článku jednoduše rozdělený do kategorií. V tomto přehledu se zobrazují všechny informace o článku, krom jeho obsahu a příloh. 2. Přehled fór a příspěvků Přehled seznamu fór obsahující názvy a popisy fór spolu s počtem příspěvků, které toto fórum obsahuje. Seznam příspěvků bude obsahovat jednotlivé příspěvky pro dané fórum spolu se zbylými udržovanými informacemi k příspěvkům a základními informacemi o uživateli, který příspěvek vložil.
3. Přehled diskuzí k článkům Přehled příspěvků k dané diskuzi u článku. V přehledu se zobrazuje text příspěvku a základní informace o uživateli, který příspěvek vložil. 4. Přehled uživatelů a profilů Přehled jednotlivých uživatelů, kteří jsou v systému registrováni. Zobrazuje základní informace o uživatelích a jejich účtech. Ve specifikaci uživatele bude zobrazen celý výpis uživatelského profilu a všechny veřejné informace o uživateli. 5. Přehled soukromých zpráv Výpis soukromé komunikace uživatele, v tomto výpisu se zobrazí předmět zprávy a příjemci. 6. Přehled novinek Seznam systémových novinek, který zobrazuje posledních 10 přidaných novinek. Tento přehled se zobrazuje na úvodní stránce. Zbylé elementární nedefinované výstupy vycházejí z funkcionality informačního systému, tudíž je není třeba blíže specifikovat.
2.2 Funkce IS má sloužit jako univerzální komunikační portál mezi registrovanými uživateli a zároveň jako systém pro tvorbu nového obsahu, respektive článku. Registrovaným uživatelům umožňuje vzájemnou diskuzi a to jak soukromou, tak veřejnou. IS v sobě sjednocuje tři základní funkcionality. Těmito funkcionalitami jsou:
Zveřejňování informací doplněnými o vhodné přílohy (obrázky, soubory) a možnost široké veřejnosti se k těmto informacím vyjádřit Veřejná komunikace uživatelů prostřednictvím diskuzí a realtimeové komunikace Soukromá komunikace mezi jednotlivými uživateli a správa vlastního uživatelského profilu, což je soubor informací o uživateli
Každá z těchto funkcionalit v sobě zahrnuje několik funkcí systému, které budou následně blíže specifikovány. 2.2.1
Zveřejňování informací
V IS budou zveřejňovány informace, které budou editory sepsány a pomocí sofistikovaného nástroje je budou poskytovat ke zveřejnění registrovaným i neregistrovaným uživatelům. U těchto informací je třeba uchovávat jedinečný název, krátkou anotaci a samotný obsah. Tyto informace označujme jako „články“. Text článku bude možné sepisovat v sofistikovaném editoru, samotný text bude zformátovaný ukládán v html formátu. Je
požadováno, aby tento editor měl několik základních funkcí pro editaci textu. Přikláníme se pouze k základním možnostem editace. Těmi jsou tučný text, proložený text, podtržený text, různé barvy textu, různé velikosti textu a možnost vkládat html odkazy na definované adresy. Informace, respektive články, v IS budou kategorizovány. Díky těmto kategoriím se budou moct články přehledně vyhledávat. Samotná správa těchto kategorií bude fungovat jako katalog, na který se budou odkazovat jednotlivé články. Správu tohoto katalogu bude mít na starost editor. U editace samotného článku se bude vybírat, do které kategorie má článek patřit. Ke článkům je možno přikládat přílohy, ty budou uchovávány ke každému článku zvlášť. Samotné soubory se budou ukládat na server, nikoliv do databáze. To z důvodu malého zatížení databázového serveru a možnosti přistupovat k souborům i přímím odkazem. Samotné zobrazení těchto příloh bude fungovat dle specifických požadavků. Soubory obrázkového typu (*.jpg, *.gif, *.png) budou pod článkem zobrazovány miniaturou a po kliknutí na tuto miniaturu se zobrazí ve své původní velikosti. Ostatní soubory se zobrazí pod článkem s vhodnou ikonou odpovídající typu souboru a po kliknutí se nabídnou ke stažení, respektive k zobrazení. Editace a mazání těchto příloh bude zajištěno v rámci editace konkrétního článku, ke kterému tyto přílohy náleží. Na článek může registrovaný i neregistrovaný uživatel reagovat v příslušné diskuzi. Registrovaný uživatel může po přihlášení libovolně přispívat k diskuzím článku. Neregistrovaný uživatel může rovněž reagovat v diskuzích, ale bude systémem vyzván k vyplnění svého pseudonymu a kontaktního e-mailu. Editor bude moci jednotlivé příspěvky v diskuzích editovat a mazat. Rovněž bude moci povolit, zda bude článek mít přístupnou diskuzi pouze registrovaným uživatelům, nebo i neregistrovaným uživatelům, anebo vůbec. K článku je možné přidat anketu, která se bude skládat z otázky a několika možných odpovědí. U těchto odpovědí se budou pouze přičítat hlasy. Po zvolení odpovědi na anketu je nutné zajistit, aby jak registrovaný i neregistrovaný uživatel nemohl znovu hlasovat (možnost využít cookies). Přidávání a zveřejnění ankety bude zajišťovat editor článku. Ankety se budou moct editovat v sofistikovaném nástroji, ve kterém se zadá téma ankety, na které mají uživatelé odpovědět a následně možné odpovědi (2 – n možných odpovědí). 2.2.2
Veřejná komunikace
Další z nedílných částí systému je veřejná komunikace uživatelů prostřednictvím diskuzí neboli takzvaných fór. Editor či administrátor může založit nové fórum, u kterých uvádí pouze jejich název a popis fóra, který slouží k upřesnění diskuze ve fóru. Rovněž se musí udržovat informace o tom, kdo přesně fórum založil. Registrovaný uživatel si pak ze seznamu fór zvolí, které fórum si chce pročíst, popřípadě do kterého fóra chce přispívat. Seznam fór by měl být dostupný z hlavní nabídky aplikace a měl by obsahovat u každého fóra v tomto seznamu jeho jméno, uvedený popis a informaci o tom kdo fórum založil. Pokud se rozhodne kterýkoliv registrovaný uživatel přispět do fóra, pak stačí, aby na detailu příslušného fóra, respektive diskuze vedené v tomto fóru, vyplnil jednoduchý
formulář a do něho sepsal text svého příspěvku. Text se nebude nijak formátovat. Uživateli musí být dovoleno editovat své staré příspěvky. Editor a administrátor může editovat příspěvky od kteréhokoliv uživatele. Detail fóra, respektive diskuze, bude obsahovat detailní výpis textu příspěvků. U každého takového výpisu bude zobrazeno jméno uživatele, který příspěvek přidal a datum vložení příspěvku. Tyto příspěvky se budou zobrazovat seřazené sestupně od nejnovějšího po nejstarší. Dalším prostředkem veřejné komunikace je chat (realtimeové komunikace). Obdobně jako u fór může v systému existovat několik chatů. Tyto chaty budeme nazývat „chatovací místnosti“. Editor a administrátor může zakládat nové chatovací místnosti. U každé místnosti musí být v systému uveden její název, popis a datum vzniku místnosti. Seznam těchto místností bude veřejně přístupný, nejlépe z hlavní nabídky aplikace a měl by obsahovat u každé místnosti její název, popis a datum přidání. Rovněž by měl být u místností seznam uživatelů, kteří jsou v místnosti aktuálně přítomni. Samotná realtimová diskuze bude probíhat v těchto místnostech. Pokud se uživatel rozhodně diskutovat, pak po kliknutí na vybranou místnost vstoupí do diskuze. Systém si bude držet datum a čas vstupu do diskuze. Na detailu chatovací místnosti uživatel uvidí posledních 50 přispěných příspěvků. Starší příspěvky se nebudou udržovat v systému – budou ze systému mazány. U každého vloženého příspěvku bude uveden datum a čas vložení příspěvku, pseudonym uživatele, který příspěvek vložil a samotný text příspěvku. Rovněž na tomto detailu bude i výpis uživatelů, kteří jsou aktuálně v místnosti. Tento detail by se měl sám aktualizovat v krátkých časových intervalech. Pokud je uživatel neaktivní po dobu 20 minut, nebo se rozhodne z místnosti odejít kliknutím (pouze kliknutím) na tlačítko „odejít“, pak se ze systému odstraní informace o vstupu uživatele do chatovací místnosti. Příspěvky se v diskuzích chatu zobrazují seřazeny sestupně od nejnovějšího po nejstarší. Samozřejmostí je možnost chatovat ve více místnostech najednou. Do diskuzí vedených na chatu může uživatel přidávat své příspěvky po vyplnění jednoduchého formuláře, ve kterém vyplní text příspěvku. Bude se jednat o neformátovaný text, který se pak zobrazí v diskuzi, jak už byla řečeno výše, s časem a datem přidání příspěvku a jménem uživatele, který příspěvek přidal. Editor a administrátor má možnost editovat veškeré příspěvky ve veřejných diskuzích patřících k fóru. V rámci diskuzí probíhajících na chatu můžou pouze uživatele násilně odhlásit z chatu (vyhodí uživatele z místnosti, ten by pak měl mít na určitou dobu zákaz přístupu do této místnosti). 2.2.3 Soukromá komunikace Každý uživatel systému má možnost posílat soukromé zprávy jiným uživatelům, prohlížet si své přijaté zprávy a odeslané zprávy. Z hlavní části aplikace, nejlépe z nabídky menu aplikace, se může uživatel přesunout na přehled svých doručených zpráv. U tohoto přehledu se budou nalézat funkce zpráv: nová zpráva, doručené zprávy a odeslané zprávy. Pokud uživatel má některé zprávy
nepřečtené, pak se v místě, odkud má uživatel přístup k přehledu doručené pošty zobrazí v počet nepřečtených zpráv (Např. „Zprávy (5)“). Na přehledu doručených zpráv uživatel uvidí seznam doručených zpráv, adresovaných uživateli. Zároveň bude rozlišeno, zda byla zpráva uživatelem už přečtena anebo nepřečtena. v seznamu bude uveden datum přijetí zprávy, uživatel, který zprávu poslal a předmět zprávy. Přehled Odeslaných zpráv bude obsahovat pouze zprávy, které uživatel sám odeslal. Pokud byla zpráva adresována více uživatelům, pak uvidí pouze tuto zprávu v přehledu pouze jednou. Pro odeslání zprávy musí uživatel vyplnit formulář, ve kterém uvede předmět zprávy, seznam příjemců (1 – n) oddělených středníky a samotný text zprávy. Text zprávy bude neformátovaný. Seznam uživatelů, kterým je zpráva adresována, bude obsahovat pseudonymy konkrétních uživatelů systému. Na detailu zprávy (doručené i odeslané) uvidí uživatel pseudonym odesilatele zprávy, seznam příjemců, předmět zprávy a samotný text zprávy. Pokud byla zpráva doposud uživatelem nepřečtená, pak se do systému musí zapsat příznak, že tato zpráva již přečtená byla a tudíž se v přehledu zpráv nebude zobrazovat výrazně.
2.2.4 Uživatelské a administrátorské funkce V rámci systému se při registraci uživateli založí jeho vlastní profil. Ten může spravovat a editovat. Po registraci obsahuje detail profilu pouze základní povinné informace, uvedené při registraci. Při editaci svého profilu jsou uživateli nabídnuty položky, ke kterým může vyplnit hodnoty dle svého názoru. Říkejme těmto položkám „profilové informace“. Tyto informace jsou definovány v systému administrátorem. Nad přehledem uživatelů si pak může každý registrovaný uživatel vybrat jiného uživatele a zobrazit si jeho profil kliknutím na jméno uživatele. Registrovaní uživatelé systému mohou přispívat vlastními články do systému. Ty se ovšem nezobrazují veřejně v přehledu kategorií či článků, ale pouze soukromě přes uživatelský profil. Tento profil je dostupný pouze registrovaným uživatelům, takže si blog mohou rovněž pročítat pouze registrovaní uživatelé. Pokud se uživatel rozhodne založit si blog, pak tak učiní na svém vlastním profilu, kde kliknutím na konkrétní tlačítko, dá příznak systému, aby mu byly zpřístupněny funkce pro psaní článků. Tímto se i uživateli zpřístupní možnost vystavování článku v systému. Tudíž i registrovaný uživatel bude přejímat funkcionalitu editorů k psaní článků. Ovšem uživatel nemůže zapisovat články do kategorií. Sepsaný článek se zobrazí pouze v uživatelově blogu (na přehledu článků v blogu). Tímto se stane také nepřístupným pro neregistrovanou veřejnost. Přidání nového článku do blogu a veškerá funkcionalita bude vycházet z funkcionality článků. Neregistrovaným uživatelům musí být dána možnost se do systému zapojit a získat tak funkce z toho vyplívající. Proto je neregistrovaným uživatelům umožněno se do systému registrovat. Neregistrovaný uživatel uvidí v hlavní nabídce systému možnost „Registrovat se“. Po kliknutí na tento odkaz se uživateli zobrazí registrační formulář, ve kterém vyplní svůj pseudonym, pod kterým bude v systému figurovat, své jméno a příjmení, email a své heslo pro přístup do systému. Po vyplnění a ověření těchto údajů (ověřuje se pouze, zda systém neobsahuje uživatele se stejným pseudonymem a ověření hesla proti zadanému heslu) je uživatel registrován do systému a je mu oznámeno, že se již může přihlásit. Uživatel automaticky po registraci obdrží roly – registrovaný uživatel.
Každý registrovaný uživatel se tedy může přihlásit do systému pod svým jménem a heslem. Může tak učinit z jednoduchého formuláře, do kterého pouze tyto dva údaje zapíše, pokud budou správné pak je uživatel do systému přihlášen a je mu zpřístupněna veškerá funkcionalita, vyplívající z jeho role v systému. Pochopitelně jeho přihlášení je omezené pouze na jistou dobu. Pokud je uživatel neaktivní nejméně 1 hodinu (během jedné hodiny nepřešel na žádnou jinou stránku v systému), pak je ze systému odhlášen. Druhou možností odhlášení je zažádání o odhlášení kliknutím na tlačítko „Odhlásit se“ v hlavní nabídce. Administrátor má kromě jasně daných funkcí, vyplívajících ze systému, možnost spravovat uživatele. Administrátor může z přehledu uživatelů vybrat, kterého uživatele chce editovat a tomu může následně změnit roly v systému anebo ho ze systému smazat. Rovněž může pouze administrátor připisovat novinky do systému. Tyto novinky slouží jako informace pro všechny uživatele o změnách v systému. Tyto novinky by se měli zobrazit viditelně nejlépe na hlavní stránce. Administrátor může tyto novinky přidávat a editovat. V systému jsou uživatelé rozděleni do čtyř rolí (respektive tří). Každý uživatel může zastávat pouze jedinou roly v systému. Tyto role jsou pevně definovány a měnit je jednotlivým uživatelům může pouze administrátor. Těmito rolemi jsou: Role Neregistrovaný uživatel Registrovaný uživatel Editor
Popis role Neimplementován v tabulce rolí, nejomezenější přístup Každý, kdo se zaregistroval do systému. Role s možností editovat obsah systému. Je volen pouze administrátorem. Administrátor Role s největší přístupem. 1. administrátor je vložen při vytváření systému. Další mohou být voleni administrátorem. Kromě neregistrovaného jsou tyto role implementovány v systému již při jeho vzniku a dále nejsou editovány. Administrátor by měl mít rovněž právo měnit profilové informace, které pak uživatelé mohou vyplňovat. Pro zjednodušení funkcionality systému bylo ale rozhodnuto, že tato funkce bude vypuštěna a v systému budou profilové informace definovány už při vzniku systému. Jsou jimi tyto hodnoty:
Název Telefon Pohlaví Bydliště Zaměstnání WWW ICQ Skype Facebook Info
Popis profilové informace Telefonní kontakt Pohlaví uživatele Oblíbená stránka na internetu ICQ kontakt Skype kontakt Facebook kontakt Obecné informace o uživateli
Typ Číslo Muž/Žena Text Text Text Číslo Text Text Text
Toto by měl být komplexní soupis a popis všech funkcionalit v systému, detailní popis fungování těchto funkcí bude uveden v sekci minispecifikace.
3 Datová analýza 3.1 Lineární zápis typů entit Primární klíč, cizí klíč
User(userid, firstname, lastname, login, password, email, fk_roleid) Profile (profileid, name, description) Role(roleid, name, description) Messages(messagesid, text, date_post, subjekt, fk_userId_sender, fk_userId_recipient, recipient) Chat(chatid, name, description, date_add) Chat_Post(chat_postid,text,data_add,fk_userid,fk_chatid) Forum(forumid, name, description, fk_userid) News(newsid, name, pretext, date_add, text) Blog(blogid, date_add, fk_userid, fk_arcicleid) Article(articleid, name, pretext, text, date_add, date_upd, fk_categoryid, fk_userid) Category(categoryid, name, description) File(fileid, name, description, filename, size, tabname, type, fk_articleid) Discussion(discussionid, text, date_add, login, email, fk_articleid) Survey(surveyid, question, date_add) Answer(answerid, text, fk_anketaid, value)
Vazební tabulky Profile_User(fk_userid, fk_profile, value) Chat_User(fk_userid, fk_chatid, login_time)
3.2 Lineární zápis typů vztahů OWN (User, Blog) 1:1 WRITE (User, Article) 1:N REFER (Category, Article) 1:N ASSIGN (Article, Discussion) 1:N ATTACH (Article, File) 1:N VOTE (Article, Survey) 1:N RESPONSIBLE (Survey, Answers) 1:N PUBLISHED (Blog, Article) 1:N CREATED (User, Forum) 1:N ENTER (Forum, Post) 1:N INSERT (User, Post) 1:N SEND (User, Messages) 1:N RECEIVE (User, Messages) 1:N CHAT (User, Chat_Post) 1:N CONTAINS (Chat, Chat_Post) 1:N ASSIGN_ROLE (Role, User) 1:N CHAT-CHAT_USER (Chat, Chat_User) 1:N USER-CHAT_USER (User, Chat_User) 1:N PROFILE-PROFILE_USER (Profile, Profile_User) 1:N USER-PROFILE_USER (User, Profile_User) 1:N
3.3 ER Diagram
Messages N
Profile
Role
N
1 1
Own_Profile_ N Profile
Send Assign_Role
Receive Own
Chat
1
N
Chat_User
N
1 1 1
1 Contains
1
1 Own
N
1
User 1
1 1
N
Profile_User
Own_User_Profile Insert
Post
N
Own
N
1
N
Chat_Post
Chat
Enter
Blog
N
1
Created N
1 Published N
1 Attach
Refer
Category
1
Forum
Write
N
Article 1
1
Vote N
Discussion
File
1
Assign
News
N
N Responsible
Survey
1
N
Answers
3.4 Datový model
3.5 Datový slovník User(userid, firstname, lastname, login, password, fk_roleid) Název userid firstname lastname login password fk_roleid email
Typ Integer Varchar Varchar Varchar Varchar Integer Varchar
Velikost 30 50 50 50 200
Klíč Ano Ne Ne Ne Ne Ne Ne
Null Ne Ne Ne Ne Ne Ne Ne
Index Ne Ano Ano Ano Ne Ne Ne
I/O
Popis Primární klíč
Null Ne Ne Ano Ne
Index Ne Ano Ne Ne
I/O
Popis Primární klíč
Null Ne Ne Ano
Index Ne Ano Ne
I/O
Popis Primární klíč
Cizí klíč
Profile(profile_typeid, name, description) Název profile_typeid name description type
Typ Integer Varchar Varchar Varchar
Velikost -
Klíč Ano 50 Ne 250 Ne 30 Ne
Role(roleid, name, description) Název roleid name description
Typ Integer Varchar Varchar
Velikost -
Klíč Ano 50 Ne 250 Ne
Messages(messagesid, text, date_post, subjekt, fk_userid, recipient) Název messagesid text date_post subject fk_userId_sender recipient fk_userId_recipient
Typ Integer Text DateTime Varchar Integer Varchar Integer
isRead
Boolean
Velikost 100 200 -
Klíč Ano Ne Ne Ne Ne Ne Ne
- Ne
Null Ne Ne Ne Ano Ne Ne Ne
Index Ne Ne Ano Ano Ne Ne Ne
Ne
Ne
I/O
Popis Primární klíč
Cizí klíč Seznam příjemců Cizí klíč Indikátor přečtené zprávy.
Chat(chatid, name, description, date_add) Název chatid name description date_add
Typ Integer Varchar Varchar DateTime
Velikost -
-
Klíč Ano 50 Ne 250 Ne Ne
Null Ne Ne Ano Ne
Index Ne Ano Ne Ne
I/O
Popis Primární klíč
Index Ne Ne Ano Ne Ne
I/O
Popis Primární klíč
Index Ne Ano Ne Ne
I/O
Index Ne Ano Ano
I/O
Chat_Post(chat_postid,text,data_add,fk_userid,fk_chatid) Název chat_postid text date_add fk_userid fk_chatid
Typ Integer Text DateTime Integer Integer
Velikost -
Klíč Ano Ne Ne Ne Ne
Null Ne Ne Ne Ne Ne
Cizí klíč Cizí klíč
Forum(forumid, name, description, fk_userid) Název forumid name description fk_userid
Typ Integer Varchar Varchar Integer
Velikost -
-
Klíč Ano 50 Ne 250 Ne Ne
Null Ne Ne Ano Ne
Popis Primární klíč
Cizí klíč
News(newsid, name, pretext, date_add, text) Název newsid name pretext
Typ Integer Varchar Varchar
Velikost 100 250
Klíč Ano Ne Ne
Null Ne Ne Ano
Popis Primární klíč
Blog(blogid, date_add, fk_userid, fk_arcicleid) Název blogid date_add fk_userid
Typ Integer DateTime Integer
Velikost -
Klíč Ano Ne Ne
Null Ne Ne Ne
Index Ne Ano Ne
I/O
Popis Primární klíč Cizí klíč
Article(articleid, name, pretext, text, date_add, date_upd, fk_categoryid, fk_userid) Název articleid name pretext text date_add date_upd fk_categoryid fk_userid fk_blogid
Typ Integer Varchar Varchar Text DateTime DateTime Integer Integer Integer
Velikost 100 250 -
Klíč Ano Ne Ne Ne Ne Ne Ne Ne Ne
Null Ne Ne Ne Ne Ne Ne Ne Ne Ano
Index Ne Ano Ano Ne Ano Ne Ne Ne Ne
I/O
Popis Primární klíč
Null Ne Ne Ano
Index Ne Ano Ne
I/O
Popis Primární klíč
I/O
Popis Primární klíč
Cizí klíč Cizí klíč Cizí klíč
Category(categoryid, name, description) Název categoryid name description
Typ Integer Varchar Varchar
Velikost -
Klíč Ano 50 Ne 250 Ne
File(fileid, name, description, filename, size, tabname, type, fk_articleid) Název fileid name description filename size tabname type fk_articleid
Typ Integer Varchar Varchar Varchar Integer Varchar Varchar Integer
Velikost 50 250 150 50 10 -
Klíč Ano Ne Ne Ne Ne Ne Ne Ne
Null Ne Ne Ano Ne Ne Ano Ne Ne
Index Ne Ano Ne Ne Ne Ne Ne Ne
Discussion(discussionid, text, date_add, login, email, fk_articleid)
Cizí klíč
Název discussionid text date_add login email fk_articleid
Typ Integer Text DateTime Varchar Varchar Integer
Velikost -
-
Klíč Ano Ne Ne 50 Ne 150 Ne Ne
Null Ne Ne Ne Ne Ano Ne
Index Ne Ne Ano Ano Ne Ne
I/O
Popis Primární klíč
Null Ne Ne Ne Ne
Index Ne Ne Ne Ne
I/O
Null Ne Ne Ne Ne
Index Ne Ne Ne Ne
I/O
Popis Primární klíč
Index Ne Ne Ne
I/O
Popis Primární klíč, cizí klíč Primární klíč, cizí klíč
Cizí klíč
Survey(surveyid, question, date_add) Název surveyid question date_add fk_articleid
Typ Integer Varchar DateTime Integer
Velikost 150 -
Klíč Ano Ne Ne Ne
Popis Primární klíč
Cizí klíč
Answer(answerid, text, fk_anketaid, value) Název answerid text fk_anketaid countAnswer
Typ Integer Text Integer Integer
Velikost -
Klíč Ano Ne Ne Ne
Profile_User(fk_userid, fk_profile_type, value) Název fk_userid fk_profile_type value
Typ Integer Integer Varchar
Velikost 250
Klíč Ano Ano Ano
Null Ne Ne Ne
4 Funkční analýza 4.1 Kontextový diagram Diagram znázorňuje celý systém jako jediný proces a s ním všechny související externí entity
4.2 DFD diagramy 4.2.1
Diagram nulté úrovně
4.2.2
Diagramy 1. úrovně
4.2.2.1 Fórum
Příspěvky
Správa fór
Editor
Registrovaný uživatel
4.2.2.2 Správa článků
Neregistrovaný uživatel
Editor
Diskuze
Správa článku
Anketa
Registrovaný uživatel
Správa kategorií
Administrátor
Správa souborů
4.2.2.3 Uživatelské funkce
Profily uživatelů
Zprávy
Správa Blogů
Registrace uživatele Chaty
Editor
Registrovaný uživatel
4.2.2.4 Správa systému
Správa uživatelů
Administrátor
Novinky
Neregistrovaný uživatel
4.2.3
Diagramy 2. úrovně
4.2.3.1 Správa fór
Přidat nové fórum
Smazat fórum
Forum
Editovat fórum
Editor
4.2.3.2 Příspěvky Registrovaný uživatel Nový příspěvek
User
Forum
Smazat příspěvek
Editor
Editace příspěvku
Post
Výpis příspěvků
4.2.3.3
Správa článku
Editor Nový článek
Upravit článek
Article
Smazat článek
Výpis článku Registrovaný uživatel
Neregistrovaný uživatel
4.2.3.4 Diskuze Neregistrovaný uživatel
Editace diskuze k článku
Smazat komentář v diskuzi
Vložit diskuzi k článku
Discussion
Vypsat diskuze k danému článku
Article Registrovaný uživatel
Editor
4.2.3.5 Anketa
Nová anketa
Editovat anketu
Survey
Article Editor
Smazat anketu
4.2.3.6 Správa kategorií
Nová kategorie
Editovat kategorii
Category
Smazat kategorii
Výpis kategorii
Editor
4.2.3.7 Správa souborů
Vložit soubor
File
Article
Editor
Smazat soubor
4.2.3.8 Zprávy
Seznam zpráv
Messages
Nová zpráva
User
Čtení zpráv
Smazání zprávy
Editor
Registrovaný uživatel
4.2.3.9 Profily uživatelů Úprava profilu uživatele
Profile
Výpis profilu uživatele Editor
Seznam uživatelů
User
Změna hesla
Registrovaný uživatel
4.2.3.10 Správa blogů
Vložit příspěvek na blog
Smazání blogu
Article
Blog
Vytvoření blogu
Editor
Registrovaný uživatel
4.2.3.11 Chat Registrovaný uživatel Výpis příspěvků v chatu
Smazat ch. místnost
Přidání příspěvku do chatu
Chat_Post
User
Vložit novou ch. místnost
Výpis ch. místností
Chat
Editovat ch. místnost
Editor
4.2.3.12 Registrace uživatele Neregistrovaný uživatel Profile
Registrace uživatele
User
4.2.3.13 Správa uživatelů
Výpis uživatele
Smazat uživatele
User
Profile
Administrátor
4.2.3.14 Novinky
Přidat novinku
Smazat novinku
Administrátor
Výpis novinek
Actuality
4.3 Případ užití Diagram užití zachycuje vnější pohled na modelovaný systém a tím pomáhá odhalit hranice systému. Jde o posloupnost souvisejících funkčností mezi aktérem (uživatelem v určité roli) a systémem během vzájemného dialogu. Hlavním účelem je zachycení aktérů, kteří se systémem komunikují a vztahů mezi službami a těmi, kterým jsou poskytovány. Z důvodu rozsáhlosti informačního systému je diagram případu užití přiložen k analýze zvlášť.
Diagram UseCase1.pdf zobrazuje příklad užití účastníka Editor a Administrátor a jejich vztah mezi s sebou. Diagram UseCase2.pdf zobrazuje příklad užití účastníka Registrovaný uživatel a Neregistrovaný uživatel.
5 Minispecifikace 5.1 Správa fóra 5.1.1 -
Přidat nové fórum Editor, administrátor může založit (přidat) nové téma fóra. Nad přehledem fór si může založit (přidat) nové fórum po kliknutí na tlačítko „Nové“ Po kliknutí se zobrazí formulář, ve kterém se vyplní potřebné údaje – Název a popis Po kliknutí na tlačítko „uložit“ se provedou zadané změny a vrátí zpět na přehled fór, ve kterém se projeví provedené změny.
5.1.2 -
Editovat fórum Editor, administrátor může editovat (upravovat) téma fóra. Nad přehled fór si může zvolit již založené (přidané) fórum po kliknutí na tlačítko “Editovat” Po kliknutí se zobrazí formulář, ve kterém jsou již předvyplněné původní informace (název a popis tématu fóra) a mohou být editovány. Po kliknutí na tlačítko „uložit“ se provedou zadané změny a vrátí zpět na přehled fór, ve kterém se projeví provedené změny.
-
5.1.3 -
Smazat fórum Administrátor může vymazat zvolené fórum. Nad přehledem fór si může zvolit jedno až všechny již založené (přidané) fóra. Po kliknutí na tlačítko „smazat“ se vymažou všechny zvolené fóra i se všemi daty, které na tyto fóra byli vázány. Následně se zobrazí přehled fór, ve kterém se projeví provedené změny.
5.1.4 -
Výpis (přehled) fór Uživatel jakékoliv role má přístup k výpisu (přehledu) jednotlivých fór. Jedná se o seznam všech založených (přidaných) fór, provedené editorem či administrátorem. Po kliknutí na jednotlivé téma fóra se provede přechod na obsah zvoleného fóra. Editor a administrátor mají navíc viditelné u výpisu (přehledu) fór tlačítka pro přidání nového fóra, editaci a smazaní fóra.
-
5.2 Správa příspěvků fóra 5.2.1 -
5.2.2 -
Přidat příspěvku do fóra Editor, administrátor a registrovaný uživatel mohou přidávat příspěvky do jednotlivých fór. Nad výpisem příspěvků zvoleného fóra se nachází formulář pro přidání nového příspěvku. Nad formulářem nového příspěvku zapisujeme text, který chceme vložit do výpisu (přehledu) příspěvků. Po kliknutí na tlačítko “Vložit příspěvek” se provede vložení nového příspěvku do výpisu (přehledu) příspěvků. Editovat příspěvek Editor, administrátor a registrovaný uživatel může editovat (upravovat) přidaný příspěvek na fóru.
-
5.2.3 -
5.2.4 -
Editovat příspěvek lze v případě kliknutí na tlačítko „editovat“ po volbě editovat se zobrazí formulář pro úpravu obsahu příspěvku. Tlačítko „editovat“ se bude nacházet pod příspěvkem a zobrazovat se bude pouze editorovi či administrátorovi. Smazat příspěvek Editor, administrátor může smazat příspěvek ve fóru. Je to z důvodu odstranění nepřípustných příspěvků. Smazat příspěvek lze v případě kliknutí na tlačítko „smazat“. Toto tlačítko se bude nacházet pod příspěvkem a zobrazovat se bude pouze editorovi či administrátorovi. Výpis příspěvků Editor, administrátor a registrovaný uživatel mají přístup k výpisu (přehledu) všech přidaných příspěvků. Jedná se o seznam
5.3 Správa článků 5.3.1 -
5.3.2 -
5.3.3 5.3.4 -
Nový článek Editor, administrátor má možnost přidat nový článek Editor a administrátor mohou vidět v menu tlačítko „články“. Po kliknutí na něj jsou přesměrováni na přehled článků. Nad tímto přehledem si mohou zvolit možnost přidat nový článek po kliknutí na tlačítko „Nový článek“ . Po kliknutí se zobrazí formulář, ve kterém se vyplní potřebné údaje (viz. Datový model article) a zvolí se příslušná kategorie článku pomocí rozbalovací nabídky. Po kliknutí na tlačítko „uložit“ se vytvoří nový článek a uživatel může pokračovat dále v editaci článku. Přibudou další funkcionality, které mohou být prováděny až u vytvořených článků (přidávání příloh a vytváření anket) Upravit článek Editor, administrátor má možnost upravovat příslušný článek, který si vybere Nad přehledem článků si mohou vybrat konkrétní článek a po kliknutí na tlačítko „Editovat článek“ je uživatel přesměrován na formulář pro editaci článků. Po kliknutí se zobrazí formulář, ve kterém jsou již předvyplněné původní informace (viz. Datový model - article) a ty mohou být editovány (upraveny). Po kliknutí na tlačítko „uložit“ se provedou zadané změny a vrátí se zpět na přehled článků, ve kterém se projeví provedené změny. Výpis článků v kategoriích Neregistrovaný uživatel, registrovaný uživatel, editor, administrátor má možnost si nechat vypsat články, které jsou v IS obsaženy. Všichni uživatelé systému vidí v menu přehled kategorií. Po kliknutí na zvolenou kategorii se zobrazí výpis článků z této kategorie. V tomto přehledu jsou zobrazeny názvy článku, pretext a datum poslední aktualizace článku. Po kliknutí na název článku se zobrazí celý obsah článku s přílohami, anketou a diskuzí. Výpis článků v rámci administrace Editor a administrátor má možnost si nechat vypsat články, které jsou v IS obsaženy.
5.3.5 -
Editor a administrátor mohou vidět v menu tlačítko „články“. Po kliknutí na něj jsou přesměrováni na přehled všech článků. V tomto přehledu jsou zobrazeny v přehledné tabulce informace o článcích a to název článku, datum vložení, datum poslední změny a kategorie článku. Nad články si mohou zvolit možnost editace článku a smazání článku. Smazat článek Editor, administrátor má možnost smazat příslušný článek, který byl vybrán Nad články si mohou zvolit možnost smazat článek, která je reprezentovaná tlačítkem „Smazat článek“ Po zvolení článku(jednoho či více), které chceme vymazat a kliknutí na tlačítko „Smazat článek“ se zobrazí dialogové okno, zda chceme opravdu provést operaci, po odkliknutí se smažou články a provedou se změny.
5.4 Diskuze 5.4.1 5.4.2 -
5.4.3 -
5.4.4 -
Vložit komentář do diskuze Neregistrovaný uživatel, registrovaný uživatel, editor, administrátor má možnost vložit komentář do diskuze V diskuzi si mohou zvolit vložit komentář do diskuze, který je reprezentován tlačítkem „Vložit komentář do diskuze“ Po stisknutí tlačítka se zobrazí formulář, kde se vyplní příslušné údaje (viz. Datový model – discusion). Funkcionalita vyplívá z popisu funkce diskuze v sekci „funkce“. Po stisknutí tlačítka odeslat se veškeré změny uloží a komentář se přidá do diskuze. Editovat komentář v diskuzi Registrovaný uživatel, editor, administrátor má možnost editovat vložený komentář. Administrátor a editor mohou editovat veškeré komentáře. Registrovaný uživatel může editovat pouze své komentáře. U diskuze si mohou zvolit editace příslušného komentáře, která je reprezentována tlačítkem „Editovat komentář“. Po kliknutí na tlačítko „Editovat komentář“ se zobrazí formulář, ve kterém jsou již předvyplněné původní informace a ty je možno upravovat. Po kliknutí na tlačítko „Provést změny“ se uloží veškeré změny, které jsme v komentáři u diskuze provedli. Smazat komentář v diskuzi Registrovaný uživatel, editor může provést smazání komentáře v diskuzi. U diskuze si mohou zvolit smazání komentáře, které je reprezentováno tlačítkem „Smazat komentář“ Po kliknutí na tlačítko „Smazat komentář“ se zobrazí dialogové okno, kde je třeba odsouhlasit, zda tuto změnu opravdu chceme provést. Po kliknutí na tlačítko „Provést změny“ se daná operace provede a zobrazí se již upravená diskuze. Výpis komentářů v diskuzi Editor, administrátor a registrovaný uživatel mají přístup k výpisu (přehledu) seznamu přidaných komentářů v konkrétní diskuzi u článku.
-
Pod článkem se vždy zobrazí diskuze, pokud obsahuje alespoň jeden komentář. Editor a administrátor může editovat jakýkoliv komentář v diskuzi. Registrovaný uživatel může editovat pouze své komentáře. Pokud má uživatel právo editovat či mazat mají navíc u výpisu (přehledu) příspěvků viditelné tlačítka pro editaci a smazaní komentáře. Tyto tlačítka se nacházejí pod jednotlivými komentáři.
5.5 Anketa 5.5.1 -
-
5.5.2 -
Nová anketa Editor, administrátor má možnost vytvořit novou anketu. Na detailu již vytvořeného článku si mohou založit novou anketu pomocí tlačítka „Nová anketa“ Po stisknutí tlačítka se objeví formulář pro zadání příslušných dat (viz. Datový model – surfy a answers). Funkcionalita vyplívá z popisu funkce ankety v sekci „funkce“. U odpovědí se hodnota zvolených odpovědí nastaví na 0. Po kliknutí na tlačítko „uložit“ se nová anketa uloží do systému a zobrazí se veřejně pod článkem. Editace ankety Editor, administrátor má možnost změnit data již ve vytvořené anketě. Na detailu již vytvořeného článku si může anketu editovat. Po stisknutí tlačítka „Editace ankety“ se zobrazí formulář, ve kterém jsou již předvyplněné původní informace a ty je možno upravovat. Po kliknutí na tlačítko „Provést změny“ se uloží veškeré změny, které jsme v anketě provedli.
5.5.3 -
Smazaní ankety Editor, administrátor má možnost smazat zvolenou anketu. Na detailu již vytvořeného článku je možné smazat již vytvořenou anketu. Po kliknutí na tlačítko „Smazat anketu“ se vybraná anketa smaže.
5.5.4 -
Hlasovat v anketě Hlasování v anketě se provádí pomocí kliknutí na vybranou odpověď ankety zvolenou uživatelem. Zvolením jednotlivé odpovědi se inkrementuje počet odpovědí zvolené odpovědi o jedno. Anketa se nachází na detailu článků.
-
5.6 Správa kategorií 5.6.1 5.6.2 -
Nová kategorie Editor, administrátor má možnost přidat novou kategorii, do které budou spadat články Nad přehledem kategorii si může zvolit vytvoření nové kategorii pomocí tlačítka „Nová kategorie“ Po stisknutí tlačítka „Nová kategorie“ se zobrazí formulář pro zadání informací (viz. Datový model). Po stisknutí tlačítka „Uložit“ se uloží nová kategorie a aktualizuje se seznam kategorií Editovat kategorii Editor, administrátor má možnost editovat vybrané kategorie
-
5.6.3 5.6.4 -
Nad přehledem kategorií si může zvolit, kterou kategorii chce editovat. Po stisknutí tlačítka „Editovat“ se zobrazí formulář, ve kterém jsou již předvyplněné původní informace a ty je možno upravovat. Po kliknutí na tlačítko „Provést změny“ se uloží veškeré změny, které jsme v kategorii provedli. Smazat kategorie Editor, administrátor má možnost smazat kategorii Nad přehledem kategorií je možnost si vybrat, kterou kategorii chce smazat. Po stisknutí tlačítka „Smazat kategorii“ se zobrazí dialogové okno, které se zeptá, zda opravdu chceme provést operaci. Po odkliknutí se daná operace provede. Výpis kategorií Editor, administrátor má přístup k výpisu kategorií. Výpis (přehled) kategorií lze zobrazit z menu aplikace, kliknutím na tlačítko „výpis kategorií“. Ve výpisu se zobrazí název a popis kategorie. Nad tímto přehledem je možné provádět editaci a mazání kategorií a přidávat nové kategorie.
5.7 Správa souborů 5.7.1 -
5.7.2 -
Vložit soubor Soubor je v informačním systému myšleno jako příloha ke článku. Editor, administrátor může vložit (přidat) nový soubor. Vložený soubor se musí přiřadit ke článku. Soubor se musí uložit na server na stanovené místo a do databáze se ukládá jenom odkaz a vlastnosti souboru viz. datový model. Soubor bude možno vložit přes dialogové okno z operačního systému. To znamená zachování standardu funkčnosti znamé z jiných informačních systému. K článku lze vložit jeden a více souborů. Smazat soubor Editor, administrátor může smazat soubor. Smazat soubor se musí jak z databáze tak z předem zvoleného místa na serveru.
5.8 Zprávy 5.8.1 -
-
Nová zpráva Každý registrovaný uživatel systému může posílat soukromé zprávy jiným uživatelům. Po kliknutí na ikonu „pošty (zpráv)“, umístěnou nejlépe na každé stránce (součást menu) se uživatel přesune ke správě svých zpráv. V této správě se po kliknutí na tlačítko „nová zpráva“ uživatel přesune k formuláři pro odeslání nové zprávy. V tomto formuláři sepíše text samotné zprávy, bude se jednat o neformátovaný text. Dále pak vyplní předmět zprávy a příjemce. Příjemců může být několik. Budou vypsáni svým pseudonymem a budou odděleni středníky. Po kliknutí na tlačítko „odeslat“ se zkontroluje, zda příjemci existují a pokud ano, pak se do systému zapíšou nové zprávy.
-
-
-
5.8.2 5.8.3 -
5.8.4 -
-
Pro každého příjemce se do systému zapíše nová zpráva, u které se vyplní datum odeslání a příznak, zda byla přečtena, se nastaví na false. Navíc se do konkrétního pole vyplní textově seznam příjemců oddělených středníky (to pro zjednodušení výpisů příjemců). Jako vazba na uživatele se u zprávy uvede odesilatel (ten kdo zprávu odesílá) a příjemce (jeden z výčtu příjemců). Tímto vznikají dvě vazby na uživatele. Systém vytvoří ještě jednu kopii zprávy, ve které uvede odesilatele, ale příznak příjemce nevyplní, respektive dosadí „null“. Příznak zda byla zpráva přečtena se vyplní automaticky na true. To vše z důvodu rozpoznání, odeslaných zpráv. Uživateli se po odeslání zobrazí informace o úspěšném odeslání zprávy a následně čistý formulář pro odeslání další nové zprávy. Smazat zprávu Každý registrovaný uživatel systému může mazat své doručené soukromé zprávy Po kliknutí na ikonu „pošty (zpráv)“, umístěnou nejlépe na každé stránce (součást menu) se uživatel přesune ke správě svých zpráv. Na přehledech doručené a odeslané pošty si uživatel může vybrat zprávy, které budou smazány Po kliknutí na tlačítko „vymazat“ budou vybrané zprávy odstraněny ze systému. Následně se uživateli zobrazí již aktualizovaný přehled doručených, nebo odeslaných zpráv. Číst zprávu Každý registrovaný uživatel systému může pročítat své doručené soukromé zprávy. Po kliknutí na ikonu „pošty (zpráv)“, umístěnou nejlépe na každé stránce (součást menu) se uživatel přesune ke správě svých zpráv. Na přehledu doručené nebo odeslané pošty si uživatel může vybrat zprávu, kterou chce pročíst. Po kliknutí na předmět zprávy bude přesměrován na podrobný výpis, ve kterém bude uveden celý text zprávy, předmět zprávy a všichni příjemci, pro které byla zpráva určena. Pokud byla tato zpráva ještě nepřečtená a zároveň se jedná o doručené zprávy, pak systém automaticky změní hodnotu příznaku „zda byla zpráva přečtena“ na true. Seznam zpráv Každý registrovaný uživatel systému může vidět přehled svých doručených a odeslaných zpráv. Po kliknutí na ikonu „pošty (zpráv)“, umístěnou nejlépe na každé stránce (součást menu) se uživatel přesune ke správě svých zpráv. Zde jako výchozí uvidí přehled doručených zpráv, které budou ze systému vybrány, jako zprávy, ve kterých je uživatel vyplněn v příznaku příjemce (vazba mezi uživatelem a příjemcem zprávy) Uživatel se může rovněž přepnout do přehledu odeslaných zpráv. Ten dovoluje naprosto stejnou funkcionalitu, jako má přehled doručených zpráv. Systém provede výběr pouze těch zpráv, ve kterých je uživatel vyplněn v příznaku odesilatele (vazba mezi uživatelem a příjemcem zprávy) a příznak příjemce je nevyplněn, respektive vyplněn hodnotou „null“.
5.9 Profily uživatelů 5.9.1 -
5.9.2 -
5.9.3 -
-
5.9.4 -
Výpis uživatelů Každý registrovaný uživatel systému si může prohlédnout výpis ostatních registrovaných uživatelů. Po kliknutí na tlačítko „Uživatelé“, umístěné nejlépe na každé stránce (součást menu) se uživatel přesune k zobrazení přehledu registrovaných uživatelů. V tomto výpisu budou uvedeny základní informace o uživatelích, a to pseudonym, křestní jméno a role uživatele. V tomto přehledu by mělo být možno po kliknutí na konkrétního uživatele přejít na jeho profil. Hledání uživatele Každý registrovaný uživatel systému si může prohlédnout výpis ostatních registrovaných uživatelů a v tomto hledat uživatele podle zadaného výrazu. Po kliknutí na tlačítko „Uživatelé“, umístěné nejlépe na každé stránce (součást menu) se uživatel přesune k zobrazení přehledu registrovaných uživatelů. Nad přehled uživatelů bude formulář obsahující textové pole pro zadání hledaného výrazu (jména uživatele) a tlačítko „hledej“. Na začátek, nebo konec hledaného výrazu je možné zařadit symbol „*“, kterým bude uživatel systému říkat, že si přeje zobrazit uživatele, jejichž pseudonym začíná na tento výraz, respektive na tento výraz končí. Pokud se hledaný výraz shoduje s některými daty v systému (s konkrétními pseudonymy), pak se na přehledu uživatelů zobrazí pouze tito uživatelé. Pokud je zadán prázdný řetězec, pak se v přehledu zobrazí všichni uživatelé. Výpis profilu uživatele Po kliknutí na pseudonym konkrétního uživatele systému (v ideálním případě kdekoliv v systému, přinejmenším v přehledu uživatelů) se uživatel přesune k zobrazení profilu zvoleného uživatele. Po kliknutí se zobrazí výpis profilových informací, u kterých uživatel již definoval hodnoty. Pokud některé z profilových hodnot uživatel nevyplnil, pak se takováto položka nezobrazí. (Profilovými položkami v tomto IS chápeme hodnoty svázané mezi administrátorem definovanými hodnotami profilu a konkrétním uživatelem) Pokud se jedná o profil vlastněný uživatelem, pak se zobrazí tlačítko editovat. Editovat svůj uživatelský profil Každý registrovaný uživatel systému může spravovat svůj profil a uživatelské informace. Po kliknutí na tlačítko „Profil“, umístěné nejlépe na každé stránce (součást menu) se uživatel přesune k zobrazení svého profilu. Po kliknutí se zobrazí výpis profilových informací, u kterých uživatel již definoval hodnoty. Pokud některé z profilových hodnot uživatel nevyplnil, pak se takováto položka nezobrazí. Jelikož se jedná o profil vlastněný uživatelem, zobrazí se tlačítko „editovat“. Po kliknutí je uživatel přesměrován na formulář, ve kterém může vyplnit veškeré administrátorem definované profilové informace a navíc i své jméno a příjmení a email zadaný v registraci.
-
5.9.5 -
5.9.6 -
Po kliknutí na tlačítko uložit se pouze primitivně ověří typy hodnot odpovídající profilovým hodnotám specifikovaných administrátorem (viz. Datový model Profil, Profil_User). Nevyplněné položky profilu se neověřují, jelikož nejsou povinné. Naopak jméno, příjmení a email z entity uživatelů jsou povinné a musí zůstat vyplněny i po editaci. Pokud budou hodnoty správně vyplněny, provedené změny se uloží do systému. Změnit heslo uživatele Každý registrovaný uživatel systému může spravovat svůj profil a uživatelské informace. Po kliknutí na tlačítko „Profil“, umístěné nejlépe na každé stránce (součást menu) se uživatel přesune k zobrazení svého profilu. Po kliknutí se zobrazí výpis profilových informací a u nich tlačítko „změnit heslo“ Po kliknutí na tlačítko se zobrazí formulář, ve kterém musí uživatel zadat své původní heslo a následně nové heslo a ověření nového hesla. Po kliknutí na tlačítko uložit se provedou změny. Pokud se původní heslo shoduje a nové heslo se shoduje s potvrzením, jsou změny zapsány do systému. Následně je uživateli oznámeno, že změna byla provedena a je navrácen na přehled svého profilu. Správa profilových informací Správu profilových informací může provádět pouze administrátor. Z důvodu zjednodušení implementace bylo rozhodnuto, že pro tuto implementaci se ale správa profilových informací nebude realizovat. Proto se hodnoty zadají staticky při tvorbě systému (viz. „funkce“)
5.10 Správa blogu 5.10.1 Vytvořit blog - Každý registrovaný uživatel systému si může založit svůj vlastní blog, který bude následně přebírat funkcionalitu článků. - V uživatelském profilu uživatele se bude nacházet tlačítko „Založit blog“, pokud uživatel blog doposud založený nemá. - Po kliknutí na toto tlačítko se v systému provede založení blogu zapsáním do entity Blog, která se sváže s uživatelem a zapíše se do ní i čas založení blogu. - Pokud uživatel již má založen blog je tlačítko „Založit blog“ nahrazeno tlačítkem „Spravovat blog“. - Po kliknutí na toto tlačítko se uživatel přesune na přehled vlastních článků v blogu. Tento přehled bude fungovat naprosto stejně jako přehled článků (minispecifikace 4.3.4) z pohledu administrátora, editora. Funkcionalita přidávání a editování článků bude rovněž stejná jako u editace článků (minispecifikace 4.3.1, 4.3.2, 4.3.5) ovšem pouze v rámci článků, které jsou svázány s blogem uživatele. 5.10.2 Smazat blog - Každý registrovaný uživatel systému si může založit svůj vlastní blog, který bude následně přebírat funkcionalitu článků. - Pokud uživatel již má založen blog je v jeho profilu zobrazeno tlačítko „Zrušit blog“. - po kliknutí na toto tlačítko dojde k výzvě uživatele a vynucení si potvrzení této operace. Pokud dojde k potvrzení, pak se vymažou veškeré články související s blogem uživatele a ze systému se vymaže záznam o blogu uživatele.
5.10.3 Vložit příspěvek do blogu - Každý registrovaný uživatel systému si může založit svůj vlastní blog, který bude následně přebírat funkcionalitu článků. - Pokud má uživatel založený blog, pak se v jeho profilu nachází tlačítko „Spravovat blog“. - Po kliknutí na toto tlačítko se uživatel přesune na přehled vlastních článků v blogu. Tento přehled bude fungovat naprosto stejně jako přehled článků (minispecifikace 4.3.4) z pohledu administrátora, editora. - Nad tímto přehledem se bude nacházet tlačítko „Nový článek do blogu“. - Po kliknutí na toto tlačítko se uživateli zobrazí formulář pro vložení nového článku (viz. minispecifikace 4.3.1) ovšem s několika změnami ve funkcionalitě. Uživateli nebude nabídnuta možnost vybrání kategorie. Vazba na kategorii se nevyplní, respektive vyplní se hodnotou „null“ (další možností je vyplnění nějaké fiktivní kategorie, který bude reprezentovat články v blozích). Dále pak bude u článku uvedena vazba na blog uživatele, která u klasického článku zůstávala nevyplněna. - Po kliknutí na tlačítko „uložit“ se vytvoří nový článek a uživatel může pokračovat dále v editaci článku z globu. 5.10.4 Přehled příspěvků v blogu - Každý registrovaný uživatel systému si může založit svůj vlastní blog, který bude následně přebírat funkcionalitu článků. - Každý uživatel, který má založený blog, má v profilu tlačítko „Blog“. Toto tlačítko je na rozdíl od ostatních tlačítek v týkajících se blogu přístupné všem uživatelům. - Po kliknutí na toto tlačítko se vypíší články zařazené v blogu vybraného uživatele. V tomto výpisu se budou nacházet názvy článků, pretext a datum poslední změny. - Po kliknutí na název článku bude uživatel přesměrován na celý výpis článku obdobně jako v případě klasického článku (minispecifikace 4.3.3).
5.11 Chat 5.11.1 Výpis příspěvků v chatu - Administrátor, editor a registrovaný uživatel mají přístup k výpisu (přehledu) všech přidaných příspěvků, které se nacházejí v jednotlivých chat místnostech. - Výpis příspěvků obsahuje příspěvky všech uživatelů, kteří se nacházejí v jedné chat místnosti. - Výpis příspěvků je seřazen podle času přidání, a to od nejnovějšího po nejstarší. - Počet příspěvků zobrazených v jednom výpisu, jedné místnosti je omezen na posledních 50 příspěvků. - Příspěvek se zobrazuje ve výpisu jako odstavec, který obsahuje čas přidání, uživatelské jméno uživatele, který daný příspěvek napsal a text příspěvku 5.11.2 Přidat příspěvek do chatu - Administrátor, editor a registrovaný uživatel mohou přidávat (vkládat) nové příspěvky pomocí formuláře, který se nachází pod výpisem všech příspěvků. Formulář pro přidávání nových příspěvků obsahuje pouze pole, kde se zadává text příspěvku. Tento text se odešle na výpis pomocí tlačítka „odeslat“. 5.11.3 Založit místnost chat - Editor, administrátor může založit (přidat) novou místnost chatu.
-
Nad přehledem všech místností chatu si může založit (přidat) nové fórum po kliknutí na tlačítko „Nové“ Po kliknutí se zobrazí formulář, ve kterém se vyplní potřebné údaje – Název a popis Po kliknutí na tlačítko „uložit“ se provedou zadané změny a vrátí zpět na přehled všech místností chatu, ve kterém se projeví provedené změny. Tlačítko „Nové“ je viditelné pouze těm uživatelům, kteří k vytvoření nové místnosti chatu mají dostatečné oprávnění (administrátor, editor).
5.11.4 Smazat chat místnost - Administrátor může vymazat zvolenou místnost chatu. - Nad přehledem všech místností chatu si může zvolit jedno až všechny již založené (přidané) místnosti chatu. - Po kliknutí na tlačítko „smazat“ se vymažou všechny zvolené místnosti i se všemi daty, které na tyto místnosti byli vázány. Následně se zobrazí přehled místností, ve kterém se projeví provedené změny. - Tlačítko „smazat“ se nachází pod názvem jednotlivé místnosti a je viditelné pouze těm uživatelům, kteří ke smazaní mají dostatečné oprávnění(administrátor, editor). 5.11.5 Editovat chat místnost - Editor, administrátor může editovat (upravovat) jednotlivé místnosti chatu. - Nad přehled místností chatu si může zvolit již založené (přidané)místnosti po kliknutí na tlačítko “Editovat” - Po kliknutí se zobrazí formulář, ve kterém jsou již předvyplněné původní informace (název a popis místnosti chatu) následně mohou být editovány. - Po kliknutí na tlačítko „uložit“ se provedou zadané změny a vrátí zpět na přehled místností chatu, ve kterém se projeví provedené změny. 5.11.6 Výpis chat místností - Uživatel jakékoliv role má přístup k výpisu (přehledu) jednotlivých místností chatu. Jedná se o seznam všech založených (přidaných) místností, provedené editorem či administrátorem. - Po kliknutí na jednotlivou místnost chatu se provede přechod na obsah zvolené místnosti. - Editor a administrátor mají navíc viditelné u výpisu (přehledu) jednotlivých místností chatu tlačítka pro přidání nové místnosti, editaci a smazaní místnosti chatu.
5.12 Registrace uživatele 5.12.1 Registrace uživatele - Jedná se o funkcionalitu pro neregistrované uživatele. Neregistrovaný uživatel při volbě registrovat, vyplní potřebné informace k registraci na registračním formuláři. Povinné údaje jsou specifikovány v datovém modelu u entity user. Po provedené úspěšné registraci bude moct neregistrovaný uživatel se přihlásit do informačního systému a to pod roli registrovaný uživatel.
5.13 Správa uživatelů 5.13.1 Výpis uživatelů - Každý registrovaný uživatel systému si může prohlédnout výpis ostatních registrovaných uživatelů. Stejně tak i Administrátor může tento výpis využívat.
-
Po kliknutí na tlačítko „Uživatelé“, umístěné nejlépe na každé stránce (součást menu) se uživatel přesune k zobrazení přehledu registrovaných uživatelů. V tomto výpisu budou uvedeny základní informace o uživatelích, a to pseudonym, křestní jméno a role uživatele.
5.13.2 Smazat uživatele - Každý registrovaný uživatel systému si může prohlédnout výpis ostatních registrovaných uživatelů. - Po kliknutí na tlačítko „Uživatelé“, umístěné nejlépe na každé stránce (součást menu) se uživatel přesune k zobrazení přehledu registrovaných uživatelů. - Nad tímto přehledem se bude nacházet tlačítko „smazat uživatele“, které má možnost využít pouze administrátor. - Administrátor může vybrat uživatele a po kliknutí na tlačítko „smazat uživatele“ se na server odešle požadavek pro smazání. - Jelikož je v systému velké množství informací, které je nutné udržet i po smazání uživatele je nutné u takovýchto informací řešit nahrazení vazeb. - Před samotným vymazáním uživatele se založí nový uživatel, jehož pseudonym se bude skládat z původního pseudonymu a spojení „_deleted“ (např. Pepa_deteled). Povinné údaje budou nastaveny na prázdné hodnoty, v případě hesla pak na hodnotu „Password_123_%login_deleted%“ (kde za %login_deleted% se doplní aktuální název deleted uživatele). - Na tohoto „deleted“ uživatel se nastaví vazba na všechny články, zprávy, kde figuruje uživatel jako odesilatel a příjemce je vyplněn a příspěvky v diskuzích i fórech původního uživatele. - Data vázaná v tabulkách s profilem, soukromých zprávách (kde figuruje mazaný uživatel jako odesilatel a příjemce není vyplněn), blogu, článcích patřících k blogu a příspěvcích v chatu. - Až poté je možné fyzicky vymazat uživatele ze systému. - Po vymazání se zobrazí aktualizovaný přehled uživatelů.
5.14 Novinky 5.14.1 Přidat novinku - Administrátor může přidávat (vkládat) novinky. Novinky jsou myšleny jako informace, které obsahují nejnovější změny o stavu informačního systém. - Nové novinky může administrátor přidat stisknutím tlačítka “přidat novinku”. Tlačítko by se mělo nacházet u přehledu novinek a mělo by být viditelné pouze administrátorem. Po stisknutí tlačítka by se měl zobrazit formulář, kde administrátor může provést zadání obsahu, který by se měl zobrazit. Po zadání obsahu stiskne tlačítko “publikovat” a vrátí se na přehled (výpis) novinek. 5.14.2 Výpis novinek - Uživatel jakékoliv role má přístup k výpisu (přehledu) novinek. V přehledu by mělo být zobrazeno nejnovějších deset novinek. - Výpis novinek by se měl nacházet na hlavní straně informačního systému a měl by být na viditelném místě, tak aby se uživatel dozvěděl o případných změnách v informačním systému.
6 Požadavky na zpracování 6.1 Obecné požadavky na zpracování -
IS je určen pro široké spektrum uživatelů. Měl by být volně dostupný jak registrovaným, tak i novým uživatelům, kteří nejsou v IS registrováni. IS bude realizován jako webová aplikace, dostupná ze sítě internet. V ideálním případě by měl být IS realizován pomocí technologie ASP.NET a MS SQL Server, ale není to striktním požadavkem.
6.2 Návrh vzhledu aplikace Jedná se o webovou aplikace, ale není podstatný konkrétní vzhled. U různých nasazení systému bude systém dostávat různé vzhledy. Na příkladu uvádíme jednoduché rozložení funkcionalit systému, které by ale mělo být zachováno bez ohledu na konkrétní vzhled.
Detaily ke zpracování a upřesnění požadavků už záleží na konkrétní představě realizátora projektu, který předloží návrh na způsob zpracování, využité technologie. Po následné vzájemné diskuzi se zadavatelem a realizátorem se zadání upřesní.
7 Závěrem analýzy Ve zpracované analýze byl obecně popsán teoreticky navržený informační systém. Analýza by měla vystihovat všechny návrhy na funkčnost sytému a v navrženém datovém modelu tytu funkcionality zajistit. Pomocí diagramů jsme se v analýze pokusily vystihnout některé z nejběžnějších procesů a funkcí, které v systému bude nutné aplikovat. Minispecifikace by měli být primárním zdrojem popisu funkcí celého systému. Pokud by popis v kterékoliv minispecifikaci byl nedostatečný, další postup lze vyčíst z detailního popisu funkcí v analýze a z funkční analýzy, respektive z DFD diagramů 2. úrovně. Vyšší úrovně DFD diagramů slouží pro orientaci mezi specifikovanými toky dat. V celé analýze byla projevena snaha o co nejlepší popsání všech specifikací a požadavků na systém. U elementárních funkcionalit se ovšem vycházelo z předpokladu základní znalosti problematiky implementace webových aplikací ze strany realizátora informačního systému, proto nejsou zpravidla detailně sepsány.