Discard LMS bookmark?

smiller7502 Community Member Posts: 181
We have a course that requires learners to score 100% on a quiz at the end to earn completion credit. Learners who fail the quiz on the first try are allowed to retry the quiz once; if they fail again, they must retake the course. Since Reset All Variables actually resets only user-created variables, the cleanest way to ensure a truly fresh start seems to be to force them out of the course and have them relaunch it.

However, the course is (and must remain) bookmarked, so when relaunching, learners are presented with a choice of picking up where they left off or starting over. If they pick up where they left off, they get to the screen telling them they didn't pass on two tries and need to retake the course -- and forcing them to exit. This leads to support calls.

Can I clear the LMS bookmark somehow, so they just start over without the option of picking up where they left off? Or must I (painfully) ensure that every question variable and tracking status in the course is reset one by one?


  • zliquorman1276
    zliquorman1276 Community Member Posts: 67 ☆ Roadie ☆
    If for some reason you can't put a button/link on the failure page to take the learner back to the beginning of the course, then the absolute best and easiest way to do this is via the LMS. However, not every LMS will let you configure options to the extent that you can have it reset a learner's progress/status if they fail the course.

    If that's not an option, then from the SCO-side I would try setting the <span class="rt_element">cmi.core.exit </span><span class="rt_datatype">value to "logout" or alternatively "" (empty string). It's the "suspend" status that tells the LMS the user intends to return later and saves their location, but in your case you want the LMS to treat the learner that has failed the course as though they're taking it again for the first time in order to effectively reset their progress by "tricking" the LMS into not recording that value from the user.</span>

    Note: I'm not 100% certain if this will apply to assessment questions, but as long as you're not having the assessment answers retained between session in Lectora's options you shouldn't have to worry about it.

    So basically, if the learner fails the quiz twice, they should reach the page telling them they'll have to retake the course. Viewing that page should trigger your JS code to set the cmi.core.exit value. However, Lectora may have your content send an exit status after your code, effectively overriding it.

    What I would do is have an HTML button on the failure page that the learner must click, which then triggers entirely through some JS code the setting of the cmi.core.exit status value and the actual 'exit' function for your content (instead of using Lectora's actions). It's possible you may not even need the step to set the cmi.core.exit value though if you trigger an exit from the course this way, as the LMS needs to explicitly be sent a cmi.core.exit value of "suspend" to save their progress in the first place.
  • timk
    timk Community Member Posts: 1,219 ♦ Idol ♦
    The bookmark is stored in "AICC_Lesson_Location". You can modify that variable to be empty or put in the filename of the page you want the user to return to. Only one action would be needed to reset a quiz, only one is needed to reset the tracking status of the whole course.
  • smiller7502
    smiller7502 Community Member Posts: 181
    @Tim K, so easy! Thank you very much.