• Nebyly nalezeny žádné výsledky

3.2 Databázový model

Relační databázi Vokabuláře webového bude nutno rozšířit o tabulky vy-obrazené na obrázku 3.5. Jedná se především o entity, které budou v sobě uchovávat konfiguraci zdrojů a historii importu. Tabulky Project,Snapshot uchovávají metadata o projektech, které se nachází ve Vokabuláři webovém, do těchto tabulek se budou ukládat data, které se zpracují pomocí příslušných konvertorů. V tabulce Projectjsou uloženy základní informace o projektu – jeho název, kdy a kým byl vytvořen. Dále na sebe váže tabulky, které obsahují další informace o díle, např. klíčová slova, literární druh a žánr. Tabulka Snapshot uchovává verzovaná metadata o projektech. Tabulka User bude

3. Návrh

...

v rozšíření především sloužit pro uchování, jaký uživatel dané entity založil.

Tyto tři tabulky se již aktuálně nacházejí v relační databázi.

ExternalRepository + Name: string + Description: string + Url: string + License: string + Configuration: string

Project

ImportedRecordMetadata + LastUpdateMessage: String

User ImportHistory + Date: DateTime + Message: string

ExternalRepositoryType + ExternalId: string 1

Obrázek 3.5: Databázový model

ExternalRepository

V této tabulce se uchovávají informace o zdroji, ze kterého lze provést import. Jaký typ rozhraní poskytuje daný zdroj, určuje tabulka ExternalRe-positoryType, formát ve kterém jsou data poskytována se nachází v tabulce BibliographicFormat.

ImportHistory

Tabulka ImportHistoryv sobě uchovává záznamy o proběhlých a běžících importech z daného externího repozitáře. Obsahuje informaci o uživateli, který import spustil, začátku importu, jeho stavu a případně chybovou hlášku, kvůli které byl ukončen. Vytváří se při zahájení importu z externího repozitáře.

Váže na sebe tabulkuImportedRecordMetadata, která obsahuje verze záznamů, které byly v daném záznamu historie importovány.

...

3.2. Databázový model ImportedRecordMetadata

Tato tabulka obsahuje sloupec, do kterého lze uložit chybovou hlášku, kvůli které nemohla být aktuálně zpracovávaná verze záznamu importována.

V tabulceSnapshot, kterou na sebe váže, jsou uložena verzovaná konvertovaná metadata o jednotlivých projektech. O kterou verzi importovaného projektu se jedná, lze nalézt v tabulce ImportedProjectMetadata.

ImportedProjectMetadata

Uchovává dodatečné informace o importovaném záznamu, který se na-chází v tabulce Project. Váže se na tabulku ExternalRepository, tudíž určuje, z jakého repozitáře byl záznam importován.

FilteringExpressionSet

Tato tabulka udává název skupiny filtračních výrazů (tabulka FilteringEx-pression), které na sebe váže. Jednotlivé filtrační výrazy se skládají z klíče a hodnoty. Možnosti filtrování budou následovné:

.

Rovná se.

.

Obsahuje.

.

Začíná na.

.

Končí na.

Dále se v tabulce BibliographicFormatse nachází informace, pro který biblio-grafický formát je určen tento set. Jeden set může být využíván více externími repozitáři a naopak – repozitář může mít více filtračních setů.

3.2.1 Stavy importu

Informace o tom, že započal import, se uloží při založení importní úlohy pro daný repozitář. V tu chvíli bude jeho status nastaven na probíhající. Pokud bude v průběhu importu na úrovni importní úlohy zachycena výjimka, import se ukončí a do databáze se uloží status neúspěšný import a chyba, kvůli které byl ukončen. Pokud bude chyba zachycena na úrovni jednotlivých bloků, uloží se informace do entity ImportedRecordMetadataa import bude pokračovat.

Při dokončení importní úlohy se uloží stav importu jako úspěšný v případě, že žádná entita ImportedRecordMetadataneobsahuje chybu (v průběhu zpra-cování importní úlohy nebyla zachycena chyba na úrovni bloků). V opačném případě se nastaví stav importu jako úspěšný s varováním.

Při spuštění nového importu ze stejného repozitáře se získá poslední záznam importní historie, který skončil buď úspěšně, nebo úspěšně s varováním. Od toho data se začnou získávat modifikované záznamy skrze rozhraní.

3. Návrh

...

3.3 Návrh GUI

Tato kapitola se zaměřuje na vizualizaci podoby integrace bibliografického modulu pro import z externí zdrojů do portálu Vokabuláře webového. Modul bude v portálu prezentován pomocí sekceImport z externích repozitářů, která bude dostupná pouze uživatelům s daným oprávněním. Dostat se do sekce bude možné skrze záložky administrace. Sekce bude rozčleněna do tří podsekcí s následujícími možnostmi:

.

Externí repozitáře - seznam externích repozitářů, jejich tvorba, úpravy, mazání a zobrazování statistik importů z jednotlivých repozitářů.

.

Import - spuštění importu ze seznamu externích repozitářů, sledování průběhu importu.

.

Filtrační sety - seznam filtračních setů, jejich tvorba, úpravy, mazání.

Podsekce budou přístupné skrze postranní menu v levé části obrazovky.

Návrhy UI budou vytvořeny pomocí software Axure RP8 [37]. Aby byla zachována konzistence a jednotný vzhled portálu, vycházejí návrhy z aktuální podoby Vokabuláře webového. Horní menu je zcela převzato a formuláře jsou inspirovány již stávajícími formuláři, které se v portálu nacházejí. Seznamy mají stejný vzhled jako seznam v sekci Bibliografie.

3.3.1 Seznam externích repozitářů

Obrazovka se seznamem externích repozitářů bude uživateli zobrazena jako první poté, co vstoupí do sekce pro správu importu. Její vizualizace se nachází na obrázku 3.6. U každého repozitáře budou kromě názvu a popisu i základní informace (např. typ rozhraní, bibliografický formát, licence). Dále zde bude panel, který bude umožňovat úpravu repozitáře, jeho smazání a také zobrazení detailu. V detailu se budou nacházet informace o posledním importu (např.

kdy a kým byl proveden, kolik položek bylo importováno).

3.3.2 Vytvoření externího repozitáře

Formulář pro vytvoření externího repozitáře (obrázek 3.7) se skládá z části, která je stejná pro všechny repozitáře, a z části, která je dána typem rozhraní repozitáře. Jakmile bude vybránTyp rozhraní, závislá část formuláře se získá pomocí technologie AJAX a vykreslí se. V případě vizualizace návrhu se jedná o poleURL repozitáře a tlačítkoPřipojit. Na konci formuláře se bude

...

3.3. Návrh GUI nacházet seznam filtračních setů, kde bude možno vybrat ty sety, které se mají použít pro filtraci záznamů při importu z tohoto repozitáře.