Help passing Completion status

Hi everyone. I am hoping someone can help me out. Here is the situation, I have a course that does not contain a quiz but it does contain a lot of branching - some branches are required and some are optional.

I want to be able to report to the LMS that the user has completed all the required material but I don't want to use the  "Track using the number of slides viewed option" because you cannot specify which slides.

I was wondering if you can use a results slide to trigger that the course is complete even if you are not using quiz questions. If this is, in fact possible, how would I set it up because I would not necessarily want it to display to the users.

The LMS is Plateau 6.3  Normal 0 false false false oNotPromoteQF /> EN-CA X-NONE X-NONE MicrosoftInternetExplorer4

Any ideas.

20 Replies
Steve Flowers

Howdy! Recently helped someone out in this arena. This is pretty easy to pull off by leveraging the code built-in to the Flash interface with story.html. I haven't investigated how this would translate to HTML5.

See these examples:

https://dl.dropbox.com/u/19820702/testMyLMSScore.story

This one is a published SCO:

https://dl.dropbox.com/u/19820702/testMyLMSScore.zip

This pushes a score and completion. You could run this trigger based on any number of conditions. Here's the JavaScript:

//let's grab the variable first -- here I'm just grabbing it from an entry field

var player=GetPlayer();

var totalScore=player.GetVar("scoreCustom");

//We're going to leverage the published output method to update status from Flash

//The delimiters need to be setup just like this to jam in the array

onBWEvent("BW_UpdateStatus","complete|~|"+totalScore+"|~|0|~|100|~|80|~|quiz");

//first argument is status: complete

//second argument is score

//third and fourth are min / max

//fifth is passing score

//sixth is type

Nancy Woinoski

Gerry - thanks so much this will do the trick. I remember I read something about this but could not for the life of me remember where.

Steve - This is a great suggestion as well. I might just use the fake screen for this one as I am in a time crunch and my client's LMS has some issues with JS.

Jase Lopuszanski

Hi Steve,

I've experienced some issues with my completions not passing through to my LMS as I needed to remove the set status trigger from my results slide as it was causing issues with tracking the number of attempts.

I've have slightly modified your above script to set only the completion. It works OK in my testing, and I have not been able to break it, but I was wondering if you could cast an eye over it to ensure that everything is as it should be?

As I only needed to force the complete status, I have added the following JS only.

onBWEvent("BW_UpdateStatus","complete|~|");

Steve Flowers

Hi Ray -

By design, SCORM is only able to capture one score and one completion per packaged module / SCO. This is a limitation of the specification -- the way LMS work and interoperate with content.

You might be able to insert scores as interaction variables but that would require bending of reporting features and use of Javascript. To capture 3 scores, you may want to publish three separate SCO's.

Stoo Potts

Hi Steve!

Thanks for the great information! Your code worked like a charm in SCORM! Do you happen to know what the onBWEvent JavaScript code would look like for AICC?

I ran your code in the SCORM Cloud after publishing my file in AICC and making the necessary adjustments to the Configuration.js file in the published LMS folder. The score was written correctly but the completion status did not seem to get overwritten.

Pawel Nogal

I would like to share with you a little enhancement to the above js code posted by Steve.

Maybe it was just for my LMS (CSoD) but triggering the js was setting custom score and was setting course status as "Completed" even if the achieved result was below the passing level. As I wanted to have "Failed/Completed" status + custom score i used if-else statement:

To do so just change the following line: 

onBWEvent("BW_UpdateStatus","complete|~|"+totalScore+"|~|0|~|100|~|80|~|quiz");

into:

if (totalScore < 80) {

onBWEvent("BW_UpdateStatus","failed|~|"+totalScore+"|~|0|~|100|~|80|~|quiz");
} else {
onBWEvent("BW_UpdateStatus","complete|~|"+totalScore+"|~|0|~|100|~|80|~|quiz");

}

 

Leslie McKerchie

Hi Andy!

I'm not sure if Jim is still subscribed here, but hopefully he'll be able to pop back in and assist you here. You are certainly welcome to reach out to the user directly via the 'Contact Me' option on the user profile if you do not hear back soon.

It sounds like he may have been utilizing Steve's suggestion here.