User Tools

Site Tools


documentation:exchanger

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
documentation:exchanger [2018/12/12 08:52]
740803864 [Kontrola vypršení obecného požadavku]
documentation:exchanger [2018/12/12 13:09]
740803864 [Aplikační]
Line 31: Line 31:
 ==== Infrastrukturní ==== ==== Infrastrukturní ====
 Nastavení ADUCID: Nastavení ADUCID:
-  * **aimUrl** - %%URL%% k AIM serveru, např. %%https://aim.demo.anect.com%%+  * **aimUrl** - %%URL%% k AIM serveru, např. ''%%https://aim.demo.anect.com%%''
 Nastavení přístupu k SQL databázi: Nastavení přístupu k SQL databázi:
   * **jdbc.url** - JDBC %%URL%% pro připojení k SQL databázi, očekává se celý JDBC řetězec, tedy například:   * **jdbc.url** - JDBC %%URL%% pro připojení k SQL databázi, očekává se celý JDBC řetězec, tedy například:
-    * PostgreSQL -  %%jdbc:postgresql://host/exchanger%% +    * PostgreSQL -  ''%%jdbc:postgresql://host/exchanger%%'' 
-    * MS SQL - %%jdbc:sqlserver://host;databaseName=exchanger;%%+    * MS SQL - ''%%jdbc:sqlserver://host;databaseName=exchanger;%%''
   * **jdbc.username** - uživatelské jméno pro přístup k SQL databázi   * **jdbc.username** - uživatelské jméno pro přístup k SQL databázi
   * **jdbc.password** - uživatelské heslo pro přístup k SQL databázi   * **jdbc.password** - uživatelské heslo pro přístup k SQL databázi
Line 44: Line 44:
   * **smtp.password** - uživatelské heslo pro přístup k SMTP serveru   * **smtp.password** - uživatelské heslo pro přístup k SMTP serveru
 Další nutné infrastrukturní parametry: Další nutné infrastrukturní parametry:
-  * **global.repositoryPath** - cesta k adresáři, kde se budou ukládat odesílané soubory, např. /opt/anect/exchanger/repo +  * **global.repositoryPath** - cesta k adresáři, kde se budou ukládat odesílané soubory, např. ''/opt/anect/exchanger/repo'' 
-  * **global.domainFile** - cesta k souboru s definicemi domén, např. /opt/anect/exchanger/domain.txt, význam souboru je následující:+  * **global.domainFile** - cesta k souboru s definicemi domén, např. ''/opt/anect/exchanger/domain.txt'', význam souboru je následující:
     * seznam definuje domény uživatelů, kteří mají povolenou samoregistraci (A level uživatelé)     * seznam definuje domény uživatelů, kteří mají povolenou samoregistraci (A level uživatelé)
     * na každé řádce může být pouze jedna maska domény     * na každé řádce může být pouze jedna maska domény
Line 67: Line 67:
  
 Dále jsou uvedeny konfigurační položky automatických úloh, které jsou spouštěny na základě Cron definice. Jedná se rozšířenou Cron definici s podporou vteřin, více viz https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html. Konfigurační parametry jsou následující: Dále jsou uvedeny konfigurační položky automatických úloh, které jsou spouštěny na základě Cron definice. Jedná se rozšířenou Cron definici s podporou vteřin, více viz https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html. Konfigurační parametry jsou následující:
-  * **scheduler.resendEmailCron** - Cron definice automatické úlohy pro opakování odeslání nedoručených emailů +  * **scheduler.resendEmailCron** - Cron definice automatické úlohy pro opakování odeslání nedoručených emailů, více viz [[documentation:exchanger#opakovane_odesilani_emailu|Opakované odesílání emailů]] 
-  * **scheduler.checkLetterExpirationCron** - Cron definice automatické úlohy pro označení zásilek jako expirovaných +  * **scheduler.checkLetterExpirationCron** - Cron definice automatické úlohy pro označení zásilek jako expirovaných, více viz [[documentation:exchanger#kontrola_vyprseni_platnosti_zasilky|Kontrola vypršení platnosti zásilky]] 
-  * **scheduler.notifyRecipientCron** - Cron definice automatické úlohy pro posílání notifikace uživatelům, které si ještě nestáhli zásilku +  * **scheduler.notifyRecipientCron** - Cron definice automatické úlohy pro posílání notifikace uživatelům, které si ještě nestáhli zásilku, více viz [[documentation:exchanger#notifikace_prijemce|Notifikace příjemce]] 
-  * **scheduler.checkRequestExpirationCron** - Cron definice automatické úlohy pro odstranění nevyužitých/neodeslaných požadavků, jako jsou např. žádost o registraci, žádost o registraci nového emailu, atd.+  * **scheduler.checkRequestExpirationCron** - Cron definice automatické úlohy pro odstranění nevyužitých/neodeslaných požadavků, jako jsou např. žádost o registraci, žádost o registraci dalšího emailu, atd., více viz [[documentation:exchanger#kontrola_vyprseni_obecneho_pozadavku|Kontrola vypršení obecného požadavku]]
  
 ===== Logování ===== ===== Logování =====
Line 125: Line 125:
  
 ===== Základní stavové diagramy ===== ===== Základní stavové diagramy =====
 +V některých diagramech se pracuje s počtem pokusů o opakované odeslání, tj. textem ve smyslu ''5 resend attemps''. Pracuje se tedy s konkrétní hodnotou pěti pokusů o odeslání. Důvodem je jednodušší pochopení celé problematiky. Hodnotu počtu pokusů o odeslání je možné nastavit na libovolnou hodnotu úpravou konfiguračního parametru ''maxResendAttempts''.
  
 ==== Stavový diagram zásilky ==== ==== Stavový diagram zásilky ====
Line 134: Line 135:
 ==== Stavový diagram metadat souboru ==== ==== Stavový diagram metadat souboru ====
 {{ :documentation:file_metadata_sm.png |}} {{ :documentation:file_metadata_sm.png |}}
 +
 +==== Stavový diagram registrace uživatele/přidání dalšího emailu ====
 +{{ :documentation:email_sm.png |}}
 +
 +==== Stavový diagram uživatele ====
 +{{ :documentation:user_sm.png |}}
 +
 +==== Stavový obnovení účtu ====
 +{{ :documentation:reproofing_sm.png |}}
  
 ===== Automatické úlohy ===== ===== Automatické úlohy =====
-Součástí aplikace jsou automatizované úlohy, které provádí rozmanité úlohy. Podrobnější popis těchto úloh je zahrnut v kapitolách níže.+Součástí aplikace jsou automatizované úlohy, které provádí rozmanité úkoly. Podrobnější popis těchto úloh je zahrnut v kapitolách níže.
  
 ==== Opakované odesílání emailů ==== ==== Opakované odesílání emailů ====
 Tato úloha se stará o opakované odesílání emailů, pokud z nějakého technického důvodu nebyly odeslány. Každý neodeslaný email je označený jako ''*_NOT_SENT'' (prefix se liší dle typu emailu) a tato úloha se v pravidelných intervalech určených konfigurační hodnotou ''scheduler.resendEmailCron'' pokouší email znovu odeslat. Počet pokusů o doručení je určený konfigurační hodnotou ''global.maxResendAttempts''. Při hodnotě Cron výrazu ''0 0 * * * *'' a počtu pokusů o doručení nastavených na pět se úloha pokusí pětkrát odeslat email, a to každou celou hodinu. Pokud se ani poté email nepodaří doručit, je označen za nedoručitelný, tj. ''*_NOT_DELIVERABLE'' (prefix se liší dle typu emailu). Tato úloha se snaží odeslat následující neúspěšné emaily: Tato úloha se stará o opakované odesílání emailů, pokud z nějakého technického důvodu nebyly odeslány. Každý neodeslaný email je označený jako ''*_NOT_SENT'' (prefix se liší dle typu emailu) a tato úloha se v pravidelných intervalech určených konfigurační hodnotou ''scheduler.resendEmailCron'' pokouší email znovu odeslat. Počet pokusů o doručení je určený konfigurační hodnotou ''global.maxResendAttempts''. Při hodnotě Cron výrazu ''0 0 * * * *'' a počtu pokusů o doručení nastavených na pět se úloha pokusí pětkrát odeslat email, a to každou celou hodinu. Pokud se ani poté email nepodaří doručit, je označen za nedoručitelný, tj. ''*_NOT_DELIVERABLE'' (prefix se liší dle typu emailu). Tato úloha se snaží odeslat následující neúspěšné emaily:
   * žádost o registraci uživatele   * žádost o registraci uživatele
-  * žádost o přidání nového emailu+  * žádost o přidání dalšího emailu
   * samotný email o zásilce   * samotný email o zásilce
   * notifikaci o zásilce   * notifikaci o zásilce
Line 150: Line 160:
 V okamžiku odeslání zásilky je vypočten datum, kdy má být příjemce zásilky notifikován, pokud si zásilku ještě nevyzvedl. Tento čas se nyní fixně rovná polovině doby platnosti zásilky. Pokud tedy odesílatel nastavil platnost zásilky na osm dní, je datum notifikace nastaveno na čtyři dny, a po těchto čtyřech dnech se v případě nestažení souboru příjemcem odešle příjemci notifikace. Pokud existuje problém s odesláním notifikace, vstupuje do hry úloha popsaná v kapitole [[documentation:exchanger#opakovane_odesilani_emailu|Opakované odesílání emailů]]. V okamžiku odeslání zásilky je vypočten datum, kdy má být příjemce zásilky notifikován, pokud si zásilku ještě nevyzvedl. Tento čas se nyní fixně rovná polovině doby platnosti zásilky. Pokud tedy odesílatel nastavil platnost zásilky na osm dní, je datum notifikace nastaveno na čtyři dny, a po těchto čtyřech dnech se v případě nestažení souboru příjemcem odešle příjemci notifikace. Pokud existuje problém s odesláním notifikace, vstupuje do hry úloha popsaná v kapitole [[documentation:exchanger#opakovane_odesilani_emailu|Opakované odesílání emailů]].
 ==== Kontrola vypršení obecného požadavku ==== ==== Kontrola vypršení obecného požadavku ====
-Tato úloha řeší situace, kdy byl emailový požadavek úspěšně odeslán, ale nebyl v požadované zpracován. Email tedy dorazil uživateli, ale uživatel v dané době neklikl na odkaz ve zprávě, aby tak dokončil příslušný proces. Úloha má za cíl takto nezpracované požadavky mazat, aby tak nedocházelo například k trvalé blokaci emailové adresy. Jedná se konkrétně o tyto situace:+Tato úloha řeší situace, kdy byl emailový požadavek úspěšně odeslán, ale nebyl v požadované zpracován. Email tedy dorazil uživateli, ale uživatel v dané době neklikl na odkaz ve zprávě, aby tak dokončil příslušný proces. Standardní nastavení platnosti požadavku je deset dní. Úloha má za cíl takto nezpracované požadavky mazat, aby tak nedocházelo například k trvalé blokaci emailové adresy. Jedná se konkrétně o tyto situace:
   * do systému byl nahrán soubor, který již poté nebyl odeslán (skončil ve stavu ''UPLOADED'' a již ne ve stavu ''SENT'')   * do systému byl nahrán soubor, který již poté nebyl odeslán (skončil ve stavu ''UPLOADED'' a již ne ve stavu ''SENT'')
   * nebyl zpracován požadavek na registraci uživatele (neskončil ve stavu ''APPROVED'')   * nebyl zpracován požadavek na registraci uživatele (neskončil ve stavu ''APPROVED'')
   * nebyl zpracován požadavek na přidání emailu uživatele (neskončil ve stavu ''APPROVED'')   * nebyl zpracován požadavek na přidání emailu uživatele (neskončil ve stavu ''APPROVED'')
-  * nebyl zpracován požadavek na reproofing uživatele+  * nebyl zpracován požadavek na reproofing uživatele (požadavek stále existuje)
  
documentation/exchanger.txt · Last modified: 2018/12/12 13:09 by 740803864