C5V6.pdf

Type: Document | Status: ready

Návrh potřebných úprav výrobní linky a realizace úprav v prototypu

Vytvořeno v rámci projektu

Rozvoj datových politik v oblasti zlepšování kvality a interoperability dat veřejné správy CZ.03.4.74/0.0/0.0/15_025/0013983

KA 6: Návrhy a realizace prostředí pro ontologické konceptuální datové modelování

Výstup: C5V6

  1. Definice výstupu "Typ výstupu: Dokument s návrhem úprav výrobní linky, dokument s dokumentací upraveného prototypu, zdrojové kódy vytvořeného prototypu vydané též jako open source (otevřený zdrojový kód).

Na základě zkušeností z C5V3, C5V4 a C5V5 budou analyzovány, navrženy a realizovány potřebné úpravy výrobní linky. Tyto úpravy budou probíhat již v průběhu řešení C5V3, C5V4 a C5V5. Potřebné úpravy budou zdokumentovány." 2. Úvod Prototyp výrobní linky navržený v rámci C5V3 je v rámci tohoto výstupu dále rozvíjen, a to na základě uživatelské zpětné vazby. V průběhu testování prototypu výrobní linky členy projektového týmu, zástupci OHA MVČR a pracovníky MMR bylo identifikováno několik klíčových změn a rozšíření. Tyto požadavky jsou od uživatelů sbírány a průběžně zpracovávány v repozitáři https://github.com/opendata-mvcr/sgov-assembly-line.

Kromě těchto změn, došlo rovněž k vývoji nového prototypového nástroje ShowIt pro zobrazování publikovaných slovníků široké veřejnosti, neboť veřejné uživatelské rozhraní systému TermIt se ukazuje jako příliš komplikované pro neškolené uživatele.

Další výraznou změnou v prototypu Výrobní linky byla změna architektury. Motivací pro tuto změnu byl neefektivní samostatný vývoj jednotlivých komponent (zejména pro aplikaci TermIt). Cílem změny je opuštění konceptu pracovních prostorů a jeho nahrazení vidličkami (forky), tedy draft verzemi slovníku. First class citizenem výrobní linky se tak stane samotný slovník.

Konečně do kument obsahuje i seznam navrhovaných features vhodných pro další vývoj výrobní linky pro její produkční nasazení. 3. ShowIt Systém ShowIt slouží k jednoduchému zobrazení pojmů a jejich vyhledávání v sémantickém slovníku pojmů. Je nasazen na adrese

https://slovník.gov.cz/prohlížíme .

Zdrojové kódy systému ShowIt jsou k dispozici v GIT repozitáři https://github.com/opendata- mvcr/sgov-browser
(commit 4181c110995062c953e10d8f7c5e66e0de49397e).

Začlenění systému ShowIt do architektury výrobní linky je znázorněno na následujícím diagramu zeleně:

Obrázek 1: Architektura výrobní linky se zeleně vyznačenými změnami pro umožnění přístupu veřejnosti k obsahu Sémantického slovníku pojmů pomocí aplikace ShowIt. Základní práce se systémem ShowIt

Nástroj ShowIt nahrazuje read only verzi nástroje TermIt, umožňuje vyhledávat "slova", ke kterým přiřazuje pojmy s konkrétním významem. Pojmy v nástroji ShowIt jsou sdruženy ve slovnících. Slovník se zpravidla zabývá jedním legislativním nebo jiným dokumentem, datovou sadou, agendou, atd. Názvy pojmů v rámci slovníku musí být jedinečné.
Pojmy obsahují definici, její zdroj, hierarchické a modelové (sémantické) vztahy vzhledem k ostatním pojmům, ať už ze stejného, nebo z jiných slovníků. Úvodní stránka slouží k vyhledávání slov.

Obrázek 2: Titulní stránka aplikace ShowIt. Např. po vyhledání slova “řidič” se zobrazí jeho detail pojmu s názvem řidič (pokud je jediný):

Obrázek 3: Příklad detailu pojmu Řidič v aplikaci ShowIt po vyhledání slova Řidič. V případě nejednoznačností (kdy se jedno slovo vyskytuje v různých významech ve více zdrojích) má uživatel možnost kliknutím na příslušný zdroj vybrat požadovaný význam.

Obrázek 4: Příklad slova s definicemi v různých kontextech - tedy slova, které je vyjádřeno několika různými pojmy. 4. Změna architektury výrobní linky

Cílem změny architektury je odstranit z procesu pracovní prostory a nahradit je draft verzemi jednotlivých slovníků . Změna architektury se dotýká celé výrobní linky, ačkoliv největší změny jsou na straně SGoV serveru a v aplikaci TermIt. Motivací pro změnu je neefektivní vývoj jednotlivých komponent ve výrobní lince a vylepšení user experience (UX) celého systému. Cílem je, aby uživatel, který chce upravit nějaký slovník, musel udělat pouze minimální počet nutných kroků ve výrobní lince, než se dostane k samostatné úpravě. Ve stávajícím prototypu to znamená otevřít kontrolní panel, vytvořit pracovní prostor, přidat slovník do pracovního prostoru, otevřít pracovní prostor v nástrojích určených pro ed itaci slovníků – TermIt nebo OntoGrapher, provést změny a ty publikovat.
V navrhované úpravě to znamená otevřít kontrolní panel, vytvořit nový nebo vyhledat existující slovník, který chce uživatel upravit a otevřít ho v TermItu nebo OntoGrapheru. Důležitý m krokem je sjednocení backendu aplikace TermIt používané v rámci výrobní linky s verzí aplikace TermIt, která je vyvíjena jako samostatná aplikace. Toto sjednocení vede k lepšímu a efektivnějšímu vývoji nástroje TermIt i mimo výrobní linku (kde už nyní probíhá nemalá část vývoje). Změnu architektury bylo k vůli zachování funkčního testovacího nasazení velice složité
implementovat jednorázově, proto byla rozdělena do několika dílčích kroků:

  1. sjednocení datové struktury pracovního prostoru a slovníku a. veškeré pomocné kontexty z pracovního prostoru je potřeba přesunout pod slovníkový kontext, b. veškerá metadata (autor atd…) také,
  2. Implementace podpory sjednocené struktury pro SGoV server,
  3. Implementace podpory sjednocené struktury pro nástroje TermIt a OntoGrapher,
  4. Implementace sledování změn (kdo jsou přispěvatelé pro jednotlivé draft verze slovníků a kdy v ní provedli poslední změnu),
  5. Implementace podpory předchozích bodů v nové verzi kontrolního panelu.

Praktické dopady těchto změn ovlivňují procesy a životní cyklus změn ve slovníku následujícím způsobem.

Obrázek 5: Single source of true pro Sémantický slovník pojmů je v GitHub repozitáři. Na základě jeho obsahu se aktualizuje databáze, která obsahuje tzv. SSP Cache (kopii SSP) a zároveň udržuje draft verze jednotlivých slovníků. Různí uživatelé (Uživatel 1 a Uživatelka 2) vytváří kopie z Kanonické verze a jejich úpravou vznikají draft verze těchto slovníků, které jsou ukládány v samostatných kontextech do databáze. Sémantický slovník pojmů (SSP) obsahuje publikované verze slovníků veřejné správy. Na jeho základě vzniká tzv. SSP cache, která obsahuje tzv. kanonické slovníky, tedy slovníky v takové podobě, v jaké se nachází v SSP. V okamžiku, kdy uživatel edituje slovník, výrobní linka vytvoří jeho draft verzi. Po dokončení úprav je draft verze odeslána k publikaci a po úspěšném procesu publikace je nová verze zveřejněna v Sémantickém slovníku pojmů a kanonická verze v SSP cachi je nahrazena touto novou verzí, jak je vidět na diagramu na Obrázku 6 . Po publikaci je dle životního cyklu vhodné draft verzi smazat.

Obrázek 6: Životní cyklus slovníku a jeho verzí. Při editaci slovníku Výrobní linka vytváří kopii jeho Kanonické verze jako Draft verzi slovníku. Po úpravách vzniká návrh k publikaci, po jehož schválení nebo zamítnutí může být Draft verze dále upravována a/nebo smazána. Okamžikem schválení Draft verze nahrazuje Kanonickou verzi slovníku v SSP a je aktualizována i v SSP Cachi. Různí uživatelé mohou vytvářet různé verze stejného kanonického slovníku a mohou si do nich navzájem i přispívat. Uživatelka 2 z Obrázku 5 může za určitých podmínek editovat i Draft verzi slovníku uživatele 1 a naopak. Z toho vyplývá, že při procesu publikace je potřeba řešit možné konflikty mezi různými verzemi draftů (viz Nástroj pro kontrolu a publikaci slovn íků) a bylo je potřeba řešit i při řešení dílčích kroků, především při implementaci změn v nástroji TermIt. Praktickým dopadem změny architektury je i předávání slovníků aplikacím (TermIt a OntoGrapher). V původní verzi prototypu bylo předáno IRI pracovníh o prostoru (metadatový kontext) aplikacím pro úpravu slovníků a modelů. V nové verzi je předáváno IRI samotného draftu slovníku (slovníkový kontext). V případě manipulace s více slovníky najednou je tedy nutné předávat všechny slovníkové kontexty.
Ve stávající podobě kontrolního panelu jsou stále vytvářeny pracovní prostory, ale aplikacím je předáván již pouze seznam slovníkových kontextů. Nová verze kontrolního panelu, která již bere v úvahu změnu architektury je popsána v kapitole Kontrolní panel - nová verze

  1. Dokumentace nové verze Výrobní linky Tato kapitola dokumentuje změny ve výrobní lince od verze prototypu popsané ve výstupu C5V3, odevzdaném v rámci ZOR 052022. Popisuje změny ve funkcionalitě jednotlivých nástrojů v rámci výrobní linky.

High-level architektura Původní high -level architektura byla postavená na správě slovníků v rámci pracovních prostorů. Nově je first class citizenem v rámci výrobní linky slovník a jeho úpravami vznikají daft verze těchto slovníků. To výrazně přepracovává původní koncept high -level architektury tak, jak je popsaný ve výstupu C5V3.
Kontrolní panel - nová verze Jak již bylo zmíněno výše, nová architektura VL odstraňuje pracovní prostory a slovník se tedy stal first class citizenem celé výrobní linky. Bylo tedy nutné upravit vzhled Kontrolního panelu, tak aby tyto změny ovlivnily uživatele co možná nejméně a jeho práci zjednodušily.

Titulní obrazovka nového Kontrolního panelu zobrazuje seznam všech slovníků k dispozici v SSP. Chce-li uživatel daný slovník upravit, stačí aby pouze kliknul na tlačítko upravit a slovník se připraví k úpravám. Toto zjednodušení urychluje práci s Kontrolním panelem, jelikož dříve bylo nezbytné založit nový pracovní prostor, pojmenovat ho a nakonec slovník přidat do pracovního prostoru. Nyní je možné všechny tyto kroky učinit pomocí jediného tlačítka.

Dalším zrychlením práce uživatelů s Kontrolním panelem je personalizovaná nabídka naposledy upravovaných slovníků. Z této nabídky je možné slovníky ihned otevřít v TermItu či OntoGrapheru. Oproti předchozí verzi, která zobrazovala všechny otevřené pracovní prostory, uživatelé nejsou nuceni hledat jejich úpravy v dlouhém seznamu všech otevřených pracovních prostorů.
Hlavním cílem implementace těchto změn bylo doručit uživatelům co možná nejkratší cestu k
zahájení nových úprav či pokračování v těch předchozích. Tyto use -casy byly identifikovány jako nejčastější případy užití Kontrolního panelu a proto jsou k dispozici hned na titulní obrazovce a jako takové jsou vyvolatelné jedním kliknutím tlačítka.

Obrázek 7: Úvodní stránka nového Kontrolního panelu Výrobní linky. Pochopitelně je možné upravovat více slovníků najednou, stejně jako tomu bylo v předchozí verzi Kontro lního panelu. Všechny nově upravované slovníky vytváří tzv. projekty. Do existujícího projektu je možné přidávat další slovníky – přesněji jejich kopie. Projekty jsou logická seskupení změn dovolující upravovat více slovníků najednou. Přidávání slovníků je
možné pod správou změn daného slovníku. (tlačítko “spravovat”).

Obrázek 8: Detail rozpracovaného projektu na úvodní stránce. To nás přesměruje na správu změn projektu, ve které můžeme jednoduše vidět jaké slovníky upravujeme a případně k nim další slovníky přidat.

Obrázek 9: Detail rozpracovaného projektu po jeho rozkliknutí. Seznam všech projektů lze nalézt pod kartou otevřené úpravy. Informace o jejich poslední úpravě je zobrazovaná v uživatelsky přívětivé variantě, která je případně upozorní na změ ny které jsou dlouho otevřené. (jeden z hlavních problémů ve VL, kde uživatelé nechávali pracovní prostory dlouho otevřené bez publikace). Důvodem pro včasné publikace je mimo jiné i to, že draft verze slovníku se může časem odlišovat od kanonické verze.

Obrázek 10: Seznam otevřených úprav upozorňuje uživatele na projekty, které nebyly dlouho publikovány. Název nového projektu odpovídá názvu slovníku, který je v něm upravován. V případě přidání více slovníků do jednoho projektu to ale nedává smysl a projekt by měl být přejmenován. To je možné udělat v kartě projektu kliknutím na ikonu tužky u názvu projektu.

Obrázek 11: Přejmenování projektu je možné kliknutím na ikonu tužky vedle jejího zobrazeného názvu.

Aplikace TermIt - nová verze Jedním z důležitých kroků změny architektury byla implementace podpory sjednocené struktury architektury v aplikaci TermIt. Součástí tohoto úkolu je sjednocení backendové části aplikace se standalone verzí, která je provozována na Institutu plánování a rozvoje hlavního města Prahy (IPR). Důsledkem sjednocení bude jednodušší implementace změn a výhoda udržování pouze jednoho r epozitáře pro backend aplikace TermIt. Nevýhodou je to, že stávající verze architektury nepodporuje všechny funkcionality, které nabízí frontend aplikace TermIt ve standalone verzi (pro pořádek, všechny funkce nepodporoval ani starý frontend v rámci KODI). Nepodařilo se tedy sjednotit celou frontendovou část a stále je potřeba udržovat dva repozitáře. Ale nová verze frontendu vychází ze standalone aplikace a funkce, které architektura nepodporuje, jsou v nové verzi skryté. Jejich následná implementace souvisí toliko s podporou v architektuře. Základní a nejdůležitější změnou v nové verzi je to, že aplikace nepřebírá identifikátor pracovního prostoru, ale seznam slovníků (resp. jejich draft verzí). Předávání slovníků je na první pohled vidět v URL adrese, ale ve skutečnosti je uložené i v rámci session. Znamená to, že si aplikace slovníky pamatuje i v okamžiku, kdy z HTTP GET requestu zmizí. Příkladem předání seznamu jednotlivých draft verzí slovníků Agendy A53, vyhlášky č. 168/2016 Sb. a zákona č. 134/2016 Sb., o zadávání veřejných zakázek je následující URL:
https://slovník.gov.cz/modelujeme/v- nástroji/termit/#/vocabularies?vocabulary=https://slovník.gov.cz/legislativní/sbírka/168/2016/v erze/0474d597-eca8-4db0-ac0c- 05eb0a2302bb&vocabulary=https://slovník.gov.cz/agendový/slovn-k-agendy-a53-zad-v-n-ve- ejn-ch-zak-zek/verze/73558a4f-6a39-41de-9e7f- 57591297882b&vocabulary=https://slovník.gov.cz/legislativní/sbírka/134/2016/verze/6a3074 df-d8e6-4d44-ac25-303f416cd80d Úvodní stránka aplikace TermIt s předanými uvedenými draft verzemi slovníků je na následujícím obrázku:

Page 1 of 3