Schlagwort-Archive: Wordpress

H5P und der Datenschutz

Ich bekomme immer wieder mal Fragen zum Thema H5P und Datenschutz. An dieser Stelle versuche ich nun, alles zu sammeln, was mir dazu in den Sinn kommt. Dann kann ich bei erneuten Fragen einfach auf diesen Beitrag verweisen.

Ein paar Dinge muss allerdings vorab anmerken:

  • Ich bin kein Jurist und gebe hier keine rechtliche Beratung!
  • Ich betrachte hier den Fall, dass ihr H5P selbst betreibt. Wenn ihr Dienste Dritter in Anspruch nimmst, um H5P zu betreiben (H5P.com, Lumi, apps.zum.de, itslearning, die Plattform deiner Schule oder Uni, usw.), dann  erkundigt euch bitte dort. Ich habe keine besonderen Einblicke in eventuelle Änderungen und weiß nicht, welche Daten dort wie und wo durch wen verarbeitet werden. Ich möchte die jeweiligen Datenschutzerklärungen auch nicht auswendig lernen.
  • Dinge können sich ändern, dann stimmen zukünftig hier getroffene Aussagen nicht mehr. Ich erhebe auch keinen Anspruch auf Vollständigkeit. Irgendwas ist mir bestimmt durch die Lappen gegangen.
  • Wenn ich hier von H5P spreche, meine ich die Software H5P, wie ihr sie selbst bei euch installieren könnt. Einige Leute werfen das gerne mit der Firma H5P Group (ehemals Joubel) oder der Seite h5p.org oder h5p.com in einen Topf. Tut das bitte nicht.

Allgemein

H5P kann (aktuell nur nahezu) vollständig selbst ohne Kommunikation zu anderen Servern betrieben. Die H5P-eigene Dokumentation findet sich auf https://h5p.org/plugin-gdpr-compliance.

Daten unter Hoheit externer Dienste

Einige Inhaltstypen nehmen unter Umständen externe Dienste in Anspruch, die nicht unter der Kontrolle von H5P stehen.

YouTube, Panopto, in Kürze auch Vimeo

H5P-Inhaltstypen, die Video-Inhalte anzeigen können, erlauben es neben dem lokalen Bereitstellen von Videos, diese auch bei Drittanbietern unterzubringen. Aktuell sind das YouTube, Panopto und in Kürze auch Vimeo.

Videos werden dann über die Server und Schnittstellen der Drittanbieter in H5P-Inhalte eingebunden. Tracking, Setzen von Cookies, etc. durch Drittanbieter ist demnach möglich, wenn deren Dienste verwendet werden. Konsultiert bitte die Datenschutzerklärung der Dienste. Personenbezogene Daten jenseits der IP-Adresse der nutzenden Person, die nach EuGH-Urteil und BGH-Urteil als personenbezogenes Datum gilt, werden dabei nicht aktiv von H5P weitergegeben.

Web Speech API

Die H5P-Inhaltstyp Speak the Words (und damit auch Speak the Words Set) nutzt die standardisierte “Web Speech API” des Browsers zum Erkennen von Sprache. Die Implementierung dieser API, das heißt das eigentliche Erkennen der Sprache, liegt beim Browser. Das macht nicht H5P.

Chrome greift hierfür auf Google Cloud Services zurück. Ich gehe davon aus, dass Apple für Safari (unterstützt die Web Speech API erst seit Safari 14) auf cloudbasierte “Siri-Infrastruktur” zurückgreift und Microsoft für Edge auf cloudbasierte “Cortana-Infrastruktur”. Opera unterstützt die “Web Speech API” meines Wissens nicht. Firefox hat eine experimentelle Unterstützung, die allerdings in einem nicht ganz einfach zugänglichen Menü erst freigeschaltet werden muss, und dann nach meinem Kenntnisstand ebenfalls Google Cloud Services nutzt.

Twitter

Es existiert noch ein wegen API-Änderung nicht mehr funktionaler Inhaltstyp für Twitter, der es erlaubte, Tweets anzuzeigen. Dabei geht mindestens die IP-Adresse der Nutzenden an Twitter. Da der Inhaltstyp aber gar nicht mehr funktioniert, sollten die Abhängigkeiten  demnächst entfernt werden und verschwinden dann mit dem nächsten Release der betreffenden Inhaltstypen. Sie können aber problemlos auch herausgepatched werden. Außerdem kann man kann den „TwitterUserFeed“-Inhaltstyp auch in den Einstellungen des jeweiligen Plugins sperren. Es gibt dann noch einen Umweg, wie man ihn als Autor einbinden könnte, aber den verschweige ich hier ;-)

Google Fonts

Einige H5P-Komponenten nutzen aktuell noch auf Google-Servern gehostete Fonts. Das gilt nach Urteil des Landesgerichts München als datenschutzunfreundlich, weil dort – genau, wie überall im Web, die IP-Adresse übertragen wird. Die Abhängigkeiten sind kürzlich entfernt worden, die Fonts werden dann selbst gehosted.  Eine Veröffentlichung der Änderungen steht jedoch noch aus. Patchen wäre vorab problemlos möglich.

H5P OER Hub

Man kann als Plattformbetreiber*in den H5P OER Hub freischalten. Da ist optional. Damit können zum einen direkt im Editor H5P-Inhalte Dritter aus einem Pool von Inhalten genutzt werden. Zum anderen kann man damit Inhalte von der Plattform auf dem H5P OER Hub teilen. Die Daten werden in der Cloud-Infrastruktur von Amazon in Irland gespeichert und verarbeitet. Details, die nicht im verlinkten Dokument zu finden sind, müssten bitte bei H5P Group erfragt werden.

Als Plattformbetreiber*in muss man die Plattform beim H5P OER Hub registrieren. Dabei fallen die folgenden, unter Umständen personenbezogenen Daten an:

  • IP-Adresse des Servers zur Kommunikation
  • zufällig generierter Key als eindeutige ID im H5P OER Hub
  • Bezeichnung des „Publishers“ (also bei natürlichen Personen der Name und damit ein personenbezogenes Datum)
  • E-Mail-Adresse des „Publishers“ (also ein personenbezogenes Datum, wenn es sich beispielsweise nicht um eine Funktionsadresse handelt)
  • Beschreibung des „Publishers“ (optional)
  • Klarname einer Kontaktperson (optional)
  • Adresse einer Kontaktperson (optional)
  • Telefonnummer einer Kontaktperson (optional)

Beim Teilen von Inhalten werden folgende, unter Umständen personenbezogenen Daten übertragen:

  • IP-Adresse des Servers zur Kommunikation
  • der bei Registrierung generierte Schlüssel als eindeutige ID im H5P OER Hub
  • alle im Inhaltstyp gespeicherten Daten: Befinden sich darin personenbezogene Daten, weil der/die Autor*in diese angegeben hat, etwa in den Metadaten, werden auch diese übertragen. Das sollte aber auch im Sinne der Autor*innen sein.
  • zusätzliche einzugebende Metadaten: Titel, Sprache, Lizenz, Disziplin, Beschreibung, Schlagworte, Beschreibung, Icon, Screenshots (also alles wohl nicht personenbezogen)

Daten unter Hoheit der H5P-Integration (aka Plugin)

H5P legt auf dem Server, auf dem es installiert wurde, gegebenenfalls Daten ab, die personenbezogen sein können und um die man sich als Betreiber des Servers gegebenenfalls kümmern muss. Dies betrifft im Wesentlichen drei Dinge:

Speichern von Ergebnissen

Falls das Speichern von Ergebnissen aktiviert ist und Nutzer*innen auf der Plattform angemeldet sind, auf der H5P läuft, und falls der verwendete Inhaltstyp Ergebnisse übermittelt, dann können auf eurer Plattform (nicht irgendwo anders) die erzielten Ergebnisse und einige weitere Daten mit Bezug zur eingeloggten Person gespeichert werden. Der Umfang der gespeicherten Daten kann sich je nach Plattform unterscheiden – siehe unten.

Speichern des Zustands

Falls das Speichern des Zustands von H5P-Inhalten aktiviert ist und Nutzer*innen auf der Plattform angemeldet sind, auf der H5P läuft, und falls der verwendete Inhaltstyp den aktuellen Zustand übermittelt, dann kann dieser mit Bezug zur eingeloggten Person auf eurer Plattform gespeichert werden (nicht irgendwo anders), damit die Person eine Aufgabe später dort fortsetzen kann, wo sie verlassen wurde. Entsprechend enthalten solche Zustände insbesondere Antworten, die von Nutzer*innen gegeben wurden. Das könnten beispielsweise die in einem Lückentext eingetragenen Texte sein.

Anonymisierte Statistiken

Bei den offiziellen H5P-Plugins besteht die Möglichkeit, anonymisierte Statistiken an das H5P-Kernteam (Norwegen) zu senden, um ihnen Erkenntnisse über die H5P-Nutzung zukommen zu lassen (vgl. https://h5p.org/tracking-the-usage-of-h5p). Diese Daten sind zwar nicht personenbezogen, aber sei es drum. Die Option ist standardmäßig deaktiviert, und wird erst nach Zustimmung zur Nutzung des H5P-Hubs aktiv. Sie kann danach in den Einstellungen des H5P-Plugins wieder deaktiviert werden, ohne die Nutzung des H5P-Hubs zu beeinträchtigen

Übertragen werden im Falle des Falles:

  • Seitentyp: Lokal, Netzwerk, Internet,
  • Version des Plugins,
  • Anzahl der Autor*innen von H5P-Inhalten,
  • Informationen zu den verwendeten Inhaltstypen: Version, Anzahl, Anzahl der Ladeversuche im Editor, Anzahl der Fassungen, Anzahl der Uploads von Inhalten, Anzahl des Löschens von Inhalten, Anzahl der Einblicke in die Ergebnisse, Anzahl des Nutzens von Shortcodes,
  • Datum und IP-Adresse des Servers (nicht die IP-Adresse der Nutzenden),
  • zufällig generierter Key für die Plattform

Des weiteren kommen innerhalb von H5P noch kleinere Dinge zum Tragen, die aus der Perspektive Datenschutz wohl eher unbedeutend sind:

UUID im LocalStorage

Sind Nutzer*innen von Inhaltstypen nicht auf der Plattform angemeldet, wird eine zufällig generierte ID im LocalStorage des Browsers abgelegt, um Personen ggf. für pseudonymisierte Statistiken mittels xAPI-Schnittstelle wiedererkennen zu können. Man weiß dann, dass eine bestimmte Person eine Aufgabe bearbeitet hat, aber nichts über die Person. Das Speichern lässt sich in den Einstellungen nicht unterbinden, kann aber herausgepatched werden (ggf. mit Pull Request, um die Änderung dauerhaft zu ermöglichen).

Wichtig ist hier zu wissen: H5P selbst nutzt diese ID nicht weiter. Sie kommt nur zum Tragen, wenn ihr selbst die xAPI-Schnittstelle nutzt, um detailliertere Informationen über die Nutzer*innen zu sammeln.

Erfassen von Ereignissen

H5P loggt einige administrative Ereignisse in der lokalen Datenbank mit, namentlich das Installieren und Aktualisieren von Bibliotheken sowie das Erstellen und Aktualisieren von Inhalten, betrifft also Admins und Autor*innen, nicht aber Lernende (Nutzer-ID, Zeitpunkt des Ereignisses, Ereignistyp, Art der Änderung, ggf. ID des Inhalts, ggf. Titel des Inhalts, Name der H5P-Bibliothek, Version der H5P-Bibliothek).

Die Einträge werden nach 30 Tagen automatisch gelöscht. Das Erfassen von Ereignissen lässt sich meines Wissens standardmäßig nicht deaktivieren, kann aber herausgepatched werden (ggf. mit Pull Request, um die Änderung dauerhaft zu ermöglichen).

Einstellungen im LocalStorage

Vereinzelt speichert H5P Vorlieben von Nutzer*innen im LocalStorage des Browsers, z. B. die bevorzugte Videoqualität als String oder ob der Tutorial-Wizard von H5P.InteractiveVideo bereits gesehen wurde als boolesche Werte.

H5P-Inhalte im LocalStorage

Autor*innen können H5P-Inhalte kopieren und an anderer Stelle wieder einfügen. Das Kopieren läuft über den LocalStorage des eigenen Browsers, betrifft aber keine personenbezogenen Daten – es sei denn, ein Autor/eine Autorin hat Informationen über sich angegeben, etwa in den Metadaten. Sollte der Browser also von mehreren Personen genutzt werden …

Cookies

H5P selbst setzt meines Wissens keinerlei Cookies im Browser.

H5P-Plugin für WordPress

Das H5P-Plugin für WordPress unterstützt die von WordPress eingeführte “DSGVO-Schnittstelle”, über die Datenschutzanfragen abgewickelt werden können (Daten herausgeben, Daten exportieren, Daten löschen).

Speichern von Ergebnissen

Ist das Speichern von Ergebnissen aktiviert (Menü Einstellungen -> H5P -> Benutzer-Ergebnisse: Ergebnisse für angemeldete Benutzer protokollieren), und ist ein/e Nutzer*in in WordPress angemeldet, und unterstützt ein H5P-Inhaltstyp diese Funktion, dann werden typischerweise beim Anwählen des “Überprüfen”-Buttons, bei einigen Inhaltstypen wie Interactive Video oder Interactive Book auch erst beim Anwählen eines “Einsenden”-Buttons, Ergebnisse an die Plattform gesendet. Diese werden in der Datenbank gespeichert und umfassen:

  • WordPress-Nutzer-ID: Numerischer Wert, der dem/der angemeldeten Nutzer*in von WordPress zugewiesen wurde und über den die Ergebnisse einer Person zugeordnet werden können
  • ID des H5P-Inhalts: Numerischer Wert, der die Verbindung zum absolvierten H5P-Inhalt herstellt
  • Punktzahl: Numerischer Wert, der die erreichte Punktzahl festhält
  • Maximal mögliche Punktzahl: Numerischer Wert, der die maximal erreichbare Punktzahl festhält
  • Zeitpunkt des Startens des H5P-Inhalts: Numerischer Wert (Zeitstempel), der festhält, wann die Person den H5P-Inhalt aufgerufen hat.
  • Zeitpunkt des Absolvierens des H5P-Inhalts: Numerischer Wert (Zeitstempel), der festhält, wann das Ergebnis übertragen wurde.
  • benötigte Zeit: Numerischer Wert, der angibt, wie lange die Bearbeitung der Aufgabe in Sekunden dauerte.

Die H5P-Integration für WordPress legt keine Historie an. Wiederholt ein/e Nutzer*in eine Aufgabe und übersendet dadurch ein weiteres Ergebnis, werden dadurch bestehende Einträge in der Datenbank überschrieben.

Einsicht in diese Daten haben:

  • Personen, die über Zugriff auf die entsprechenden Datenbanktabellen verfügen (ggf. auch über weitere Plugins, die Zugriff auf die H5P-Daten ermöglichen)
  • Nutzer*innen der WordPress-Plattform, die das Recht zum Bearbeiten des absolvierten Inhalts haben (WordPress-Capability edit_h5p_contents für eigens erstellte H5P-Inhalte bzw. edit_others_h5p_contents für von anderen erstellte H5P-Inhalte). Diese Nutzer*innen können sich zu einem bestimmten H5P-Inhalt eine Übersicht aller für diesen Inhalt übersandten Ergebnisse anzeigen lassen und sehen somit jeweils:
    • Nutzernamen der Person
    • Erreichte Punktzahl
    • Maximal mögliche Punktzahl
    • Datum und Uhrzeit des Öffnens des Inhalts
    • Datum und Uhrzeit des Übersenden der Ergebnisse
    • Benötigt Zeit als Timecode.
  • Nutzer*innen der WordPress-Plattform, die das Recht haben, ihre eigenen Ergebnisse einzusehen (WordPress-Capability view_h5p_results). Diese Nutzer*innen können sich im H5P-Menü (H5P-Inhalt -> Meine Ergebnisse) eine Übersicht über alle von ihnen übersandten Ergebnisse anzeigen lassen und sehen somit jeweils:
    • Titel des H5P-Inhalts
    • Erreichte Punktzahl
    • Maximal mögliche Punktzahl
    • Datum und Uhrzeit des Öffnens des Inhalts
    • Datum und Uhrzeit des Übersenden der Ergebnisse
    • Benötigt Zeit als Timecode.

Speichern des Zustands

Ist das Speichern von Ergebnissen aktiviert (Menü Einstellungen -> H5P -> Inhalt statisch speichern: Angemeldeten Benutzern erlauben, Aufgaben wieder aufzunehmen), und ist ein/e Nutzer*in in WordPress angemeldet, und unterstützt ein H5P-Inhaltstyp diese Funktion, dann wird zu definierten Ereignissen der aktuelle Zustand des H5P-Inhalts abgerufen und in der Datenbank der Plattform gespeichert.

Einsicht in diese Daten haben:

  • Personen, die über Zugriff auf die entsprechenden Datenbanktabellen verfügen (ggf. auch über weitere Plugins, die Zugriff auf die H5P-Daten ermöglichen)
  • Nutzer*innen der WordPress-Plattform, wenn sie auf der Plattform angemeldet sind und einen von ihnen zuvor bearbeiteten H5P-Inhalt wieder aufrufen

Anonymisierte Statistiken

Das Versenden anonymisierter Statistiken kann jederzeit deaktiviert werden, ist wegen des Fehlens eines Personenbezugs aber datenschutzrechtlich wohl eher unbedenklich.

Offizielles H5P-Plugin für moodle

Das H5P-Plugin für moodle unterstützt dessen entsprechende Mechaniken.

Speichern von Ergebnissen

Ist ein/e Nutzer*in in moodle angemeldet, und unterstützt ein H5P-Inhaltstyp diese Funktion, dann werden typischerweise beim Anwählen des “Überprüfen”-Buttons, bei einigen Inhaltstypen wie Interactive Video oder Interactive Book auch erst beim Anwählen eines “Einsenden”-Buttons, Ergebnisse an die Plattform gesendet. Diese werden in der Datenbank gespeichert und umfassen:

  • User-ID: Numerischer Wert, der dem/der angemeldeten Nutzer*in von moodle zugewiesen wurde und über den die Ergebnisse einer Person zugeordnet werden können
  • ID des H5P-Inhalts: Numerischer Wert, der die Verbindung zum absolvierten H5P-Inhalt herstellt
  • Eltern-ID des H5P-Inhalts: H5P-Inhalte können Unterinhalte umfassen, z. B. können im H5P-Inhaltstyp Column mehrere andere H5P-Unterinhalte gebündelt werden. Die Eltern-ID entspräche im Beispiel der ID des Column-Inhalts.
  • Interaktionstyp: Speichert den xAPI-Typ der Interaktion, um das passende Schema für das Reporting auszuwählen: true-false, choice, fill-in, long-fill-in, matching, performance, sequencing, likert, numeric, other
  • Beschreibung: Typischerweise die Aufgabenbeschreibung einer H5P-Aufgabe oder deren Bezeichnung
  • Erwartete Antworten: Bei einigen H5P-Inhaltstypen ist es möglich, ein Schema für eine richtige Antwort anzugeben, etwa die erwarteten Texte für Lücken eines Lückentextes oder die Indizes der richtigen Antwortmöglichkeiten eines Multiple-Choice-Quiz.
  • Tatsächliche Antworten: Die von dem/der Nutzer*in gegebenen Antworten, etwa die in einen Lückentext eingetragenen Texte oder die Indizes der ausgewählten Antwortmöglichkeiten eines Multiple-Choice-Quiz.
  • Zusätzliches: Gegebenenfalls Zusatzinformationen, die zum korrekten Anzeigen des Reportings relevant sind, etwa die Beschriftungen der Antwortmöglichkeiten eines Multiple-Choice-Quiz oder Informationen zum Ignorieren von Groß-/Kleinschreibung
  • Punktzahl: Numerischer Wert, der die erreichte Punktzahl festhält
  • Maximal mögliche Punktzahl: Numerischer Wert, der die maximal erreichbare Punktzahl festhält

Diese Ergebnisse werden von H5P gespeichert und dazu verwenden, um die von den Nutzer*innen gegebenen Antworten in einem Reporting darzustellen. Sie sind aber nur zusätzliche Daten zu dem, was moodle ohnehin im eigenen Gradebook speichert, beispielsweise Zeitstempel, moodle-eigene Bewertungen, usw.

Entsprechend werden bedingt durch die Fähigkeiten des moodle-Gradebooks auch die Punktbewertungen früherer Versuche speicherbar. Diese Historie ergibt sich aber nicht durch das H5P-Plugin, sondern durch moodle selbst.

Die Einsicht in diese Daten ergibt sich durch die Rechtevergabe in die Einsicht des Gradebooks von moodle und unterliegt nicht dem H5P-Plugin.

Speichern des Zustands

Ist das Speichern von Ergebnissen aktiviert, und ist ein/e Nutzer*in in moodle angemeldet, und unterstützt ein H5P-Inhaltstyp diese Funktion, dann wird zu definierten Ereignissen der aktuelle Zustand des H5P-Inhalts abgerufen und in der Datenbank der Plattform gespeichert.

Einsicht in diese Daten haben:

  • Personen, die über Zugriff auf die entsprechenden Datenbanktabellen verfügen (ggf. auch über weitere Plugins, die Zugriff auf die H5P-Daten ermöglichen)
  • Nutzer*innen der moodle-Plattform, wenn sie auf der Plattform angemeldet sind und einen von ihnen zuvor bearbeiteten H5P-Inhalt wieder aufrufen

Anonymisierte Statistiken

Das Versenden anonymisierter Statistiken kann jederzeit deaktiviert werden, ist wegen des Fehlens eines Personenbezugs aber datenschutzrechtlich wohl eher unbedenklich.

Inoffizielle H5P-Integration im moodle-Kern

Speichern von Ergebnissen

Ist ein/e Nutzer*in in moodle angemeldet, und unterstützt ein H5P-Inhaltstyp diese Funktion, dann werden typischerweise beim Anwählen des “Überprüfen”-Buttons, bei einigen Inhaltstypen wie Interactive Video oder Interactive Book auch erst beim Anwählen eines “Einsenden”-Buttons, Ergebnisse an die Plattform gesendet. Diese werden in der Datenbank gespeichert und umfassen:

  • User-ID: Numerischer Wert, der dem/der angemeldeten Nutzer*in von moodle zugewiesen wurde und über den die Ergebnisse einer Person zugeordnet werden können
  • ID des H5P-Inhalts: Numerischer Wert, der die Verbindung zum absolvierten H5P-Inhalt herstellt
  • Eltern-ID des H5P-Inhalts: H5P-Inhalte können Unterinhalte umfassen, z. B. können im H5P-Inhaltstyp Column mehrere andere H5P-Unterinhalte gebündelt werden. Die Eltern-ID entspräche im Beispiel der ID des Column-Inhalts.
  • Interaktionstyp: Speichert den xAPI-Typ der Interaktion, um das passende Schema für das Reporting auszuwählen: true-false, choice, fill-in, long-fill-in, matching, performance, sequencing, likert, numeric, other
  • Beschreibung: Typischerweise die Aufgabenbeschreibung einer H5P-Aufgabe oder deren Bezeichnung
  • Erwartete Antworten: Bei einigen H5P-Inhaltstypen ist es möglich, ein Schema für eine richtige Antwort anzugeben, etwa die erwarteten Texte für Lücken eines Lückentextes oder die Indizes der richtigen Antwortmöglichkeiten eines Multiple-Choice-Quiz.
  • Tatsächliche Antworten: Die von dem/der Nutzer*in gegebenen Antworten, etwa die in einen Lückentext eingetragenen Texte oder die Indizes der ausgewählten Antwortmöglichkeiten eines Multiple-Choice-Quiz.
  • Zusätzliches: Gegebenenfalls Zusatzinformationen, die zum korrekten Anzeigen des Reportings relevant sind, etwa die Beschriftungen der Antwortmöglichkeiten eines Multiple-Choice-Quiz oder Informationen zum Ignorieren von Groß-/Kleinschreibung
  • Punktzahl: Numerischer Wert, der die erreichte Punktzahl festhält
  • Maximal mögliche Punktzahl: Numerischer Wert, der die maximal erreichbare Punktzahl festhält

Diese Ergebnisse werden von H5P gespeichert und dazu verwenden, um die von den Nutzer*innen gegebenen Antworten in einem Reporting darzustellen. Sie sind aber nur zusätzliche Daten zu dem, was moodle ohnehin im eigenen Gradebook speichert, beispielsweise Zeitstempel, moodle-eigene Bewertungen, usw.

Entsprechend werden bedingt durch die Fähigkeiten des moodle-Gradebooks auch die Punktbewertungen früherer Versuche speicherbar. Diese Historie ergibt sich aber nicht durch die H5P-Integration, sondern durch moodle selbst.

Die Einsicht in diese Daten ergibt sich durch die Rechtevergabe in die Einsicht des Gradebooks von moodle und unterliegt nicht der H5P-Integration.

Speichern des Zustands

Die inoffizielle H5P-Integration im moodle-Kern verfügt Stand Oktober 2022 nicht über die Möglichkeit des Speicherns von Zuständen.

Anonymisierte Statistiken

Eventuell versendet moodle anonymisierte Statistiken, dies wäre jedoch außerhalb des Einflussbereichs von H5P.

H5P-Plugin für Drupal

Speichern von Ergebnissen

Ohne weitere Plugins erlaubt das H5P-Plugin für Drupal das Speichern der Ergebnisse nicht.

Speichern des Zustands

Ist das Speichern von Ergebnissen aktiviert, und ist ein/e Nutzer*in in Drupal angemeldet, und unterstützt ein H5P-Inhaltstyp diese Funktion, dann wird zu definierten Ereignissen der aktuelle Zustand des H5P-Inhalts abgerufen und in der Datenbank der Plattform gespeichert.

Einsicht in diese Daten haben:

  • Personen, die über Zugriff auf die entsprechenden Datenbanktabellen verfügen (ggf. auch über weitere Plugins, die Zugriff auf die H5P-Daten ermöglichen)
  • Nutzer*innen der moodle-Plattform, wenn sie auf der Plattform angemeldet sind und einen von ihnen zuvor bearbeiteten H5P-Inhalt wieder aufrufen

Anonymisierte Statistiken

Das Versenden anonymisierter Statistiken kann jederzeit deaktiviert werden, ist wegen des Fehlens eines Personenbezugs aber datenschutzrechtlich wohl eher unbedenklich.

Pimp your platform with H5P

Durch @TweetinChar bin ich auf die Software H5P aufmerksam geworden, die mich von den Socken haut. Hinter dem Kürzel verbirgt sich ein PlugIn für andere Plattformen, das sie um diverse interaktive Elemente bereichern kann. Den Anfang machen WordPress und Drupal. Das Lernmanagement-System moodle folgt in Kürze und wird sogar die Option bieten, auf Rückmeldungen der PlugIns zu reagieren: Lektionen freischalten, Auszeichnungen vergeben, usw.

„Was sollen denn diese diversen interaktiven Elemente sein“, fragt ihr euch? Am besten zeige ich euch zwei Beispiele, die ich damit erstellt habe.


Videos mit Aufgaben

Inzwischen schon einer der Klassiker in Online-Kursen: Videos mit Overlays, eingebetteten Fragen oder Textfeldern zum Ausfüllen. H5P ist da recht flexibel und erlaubt, je nach gegebener Antwort individuell fortzufahren und beispielsweise eine bestimmte Sequenz des Videos noch einmal zu zeigen oder eine andere zu überspringen. Habe ich in diesem Video aber gar nicht genutzt, sondern bloß die meisten Formate eingebettet, die man nutzen kann. Übrigens: Statt eines Videos könnt ihr auch Schaubilder einer Präsentation verwenden und dann durchblättern…


Zeitstrahlen

Wie ihr seht, sind Zeitstrahlen kein Problem. Es hakt noch etwas mit der Darstellung des Datumsformats, aber das kann ich prima verschmerzen. Dafür sieht es schick aus, es gibt zahlreiche Möglichkeiten zum Erstellen und responsive sind die eingebundenen Inhalte auch.


Diese kleine Auswahl war aber längst nicht alles. Viel mehr Beispiele findet ihr auf der Showcase-Seite der Programmiertruppe. Die Aufgabentypen, die ihr über Videos legen könnt, könnt beispielsweise auch eigenständig nutzen, es gibt kleine Werkzeuge, Mini-Spiele, … Ich bin jedenfalls hellauf begeistert, auch wenn es an einigen Stellen noch ein paar Bugs zu geben scheint. Aber, oh, hatte ich erwähnt, dass H5P obendrein auch noch Open Source ist? Sollten also kein Probleme sein, die ewig bestehen bleiben :-)

YALW

Yalw, the mighty Viking (Login Widget)

Yalw, the mighty Viking

Von Zeit zu Zeit überkommt es mich, und ich finde die Muße zum Programmieren. Praktisch, wenn im Job ab und zu auch ein Stündchen dafür genutzt werden kann. Entstanden ist so nämlich ein PlugIn für WordPress, das ich YALW [ ʝɒʟf] getauft habe. So heißt bekanntlich einer der unehelichen Stiefbrüder von Thor, der als unterbezahlter Praktikant von Heimdall den Zugang zum Bifröst bewacht. Könnt ihr in der Edda mal nachlesen. Wegen des nordischen Ursprungs ziert auch der Wikinger das Logo.

Bösen Gerüchten zufolge handelt es sich aber lediglich um ein Akronym für Yet Another Login Widget, weil YALW bloß eine weitere Möglichkeit bietet, um sich auf der Blogplattform einzuloggen. Warum noch so ein PlugIn? Weil irgendwie keins die Anforderungen erfüllt hat, die für die Lehrportfolio-Plattform von teach4TU gewünscht waren. Und natürlich, weil sich anhand eines konkreten eigenen Projekts viel besser das Programmier-Framework von WordPress kennenlernen lässt als bloß vom Lesen der API-Dokumentation.

Was YALW kann

YALW kann beispielsweise…

  • die komplette Anmeldung inklusive Ersetzen eines vergessenen Passworts über das Widget abwickeln, ohne dafür auf eine zusätzliche Seite angewiesen zu sein.
  • in Kombination mit fail2ban auf fehlgeschlagene Login-Versuche reagieren, um früh bzw. tief und zentral auf dem Server auf Angriffe reagieren zu können.
  • per CSS recht detailliert an eigene optische Bedürfnisse angepasst werden.
  • dank durchgehender Lokalisierung auch sauber an andere Sprachen als Englisch oder Deutsch angepasst werden.

Mehr Funktionen ausdenken und dazubauen lassen sich natürlich immer. Wenn ihr wollt: Freier als mit der WTF Public License geht es wahrscheinlich nicht. Ihr findet YALW über die PlugIn-Suche von WordPress oder direkt über das zugehörige Repository oder auch über GitHub.

Da ich ich nur ein Gelegenheitsprogrammierer bin, freue ich mich natürlich auch über Feedback von jemandem, der sich besser damit auskennt! Habe mich um ordentliche Kommentare, möglichst sprechende Variablennamen, bündige Funktionen, usw. bemüht, aber da kann ich sicher noch viel lernen!