Inhaltsdomäne
Die Inhaltsdomäne ist eine separate Adresse für Inhalte, also eine zweite Webadresse, über die OpenOlat Inhalte ausliefert, die Autor:innen und Teilnehmer:innen hochladen: HTML-Seiten, CP-Lerninhalte (Content Packages), SCORM-Pakete, abgegebene Dokumente und ähnliche Dateien. OpenOlat selbst rufen Sie weiterhin unter der gewohnten Adresse auf. Die zweite Adresse schützt Ihre OpenOlat-Sitzung, also Ihre aktuelle Anmeldung in OpenOlat, vor Programmcode, der in solchen Inhalten steckt.
Warum eine zweite Adresse?
Eine HTML-Seite oder ein SCORM-Paket kann JavaScript enthalten. Liefert OpenOlat diesen Inhalt unter der eigenen Adresse aus, läuft das Skript mit denselben Rechten wie OpenOlat. Es könnte die OpenOlat-Sitzung der Person lesen, die den Inhalt öffnet, und in ihrem Namen handeln. Öffnet eine Person mit Administrationsrechten einen solchen Inhalt, stünde dem Skript das ganze System offen.
Die Inhaltsdomäne verhindert das mit einer Regel, die jeder Browser durchsetzt, der Same-Origin-Policy: Eine Seite darf nur auf Daten derselben Adresse zugreifen. Ein Inhalt von der Inhaltsdomäne erreicht deshalb weder das Sitzungs-Cookie von OpenOlat noch die OpenOlat-Seite, in die er eingebettet ist. Das gilt auch, wenn OpenOlat den Inhalt in einem Rahmen (iframe) direkt auf der Kursseite zeigt.
Ein schmaler Kanal bleibt offen: Der Inhalt kann OpenOlat eine Nachricht schicken, zum Beispiel "Öffne diesen Kursbaustein". OpenOlat prüft jede Nachricht, bevor es sie ausführt. So funktionieren Links aus einer HTML-Seite auf andere Teile des Kurses.
Warum genügt kein abgeschotteter Rahmen?
Browser können einen Rahmen mit dem Attribut sandbox abschotten. Für Lerninhalte reicht das nicht. SCORM-Pakete brauchen volles JavaScript, eingebettete Videos von YouTube oder Vimeo greifen auf die umgebende Seite zu. Erlaubt der Rahmen Skripte und zugleich den Zugriff auf die Adresse der umgebenden Seite (denselben Ursprung), hebt sich die Abschottung auf. Öffnet jemand den Rahmen in einem neuen Tab, wirkt sie gar nicht mehr. Eine eigene Adresse schützt in allen diesen Fällen.
Was Sie davon bemerken
Im Alltag ändert sich für Sie nichts: Der Inhalt erscheint wie gewohnt auf der Kursseite oder in einer Lightbox, etwa eine abgegebene HTML-Datei im Kursbaustein "Aufgabe". Die Adresszeile Ihres Browsers zeigt weiterhin die OpenOlat-Adresse, denn der Inhalt läuft in einem Rahmen innerhalb der OpenOlat-Seite.
Die Inhaltsdomäne sehen Sie nur in diesen Fällen:
- Sie öffnen den Inhalt selbst oder eine darin eingebettete Datei in einem neuen Tab.
- Sie sehen sich die Seite mit den Entwicklerwerkzeugen des Browsers an.
Die abweichende Adresse ist gewollt und kein Zeichen für einen Angriff. Die Inhaltsdomäne fragt nie nach Benutzername und Passwort. Ob Ihre Instanz eine Inhaltsdomäne verwendet, erkennen Sie an genau dieser abweichenden Adresse. Im neuen Tab und nach einem Neuladen der Seite erscheint der Inhalt vollständig, mit Bildern, Formatierung und Kurslayout.
Wenn Inhalte nicht laden
Viele Organisationen prüfen mit einem Webfilter, etwa in der Firewall, welche Adressen die Browser in ihrem Netz aufrufen dürfen. Blockiert der Webfilter die Inhaltsdomäne, laden alle Inhalte, die darüber kommen, nicht. Meist fällt das zuerst bei einem Kursbaustein "HTML-Seite" auf, bei einer HTML-Seite als Übersicht eines Kursbausteins "Struktur" und bei Links aus solchen Seiten auf OpenOlat-Seiten.
Die Informatik Ihrer Organisation gibt die Inhaltsdomäne im Webfilter frei. Welche Adresse Ihre Instanz verwendet, sehen Sie, wenn Sie einen Inhalt in einem neuen Tab öffnen. Für Instanzen, die frentix betreibt, steht die Adresse im Abschnitt Einrichtung.
Welche Inhalte über die Inhaltsdomäne kommen
Ist eine Inhaltsdomäne eingerichtet, liefert OpenOlat diese Inhalte darüber aus:
- Kursbaustein HTML-Seite, auch in der Vorschau, die ein Kursbaustein "Struktur" mit der Übersicht "Automatische Übersicht mit Vorschau" zeigt
- Kursbaustein CP-Lerninhalt
- Kursbaustein SCORM 1.2
- Kursbaustein Struktur mit einer eigenen HTML-Seite als Übersicht
- Kursbausteine Aufgabe und Gruppenaufgabe: Aufgabenstellung, abgegebene Dokumente und Musterlösung
- Kursbaustein Dokument mit einer HTML-Datei
- Vorschau einer HTML-Datei, die Sie im Kurseditor auswählen, in den Kursbausteinen "HTML-Seite", "Struktur" und Test
- Inhalte aus edu-sharing, die in eine HTML-Seite eingebettet sind
- HTML-Dateien in Ordnern und in Projekten, wenn Sie die Datei nur lesen dürfen
- Vorschau von Zertifikaten
- Infoseiten im Dokumentenpool und im Fragenpool
- Impressum
Links in Inhalten
Kursinterne Links in HTML-Seiten, zum Beispiel auf einen anderen Kursbaustein, funktionieren auch über die Inhaltsdomäne. OpenOlat nimmt den Link als geprüfte Nachricht entgegen und öffnet das Ziel. Bestehende Seiten müssen Sie nicht anpassen.
Links auf OpenOlat-Seiten, die in diesen Inhalten oder in einer im Kurs angezeigten PDF-Datei stehen, öffnen das Ziel im OpenOlat-Fenster selbst, nicht im Rahmen des Inhalts. Mit Ctrl-Klick, Cmd-Klick oder der mittleren Maustaste öffnet sich das Ziel in einem neuen Tab unter der OpenOlat-Adresse. Lesezeichen auf eine Adresse der Inhaltsdomäne und weitergegebene Adressen der Inhaltsdomäne führen zur OpenOlat-Adresse.
Einrichtung
frentix-Kund:innen
Bei Instanzen, die frentix betreibt, liegt die Inhaltsdomäne unterhalb von elearning-content.com. Schützt Ihre Organisation OpenOlat mit einer eigenen Web Application Firewall, braucht sie neben der öffentlichen OpenOlat-Adresse auch eine eigene öffentliche Inhaltsdomäne. Eine Subdomain der OpenOlat-Adresse genügt nicht. Die angezeigte Adresse heisst dann anders, das Prinzip bleibt gleich: zwei Adressen für dasselbe OpenOlat. Geben Sie im Webfilter die Inhaltsdomäne frei, die Ihre Instanz verwendet.
Kontakt
Die Inhaltsdomäne ist Teil der Serverkonfiguration und gilt nach einer Änderung erst ab dem nächsten Neustart von OpenOlat. Für eine Änderung wenden Sie sich an Ihre Organisation.
Für Systemadministrator:innen gilt:
- Die Inhaltsdomäne braucht eine eigene Domain, die keine Cookies mit der OpenOlat-Adresse teilt. Eine Subdomain der OpenOlat-Adresse, etwa
content.learn.example.comzulearn.example.com, genügt nicht, weil sie Cookies mit der OpenOlat-Adresse teilen kann. - Beide Adressen zeigen auf denselben OpenOlat-Server, zum Beispiel über einen zusätzlichen virtuellen Host im Reverse Proxy.
- Ohne Inhaltsdomäne liefert OpenOlat die Inhalte über die eigene Adresse aus, ohne diesen Schutz. An einigen Stellen entfernt OpenOlat deshalb die Skripte aus HTML-Dateien, etwa aus der zugewiesenen Aufgabenstellung im Kursbaustein "Aufgabe". HTML-Dateien in Ordnern mit reinem Leserecht öffnen sich in einem neuen Browserfenster statt in der Lightbox.
- In der System-Administration erscheinen Zugriffe über die Inhaltsdomäne unter Aktive Sitzungen mit dem Modus "Content":
Administration > System > Aktive Sitzungen. Eine solche Sitzung dient nur der Auslieferung des Inhalts und wird nie zu einer vollständigen OpenOlat-Sitzung.
Die Einrichtung beschreibt der englischsprachige Installation guide.
Herkunft der Technik
OpenOlat folgt mit der Inhaltsdomäne einem Verfahren, das grosse Plattformen seit Jahren einsetzen:
- Google gilt als Vorreiter. Google liefert Inhalte von Nutzer:innen, etwa Dateivorschauen aus Google Drive, Bilder und Google Sites, über die eigene Domain
googleusercontent.comaus und hat den Ansatz 2012 im Beitrag Content hosting for the modern web beschrieben. - GitHub liefert Dateien aus Repositories in der Rohfassung über
raw.githubusercontent.comaus. - Den Grundgedanken, sicherheitskritische Webadressen von anderen Inhalten zu trennen, beschreibt der Entwurf Isolated Origins der W3C-Gemeinschaftsgruppe WICG (2017).
Weiterführende Informationen
Auf dieser Seite erwähnt
Kursbaustein "HTML-Seite" >
Kursbaustein "CP-Lerninhalt" >
Kursbaustein "SCORM 1.2" >
Kursbaustein "Struktur" >
Kursbaustein "Aufgabe" >
Kursbaustein "Gruppenaufgabe" >
Kursbaustein "Dokument" >
Kursbaustein "Test" >
Kursbaustein "edu-sharing" >
Ordnerkonzept >
Projekte: Dateien >
System >
Installation guide >
Content hosting for the modern web >
Isolated Origins >
Weiterführend
Videos im Kursbaustein "HTML-Seite" >
Technologie und Navigation >