3.6.1. Konfigurace PEvA
Konfigurace PEvA slouží pro čtení seznamu archivních souborů daného archivu.
# Nastavení pro import z PEvA
peva:
url: https://portal.nacr.cz/peva-external/ws/peva/
username: 610000070
password: XXXXXXX
userId: uncz610000070t5454
institutionId: cdd5810c-ac35-49a7-8a74-410982319218
rulesetCode: ZP2015
# volitelně: výraz pro generování interního kódu fondu (viz níže)
internalCode: "ABC-#{#fundNumber}"
fund:
defaultScopes:
- CAM
- "MUA-GLOBAL"
# výchozí administrátoři zakládaných fondů (viz níže)
defaultAdminUsers:
- 123
defaultAdminGroups:
- 45
interval: 3600
batchSize: 100
processing:
enabled: true
# výchozí administrátoři pro oddělení hlavní instituce (viz níže)
# do name se uvádí název NEBO číslo oddělení v PEvA
departments:
- name: "1. oddělení"
adminUsers:
- 321
adminGroups:
- 54
# další instituce, pro které se stahují fondy
institutions:
- institutionId: 4ab78684-ef87-4252-b3d4-a1d2a1abc3cd
username: 223101010
# výraz pro interní kód fondů této instituce (override hodnoty peva.internalCode)
internalCode: "XYZ-#{#fundNumber}"
# administrátoři specifičtí pro tuto instituci (override výchozích hodnot)
adminUsers:
- 678
adminGroups:
- 90
# administrátoři specifičtí pro jednotlivá oddělení této instituce
# (override hodnot instituce i výchozích hodnot)
departments:
- name: "Oddělení fondů státní správy"
adminUsers:
- 876
adminGroups:
- 9
Vybraná nastavení:
processing.enabled- zapnutí/vypnutí stahování z PEvA.
interval- interval kontroly změn v sekundách.
batchSize- velikost stránky při stahování seznamu NAD listů.
Administrátoři fondu
Při zakládání fondu v Elze lze automaticky nastavit jeho administrátory -
uživatele (adminUsers / defaultAdminUsers) a skupiny
(adminGroups / defaultAdminGroups).
Varování
Hodnotami jsou databázová ID uživatelů a skupin v Elze (do Elzy se posílají ID, nikoli přihlašovací jména ani kódy). ID je nutné zjistit v cílové instalaci Elzy.
Administrátoři se určují na třech úrovních. Použije se vždy první úroveň, která má pro daný seznam (uživatelé / skupiny) neprázdnou hodnotu, v pořadí:
Pro konkrétní oddělení - nejvyšší priorita. Oddělení se identifikuje jedinou hodnotou
name, která se porovnává s názvem nebo číslem oddělení v PEvA (entita Department, položky name / number). Uživatel obvykle neví, zda v PEvA zadává název, nebo číslo, proto stačí uvést jednu hodnotu a spáruje se proti oběma. Uvádí se v sekcidepartments- buď u hlavní instituce přímo podpeva(peva.departments), nebo u dalších institucí uvnitř dané položky (institutions[].departments). Každá položka mánamea volitelněadminUsers/adminGroups.Pro konkrétní instituci v sekci
institutions(adminUsers,adminGroups) - pokud jsou uvedeny, nahrazují (override) výchozí hodnoty pro danou instituci.Výchozí v sekci
fund(defaultAdminUsers,defaultAdminGroups) - použijí se pro hlavní instituci a pro každou instituci, která nemá vlastní nastavení.
Seznamy uživatelů a skupin se vyhodnocují nezávisle - fond tak může získat například uživatele z úrovně oddělení a skupiny z úrovně instituce, pokud dané oddělení skupiny nedefinuje.
Poznámka
Údaje o oddělení nejsou přímo v listu NAD - ten nese jen identifikátor (UUID)
oddělení. Aplikace si proto při stahování název i číslo oddělení dotáhne
z PEvA (volání getDepartment) a uloží je k fondu. Hodnota name
v konfiguraci musí přesně odpovídat názvu nebo číslu oddělení v PEvA.
Pokud nejsou administrátoři uvedeni, fond se zakládá bez nastavených administrátorů.
Důležité
Administrátoři se nastavují pouze při prvním založení fondu v Elze. Při
následných aktualizacích fondu (opětovné synchronizaci po změně v PEvA) se
seznam administrátorů záměrně neodesílá, takže oprávnění přiřazená ručně
v Elze zůstanou zachována. Elza totiž bere odeslaný seznam adminUsers /
adminGroups jako úplný (nahrazuje jím stávající oprávnění fondu); kdyby se
posílal při každé synchronizaci, ručně nastavená oprávnění by se resetovala.
Interní kód fondu (internalCode)
Při odesílání fondu do Elzy lze automaticky vyplnit jeho interní kód
(internalCode). Hodnota se počítá z výrazu uvedeného v konfiguraci pomocí
šablony jazyka Spring Expression Language (SpEL); dosazovaná část se zapisuje
do oddělovačů #{ }. K dispozici je proměnná #fundNumber s číslem fondu,
takže např. výraz:
internalCode: "ABC-#{#fundNumber}"
vytvoří pro fond s číslem 123 interní kód ABC-123.
Výraz se hledá podle instituce fondu:
Hlavní instituce (
peva.institutionId) - použije sepeva.internalCode.Další instituce uvedené v sekci
institutions- použije seinstitutions[].internalCodedané instituce. Tato hodnota nahrazuje (override)peva.internalCode; pokud u instituce není uvedena, interní kód se pro fondy této instituce negeneruje (nepřebírá se z hlavní instituce).
Pokud výraz pro danou instituci není uveden, fond se odesílá bez interního kódu.
Poznámka
Interní kód se dopočítává při každém odeslání fondu do Elzy (založení i aktualizace).