2.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ů.
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).