Publikováno 15. 12. 2015

Technický popis

Co všechno workflow engine Orgnes umí

Obsah:

Informační pracoviště

Každý uživatel má ve workflow engine Orgnes informační pracoviště, které závisí na:

  • členství v týmech,
  • rolích,
  • a individuálním nastavení daného uživatele.

Pracoviště se skládá z řady obdélníků, jejichž polohu lze přednastavit. Obsah obdélníků se dá plnit bloky, které poskytují funkcionalitu.

Pracoviště koncového uživatele může vypadat např. takto:

Pracoviště koncového uživatele


Pracoviště administrátora může vypadat např. takto:

Pracoviště administarátora


Standardně workfow engine Orgnes používá čtyři obdélníky (na obrázku ohraničeny červeně) :

  • Levý obdélník - hlavním účelem je získat přehled o uložených datech. Typicky obsahuje:
    • Panel Navigace – obsahuje typicky panely Katalog a kontejnery na oblíbené složky Úkoly a Hledání. To jaké panely má uživatel na svém pracovišti závisí na nastavení jeho rolí, členství v týmech a na individuálním nastavení pro konkrétního uživatele.
    • Panel Rychlé parametry – dialogové okno, potřebuje k vyhledání příspěvků nějaké parametry např. ID příspěvku, šablonu hledaného příspěvku, zadání nadřízeného apod.
    • Panel Toolbox – obsahuje controly, které se používají při vytváření designu formulářů.
  • Horní obdélník Výsledek dotazu - zobrazuje jeden či více výsledků hledání v přednastavené formě zobrazení. Mezi vizualizacemi je možné přepínat. Typicky lze využít tyto způsoby zobrazení série příspěvků:
    • tabulka,
    • hierarchická tabulka,
    • kalendář,
    • graf – body, čáry, sloupce, koláče,
    • OrgChart – organizační diagram,
    • Ganttův diagram.
  • Spodní obdélník Detail – zobrazuje jeden či více otevřených detailů příspěvků.
  • Pravý obdélník – může obsahovat:
    • Property Builder – jen pro administrátora. Slouží k definici vlastností (vizuálních a funkčních) jednotlivých kolonek formuláře.
    • Contextor– jen pro administrátora. Umožňuje definovat strukturu dat formuláře.
    • Chat – umožňuje vyzvedávat diskusní kanály. Poskytuje přehled o diskusi jednotlivých obsažených příspěvků.

Datové modelování ve workfow engine Orgnes

Ve workflow engine Orgnes lze vytvořit libovolnou databázovou aplikaci. Slouží k tomu tzv. šablony.

Šablony

Základními stavebními nástroji datového modelování ve workflow engine Orgnes jsou šablony. Šablony umožňují namodelovat libovolnou datovou strukturu (evidovaný typ objektu) a také pracovat s daty prostřednictvím formulářů. Šablona je soubor nastavení. Tato nastavení určují zejména:

  • Formuláře – s jedním evidovaným typem objektu je možné pracovat pomocí jednoho či více formulářů. Je možné stanovit podmínky jejich dostupnosti.
  • Kolonky – je možné nadefinovat, jak bude konkrétní formulář vypadat. Pro každý formulář se definuje datová struktura obsahující data evidovaného jevu a dalších jevů nalezených parametrizovanými dotazy.

Příklad návrhu formuláře:

Příklad návrhu formuláře

Příklad práce koncového uživatele s takto vytvořeným formulářem:

Příklad práce koncového uživatele s vytvořeným formulářem

  • Definice jména – Jak se vytváří jméno instance databázového objektu (realizace objektu třídy).
  • Akce - Akce je definována jako rutina, která je uživateli dostupná v případě splnění nějaké podmínky u tlačítka ok. Její provedení musí uživatel vyžádat. Akce mohou být tohoto typu:
    • otevření příspěvku,
    • vytvoření nového příspěvku,
    • spuštění dotazu,
    • vygenerování reportu,
    • jiná – volání nějakého programu.
  • Události - Událost je definována stavem dat či změnou stavu dat jednoho příspěvku nebo detailu příspěvku, se kterým se pracuje v rámci nějakého kontextu.
  • Zařazení do menu – jak se vytvoří nový příspěvek dle dané šablony.
  • Seznamy hodnot – typicky jednoduché číselníky, na které stačí seznam překládaných hodnot. O položkách se eviduje:
    • Název,
    • Popis,
    • Platnost od,
    • Platnost do.
  • Atributy

Šablony poskytují uživateli funkcionalitu, díky které může vyvářet konkrétní instance evidovaného typu objektu: příspěvky.

Atributy

Každý atribut představuje jednu vlastnost, kterou lze o databázovém typu dat evidovat.

Pracoviště Pracoviště kontextoru s atributy a dotazy

Každý atribut má nějaký datový typ. Základní datové typy jsou následující:

  • value binary - libovolný soubor,
  • value binary translated – libovolný soubor překládaný. Ve formuláři musí být kolonka se seznamem jazyků, nebo musí být příslušná hodnota jazyka nastavena jinak.
  • value boolean - logická hodnota (typicky Checkbox),
  • value date – datum,
  • value decimal number - desetinné číslo (typicky TextBox),
  • value foreign key (nugget) - odkaz na jiný příspěvek (typicky roletka), tento datový typ má atributy.
  • value foreing key (option) - odkaz na vybranou volbu ze seznamu hodnot definovaného pomocí číselníku seznamů, tento datový typ nemá atributy, pouze název popis a údaje od – do.
  • value integer - celá čísla,
  • value text long translated - dlouhý text překládaný. Ve formuláři musí být kolonka se seznamem jazyků, nebo musí být příslušná hodnota jazyka nastavena jinak.
  • value text long not translated - dlouhý text (typicky RichEditor),
  • value text short translated - krátký text překládaný. Ve formuláři musí být kolonka se seznamem jazyků, nebo musí být příslušná hodnota jazyka nastavena jinak.
  • value text short not translated - krátký text (typicky TextBox),
  • value time interval – časový interval.

Každý atribut (tedy i atribut na soubory – datový typ binární) si pamatuje úplnou historii vývoje své hodnoty. Jednotlivé verze hodnoty lze komentovat.

Kolonky

Kolonky umožňují uživateli pracovat s konkrétními daty z databáze. Některé kolonky umožňují údaje aktualizovat, jiné je jen publikují a umožňují například výběr příspěvku, či výpočet výrazu. V systému jsou standardně následující typy kolonek:

Editory:

Editor Datové typy Ikona Popis
Combobox value foreign key option
value foreign key nugget
Control
Date Time Picker value date Control Umožňuje výběr datumu
File Upload value binary Control Umožňuje vložit jakýkoli soubor
Checkbox value boolean Control
Image Upload value binary Control
Listbox value foreign key option
value foreign key nugget
Control
Multicolumn Lookup Control
Nugget value foreign key nugget Control
PasswordBox heslo Control
Range Edit value decimal Control Nastavuje horní a dolní meze
Rich Editor - DevExpress value text translated
value text not translated
Control
Rich Editor - Telerik value text translated
value text not translated
Control
Signature value foreign key nugget Control
TextArea value text translated
value text not translated
Control Umožňuje vložit text
bez možnosti formátování
TextBlock value text
value text translated
value text short
value text short translated
Control Zobrazuje text
TextBox value text short translated
value text short not translated
Control Umožňuje vložit text
bez možnosti formátování
TimeShift value date Control
Track Bar value decimal Control
Tree View value foreign key nugget Control
Up Down Grid value foreign key nugget Control
Up Down Tree List value foreign key nugget Control
Xml Editor value text long Control

Data management:

Publikuje výsledek dotazu.

Data management Ikona Popis
Grid View Control Zobrazuje data na základě dotazu
Items Control Control Aktualizuje data
Tree List View Control

Data visualisation:

Publikuje výsledek dotazu.

Data visualisation Ikona Popis
Diagrams Control
Gantt View Control
Chart View Control
Pivot Grid Control
Schedule View Control

Ostatní:

Ostatní Ikona Popis
Calculator Control
OK Button Control Aktualizuje data
OK Split Button Control

Nastavení workflow

Pracovní postup je předpis, který definuje úkoly a tím automatizuje práci s jedním typem příspěvku. Pro každý úkol lze definovat:

  • Podmínky přidělitelnosti úkolu:
  • Podmínky, za kterých je úkol proveditelný.
  • Podmínky, za kterých je úkol splněn.
  • Způsob, jak má být nalezen pracovník či pracovníci, kteří mohou úkol splnit:
    • přímo,
    • pomocí dotazu – první,
    • pomocí dotazu – všichni,
    • z kolonky formuláře.
  • Formulář, se kterým se má vykonat požadovaná aktivita.
  • Aktivita, kterou musí uživatel provést (číst či uložit).

Systém funguje tak, že se pokouší vždy po každém otevření či uložení příspěvku prozkoumat předpisy jednotlivých úkolů a pro každý aktualizovat log jeho událostí. Typy událostí úkolů jsou:

  • Úkol přidělen – jsou splněny podmínky, za kterých lze úkol přidělit.
  • Přidělení úkolu zrušeno – podmínky, za kterých bylo možné úkol provést, již neplatí.
  • Úkol splněn – podmínky splnění úkolu byly splněny.
  • Splnění úkolu odmítnuto – úkol byl splněn, je stále platný avšak podmínky pro jeho splnění již neplatí.
  • Úkol přidělen jinému pracovníkovi.
  • Apod.

V souvislosti se změnami stavu jednotlivých úkolů mohou být definovány návazné akce. Mezi tyto akce patří:

  • Typické akce – například odeslání reportu mailem – avíza:
    • úkol přidělen,
    • úkol aktualizován,
    • úkol zrušen,
    • úkol odebrán,
    • úkol splněn,
    • splnění úkolu odmítnuto,
    • nesplněno v určitý čas,
    • splněno v určitý čas.
  • Custom akce – spuštění nějakého programu – je nutné programovat.

Nastavení bezpečnosti

Uživatelé se hlásí do aplikace pomocí:

  • uživatelského jména a hesla,
  • pomocí lístku (ticket),
  • automatickým ověřením identity z Active Directory.

Implicitně je vše zakázáno. Povolení se provádí prostřednictvím ACL [Acces Control List] pravidel. Oprávnění lze uživatelům přidělovat podle:

  • typu rolí,
  • příslušnosti k týmům,
  • přímo určeného uživatele.

Při definování pravidel lze využít následující hierarchii:

  • Obecná šablona – kořen. Pod kořenem jsou šablony jednotlivých typů:
    • Template osoba – Pod šablonou se nachází buď celé konkrétní příspěvky a atributy, které jsou šablonou definovány:
      • konkrétní příspěvek daného typu např. osoba Jan Novák (id = 1),
      • atribut Jméno,
      • atribut Příjmení,
      • … .
    • Template role,
    • uživatelská šablona 1,
    • uživatelská šablona 2,
      • att 1,
      • att 2.

Povolují se operace typu:

  • Create (vytvořit),
  • Read (čtení),
  • Update (aktualizace),
  • Delete (smazat).

Data, pro která ACL pravidlo platí, se vymezují tím, že se určí část hierarchie a typ dědičnosti (rozsah). Typ dědičnosti určuje část stromu, pro kterou pravidlo platí. Lze tedy uplatnit pravidla na:

  • všechny příspěvky prostřednictvím General Template,
  • všechny příspěvky určitého typu šablony,
  • jeden konkrétní příspěvek,
  • práva k určeným atributům.

Nastavení dotazu (tj. filtr, pohled do databáze, apod.)

Dotaz reprezentuje filtr, který předepisuje vlastnosti, které musí splňovat hledané příspěvky. Hledat dotazem lze tedy pouze příspěvky. Dotaz je předpis, který určuje, jaká data budou nalezena a jak budou publikována. Obsahuje funkcionalitu pro přidání nového příspěvku do série, sledování aktuálního záznamu, označení záznamu jako smazaného, přidání kopie aktuálního záznamu.

Jsou dva základní druhy dotazu:

  • Dotaz hledající příspěvky testováním hodnot vlastností příspěvků.
  • Dotaz hledající příspěvky také testováním stavu pracovního postupu příspěvku.

Dotaz hledané příspěvky najde a v určené formě publikuje.

Dotaz může být parametrizován a vracet různá data na základě kontextu, ve kterém je spuštěn:

  • Je-li ve složce, může být parametrizován údaji uživatele, který jej spouští.
  • Je-li použit v příspěvku, může být parametrizován daty tohoto příspěvku.

V případě dotazu, který je použit složkou lze využít toho, že:

  • Dotaz může obsahovat i předpis toho, jak mají být uživateli data publikována, jestliže na složku klikne.
  • Dotaz může využívat i formulář, který se v případě kliknutí na složku zobrazí a umožní dodavateli vložit ručně nějaké parametry, které se pro spuštění dotazu využijí.
  • Výsledek dotazu, byl-li již uživatelem proveden, je automaticky aktualizován a obsahuje změny, které provádějí jiní uživatelé.

Definice dotazu je ve formátu xml, které definuje zejména:

  • nuggetTypes – Obsahuje jeden či více id typů příspěvků (šablony), kterého mají být hledané příspěvky.
  • attributes – Popisuje způsob, jak mají být nalezeny atributy, zobrazené u vyhovujících příspěvků. Možnosti jsou:
    • * - všechny,
    • onlyDefined,
    • simple.
    • sqlVariables – Inicializace dotazu. Zde mohou být různé výpočty, definice proměnných apod., které dotaz následně použije.
    • sql – Vlastní dotaz. Dotaz může používat proměnnou @nug_id, která obsahuje id příspěvku primárního kontextu, je-li dotaz použit ve formuláři.
    • presentation – Obsahuje xaml předpis typu kontrolu, který může vizualizovat data v případě, že je dotaz použit například ve složce publikující data v pravém horním rámečku (rámeček výsledek dotazu).
    • sqlParameters – Parametry. Používá se pouze v případě, že je dotaz použit v kontextu typu formuláře. Parametr získává svoji hodnotu z kolonky formuláře respektive z atributu, který kolonka používá.

Tiskové sestavy

Základní přehledové reporty dat jsou standardní součástí každého řešení postaveného na platformě Orgnes. V praxi se nejlépe osvědčilo využívat jako reportovací nástroje standardní aplikace, se kterými uživatelé běžně denně pracují. Jsou to především aplikace Microsoft Word a Microsoft Excel. Přehledové reporty s klíčovými ukazateli je rovněž možné rozesílat emailem.

Export dat do formátu MS Word nebo MS Excel.

Možnosti tisků jsou následující:

Pro MS Word:

  • Word - export jediné hodnoty – placeholder . Jedna hodnota např. jméno = jeden atribut.
  • Word - export dotazu (opakování formátu textu s jinou hodnotou textu) – repeater, hodnoty od - do v dokumentu (např. hodnota čárového kódu) – více atributů
  • Word - uplatnění podmínky v exportním výrazu – např. kdy se má hodnota dosazovat?
  • Word - předání podmínky k vyhodnocení a její uplatnění – vyhodnotí se, zda logické hodnoty dávají smysl.
  • Word - uplatnění formátovacího řetězce – například volba formátu datum, počet desetinných míst čísel, atd.

Pro Excel obdobně:

  • Excel - export jediné hodnoty – placeholder.
  • Excel - export dotazu (opakování) – repeater.
  • Excel - uplatnění podmínky v exportním výrazu.
  • Excel - předání podmínky k vyhodnocení a její uplatnění.
  • Excel - uplatnění formátovacího řetězce.

Spouštěče

Spouštěče sledují čas a umí jednorázově či opakovaně spouštět metody. Možnosti jsou:

  • spuštění – jednorázové,
  • spuštění – periodicky,
  • spuštění - custom metoda,
  • spuštění – import,
  • spuštění – export.

Custom code

Jakýkoliv program, který nelze vytvořit nastavením. Například: výpočet, spuštění jiného programu, generování dat apod.

Jsou tři druhy mechanismů spouštějících custom code:

  • událost (akce),
  • metoda,
  • obsluha spouštěče.

Spuštěnému kódu je předáván kontext.

Mechanismy může spustit:

  • člověk – uživatel,
  • vlastní systém,
  • jiný systém.

Exporty a Importy

Exporty a importy jsou v Orgnes řešeny tak, že není potřeba nic programovat.

Data jsou přenášena v textovém souboru buď CSV či xml ve formě tabulkové struktury (řádky x sloupce).

K vytvoření exportu či importu je třeba definovat jeho strukturu v textovém xml souboru obsahující zejména následující nastavení:

  • adresář, kam se má umístit export,
  • způsob vytváření názvu,
  • dotaz, hledající data,
  • strukturu sloupců,
  • způsob interpretace číselníkových položek,
  • zápis do logu,
  • emailová adresa příjemce chybového hlášení,
  • text zprávy s exportem chybového údaje.

Nastavení importů:

  • adresář importního souboru:
  • importovaná šablona,
  • aktivity simulující ukládání formulářů,
  • uživatel, pod kterým se import provádí,
  • způsob dohledání číselníkových položek,
  • jak je definována transakce (řádek, vše),
  • co se má stát, když se jeden řádek nezdaří,
  • jaká je struktura sloupců,
  • zápis do logu,
  • emailová adresa příjemce chybového hlášení,
  • text reportu chybového hlášení.

Globalizace, lokalizace

Workflow engine Orgnes je globalizován, to znamená, že je multikulturní. Datum, čísla a texty, jsou-li přeložené, se objevují v kultuře, kterou uživatel preferuje.

Lokalizace je snadná, většinu textů může přeložit uživatel samostatně přímo v aplikaci.

Kromě toho, že se aplikace přizpůsobuje národní kultuře uživatele, může i uživatel zadávat tam, kde je to vhodné, vícejazyčná data.

Například libovolné komentáře mohou být doplněny roletkou, ze které může uživatel vybrat jazyk, ve kterém komentář píše. Do procesu pořizování dat lze zapojit mechanismem pracovního postupu i překladatele.

V tuto chvíli je workflow engine Orgnes plně globalizován. Částečně přeložen do angličtiny, němčiny a ruštiny.

Implicitní typy příspěvků

Protože některé objekty jsou obsaženy v každém řešení, jsou příslušné typy příspěvků ve workfow engine Orgnes již vytvořeny a připraveny k použití. I tyto typy příspěvků lze upravovat bez nutnosti umět programovat. Další typy příspěvků lze přidávat. Implicitní typy příspěvků standardně jsou:

Osoba

Eviduje se:

  • Základní údaje o člověku včetně fotografie.
  • Nastavení katalogu - Katalog organizuje složky a obsahuje také definici panelů. Panely dělí obsah v levém rámečku záložky Navigace.
  • Nastavení oblíbených složek - Oblíbené složky jsou vybrané složky z katalogu, které jsou publikovány přímo v nějakém panelu z panelů záložky Navigace.
  • Nastavení pásu karet (Ribbon) – lze definovat viditelnost jednotlivých ikon.
  • Panely - Jedná se o panely, které organizují oblíbené položky v levém obdélníku.
  • Automaticky otevřené dotazy – ihned po přihlášení se objeví výsledek těchto složek.
  • Automaticky otevřené příspěvky – ihned po přihlášení se objeví dané příspěvky.
  • Aplikace je globalizovaná, konkrétnímu uživateli lze přidělit kulturu, implicitně CZ, DE, GB, RU.
  • Umožňuje nastavit zastupování tj., kým má být daný uživatel v jakých oblastech a od kdy do kdy zastupován. Zastupující dědí práva zastupovaného v v určených oblastech. Je-li daný příspěvek automatizován pracovním postupem, může zastupující plnit úkoly zastupovaného.
  • Umožňuje evidovat kontakty daného člověka.
  • Heslo
  • Přidělené role – role slouží k definici bezpečnosti a obsahují nastavení pracoviště.
  • Členství v Týmech – týmy slouží k definici bezpečnosti a obsahují nastavení pracoviště.

Tým

Typ příspěvku slouží k vytváření týmů tj. pracovních skupin uživatelů. Týmy pomáhají definovat bezpečnost a obsahují nastavení pracoviště svých členů.

Uživatel může být členem více týmů.

  • Nastavení katalogu - Katalog organizuje složky a obsahuje také definici panelů. Panely dělí obsah v levém rámečku záložky Navigace.
  • Nastavení oblíbených složek - Oblíbené složky jsou vybrané složky z katalogu, které jsou publikovány přímo v nějakém panelu z panelů záložky Navigace.
  • Nastavení pásu karet (Ribbon) – lze definovat viditelnost jednotlivých ikon.
  • Panely - Jedná se o panely, které organizují oblíbené položky v levém obdélníku.
  • Automaticky otevřené dotazy – ihned po přihlášení se objeví výsledek těchto složek.
  • Automaticky otevřené příspěvky – ihned po přihlášení se objeví dané příspěvky.

Role

Role představuje typ užití systému, označují model chování. Jeden uživatel může mít více rolí. Jednu roli může mít více uživatelů.

Uživatelům, kteří disponují danou rolí, se prostřednictvím nastavení rolí dá určit:

  • Nastavení katalogu - Katalog organizuje složky a obsahuje také definici panelů. Panely dělí obsah v levém rámečku záložky Navigace.
  • Nastavení oblíbených složek - Oblíbené složky jsou vybrané složky z katalogu, které jsou publikovány přímo v nějakém panelu z panelů záložky Navigace.
  • Nastavení pásu karet (Ribbon) – lze definovat viditelnost jednotlivých ikon.
  • Panely - Jedná se o panely, které organizují oblíbené položky v levém obdélníku.
  • Automaticky otevřené dotazy – ihned po přihlášení se objeví výsledek těchto složek.
  • Automaticky otevřené příspěvky – ihned po přihlášení se objeví dané příspěvky.

Dotaz - Query

Typ příspěvku Dotaz umožňuje vytvořit dotaz hledající příspěvky v systému. Každému dotazu je nadefinováno jedinečné nepřekládané jméno v rámci dotazů a týmu. Dotaz hledané příspěvky najde a v určené formě publikuje.

Dotaz může být parametrizován a vracet různá data na základě kontextu, ve kterém je spuštěn:

  • Je-li ve složce, může být parametrizován údaji uživatele, který jej spouští.
  • Je-li použit v příspěvku, může být parametrizován daty tohoto příspěvku.

V případě dotazu, který je použit složkou lze využít toho, že:

  • Dotaz může obsahovat i předpis toho, jak mají být uživateli data publikována, jestliže na složku klikne.
  • Dotaz může využívat i formulář, který se v případě kliknutí na složku zobrazí a umožní dodavateli vložit ručně nějaké parametry, které se pro spuštění dotazu využijí.
  • Výsledek dotazu, byl-li již uživatelem proveden, je automaticky aktualizován a obsahuje změny, které provádějí jiní uživatelé.

Report

Typ příspěvku umožňuje vytvářet tiskové sestavy ve formátu počítačových aplikací kancelářského balíku Microsoft Office Excel a Word. Uživatel nemusí nic programovat a používá nástroje, které dobře zná.

Pracovní postup - Workfow

Typ příspěvku umožňuje vytvářet pracovní postup, tedy předpis, který definuje úkoly.

ACL pravidlo

Tento typ příspěvku umožňuje určit, kdo může provádět jaké akce v souvislosti s jakými daty. Je možné řídit práva k příspěvku jako celku i k jednotlivým kolonkám.

Spouštěč - Trigger

Typ příspěvku umožňuje založit událost v čase. Je možné určit, zda se událost bude opakovat a periodu opakování. Smyslem Spouštěče je navázat spuštění nějakých procedur na čas a sledovat log průběhu.

Příklad: Importovat data každých 10 minut.