Forum Discussion
SCORM customization to remove slide?
Sam's comment aligns with my understanding of editing the source content itself. What you describe would be amazing but isn't currently something I've seen pulled off.
If the conditional changes you describe are predictable and simple enough, the next best thing would be some sort of .ini-like file. The implementation might not be a breeze for everyone, but the solution (as I've implemented with prior projects) would be to have the eLearning read a text file when it's launched, a text file that contains different settings and text.
One of my specific implementations was to adjust the number of scenarios available to learners in an eLearning hosted on a web server. Users would navigate to the course through an intranet URL, and when the course loaded, it would check a .js file that included a simple JSON object. One of the key-value pairs described the number of scenarios to allow the learner to choose from. The first ten scenarios were designed for learners taking customer-facing calls and the second ten scenarios were for learners taking client-facing calls. Some new hires needed to train on all 20 but some only needed to train on the first 10.
It didn't make sense to have two separate versions of the same course with one containing ten scenarios and one containing 20, but leadership didn't want to leave scenario selection up to the learners, and the course had no way of validating which ones a particular learner should've been taking, so we let one number variable in the .js file do it for us. Oh, a class is starting in a few weeks and they only need the first ten scenarios? Open up the course's .js file, change the 20 to a 10, and then save. The next time it ran, the course would check that file, and then use it to limit the learner on the scenario-selection screen.. The right-arrow would literally stop at 10, preventing the learner from accessing the subsequent scenarios. When it came time to open up the rest, edit the file back to a 20, and now the arrow can load the 11th scenario, and then the 12th...
If your alterations to the course are predictable enough, such as certain clients not needing certain slides, I can imagine a way to put that in a JS object, have it read at runtime, and then the course adapt to skip those slides. And if certain specific onscreen text is actually a variable that's loaded at runtime, that can be affected as well through that JSON.
This would require appreciable planning ahead, but it is doable so long as you're not wanting to change unpredictable things at the whim of every new client.
- lorraineS28 days agoCommunity Member
Hey Andrew,
Are you willing to share your json that did this? Just so I can get a gift of how something like this is done?
- AndrewBlemings-28 days agoCommunity Member
I don't have access to the original anymore so I started to mock-up a quick demo, but then I realized there's a way that's even easier than creating and importing a separate JavaScript/text file: the published project's user.js file.
After a project is published, navigate into its /story_content/ folder and you'll see user.js. That contains any custom JavaScript triggers your project has, and it's trivial for us to open that in regular ol' Notepad.
This means a custom trigger could fire at the first slide of your course that contains something like
// Change this to true to skip slides 2 and 12.
setVar('skipSlides', false);
The slides you want to potentially skip could each have a "Go to Next Slide when slide starts if skipSlides = True" trigger, and this trigger could be the determining factor. Once the course is published, that skipping could be initiated by just opening user.js and changing the setVar value from false to true.
I've tested something similar in SCORM Cloud just now using a course that sets the value of a number variable with such a "When the timeline starts on this slide" JavaScript trigger. The course was published with the code snippet setting the value to 0. After publish, I opened the user.js file, changed the assigned number to 12, and then saved. Then uploading and launching the course from SCORM cloud showed the value was 12. In short, user.js can act as your config file.
Let me know if I'm unclear in this at all. :)
Related Content
- 9 months ago
- 2 months ago
- 9 months ago