3.3.9. Synchronizace entit
Záznamy archivních entit v Elza je možné stahovat, odesílat nebo uvádět do souladu s jinými informační systémy (zejména CAM).
Instance Elza může komunikovat s více externími systémy najednou, ale jednotlivé záznamy archivních entit mohou být za účelem sjednocení (synchronizace) aktivně napojené pouze na jeden externí systém, který je označen v administraci jako prioritní.
Synchronizace probíhá automaticky dle nastavení integrace nebo ručně pomocí uživatelského rozhraní v modulu Archivní entity.
Dostupné akce z menu v horním panelu:
- Import ze systému
Umožňuje vyhledat entity podle různých kritérií a převzít je do zvolené oblasti.
- Fronta synchronizace
Nabízí přehled o aktualizaci, stažení nebo odeslání konkrétních entit, které je možné vyhledávat dle externího systému, oblasti a stavu ve frontě synchronizace.
Dostupné akce ze záhlaví entity:
- Zápis entity do externího systému
Umožňuje zapsat entitu do externího systému.
- Zapsat změny
Zapíše lokální změny entity v instanci Elza do externího systému.
Každá entita v systému CAM má jedinečné ID a UUID, které mimo jiné brání opětovnému stažení do Elza a vzniku duplicitních záznamů.
Poznámka
Některé situace, kdy v jedné instanci Elza existují entity napojené na více externích systémů a není možné je vzájemně synchronizovat a jednoduše deduplikovat, lze řešit pomocí funkcionality Kopie entity.
Napojené entity
V případě napojení archivní entity na jiný systém je v jejím záhlaví k dispozici citace zdroje včetně ID, UUID a identifikace zapisovatele poslední změny do externího systému, a dále funkční tlačítko pro jednotlivé akce synchronizace.
S napojenými entitami je možné v závislosti na jejich obsahu a stavu synchronizace provádět tyto akce:
- Aktualizace údajů z externího systému
Převezme změny z externího systému do instance Elza.
- Zápis změn do externího systému
Zapíše lokální změny entity v instanci Elza do externího systému.
- Převzetí napojených entit
Převezme z externího systému související entity napojené k dané entitě a založí jejich záznamy v instanci Elza, pokud nebyly již dříve staženy.
Oprávnění uživatelů k výše popsaným akcím se přidělují v administraci.
Vazbu archivní entity na externí systém nelze zrušit. Řešením je vytvoření entity nové v instanci Elza a zneplatnění té napojené. Případné odeslání takovéto entity do stejného externího systému může být zablokováno kontrolou bránící vzniku duplicitních záznamů.
U entit, které jsou zapsány v systému CAM, není možné měnit třídu a podtřídu entity.
Stavy synchronizace
Aktuální stav synchronizace entity mezi instancí ELZA a externím systémem je znázorněn jak v záhlaví entity, tak u jednotlivých prvků popisu barevnými symboly s tímto významem a důsledky:
- Aktivní synchronizace (zelený) = optimální stav
popis entity v instanci Elza i externím systému je shodný
probíhá automatická aktualizace z externího systému dle nastavení integrace / serveru
- Existuje lokální změna (žlutý) = dočasný stav
řešení: akce Zápis změn do externího systému
v instanci Elza existuje novější verze entity se změněným popisem
automatická aktualizace z externího systému je zastavena a opětovně spuštěna až akcí Zápis změn do externího systému (při použití akce Aktualizace údajů z externího systému v této situaci k opětovné aktivaci synchronizace nedojde, pokud se lokální změny vyskytují u nově vytvořených částí popisu, a zároveň může dojít ke ztrátě případných lokálních změn u částí popisu, které jsou ruční aktualizací opětovně převzaty z externího systému)
- Nesynchronizuje se (červený) = nechtěný stav
řešení: akce Aktualizace údajů z externího systému
v instanci Elza i externím systému existují novější verze entity se změněným popisem
automatická aktualizace z externího systému neprobíhá a spustí se znovu až akcí Aktualizace údajů z externího systému (akce Zápis změn do externího systému není možná)
Varování
Části popisu (party) existující v Elza a následně změněné v externím systému jsou po provedení akce Aktualizace údajů z externího systému převzaty z externího systému. Případné změny těchto částí popisu provedené souběžně v Elza jsou aktualizací ztraceny (v Elza jsou zachovány původní části popisu, které nebyly po odeslání entity do externího systému změněny, a dále ty, které byly v Elza nově vytvořeny).
Po zneplatnění nebo nahrazení entity ve stavu Aktivní synchronizace provedeném v externím systému dojde k jejímu zneplatnění nebo nahrazení také v Elza. Pokud v Elza není k dispozici nahrazující entita (ve stavu Aktivní synchronizace), entita odstraněná v externím systému zůstane v Elza ve stavu nahrazená a odstranění případné duplicity je třeba provést přímo v instanci Elza.
Synchronizace a související entity
Při synchronizaci archivních entit je třeba věnovat zvláštní pozornost entitám, které jsou napojeny k záznamům entit pomocí vztahů (související entity).
Pokud záznam archivní entity obsahuje související entitu, která je k dispozici v daném externím systému, je při akci Zápis entity do externího systému odeslán záznam archivní entity včetně tohoto vztahu a výsledkem je návazná entita ve stavu Aktivní synchronizace.
Pokud záznam archivní entity obsahuje související entitu, která není k dispozici v daném externím systému, je při akci Zápis entity do externího systému odeslán záznam archivní entity bez tohoto vztahu a výsledkem je návazná entita ve stavu Lokální změna.
Pro dosažení stavu Aktivní synchronizace je třeba do externího systému odeslat také veškeré související entity (akce Zápis entity do externího systému) a v případě potřeby u návazných entit ve stavu Lokální změna následně provést jejich dodatečné odeslání do externího systému (akce Zápis změn do externího systému).
Postupy synchronizace
- Entita A (návazná)
-> vztah k entitě B
Entita B (související)
- Ideální postup:
Zápis entity B do externího systému => Aktivní synchronizace entity B
Zápis entity A do externího systému => Aktivní synchronizace entity A
- Variantní postup:
Zápis entity A do externího systému => Lokální změna entity A
Zápis entity B do externího systému => Aktivní synchronizace entity B
Zápis změny entity A do externího systému => Aktivní synchronizace entity A
- Entita C (návazná + související)
-> vztah k entitě D
- Entita D (návazná + související)
-> vztah k entitě C
- Postup:
Zápis entity C do externího systému => Lokální změna entity C
Zápis entity D do externího systému => Aktivní synchronizace entity D
Zápis změny entity C do externího systému => Aktivní synchronizace entity C
Poznámka
Pro vyhodnocení stavu synchronizace návazné entity hraje roli to, zda je související entita aktuálně dostupná v externím systému, nikoli stav synchronizace související entity v Elza. Související entita ve stavu Lokální změna proto nebrání aktivní synchronizaci návazné entity, pokud byla úspěšně zapsána do externího systému.
Varování
Akce Zápis entity do externího systému skončí chybou, pokud záznam odesílané entity obsahuje související entitu, která není k dispozici v cílovém externím systému a popis jejího vztahu k odesílané entitě uvádí další prvky popisu (Datace vztahu od, Datace vztahu do, Poznámka). Řešením je předchozí odeslání souvisejících entit dle postupu výše.
Omezení synchronizace dle stavů entit
Výše zmíněné akce synchronizace jsou omezeny stavy příslušných entit.
Záznamy entit ve stavu ke schválení a záznamy entit s vytvořenou revizí nelze aktualizovat z externího systému (Aktualizace údajů z externího systému), a to ani v rámci automatické aktualizace.
Do externího systému je možné zapsat záznamy entit (Zápis entity do externího systému), popřípadě jejich změny (Zápis změn do externího systému) pouze v případě entit ve stavu nová, k doplnění a schválená.
Entity ve stavu ke schválení (Zápis entity do externího systému) nebo nepotvrzené změny záznamů entit, uskutečněné v režimu revize (Zápis změn do externího systému) není možné odeslat do externího systému.
V administraci lze volitelně nastavit, aby byly do externího systému odesílány pouze entity ve stavu schválená.
Fronta synchronizace s externími systémy
Informace o stavu komunikace s externími systémy, stažení, odeslání nebo aktualizaci konkrétních entit jsou k dispozici v přehledu Fronta synchronizace v nabídce horního panelu.
Rozlišují se následující stavy entit ve frontě (příklady ve vztahu k CAM):
- K aktualizaci
entita existující v Elza i CAM, čekající na aktualizaci do Elza
- Ke stažení
entita existující v CAM, čekající na stažení do Elza
- Aktualizováno / Staženo
informace o úspěšném načtení záznamu o entitě z CAM
v závislosti na omezení synchronizace dle stavů entit se může jednat o případy:
entita existující v Elza i CAM, úspěšně aktualizovaná do Elza
entita existující v CAM, úspěšně stažená do Elza
- K odeslání
entita existující pouze v Elza, čekající na odeslání do CAM
entita existující v Elza i CAM, čekající na aktualizaci do CAM
- Odesláno
entita existující pouze v Elza, úspěšně odeslaná do CAM
entita existující v Elza i CAM, úspěšně aktualizovaná do CAM
- Chyba
entity, kde došlo k technickému selhání komunikace s externím systémem (při aktualizaci, stažení nebo odeslání entity)
Poznámka
Bezprostředně po odeslání entity nebo zápisu jejích změn do CAM (stav Odesláno) dochází v závislosti na nastavení integrace s externím systémem ke zpětnému stažení informací o zápisu entity do CAM (stav Aktualizováno / Staženo). Příslušnou entitu lze proto najít ve frontě synchronizace v důsledku jednoho požadavku pod oběma stavy. Stav Aktualizováno / Staženo obecně zahrnuje případy úspěšného načtení informace o záznamu entity z CAM bez ohledu na to, zda došlo ke stažení nebo aktualizaci (změně) záznamu entity.