Wiki source code of Certifikát
Version 12.3 by Josef Vencl on 2022/04/19 14:45
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | (% class="box" %) | ||
2 | ((( | ||
3 | Certifikát je listina potvrzující, že uživatel splnil nějakou aktivitu a dosáhl tak určité úrovně. Competent tyto certifikáty generuje automaticky na základě dosažených výsledků a šablony ODT. Tato šablona obsahuje jednak formátování pro výsledný certifikát, jednak také řízení pro jeho vygenerování. | ||
4 | ))) | ||
5 | |||
6 | = Správa šablon v Competentu od nahrání ke stažení = | ||
7 | |||
8 | **Šablony do Competentu nahráváme **stejným způsobem jako další soubory, přes obrazovku [[Soubory 💻>>doc:Main.Official manuals.Competent - Uživatelská příručka.Uživatelské rozhraní.Administrátorské rozhraní.Obrazovka Soubory.WebHome]] nebo přes otevřený vedlejší panel [[Výběr souboru 💻>>doc:Main.Official manuals.Competent - Uživatelská příručka.Uživatelské rozhraní.Sdílené komponenty.Vedlejší panely.Výběr souboru.WebHome]]. Na obrazovce Soubory musíme nahraný soubor ještě označit jako šablonu certifikátu. | ||
9 | |||
10 | (% class="box" %) | ||
11 | ((( | ||
12 | [[image:A-Files-markAsCertTemplate.png]] | ||
13 | Soubor je již nahrán. Po kliknutí pravým tlačítkem myši zobrazíme kontextovou nabídku souboru a označíme soubor jako šablonu certifikátu. | ||
14 | ))) | ||
15 | |||
16 | **Přiřazení šablony k aktivitě **provedeme stejně jako přiřazení jakéhokoli jiného souboru (viz [[Detail aktivity, tab Dokumenty 💻>>doc:Main.Official manuals.Competent - Uživatelská příručka.Uživatelské rozhraní.Administrátorské rozhraní.Obrazovka Aktivity.Detail aktivity.WebHome]]). | ||
17 | |||
18 | (% class="box infomessage" %) | ||
19 | ((( | ||
20 | Je důležité, jaký stav k souboru zvolíme. Jedná-li se skutečně o certifikát, je nutné zvolit takový stav aktivity, kdy je aktivita úspěšně splněna. Při chybné volbě stavu nemusejí být vyplněny všechny položky. | ||
21 | ))) | ||
22 | |||
23 | **Stažení původního souboru**, podle kterého se generuje certifikát, může administrátor v [[Detailu aktivity, tabu Dokumenty 💻>>doc:Main.Official manuals.Competent - Uživatelská příručka.Uživatelské rozhraní.Administrátorské rozhraní.Obrazovka Aktivity.Detail aktivity.WebHome]], kde jsou vypsány všechny přiřazené soubory včetně možnosti je stáhnout. | ||
24 | |||
25 | **Stažení vygenerovaného certifikátu** může provést administrátor aktivity nebo student, jemuž je aktivita přiřazena, za těchto podmínek: | ||
26 | |||
27 | * Aktivita musí být ve stavu, který je zároveň nastaven i u přiřazeného souboru | ||
28 | * Administrátor musí mít přístup k aktivitě i uživateli (uživatel se zobrazí v detailu dané aktivity v tabu Uživatelé) | ||
29 | |||
30 | Přiřazený uživatel ve studentském módu přejde na detail sobě přiřazené aktivity ([[Detail uživatelské aktivity 💻>>doc:Main.Official manuals.Competent - Uživatelská příručka.Uživatelské rozhraní.Studentské rozhraní.Obrazovka Aktivity.Obrazovka Detail uživatelské aktivity.WebHome]]) a stáhne soubor s certifikátem (přp. všechny soubory v archivu ZIP). Soubor s certifikátem již bude vyplněný a připravený k možnému vytištění. | ||
31 | |||
32 | Administrátor s přístupem do detailu aktivity v seznamu uživatelů uvidí možnost stažení uživatelského certifikátu. Po kliknutí se stáhne požadovaný certifikát. | ||
33 | |||
34 | [[image:A-ActivityDetail-userCertificatesDownload.png]] | ||
35 | |||
36 | Administrátorský pohled na seznam uživatelů u aktivity | ||
37 | |||
38 | **(1) **Uživatel splnil aktivitu, certifikát ale není ke stažení. Pro uživatele je aktivita stále spuštěna a pro tento stav nebyla šablona označena. | ||
39 | |||
40 | **(2)** Druhý uživatel aktivitu ještě nesplnil. | ||
41 | |||
42 | **(3)** Kamil Dvořák má aktivitu splněnou ve stavu Dokončeno. Zobrazilo se mu tedy tlačítko pro stažení certifikátu [[image:ico-downloadCert.png]]. | ||
43 | |||
44 | (% class="box warningmessage" %) | ||
45 | ((( | ||
46 | **(4)** I pro Milana Hakuze se tlačítko pro stažení certifikátu zobrazilo, i když nebyl v plnění úspěšný. | ||
47 | CUid acqjp7 | ||
48 | ))) | ||
49 | |||
50 | = Tvorba šablony ODT = | ||
51 | |||
52 | (% class="box" %) | ||
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. | ||
55 | ))) | ||
56 | |||
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. | ||
58 | |||
59 | V následujícím textu budeme představíme doporučený postup při tvorbě šablon a zároveň ukážeme, jak systém funguje. | ||
60 | |||
61 | == 1. Úprava statického dokumentu == | ||
62 | |||
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}##(%%) | ||
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>##(%%). | ||
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. | ||
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]] | ||
78 | |||
79 | (% class="box infomessage" %) | ||
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##. | ||
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 | ))) | ||
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//. Komentář se skriptem je povinně uveden textem: (% style="background-color:#bdc3c7" %)##/*ZenScript*/;##(%%), kvůli odlišení od jiných typů komentářů. | ||
88 | |||
89 | [[image:cert_source_vs_output.png]] | ||
90 | |||
91 |