Moodle v davu i pod kapotou Igor Kopetschke Klára Císařová Jitka Vencláková MoodleMoot 2016 V Olomouci 19. 10. 2016
Co říci úvodem? Asi úvod
Co říci úvodem? Asi úvod Při minulých prezentacích jsme se vždy chlubili
Co říci úvodem? Asi úvod Při minulých prezentacích jsme se vždy chlubili a jak známo, tradice se má dodržovat
Co říci úvodem? Asi úvod Při minulých prezentacích jsme se vždy chlubili a jak známo, tradice se má dodržovat takže tomu opět neuniknete
Co říci úvodem? Asi úvod Při minulých prezentacích jsme se vždy chlubili a jak známo, tradice se má dodržovat takže tomu opět neuniknete ale dnes to bude trochu jinak
Co říci úvodem? Asi úvod Při minulých prezentacích jsme se vždy chlubili a jak známo, tradice se má dodržovat takže tomu opět neuniknete ale dnes to bude trochu jinak vychloubání bude tentokrát až na konci
Takže o čem to dnes bude? Pomoc! Kde je můj kurz?
Takže o čem to dnes bude? Pomoc! Kde je můj kurz? Tam, kde jeden Moodle nestačí
Takže o čem to dnes bude? Pomoc! Kde je můj kurz? Tam, kde jeden Moodle nestačí Něco málo z naší kuchyně Zoufale prázdný slovník po importu kurzu Kurzy jako od Xeroxu GitLab je kámoš s Moodlem Když studenti nečtou emaily ani vzkazy
Takže o čem to dnes bude? Pomoc! Kde je můj kurz? Tam, kde jeden Moodle nestačí Něco málo z naší kuchyně Zoufale prázdný slovník po importu kurzu Kurzy jako od Xeroxu GitLab je kámoš s Moodlem Když studenti nečtou emaily ani vzkazy A nakonec trochu čísel a slíbeného chlubení
Course detective aneb Moodle špión Určitě tu situaci někteří z vás znáte
Course detective aneb Moodle špión Určitě tu situaci někteří z vás znáte Spravujete několik Moodle a pořád absolvujete :
Course detective aneb Moodle špión Určitě tu situaci někteří z vás znáte Spravujete několik Moodle a pořád absolvujete : Dobrý den, nevíte proč není na Moodle moje Španělština 1? Ale ona tam určitě je, na kterém portálu ji máte mít? Portálu? Já myslel, že je na webu Jinak na které adrese ten kurz hledáte? elearning.tul.cz elearning.fp.tul.cz elearning.ft.tul.cz elearning.cdv.tul.cz atd No to já nevím, prý má být univerzitním Moodle
Course detective aneb Moodle špión Určitě tu situaci někteří z vás znáte Spravujete několik Moodle a pořád absolvujete toto: Dobrý den, nevíte proč není na Moodle moje Španělština 1? Ale ona tam určitě je, na kterém portálu ji máte mít? Portálu? Já myslel, že je na webu Jinak na které adrese ten kurz hledáte? elearning.tul.cz elearning.fp.tul.cz elearning.ft.tul.cz elearning.cdv.tul.cz atd No to já nevím, prý má být univerzitním Moodle Taky Vás to už několikrát denně nebaví?
Course detective aneb Moodle špión Určitě tu situaci někteří z vás znáte Spravujete několik Moodle a pořád absolvujete toto: Dobrý den, nevíte proč není na Moodle moje Španělština 1? Ale ona tam určitě je, na kterém portálu ji máte mít? Portálu? Já myslel, že je na webu Jinak na které adrese ten kurz hledáte? elearning.tul.cz elearning.fp.tul.cz elearning.ft.tul.cz elearning.cdv.tul.cz atd No to já nevím, prý má být univerzitním Moodle Taky Vás to už několikrát denně nebaví? Tak to jdeme vyřešit!
Course detective aneb Moodle špión Rozcestník pro vyhledávání předmětů napříč portály Vyhledá kurzy podle zkratky, jména nebo pedagoga Má 2 komponenty Moodle modu s REST webovou službou Webová aplikace frontend Na základě kritérií vyhledá kurzy a vrátí tyto informace Portál, na kterém se kurz nachází Krátký a dlouhý název kurzu Popis kurzu URL kurzu Metody pro zápis Učitele kurzu Strom kategorií kurzu
Course detective aneb Moodle špión Webová aplikace nevyžaduje přihlášení protože pouze poskytuje informaci o umístění kurzu a další nikterak tajné informace Koneckonců náš STAG by mohl vyprávět Modul pro Moodle stačí nainstalovat do adresáře /local a nakonfigurovat službu nástroji Moodle V konfiguraci webové aplikace portál zaregistrovat Nastavit parametry vyhledávání pro portál A to je vše
Aplikace je dostupná na adrese: predmety.tul.cz V případě zájmu poskytneme modul i web V případě ještě většího zájmu jej můžeme publikovat přes oficiální Moodle plugins Rádi poradíme i s instalací Jen ten design ten si asi raději udělejte vlastní
Máte u vás MultiMoodle? 1 administrátor = 7 Moodle portálů. Děsivá přesila A pak přijde Ten Den aktualizace
Máte u vás MultiMoodle? 1 administrátor = 7 Moodle portálů. Děsivá přesila A pak přijde Ten Den aktualizace Tady musím poznamenat, že mám rád vše aktuální a pod jednou verzí nemám a nechci mít aktualizace automatické mám vše na jednom serveru + 7 virtuálních domén a už mne nebavilo 7x nahrávat stejný kód
Máte u vás MultiMoodle? 1 administrátor = 7 Moodle portálů. Děsivá přesila A pak přijde Ten Den aktualizace Tady musím poznamenat, že mám rád vše aktuální a pod jednou verzí nemám a nechci mít aktualizace automatické mám vše na jednom serveru + 7 virtuálních domén a už mne nebavilo 7x nahrávat stejný kód Co by se mi ale líbilo více? pouze jedna fyzická instalace Moodle každý Moodle vlastní databáze každý Moodle vlastní datový adresář
Máte u vás MultiMoodle? Inspirace byla nalezena na Moodle fóru Konkrétně od Thomase van der Heuvela Příklad adresářové struktury na serveru: /var/www/html/main.moodle (fyzická instalace Moodle) /var/www/html/sub1.moodle.site -> symlink na main.moodle /var/www/html/sub2.moodle.site -> symlink na main.moodle /var/www/html/sub3.moodle.site -> symlink to main.moodle Řešení je založeno na úpravě config.php společný pro všechny virtuální domény analyzuje doménu, pro kterou byl volán konfiguruje konkrétní doménu Poté následuje konfigurace společná pro všechny domény Řešení obsahuje i vzorový bash script pro linuxový cron
Máte u vás MultiMoodle? define('moodle_no_domain', 'none'); $domain = MOODLE_NO_DOMAIN; if ( defined('cli_script') && CLI_SCRIPT == true) { } else { } // CALLED FROM COMMANDLINE - cron.php etc.. // regex je treba upravit pro konkretni potrebu... preg_match('/^(.*\/)*(.*\.moodle\.site)\/.*$/',$_server['php_self'],$matches); if ( count($matches) > 0 ) { } // CALLED FROM BROWSER $domain = $matches[count($matches) - 1]; $domain = $_SERVER['HTTP_HOST'];
Máte u vás MultiMoodle? switch ($domain) { // configuration for subdomain 1 case 'sub1.domain.com': $CFG->dbname = 'sub1_moodle'; $CFG->wwwroot = 'https://sub1.moodle.site'; $CFG->dataroot = '/path/to/sub1data/'; break; // configuration for subdomain 2 case 'sub2.domain.com': $CFG->dbname = 'sub2_moodle'; $CFG->wwwroot = 'https://sub2.moodle.site'; $CFG->dataroot = '/path/to/sub2data/'; break; //.. et cetera.. default: //... rozcestník na jednotlivé Moodle } $CFG->dirroot='/var/www/html/main.moodle';
Máte u vás MultiMoodle? Volání cron včetně absolutní nebo relativní cesty s doménou php /var/www/html/sub1.moodle.site/admin/cli/cron.php php sub1.moodle.site/admin/cli/cron.php Ukázkový a rozhodně ne dokonalý bash script pro linuxový cron #! /bin/bash WWW_ROOT="/var/www/html" DIRS="sub1.moodle.site sub2.moodle.site sub3.moodle site" for dir in $DIRS do php "$WWW_ROOT/$dir/admin/cli/cron.php" done Odkazy na plný příspěvek viz článek ve sborníku
Křišťálově čisté slovníky V kurzu máte jeden hlavní a několik vedlejších slovníků Zkuste si udělat import tohoto kurzu do nového kurzu Stane se několik věcí
Křišťálově čisté slovníky V kurzu máte jeden hlavní a několik vedlejších slovníků Zkuste si udělat import tohoto kurzu do nového kurzu Stane se několik věcí v novém kurzu máte vše tak, jak jste si naimportovali dokonce i ty slovníky tam jsou jenom se tak nějak ztratí jejich obsah... a nebo děláme něco špatně
Křišťálově čisté slovníky V kurzu máte jeden hlavní a několik vedlejších slovníků Zkuste si udělat import tohoto kurzu do nového kurzu Stane se několik věcí v novém kurzu máte vše tak, jak jste si naimportovali dokonce i ty slovníky tam jsou jenom se tak nějak ztratí jejich obsah... a nebo děláme něco špatně Tak jsme si napsali nový modul Duplikátor slovníků stačí si vybrat zdrojový kurz.. poté zcela logicky vybrat kurz cílový a ještě zvolit, zda-li se mají přepsat cílové slovníky a pak už jen kliknout a je to
Duplikátor slovníků
Duplikátor slovníků
Kopírka kurzů na dva kliky Ještě chvíli zůstaneme u importů do kurzu Pro každý akademický rok máme nové verze kurzů Tím pádem musí pedagog velkou část materiálů importovat z verze staré Já vím Správa kurzů -> Importovat..atd.. Tak proč to vůbec řešit?
Kopírka kurzů na dva kliky Ještě chvíli zůstaneme u importů do kurzu Pro každý akademický rok máme nové verze kurzů Tím pádem musí pedagog velkou část materiálů importovat z verze staré Já vím Správa kurzů -> Importovat..atd.. Tak proč to vůbec řešit? protože uživatelé občas zapomínají jak se to dělá..
Kopírka kurzů na dva kliky Ještě chvíli zůstaneme u importů do kurzu Pro každý akademický rok máme nové verze kurzů Tím pádem musí pedagog velkou část materiálů importovat z verze staré Já vím Správa kurzů -> Importovat..atd.. Tak proč to vůbec řešit? protože uživatelé občas zapomínají jak se to dělá.. nebo se jim prostě někdy nechce
Kopírka kurzů na dva kliky Ještě chvíli zůstaneme u importů do kurzu Pro každý akademický rok máme nové verze kurzů Tím pádem musí pedagog velkou část materiálů importovat z verze staré Já vím Správa kurzů -> Importovat..atd.. Tak proč to vůbec řešit? protože uživatelé občas zapomínají jak se to dělá.. nebo se jim prostě někdy nechce a je jednodušší kontaktovat support
Kopírka kurzů na dva kliky Ještě chvíli zůstaneme u importů do kurzu Pro každý akademický rok máme nové verze kurzů Tím pádem musí pedagog velkou část materiálů importovat z verze staré Já vím Správa kurzů -> Importovat..atd.. Tak proč to vůbec řešit? protože uživatelé občas zapomínají jak se to dělá.. nebo se jim prostě někdy nechce a je jednodušší kontaktovat support a ten to za ně ochotně udělá, že
Kopírka kurzů na dva kliky Ještě chvíli zůstaneme u importů do kurzu Pro každý akademický rok máme nové verze kurzů Tím pádem musí pedagog velkou část materiálů importovat z verze staré Já vím Správa kurzů -> Importovat..atd.. Tak proč to vůbec řešit? protože uživatelé občas zapomínají jak se to dělá.. nebo se jim prostě někdy nechce a je jednodušší kontaktovat support a ten to za ně ochotně udělá, že Tak jsme si zase napsali nový modul
Kopírka kurzů na dva kliky Princip je jednoduchý vstoupit do cílového kurzu Vybrat zdrojový kurz a Potvrdit Ještě jednou pro jistotu zkontrolovat.... a finální Potvrdit Modul je standardně nakonfigurován takto: přenáší všechny sekce a jejich obsah nepřepisuje nastavení nového kurzu nepřenáší zapsané uživatele nepřenáší skupiny a seskupení interně obsahuje Duplikátor slovníků
Kopírka kurzů na dva kliky
Odevzdaný úkol GitLab Pro výuku programování používáme mj. GitLab Líbila se nám myšlenka začlenit odevzdané úkoly v GitLabu do Moodle V podstatě se jedná o další typ odevzdaného úkolu A co tento modul umí? vytvoří pro úkol projekt založí studentovi účet na GitLabu, pokud ho nemá založí u projektu branche pro daného studenta archív (zip, rar) s úkolem rozbalí do branche volitelně provede kompilaci dle jazyka volitelně spustí aplikaci a zobrazí výstup informuje pedagoga o odevzdání úkolu
Když studenti nečtou... Motivace založena na čistě subjektivních základech Naši studenti prostě nečtou emaily ani vzkazy na Moodle Co není na Facebooku nebo nemá vlastní aplikaci na mobil, to neexistuje Tato smutná skutečnost se netýká pouze Moodle A tak musela zase hora k Mohamedovi TUL Notifikátor základní myšlenka jak protlačit krátkou zprávu studentovi na mobil Facebook? Ani omylem SMS? Proč ne, ale stojí to peníze notifikační aplikace to už zní lépe
Když studenti nečtou... TUL Notifikátor Jedná se o distribuované řešení Jádrem je serverová aplikace + REST webové služby Administrace + zadávání zpráv = webové rozhraní Klient pro příjem zpráv formou notifikací = mobilní aplikace Zprávy jsou rozesílány formou kanálů broadcast Kanály jsou povinné a volitelné Možnost zaslání pouze konkrétnímu uživateli Škála oprávnění pro tvorbu kanálů, zasílání zpráv, delegace oprávnění na další atd.
Když studenti nečtou... TUL Notifikátor Prvotní záměr byl univerzální řešení pro TUL Dalším krokem modul pro Moodle Každý kurz má definován svůj základní kanál Přímo z Moodle může pedagog zasílat zprávy studentům Pomocí events v Moodle lze paralelně aplikovat na standardní Moodle komunikační mechanismy
Když studenti nečtou... TUL Notifikátor
Když studenti nečtou... TUL Notifikátor
Když studenti nečtou... TUL Notifikátor
Když studenti nečtou... TUL Notifikátor
Když studenti nečtou... TUL Notifikátor
Když studenti nečtou... TUL Notifikátor Celý systém se aktuálně nachází v následujících fázích serverová část 100% vývoje webové rozhraní design modul pro Moodle drobné úpravy, design mobilní aplikace hlavně design testováno na vybrané skupině studentů a zaměstnanců Oponent příspěvku chtěl informaci o možném začlenění do oficiální Moodle Mobile aplikace začlenění webové administrace kompletně do Moodle serverovou komponentu nahradit REST službou v Moodle zdrojový kód mobilní aplikace včlenit do Moodle Mobile
Chutnal vám výběr z našeho menu? Pokud nastala některá s následujících situací
Chutnal vám výběr z našeho menu? Pokud nastala některá s následujících situací líbilo se vám některé z představených řešení
Chutnal vám výběr z našeho menu? Pokud nastala některá s následujících situací líbilo se vám některé z představených řešení máte k něčemu výhrady
Chutnal vám výběr z našeho menu? Pokud nastala některá s následujících situací líbilo se vám některé z představených řešení máte k něčemu výhrady zajímá vás kompletní nabídka našich rozšíření
Chutnal vám výběr z našeho menu? Pokud nastala některá s následujících situací líbilo se vám některé z představených řešení máte k něčemu výhrady zajímá vás kompletní nabídka našich rozšíření hledáte spolupráci
Chutnal vám výběr z našeho menu? Pokud nastala některá s následujících situací líbilo se vám některé z představených řešení máte k něčemu výhrady zajímá vás kompletní nabídka našich rozšíření hledáte spolupráci máte už nás na MoodleMootech plné zuby
Chutnal vám výběr z našeho menu? Pokud nastala některá s následujících situací líbilo se vám některé z představených řešení máte k něčemu výhrady zajímá vás kompletní nabídka našich rozšíření hledáte spolupráci máte už nás na MoodleMootech plné zuby Neváhejte a kontaktujte nás váš názor nás zajímá oceníme jakékoli návrhy či žádosti a určitě toho nenecháme ani příště
Špetka zkušeností Říká se, že zkušenost je nepřenositelná Co stojí za úspěchem 6 let provozu? školení aktivní podpora dokumentace integrace, automatizace vlastní moduly (požadavky uživatelů) naslouchat ostatním
A teď to slíbené chlubení Nejdříve musím zabrousit do historie náš portál vznikl v roce 2011 jako řešení pro FM podrobnosti viz předešlé MoodleMooty postupný úspěch napříč univerzitou díky nádstavbám A dnes? Celouniverzitní působnost 348 aktivních uživatelů v roli Učitel 4.684 aktivních uživatelů v roli Student 1. 326 kurzů ve verzích po AR v období od AR 2013/14 Dětská univerzita, CDV aj.
A teď to slíbené chlubení Ale tím hlavním jsme se ještě nepochlubili portál vznikl v rámci ESF projektu v letech 2009-2011 od té doby neoficiální status, nejisté financování vše fungovalo jako "fan club" Letos přišla zásadní změna Díky velikému úsilí ze strany ředitelky Univerzitní knihovny Mgr. Jitky Venclákové děkana naší fakulty prof. Zdeňka Plívy a "duchovní mámě" našeho elearningu dr. Kláry Císařové máme konečně oficiální pracoviště a financování Snad se toto stane inspirací i pro ostatní z vás
Děkuji, že jste to se mnou vydrželi... a velice rád zodpovím případné dotazy