.. _intro_changes:

=============================
Změny v jednotlivých verzích
=============================

Tento dokument shrnuje změny v jednotlivých verzích komponenty *PEVA Connector*.

Změny jsou uvedeny v chronologickém pořadí, nejdříve jsou uvedeny změny
v nejnovější verzi.

1.0.13
=====================

 * Oprava: Administrátoři fondu (``adminUsers`` / ``adminGroups``) se odesílali do
   Elzy při **každé** synchronizaci fondu, tedy i při jeho aktualizaci. Protože
   Elza bere odeslaný seznam jako úplný a nahrazuje jím stávající oprávnění,
   docházelo při opětovné synchronizaci ke **ztrátě oprávnění přiřazených ručně
   v Elze**. Administrátoři se nyní nastavují **pouze při prvním založení fondu**;
   při aktualizaci se neodesílají a ručně nastavená oprávnění zůstávají zachována
   (viz :ref:`config_peva`).

1.0.12
=====================

 * Oprava: Výchozí oprávnění podle oddělení (``peva.departments``) se u fondů
   **hlavní instituce** vůbec neuplatňovala. Oddělení se párovalo pouze proti
   ``peva.institutionId`` (UUID), zatímco stažený fond nese jako identifikátor
   instituce kód archivu (``peva.username``). Fondy tak dostaly jen výchozí
   administrátory z ``peva.fund`` místo administrátorů příslušného oddělení.
   Instituce fondu se nyní - stejně jako u ostatního párování - rozpozná podle
   UUID **i** kódu archivu (viz :ref:`config_peva`).

1.0.11
=====================

 * Oprava: Převzetí **starší (snapshotové) databáze Imwhooseru** selhávalo při
   startu chybou ``column ... create_time does not exist``. Taková databáze
   vznikla před přidáním sloupců ``create_time`` / ``send_time`` / ``scope`` do
   ``elza_queue`` a PEVA Connector je (na rozdíl od tabulky ``pv_fund``) nedoplňoval.
   Idempotentní changelog nyní tyto chybějící sloupce doplní i na převzaté
   databázi (viz :ref:`config_migration`).

1.0.10
=====================

 * Oprava: Metrika ``queue.error_at`` pro PEvA chybně rostla i bez chyby (vracela
   dobu od startu komponenty a navíc posunutou o časové pásmo). Nyní vrací -1,
   pokud poslední zpracování proběhlo úspěšně, a délku chybového stavu jen při
   skutečné chybě; sjednocen výpočet času metriky (viz :ref:`oper_monit`).
 * Nově: Metrika ``queue.last_success`` je nově k dispozici i pro frontu do Elzy
   (doba od posledního úspěšného odeslání).
 * Dokumentace: doplněn popis generování interního kódu fondu (``internalCode``)
   a monitorovacích metrik, rozšířena konfigurační dokumentace. Upraven proces
   publikace dokumentace na web - souběžně se zveřejňuje stabilní (``current``)
   a vývojová (``next``) verze.

1.0.9
=====================

 * Nově: Zpřístupněn endpoint Prometheus (Actuator ``health`` a ``prometheus``)
   pro monitorování běhu komponenty (viz :ref:`oper_monit`, :ref:`config_monit`).
 * Nově: Metriky ``queue.last_success`` (doba od posledního úspěšného stahování
   z PEvA) a ``queue.oldest_blocked_age`` (stáří nejstaršího záznamu uvízlého ve
   frontě do Elzy) pro snazší hlídání výpadků.

1.0.8
=====================

 * Nově: Volitelné generování interního kódu fondu (``internalCode``) pomocí
   výrazu SpEL s proměnnou ``#fundNumber``; lze nastavit globálně
   (``peva.internalCode``) nebo pro jednotlivé instituce (viz :ref:`config_peva`).
 * Změna: Z konfigurace ``elza`` byly odstraněny nepoužívané volby ``scope``
   a ``systemCode``.
 * Oprava: Správné párování instituce podle ``institutionCode`` / ``username``
   při odesílání fondů více institucí.
 * Oprava: Odstraněno selhání kontrolního součtu Liquibase na již nasazených
   databázích (zafixován changeset ``peva-2-pv_fund``).

1.0.7
=====================

 * Nově: Hodnota ``name`` u oddělení v konfiguraci ``departments`` se páruje
   proti názvu **i** číslu oddělení v PEvA. Při stahování se k fondu ukládají
   obě hodnoty, takže stačí uvést kteroukoli z nich (viz :ref:`config_peva`).
 * Změna: Při převzetí databáze se entity-side schéma Imwhooseru (sloupec
   ``elza_queue.entity_id`` a tabulky ``imw_*`` / ``*_person``), které PEVA
   Connector nevyužívá, odstraní automaticky a nevratně; úklid již není volitelný
   (zrušen Liquibase kontext ``cleanup`` i nastavení ``spring.liquibase.contexts``)
   (viz :ref:`config_migration`).
 * Dokumentace: popsáno, že fondy zakládané konektorem jsou v Elze *spravované*
   (jen pro čtení) a servisní účet Elzy proto potřebuje oprávnění *ADMIN*; při
   chybě odeslání záznam zůstává ve frontě a odeslání se opakuje až do úspěchu
   (viz :ref:`intro_readonly`).

1.0.6
=====================

 * Oprava: Na převzatých databázích Imwhooseru se doplní sloupec
   ``department_name`` do tabulky ``pv_fund`` (potřebný pro párování oddělení).

1.0.1 - 1.0.5
=====================

 * Interní: úpravy publikace artefaktů (Artifactory) a procesu nasazení (CI/CD),
   přidána instalační/aktualizační stránka ``/get/peva-connector``. Bez funkčních
   změn aplikace.

1.0.0
=====================

 * Nově: Vyčlenění importu PEvA z nástroje Imwhooser do samostatné aplikace
   *PEVA Connector*. Funkčně odpovídá původnímu importu PEvA.
 * Nově: Idempotentní migrace databáze - schéma se buď vytvoří na prázdné DB,
   nebo se převezme existující databáze Imwhooseru v "PEVA módu"
   (viz :ref:`config_migration`).
 * Nově: Distribuční balíček ``.zip`` (jar, ukázková konfigurace, dokumentace).
