Forum Discussion
SetStatus not working for SCORM 1.2 completion - Storyline 360 HTML5 Output
Hello everyone,
I'm in the process of upgrading some courses to Storyline 360 to utilize the HTML5 improvements. Due to the complexity of certain courses, we've found that the best method of setting course completion on LMS has been using JavaScript via SetStatus("completed");
However, it seems that SetStatus("completed"); is not working for my SCORM 1.2 courses on SCORM Cloud when using HTML5 output. The completion status remains incomplete after the JavaScript trigger has been executed.
I tried it again using the Flash output and it worked correctly. Once the trigger was executed, the course was properly marked as completed.
In my past experience, SetStatus worked well for both Flash and HTML5 with Storyline 2, so this seems to be specific to Storyline 360.
Does anyone have more information on this issue, and perhaps a workaround to get it working correctly for HTML5?
Thanks,
Matt
- MattLeo-3da086aCommunity Member
Hi Samantha,
Thanks so much for sharing your solution!
I tried it out, and it wasn't working for me initially in Storyline 360. However, it got me to dig a little deeper and it seems to be working well using the lmsAPI methods instead of the Storyline player.
Here's the version that worked for me with an optional line for tracking score:
//Get LMS API
function findLMSAPI(win) {
if (win.hasOwnProperty("GetStudentID")) return win;
else if (win.parent == win) return null;
else return findLMSAPI(win.parent);
}
var lmsAPI = findLMSAPI(this);
//Set Completed status
lmsAPI.SetReachedEnd();
//Set Passed status
lmsAPI.SetPassed();
//Set percentile score based on score variable between 0 - 100
lmsAPI.SetScore(score, 100, 0);Credit for grabbing the right window with the lmsAPI goes to Adam Trosper's posts on this thread.
So far this seems to be working for me in Storyline 360 in both Flash and HTML5 outputs.
Thanks,
Matt - GilbertGazziaCommunity Member
Leslie,
Thank you very much for your quick reply. Please give me an update when it's available.
- BartSchutteCommunity Member
This is also an issue for us as, like everyone else, we are migrating our courses to HTML5. We are using SL3 not 360. Again, the issue is not with the java script per se, but with the javascript under HTML5. To test this, you need to generate the module in HTML mode only, no flash fall back, and then test it in a browser with flash disabled.
I've attached a test module that uses various attempts at setting the module to complete :
- lmsAPI.SCORM_SetCompleted();
- SetStatus("completed");
- lmsAPI.SCORM_SetPassed();
- lmsAPI.SetReachedEnd();
And I have also used both methods for connecting the LMS :
- var lmsAPI = parent
- var lmsApi=[object Window]
None of these options work under HTML5.
Articulate, this is a real issue as almost all of our modules use this way of determining completion since counting slides is too simplistic, and not all modules have quizzes.
This has been talked about in the forum for several years now. It's pretty inexcusable that there is not a solution.
Hi Matt,
Thanks for reaching out here! It's been logged as a possible software bug.
From here, I’ll meet with my team to take a closer look so we can determine next steps.
Depending on priority and risk, some bugs can be fixed quickly, while others take longer to resolve. Here's more information on how we identify and tackle bugs: https://articulate.com/support/article/How-We-Tackle-Bugs
I’ll let you know as soon as we have an update on this issue. Thanks so much again for letting us know about this, and I’m sorry if it’s slowing you down.- GilbertGazziaCommunity Member
Hi Ashley,
It took me a while to find this post, I was trying to figure out why SetStatus was not working for me.
Is there an update on this issue?
Thanks
Hello Gilbert and welcome to E-Learning Heroes :)
Sorry to hear that you ran into this issue as well, but glad you found this thread.
I do not have an update to share at this time, but it certainly is on our internal radar as Ashley shared above.
This thread is flagged for update as well.
- MattLeo-3da086aCommunity Member
Hi Ashley and Leslie,
Has any progress been made on this? I emailed back and forth with one of your engineers in April and have not heard anything since.
This was a very useful feature in the older versions of Storyline, and it's quite a pain to work around this for every one of our Storyline 360 courses.
Please fix ASAP.
Hi Matt - Thanks for popping in to follow up. I see you reached out in your case as well.
As Miker mentioned, this is on our radar and I know it has been the discussion internally as well. That being said, I have nothing to share at this time, but hopefully soon.
- RussellKillips-Community Member
Hello Matt,
See if this works for you. I tested this in the Scorm Cloud. I tried both Html5 only output and Flash only output.
- SnorrskiCommunity Member
I tried, but get the following error when trying your function in a LMS:
app.min.js:12
actionator::exeJavaScript - lmsAPI.SCORM_SetCompleted is not a function
- RussellKillips-Community Member
Sorry, I don't know why it isn't working for you. I just tested it in the SCORM Cloud and it works fine for me.
I have attached a short video that shows it working.
- AkashJangra-ac4Community Member
Hello Russell,
Its working for me thanks :)
- EmileeBlairCommunity Member
Hello,
Has there been an update on this? I tried what Russell posted above (as well as the SetStatus("completed") which I've always used in the past) and it didn't mark as complete on Articulate Online.
Thanks!
Hi there, Emilee. Were you using the JavaScript method for setting completion successfully in an LMS environment, or in Articulate Online, in the past?
I don't have any news yet about this functionality in Articulate 360, but I wanted to get some clarification from you on how you were using it previously. Thanks!