How to access An articulate course only 1 time

Sep 03, 2019

Hello, 

I have prepared an e-learning course with Articulate Storyline.

My Company wants that the Learner access and complete the course ONLY 1 TIME.

No possibility to open and view It a second time.

The LMS SETTINGS don't allow this feature.

Is there Any setting inside storyline to publish the e-learning course with this specific requirement ?

Thank you, A beginner

8 Replies
Jerry Beaucaire

One idea that comes to mind, you might be able to accomplish this with Javascript.

Here on the forum you'll find JS code to grab the username/ID of the student from your LMS at the beginning of the course.  Perhaps JS could be used to record that ID in an external reference.  

Perhaps you can hunt down a JS coder that can help with this:

  1. Grab the ID from LMS
  2. Check the external source/db if the ID is there already and if so, send a trigger to the course to exit.
  3. If the ID is not there, allow the user to continue.
  4. When the user completes the course, or very near the end, JS could be used to add that ID to the external reference table so now they would not be able to repeat it.

My meager JS skills could not do this, but I'm sure there are freelancers that could help get it done quickly ($).

Scott Wiley

Without resorting to JavaScript, you might accomplish this with a single custom variable. Once set, the custom variable should be saved to the suspend_data field of SCORM and readable when the course is opened again.

Here's what comes to my mind.

  1. Create a custom T/F variable, let's say "completed_once" initially set to "false"
  2. On the last slide, whatever represents "completing" the course, set "completed_once" to "true"
  3. On the first slide, create a layer above the base layer and let's name it "completed"
  4. On the "completed" layer, add some text saying something about the course being completed already.
    1. Also, create a trigger to hide the Next button on the base layer when the timeline starts.
  5. On the base layer, create a trigger to show "completed" layer when the timeline starts if "completed_once" is "true"

 

Hope that helps.

Jerry Beaucaire

Scott,

This was of immediate interest to me, I was wondering how the course would know to keep the T/F variable set to TRUE when you started the course a second time.  Restarting a completed course resets all the variables, in my experience, so I was hoping this would work..

I uploaded this to our LMS and it does not retain the TRUE status of the flag once restarted.  Is there an additional step somewhere for this?

Attached.   This was published as SCORM 2004 4th Edition (all our courses are published on this setting).

Scott Wiley

Hi Jerry,

You are correct - I didn't know that those types of variables are reset once completed. I wasn't able to open your file since I'm still using SL2, but created my own prototype.

I did end up using a simplified JavaScript to use the built in status values from SCORM and Rustici to retrieve the current status, show a layer of text, and disable the Next button.

Here's the pertinent code that must run before the trigger to show the layer if status returned is "completed." I've also attached the file.

var player = GetPlayer();

// get LMS API
var lmsAPI = parent;

// get current completion status
var getStatus = lmsAPI.SCORM2004_GetCompletionStatus();

// variable in Storyline set to variables in JS above
player.SetVar("completed_status", getStatus);
Scott Wiley

Hmm, that's odd. I wonder if it's because I published to SCORM 2004 4th Edition, instead of 3rd?

I uploaded to our SumTotal/GeoMaestro LMS and it worked.

Did you go to the 2nd slide to complete the course, close it, and try to return? I only put that variable on the main stage to see what is going on and the "Null while offline" was what I put in by me as default text when creating the variable, but I would have thought on first run it would return something like "incomplete."

Scott Wiley

I just tried from a fresh login to our LMS and I'm experiencing the opposite effect, kind of.

I'm getting a "completed" status on first try, so the Next button is being disabled immediately on first attempt. Not sure how/why that is, but I'm assuming something similar in JavaScript should work.

Sorry it wasn't as simple as I first assumed.

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