Article: AN0001845Updated:
Na základě požadavků navrhneme prvotní model tříd (entity-relationship diagram), ve kterém budou uložena data.
Vztahy mezi třídami zajistí sloupce typu Číselníková hodnota. Červeně je znázorněna interní třída ObjectGears Person, která obsahuje uživatele ObjectGears a lze se na ni odkázat podobně jako na uživatelem definovanou třídu. Níže popíšeme hlavní třídy modelu KnowledgeBase. Čtenář článků nemá na tyto třídy přímý přístup. Jejich data zobrazuje prostřednictvím stránky pro vyhledávání, zobrazování a hodnocení článků. Autoři článku a Administrátoři znalostní báze mají na jednotlivé třídy přístup na čtení nebo zápis. Dále v modelu existují další třídy, na něž nemusí mít přístup žádná z uvedených rolí. Jejich editace by mohla být třeba pouze v případě změny logiky fungování Znalostní báze.
Třída Téma (Topic)
Administrátor v této třídě udržuje seznam hlavních témat znalostní báze s jejich popisem, okruhem autorů a schvalovatelem daného tématu.
Třída Kategorie (Category)
Administrátor v této třídě udržuje rozpad hlavních témat na jednotlivé kategorie, do nichž se zařazují články.
Třída Bezpečnostní klasifikace (Security classification)
Administrátor v této třídě udržuje seznam názvů bezpečnostních klasifikací s uvedením okruhu čtenářů, kteří dané články mohou zobrazit, popř. s informací, že jsou veřejné (dostupné komukoli).
Třída Článek (Article)
Autor znalostního článku vybere téma ze seznamu ve třídě Téma (Topic). Po výběru dojde k aktualizaci hodnot kategorií, které patří do daného tématu. Toto chování zajistíme nastavením vlastnosti Třída pro omezení záznamů sloupce Kategorie ve třídě Článek na hodnotu Téma.
Každý článek by měl mít unikátní číslo. Ve sloupci Číslo (Number) nastavíme vlastnost Povolit sekvence na Ano a vlastnost Formát sekvence na KB{#:0000000}.
Ve sloupcích Name, Text a Security classification budou uloženy schválené hodnoty názvu, obsahu a bezpečnostní klasifikace článku.
Ve sloupci New_name, New_text a New_security_classification budou uloženy nové navrhované hodnoty, zaslané autorem ke schválení. Ve sloupci New_version_comment bude moci autor připojit komentář k důvodu zaslání nové verze článku.
Ve sloupci Rating bude ukládáno průměrné hodnocení článku.
Ve sloupci Update date bude uložen datum schválení nové verze článku.
Ve sloupci Related_CI bude možné článek propojit s konfiguračními položkami, kterých se týká. Požádáme vlastníka modelu IT, aby povolil třídu CI do modelu Knowledgebase a vytvoříme ve třídě Článek sloupec typu n odkazů na třídu CI.
Autor článku bude mít možnost modifikovat sloupce New_name, New_text a New_security_classification a opakovaně záznam ukládat.
V této třídě zřídíme Master-detail relaci zobrazující vztah Článku k jednotlivým Požadavkům na článek, aby autoři mohli vidět, které požadavky byly schváleny a které ne.
Ve chvíli, kdy budu nová verze kompletní předá článek ke schválení kliknutím na tlačítko Předložit ke schválení. Po kliknutí se spustí skript tlačítka, který ověří, zda existuje dosud neschválený požadavek na změnu tohoto článku. Pokud ano, systém odmítne požadavek s tím, že nejdříve musí být schválen či odmítnut předchozí požadavek. Podobně funguje tlačítko Zrušení článku. Kterýkoli autor má také možnost zrušit předchozí požadavek kliknutím na tlačíko Zrušení posledního požadavku.
Kromě hypertextových odkazů uvedených v textu článku se může článek odkazovat na jiné články ve sloupci Related articles (odkaz na n záznamů). K článku je možné připojit soubory ve sloupci Files, který je typu soubor.
Třída Požadavek na článek (Article_request)
V této třídě se udržují informace o požadavcích na nové články, jejich aktualizaci či smazání.
Po vytvoření záznamu v této třídě se automaticky spustí workflow. Požadavky týkající se procesu schvalování zajistíme pomocí workflow.
Třída Workflow úkoly (Workflow tasks)
Úkoly přidělené v rámci workflow se budou ukládat do třídy Workflow task, v níž kromě standardních sloupců Task_assigned_to, Task_done a Task_deadline vytvoříme sloupec odkazující se na záznam třídy Požadavek na článek, sloupec pro komentář schvalovatele a sloupec, v němž schvalovatel vybere hodnotu Schváleno či Neschváleno.
V této třídě zřídíme Master-detail relaci zobrazující vztah Úkolu k Požadavku na článek, aby schvalovatel měl informace o tom, co schvaluje.
Třída Rating (Rating)
V této třídě ukládá webpart Rating informace o hodnocení daného článku daným uživatelem s danou hodnotou.