Vytvoření formuláře v Oracle Waveset
Oracle Waveset nám nabízí mnoho standardních formulářů, ale občas je třeba vytvořit jeden specifický, který se mezi nimi nevyskytuje. S takovýmto problémem jsme se setkali i u nás a to v situaci, kdy bylo potřeba vytvořit formulář pro změnu hesla na nově připojeném systému. Je to centrální autentizační systém. Tento nový formulář slouží běžným uživatelům ke změně svého hesla, správcům potom ke změně hesla normálním uživatelům, kteří spadají do jejich oblasti působnosti (tato oblast je určována podle přiřazené role).
Typy formulářů
Pokud potřebujeme vytvořit vícestránkový formulář, nabízí se v Oracle Wavesetu 2 možnosti. Buď pomocí konstrukce zvané Wizard nebo pomocí Manual Actions ve workflow.
Obě tyto možnosti mají své klady zápory, které popíšu v následujících odstavcích.
Form Wizard
Tato možnost umožňuje zahrnout všechny stránky do jednoho souboru s formulářem. Každá stránka je reprezentována jako jeden prvek ve formuláři. Jsou zde základní tlačítka Zpět a Další. Po potvrzení formuláře se proces přesune do příslušného workflow, kde probíhá změna hesla. Až zde se kontroluje politika hesel a po skončení tohoto formuláře je ukončen i celý proces. Jeho hlavní výhoda je, že se nemusí komunikovat se serverem při každém posunu na další stránku, ale pouze se posune na další prvek ve formuláři. Tím pádem se ale spíše hodí pro jednodušší verze formulářů.
Náš přístup byl nejdříve vytvořit formulář pomocí Wizardu, nakonec se ale ukázalo, že druhý přístup bude vyhovovat více. Bylo to hlavně kvůli lepší manipulaci mezi jednotlivými stránkami a také kvůli lepší manipulaci s daty. Navíc po potvrzení formuláře není možný návrat zpět, jelikož se spustí přiřazené workflow a po jeho doběhnutí je třeba celou akci začít od začátku.
Manual Actions ve workflow
Ve workflow je možnost vytvořit ManualActions. Tyto akce vyžadují reakci od uživatele, aby se mohlo ve workflow pokračovat. Do nich lze pak vložit jednotlivé stránky formuláře, do kterých je možné poslat data. Po provedení vyplnění údajů a potvrzení formuláře se proces přesune opět do workflow. Zde je možné na základě přijatých informací rozhodnout kterou aktivitou pokračovat dále. V tomto přístupu je lepší vytvořit pro každou stránku samostatný formulář. Celý proces je pak přehlednější. Nevýhoda je, že se pro každý přesun musí komunikovat se serverem. Pokud někdo formulář zruší nebo překlikne jinam, zůstane uživateli ke splnění Work Item. Ten může později dokončit nebo mu zmizí po nastaveném časovém limitu.
Nakonec jsme se ale rozhodli právě pro tento přístup. Ukázalo se, že nám lépe vyhovuje díky možnosti lehce kontrolovat možná práva a s nimi i postupné zobrazování stránek. Také je zde možnost se po potvrzení akce vrátit zpět na formulář, což se hodí například při špatně vyplněném heslu.
Jednotlivé stránky formuláře
Nejprve se u uživatele zjistí, zda má možnost měnit heslo pouze sobě, či i ostatním uživatelům díky správcovské roli. Podle toho se liší i první stránka. Pro normálního uživatele se přeskočí rovnou na změnu hesla, správce má možnost nejprve vybrat uživatele, kterému změní heslo. Je mu to samozřejmě povoleno pouze v jeho oblasti pravomocí.
Pokud uživatel zadá heslo nevyhovující politice, je mu zobrazena chybová hláška a je navrácen na stránku pro změnu hesla.
Shrnutí
V tomto článku jsem popsal základní tvorbu formuláře pomocí 2 přístupů. Hodně jsem čerpal z oficiální dokumentace od Oracle (http://docs.oracle.com/cd/E19225-01/821-0378/bvadn/index.html) Informace jsou zde podány ve zjednodušené verzi, pokud tedy budete potřebovat více podrobností nebo se budete chtít na něco doptat, kontaktujte mne na adam.lenger@bcvsolutions.eu.