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 sekci departments - buď u hlavní instituce přímo pod peva (peva.departments), nebo u dalších institucí uvnitř dané položky (institutions[].departments). Každá položka má name a 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 se peva.internalCode.

  • Další instituce uvedené v sekci institutions - použije se institutions[].internalCode dané 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).