Forum Discussion
Storyline-based activity being marked "Unsuccessful" by Saba LMS
I'm encountering a problem with a Storyline-based activity hosted on our in-house Saba LMS. Here's the scoop:
- It's a basic page turner with quizzes scattered throughout. The navigation is strictly prev/next sequential and there's no sidebar.
- To receive credit for completing the course, users must successfully complete each of the quizzes. I have branching set up to require users to pass each quiz before proceeding.
- On each quiz's results slide, I have a trigger that either (1) submits the results and jumps to the next slide automatically on success or (2) resets the results and asks the user to review the preceding section on fail. I do not allow the users to review or retry the quiz (except on fail as previously mentioned).
- I have a final results slide at the very end of the scene that calculates based all 5 of the previous results slides. This results slide is configured so the user must pass each quiz. There's no failure layer, because in theory, you can't get there until you've passed the other quizzes.
- In the publishing options, I have set the activity to SCORM 1.2 used "Complete/Incomplete" status, and based the scoring on that final results slide.
- In the LMS, I've designated the activity as required, set a mastery score of 100, and provided unlimited attempts on the activity.
What we've noticed is that, unlike our other AP/QM-based courses, users who close the activity after completing only part of the overall activity are prematurely being scored as "Unsuccessful" by the LMS with a score that reflects the portion of the quizzes they completed (i.e., 8.33), instead of being held at "Not Evaluated" until they finish the course. We don't want to penalize someone who just didn't complete the activity. Really, we don't want the course to move to their completed transcript, until they've successfully completed the course.
Does anyone understand why this behavior would occur? It would seem to me that until the final results slide submits the results to the LMS, there's nothing for the LMS to score. Does the Submit Interaction event in the individual quiz actually communicate results to the LMS? I understood it was just an internal course thing, and that the final quiz communicated its results to the LMS, but maybe I'm wrong. Is there a better way to accomplish this? Thanks!
19 Replies
- EmilyBurnettCommunity Member
Hello Sascia!
Are you using SCORM 1.2? You may be able to get some assistance here.
Also, Greg may no longer be subscribed to this thread, so you may want to send a PM to see if there are any updates to this.
- JudyNolletSuper Hero
FYI: I publish Storyline courses for a client who uses Saba. Sorry, but I don't know what version. I can tell you this: to make a course work in Saba, I have to do 2 steps:
- Delete the "mastery" line from the imsmanifest.xml file, which is in the main folder of a published course. To do this, open the file with Notepad, and seach for the word "mastery." You'll find a line that looks something like this: "(adlcp:masteryscore)100(/adlcp:masteryscore)," except instead of parentheses, you'll see programming brackets (<>). Delete that entire line.
- In the lms folder, replace the SCORMFunctions.js file with a copy that has been altered for Saba. As far as I can tell, the only change made to the java script is around "WriteToDebug("Setting Exit"), as described below.
The default SCORMFunctions.js includes this script:
WriteToDebug("Setting Exit");
blnResult = SCORM_CallLMSSetValue("cmi.core.exit", SCORM_TranslateExitTypeToSCORM(strExitType)) && blnResult;
The revised SCORMFunctions.js adds "//" before "blnResult=" and adds some script at the end, so it ends up like this:
WriteToDebug("Setting Exit");
//blnResult = SCORM_CallLMSSetValue("cmi.core.exit", SCORM_TranslateExitTypeToSCORM(strExitType)) && blnResult;
blnResult = SCORM_CallLMSSetValue("cmi.core.exit", "") && blnResult;
Please don't ask me to explain that, because I'm not a java scripter. All I know is that it works for courses published for SCORM 1.2.
Good luck!
- GregJohnsonCommunity Member
Hi Judy,
Where would you recommend obtaining a copy of SCORMFunctions.js which is altered for Saba? Or do you edit the file yourself?
Thank you
- NoelCommunity Member
Anyone know what the current SL360 equivalent to these mods are? I found the JS lines (2 of them) but that minor edit made no difference in our current build.
- JudyNolletSuper Hero
I haven't had to publish for Saba in years (probably not since Storyline 2...). I have no idea what might need to be changed nowadays.
- EmilyBurnettCommunity Member
Thanks for the information Judy!
Hi Greg! This thread is a bit dated and I'm not sure if Judy is subscribed. Feel free to contact her via the 'Contact Me' option on her profile if needed.
- JudyNolletSuper Hero
As Leslie guessed, I don't subscribe to this thread. Someone emailed me about this today, so I'll respond here, too.
You can make your own Saba-compliant version of the SCORMFunctions.js by saving the default file, and then editing it as described above.
Because I publish for multiple LMSs, I have the revised file stored as SCORMFunctionsSABA.js. After I publish a course for Saba, I rename the default file SCORMFunctionsORIG.js, and then rename my edited file to SCORMFunctions.js. As long as the revised file has that name and is in the course's lms folder, the published course will use it.
- SethMerriamCommunity Member
Hi Everyone, I was the "someone" who contacted Judy and I wanted to follow up with a few new things I learned. First, though, Thanks Judy! This has helped a lot.
Now, New things:
- I found another post (https://articulate.com/support/article/scorm-12-course-is-never-completed-in-saba-lms-sl2) and though it says its for storyline two, it's part of what Judy suggests doing. The reason I point this out, though, is that the second bullet item suggests how you can make this change ONCE for all your courses. For some this might not be advantageous, but if you're like me and publish to the same LMS 95% or the time, it much better than having to mod these files after each publish. It also helps with some colleagues who are less inclined to edit code ;)
- this post https://community.articulate.com/discussions/articulate-storyline/lms-reporting-476433ad-8825-4bd3-8c76-bf4c589d273e#reply-65075 has a section from Brian Allen that was very helpful to me. It was for a different LMS than what I use currently, but it helps makes some extra sense of when/why you might choose one reporting option over another. Heres the bit I mean, though the whole post might be worth a skim:
- Completed/Incomplete: We use this for any unscored content where we are tracking completion based on slide views. If the minimum number of slides are viewed, then the user is marked as completed. If not they are left in progress.
- Passed/Incomplete: We use this for scored content where we want the user to be left in progress if they do not achieve the minimum passing score. If the user achieves the minimum passing score they are marked as completed/passed with score, if not they remain in progress and no score is passed to SumTotal, allowing them to try again.
- Passed/Failed: We use this on a limited basis, primarily for things like compliance or certification activities where we want to record a failed status. If the user achieves the minimum passing score they are marked as completed/passed with score, if not they are marked as completed/failed with score. This is especially useful if you want to limit number of attempts through a learning activity for the purpose of assigning remedial training, etc., in the event of someone failing.
Related Content
- 9 months ago