.. _config_peva:

====================
Konfigurace PEvA
====================

Konfigurace PEvA slouží pro čtení seznamu archivních souborů daného archivu.

.. code-block:: yaml

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

.. warning::

   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
   svým **názvem v PEvA** (entita *Department*, položka *name*). 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.

.. note::

   Název oddělení není přímo v listu NAD - ten nese jen identifikátor (UUID)
   oddělení. Aplikace si proto při stahování název oddělení dotáhne z PEvA
   (volání *getDepartment*) a uloží jej k fondu. Hodnota ``name`` v konfiguraci
   musí přesně odpovídat názvu oddělení v PEvA.

Pokud nejsou administrátoři uvedeni, fond se zakládá bez nastavených
administrátorů.
