Copy link to clipboard
Copied
Hello All,
I'm having seeking some guidance resetting a Quiz from within a Captivate/SCORM 2004 3rd Ed file. On a very basic level, I'm allowing 2 attempts at the Quiz before the student must click the "Retake Chapter" button. This button resets all of our User-created Variables and states of Smartshapes, and Jumps to Slide 1 (effectively resetting the "instruction portion" of the Chapter and starting the student over).
Captivate Support advised that resetting the Quiz should be done with an Execute JavaScript > cp.resetQuizData() > Current Window. To be clear, I know nothing about JavaScript, I literally copied-and-pasted what they sent me.
This command doesn't seem to be doing the trick- the student is still locked out of the Quiz after hitting the max number of attempts. This was confirmed by the Quiz Instructions Slide's "Next" button (Go To Next Slide) will not go to the first Quiz Slide.
I called Support today and they told me that "JavaScript is outside the scope of what Captivate Support can help with"... and I'll leave my thoughts on that for another Discussion for another time. But I'm beginning to think this is the wrong approach to a relatively common use case.
Has anyone handled this use case? Is relying on Captivate's maximum number of attempts restricting me by triggering what seems like a complete lockout from the Quiz? Ie. once that number is hit, there's no way for an action within Captivate to reset it.
Thank you in advance for any guidance or experiences the Community can provide!
I will offer you first of all a couple of links to blog posts related with your question:
Captivate's Quizzes (3): Attempts and Scores - eLearning (adobe.com)
Quiz Tweaks 5: Results slide - eLearning (adobe.com)
Instead of resetting the Quiz attempts, you need to set the Attempts to a higher value (or Infinite) and create a conditional action which will be based on the value of the quizzing system variable cpQuizInfoAttempts. That variable increases when the learner clicks the Retake button. I
...Copy link to clipboard
Copied
Why not try to achieve this with the existing possibilities of Quizzes?
Please correct me if I didn't understand the request completely:
If that is correct, do not bother with JS. The 'cp.resetQuizData' which you mention can cause more problems than expected because you'll lose some functionality as I have read multiple times in this forum.
If you confirm my understanding in the bulleted list above, will point you to a possible soluation without JS.
Copy link to clipboard
Copied
I'm all ears for a solution without JS, that sounds way better! Thank you!
Copy link to clipboard
Copied
I will offer you first of all a couple of links to blog posts related with your question:
Captivate's Quizzes (3): Attempts and Scores - eLearning (adobe.com)
Quiz Tweaks 5: Results slide - eLearning (adobe.com)
Instead of resetting the Quiz attempts, you need to set the Attempts to a higher value (or Infinite) and create a conditional action which will be based on the value of the quizzing system variable cpQuizInfoAttempts. That variable increases when the learner clicks the Retake button. If that variable is higher than 2, which means that the learner had two failures on quiz level, you'll have to navigate the learner to the first content slide and do the resetting. You can use the On Enter event of the first question slide for that purpose. Although I wonder whether the reset actions are all necessary, would like to see the action you are using at this moment. Since that action is not about question slides but about the content slides, want to know more about it.
For the navigation to the content slide, I offered a similar solution in this thread:
https://community.adobe.com/t5/captivate-discussions/a-button-doesn-t-reset-the-quiz/td-p/13299126
For the On enter event of the first question slide use this conditional actio:
IF cpQuizInfoAttempts is greater than 2 AND
cpInfoLastVisitedSlide is equal to .... where you enter the index number of the results slide
Jump to slide x where x is the first content slide you want them to go
Be sure to allow Backwards movement in Quiz Preferences, even though you don't need to have a Back button (which I never recommend).
Copy link to clipboard
Copied
I'll read through these 3 articles before jumping into building it, but wanted to send the Advanced Action in case it helps (attached). The JS Action in the AA is the one I mentioned before, cp.resetQuizData(). I don't think any of these Actions will get in the way of anything else.
I bet I'll be more clear after reading the articles, but I think I follow where you're going, which is leveraging infinite attempts (to prevent being locked out of the quiz by Captivate) with the the Retake Quiz button (which automatically clears previous answers, score, and jumps them to quiz question 1), but preventing them from taking the quiz a third time with an Advanced Action on the On Enter Action of quiz question 1's slide (to jump them back to the beginning and resetting the content-related variables/buttons).
Regardless of the number of attempts, they're always clicking the Retake Quiz button. But when they click it after the second attempt, they're getting kicked back to start over, so I think the only additional change would be modifying the Quiz Failure Message to reflect this.
Copy link to clipboard
Copied
Those multistate objects (name with TOC), are they on one slide? You can use the On Enter action of that slide to trigger those Reset commands. I suppose you needed to Retain the state of the multistate objects because that slide is visited multiple times while watching the content.
I hope the articles will help to understand. They are in a series of articles on the eLearning community to explain in-depth the features of quizzes, and possibilities of tweaking. That is the reason for the numbering you'll see in their title.
Copy link to clipboard
Copied
Dang you're good... they're on one slide and we're retaining their Visited state on return to help the student keep track of which subsections they've completed and what's left to cover.
One question I can't deduce from the Captivate User Guide... the cpInfoLastVisitedSlide is a literal value of the slide number of the Quiz Results Slide?
Copy link to clipboard
Copied
After almost 15 years of consultation jobs, you get some 'intuition' about Captivate.
Here is another link, it has a downloadable table explaining all system variables:
https://blog.lilybiri.com/discover-slash-use-captivates-system-variables-part-1
cpInfoLastVisitedSlide has an index starting with 1, same as cpInfoCurrentSlide. You need indeed that number for the Results slide.
Copy link to clipboard
Copied
Thank you @Lilybiri , this solution has resolved the problem.
Copy link to clipboard
Copied
You're welcome, glad it has been solved.