SCORM: Der Allrounder für E-Learning Inhalte – Ein umfassender Leitfaden für Einsteiger

Sep 12, 2024 | Dienstleistungen, Integration von Lernmanagement-Systemen (LMS), Lernformate, Online Kurse verwalten und pflegen | 0 Kommentare

Written By Bernd Wiest

Was ist SCORM?

„SCORM sorgt dafür, dass sich Lernmanagementsysteme mit Lerninhalten unterhalten können – ohne über die Sprache nachzudenken.“ Diese plakative Aussage bringt auf den Punkt, warum SCORM (Sharable Content Object Reference Model) seit über 20 Jahren der Standard für E-Learning Inhalte ist. SCORM ermöglicht es, digitale Lerninhalte plattformübergreifend auszutauschen, unabhängig davon, welches Lernmanagementsystem (LMS) genutzt wird. In diesem Artikel tauchen wir tief in die Welt von SCORM ein, um zu verstehen, was es ist, wie es funktioniert und wie es bestmöglich eingesetzt werden kann. Wir gehen auch auf typische Herausforderungen und Fehlerquellen ein, um Ihnen als SCORM-Anwender einen umfassenden Überblick zu bieten.

Was ist SCORM?

Was ist SCORM und wie funktioniert es?

SCORM wurde Anfang der 2000er Jahre von der Advanced Distributed Learning (ADL) Initiative des US-Verteidigungsministeriums entwickelt, um die Interoperabilität von Lerninhalten zu gewährleisten. Der Hauptzweck von SCORM ist es, sicherzustellen, dass E-Learning-Inhalte in jedes SCORM-kompatible LMS integriert werden können. Dies wird durch eine Kombination von Standards und Spezifikationen erreicht, die festlegen, wie Lerninhalte verpackt, verfolgt und zwischen verschiedenen Systemen ausgetauscht werden.

Die Struktur eines SCORM-Pakets

Ein SCORM-Paket ist im Wesentlichen eine ZIP-Datei, die alle nötigen Dateien enthält, um den Inhalt in einem LMS zu hosten und auszuführen. Typischerweise besteht ein SCORM-Paket aus folgenden Bestandteilen:

  1. imsmanifest.xml: Die wichtigste Datei in einem SCORM-Paket. Sie enthält eine Beschreibung der Inhalte, die Struktur der Lektionen und Informationen darüber, wie das LMS mit dem Inhalt interagieren soll.
  2. Ressourcen (HTML-Dateien, JavaScript, CSS, Bilder, Videos): Diese Dateien stellen die eigentlichen Lerninhalte dar, die von den Lernenden gesehen und bearbeitet werden.
  3. API-Kommunikationsskripte (z. B. SCORM_API.js): Skripte, die es den Inhalten ermöglichen, mit dem LMS zu kommunizieren und Daten zu senden oder zu empfangen.
  4. Metadaten (optional): Zusätzliche Dateien, die beschreiben, welche Arten von Daten im Paket enthalten sind und wie sie genutzt werden können.

Diese Struktur gewährleistet, dass alle notwendigen Dateien an einem Ort gebündelt sind und problemlos in ein SCORM-kompatibles LMS importiert werden können.

Einbindung von SCORM-Inhalten in ein LMS – auch von externen Domains

Ein großer Vorteil von SCORM ist seine Flexibilität bei der Einbindung von Inhalten. Normalerweise werden SCORM-Pakete direkt in das LMS hochgeladen. Es ist jedoch auch möglich, SCORM-Inhalte zu hosten, die sich auf einer externen Domain befinden. Dies wird durch Cross-Domain Scripting ermöglicht.

Wie funktioniert das?
Das LMS sendet Anfragen an den externen Server, auf dem die SCORM-Inhalte gehostet sind. Dazu ist es notwendig, dass der Server CORS (Cross-Origin Resource Sharing) aktiviert hat, was das Teilen von Daten zwischen verschiedenen Domains erlaubt. Dennoch kann dies zu Problemen führen, insbesondere wenn die Sicherheitsrichtlinien des Unternehmens diese Art von Datenfreigabe einschränken.

Single-SCO vs. Multi-SCO: Was ist der Unterschied?

Single-SCO (Single Sharable Content Object)

Ein Single-SCO-Kurs besteht aus einem einzigen Content-Objekt, das von Anfang bis Ende als eine Einheit durchlaufen wird. Diese Struktur ist einfach und eignet sich für lineare Lernpfade. Ein Beispiel wäre ein kurzer Kurs mit einer Einführung, einem Hauptteil und einem abschließenden Test, der in einem Durchlauf abgeschlossen wird.

 

Beispiel: Minimales Inhaltsverzeichnis für Single SCO

<?xml version=“1.0 encoding=UTF-8„?>
<manifest identifier=“single_sco_manifestversion=“1.2
xmlns=“http://www.imsproject.org/xsd/imscp_rootv1p1p2
xmlns:adlcp=“http://www.adlnet.org/xsd/adlcp_rootv1p2„>

<organizations default=“single_sco_org„>
<organization identifier=“single_sco_org„>
<item identifier=“item_1identifierref=“resource_1„>
<title>SCORM Kurs</title>
</item>
</organization>
</organizations>

<resources>
<resource identifier=“resource_1type=“webcontentadlcp:scormtype=“scohref=“index.html„>
<file href=“index.html„/>
</resource>
</resources>

</manifest>

 

Multi-SCO (Multiple Sharable Content Objects)
Ein Multi-SCO-Kurs besteht aus mehreren Content-Objekten, die unabhängig voneinander abgerufen und bearbeitet werden können. Diese Struktur bietet mehr Flexibilität und eignet sich für komplexere Kurse, die mehrere Module oder Lektionen enthalten. Der Lernende kann zwischen den Modulen navigieren, sie in beliebiger Reihenfolge durchlaufen oder wiederholen.

Warum ist das wichtig?
Die Wahl zwischen Single-SCO und Multi-SCO hängt von den Lernzielen und der Komplexität des Kurses ab. Während Single-SCO einfacher zu erstellen und zu implementieren ist, bietet Multi-SCO mehr Flexibilität und eine personalisierte Lernerfahrung.

Typische Fehler bei der Einbindung von SCORM-Inhalten in ein LMS

Bei der Einbindung von SCORM-Inhalten in ein LMS treten häufig Fehler auf, die den Ablauf der Inhalte behindern oder die Datenerfassung einschränken können. Hier sind einige häufige Fehler:

  1. Fehlende oder fehlerhafte imsmanifest.xml-Datei: Ohne diese Datei kann das LMS die Struktur des Inhalts nicht interpretieren. Eine fehlerhafte XML-Syntax kann ebenfalls zu Importproblemen führen.
  2. JavaScript-Fehler: Da SCORM zur Kommunikation auf JavaScript basiert, können Fehler in den Skripten dazu führen, dass der Inhalt nicht korrekt geladen wird oder Daten nicht an das LMS übertragen werden.
  3. Unzureichende Cross-Domain-Einstellungen: Wenn SCORM-Inhalte auf externen Servern gehostet werden, aber keine ordnungsgemäßen Cross-Domain-Einstellungen bestehen, können Lernende die Inhalte nicht laden.
  4. Fehlende oder inkompatible Dateien: Manchmal fehlen im SCORM-Paket benötigte Dateien, oder Dateien sind in Formaten gespeichert, die vom LMS nicht unterstützt werden.

SCORM-Kommunikation: Welche Daten werden ausgetauscht?

Die SCORM-Kommunikation basiert auf einem festgelegten Satz von Datenmodellen, die zwischen dem Lerninhalt und dem LMS ausgetauscht werden. Es gibt insgesamt folgende 42 Parameter, die ausgetauscht bzw. übergeben werden können. Einige sind obligatorisch, der Rest optional. Wie Sie an dieser Liste sehen, gibt es zumindest theoretisch viele Interessante Möglichkeiten für interaktive Lerninhalte. Dennoch werden meist nur die obligatorischen Parameter genutzt.

Hier ist die vollständige Liste der SCORM 1.2-Parameter, gegliedert nach obligatorischen und optionalen Parametern:

Obligatorische SCORM 1.2-Parameter

  1. cmi.core.student_id – Identifikation des Lernenden.
  2. cmi.core.student_name – Name des Lernenden.
  3. cmi.core.lesson_status – Status der Lektion (z.B. „passed“, „failed“, „completed“, „incomplete“, „browsed“).
  4. cmi.core.score.raw – Die Punktzahl des Lernenden für eine bestimmte Aktivität.
  5. cmi.core.total_time – Gesamte im Kurs verbrachte Zeit.

Optionale SCORM 1.2-Parameter

Allgemeine Kursparameter
  1. cmi.core.lesson_location – Aktuelle Position des Lernenden im Kurs.
  2. cmi.core.credit – Gibt an, ob der Kurs kreditiert wird oder nicht („credit“ oder „no-credit“).
  3. cmi.core.entry – Gibt an, ob der Lernende das erste Mal oder wiederholt in den Kurs einsteigt.
  4. cmi.core.score.max – Maximale Punktzahl, die in einer Aktivität erreicht werden kann.
  5. cmi.core.score.min – Minimale Punktzahl, die in einer Aktivität erreicht werden kann.
  6. cmi.core.lesson_mode – Modus des Lernens (z.B. „normal“, „review“, „browse“).
  7. cmi.core.exit – Gibt an, wie der Lernende den Kurs verlässt (z.B. „time-out“, „suspend“, „logout“).
  8. cmi.core.session_time – Die Zeit, die der Lernende in der aktuellen Sitzung verbracht hat.
Interaktionsbezogene Parameter
  1. cmi.interactions._count – Die Anzahl der Interaktionen im Kurs.
  2. cmi.interactions.n.id – Identifikation der spezifischen Interaktion.
  3. cmi.interactions.n.objectives._count – Anzahl der Lernziele für eine bestimmte Interaktion.
  4. cmi.interactions.n.objectives.n.id – Identifikation eines spezifischen Lernziels innerhalb einer Interaktion.
  5. cmi.interactions.n.time – Zeit, zu der die Interaktion stattfand.
  6. cmi.interactions.n.type – Typ der Interaktion (z.B. „true-false“, „choice“, „fill-in“, „matching“, „performance“, „sequencing“, „likert“, „numeric“).
  7. cmi.interactions.n.correct_responses._count – Anzahl der korrekten Antworten für eine bestimmte Interaktion.
  8. cmi.interactions.n.correct_responses.n.pattern – Muster der korrekten Antwort.
  9. cmi.interactions.n.weighting – Gewichtung der Interaktion in Bezug auf die Gesamtbewertung.
  10. cmi.interactions.n.student_response – Antwort des Lernenden auf die Interaktion.
  11. cmi.interactions.n.result – Ergebnis der Interaktion (z.B. „correct“, „wrong“, „unanticipated“, „neutral“).
  12. cmi.interactions.n.latency – Zeit, die der Lernende für die Interaktion benötigt hat.
Zielbezogene Parameter
  1. cmi.objectives._count – Anzahl der Lernziele im Kurs.
  2. cmi.objectives.n.id – Identifikation eines bestimmten Lernziels.
  3. cmi.objectives.n.score.raw – Punktzahl des Lernenden für ein spezifisches Lernziel.
  4. cmi.objectives.n.score.max – Maximale Punktzahl, die für das Lernziel erreicht werden kann.
  5. cmi.objectives.n.score.min – Minimale Punktzahl, die für das Lernziel erreicht werden kann.
  6. cmi.objectives.n.status – Status des Lernziels (z.B. „passed“, „failed“, „completed“, „incomplete“).
Weitere Parameter
  1. cmi.suspend_data – Daten, die den Status des Kurses speichern, wenn der Lernende die Sitzung unterbricht.
  2. cmi.launch_data – Daten, die an den Lerninhalt übergeben werden, wenn der Kurs gestartet wird.
  3. cmi.comments – Kommentare des Lernenden zur Kursbewertung.
  4. cmi.comments_from_lms – Kommentare vom LMS zum Lerninhalt.
  5. cmi.student_data.mastery_score – Grenzwert, der zum Bestehen des Kurses erforderlich ist.
  6. cmi.student_data.max_time_allowed – Maximale erlaubte Zeit für den Kurs.
  7. cmi.student_data.time_limit_action – Aktion, die ausgeführt wird, wenn die Zeit abgelaufen ist (z.B. „exit“, „continue“).
  8. cmi.student_preference.audio – Audio-Einstellungen des Lernenden (z.B. Lautstärke).
  9. cmi.student_preference.language – Bevorzugte Sprache des Lernenden.
  10. cmi.student_preference.speed – Bevorzugte Wiedergabegeschwindigkeit von Inhalten.
  11. cmi.student_preference.text – Bevorzugte Textgröße oder Formatierung.

Ein SCORM Inhalt wird vom LMS über eine URL gestartet. Hier ein Beispiel

Angenommen, die SCORM-Inhalte liegen auf einer Domain wie https://example.com/scorm/, dann könnte ein typischer Aufruf der ersten Seite des SCORM-Inhalts vom LMS wie folgt aussehen:

https://example.com/scorm/index.html?SCOInstanceID=12345&student_id=98765&student_name=Max%20Mustermann&lesson_location=&lesson_status=incomplete&session_time=00%3A00%3A00

Erklärung der URL und der Parameter:

Basis-URL:

https://example.com/scorm/index.html – Die URL zur ersten Seite oder Startseite des SCORM-Inhalts.

Parameter, die übergeben werden:

    • SCOInstanceID=12345: Eine eindeutige ID, die die spezifische Instanz der SCORM-Einheit (SCO) identifiziert.
    • student_id=98765: Die eindeutige ID des Lernenden, die durch das LMS generiert wird.
    • student_name=Max%20Mustermann: Der Name des Lernenden (URL-encoded, d.h. Leerzeichen durch %20 ersetzt).
    • lesson_location=: Der aktuelle Ort oder die Position im Kurs; leer, wenn der Kurs neu gestartet wird.
    • lesson_status=incomplete: Der Status der Lektion, in diesem Fall „incomplete“ (unvollständig).
    • session_time=00%3A00%3A00: Die Zeit, die der Lernende in der aktuellen Sitzung verbracht hat (hier zu Beginn „00:00:00“), wobei Doppelpunkte (:) in der URL kodiert werden.

Diese URL gibt dem SCORM-Inhalt alle notwendigen Informationen, um den Lernprozess korrekt zu starten und fortzusetzen. Das LMS generiert diese URL dynamisch, basierend auf dem Fortschritt und den Daten des jeweiligen Lernenden.

 

Hier ein Beispiel für das zurückgeben von Daten an das LMS. Vorausgesetzt ist, dass der Zugriff auf das SCORM API Objekt bereits über eine Funktion getAPI() gewährleistet ist:

// Annahme: Der Zugriff auf das SCORM API-Objekt ist bereits über eine Funktion getAPI() gewährleistet.
var api = getAPI();

// Übermittlung der obligatorischen Parameter an das LMS
api.SetValue(„cmi.core.student_id„, „12345„);
api.SetValue(„cmi.core.student_name„, „Max Mustermann„);
api.SetValue(„cmi.core.lesson_status„, „incomplete„);
api.SetValue(„cmi.core.score.raw„, „85„);
api.SetValue(„cmi.core.total_time„, „00:30:00„);

// Beenden der SCORM-Sitzung und Sicherstellung, dass die Daten gespeichert werden
api.Commit(„“);

Erklärung des Codes:

  • getAPI(): Eine Funktion, die das SCORM API-Objekt abruft, das für die Kommunikation mit dem LMS benötigt wird.
  • SetValue(„cmi.core.parameter“, „value“): Diese Methode setzt die jeweiligen Werte für die obligatorischen SCORM-Parameter.
  • Commit(„“): Diese Methode stellt sicher, dass die Daten an das LMS übermittelt und gespeichert werden.

Dieser Code kann in ein SCORM-kompatibles Lernmodul eingebettet werden, um die erforderlichen Parameter an das LMS zu übermitteln.

Typische Fehler bei der Parameterübertragung

Diese Parameter müssen in der richtigen Struktur und im richtigen Format übermittelt werden, sonst kommt es zu Fehlern. Häufige Fehlerquellen sind:

  • Ungültige oder fehlende Datenformate: Zum Beispiel wird ein numerischer Wert als String übermittelt.
  • Sonderzeichen oder Umlaute: Viele LMS können spezielle Zeichen nicht korrekt verarbeiten.
  • Fehlende Datenfelder: Wenn obligatorische Felder fehlen, kann die Kommunikation unterbrochen werden.

Fazit: SCORM im Einsatz – Chancen und Herausforderungen

SCORM bleibt trotz seines Alters ein starker Standard für E-Learning-Inhalte, der durch seine einfache Einbindung, Wiederverwendbarkeit und umfassende Tracking-Möglichkeiten überzeugt. Es bietet eine über viele Jahre bewährte, allseits bekannte und zuverlässige Methode zum Austausch von Lernstandsdaten und zur Standardisierung und Verfolgung von Lernaktivitäten und bleibt die erste Wahl, wenn es um einfache Interoperabilität und kosteneffiziente Implementierung geht. Dennoch ist es wichtig, seine Grenzen zu kennen und die neueren Alternativen wie xAPI und cmi5 zu prüfen, wenn komplexere, modernere Lernumgebungen erforderlich sind.

Mit diesem Wissen können Sie SCORM-Inhalte effektiv in Ihren Kursen nutzen und eine reibungslose, transparente Lernerfahrung für Ihre Teilnehmer sicherstellen. Nutzen Sie SCORM für die Grundpfeiler Ihres E-Learning-Angebots – und setzen Sie die Nachfolger ein, wenn Sie über die Grenzen hinausgehen möchten.

Wenn Sie mehr über SCORM erfahren möchten und praktische Anleitungen suchen, um es in Ihrem Unternehmen zu implementieren, besuchen Sie die folgenden Artikel:

Written By Bernd Wiest

undefined

Empfohlene Artikel

0 Kommentare

Einen Kommentar abschicken

Anmeldung zum Newsletter

Ja. Ich möchte den Newsletter regelmäßig, etwa zweimal pro Monat mit hilfreichen Tipps, Informationen, Produktvorstellungen und Reviews erhalten.
Der Newsletter beinhaltet auch E-Books, Videos, Aufgezeichnete Webinare und andere Hilfen für die Digitale Weiterbildung.

* Ich kann die Einwilligung in den Empfang des Newsletters und die Messung jederzeit widerrufen.
Der Versand des Newsletter erfolgt mit einem Mailingsystem innerhalb dieser Plattform, Öffnungs- ud Klickraten werden zur Verbesserung des Angebots ausgewertet.