2017-11-29 5 views
0

Ich habe versucht, einige benutzerdefinierte SCORM-Inhalt mit der pipwerks SCORM API wrapper. In diesem Fall verwende ich ein SCORM 2004 4. Ed-Paket.Wie bekomme ich completion_status Wert von SCORM Cloud?

Wenn ich den Kurs starte und abschließe, wird der Kurs korrekt als abgeschlossen angezeigt und der Sandbox-Registrierungsstatus zeigt die Laufzeitdaten> cmi.completion_status: completed.

Course info

Im folgenden ist ein Auszug aus dem Debug-Protokoll zeigt der COMPLETION_STATUS gesetzt wird und die endgültige begehen.

- [14:01:43.632] SetValue('cmi.completion_status', 'completed') returned 'true' in 0 seconds 
[14:01:43.632] CheckForSetValueError (cmi.completion_status, completed, cmi.completion_status, ,) 
[14:01:43.632] Element is: completion_status 
[14:01:43.632] Call is error free. 
[14:01:43.632] StoreValue (cmi.completion_status, completed, cmi.completion_status, ,) 
[14:01:43.632] Element is: completion_status 
- [14:01:43.632] Commit('') returned 'true' in 0.004 seconds 
[14:01:43.632] Checking for Commit Error 
[14:01:43.632] Call is error free. 
[14:01:43.636] CompletedByMeasure is not enabled, using the completion status recorded by the SCO-completed 
[14:01:43.636] Scaled Passing Score is not specified, using the success status recorded by the SCO-unknown 
[14:09:29.134] Close Out Session 
[14:09:29.134] Mode = normal 
[14:09:29.134] Credit = credit 
[14:09:29.134] Recorded CompletionStatus = completed 
[14:09:29.134] Recorded SuccessStatus = unknown 
[14:09:29.134] ScaledPassingScore = null 
[14:09:29.134] Score = null 
[14:09:29.134] CompletedByMeasure = false 
[14:09:29.134] Progress Measure = 1 
[14:09:29.134] Session Time: (0 hundredths) 
[14:09:29.134] Previous Time: PT0H0M0S (0 hundredths) 
[14:09:29.134] New Total Time: PT0H0M0S (0 hundredths) 
[14:09:29.135] New Tracked Total Time: PT8M13.59S 
[14:09:29.135] CompletedByMeasure is not enabled, using the completion status recorded by the SCO-completed 
[14:09:29.135] Scaled Passing Score is not specified, using the success status recorded by the SCO-unknown 

Also an diesem Punkt sieht alles gut aus. Wenn ich den Kurs ein zweites Mal starte, ist das Ergebnis unbekannt.

- [14:19:20.067] GetValue('cmi.completion_status') returned 'unknown' in 0.003 seconds 
[14:19:20.069] Checking for GetValue Error 
[14:19:20.069] Element is: completion_status 
[14:19:20.069] Call is error free. 
[14:19:20.070] RetrieveGetValueData (cmi.completion_status, cmi.completion_status, ,) 
[14:19:20.070] Element is: completion_status 
[14:19:20.070] CompletedByMeasure is not enabled, using the completion status recorded by the SCO-unknown 

Ich Speicherung auch cmi.progress_measure, die die Fortschrittsanzeige korrekt aktualisiert und korrekt in dem Registrierungszustand erscheinen. Wenn Sie den Kurs erneut starten, sind diese Daten ebenfalls leer.

Als Referenz setze ich den Abschlussstatus wie folgt;

Und der Fortschritt messen wie folgt (wo am Anfang ist eine Dezimalzahl 0-1);

pipwerks.SCORM.data.set("cmi.progress_measure", s.progress); 
pipwerks.SCORM.save(); 

Diese scheinen richtig zu funktionieren im Debug-Protokoll und Registrierungszustand suchen, aber ich bin nicht in der Lage, diese Werte wieder zu bekommen, wenn ich den Kurs neu starten.

Kann jemand vorschlagen, was hier geschehen könnte?

Vielen Dank,

Baps.

Antwort

3

Das Problem, auf das Sie stoßen, ist wahrscheinlich, dass der "Modus" (Ausgangsmodus) auf normal eingestellt ist. Gemäß der SCORM-Spezifikation werden alle Runtime-Daten zurückgesetzt, wenn Sie einen Kurs mit "normalem" Modus beenden und dann den Kurs neu starten. Wenn Sie in Ihren SCORM-Wrapper gehen und den Exit-Modus in "Suspend" ändern, werden die Laufzeitdaten zwischen den Starts beibehalten.

Sie eine Diskussion dieser genauen Frage auf die pipwerks Website finden Sie hier:

https://pipwerks.com/2008/05/10/cmicoreexit-cmiexit/

und ein Beispiel dafür, wie, um den Exit-Status in dem pipwerks Wrapper (SCORM 2004):

//the status gets set by your course code 
var courseStatus = "incomplete"; 
function quit(){ 
    if(courseStatus === "completed"){ 
     scorm.set("cmi.exit", "logout"); 
    } else { 
     scorm.set("cmi.exit", "suspend"); 
    } 

    scorm.quit(); 
} 

Wenn Sie weitere Fragen haben, wenden Sie sich bitte an [email protected] Das bringt Sie in Kontakt mit jemandem bei Rustici Software. Wir sind auch die Leute, die den SCORM Cloud Service anbieten.

+0

Die Einstellung des Exit-Modus scheint tatsächlich die Daten über Sitzungen hinweg zu erhalten. In der Tat deckt die terminate Methode in der pipwerks Wrapper diese sowohl für 1.2 als auch für 2004 ab. Danke Thomas! – Baps