.. _vyber_konfig: ================================ Konfigurace komponenty Výběr ================================ Konfigurace komponenty je uložena v jednom konfiguračním souboru. Soubor je ve formátu YAML, který je pojmenován :file:`eskartace-deploy.yml`. Součástí distribuce komponenty je šablona konfiguračního souboru (:file:`eskartace-deploy.yml.template`). V šabloně jsou popsány jednotlivé konfigurační volby. Předmětem konfigurace komponenty je: - :ref:`webové rozhraní ` - :ref:`připojení k databázi ` - :ref:`nastavení úložiště SIPů ` - :ref:`nastavení logování ` - :ref:`nastavení adres UPL ` -------------------- Umístění konfigurace -------------------- Pro každou jednotlivou instanci komponenty je vhodné mít vždy samostatný adresář, kde jsou umístěny konfigurace, logy, případně i databázové soubory. Příklad rozložení adresářů a souborů: +----------------------------------+---------------------------------+ | Soubor | Význam | +==================================+=================================+ | ``eskartace-x.y.z.jar`` | Binární soubor se službou | +----------------------------------+---------------------------------+ | ``config/eskartace-deploy.yml`` | Konfigurace instance komponenty | +----------------------------------+---------------------------------+ | ``data/....`` | Adresář pro přijaté SIPy | +----------------------------------+---------------------------------+ | ``logs/....`` | Adresář pro logovací soubory | +----------------------------------+---------------------------------+ .. _komp_eskartace_konfig_web: --------------- Webové rozhraní --------------- Komponenta poskytuje webové rozhraní pro přejímku. Port, kde je webové rozhraní k dispozici se nastavuje v konfiguraci. V konfiguraci je také možné přepnout komunikaci mezi :token:`HTTP` a :token:`HTTPS`. Technické detaily nastavení HTTPS jsou součástí dokumentace Spring Boot (https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-web-servers.html#howto-configure-ssl). Příklad nastavení: .. code-block:: yaml # Port, kde bude služba dostupná (HTTP/HTTPS) server: port: 8203 # Nastavení HTTPS (standardně vypnuto) # ssl: # enabled: true # key-store: keystore.jks # key-store-password: secret # key-password: another-secret .. _komp_eskartace_create_db: -------------------- Vytvoření databáze -------------------- 1. Vytvoření uživatele: .. code-block:: sql CREATE ROLE app WITH LOGIN PASSWORD 'jk23jkmn3az'; 2. Vytvoření DB .. code-block:: sql CREATE DATABASE vyber OWNER app; .. _komp_eskartace_konfig_db: -------------------- Připojení k databázi -------------------- Součástí zkompilované aplikace je JDBC ovladač pro připojení k MySQL a PostgreSQL databázi. Databáze musí být vytvořena samostatně administrátorem. Zvolený uživatel musí mít oprávnění volat DDL příkazy (vytvářet tabulky). Ovladače MySQL Connector/J: verze 8.0.13 Ovladače PostgreSQL: verze 42.2.5 .. code-block:: yaml spring: datasource: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://127.0.0.1:5432/vyber username: app password: app V části :token:`url` se definuje řetězec pro připojení k databázi, přihlašovací údaje se uvedou do parametrů :token:`username` a :token:`password`. .. _komp_eskartace_konfig_data: -------------------------------------- Pracovní adresář SIPů a název instance -------------------------------------- Modul má pracovní soubory zpracovávaných SIPů uloženy na disku. Cesta k tomuto úložišti musí být nastavena. Je vhodné nastavit úplnou cestu. Název instance se používá při komunikaci s dalšími komponentami. Sekce obsahuje pevná nastavení komponetny jako je číslo archivu a jeho název. .. code-block:: yaml eskartace: # Cesta, kde jsou uloženy datové soubory # Ve Windows se zadává takto: D:\\projects\\vyber\\data dir: data # Název instance instanceId: vyber-devel # Kód archivu použitý v reportech archiveCode: 620000010 # Název archivu používaný v reportech archiveName: Archiv UK Praha # Url používané v reportech jako odkaz na řízení reportUrl: http://127.0.0.1:8200/eskartace outputFormat: ESM # Plný rozsah evidenčních jednotek fullEJ: true # Je používáno zařazení allowSubmission: true # Není používána interní správa uživatelů allowUserManagement: false # Nelze vytvářet jednorázové účty pro SIP řízení allowOtAccountCreate: false # Nelze vytvářet jednorázové účty pro MSK řízení allowOtAccountCreateMSK: false allowMultipleOriginators: true # zakaze aktualizaci komponent allowComponentUpdate: false # Formát čísla řízení idFormat: CZAUK620000100ESK%d # nelze editova SIPy enableSIPEdit: false # vytvořené zip soubory pro stažení balíčku jsou smazány po 24 hodinách deleteZippedPackagesAter: 24 # adresář se šablonami reportů templatesDir: D:\\projects\\vyber\\templates personIdConvertor: elza # EAD s rozšířeným popisem osob pruvodkaFormat: DIGIARCH2021 #Cesta k souboru se sablonami pro vytvareni balicku se strukturou v MSK mskPackageTemplate: C:\\projects\\nda\\code\\eskartace\\config\\templates\\msk.xml #Zprava zobrazená v seznamu řízení applicationMessage: Testovací instance #Zkopiruje ukladaci jednotku z dokumentu do spisu processUJ: false #Na urovni spisu importuje poznamku processNote: false #Po jake dobe maze dokumenty z dokoncenych rizeni deleteProcessedAfterHours: 720 #Ktere casti maze # data - soubory sipu # metadata - soubory s reporty a vygenerovanymi eady # editor - reprezentace sipu v databazi # history - zaznamy historie v databazi # packages - seznam balicku v databazi deleteProcessedScope: [data,metadata,editor,history,packages] V části :token:`eskartace` se definuje cesta k adresáři, kde se budou ukládat zpracovávaná data, název instance :token:`instance` používaný při komunikaci s ostatními systémy a adresa, ze které je možné stahovat reporty :token:`reportUrl`. .. _komp_eskartace_konfig_log: ------------------ Nastavení logování ------------------ Logování se nastavuje v sekci :token:`logging`. Komponenta využívá nástroj *Spring Boot*. Možnosti nastavení logování jsou detailně popsány v jeho dokumentaci (https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html). Příklad nastavení logování: .. code-block:: yaml logging: file: logs/vyber.log pattern: level: "%X{userName:--} %p" level: com.lightcomp: 'INFO' .. _komp_eskartace_konfig_upl: ----------------------- Nastavení adres pro UPL ----------------------- Nastavení UPL slouží pro definici adres WSDL rozhraní a FileTransfer rozhraní služby. Příklad nastavení UPL: .. code-block:: yaml upl: url: http://127.0.0.1:9007/upl/ws ftUrl: http://127.0.0.1:9007/upl/ft authorization: username: upl-ws password: uplws1973 authorizationType: Basic ----------------------- Nastavení adres pro CRO ----------------------- Nastavení CRO slouží pro konfiguraci služby na rozesílání notifikací/mailů .. code-block:: yaml cro: sender: mailservice url: http://localhost:8080/esm/ws/mailService # Puvod notifikace source: vyber-devel user: vyber-devel convertIdToEmail: true authorization: username: ais password: ais authorizationType: Basic wssecurity: true ------------------------------------------------------------ Nastavení adres pro odesílání řízení/přejímky/obohace do esm ------------------------------------------------------------ .. code-block:: yaml eprejimka: url: http://localhost:8080/esm/cxf/ft authorization: username: eprejimka-ws password: epws1973 authorization-type: Basic -------------------- Konfigurace exiftool -------------------- .. code-block:: yaml exiftool: app: exiftool ---------------- Konfigurace ELZA ---------------- .. code-block:: yaml elza: url: http://localhost:8210/services/ExportService soapLogging: true authorization: username: vyber password: vyber ---------------------------------------------------- Konfigurace externích restových služeb volaných z UI ---------------------------------------------------- .. code-block:: yaml ui: uplUrl: /upl/upl admUrl: /vyber/api title: Výběr pevUrl: https://frnk.lightcomp.cz/uk/aistest/esm/api/data_import elzaUrl: https://frnk.lightcomp.cz/uk/aistest/archx/elza/cuni-ais-api/search-ap