1. Workflow

    Článek: AN0002036Aktualizováno:: 29.03.2019

    Funkcionalita workflow poskytuje jednoduchou a rozsáhlou možnost implementace postupů a jejich automatizaci. Jednotlivé postupy můžete rychle vytvořit pomocí designéru. Pro spuštění workflow Vám systém ObjectGears poskytuje několik možností. Spustit pomocí tlačítka na toolbaru, pomocí pravidla na třídě, krokem v jobu nebo pomocí volání webových služeb.

    V následujících kapitolách jednotlivě probereme všechny oblasti tvorby workflow.

    Základní pojmy

    Název Popis
    Workflow Workflow je popis celého procesu, má svoji grafickou prezentaci a lze spustit.
    Verze Každé workflow může mít neomezený počet verzí, kdy maximálně jedna verze je právě aktuální a lze ji spustit. Všechny verze patřící jednomu workflow by měli provádět stejnou činnost a lišit se jen v drobných rozšířeních.
    Aktivní verze Verze workflow, která se při spuštění worflow spustí.
    Spuštění workflow Konkrétní spuštění jedné verze workflow. Spouští se jen povolené workflow s komplentně vytvořenou verzí.
    Aktivita

    Workflow se skládá z jednoduchých částí, které se nazývají aktivity. Tyto aktivity lze neomezeně vkládat do workflou a propojovat je mezi sebou.

    Příklad aktivit: Odeslat email, Spustit Import, Podmínka

    Úkol Úkol je jeden druh aktivity, který vytvoří záznam do třídy (vybírá se v definici aktivity). Tento záznam je přidělen konkrétnímu uživateli nebo skupině uživatelů, kteří jej mají splnit. Po dokončení úkolu se ve workflow pokračuje.
    Vlastnosti Každé workflow může mít několik vlastností. V rámci celého workflow lze tyto vlastnosti pomocí skriptů číst nebo měnit a uchovávat tak v nich klíčové informace pro běh workflow.

    Verze

    Verze workflow slouží pro jednoduché nasazení nové verze workflow. Během času každé worflow potřebuje upravit. Díky verzovacímu systému máte možnost vytvořit z libovolné verze kopii (tlačítko Vytvořit kopii této verze v seznamu verzí) a tu upravit podle nových požadavků. Následně tuto novou verzi nastavíte jako aktuální čímž při novém spuštění workflow se spustí tato verze.

    Všechny již spuštěné verze workflow budou dokončeny ve verzi s ekterou byly spuštěny (nejsou ovlivněny novou verzí).

    Co se týká změn verzí, můžete měnit pouze verze, které ještě nebyly spuštěny. To lze jednoduše zkontorlovat pomocí tlačítka Spočítat WF v seznamu verzí. Pokud jsou všechny hodnoty 0, pak lze verzi upravovat.

    V seznamu verzí workflow je sloupec Kompletní, který určuje zda je verze v designu kompletně nakonfigurována, tj. každá aktivita je nakonfigurována a všechny aktivity jsou správně propojeny (mají příchozí a odchozí spojnici). Až pokud je verze kompletní, lze ji nastavit jako aktuální a spouštět ji.

    Vytvoření workflow

    Workflow lze jednoduše vytvořit následujícím postupem:

    1. Přejděte na strránku Správa / Workflow
    2. Na toolbaru kliněte na tlačítko Nový
    3. Vyberte Model a vyplňte povinné údaje a nové workflow uložte
    4. V seznamu workflow klikněte na nové workflow, otevře se Vám znova detail workflow
    5. Přejděte na záložku Verze
    6. Na záložce klikněte na tlačítko Nová verze
    7. Tímto máte vytvořené nové workflow a jednou verzí
    8. Teď na řádku s nově vytvořenou verzí klikněte na odkaz Schéma
    9. Zobrazí se Vám stránka se schématem nového workflow (jsou zobrazeny pouze aktivity Start a Konec)
    10. Vytvořte schéma workflow (viz kapitloa níže) a uložte pomocí tlačítka Uložit
    11. Pokud workflow potřebuje vytvořit i vlastnosti, pak na řádku s verzí workflow klikněte na odkaz Vlastnosti
    12. Po kompletním vytvoření nové verze (schéma a vlastnosti), klikněte v seznamu verzí na ikonu hvězdičky, čímž danou verzi nastavíte jako aktivní

    Po aktivaci jedné z verzí workflow je možné workflow spouštět.

    Seznam spuštěných verzí workflow a jejich průběh je popsán v kapitole níže.

    Seznam aktivit

    Při návrhu workflow jej sestavujete z jednotlivých propojených aktivit. V tabulce níže je jejich seznam.

    Název Popis
    Start Startovací aktivita celého workflow.
    Odeslat email Odešle zadaný email.
    Úkol Vytvoří úkol jednomu nebo více uživatelům a čeká na jeho dokončení.
    Podmínka Rozhodovací aktivita. Na základě podmínky je možné rozdělit běh workflow do dvou větví (ANO/NE).
    Spustit skript Aktivita spustí skript.
    Spustit workflow Aktivita spustí jiné workflow.
    Export Aktivita spustí export.
    Import Aktivita spustí import.
    Časovač Pozastavení běhu workflow na určitou dobu.
    Pokračovat Aktivita slouží pro lepší organizaci schématu.
    Vložená synchronizace Aktivita zajistí synchronizaci jiných aktivit a předání řízení následným aktivitám ve chvíli, kdy jsou vykonány všechny předchozí kroky. Aktivita obsahuje odkaz na podchéma obsahující synchronizované aktivity.
    Událost Aktivita pozastaví workflow do doby než je vyvolaná událost pomocí skriptu, webové služby nebo http požadavku.
    Synchronizace Aktivita zajistí synchronizaci jiných aktivit a předání řízení následným aktivitám ve chvíli, kdy jsou vykonány všechny předchozí kroky.
    Cyklus Aktivita pro cyklické spuštění části workflow.
    Konec Ukončení jedné větve workflow.
    Konec Ukončení celého workflow.
    Konec Ukončení vnořeného schématu.
    Konec Ukončení aktuálního běhu cyklu.

    Designer

    Designer workflow slouží pro grafické zobrazení workflow a jeho návrh. Po vytvoření nového workflow jsou do schématu vloženy dvě aktivity Start a Konec. Pro přidání nových aktivit stačí z panelu Seznam aktivit pomocí myši přetáhnou požadovanou aktivitu. Po přetažení na požadovanou pozici je aktivita do schématu vložena a zároveň zčervená. To znamená, že není kompletně nakonfigurována. Pokud je červená jen spodní část aktivity, pak není aktivita dostatečně propojena, tj. chybí jí vstupní nebo výstupní propojení.

    Konfigurace aktivity provedete najetím mysí na aktivitu a kliknutím na ikonu šipky v pravém horním rohu. Ze zobrazeného kontextového menu vyberte volbu Nastavení. V zobrazeném dialogu nastavte požadované hodnoty a uložte.

    V kontextovém menu je i volba Smazat. Po její volbě bude aktivita ze schématu vymazána a to včetně všech vazeb na ní vedoucích.

     

    Samotné aktivity pro schéma nestačí, ještě je třeba aktivity propojit. To provedete prostým přetažením ikony (vpravo dole) na jinou aktivitu. Po puštění ikony se zobrazí vazba mezi aktivitama. Většina aktivit má tutu ikonu puze jednu, jen aktivita Podmínka má dvě. Jedna je označena Ano a druhá Ne a určují kterou větví má worklow pokračovat po vyhodnocení podmínky.

    Aktivity můžte propojovat do libovolné sítě. Z jedné aktivity můžete vést více spojnic na jiné aktivity (běh workflow se tak rozdělí do několika paralelních větví) nebo do jedné aktivity vést více spojnic (aktivita bude spuštěna tolikrát kolik do ní vede spojnic).

    Kliknutím na spojnici se zobrazí dialog pro nastavení vlastností spojnice. Všechny tyto parametry jsou jen informační pro lepší pochopení schématu, na vlastní běh workflow nemají vliv. Můžete si tak hlavní běh workflow zvýraznit tlustou spojnicí a vedlejší nebo chybové části workflow jinou barvou a čárkovaně.

    Spouštění

    Aby se dalo workflow spustit, musí splnit několik předpokladů:

    1. Workflow musí být povolené a nesmazané
    2. Verze musí být nesmazaná a kompletní
    3. Workflow musí mít nastavenu jednu verzi jako aktuální

    Workflow je možné spustit několika způsoby:

    1. Z tlačítka na toolbaru (nastavuje se u třídy, dotazu nebo stránky)
    2. Z jobu
    3. Z pravidla na třídě
    4. Ze skriptu
    5. Z importu
    6. Z workflow (aktivita Spustit skript nebo aktivita Spustit workflow)
    7. Z webové služby
    8. Z procedury v modulu

    Pro spuštění workflow z uživatelského rozhraní je třeba mít roli (Spustit workflow) na spuštění workflow.

    Práce s úkoly

    Většina workflow vyžaduje spoluprácí uživatelů. Workflow během svého průběhu vytváří úkoly pro uživatele ve správném pořadí. Pro tyto potřeby existuje aktivita Úkol. Úkol je v podstatě záznam ve třídě, ve kterém je nastaven uživatel, který má úkol splnit.

    Uživatel si může své úkoly prohlédnout pomocí odkazu Úkoly vpravo nahoře na každé stránce. Na této stránce má zobrazené přiřazené úkoly s informacemi o workflow, verzi, kategorii. Dále má možnost úkoly filtrovat a může zpracovávat úkoly podle různých priorit. Kliknutím na název úkolu si zobrazí jeho detail. V detailu může nastavit hodnotu do sloupce Splněno (0-100) a úkol uložit. V seznamu úkolů je pak zobrazeno aktuální rozpracování úkolů. Pokud je úkol již hotový, může jej uživatel dokončit tlačítkem Dokončit úkol

    Delegace

    Každý úkol je přiřazen právě jednomu uživateli. Pokud tento uživatel odejde z firmy nebo je na dovolené, pak tyto úkoly nemohou být dokončeny. Z těchto důvodů je možné pro každého uživatele nastavit delegaci. Úkoly stále zůstanou přiřazeny původním uživatelům, ale zástupce získá možnost úkol vidět i dokončit. Delegaci si může uživatel nastavit sám nebo to za něj může učinit Administrátor. Delegaci je možné pozměnit nebo smazat. Ke smazání delegace dochází i v okamžiku smazání uživatele, který ji měl nastavenu (byl zastupovanou osobou).

    Logování

    Každé spuštění workflow je logováno včetně všech spuštěných aktivit. Pro přístup do logu použijte tlačítko Historie v seznamu verzí.

    Na této stránce na první záložce vidíte všechny spuštění pro vybranou verzi, datum počátku a dokončení workflow a jeho stav. Pro detailní průběh vybraného spuštění klikněte na ikonu ve sloupci Log. Zobrazí se nová stránka s podrobným zápisem spouštění jednotlivých aktivit. Některé aktivity sem zapisují podrobnější informace. Zároveň se sem zapisují změny vlastností.

    Na druhé záložce jsou zobrazeny všechny vytvořené úkoly, jejich stav a přiřazená osoba. Kliknutím na název úkolu si jej zobrazíte.

    Na poslední třetí záložce se zobrazují vlastnosti, které byly ve spuštěném workflow změněny. Pokud ke změně ještě nedošlo, jsou zobrazeny pouze u verze (odkaz Vlastnosti).

    View RunningWorkflowInstances

    V databázi je vytvořeno view RunningWorkflowInstances, které vrací všechna běžící workflow a jejich instance. Nad tímto view si můžete vytvořit vlastní dotazy pro potřeby kontroly spuštěných workflow a instancí.

×