Changes for page Certifikát
Last modified by Petr Blšťák on 2022/06/08 11:58
Change comment:
(Autosaved)
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -51,7 +51,7 @@ 51 51 52 52 (% class="box" %) 53 53 ((( 54 -Šablony certifikátů vytváříme v textových programech typu LibreOffice, které umožňují ukládat ve formátu ODT. Nad rámec tohoto formátu označíme místa pro vložení dat pomocí //placeholderů //ve formátu ##${název}## a pro případnou manipulaci se vstupními daty využijeme skriptovací jazyk ZenScript založený na Javascriptu. 54 +Šablony certifikátů vytváříme v textových programech typu LibreOffice ([[web>>https://cs.libreoffice.org/download/download/]]), které umožňují ukládat ve formátu ODT. Nad rámec tohoto formátu označíme místa pro vložení dat pomocí //placeholderů //ve formátu ##${název}## a pro případnou manipulaci se vstupními daty využijeme skriptovací jazyk ZenScript založený na Javascriptu. 55 55 ))) 56 56 57 57 Šablona certifikátu se zpracovává proti vstupním datům, které jsou k dispozici pro skript. Tento skript data přetvoří do takové podoby, aby je bylo možné složit na požadovaná místa. ... ... @@ -62,19 +62,33 @@ 62 62 63 63 * Ve spolupráci s grafikem vytvoříme požadovaný vzhled certifikátu. Můžeme jej naplnit nesmyslnými daty (ta později nahradíme), abychom odladili velikost písma nebo rozsah na stránce. 64 64 * Při nahrazování se pro celou proměnnou použije formátování aplikované na znak dolaru. Můžeme to využít ve chvíli, kdy jsou názvy proměnných příliš dlouhé a rozložení dokumentu rozrušují. 65 -* Jednotlivé proměnné (jméno, příjmení, vystavení dokumentu apod.) uzavřeme do závorek za znakem dolaru, (% style="background-color:#bdc3c7" %)##${název proměnné}##(%%), např. chceme-li vypsat jméno prvního uživatele, bude zápis vypadat takto: (% style="background-color:#bdc3c7" %)##${SERVER.firstName}##(%%) 65 +* Jednotlivé proměnné (jméno, příjmení, vystavení dokumentu apod.) uzavřeme do závorek za znakem dolaru, (% style="background-color:#bdc3c7" %)##${název proměnné}##(%%), např. chceme-li vypsat jméno prvního uživatele, bude zápis vypadat takto: (% style="background-color:#bdc3c7" %)##${SERVER.user.firstName}##(%%) 66 66 [[image:Certificate-script-placeholders.png]] 67 -Titul, jméno a příjmení držitele certifikátu chceme velkým písmem, názvy proměnných (např. (% style="background-color:#bdc3c7" %)##User.titleBefore##(%%)) jsou však příliš dlouhé. Můžeme je proto zmenšit. Pro vypsaný text se použije formátování prvního znaku, tedy dolaru ((% style="background-color:#bdc3c7" %)##$##(%%)). Díky tomu může šablona vypadat konsistentněji a více odpovídat požadovanému výsledku. 67 +Ukázka proměnných v šabloně. Vypisujeme zde postupně jméno a příjmení uživatele a aktivitu, kterou absolvoval. Protože mohou být proměnné delší, než jsou skutečná jména **(1)** a mohla by v šabloně vadit, můžeme využít vlastnosti, kdy se použije formátování prvního znaku, tedy dolaru ((% style="background-color:#bdc3c7" %)##$##(%%)). Díky tomu může šablona vypadat konsistentněji a při návrhu více odpovídat požadovanému výsledku. V případě **(2)** jsme použili co nejmenší písmo, v případě **(3)** mezery mezi písmeny. Výsledný text bude formátován stejně jako znak dolaru. 68 +* Jestliže proměnná nemá hodnotu, nevypíše se nic. Pokud ale neexistuje ani tato proměnná, vypíše se do PDF chybový stav, např. (% style="background-color:#bdc3c7" %)##!N/A{User.params.certificateId}##(%%). 69 +* Vypisování netextových polí má následující výchozí chování. K jinému naformátování rozšiřte šablonu skriptem: 70 +** Data typu Date (datum, viz [[Datové typy 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Datové typy.WebHome]]) se vypisují ve formátu (% style="background-color:#bdc3c7" %)##<den>.<mezera><měsíc>.<mezera><rok>##(%%). 71 +** Data typu DateTime (datm a čas, viz [[Datové typy 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Datové typy.WebHome]]) se vypisují ve formátu(% style="background-color:#bdc3c7" %)## <den>.<měsíc>.<mezera><rok><mezera><hodina-24h>:<minuta>:<vteřina>##(%%). 68 68 69 - ==2.Zpracovánídat skriptem==73 +Datový objekt se jmenuje (% style="background-color:#bdc3c7" %)##SERVER##(%%)## ##a obsahuje data uživatelského přístupu k aktivitě rozdělená do podobjektů user, activity a access. Jejich pole (popsaná na odkazovaných stránkách) jsou dostupná k výpisu. 70 70 71 -Data můžeme vypsat rovnou nebo zpracovat pomocí skriptu vloženého do komentáře na začátek dokumentu. Jedná se o javascript zpracovávaný pomocí knihovny javax.script. Můžeme tedy využít základní funkce javascriptu, výpočty a objekty (jako Date). Na obrázku znázorněném výše skript získaná data ze serveru pouze uloží do nových proměnných, přestože by bylo možné vypisovat rovnou vlastnosti objektu server, např. (% style="background-color:#bdc3c7" %)##${SERVER.user.titleBefore}##(%%). 75 +* activity - objekt [[Aktivita 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Aktivita.WebHome]] 76 +* user - objekt [[Uživatel 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Uživatel.WebHome]] 77 +* access - [[Přiřazení Aktivity Uživateli (přístup) 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Přiřazení Aktivity Uživateli (přístup).WebHome]] 72 72 73 -**SERVER** odkazuje na objekt obsahující data vybrané uživatelské aktivity, a sice rozdělená po jednotlivých databázových entitách na [[uživatele 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Uživatel.WebHome]] (user), [[aktivitu 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Aktivita.WebHome]] (activity) a uživatelský přístup (uživatelskou aktivitu, access). 74 - 75 75 (% class="box infomessage" %) 76 76 ((( 77 -**Parametry** jednotlivých objektů naleznete ve [[Slovníku 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.WebHome]] u jednotlivých objektů. Jedná se o anglické názvy uvedené v nadpisu daného parametru. Např. datum poslední úpravy aktivity by mělo být uloženo v parametru ##lastUpdated## a jeho hodnotu ve skriptu získáme ze ##SERVER.user.lastUpdated##. 78 - 81 +**Parametry** jednotlivých objektů naleznete ve [[Slovníku 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.WebHome]] u jednotlivých objektů. Jedná se o anglické názvy uvedené v nadpisu daného parametru. Např. datum poslední úpravy aktivity by mělo být uloženo v parametru ##lastUpdated## a jeho hodnotu ve skriptu získáme ze ##SERVER.activity.lastUpdated##. 79 79 **Nepovinné parametry** (parametry [[subtypu 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Subtyp.WebHome]]) jsou seskupeny do podobjektu params (##SERVER.user.params.*##) 80 80 ))) 84 + 85 +== 2. Zpracování dat skriptem == 86 + 87 +Vedle přímého zápisu vstupních dat (výše) můžeme provést zpracování pomocí skriptu vloženého do komentáře na začátek dokumentu. Jedná se o javascript zpracovávaný pomocí knihovny //javax.script//. Můžeme tedy využít základní funkce javascriptu, výpočty a objekty (jako Date). Komentář se skriptem je povinně uveden textem: (% style="background-color:#bdc3c7" %)##/*ZenScript*/;##(%%), kvůli odlišení od jiných typů komentářů. 88 + 89 + 90 +=== Vlastní formátování dat === 91 + 92 +Všechna data v objektu jsou objekty typu Date. 93 + 94 +