Integrace LMS Moodle

Integrace FenomioStream a LMS Moodle

Propojení streamovací platformy FenomioStream s LMS Moodle zajišťují čtyři pluginy. Instalovat lze všechny, nebo jen ty, které potřebujete – fungují nezávisle na sobě.

Plugin Co dělá Aktuální verze Podporované Moodle
mod_fenomiostream Přidává nový typ studijního materiálu – přehrávač média FenomioStream 0.8.0 4.1 – 5.2
filter_fenomiostream Umožňuje vložit přehrávač do libovolného textového obsahu pomocí univerzálního kódu 0.4.2 4.1 – 4.5
tiny_fenomiostream Přidává ikonu do panelu nástrojů editoru TinyMCE, která tento kód vloží 0.2.1 4.1 – 4.5
atto_fenomiostream Totéž pro editor Atto 0.3.1 4.1 – 4.4

Poznámka k editorům. TinyMCE je výchozím editorem Moodle od verze 4.3 pro nové instalace a od verze 4.4 pro všechny. Editor Atto zůstal součástí jádra naposledy v Moodle 4.5 LTS a v Moodle 5.0 byl odstraněn. U nových instalací proto použijte tiny_fenomiostream; atto_fenomiostream je určen pro instalace, které Atto ještě používají.

Kde začít

Globální identifikátor média

Přehrávané médium je ve všech případech identifikováno svým globálním identifikátorem – řetězcem, který uvidíte v URL příslušného média:

Najdete jej také v administraci médií:

Instalace pluginů

Všechny čtyři pluginy jsou zveřejněné v oficiálním adresáři pluginů Moodle. Instalace probíhá zcela podle standardů LMS Moodle, a to dvěma způsoby.

Přímo z prostředí MoodleSpráva webu → Pluginy → Instalovat pluginy → Instalovat pluginy z adresáře Moodle, poté vyhledat „fenomiostream“.

Nahráním ZIP balíčku – stáhnout ze stránky pluginu a nahrát v Správa webu → Pluginy → Instalovat pluginy.

Poinstalační kroky

Filtr je po instalaci neaktivní. Zapněte jej v Správa webu → Pluginy → Filtry → Správa filtrů.

Tlačítko editoru Atto se samo neobjeví. Přidejte je do konfigurace panelu nástrojů v Správa webu → Pluginy → Textové editory → Atto → Nastavení panelu nástrojů. Doporučujeme připsat je na řádek k ikonám videa a H5P:

Po instalaci i po každém upgradu vyčistěte cache MoodleSpráva webu → Vývoj → Vyprázdnit všechny cache. Bez toho se nemusí načíst nová verze JavaScriptu a prohlížeč médií se chová postaru.

Přechod ze starších verzí

Tato sekce je určena těm, kdo mají nainstalovanou některou ze starších verzí. Instalujete-li poprvé, můžete ji přeskočit.

Upgrade je bezpečný a nevyžaduje koordinaci

Novou verzi pluginu nainstalujte stejným způsobem jako kteroukoli jinou – přes adresář pluginů nebo nahráním ZIP balíčku. Na straně platformy FenomioStream není potřeba nic připravovat ani přepínat. Vaše stávající nastavení (adresa, sdílený klíč, pole profilu) zůstává beze změny.

Upgrade přidá k aktivitám jediný nový údaj – maximální šířku přehrávače – s hodnotou Podle nastavení webu. Protože výchozím nastavením webu je Bez omezení, vypadají existující aktivity po upgradu stejně jako předtím.

Co upgradem získáte

Oblast Do verze 0.7.x Od verze 0.8.0
Záloha a obnova kurzu Aktivita se ze zálohy tiše ztrácela Funguje, včetně duplikace aktivity v kurzu
Sledování dokončení Volba „Student musí zobrazit tuto činnost“ se nenabízela Funguje
Šířka přehrávače Vždy plná šířka Volitelné omezení, globálně i u jednotlivé aktivity
Ochrana identity Na odpovědnosti správce Plugin sám odmítne nedůvěryhodné profilové pole
Výpadek platformy Formulář aktivity se zdržel při každém otevření Formulář se otevře okamžitě, jen bez tlačítka prohlížeče
Prohlížeč médií Každé kliknutí otevřelo nový dialog a znovu načetlo obsah Jeden dialog, obsah se nenačítá znovu
Nahrávání studenty Uživatel s nízkou rolí na platformě se do prohlížeče nedostal Volitelně povoleno, s vynucenými šablonami
Zakládání uživatelů Uživatel musel na platformě existovat Volitelně jej založí konektor
Původ nahraného média Neevidoval se U média se uchová kurz, sekce, aktivita a uživatel

Nové funkce platformy jsou vypnuté

Zakládání uživatelů i nahrávání uživateli s nízkou rolí jsou u existujících konektorů záměrně vypnuté – chování zůstává přesně takové, jaké znáte. Chcete-li je využít, zapněte si je v administraci portálu podle sekce Konfigurace na straně FenomioStream.

Dva režimy provozu

Integrace může běžet ve dvou režimech. Liší se tím, co pluginy umějí – ne tím, jak funguje samotné přehrávání.

  Bez autorizace S autorizací
Vložení přehrávače Ruční zadání identifikátoru média Výběr v prostředí FenomioStream
Nahrání nového média z Moodle Ne Ano
Nastavení na straně FenomioStream Žádné Povolená doména a sdílený klíč
Nastavení na straně Moodle Jen adresa Adresa, klíč, pole profilu

Režim bez autorizace stačí, pokud chcete jen pohodlně vkládat přehrávač do kurzů. Režim s autorizací má smysl tam, kde mají vyučující – a případně studenti – pracovat s obsahem FenomioStream přímo z Moodle.

Instalace bez autorizace

Tento způsob využívá toho, že standardní embedovaný přehrávač FenomioStream funguje – analogicky jako například přehrávač YouTube – ve všech stránkách třetích stran, do kterých je formou IFRAME vložen. Přehrávání chráněných médií se vyhodnocuje na straně FenomioStream a stránky, do kterých je přehrávač vložen, tato pravidla nemohou ovlivnit.

Pluginy v tomto režimu zajišťují pouze uživatelský komfort – vkládání přehrávače bez nutnosti upravovat HTML kód.

Na straně FenomioStream není potřeba pluginy nijak povolovat ani evidovat.

Na straně Moodle stačí nastavit adresu, ze které mají pluginy média přehrávat. Adresa se zadává zvlášť u každého pluginu, který ji potřebuje:

  • Správa webu → Pluginy → Moduly činností → FenomioStream → pole FenomioStream URL
  • Správa webu → Pluginy → Filtry → FenomioStream → pole FenomioStream URL

Vyplníte-li adresu jen u jednoho z nich, druhá polovina integrace tiše nefunguje.

Adresa může být buď přímo adresa konkrétního portálu FenomioStream, nebo centrální adresa zastřešující všechny portály celé platformy. Centrální adresu pro vaši platformu vám vytvoří a sdělí váš správce platformy FenomioStream.

Pole Sdílený klíč zůstává při instalaci bez autorizace prázdné.

Instalace s autorizací

Autorizované propojení umožní pracovat s obsahem FenomioStream přímo z prostředí LMS Moodle. Vyžaduje nastavení na obou stranách.

Konfigurace na straně FenomioStream

Nastavujete si sami v administraci svého portálu, v agendě Konektory.

1. Povolená doména a sdílený klíč (povinné)

Přidejte doménu, na které běží váš LMS Moodle, do seznamu povolených domén konektoru a nastavte sdílený klíč (secret). Tentýž klíč pak zadáte v nastavení pluginu v Moodle.

2. Moodle jako autorita nad uživateli (volitelné)

Ve výchozím stavu je konektor pouhým autentizačním mostem: najde existujícího uživatele podle uživatelského jména, ověří jeho roli a vydá přístupový token. Nic nezakládá a nic nepřepisuje. Uživatel, který na portálu neexistuje, se k obsahu nedostane.

Zaškrtnete-li na konektoru volbu Pro správu uživatelů je autoritativní Moodle, konektor takového uživatele při prvním použití sám založí – se jménem, příjmením a e-mailem převzatým z Moodle. Zároveň zvolte Roli nových uživatelů; na výběr je Student nebo Autor/Editor.

Co je při zapnuté volbě potřeba vědět:

  • Uživatelé se párují výhradně podle uživatelského jména. E-mail se pro hledání nepoužívá.
  • Profil (jméno, příjmení, e-mail) se při každém požadavku aktualizuje podle Moodle. Úpravy provedené na platformě budou přepsány.
  • Převzatý e-mail se považuje za ověřený. V tomto režimu je Moodle autoritou i pro to, že e-mail uživateli patří.
  • Členství v portálu i role se obnovují při každém požadavku.
  • Nouzová brzda zůstává na platformě: uživatel označený jako zakázaný se nepřihlásí ani v autoritativním režimu.
  • V přehledu konektorů je u zapnuté volby odznak Zakládá uživatele s názvem přidělované role. V detailu uživatele je u členství i u role vidět, že vznikly přes konektor.

Nevidíte tuto volbu? Zakládání uživatelů musí být nejprve povoleno pro vaši platformu. Není-li povoleno, zaškrtávátko se v administraci konektoru vůbec nezobrazí – požádejte o povolení správce platformy FenomioStream.

3. Šablony pro nahrávání studenty (volitelné, ale nutné, mají-li nahrávat studenti)

Uživatel, který má na platformě roli Student, může z prostředí Moodle nahrávat média. Chová se přitom jinak než editor a je potřeba to připravit:

  • Výběr šablon se studentovi při nahrávání vůbec nezobrazí – obě se aplikují automaticky.
  • Šablonu publikování a zabezpečení určenou pro studenty musíte na portálu mít. Pokud chybí, nahrání se odmítne s chybovou hláškou. Je to záměr: bez ní by video zůstalo soukromé a neuviděl by je ani vyučující.
  • Šablona popisných dat pro studenty je nepovinná. Chybí-li, nahrání proběhne bez ní – dopadem jsou jen prázdná metadata, ne nefunkční video.
  • Ve výpisu médií vidí student pouze vlastní média a sdílené složky, které má přiřazené.

Šablony nastavíte v agendách Šablony publikování a zabezpečení a Šablony popisných dat. U zvolené šablony zaškrtněte volbu Aplikováno automaticky na média role Student. Od každého typu smí být takto označená nejvýš jedna šablona – zapnutím se příznak u ostatních shodí.

4. Vynucení novějšího podpisu (volitelné, až nakonec)

Na konektoru je volba vynucující novější formát podpisu autorizačního požadavku, který přinesla verze pluginu 0.8.0. Zapnutím odmítnete starší formát a zúžíte prostor pro zneužití zachyceného požadavku.

Zapněte ji teprve tehdy, až mají všechny LMS Moodle napojené na tento konektor plugin mod_fenomiostream ve verzi 0.8.0 nebo novější. Instalace se starší verzí pluginu se po zapnutí této volby neautorizuje.

Konfigurace na straně Moodle

Správa webu → Pluginy → Moduly činností → FenomioStream:

Nastavení Význam
FenomioStream URL Adresa portálu nebo centrální adresa platformy
Sdílený klíč Klíč nastavený na konektoru. Prázdné pole znamená režim bez autorizace
Pole profilu Které pole profilu uživatele Moodle se má spárovat s uživatelským jménem na platformě: Uživatelské jméno, E-mailová adresa, ID, Instituce, Oddělení
Prefix pole profilu Pevný text připojený před hodnotu pole
Suffix pole profilu Pevný text připojený za hodnotu pole
Maximální šířka přehrávače Výchozí omezení šířky pro nové aktivity
Debugovat autorizaci Při chybě autorizace zobrazí ladicí adresu – viz Řešení potíží

Výsledná hodnota včetně prefixu a suffixu musí odpovídat skutečnému uživatelskému jménu na platformě FenomioStream. Autorizovaný přístup pak funguje všem uživatelům, které se podaří proti platformě ověřit.

Bezpečnost a odpovědnost

V okamžiku, kdy je propojení funkčně nakonfigurováno, platforma FenomioStream předpokládá, že uživatelské jméno, kterému zpřístupňuje existující média a možnost nahrávat nová, je na straně Moodle bezpečně ověřeno. Nemá prostředky, jak zjistit, že tomu tak není.

Klíčové je, aby přihlášený uživatel neměl možnost sám si upravit hodnotu pole profilu, které se pro identifikaci používá. Kdyby toto pole mohl měnit, vznikla by bezpečnostní díra umožňující přihlásit se za kteréhokoli existujícího uživatele FenomioStream.

Plugin od verze 0.8.0 tuto podmínku sám vynucuje. Je-li pro identifikaci zvoleno jiné pole než Uživatelské jméno a toto pole není v použité metodě ověřování zamčené, plugin autorizaci vůbec neprovede – místo tlačítka prohlížeče médií zobrazí vysvětlující hlášku. Pole se zamyká v Správa webu → Pluginy → Ověření uživatele → Správa ověřování, v nastavení konkrétní metody, volbou Zamknout hodnotu u příslušného pole.

Uživatelské jméno je považováno za důvěryhodné vždy – jeho změna vyžaduje oprávnění ke správě uživatelů. Kontrola uzavírá nejsnazší cestu ke zneužití, ale odpovědnost správce Moodle tím nekončí.

Synchronizace času. Autorizační požadavek je opatřen časovým razítkem a platforma jej přijímá jen v okně několika minut. Čas na serveru Moodle proto musí být synchronizovaný (NTP). Rozejdou-li se hodiny, autorizace začne selhávat.

Použití pluginů v LMS Moodle

Filtr FenomioStream

Funguje shodně v autorizovaném i neautorizovaném režimu. Ve veškerém obsahu LMS Moodle hledá text ve tvaru [fenomiostream|xxxxxxxx], kde xxxxxxxx je globální identifikátor média, a nahrazuje jej embedovaným přehrávačem.

V nastavení filtru je navíc volba Zahrnout i odkazy na média FenomioStream. Je-li zapnuta, nahrazuje filtr přehrávačem i starší odkazy s třídou videoadmin-eu nebo fs-video. Slouží ke zpětné kompatibilitě s obsahem vytvořeným před nasazením pluginů; ve výchozím stavu je vypnutá.

Ikona pro editor TinyMCE

Ikona pro editor Atto

Studijní materiál / činnost FenomioStream

Plugin se objeví jako samostatná položka při přidávání materiálu do kurzu.

V neautorizovaném režimu funguje analogicky jako filtr – vyučující ručně vloží do příslušného pole existující globální identifikátor média a doplní název. Přehrávač se vytvoří automaticky.

V autorizovaném režimu se ve formuláři objeví tlačítko otevírající dialog s přístupem ke správě médií FenomioStream.

Zelené tlačítko vrátí do prostředí LMS Moodle globální identifikátor vybraného média a přenese i jeho plný název.

Přihlášený uživatel se v prostředí FenomioStream ocitne ve stejném režimu, jako by se přihlásil přímo do portálu. Výpis v záložce hledání médií je omezen jeho právy a stránka nahrání nového média nahrává soubory jeho jménem. Má-li přístup k více portálům, může mezi nimi přecházet přepínačem na pravé straně.

Za předpokladu, že platforma má nakonfigurovanou centrální adresu, není samotné přehrávání omezeno příslušností média k portálu – média z různých portálů lze vkládat vedle sebe.

Maximální šířka přehrávače

Nové ve verzi 0.8.0. U každé aktivity lze zvolit maximální šířku přehrávače: bez omezení, nebo 640, 854, 1280 či 1920 px. Výchozí volba Podle nastavení webu přebírá hodnotu z nastavení pluginu, takže ji lze měnit centrálně.

Na úzkých obrazovkách se omezení neprojeví – přehrávač vyplní dostupnou šířku vždy. Krátká ukázka a hodinová přednáška přitom snesou jinou šířku, proto je volba u jednotlivé aktivity, ne jen globální.

Původ nahraného média

Nové ve verzi 0.8.0. K médiu nahranému z prostředí Moodle se uloží informace o tom, odkud bylo nahrávání vyvoláno – kurz včetně jeho ID (v němž bývá kód předmětu ze studijního systému), kategorie, sekce, aktivita, uživatel, adresa instance Moodle a verze pluginu. Administrátor si ji zobrazí v detailu média.

Dvě omezení, která je dobré znát:

  • Je to otisk jednoho nahrání, ne přehled použití. Vloží-li vyučující totéž video později do jiného kurzu přes záložku Hledat, údaj se nezmění.
  • Název aktivity je při zakládání nové aktivity ještě prázdný – kontext se snímá v okamžiku otevření prohlížeče médií, tedy dřív, než jej vyučující vyplní. Spolehlivý je při editaci existující aktivity.

Záloha, obnova a duplikace

Nové ve verzi 0.8.0. Aktivita se zahrnuje do zálohy kurzu, přežije obnovu do jiného kurzu i duplikaci v rámci kurzu. Identifikátor média se přenáší, video po obnově hraje.

Sledování dokončení

Nové ve verzi 0.8.0. U aktivity lze nastavit podmínku dokončení Student musí zobrazit tuto činnost.

Médium, které ještě není připravené

Krátce po nahrání zpravidla video ještě nehraje – probíhá jeho zpracování. Podle stavu uvidí divák jednu ze tří hlášek:

Stav média Hláška
Probíhá zpracování Médium se zpracovává, vyčkejte. Stránka se sama obnovuje a po dokončení se přepne na přehrávač
Zpracování hotové, chybí povinná metadata Médium není připraveno k přehrávání. Doplní-li je někdo, video začne hrát
Zpracování selhalo Médium se nepodařilo zpracovat, kontaktujte správce. Stránka se dál neobnovuje

Řešení potíží

Tlačítko „Vybrat média v prostředí FenomioStream“ se nezobrazuje

Projděte příčiny v tomto pořadí:

  1. Není vyplněný sdílený klíč v nastavení pluginu.
  2. Doména vašeho Moodle není v seznamu povolených domén na konektoru, nebo klíč nesouhlasí.
  3. Zvolené pole profilu není v metodě ověřování zamčené – plugin to napíše v hlášce na místě tlačítka.
  4. Portál je nedostupný, nebo je na serveru Moodle rozejitý čas.

Po upgradu pluginu se nic nezměnilo

Vyprázdněte cache Moodle: Správa webu → Vývoj → Vyprázdnit všechny cache.

Změna nastavení se projevila se zpožděním

Úspěšná autorizace se drží v mezipaměti 5 minut.

Po opravě konfigurace trvá až minutu, než se tlačítko vrátí

Po třech neúspěšných pokusech přestane plugin platformu na 60 sekund kontaktovat, aby výpadek nezdržoval formulář každému vyučujícímu. Formulář se v takové chvíli otevře normálně, jen bez tlačítka.

Potřebuji zjistit konkrétní příčinu chyby

V nastavení pluginu zapněte Debugovat autorizaci. Při chybě se pod formulářem objeví rozbalovací pole s celou autorizační adresou. Zkopírujte ji a zavolejte v prohlížeči – odpověď platformy uvede konkrétní důvod. Hlášku o tom, že požadavek přišel mimo povolené časové okno, způsobuje rozejitý čas na serveru Moodle.

Ladicí režim po vyřešení potíží opět vypněte.

Přehled změn

0.8.0 – záloha a obnova kurzu, sledování dokončení, volitelné omezení šířky přehrávače, kontrola důvěryhodnosti profilového pole, odolnost proti výpadku platformy, jeden dialog prohlížeče médií místo mnoha, nahrávání uživateli s rolí student, volitelné zakládání uživatelů konektorem, evidence původu nahraného média, rozlišené hlášky u nepřipraveného média, podpora Moodle až po verzi 5.2.