Hide last authors
Josef Vencl 3.2 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
Josef Vencl 5.1 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.
Josef Vencl 3.2 24
Josef Vencl 5.1 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
Josef Vencl 3.2 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ý.
Josef Vencl 4.1 47 CUid acqjp7
Josef Vencl 3.2 48 )))
49
50 = Tvorba šablony ODT =
Josef Vencl 4.1 51
52 (% class="box" %)
53 (((
Josef Vencl 11.2 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.
Josef Vencl 4.1 55 )))
56
Josef Vencl 5.2 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.
Josef Vencl 10.2 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í.
Josef Vencl 11.2 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}##(%%) 
Josef Vencl 6.2 66 [[image:Certificate-script-placeholders.png]]
Josef Vencl 11.2 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.
Josef Vencl 11.6 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}##(%%).
Josef Vencl 11.10 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:
Josef Vencl 11.9 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>##(%%).
Petr Blšťák 14.2 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>##(%%).
Josef Vencl 6.2 72
Josef Vencl 11.3 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.
Josef Vencl 11.2 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]]
Josef Vencl 11.3 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]]
Petr Blšťák 16.1 78 ** V rámci objektu access jsou pak dostupná nejen pole samotného přístupu, ale i dalších návazných objektů:
79 ** nejlepší pokus- [[Pokusy uživatele 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Pokusy uživatele.WebHome]]
80 ** běh aktivity -[[ Termín aktivity 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Uživatelské rozhraní.Administrátorské rozhraní.Obrazovka Aktivity.Termín aktivity.WebHome]]
81 ** běh sady - [[Termín sady 📖>>doc:Main.Official manuals.Competent - Uživatelská příručka.Slovník.Termínová sada.WebHome]]
Josef Vencl 11.2 82
Josef Vencl 6.2 83 (% class="box infomessage" %)
84 (((
Josef Vencl 11.2 85 **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##.
Josef Vencl 8.1 86 **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.*##)
Josef Vencl 6.2 87 )))
Josef Vencl 11.3 88
89 == 2. Zpracování dat skriptem ==
90
Josef Vencl 12.2 91 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ářů.
Josef Vencl 11.7 92
Josef Vencl 12.2 93 [[image:cert_source_vs_output.png]]