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

.. note::

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