Storyline not passing completion status to Moodle 2.7

I have my tracking settings in Storyline set to track number of slides and have it set to 50/91, and I'm passing Complete/Incomplete. My settings in Moodle 2.7 are Grades - Learning Objects and Activity is marked complete: Status Required Complete.

I've tested and tested and I still can't get the completion check mark to display on the Classroom page.


22 Replies
Wendy Farmer

Hi Kelly

have you tried adding another trigger to the exit button in Storyline - a JS trigger that will force a 'complete' status?


I'm not a JS whiz by any chance but this worked for us when we couldn't get LMS status to complete regardless of the publishing setup we had in SL.

Also have you tried uploading to Scormcloud to see if it works there - then it would be an LMS setting somewhere that you could troubleshoot.

Kelly Rynearson

Thanks Phil!

I regularly have issues with IE, so thanks for validating that. This occurred in Google. For some reason, it seems as if going in to the LMS, deleting the SCORM package that was loaded pre-upgrade and reloading seems to be working. I'm not willing to do that for 200+ courses though, so I'm hoping to find another solution.


Deepak G

Hello All,

I am facing the same problem. 

I am using Articulate Storyline 2 and Moodle.

Attached are the settings for the scorm package as well as the Moodle completion status, but still the LMS is not showing it complete.

I tried the JS option as well. Still not working.

Please help.

Jennifer Dixey

Hi Deepak -- I'm here because we are sporadically having the same problem (SCORM completion not being passed to Moodle 2.7 reliably), so I can't say I've actually resolved this myself! But I did note a couple of things that you might want to tinker with.

This is based on discussions/documentation I've found here and elsewhere so if you would like some links I can dig them up for you. For the most part, we have had success with SCORMs after tweaking some of our settings in Storyline. (With exceptions ... it just sometimes doesn't work for some users. No pattern that we've discerned yet.)

You didn't mention whether users reporting the problem with completions not tracking were using mobile devices, but one thing I noticed in your screen captures is that you have your player set to use Articulate Mobile Player for iOS and Android devices. I've read that you should turn that off if you're relying on completion tracking, because the Mobile Player doesn't pass completion info to the LMS.

Another tip I've read is to set the completion result in your SCORM player to Passed/Incomplete rather than Completed/Incomplete. Then in Moodle, check both the Passed and Completed boxes for Activity Completion.

You didn't screen capture your Compatibility settings, but I've also seen it stated that "Force completed" set to Yes will help with Storyline SCORMs. And of course your Grade should be set to the "Learning objects" grading method and the passing grade set to "1" in the grade settings for the item in the course (although we have had it work without doing that explicitly, I'm not sure why, but maybe that's part of why it doesn't always work for us ... will have to try that!)

One more thought. Are you playing the SCORM in a popup window or within the Moodle frame? If it's playing in a popup window, apparently when the window is closed is when the SCORM is supposed to pass the completion status and grade to Moodle. So one thing that could happen is the user for whatever reason doesn't close the SCORM window but leaves it open and just returns to the course by switching tabs/windows. (Unfortunately I can't remember where I saw that bit of info. Maybe someone else can chime in with a pointer to documentation here or elsewhere that might be informative about that piece.) That's why I like the Javascript trick mentioned above and am dashing off to try that right now.

Jennifer Dixey

Hi Deepak,

Agreed! I've been working on a set of recommended SCORM player + Moodle settings, in the form of a PDF that I will make available to our instructional designers to ensure a base level of compliance with our expected functionality. We are going to test the JavaScript method as an extra bit of insurance that our users will have success in completing SCORMs.

I'm glad the tips provided worked for you! There are some good threads on this subject that were very helpful to me, and I am really grateful to the Heroes for contributing their wisdom so we can all learn from each other. :)

Kelly Rynearson

Hi all! The JS method does work nicely, but to avoid having to do in and do that change, if you can, simply select the "Passed" option in Activity Completion. I know that doesn't work for every person's situation though.

A few other tidbits that I picked up from my hosting company with respect to these settings:
1. Do NOT select the option of "Student must view this activity to complete it." Apparently, this means virtually nothing from SCORM 1.2 to just interferes with the other completion tracking.

2. Under "Appearance," if you are displaying in either the Current Window OR New, where it asks "Student skip content structure page," make sure it says Never. (don't ask me why, it just works)

And finally, I tried the Force Complete option and it did absolutely nothing for me, so hopefully you're able to make it work for you.

Hope any of this was helpful!

Jason Levy

I believe I am running into similar issues. The students in our class must complete 3 modules in order to take their test (Main Page). I can not get the activity completion to work. Right now completion of the first module does nothing. We need them to have to actually finish each module, so the option to have the module show as completed only by having the student view it is no good. There are no graded quizzes in the modules, so I can't set it up to show as completed upon the student receiving a grade. 

I have read this thread, as well as a couple others, but can not get the proceeding modules to become active upon the completion of the first. We are using Moodle 2.7.8+ , and I've included screen caps of various settings. What am I missing? Thanks in advance!

Jennifer Dixey

Hi Jason,

I took a look at the settings and have a few suggestions that might help.

When setting grading method to Learning Objects, always use a maximum score of 1

With Learning Objects grading method, the maximum grade should always be 1.

Check the "Disable" box next to the minimum score requirement if using Learning Objects grading method

Passing doesn't require a minimum score at all, because you're using the Learning Objects method - it's binary (true or false), so it's either 1 if they've completed it, or 0 if they haven't.

Remember, tracking by Number of Slides is the slide count, not a specific slide number in the story

The Number of Slides tracking option can only track *how many* slides have been viewed, not *which* slides have been viewed. So for instance in the above example, if the student views 54 of the slides out of the 97 possible slides (any 54 of them), they would be considered as having "completed" the story. This gets tricky, especially if you're using lightboxed slides, or branching navigation where students could go different ways in the same story.

We've gotten around this problem by creating a specific "completion slide". This could be a one-question "quiz", with the quiz having a passing grade of 1, or (my preferred method) just add a javascript trigger on that completion slide that literally forces the completion status to "completed" in the LMS. You would then make access to the completion slide conditional upon completing whatever else the student needs to have done in the story in order to be considered "complete".

If you want to try the javascript trigger method, here is a script you can use:

/* get LMS API */
var lmsAPI = parent;
/* set status */

Note that the quotes around “completed” must be straight quotes/”inch marks”, rather than the slanted/”curly quotes” used in printing. (Javascript doesn't understand curly quotes.) Also, the lines inside the /* */ characters are just javascript comments, so you can leave them out.

We've found that placing this script both at the start of the animation of the completion slide, and also about 10 seconds into the completion slide, works the best. If it's at the end of the slide, the student can close the window before it reaches the script. If it's at the start of the slide, that will usually work if all goes well the first time the student runs through the SCORM, but if there is a problem with settings and something has to be changed, and you have enabled "resume from where you left off" for the SCORM, if a student returns to the SCORM after reaching that final slide but not having completion set to 1, and resumes where they left off on that final slide, it will technically be *after* the start of the animation, so the trigger won't be played, and the completion will never be communicated to the LMS. (Learned that one the hard way!) (Edited to add: We always have SCORMs open in a new window to avoid the rendering problems we've experienced with Moodle+SCORM+Chrome.)

Because you have to set the completion tracking in Storyline to something anyway, we just use the total slide count of the story. It won't matter, either way. This assumes that you set the grading to "highest grade", in which case, once the student gets a 1 for completed, their grade will not revert to 0. I would recommend doing this also.

Some of this has been learned via trial and error, but I owe a big debt of gratitude to E-Learning Hero, Stefano Posti. Here's his comment on the subject:

Jason Levy

Thank you very much for the explanation! I think the hangup I am having lies with the reporting. I made the first two changes. I did not add the java script as the first half of the module is the class, while the second half is review of the material. The storyline is linear, so the student has to view the slides in the order they are presented. We have quizzes in the module, but they have a grade value of '0' for a correct/incorrect answer as they don't require to be graded. The student's grade comes from the final exam which is in a separate module. 

Should I change one of the quizzes to give a score of 100 for a correct/incorrect and see if that helps, or would that just further confuse the issue?

jay rymeski

I'm coming over to Storyline from another dev environment where I used java for a number of functions. I have the same error reporting "complete" on the Moodle LMS. I wonder if I attached the trigger to execute the script:

/* get LMS API */
var lmsAPI = parent;
/* set status */

on the submit button it would resolve the complete/passed bug?

Jennifer Dixey

Our experience has been that any trigger that will execute that script
will pass the "completed" state to Moodle successfully. We usually put
it in the final frame of the SCORM, but you can attach it to anything,
and I would think a submit button would work. I would put the script
before any navigational triggers, just to make sure that it executes.
Hope this helps!