Wie erstelle ich einen SCORM Inhalt? (Englisch)
aus Dokumentation, der freien Wissensdatenbank
| Inhaltsverzeichnis |
|
2.1 Verwenden der Dreamweaver Erweiterung: Scorm Runtime Wrapper 2.1.1 Eine einzelne HTML-Seite als SCO deklarieren |
Eine kurze Einleitung zu SCORM ...
Der Zweck dieser Seite ist es, ihnen zu helfen ihren eigenen interactiven Kurs unter Verwendung des SCORM Standards zu erstellen, damit die Kurse mit jeder Plattform arbeiten, die SCORM 1.2 unterstützen, wie Claroline ab 1.5.x.
Es gibt unterschiedliche Level der Übereinstimmung mit SORM 1.2. Was hier diskutiert wird betrifft das kleinste SCORM 1.2 level.
Ein komplett interaktiver Kurs, der Scorm 1.2 konform ist, basiert auf einer gezippten Datei, die alle Dateien der verschiedenen Unterrichtseinheiten des Kurses beinhaltet. Im Mittelpunkt dieser gepackten Datei finden wir die sehr wichtige imsmanifest.xml Datei. Sie sollten also ihren Kurs in verschiedene "Lektionen" oder "Module" (oder wie immer sie die einzelnen Lerneinheiten und Aktivitäten innerhalb ihres Kurses nennen möchten) organisieren. Diese heißen im Scorm Standard SCO (sharable content object). Hier sind zwei wichtige Schritte, die sie wissen müssen, um fortzufahren:
- Wie werden SCO´s erstellt?
- Wie bekomme ich sie in ein Inhaltspaket und wie bilde ich sie mit der imsmanifest.xml Datei in Verbindung.
Diese zwei Schritte können auf mehreren unterschiedlichen Wegen erledigt werden. Wir werden versuchen ihnen auf dieser Seite einige Vorschläge zu erläutern, damit sie sie selbst erstellen können. Einige private (aber generell sehr günstige) Lösungen gibt es ebenfalls, um diese beiden Schritte mit einem WYSIWYG-Editor zu erledigen. Diese erlauben es ihnen die Pakete zu erstellen und Inhalte aus Flash- oder HTML-Seiten zu importieren. Sie packen die Dateien, fügen den Javaskriptcode ein, der benötigt wird, damit ihre Inhalte wie SCO´s arbeiten. Sie finden mehr über diese Art von Produkten im Abschnitt Links zu bestehenden Tools in diesem Artikel.
Erstellen von eigenen SCO´s
Eine einzelne Einheit, eine Lektion oder ein Modul in einem Kurs wird im Scorm Vokabular SCO (sharable content object) genannt. Ein SCO kann aus vielen verschiedenen Dingen bestehen: ein interaktives Quizz, ein paar Webseiten in HTML, Flash ... . Ein SCO ist ein Ding, das mit dem LMS (Lern-Managment-System) kommunizieren kann und dabei einige spezielle (Javaskript, ECMaskript) Funktionen verwendet, die in Scorm genau definiert sind. Wir werden in diesem Manual sehen wie man einige Basisdinge dieser Art erstellen kann, ohne etwas programmieren zu müssen. Auch wenn es möglich ist einige andere Techniken zu nutzen, sehen wir uns nur an, wie man ein paar HTML-Seiten zu einem SCO werden lassen kann.
Verwenden der Dreamweaver Erweiterung: Scorm Runtime Wrapper
Dies setzt natürlich voraus, dass sie Dreamweaver MX verwenden. Eine Demoversion finden sie auf der Macromedia Internetseite:
http://www.macromedia.com . Außerdem müssen sie die Scorm Runtime Wrapper Erweiterung installieren, die sie auf der gleichen Seite als Freeware erhalten. Schauen sie bitte auf der Macromedia Internetseite nach, wie die Erweiterung installiert wird. Wenn dies einmal getan ist, öffnen sie ihre HTML-Seite(n) mit Dreamweaver.
Eine einzelne HTML-Seite als SCO deklarieren
Mit der Scorm runtime wrapper Erweiterung ist es sehr einfach ein SCO aus nur einer HTML-Seite zu erstellen. Wenn sie ihre Seite mit Dreamweaver geöffnet ahben, gehen sie in das "Befehlsmenü" und dann auf SCORM Runtime wrapper. Sie erhalten folgendes Windows-Fenster:
screenshot missing
Set Status onLoad': Diese Option setzt den Status der Lektion (SCO) auf ausgewählte Werte, wenn die Seite geladen wird. Wir empfehlen den Status auf Incomplete zu setzen, wie in dem Screenschot.
Die Trigger for LMSFinish Option erlaubt es ihnen festzulegen, welche Aktion die Lektion beendet. Wir raten ihnen den Finisch Lesson Button auszuwählen. Dieser wird dann in den oberen Teil ihrer HTML-Seite eingefügt. Allerdings können sie diesen Button platzieren wo sie möchten.
Set Status Based on trigger: Diese Option erlaubt es ihnen den Status der Lektion beim Ende festzulegen. Wir raten ihnen zu Complete, wie in dem Screenschot.
Wir empfehlen ihnen die erweiterten Optionen für eine einzelne HTML-Seite SCO nicht zu ändern. Die drei Optionsfelder sollten leer bleiben.
Klicken sie auf OK, wenn alles erledigt ist. Dies fügt in ihre HTML-Seite einige Javaskript-Funktionen ein, die für Scorm-Zwecke nötig sind. Wenn sie ihre Seite gespeichert haben ist dieses SCO fertig, um sie in einem content package hinzuzufügen. Wenn sie noch weitere Dateien, wie Bilder oder Javaskript Dateien in ihrer Seite haben, achten sie darauf nur relative Pfade zu verwenden und beziehen sie sie in den Packen-Schritt mit ein.
Mehrere HTML-Seiten zu einem SCO verarbeiten
Es ist natürlich möglich ein SCO aus mehreren HTML-Seiten zu erstellen. Übereinstimmend mit der Scorm Standard Definition, gibt es eine Menge verschiedener Wege für diesen Vorgang. Um es leicht zu machen, zweigen wir ihnen eine einfache Lösung, immer noch auf der Basis der Dreamweaver Erweiterung und ohne dass sie irgendetwas im Javaskript Code bearbeiten müssten, der mit der Erweiterung erstellt wird. Aber dies ist natürlich nicht der einzige Weg. Wir setzten voraus, dass sie einige Seite haben, die ihre Lektionen darstellen. Es muss eine Startseite geben, mit der die Lektion anfängt. Für diese Seite gehen sie wie im vorangegangenen Artikel vor, aber setzen sie die erweiterten Einstellungen wie in der Abbildung:
screenshot missing
Deaktivieren sie die LMSFinisch Option für die Startseite. Die anderen Seiten sollten normalerweise von ihrer Startseite aus erreichbar sein. Wenn ihr Kursteilnehmer durch die Seiten navigiert kommt er am Schluss auf eine Seite, die die Lektion/das SCO beendet. Für diese Seite müssen sie wiederum den Scorm runtime wrapper verwenden und die Optionen wie folgt setzen:
Die erweiterte Option disable LMSInitialize muss aktiviert sein Setzen sie den Status, der auf der Trigger Option basiert auf Complete.
Anmerkung: Wenn sie mehr als eine Seite haben, die das Ende der Lektion dar stellt, dann können sie unterschiedliche Zustände einstellen, je nachdem, ober der Teilnehmer die Lektion komplettiert oder abgebrochen hat, wenn er diese Seite erreicht. Achten sie darauf, dass sie mindestens eine Endseite haben sollten, die dem Benutzer erlaubt die Lektion mit dem "komplettiert" oder "abge- brochen" -Status zu beenden. Dies wird benötigt, damit das SCO korrekt mit der SCORM kompatiblen Plattform zusammenarbeiten kann. Es muss also möglich sein die Lektion korrekt abzuschließen. Für die anderen enthaltenen Seiten (also weder die Start- noch die Endseite) muss NICHTS mit dem wrapper geändert werden. Sie # bleiben normale Webseiten.
Wenn sie damit fertig sind haben sie mehrere HTML-Seiten zu einem SCO verarbeitet, dass nun fertig ist ein content package zu werden. Achten sie darauf nur relative Links zwischen ihren Seiten und ihren Bilddateien zu verwenden. Unerverzeichnisse von Bildern oder Javaskript können z.B. verwendet werden, wie sie sind und müssen nicht für das SCO verändert werden.
Schreiben sie ihre eigenes Scorm Javaskript, das SCO´s erstellt und Lernkontrollinformationen der Benutzer verfolgt
Wenn ihnen HTML und Javaskript Programmierung geläufig sind, ist es durchaus möglich, dass sie ihre eigenen SCO´s und Tracking Interaktionen erstellen. Dieses Kapital erklärt ihnen die wichtigsten Features von Scorm, die sie brauchen, um ihre eigenen interaktiven SCO´s zu erstellen. Außerdem geben wir ihnen ein paar Tipps und Beispiele.
Verwenden der API Javaskript-Funktionen
Unter Scorm wird der Dialog zwischen dem Scorm kompatiblen LMS (Lern-Management-System), dem Webserver (wie Claroline z.B.) und dem SCO (ihren Seiten/Lektionen) über Javaskript geregelt, unter der Verwendung eines speziellen Javaskriptobjekts, dem sogenannte API. Das LMS ist zuständig für die Erstellung dieses Objektes und der damit zusammenhängenden Funktionen im Javaskript. Aber es liegt in der Zuständigkeit ihres SCO dieses Objekt zu finden und die Funktionen zu nutzen. Alles was sie wissen müssen ist also:
- Wo finde ich die API Objekte?
- Welche Funktion dieser Objekte kann ich nutzen und wofür sind sie?
Das API Objekt zu finden ist sehr einfach: Sie setzen nur den folgenden Javaskript Code an den Anfang ihrer Startseite des SCO:
<script type="text/javascript" language="JavaScript">
var API = null; /* SCORM API */
/* look up through the frameset hierarchy for the SCORM API */
function findAPI(win)
{
while ((win.API == null) && (win.parent != null) && (win.parent != win))
{
win = win.parent;
}
API = win.API;
}
/* init the SCORM API */
function initAPI(win)
{
/* look for the SCORM API up in the frameset */
findAPI(win);
/* if we still have not found the API, look at the opener and it's frameset */
if ((API == null) && (win.opener != null))
{
findAPI(win.opener);
}
}
</script>
Anmerkung: Sie können den Code aber auch in einer .js Datei abspeichern, damit sie ihn für andere SCO´s wiederverwenden können.
Dann bearbeiten sie das onload Attribut in ihrem <body> Tag und rufen sie folgende Funktion auf:
<body onload="initAPI(Window)">
Die SCORM API ist nun korrekt eingestellt, damit sie dem LMS mitteilt, dass das SCO gestartet ist, wenn die Startseite aufgerufen ist. Es gibt noch andere Funktionen der SCORM API, die sie vielleicht verwenden möchten:
API.LMSInitialize("")
API.LMSFinish("")
API.LMSGetValue(dataElement)
API.LMSSetValue(dateElement, value)
Es existieren noch andere Funktionen im Scorm Standard. Gehen sie zur offiziellen Webseite von Scorm um mehr Informationen darüber zu erhalten: http://www.adlnet.org .
Die LMSInitialize Funktion sollte aufgerufen werden, wenn das SCO startet. Spätestens, wenn der Benutzer die erste Seite des SCO startet.
Die LMSFinish Funktion sollte aufgerufen werden, wenn das SCO endet. Dies kann ausgelöst werden durch eine "unload" Funktion auf der letzten Seite des SCO oder indem ein Button "Fertig" oder "Ende" auf ihrer/en letzten SCO-Seite/n einfügen. Wie sie die Funktion aufrufen, können sie frei wählen. Allerdings müssen sie beachten, dass jede dieser Lösungen besser oder schlechter mit einigen Scorm konformen Playern zusammenarbeitet. Abhängig davon, wie er die Javaskript API implementiert.
Es gibt einige Daten-Elemente die sie erreichen können über das setzen der LMSSetValue und der LMSGetValue Funktionen der API. Wir werden nicht alle erklären, aber einige, die wir interessant finden, möchten wir ihnen zeigen, damit ein paar nützliche Benutzerfortschrittsinformationen in ihrem SCO verfolgt werden können.
Die API Datenelemente, die verwendet werden können
cmi.core.score.raw element: Speichert die Auswertung des Benutzers dieser Lektion. Diese muss normalerweise einen Wert zwischen 0 und 100 (%) haben.
cmi.core.lesson_status element: Speichert den Status der Lektion für diesen Benutzer, erlaubte Werte sind: bestanden, nicht bestanden, abgeschlossen, unvollständig und durchgeblättert.Eine gute Möglichkeit diese Elemente in ihrem Javaskript zu nutzen ist diese: Setzen sie dieses Element auf "durchgeblättert" oder "unvollständig", wenn die Lektion startet (z.B. in der init Funktion):
API.LMSSetValue("cmi.core.lesson_status", "incomplete");
Setzen sie den Wert auf "bestanden" oder "nicht bestanden" auf der letzten Seite ihrer Lektion, abhängig von den Punkten, die der Benutzer in den Tests oder Fragen der Lektion erreicht hat. Set it as « passed » or « failed » when the user arrives on a end page of your lesson, depending on the score he got the the tests and questions in the lesson.
API.LMSSetValue("cmi.core.lesson_status", "passed");
Wir werden ihnen zwei Beispiele für die Verfolgung von Benutzerfortschrittsinformationen zeigen, die sie sehr einfach in Javaskript programmieren können. Für weitergehende Informationen über Tracking Elemente, die sie mit Scorm verwenden können, besuchen sie bitte die offizielle Dokumentation auf: http://www.adlnet.org .
Tracking der Benutzerauswertung in einem SCO
Lassen sie uns annehmen ihre Lektion/ihr SCO enthält einige Übungen, Tests, Quizzes ... und das Gesamtresultat soll in einer Javaskriptvariable gespeichert werden, die sich totalscore nennt. Mit dem Datenelement cmi.core.score.raw können sie diese Information auf ihrem Server hinterlegen. Wenn der Test absolviert ist, fügen sie diesen Javaskriptaufruf ein:
API.LMSSetValue("cmi.core.score.raw",totalScore );
Wo sie diesen Aufruf genau einfügen hängt davon ab, wie sie ihre HMTL-Seite/n mit dem Quizz organisiert haben. Er kann ausgelöst werden, wenn ein Abschicken Button betätigt wird (unter Verwendung des onClick event in Javaskript)oder wenn das onload event ihrer letzten Seite mit den korrekten Antworten erscheint, u.s.w.. Die Entscheidung liegt bei ihnen. Alles was sie wissen müssen ist, dass der Punktestand nur auf dem Server gespeichert wird, wenn dieser Aufruf erfolgt und ein Aufuf LMScommit und/oder LMSfinisch durchgeführt wird. (Das hängt sehr stark davon ab, welches LMS sie verwenden).
Die Zeit erfassen, die ein Benutzer in einem SCO aufgewendet hat
Es kann sein, dass sie auch die Zeit erfassen möchten, die ein Benutzer in ihrer Lektion aufgewendet hat. Hier ist eine Javaskriptlösung, die dafür sorgt, dass dies über Scorm erfolgt:
- Setzen sie die Funktion, die die Zeit erfasst, die ein Benutzer in einem SCO aufgewendet hat immer, wenn die LMSGFinish Funktion aufgerufen wird, indem sie genau davor die LMSsetValue Funktion so aufrufen:
var myTime = computeTime();
API.LMSSetValue("cmi.core.session_time",myTime );
API.LMSSetValue("cmi.core.lesson_status", ScormStatus);
API.LMSFinish("");
- Deklarieren sie die folgenden Javaskriptfunktionen:
function startTimer()
{
startDate = new Date().getTime();
}
function computeTime()
{
var formattedTime = "00:00:00.0";
if ( startDate != 0 )
{
var currentDate = new Date().getTime();
var elapsedSeconds = ( (currentDate - startDate) / 1000 );
formattedTime = convertTotalSeconds( elapsedSeconds );
}
return formattedTime;
}
function convertTotalSeconds(ts)
{
var Sec = (ts % 60);
ts -= Sec;
var tmp = (ts % 3600); //# of seconds in the total # of minutes
ts -= tmp; //# of seconds in the total # of hours
if ( (ts % 3600) != 0 ) var Hour = "00" ;
else var Hour = ""+ (ts / 3600);
if ( (tmp % 60) != 0 ) var Min = "00";
else var Min = ""+(tmp / 60);
Sec=""+Sec
Sec=Sec.substring(0,Sec.indexOf("."))
if (Hour.length < 2)Hour = "0"+Hour;
if (Min.length < 2)Min = "0"+Min;
if (Sec.length <2)Sec = "0"+Sec;
var rtnVal = Hour+":"+Min+":"+Sec;
return rtnVal;
}
Die Funktion startTimer() sollte in diesem Fall zu Beginn der Lektion (zur selben Zeit wie LMSinitialize()) aufgerufen werden; wenn die erste Seite geladen wird oder wann immer sie danken, dass die Lektion wirklich startet, abhängig vom Inhalt der Lektion oder von dem, ab wann die Zeit gezählt werden sollte.
Ein komplettes Beispiel: eine einzelne Quizzseite SCO mit Auswertungskontrolle (score tracking)
Coming soon...
Das SCORM Manifest erstellen
Ein SCORM Manifest ist eine XML Datei (imsmanifest.xml), die den Kurs beschreibt. Die Manifest Datei beinhaltet Metadata, wie z.B. Titel und Beschreibung des Kurses, sie SCO Sequenzen, der Name der Startseite für jedes SCO und eine Liste aller Dateien im Kurs. Manifest Maker http://e-learningconsulting.com/products/index.html ist eine kostenlose Dreamweaver-Erweiterung, die sie verwenden können um SCORM Manifest Dateien zu erstellen.
Linkliste vorhandener Tools
freie Tools :
- Der Reload Editor und der Reload SCORM player: http://www.reload.ac.uk Diese Tools sind Open Source und Java-Applikationen:
- Der Reload Editor: Dieses Tool ermöglicht es ihnen ein IMS Manifest zu erstellen und zu bearbeiten. Es hat eine überzeugende graphische Oberfläche um den Inhalt zu visualisieren.
- Der Reload SCORM Player: Dieses Tool erlaubt es ihnen SCORM 1.2 Pakete abzuspielen. So können sie einfach das Verhalten des Inhalts überprüfen und visualisieren, was in der SCORM API passiert.
- Das EClass Opensource project (BSD license): http://www.eclass.net Dieses Tool erlaubt es ihnen IMS Pakete mit HTML-Seiten zu erstellen, aber noch nicht mit interaktivem SCORM und noch nicht als ein Archiv, das direkt in Claroline hochladbar wäre. Zukünftige Versionen haben diese Option eventuell integriert.
- Das eXe project: Ein vielversprechendes Open Source Projekt; Dieses Tool erlaubt ihnen strukturierte Inhalte zu erstellen (Lernpfad mit Quiz, etc.) und sie in das SCORM Format zu exportieren. Der exportierte Inhalt arbeitet gut mit Claroline zusammen. http://exe.cfdl.auckland.ac.nz
andere :
- ReadyGo webcourse builder : http://www.readygo.com , ermöglicht das Erstellen von interaktiven HTML/Javaskript SCORM Inhalten..
- Eine freie Dreamweaver-Erweiterung ist hier verfügbar: e-Learning Course Development Kit http://www.e-learningconsulting.com/products/index.html HTML Entwickler können SCO´s damit erstellen.
- E-Doceo E-learning maker : http://www.e-doceo.fr, dieses Tool ermöglicht es interaktive Inhalte in Shockwave oder Flash zu erstellen, die in SCORM Pakete exportiert werden können.
- Lectora
- ...
