Forum Discussion
Scorm slide progress percentage to LMS
Hi Suvin,
You would need to pass the data to the SCORM 2004 data model element called cmi.progress_measure. You need to be aware that this accepts a value between 0 and 1. 0 being 0% completed and 1 being 100% completed and 0.5 being 50% completed (assuming a completion threshold hasn't been set.)
What you first need to do in Storyline, is assign the Project.Progress variable to a user defined variable, for example "ProgressMeasure". Make this a number type variable. You should then set a trigger on your Master Template as follows:
You then need to send this value to the LMS. I think the safest way to do this, is on timeline start again. This will be using JavaScript and Storylines build in LMS Set function as follows:
// Get the player object
var player = GetPlayer();
// Get the variable from Storyline
var ProgressMeasure = player.GetVar('ProgressMeasure');
// Change to value between 0 and 1
ProgressMeasure = (ProgressMeasure / 100);
// Send to the LMS
SCORM2004_SetProgressMeasure(ProgressMeasure)
Publish to SCORM 2004 and that should work.
Some friendly feedback for you. For future posts on the forum, I highly recommend first having a go at some kind of solution your self, or at least sharing any research you have done, as it can sometimes come across that posters haven't attempted a solution and look for a solution handed to them on a platter.
You'll learn the software a lot quicker through trying things and researching on the forums. I understand that this is a more complex one, but even finding the Storyline progress variables would have demonstrated some effort to find the solution.
Hi Sam,
Thank you for these instructions! They were relatively easy to follow. I did not get the results expected, but I think that might actually be the LMS. Before I reach to them, I wanted to confirm I indeed followed your instructions correctly.
I was working from an existing course so I set the user defined ProgressMeasure variable on the first slide. Should this still work?
What I then did is on the last slide of each scene I added in the JavaScript with the intent to update the measure at the end of each scene. Is that the correct way to use the script?
- SamHill1 year agoSuper Hero
Hi JesseP if you add the functionality to the MASTER SLIDE it will then trigger on every slide in your module. I'm happy to take a look at a published version of you like. Also, SCORM Cloud is a free service that allows you to test SCORM content and view the logs generated. You can then confirm the content works, with evidence before approaching your LMS vendor with the issue.
- JesseP1 year agoCommunity Member
SamHill, I went ahead and loaded it into SCORM Cloud and did a short test in the Course Sandbox. I can see a line item in the debug log that shows the following:
SetValue('cmi.progress_measure', '0.31') returned 'true' in 0 seconds CheckForSetValueError (cmi.progress_measure, 0.31, cmi.progress_measure, , ) Element is: progress_measure RunTimeApi_ValidReal Call is error free. StoreValue (cmi.progress_measure, 0.31, cmi.progress_measure, , ) Element is: progress_measureSeparately, I sent myself an invitation and launched the course from the provided URL. I went through a couple additional slides and when looking at the registration detail, under the Runtime Data section I see a line "cmi.progress_measure: 0.46". In both cases this would be an accurate percentage. Is this working as you would expect, and assuming our LMS can process cmi.progress_measure, these would/should show as 31% and 46% in any output reports?
- SamHill1 year agoSuper Hero
Correct. This is the expected value (0-1). The best resource for checking this kind of stuff is the SCORM Run-Time reference guide.
It will be up to your LMS how this value is displayed on the user interface of the LMS, but the value being sent and stored is in the correct format.
Related Content
- 7 months ago
- 8 months ago
- 10 months ago