Copy link to clipboard
Copied
I did some searching but I couldn't find a post with my particular scenario.
Using Captivate 2017, publishing SCORM 1.2
Lesson is set to complete after 50% viewed, but we also have 1-3 quiz questions at the end of every lesson. They have unlimited opportunity to answer and must answer correctly before lesson advances. (This may sound silly, but there are a lot of reasons why this is our standard set up.)
We've added a Retake advanced action button at the very end so they can refresh the lesson, which jumps them back to the beginning and has a JS to cp.resetQuizData() to reset the quiz. This works great when it's not loaded into an LMS.
When it is in an LMS, it seems like it's working but when they get to the quiz the questions are cleared but they can't click on any of the options again. In looking at the log, it looks like our suspend data isn't cleared. Not sure if we can force clear the suspend data or if there is a different executable we should be using. Does anyone have ideas or a potential solution? Or is there not a good one?
Thank you!
Copy link to clipboard
Copied
I would also suspect that your issue is due to the LMS Resume Data Bookmarking.
As a test, turn OFF the bookmarking at Quiz Settings > Reporting > Advanced > Never Send Resume Data (checked).
Also make sure Self-Paced Learning bookmarking is turned OFF in Project > Table of Contents > Settings > Self-Paced Learning.
If all bookmarking methods are turned off and your project now works the way you expect then the bookmarking was your issue.
Copy link to clipboard
Copied
Thanks @RodWard. Is it possible to have the best of both worlds? We still want them to be able to return to where they were if they don't finish a lesson in one sitting, but if they click our ReTake button, we'd like the quiz to be re-set.
Copy link to clipboard
Copied
You didn't explain the 'Retake advanced action'. If you kept to the normal Retake button on the score slide, it seems like that would do what you want. But you choose for a custom solution, which is not detailed in your post.
Copy link to clipboard
Copied
Hi @Lilybiri - I apologize if I didn't give enough detail. I assumed my original statment: "...which jumps them back to the beginning and has a JS to cp.resetQuizData() to reset the quiz." explained what the advanced action does when they click this Retake button we've created.
I didn't share that we hide the default Quiz Results slide - as it seems silly to show that when they'll have always passed the quiz. I suppose we only want the quiz options to be re-selectable if the learner wants to actually re-take it. I'm thinking outloud here, but perhaps instead we should put the Clear button on the quiz slides and they can click that even if they've already taken it and moved on?
In summary - we want the lesson to resume data and note where learners are in the TOC, however, if they want to formally re-take the lesson, we'd like the quiz to also be reset. The quiz options are cleared using the "cp.resetquizdata() action but when loaded into our LMS, the options are not actually selectable.
Copy link to clipboard
Copied
Even a hidden results slide is important, that is the reason that you cannot delete it. Read:
http://blog.lilybiri.com/secret-of-hidden-score-slide
Problem with custom solutions like the cp.resetquizdata() try to override the default setup of a quiz, but often lead to problems as you experience now.
Copy link to clipboard
Copied
Did you never try to 'edit' the results slide which is perfectly possible. Or even use the On Enter action of the results slide to skip over it when it is not needed for its Retake button? In multiple consultancy jobs - which often did include solving special requirements for quizzes - I have tweaked the default functionality of that score slide to solve the problems. Since so much of the programming with quiz and score slides is 'hidden' it is safer than just use a couple of JS commands.
Copy link to clipboard
Copied
If you are asking: "Can I have my cake and eat it too?" then my answer is: "Life doesn't work that way and neither does Captivate."
Using the JavaScript code to reset the quiz score doesn't necessarily reset all the other variables that are involved. Captivate provides a Retake Quiz button on the Quiz Results slide that performs all the necessary resets. By opting NOT to use that solution but add your own you are now encountering other issues. I have to agree with Lilybiri on this one. Overriding the default behaviour might not be your best option.
I know you don't want to show the Quiz Result slide, but that is the only location where Captivate offers the possibility of having the Retake Quiz button. You can easily turn off all the other data that normally gets displayed on the Quiz Results slide, and even rename the title of the slide. If you stick with the default Retake Quiz button (which always has to be located AFTER the final quiz question) I think you will find that this is the best way for you get closest to your ideal solution.