Tato funkcionalita umožní administrátorům škol (i vývojářům samotným) nakonfigurovat specifické věci per uživatelská role, případně per fakulta
Příklad: Pokud report volá studijní referentka nebo jiný vyšší uživatel, má k dispozici všechny možnosti, všechny parametry, může volit i třeba typ/formát výstupu, může volit zda odeslat do spisovky, zda podepsat/pečetit… cokoliv. Ale my chceme ten samý report co možná nejjednodušeji použít i například pro samotného studenta, abychom ideálně mohli jen "nějak" z portálové stránky studenta odkázat na nějakou "odlehčenou" verzi reportu - odlehčenou tím, že si nebude moct volit buď vůbec žádné parametry nebo třeba jen několik z nich (a tohle si budou moci stanovit administrátoři škol) a odlehčenou i tím, že nebude mít k dispozici uživatelské rozhraní celého reportovacího nástroje, ale jen takové malinké odlehčené (jen případný výběr parametrů a stažení výsledku). Tedy mít možnost, aby administrátor pro studentskou roli stanovil pro některé parametry reportu pevně nějakou danou hodnotu a pro některé řekl, že je student může měnit.
Navrženo je to tedy tak, že lze (jste-li uživatel s rolí administrátor) v GUI aplikace (IS/STAG / Reporty) nahoře přepnout na záložku "Správa uživ. nastavení". Tam si vyberete report, kterého se to bude týkat a můžete vložit nové nastavení. Formulář vypadá velmi podobně, jako "parameter form" daného reportu, jen je tam pár věcí navíc:
Obrázek 819. Administrace uživatelských nastavení reportu.
Název. Administrátor si může libovolně pojmenovat toto nastavení, pouze rozlišovací označení
Role (filtr uživatele). Klasická IS/STAG role, které se to má týkat - nastavení se pak tedy aplikuje na uživatele s touto rolí.
Fakulta (filtr uživatele). Je to připraveno i na rozlišení per-fakulta uživatele - je-li uvedeno, nastavení se aplikuje na uživatele patřící k dané fakultě.
Další položky - zaškrtávátka. U každé další položky je zcela vpravo uvedeno zaškrtávátko - to říká, zda uživatel vyhovující filtru bude moci danou položku vůbec vidět a měnit. Ve výchozím případě nemůže měnit nic, zaškrtáním položek tedy vyjmenujete ty, které měnit smí.
U select-boxů uveden běžný textový inputbox. V případě, že je parametr typu SELECT BOX (Výběrový seznam), je možno jako jeho hodnotu zvolit buď přímo jednu konkrétní hodnotu v select boxu a nebo použít speciální textový input (ihned vpravo od selectboxu), do nějž lze zadat hodnotu i s použitím vzorce.
Zadávané hodnoty podporují použití tzv. Spring Expression Language, speciálního scriptovacího jazyka, kterým lze do hodnot vložit nějakou dynamickou hodnotu. Například chcete-li do parametru reportu "Osobní číslo" vložit osobní číslo aktuálního uživatele zadejte zde tuto hodnotu: \#{os_cislo}. Všechny možné použitelné hodnoty jsou tyto:
#{os_cislo}. je-li volající uživatel student, jeho osobní číslo. Není-li to student, prázdná hodnota.
#{username}. login použitý uživatelem při přihlášení do portálu.
#{ucitidno}. je-li volající uživatel student, prázdná hodnota. Je-li to učitel či nějaká vyšší role, jeho identifikátor UCITIDNO z tabulky UCITELE.
#{fakulta}. je-li volající uživatel student, fakulta jeho studijního programu. Je-li to učitel či nějaká vyšší role, položka fakulta od jeho uživatelské role.
#{katedra}. je-li volající uživatel student, prázdná hodnota. Je-li to učitel či nějaká vyšší role, položka katedra od jeho uživatelské role.
#{akademicky_rok}. aktuální akademický rok (dnešní den, dle kalendáře IS/STAG).
#{dnesniDatum}. dnešní datum, používat pouze pro položky typu datum.
Databázově jsou tato uživatelská nastavení uložena ve schématu INSTALL2 v tabulce REP_QUOS. Obsahuje několik základních určujících sloupečků plus jeden CLOB sloupec s JSON hodnotou, v níž je uloženo kompletně nastavení. V případě nouze lze tedy z DB smazat či JSON nějak ručně upravit, nicméně to velmi nedoporučujeme.
Prototypová implementace je elektronické potvrzení o studiu pro studenta, doporučujeme prohlédnout jeho popis v dokumentaci.