Forum Discussion
Limit Number of Course Attempts
How can I limit a user from attempting a course no more than 3 times?
I've built a software simulation that includes a mix of multiple choice/true/false questions and I don't want the user taking the course more than 3 times. After their 3rd fail, they'll be instructed to attend another training and will have to be manually reassigned the simulation within our LMS. How can I achieve this?
Edit: I understand how to limit attempts on individual quiz questions, but how do I limit the number of times they can restart the entire course before it has to be manually reassigned to them within our LMS?
6 Replies
- JohnMorgan-c50cFormer Staff
Hi Timothy,
Thanks for asking about this! You can limit the number of quiz attempts using variables. Here's an article that will show you how to do that.
I hope this helps!
- JudyNolletSuper Hero
Hi, Timothy,
To limit the number of attempts, you have to track the number of attempts. Do that with a number variable.
- Give the variable a default value of 1. (That represents the 1st attempt.)
- Wherever they start a new attempt, add a trigger that adds 1 to the variable.
- Be sure this trigger comes before any "jump to..." trigger. (Storyline can't run a trigger if it's already left the slide the trigger is on.)
- For whatever trigger starts a new attempt, add a condition so it will only run if the value of the variable is less than 4.
All that will prevent them from taking more than 3 times. I also suggest that you have a message appear after the third failed attempt that tells them what they need to do.
To ensure they don't just exit the course and restart it from scratch, you also have to adjust the Resume feature in Player > Other. Be sure it's set to "Always resume."
Here's more info about conditions and variables:
- ChristinaClark-Community Member
Hi Judy,
I appreciate your response is a few years old now but I'm hoping you may still be able to help. I have a course that I only want learners to VIEW once. they can navigate freely within the course, but they need to start it and finish it in one session or lose access. I have a true/false variable that tracks when someone has viewed all the content, so I can prevent someone from viewing the content more than once when they have completed it.
But I also need to prevent learners from starting the course, abandoning it midway and then trying to start again or resume where they left off.
Your solution above doesn't work in the scenario. I've set up a number variable as you suggested, that is set to 1 by default and a value of 1 is added to it when the timeline starts on the first slide of the course.
When the number is 2 or more, a layer is triggered blocking the course content and telling the learner to close the course.
Now let's say someone gets to slide 3 on their first attempt and decides to close the course. The "always resume" setting means that when they re-open the course, they start at slide 3 and so the trigger to add 1 to the number variable isn't run and the layer to block the content never appears. If I set the player to "never resume", then my counting of attempts gets reset to 1 each time.
I've been racking my brains for a solution but can't find one - is it possible to only allow someone to open a course once? I'm using Reach360 so don't have the option to restrict attempts from the LMS side.
Fingers crossed 🤞
- JudyNolletSuper Hero
Is the trigger that shows the layer that blocks the content set to run "when the timeline starts on this slide"? If so, have you verified in Reach 360 that it doesn't run when the user resumes the course?
I ask because a "when the timeline starts on this slide" trigger runs every time a user visits a slide, even if the Slide Properties are "Resume saved state." But, frankly, I've never bothered to check whether that's true on a slide where the course relaunches.
I'll also note that if users can navigate freely, that means that they might visit a given slide more than once during their first allowable viewing of the course.
- For example (based on my understanding of the set up you described), the value of the number variable on a slide would change to 2 when the user visits the slide. If they go back to that slide, they'd get the layer that blocks content, even if they never left the course.
One option that would sometimes work: Add an EXIT COURSE button to the Slide Master. Add two triggers that run when the button is clicked:
- Adjust the value of a T/F variable to True
- Exit the course
Also on the Slide Master:
- Add a layer with the warning message about not being able to resume/retake the course.
- Add a trigger that shows the layer when the timeline starts with the condition that the T/F variable = True.
With that, a user trying to resume the course might see the slide they were on when they left the course (if, indeed, the "when timeline starts" trigger doesn't run on the where-they-left-off slide). But they won't be able to see any other slides, because the trigger would run on whatever slide they jump to.
The caveat: It only works if the user clicks the EXIT COURSE button. If they just close the browser, the T/F variable wouldn't get changed to True.
Otherwise, there might be a JavaScript solution, but I can't help with that.
BTW, your question is related to this discussion. However, it is actually a new question. For future reference, I suggest you start a new discussion in situations like this, especially when the original discussion thread is so old.
Starting a new discussion increases its visibility, which makes it more likely to get replies from multiple folks with different ways to approach the problem. Having each new question in its own discussion thread also makes it easier for others to find potential solutions when they have a similar problem.
- WaltHamiltonSuper Hero
There are two scenarios here. One is the learner attempting the course, exiting, and re-attempting. This sounds like the sort of thing an LMS is designed to handle. It might be a very simple action within the LMS, and that would certainly be the easiest path. Require them to exit after each attempt, and the LMS will handle the rest.
The other option is the learner repeating the course without exiting. In that case, you may want to do what Judy suggests, but it would be more complex to manually reassign them.
Related Content
- 10 years ago