Marking course complete when 2 out 6 Quizzes are passed

Oct 07, 2016

Not sure if this is even possible - hoping for some insight on this:

I have a course that will branch into 6 sections. Learner will choose their department and the course will take them through their role specific content. Each of the sections will contain a Quiz at the end.

So far so good. 

Learner is only required to take 2 Quizzes (the generic one and the role specific one). 

I've created 6 Results slides (one for each section) and 7th one that includes all of them for a Final results (because you can only report on one result slide).

It reports the scoring correctly to the LMS, however, the status remains 'Incomplete' because, I assume the other quizzes are incomplete.

So, my question is, is there a way to set a quiz as  complete if they don't take it (force complete?)

Any insight to this would be appreciated. 

 

6 Replies
Eric Favata

My issue, as I'm realising, in Storyline if you use multiple results slides, each one needs to be completed, and in my project only 2 of 6 need to be completed. 

I've tried using Javascript to force set the complete status to "completed" but it still marks it as incomplete. 

I'm unable to find a solution to "force complete" a quiz, or force set the results of a quiz.

 

Dave Cox

Hi Eric, 

You can use javascript to force the score that you want, and you can also use javascript to force a completion. The key is to be careful that your javascript is sent last. If storyline sends anything after your javascript, then it can undo your efforts. One thing that I've noticed is you can't use the exit course trigger, as this also causes storyline to send its results to the LMS.

Take a look at this thread to see how you can force a score to report (This is for Scorm 1.2)

Here is the script that I add to the results slide:

var p = GetPlayer();

var cs = p.GetVar("CurrentScore");

var ns = 10; // Number of Question Slides

var currentScorePercent = Math.round(cs / ns * 10);

p.SetVar("CurrentScorePercent", currentScorePercent );

console.log("Current Percent " + currentScorePercent);

lmsAPI.SCORM_SetScore(currentScorePercent,100,0);

For this to work, you need to set your points per slide on each slide into the variable CurrentScore. This is because we don't have access to the storyline scores from javascript.

In addition, you can call the api function to set the course to complete. That would be:

lmsAPI.SCORM_SetCompleted();

Eric Favata

Thanks for your insight Dave! 

I still think my issue is having an incomplete quiz - storyline requires all quizzes to be complete. Not all quizzes are required in my course. Learners are taken through a "generic" quiz and then a role-specific quiz. The other quizzes are never seen/completed, they only get the 2 quizzes: Generic and Role-Specific.

In my test file, I have 3 quizzes/result slides and 1 Final result slide that is used to send score to LMS. The Final Result slide includes ALL other results slides, because i wouldn't know which role-specific quiz they choose.

Score sends properly, the status remains as "incomplete" because there is always one quiz the learner will never see/complete.

Any way around that? I need to tell Storyline to ignore, or "set as complete" the other results that are not completed.

Am I reaching for the stars here?

 

Dave Cox

Include the completion statement:

lmsAPI.SCORM_SetCompleted();

This will set the completion status in the LMS for you. 

Be sure that this is the last thing that is sent from storyline, for example the last thing on the results slide, and do not use an exit trigger, but have the students just close their browser when done. 

This discussion is closed. You can start a new discussion or contact Articulate Support.