Automaty
Automaty jsou založený na pravidelném (cron syntax) spouštění groovy scriptů. Výsledkem je buď odesílání emailů podle šablony a nebo spouštění jiného scriptu.
Definice automatů
Automaty se definují s spravují na stránce V Technické → Automaty (role admin). V rámci definici lze vytvořit kopii nebo export/import.
(Ne)Globální
Automaty lze spustit pro všechy organizace, které mají licenci PORTAL nebo PREMIUM. Pokud je automat globální tak se spouští pro všechny dostupné organizace kromě těch, které se v definici automaty vyberou jako "vyřazené".
Automat, které není globání se spouští jen pro organizace "přiřazené".
Cron
Automaty jsou spouštěny automaticky dle triggerování podle nastavené cronu. Cron odpovídá syntaxi QuartCronTrigger. Formát má poviné i vteřiny! Roky jsou nepovinné. Lze vyrobit základní věci jako každý den v 15:00, ale i složitější věci jako každou dvanáctou minutu 5 dne v měsící ale jen v pondělí.
Script
Script se píše v groovy a pro akci "Email" se musí v jeho těle vložit do výstupní mapy "data" list "members" nebo "payments", přes které se následně iteruje při generování a odesílání emailu.
V scriptu, lze pouští standardní LR výbavu, současně jako vstup do spouštění scriptu je předáván viewContext podle organizace nad kterou se script pouští.
Typický script se začíná s následující strukturou:
try {
out.println("Script Start")
main()
out.println("Script End")
} catch (Exception e) {
out.println(e.getMessage())
StringWriter sw = new StringWriter()
e.printStackTrace(new PrintWriter(sw))
out.println(sw.toString())
status = AutomatRunStatus.ERROR
}
def main() {
}
Aktivace automatu
Při vytvoření nového automatu je pro jeho další automatické spouštění třeba nastavit "Aktivní" a stisknout tlačítko "Registrovat".
Aby se automat automaticky spustil musí být správně "registrovaný" (registrace se vytvoří automaticky při spouštění/redeploy LR pokud je automat "aktivní" v rámci "Startupu".
-
Aktivní - používané automaty, buďto právě aktivní nebo pouze dočasně pozastavené
-
Registrovaný - běžící automat
-
Odregistrovaný = dočasná pauza, při dalším restartu se automaticky znovu zaregistruje
-
-
Neaktivní - nepoužívané automaty
Záznamy běhů
Při každém spouštění automatu se vytvoří záznam o spouštění, v záložce "Záznamy běhů". Seznam je dvouúrovňový, záznamy o běhu pro jednotlivé organizace jsou až v druhé úrovní a první úrověň je dávka a slouží jako "obálka" pro jednotlivé organizační běhy.
Status
Jednotlivé běhy mají svůj status, status "dávky" je určen tím "nejvyšším" stavem organizačního běhu:
-
RUN(-1) - script běží,
-
SUCCESS(0) - script skončil úspěšně - nastavuje se automaticky pří skončení běhu (pokud se v rámci scriptu nenastavil nějaký jiný),
-
WARNING(1) - script skončil s varováním - nastavauje se v rámci scriptu a slouží pro oznámení varování (například nenajití nějého záznamu atd.),
-
ERROR(2) - script skončil s chybou - nastavuje se v rámci scriptu (typicky v try/catch bloku) a odhaluje "nečekané" chyby,
-
FATAL(3) - script nešlo spustit - nastavuje se automaticky pokud script obsahuje takovou chybu, že se vůbec nepodaří pustit.
Validační automat
Pro události/úkony je možné definovat validační script, který se provede po odeslání formuláře (až po zhodnocení povinných atributů). V rámci MS|Definice události|Automat se definuje ID automatu. Z registračního formulář se do dataProvideru posílá:
-
Infa osoby
-
Infa účastníka
-
Vybrané assety (dle asset funkcí)
-
ViewContext -
Data osoby (kontaktní údaje, souhlasy)
-
Nahranné dokumenty
-
Událost - entita
Event -
Id osoby
-
Vybrané bloky
Existující automaty
TŠCH
- Mazání vstupenek po ukončení prodeje
-
V den konání události v 15 hodin smaže všechny neuhrazené vstupenky. Používá se pro půlkolony, závěrečné i plesy. Od dubna do září může být vypnuté.
KŠSP
|
Na tvrdo se využívají:
Pokud by se cokoliv z toho mělo změnit, tak je třeba zohlednit v automatech. |
- KŠSP - E-mail notifikace poradcům chovu
-
Pro nového účastníka v úkonu Krycí listy odesílá e-mailovou notifikaci na daného poradce chovu dle plemene a kraje.
- KŠSP - Aktualizace atributů
-
Pro nového účastníka v úkonu Krycí listy doplňuje do infa poradce chovu a generuje číslo krycího listu dle plemene a kraje.
- KŠSP - Úhyn psa
-
Při doplnění data nebo způsobu úhynu se aktualizují další atributy:
-
úhyn ve stáří - pokud je vyplněno datum narození a zároveň datum úhynu, tak se dopočítá věk, kdy pes zemřel (toto je jediný přístup, kudy lze do tohoto atributu vepsat hodnotu, jinak je vždy needitovatelný),
-
vyřazen - pokud byl pes zařazen do chovu, tak se vyřadí.
-
- KŠSP - Aktualizace fen
-
Automat aktualizuje nastavení fen
-
Ruší publikování nakrytých fen z inzerce, pokud předpokládané datum vrhu již proběhlo.
-
Ruší publikování nabídky štěňat, pokud uběhlo 120 dní po narození štěňat nebo uběhlo 165 dní po narození štěňat, která zbyla a došlo k prodloužení inzerátu.
-
- KŠSP - E-mail notifikace vyřazení feny z chovu
-
Automat projde chovné feny a pokud fena dovršila 8 let věku, bude vyřazena z chovu a majiteli psa se pošle notifikace, že fena byla vyřazena.
- KŠSP - Validace Krycích listů
-
Není možné vybrat fenu, která má podanou jinou žádost ve stavu "Nevyřízená" v tomto Chovatelském roce (info účastníka "Chov. rok").
- KŠSP - Validace Inzerce
-
Je možné vybrat/zadat inzerci (odeslat formulář), pouze pokud má organizací vyplněné osobní info Název chovatelské stanice. Dále skript obsahuje kontrolu pro správné vyplnění Předpokládané datum vrhu. Po úspešném odeslání formuláře dochází k nastavení atributů Inzerce k vybrané feně. Pokud jsou vyplněné, týka se to těchto atributů:
-
"Předpokládané datum vrhu",
-
"Otec vrhu",
-
"Publikovat vrh"
-
"Datum vrhu štěňat",
-
"Otec štěňat",
-
"Počet pejsků",
-
"Počet feneček",
-
"Text inzerátu",
-
"Prodloužit inzerát",
-
"Publikovat štěňata"
-
KCHBO
- Aktualizace jména assetu KCHBO
-
Concat jména a titulů. Není na ostré, protože není jistá forma pokračování spolupráce.