SCORM - Send Completed Status to Moodle LMS

I'm trying to avoid using Slide Count to track whether a lesson has been completed, because the slide count can be inaccurate due to branching, or some other reason where a slide isn't visited.

Is it possible to send a Completed status from a slide? With the following Javascript (for example)?

lmsAPI.SetCompleted();
lmsAPI.CommitData();

Or does the Storyline overwrite what has been sent?

Is there a way to override what Storyline sends in order to send a Completed status to my SCORM LMS (Moodle)?

Thank you,
Bruce

8 Replies
Bruce Soule

Thank you Wendy. Looks as though SetStatus will work (on Moodle).

CONFIDENTIALITY NOTICE: This e-mail message including attachments, if any, is intended for the person or entity to which it is addressed and may contain confidential, privileged, and/or proprietary material. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.

Crystal Horn

Hey there Leslie.  What version of Storyline are you using?

Storyline 360 is not sending completion to an LMS by executing a JavaScript trigger currently.  

If you are using Storyline 2, however, what is the behavior you're seeing in SCORM Cloud?

We're happy to help test your files out if you'd like to attach them here.

Bastiaan Timmer

It depends on which version of Storyline you are using. If you use the latest version, Storyline 360, then you might try the following Javascript code:

SCORM 1.2:

//get LMS API
var lmsAPI = parent;
//set score; the first number is the score
lmsAPI.SetScore(90, 100, 0);
//set status; possible values: "completed","incomplete", "failed", "passed"
//set status; possible values: "completed","passed", "icomplete", "failed"
SCORM_CallLMSSetValue("cmi.core.lesson_status", "complete");

SCORM 2004:

//get LMS API
var lmsAPI = parent;
//set score; the first number is the score
lmsAPI.SetScore(90, 100, 0);
//set status; possible values: "completed","incomplete", "failed", "passed"
SCORM2004_CallSetValue("cmi.completion_status", "completed");
SCORM2004_CallSetValue("cmi.success_status", "passed");


I've tested both script on SCORM Cloud and they are working as expected.