From version < 11.10 >
edited by Josef Vencl
on 2022/04/19 14:10
To version < 9.1 >
edited by Josef Vencl
on 2022/04/06 10:37
< >
Change comment: Uploaded new attachment "sebedokumentujici-sablona.odt", version 1.1

Summary

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 ([[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.
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.
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.
... ... @@ -61,34 +61,19 @@
61 61  == 1. Úprava statického dokumentu ==
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 -* 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.user.firstName}##(%%) 
64 +* 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é}##(%%). 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í.
66 66  [[image:Certificate-script-placeholders.png]]
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>##(%%).
66 +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.
72 72  
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.
68 +== 2. Zpracování dat skriptem ==
74 74  
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]]
70 +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}##(%%).
78 78  
72 +**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).
73 +
79 79  (% class="box infomessage" %)
80 80  (((
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##.
76 +**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##.
77 +
82 82  **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.*##)
83 83  )))
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 -
Certificate-script-placeholders.png
Size
... ... @@ -1,1 +1,1 @@
1 -36.0 KB
1 +22.7 KB
Content