Moodle a IS/STAG
Propojení IS/STAG a e-learningového systému Moodle je implementováno již cca od roku 2012, v roce 2018 bylo v rámci CRP projektu dále rozšířeno. Konkrétní rozsah předávaných informací mezi oběma systémy je uveden níže.
Analýza a návrh obsahu původního projektu je uveden v následujících dokumentech:
NOVINKY 2024
Skupiny v rámci kurzů
V rámci NPO (RT 399212) je na jře 2024 implementována funkcionalita tzv. "skupin v rámci kurzů v Moodle". Kurz založený v IS/STAG lze nakonfigurovat v portálu IS/STAG tak, že má obsahovat skupiny studentů, které udežuje IS/STAG (tj. zakládá/ruší skupiny i jejich členy - studenty):
- Skupiny podle vypsaných zkouškových termínů předmětu
- Skupiny podle rozvrhových akcí předmětu
Skupiny jsou podporovány pouze u kurzů, které jsou přiřazeny k celému předmětu v IS/STAG (tedy nejsou podporovány u kurzů, které patří pouze k některé konkrétní rozvrhové akci).
Co je nutno nakonfigurovat: Na straně Moodle je třeba dát oprávnění uživateli IS/STAG (pro IS/STAG máte v Moodle vydán přístupový token pro WS API) pro volání webových služeb kategorie "core_group_*".
Možnost speciální role pro uchazeče v Moodle
Dosud IS/STAG dával uchazečům v kurzech (pokud byly kurzy přiřazeny k předmětům přijímacího řízení) roli "student", stejnou, jako dával běžným studentům v běžných kurzech. Nově je možné založit si v Moodle speciální uživatelskou roli (jak se to dělá vývojáři IS/STAG nevědí - je třeba založit v Moodle) a tato role dostane nějaké speciální ID. Toto ID zadejte jako administrátoři v portálu IS/STAG / Administrátoři / Externí systémy / Nastavení e-learningu - a u instance Moodle vyplnítetoto ID do položky "Moodle-ID uživatelské role pro uchazeče". Následně IS/STAG začne uchazečům v kurzech přidělovat tuto roli. Pozor, uchazeče přidané do kurzů do té doby se změna nedotkne.
NOVINKY 2018
V rámci CRP 2018 byly implementovány některé novinky:
- Kurz pro předmět lze nově založit pro omezenou množinu studentů - lze specifikovat:
- Semestr výuky - tj. na kurzu budou přítomni pouze studenti zapsaní v zadaném semestru. Pokud semestr není určen, jsou přítomni studenti obou semestrů (pokud se předmět učí oba semestry, jinak pouze z toho jednoho samozřejmě)
- Forma výuky - tj. na kurzu budou přítomni pouze studenti v zadané formě studia.
- Z Moodlu se zpět do IS/STAG získává kromě počtu bodů získaných na kurzu i souhrnné hodnocení, které říká, zda student kurz úspěšně absolvoval či nikoliv (tuto informaci nám předává Moodle, obecně nevíme, jak ji získává - je třeba zřejmě Moodle nějak nastavit).
- Možnost přiřadit Moodle kurz k předmětu v rámci přijímacího řízení - získané body se následně započtou do přijímacího řízení uchazeče.
- Popis této novinky je uveden níže v samostatné kapitole.
- Zcela přepracován způsob konfigurace propojení - nyní ji zvládnou administrátoři IS/STAG bez asistence vývojového týmu:
- Veškerá konfigurace je již uložena v databázi IS/STAG v tabulce EL_SYSTEMY
- Tato konfigurace může být editována administrátory v portálu v Administrace / Externí Systémy.
- V konfiguračním souboru modulu WS již není nutné konfigurovat nic (pouze je třeba zapnout profil "moodle" pro zapnutí celé funkcionality)
- Aplikace sama napoprvé zkopíruje konfiguraci z konfiguračního souboru do databázové tabulky
Úvod
Pro obecný popis procesů a možností propojení s Moodle doporučujeme projít si nejprve dokument E-learningové systémy na záložce "Zákazníci". A také si projděte obecný popis napojení na e-learningové systémy zde "o záložku výše".
Obecný popis tohoto propojení, možnosti
Propojení IS/STAG a Moodle je realizováno v následujícím rozsahu:
- Propagace událostí/informací z IS/STAG do Moodle - probíhá okamžitě jakmile událost nastane:
- Přiřazení studenta/uchazeče k aktivitě v IS/STAG - tato událost se v IS/STAG vyvolává automaticky (např. při zápisu studenta na předmět/rozvrhovou akci, ke které je přiřazena nějaká aktivita či přímo v okamžiku přiřazení aktivity k předmětu/rozvrhové akci)
- Odebrání studenta/uchazeče od aktivity v IS/STAG - tato událost se v IS/STAG vyvolává automaticky (opak předchozí události).
- Vytvoření kurzu prostřednictvím aplikace "Administrace kurzů Moodle" v portálu IS/STAG
- Ihned po úspěšném vytvoření kurzu v Moodle (prostřednictvím příkazu v portálu IS/STAG) proběhne synchronizace pouze tohoto právě vytvořeného kurzu - tj. proběhne pro tento jeden kurz to, co se pro všechny kurzy děje pravidelně každou noc (viz níže).
- V případě, že je u předmětu kurz s podporou skupin podle zkouškových termínů, dojde k zápisu/odzápisu studenta na termín a tento termín se koná dříve než za dva dny, dojde k přenosu tohoto studenta ke skupině v Moodle okamžitě (v opačném případě dojde k synchronizaci následně v noci)
- Propagace událostí/informací z Moodle do IS/STAG - probíhá pravidelně jednou denně (v noci) a také ihned pro vytvoření kurzu z portálu IS/STAG (pouze pro tento kurz):
- Synchronizace aktivit (tj. vytvoření či smazání) v IS/STAG podle aktuálního stavu kurzů v Moodle
- Kurzy, které jsou v Moodle a mají nastaveno, že se mají přenášet do IS/STAG (zaškrtávátko "synchronizovat s IS/STAG) a mají nastaven atribut "rok platnosti" na nějakou hodnotu (např. hodnota "2015" pro ak. rok 2015/2016), se přenesou do IS/STAG jako nové "aktivity". Synchronizují se však kurzy maximálně z "loňska".
- Pokud kurz v Moodle není (tj. např. byl odstraněn), ale v IS/STAG k němu existuje příslušné aktivita, tak je aktivita v IS/STAG odstraněna (toto chování lze řídit parametrem moodle_X_povolit_mazani_aktivit, viz. níže).
- Synchronizace vyučujících přiřazených k těmto aktivitám z Moodle do IS/STAG
- Pokud jsou v Moodle ke kurzu přiřazeni další vyučující nebo jsou někteří odebráni, toto nastavení se přenese do IS/STAG - v IS/STAG jsou pak ti samí vyučující buďto k aktivitě přiřazeni nebo jsou od ní odebráni.
- Synchronizace studentů/uchazečů uvedených v IS/STAG u aktivit k frekventantům uvedeným u kurzů v Moodle
- Probíhá plná synchronizace toho, jací studenti/uchazeči jsou uvedeni u aktivit v IS/STAG směrem do Moodle. Pokud v Moodle u kurzu někdo chybí, je tam přidán. Pokud v Moodle u kurzu někdo přebývá (a nebo nelze podle jeho uživ. jména dohledat platného, studujícího či přerušeného studenta v IS/STAG), je tento od kurzu v Moodle odebrán
- Synchronizace výsledků studentů z Moodle do IS/STAG - přenášejí se výsledné body z Moodle do informací o studentovi/uchazeči na aktivitě v IS/STAG, dále se pak přenáší i souhrnná informace o tom, zda frekventant kurz úspěšně absolvoval či nikoliv.
- V portletu určeném pro vyučující (pro ty, kteří jsou k daným aktivitám přiřazeni) je pak umožněno tyto výsledky studentů vidět a rovnou jim zadávat známky na základě těchto výsledků.
- Synchronizace skupin v rámci kurzů - týká se skupin podle zkouškových termínů i rozvrhových akcí (viz popis novinek z roku 2024 výše).
- Synchronizace aktivit (tj. vytvoření či smazání) v IS/STAG podle aktuálního stavu kurzů v Moodle
Uživatelé IS/STAG a Moodle
IS/STAG při svých operacích s Moodlem musí řešit otázku uživatelských účtů uživatelů - když do Moodle přenáší vyučujícící ke kurzu, studenty či uchazeče, musí v Moodlu vytvářet uživatelská konta, pokud tam ještě nejsou. Uživatelská konta se řídí následujícícmi pravidly:
- Uživatelské jméno uživatele v Moodle (u studentů a vyučujících): Webové služby IS/STAG podporují dva režimy - záleží na konfiguračním parametru "user.identity" (tento parametr by měl být nastaven na stejnou hodnotu v konfiguraci Moodle, jako je nastaven na portálu IS/STAG v souboru stag-config.properties - tam se jmenuje "ucitel.info.identita"). Kvůli pravidlům Moodle jsou všechna uživatelská jména převedena na malá písmena:
- Pokud je hodnota parametru "stag", berou se uživatelská jména z databáze IS/STAG - tj. uživatelské jméno studenta je jeho osobní číslo, uživatelské jméno vyučujícího je jeho konto v IS/STAG.
- Pokud je hodnota parametru "orion", berou se uživatelská jména z tabulky ORION a ORION_UCITELE - tj. tam, kde je IS/STAG portál napojen na jinou autoritu uživatelských jmen (Kerberos, LDAP atd.) a kde se tedy např. pro přihlašování do portálu nepoužívají "stagovská" konta, ale konta z jiné autority. I propojení s Moodle pak bere tato uživ. jména a v Moodle se tedy vytvářejí uživatelé se stejnými loginy, jako používají pro přístup do portálu IS/STAG. Samotné ověřování přihlášení do Moodlu (hesla) je již zodpovědností provozovatele Moodle, aby zajistil ověřování vůči příslušné autoritě.
- Uživatelské jméno uživatele v Moodle (u uchazečů) - Podporujeme tři režimy - záleží na nastavení hodnoty parametru "uchazecUserIdentity":
- Pokud je hodnota parametru "prihlaska", je uživatelským jménem v Moodle "oborové číslo uchazeče" a tudíž pokud podá osoba více přihlášek, vznikne více nezávislých kont v Moodle.
- Pokud je hodnota parametru "osoba", je uživatelským jménem v Moodle "univerzitní číslo uchazeče" a tudíž pokud podá osoba více přihlášek, vznikne jen jediné konto v Moodle. Pokud by tedy např. na více přihláškách měl uchazeč absolvovat stejný test, bude jej absolvovat pouze jednou a jediným kontem.
- Pokud je hodnota parametru "email_osoby", je uživatelským jménem v Moodle "kontaktní e-mail uchazeče". Je tedy stejně jako u hodnoty "osoba" jedno konto per osoba se všemi důsledky.
- Email - Moodle bohužel považuje email za atribut, který musí být unikátní, tj. nemohou existovat dvě uživatelská konta v Moodle se stejným emailem. Pokud tedy bude u více uživatelů v IS/STAG uveden stejný email, bohužel se vytvoření v Moodle nezdaří. Řešení tohoto problému není v moci vývojářů IS/STAG. Pro testovací účely je však připraven konfigurační parametr "Zajistit jedinečné (ale nesmyslné) maily do Moodle" - viz níže).
- Když IS/STAG zakládá konto v Moodle pro uchazeče, vytváří "fiktivní" email vždy (protože by skutečně byl problém s kolizemi emailů pak pro založení studentské identity). E-mail je jednoznačný, ale nesmyslný a jako první písmeno obsahuje vždy buď M nebo Z (podle pohlaví uchazeče) následované tečkou.
- Jméno, Příjmení - přenáší se z IS/STAG
- Heslo - může a nemusí se přenášet z IS/STAG (viz dále) - záleží na způsobu následného ověřování uživatelů na straně Moodle - Lze nakonfigurovat atribut říkající Moodlu, jak má uživatele ověřovat. Hodnotu parametru je třeba získat od správce Moodle. Obvyklé hodnoty jsou např. "manual", "ldap" nebo "shibboleth".
IS/STAG si při každém požadavku do Moodlu, kde je potřeba operovat s jakýmkoliv uživatelem (učitelem/studentem/uchazečem), zjistí, zda v Moodlu uživatel s požadovaným uživ. jménem existuje. Teprve v případě, že neexistuje, jej IS/STAG zakládá (má-li k tomu oprávnění - viz konfigurace).
Oznámení uchazečůM o přiřazení ke kurzu V Moodle (pro přijímací řízení)
Pokud v konfiguraci e-learningového systému (viz níže) vyplníte položky "Text do oznámení o přidání uchazeče ke kurzu (česky, anglicky)", bude IS/STAG uchazečům zasílat na jejich kontaktní e-mailovou adresu oznámení v okamžiku, kdy bude v Moodle přidávat tohoto uchazeče k nějakému kurzu. Je jedno, zda-li je konto per "prihlaska" nebo per "osoba" (viz výše), v každém případě v okamžiku, kdy IS/STAG úspěšně uchazeče k nějakému kurzu přidal, odešle danému uchazeči oznámení následujícího znění:
Odesílatel: NÁZEV UNIVERZITY <adresa, ze ktere jdou notifikace@univerzita.cz>
Předmět: Účet pro přístup do systému přijímacího řízení / Account for access to the admission system
Text:
English version follows.
Vážená uchazečko, Vážený uchazeči,
Byl Vám vytvořen přístupový účet do kurzu v systému přijímacího řízení na adrese: <URL>
Uživatelské jméno: <USERNAME>
Výchozí heslo: <HESLO>
<Hodnota položky text oznámení CZ>
-
Dear applicant,
access to the course in admission system at: <URL>
Username: <USERNAME>
Default password: <HESLO>
<Hodnota položky text oznámení ANG>
Poznámka: To uživatelské jméno a výchozí heslo se v mailu objevuje pouze tehdy, pokud je daná instance Moodle nakonfigurována v IS/STAG tak, že parametr "'Auth' metoda při zakládání uchazečů" je nastaveno na hodnotu "manual".
Konfigurace IS/STAG
Tato kapitola popisuje kroky nutné pro konfiguraci IS/STAG tak, aby byl napojen na Moodle.
Instalace Moodle doplňku
Nutnou prerekvizitou konfigurace IS/STAG je příprava Moodle - nejprve si tedy dle dodaného návodu nainstalujte do Moodle potřebný doplněk, získejte URL a token pro přihlašování. Následně pokračujte v tomto návodu.
Konfigurace instancí MOODLE v IS/STAG
V portálu v sekci "Administrace / Externí systémy / Moodle", který mohou použít uživatelé s rolemi "Administrátor" nebo "Administrátor E-learningových systémů" nastavíte vše potřebné:
Nastavení je poměrně hodně, nicméně jsou jasně popsána. Společná nastavení jsou popsána v nadřazené kapitole, zde specifikcé věci pro Moodle:
- Maska kategorie - viz. níže
- URL webových služeb Moodle - obsahuje přesné URL webové služby Moodle, která se volá při vzájemné komunikaci. Tuto adresu dodají kolegové provozující Moodle, obvykle však začíná URL serveru plus se k ní připojí řetězec "/webservice/rest/server.php".
- Token pro připojení k WS Moodle - obsahuje identifikační řetězec, který je třeba při komunikaci s Moodle použít. Tento řetězec se pro každou instalaci liší a dodají jej administrátoři Moodle.
- Uchazeči - jaká uživ. jména v Moodlu jsou? - Hodnoty bud 'osoba' nebo 'prihlaska' (vychozi je 'prihlaska' pokud neni uvedeno). Rika, jakym zpusobem jsou delana konta uchazecu v Moodle - tj. zda se uzivatelska jmena budou odpovidat OSOBE (tj. username bude cislo odpovidajici UNIVERZITNIMU cislu uchazece) a nebo PRIHLASCE (tj. username bude cislo odpovidajici OBOROVEMU cislu uchazece)
- Zajistit jedinečné (ale nesmyslné) maily do Moodle - musí být na provozních systémech false (nebo neuveden). True slouží pro účely testování na různých DEMO systémech, kde zajišťuje, aby email nově vytvářených uživatelů, který se do Moodle předává, byl vždy jedinečný (Moodle totiž požaduje, aby email byl v rámci všech uživatelů jedinečný a na DEMO systémech bývají emaily často vygenerovány jendotně či náhodně).
- Zakládat v Moodle uživatelská konta pro studenty a vyučující? - defaultně je hodnota "Ano". Pokud je nastaveno na "Ne", nebude IS/STAG uživatele v Moodle (pro studenty a vyučující) vytvářet vůbec, tj. předpokládá se, že nějaký jiný externí mechanismus uživatele v Moodle vyvtáří sám a že tam již všichni jsou.
- 'Auth' metoda při zakládání uživatelů - obsahuje řetězec, který má být do Moodle předán tehdy, když je třeba v Moodle vytvořit uživatele (pro studenty či vyučující), který tam dosud není. Tento řetězec se předává Moodlu v parametru 'auth' a jeho konkrétní hodnota záleží na dané implementaci Moodlu a způsobu, jakým ověřuje uživatele. Konzultujte se správcem Moodle. Možné hodnoty jsou například: "manual", "ldap", "shibboleth" atd.
- Heslo nově vytvářených uživatelů - Udává, jaká hesla jsou přidělena nově vytvářeným uživatelům pro studenty a vyučující. Má smysl pouze pokud je "user_auth" nastaveno na "manual" (tj. uživatelé jsou ověřováni v Moodle). Defaultně je hodnota "random". POZOR při konfiguraci, protože Moodle obsahuje možnost nastavit politiky pro hesla (například nutný počet různých typů znaků a podobně) - prověřte, zda Moodle Vámi vybraný typ hesla povolí! Možnosti:
- prijmeni.rc - znamená, že se předá jako heslo řetězec složený z "Prijmeni.RC", kde "Prijmeni" je příjmení s prvním velkým písmenem a RC je rodné číslo uživatele. Případné mezery v příjmení jsou nahrazeny za tečky. Je-li v příjmení zadáno více slov, třeba "Musilová Vébrová", pak bude heslo "Musilova.vebrova.RC"
- random - znamená, že se předá zcela náhodný složitý řetězec.
- jmeno.prijmeni - znamena, že se předá řetězec složený ze jména, tečky a příjmení - vše malými písmeny bez diakritiky. Případné mezery ve jméně či příjmení jsou taktéž zaměněny za tečky.
- jmeno - znamena, že se předá křestní jméno - vše malými písmeny bez diakritiky. Případné mezery ve jméně jsou nahrazeny za tečky.
- username - znamená, že heslo bude přesně to samé jako uživatelské jméno
- prijmeni.rc - znamená, že se předá jako heslo řetězec složený z "Prijmeni.RC", kde "Prijmeni" je příjmení s prvním velkým písmenem a RC je rodné číslo uživatele. Případné mezery v příjmení jsou nahrazeny za tečky. Je-li v příjmení zadáno více slov, třeba "Musilová Vébrová", pak bude heslo "Musilova.vebrova.RC"
- 'Auth' metoda při zakládání uchazečů - obsahuje řetězec, který má být do Moodle předán tehdy, když je třeba v Moodle vytvořit uživatelské konto pro uchazeče. Tento řetězec se předává Moodlu v parametru 'auth' a jeho konkrétní hodnota záleží na dané implementaci Moodlu a způsobu, jakým ověřuje uchazeče. Máte-li Moodle doplněk od PragoData nový od roku 2018 (v rámci CRP 2018), mělo by být nastaveno na hodnotu 'stag_admission'. Není-li uvedeno nic a je-li nastaven parametr MOODLE_NOVA_APLIKACE na 'A', použije se hodnota 'stag_admission'. Není-li uvedeno nic a není-li nastaven parametr MOODLE_NOVA_APLIKACE na 'A', použije se hodnota 'manual'.
- Heslo nově vytvářených uživatelů pro uchazeče - to samé jako předchozí, ale je to aplikováno při vytváření uživatelů pro uchazeče.
- Povolit mazání aktivit - pokud je uvedeno 'Ano', pak se používá skutečně "plná" synchronizace kurzů v Moodle s aktivitami v IS/STAG v tom smyslu, že pokud kurz v Moodle byl smazán, bude smazána i aktivita v IS/STAG. Ve výchozím případě je toto chování ale vypnuto (pro jistotu). V ostrém provozu by se mělo zapnout.
- Odebírat neznámé uživatele od kurzů - je-li zapnutý na "Ano" (výchozí případ), pak propojení odebírá od kurzů ty uživatele, jejichž uživatelské jméno IS/STAG nezná (tj. učitelé i studenti) - během každodenní noční synchronizace. Je-li "Ne", IS/STAG takové uživatele od kurzů neodebírá.
- Odebírat uživatele od kurzů při plné synchronizaci - Defaultne "Ano". Zda pri plne nocni synchronizaci odebirat uzivatele, kteri sice jsou IS/STAG znami (tj. nema na ne vliv parametr 'Odebírat neznámé uživatele od kurzů'), ale nemaji ke kurzu patrit - tj. v tabulkach STAGu k danemu kurzu/aktivite nepatri. Tyka se pouze situace, kdy bezi plna synchronizace kurzu - ta v noci. Ta "okamzita" synchronizace studentu (ta co se stane OKAMZITE po pridani/ubrani uzivatele z tabulky EL_AKT_STUDENTA) probiha i nadale, tj. ti studenti, ktere nekdo treba z predmetu odzapsal, opravdu z Moodle zmizi.
- Odebírat nestudující studenty od kurzu - Defaultně 'Ne' - Zda pri plne nocni synchronizaci odebirat studenty, kteri sice jsou IS/STAG znami (tj. nema na ne vliv parametr 'Odebírat neznámé uživatele od kurzů'), ale maji uz stav studia "Nestuduje" - tj. v tabulkach STAGu k danemu kurzu/aktivite patri (EL_AKT_STUDENTA), ale v tabulce STUDENTI uz maji STAV = N. Tyka se pouze situace, kdy bezi plna synchronizace kurzu - ta v noci. Ta "okamzita" synchronizace studentu (ta co se stane OKAMZITE po pridani/ubrani uzivatele z tabulky EL_AKT_STUDENTA) probiha i nadale, tj. ti studenti, ktere nekdo treba z predmetu odzapsal, opravdu z Moodle zmizi.
- Text do oznámení o novém kontu uchazeče (česky, anglicky) - text do případného oznámení uchazečům, kterým je nově vytvářeno konto v Moodle. Viz. kapitola u uživatelských kontech.
Masky kategorií, do kterých se kurzy umisťují a názvy kurzů
Kromě možných masek popsaných ve společné kapitole je u Moodle u masky kategorií použít ještě znak:
# - Tento speciální znak se používá pouze u masky kategorie a odděluje jednotlivé pod-kategorie, které chcete v Moodlu vytvořit. Viz. příklad níže.
Příklad: Chceme mít v Moodle kategorie kurzů strukturované tak, že na hlavní úrovni bude kategorie označená rokem varianty, pod ní kategorie podle fakult a pod nimi kategorie podle kateder. Pod kategorií kateder již budou přímo kurzy s tím, že jako krátký název kurzu bude použita zkratka předmětu/semestr a jako dlouhý název kurzu bude použit celý název předmětu z IS/STAG, nastavte masky takto:
- MASKA_KATEGORIE = ROK_VARIANTY_PREDMETU#FAKULTA_PREDMETU#KATEDRA_PREDMETU
POZOR - v praxi je třeba jako masku krátkého názvuv Moodle použít více informací - protože krátký název musí být v celém Moodle jednoznačný. Je tedy třeba myslet i na případy, kdy je kurz založen pro rozvrhovou akci, případně jen pro nějakou formu či semestr studia. Ideálně pak maska krátkého názvu vypadá nějak takto:
- MASKA_KRATKY_NAZEV = KATEDRA_PREDMETU/ZKRATKA_PREDMETU [ROAK_IDNO] [FORMA_STUDIA] [SEMESTR_STUDENTU]
Krátký název lze po založení kurzu v Moodle libovolně změnit (na běh propojení s IS/STAG už to nebude mít vliv).
Parametry IS/STAG
- MOODLE_NOVA_APLIKACE = "A" (na úrovni REK). Tento parametr nastavte všude tam, kde již máte v Moodle (ve všech propojených instancích) nejnovější verzi pluginu - verzi z ledna 2019. Zpřístupní Vám to nové funkce vyvinuté během roku 2018.
Kurzy a přijímací řízení
Kurzy lze nově (od r. 2019) přiřadit nejen k předmětům a rozvrhovým akcím (a frekventanty v těchto případěch tvoří studenti), ale i k předmětům přijímacího řízení (frekventanty kurzu tvoří uchazeči). Lze tedy využít Moodle k otestování uchazečů s tím, že výsledky jejich testů se z Moodle přenesou zpět do IS/STAG a zapíšou se přímo do modulu přijímacího řízení jako body získané z konkrétního předmětu přijímaček. Jak toto nastavit a jak to funguje:
- V Moodle si vytvořte kurz, který bude obsahovat Vámi požadované testy k přijímačkám. Tento bod je zcela na Vás, připravte si klidně libovolné množství kurzů, testů, cokoliv. Kurz si rozumně pojmenujte (abyste jej pak i na straně IS/STAG snadno našli ve vyhledávacích políčkách).
- U kurzu v Moodle nastavte atributy kurzu:
- "synchronizovat s IS/STAG"
- "určen pro přijímací řízení"
- rok platnosti - uveďte akademický rok platnosti - pro rok "2018/2019" uveďte pouze první rok, tj. "2018". Pozor, v případě přijímacího řízení musíte zadávat akademický rok, NA KTERÝ přijímací řízení běží, tj. obvykle "o rok další než je teď".
- NOVINKA (1.4.2019) v IS/STAG - Protože z pohledu přijímaček není v Moodle žádná extra funkcionalita, ale pouze ono nové zaškrtávátko "Přijímací řízení" (drtivá většina novinek je na straně IS/STAG), byl IS/STAG upraven tak, aby šlo propojení pro přijímací řízení použít i s původní verzí doplňku pro Moodle. Nemáte-li tedy přístup k verzi vzniklé z CRP 2018, pak postupujte takto:
- Vytvořený kurz pojmenujte tak, aby jeho krátký a nebo dlouhý název (je to jedno, vyberte si, co vám více vyhovuje) začínal prefixem "PR-" ("P R pomlčka"). Tímto dáte IS/STAG najevo, že se jedná o kurz pro přijímačky - stejně, jako v nové verzi doplňku uděláte oním zaškrtávátkem.
- Vyplňte položky "STAG rok" stejně, jako v případě uvedeném v předchozím bodě. Stará verze doplňku Vám ale neumožní to uložit, pokud nemát evyplněno i STAG oddělění a STAG předmět - tak do těchto položek vepište cokoliv, třeba "XXX".
- IS/STAG provádí synchronizaci kurzů 1x denně vždy v noci - tj. buď počkejte na synchronizaci a nebo požádejte administátora IS/STAG či Moodle, ať v portálu IS/STAG vyvolá synchronizaci ručně v Administace / Externí systémy / Akce / Synchronizovat kurzy nyní.
- V IS/STAG by se měl tento kurz objevit v seznamu aktivit (formulář EL0010) - to si můžete prověřit jen pro kontrolu - případně rovnou v PJ0040:
- Ve formuláři PJ0040 si ke konkrétnímu předmětu vyberete ze seznamu tuto konkrétní aktivitu.
- V důsledku toho by mělo dojít k postupnému přiřazení uchazečů, kteří na daném přijímacím oboru jsou, ke kurzu:
- Technicky: To znamená, že se jednak uchazeči objeví v tabulce EL_AKT_STUDENTA (s ELAKIDNO daného kurzu a UCHAZECIDNO uchazeče)
- Prakticky: IS/STAG zavolá postupně v Moodlu webovou službu na založení uživatelského konta uchazeče - uživatelské jméno bude jeho "oborové číslo" (tedy uchazec_idno), heslo dle nakonfigurovaného parametru moodle_X_uchazec_password_type.
- A tohoto uchazeče přiřadí k danému kurzu
- Každou noc při synchronizaci dojde k nahrání bodů z Moodle u daného uchazeče zpět do IS/STAG - body se dostanou až přímo k přijímacímu oboru jako body u daného předmětu.
Konfigurace na straně Moodle
Vývojáři IS/STAG mají dvě důležitá upozornění:
- Volání některých webových služeb Moodlu trvá VELMI dlouho - záleží to na počtu kurzů, ale při stovkách kurzů může trvat desítky vteřin až několik minut!! Nakonfigurujte prosím veškeré HTTP servery Moodlu či mezilehlé proxy/loadbalancery tak, aby měly cca alespoň 5-ti minutový timeout!
- V databázi Moodle je třeba minimálně některé položky nastavit tak, aby podporovaly kódování UTF-8. Konkrétně tabulka "mld_course" (shortname) a "mdl_course_attributes" (type, name, value). Použít kódování "utf8_czech_ci" nebo "utf8_bin" (zde jsou příklady pro mysql databázi). pokud nastanou komplikace při zakládání kurzů, v jejichž zkratce pracoviště nebo předmětu je diakritika, je třeba pátrat v Moodle tímto směrem.
- UPDATE: (děkuji Honzovi Sikorovi, viz. RT 248645) - pokud toto nezabere, postupujte prosím podle tohoto návodu - lehce si upravte modul v Moodle.
Co se týče další konfigurace samotného Moodle, postupu instalace rozšíření, uživatelského manuálu pro vyučující atd. - zda odkazujeme na autory - firmu PragoData. Na tomto místě pouze vystavujeme dokument "Implementační postup" dodaný zmíněnou firmou a samotný plug-in do Moodle určený k instalaci:
Původní verze doplňku pro Moodle (před rokem 2018):
- [p. Sikora, VŠKE] úprava podpory kódování UTF-8 (informace i viz výše v této kapitole)
- [p. Krlín, JČU] je opět možné najít v menu Správa kurzu položku Atributy kurzu a tak se dá opět uživatelsky snadno nastavit propojení na straně Moodlu.
- [p. Krlín, JČU] je možné posílat v anotaci kurzu Moodlu (popis předmětu ve STAGu) HTML tagy , to dříve nešlo.
Nová verze doplňku pro Moodle (po CRP 2018):
Bude upřesněno, zatím probíhá jednání.
Postup otestování funkčnosti propojení
Následující postup byl vytvořen ve spolupráci s p. Janem Sikorou, administrátorem VŠKE. V lednu 2015 testoval propojení IS/STAG s Moodlem verze 2.8.2 a při této příležitosti sepsal seznam kroků, jak se implementované propojení otestuje i s novějšími verzemi Moodle. Doporučujeme tedy administrátorům, kteří chtějí IS/STAG propojit s dalšími novějšími verzemi Moodle, aby tento postup použili a poté nás laskavě informovali - zahrneme danou verzi zde do seznamu verzí, které jsou otestované a v nichž propojení funguje.
Seznam verzí Moodle, v nichž je/bylo propojení otestováno (a kdo otestoval)
Velmi děkujeme za spolupráci při testování nových verzí Moodle!
- 4.1 - Libor Filip, UHK (2.3.2023) - RT 38323 - "začátkem roku proběhl Upgrade Moodle na verzi 4.1 a vše se zdá funkční (tedy přesněji nejpoužívanější zakládání kurzů)."
- 3.11 - Libor Filip, UHK (9.9.2021) - RT 356789 - "včera byl povýšen náš ostrý Moodle na verzi 3.11, založení kurzu a přiřazení učitelů a studentů se zdá funkční."
- 3.5.3 - Eduard Krlín, JČU - (7.2.2020) - "Právě jsem to otestoval na Moodlu 3.5.3 se starým doplňkem a funguje vše. Od zakládání uživatelů, přes přenos bodů."
- 3.2. - Jan Sikora, VŠKE - funguje stejně jako verze 3.1. Jediné, co se prý při upgradu ztratilo, byla webová služba služba "core_course_get_categories", kterou bylo potřeba jen znovu přidat.
- 3.1.1 - Jan Sikora, VŠKE. Jediný problém je, že přímo v Moodle se nelze podívat na ony IS/STAG atributy (vazba na předmět a rozvrhovou akci)
- 3.0 - Jan Sikora, VŠKE
- 2.9 - Jan Sikora, VŠKE
- 2.8.2 - Jan Sikora, VŠKE
- 2.7 - Jan Sikora, VŠKE
- 2.6.3+ - Miroslav Koblížek, UPCE
- 2.5 - Eduard Krlín, JČU
- 2.4.6+ - Ladislav Žůrek, VFU
- 2.4.5+ - Petr Grolmus, ZČU
- 2.4 - Eduard Krlín, JČU
- ... bude doplneno
Postup otestování
- nakonfigurovat spojení s IS/STAG (viz kapitoly výše)
- založit zkušební kurz pro předmět, také pro rozvrhovou akci a to jak existujícího (staršího) kurzu akce tak ze šablony (přes portál IS/STAG / Administrace kurzů Moodle)
- podívat se do Moodle na ten kurz zda je OK a zda funguje propojení - tj. zda samotný kurz a jeho metadata v Moodle jsou správně
- ověřit přihlášení uživatele (studenta kurzu a vyučujícího), kteří k tomu kurzu patří, do Moodle
- ověřit, že jsou ke kurzu přiřazeni studenti i učitelé
- v IS/STAG zařídit odebrání studenta od kurzu (např. odzapsat studentovi předmět či rozvrhovou akci) a kontrola, zda v Moodlu byl od kurzu odebrán (mělo by se to stát téměř okamžitě). Pozor - student u kurzu nadále figuruje, ale už v něm nemá žádnou roli (a tak je to správně)
- v IS/STAG zařídit přidání studenta ke kurzu - opak předchozího + opět zkontrolovat, zda byl ke kurzu přiřazen
- jako vyučující editovat kurz, nastavit studentovi hodnoceni
- provést synchronizaci daného kurzu (v portletu IS/STAG / Administrace / Admin ESB / záložka akce / Synchronizovat vybraný kurz)
- oveřit v portálu IS/STAG, že výsledek z kurzu dorazil (Moje výuka / Elearningové systémy, v portálu IS/STAG přepnut na identitu vyučujícícho tohoto kurzu)
- připojení již existujícícho Moodle kurzu k předmětu v IS/STAG:
- v Moodle editovat parametry kurzu, nastavit ty "stag" parametry - department (zkratka katedray), subject (zkratka předmětu) a year (rok varianty) a zapnout, že se kurz má se stagem synchronizovat.
- provést synchronizaci všech kurzů (v portletu IS/STAG / Administrace / Admin ESB / záložka akce / Synchronizovat všechny kurzy) a podívat se v IS/STAG, zda byla aktivita pro daný kurz vytvořena a napojena na daný předmět (nejlépe asi ve formuláři PM0010 záložka Aktivity)