Forum Discussion

MattLeo-3da086a's avatar
MattLeo-3da086a
Community Member
8 years ago

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

  • Hi, I know this an older thread. So I checked the release notes and saw there was a fix for this for Storyline 360 back in February. Will this  fix also be implemented in Storyline 3? I checked the release notes but did not see it listed. Unfortunately my company restricts the use of cloud based software because of proprietary data security issues so using Storyline 360 is not an option. I tried the suggestions listed in this thread but none of them are working.  Any updates or workarounds for Storyline 3 you can provide would be greatly appreciated.

  • Hi everyone,

    I am working on a storyline 360 course and I am trying to create a popup when the internet connection is lost. Currently learners are able to move to the next slides even when the connection is lost and when they close the course window they don't see the completed status. I have tried calling LMSCommit from storyline 360 however that doesn't work. Has anyone worked on this before? 

    Sam

  • JenniferDixey's avatar
    JenniferDixey
    Community Member

    Hi Sameeksha,

    I know this was a while back, but I'm curious if you ever made that popup when the connection is lost work?

    ~ Jennifer

    • KatieRiggio's avatar
      KatieRiggio
      Staff

      Hey, Jennifer. Just in case Sameeksha is no longer subscribed to this discussion, feel free to use the Contact Me option in their profile!

  • MateuszSzuter's avatar
    MateuszSzuter
    Community Member

    Hello there,
    Well yes, it's a bit shame that Scorm 1.2 manual set completion status is still overriden by default Storyline exit behaviour.
    It's a shame, because there's a really simple workaround.

    Javascript piece is standard, you put it under "execute javascript":

    var player = GetPlayer();
    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);
    lmsAPI.SetScore(player.GetVar("points"), 100, 0);
    SCORM_CallLMSSetValue("cmi.core.lesson_status", "completed")

    This one reports both score and status as completed. In score there's variable passed.
    But we all know that bit of code and it sadly doesn't work.

    Workaroung is simple.
    Publish your course with slide tracking option*.
    Go to published course folder, open lms/lms.js
    find line 78, and more particulary this piece of code (btw if you are not familiar with javascript, the // means comment, script will ignore that part, it's for your info use only):


    case "BW_ClosePlayer":
    // This is an important milestone, save the data - my info: that's original comment of devs
    ReportStatus();  my info: that-s line 78 which you are looking for
    LMSCommit();
    lmsAPI.ConcedeControl() my info: yup, there's colon missing by devs themselves.
    break;

    So you probably guessed it already, you just put // before ReportStatus(); function. It will stop storyline from reporting completion status to the LMS. Since we are doing it manually, it's perfectly fine for us.

    * - I can't remember now, but if there is a scenario, that you want to put your manual status on the last slide (like 20 of 20) and you have option to track by slide numbers, it will still override the completion status. You can bypass this in one of two ways:
    1. Just add somehwere blank slide that will not be visited by learner (nice if you have one, big course)
    2. After publishing, go to html5/data/js/data.js, find "viewThreshold":x, and substitue your definied earlier slide number by any greater value. This way storyline will never reach the final slide to report status.

  • chrisyakush's avatar
    chrisyakush
    Community Member

    Hey all,

     

    is it safe to assume based on this thred if im using storyline 3, and publish to scorm 1.2 with HTML 5....it wont record as completed in my LMS?

     

    i am running into that issue where im publishing the course, and then in the LMS and on Cloud its saying i got 90% but marking me incomplete.

  • MateuszSzuter's avatar
    MateuszSzuter
    Community Member

    Have you read my post Chris? I'm finely publishing in SL3 to SCORM 1.2 and keep completed status :)