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

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