I have reviewed a lot of the messages here about resetting quizzes and creating custom question slides using widgets. They all look good but don't really meet my need so I thought I would try the question again from a different perspective.
I am creating what is in essence an assessment project. It consists of 3 "course" modules (preceded by an Introduction which must be completed first). Each of the modules has a series of questions. If a question is missed a second-level question is asked. If that one is answered correctly they get credit for successfully answering that question. In other words, the users must answer at least one of the two questions in each question set correctly in order to pass. The number of questions sets will vary from module to module.
If they don't pass, I want to take them back to the main menu so they can try again if they choose to. I understand about setting multiple attempts and clicking the retake button. The problem is that the retake button is only available on the quiz summary slide at the end of the quiz. Since the user can take the 3 modules in any order and must pass all three, it is unlikely if someone fails they will get to the score slide.
What I would like to do is reset the quiz at the end of each module if that module is failed, take them back to the main menu, and let them try it again. I assume that will reset ALL of the questions for all of the modules. That's OK. If they have already completed a module and passed it, I can lock it so they don't end up taking it again (or I can leave it unlocked in case someone wants to take it again - although I can't imagine why anyone would).
So, my question: Is there a command I can call programmitically to reset the question slides? Are there a set of system variables that can be reassigned to reset the quiz as if they are just starting the course?
Thanks very much.
With enough AS3 skills and a deep enough understanding of the inner workings of Captivate you might be able to pull this off. But there are only a handful of people in the world with that kind of expertise.
I think what you really need to do is think about breaking this single project file up into multiple projects and controlling the access and flow that way. It sounds like you need one intro module and three separate quiz modules. Doing things this way you can allow users to make as many attempts as they need on individual modules.
You don't mention anywhere that you're using an LMS. Are you intending this to be tracked?
Rod is correct, this is possible but will be a lot of work. Personally I would not use the custom question slides in this case, but create my own question slides, so that I have total control. Resetting is then perfectly possible. Have a look at a small example in this blog post:
And, in fact this is what I did. I used the Radio button and Checkbox widgets to create the questions and was able to control and manipulate them as needed so that the results of each module are presented independently.
I have noticed, however, that if I go back and "replay" a module that was already completed (whether it was passed or not), the previous responses are often left in place. (In other words, if I chose "A" in the first pass of a question in a module, then restart the module, "A" is still marked as the selected response for the question. If it is not changed and Submit is clicked, the "must respond" message is displayed and a new response must be entered.
That is, of course, the functionality that I'm looking for - but without the previously chosen response displayed.
I noticed this also happens when Captivate's quiz functionality is used.
Is there any way to clear the previous responses? I am, of course, resetting all of the variables when a new question is entered since I'm using the same variable to capture the response to each question. I'm just not clearing the displayed response.
I think you'll find these widgets are storing values in user variables. Find those user variables and then clear them by assigning them to a null value ON Slide Enter or something and that should get you what you want.
No Rod, that will not help because you have to be able to control what is shown by the widget. To do that I asked Jim Leichliter a while ago to enhance both the radiobuttons and checkboxes widgets. The difference between the normal widgets coming with Captivate and the enhanced ones is clear from my two posts explaining the use of those widgets for custom questions. So I'm wondering if those enhanced ones are used or not? I referred to them in a previous answer.
Maybe I misunderstood the original poster's request. I thought what he was trying to do was go back to the original slide where the radio button and check box widgets after an initial attempt, but NOT then see them set with the answers from the first attempt. He was talking about clearing the initial responses to enable the user to have another fresh attempt. But unless he uses one of the screen events to trigger an action that reassigns the variables assigned by the first attempt, he'll still see the widgets set as they ended up after the first attempt. Correct?
No, Rod, it is about the functionalities of the original widgets. You can change the variables, but this change is not reflected in the way the widget shows it. That was my frustration when I tried to use the normal widgets for custom questions (first article). It is the same with the TextArea widget coming with CP: even though you reset the associated variable to Null, the given answer will remain in the widget. And then I discovered the enhanced version of that widget by Jim, where you can control to display exactly the value of the variable. That is why I asked Jim if this was also possible for the checkboxes, radiobuttons, dropdown, combobox and Listbox widgets. He was so kind to enhance radiobuttons and checkboxes on my request (I am spoiled by the widget wizards). He warned me for the memory leaks caused by combobox and dropdown. So I avoid those. The Listbox widget has no issues, but I bumped into the same limitation there, it is not enhanced (yet).
One of my feature requests to the CP-team was to have all those widgets getting that extended functionality because it makes them much more powerful in combination with advanced actions.
I appreciate this exchange. I am using the enhanced widgets but the previous answer is not being cleared. Obviously I am doing something wrong so I will review the articles mentioned regarding custom questions (which is where I first learned about the enhanced widgets) in a previous post then check my implementation.
Thanks, again, for all the excellent support here.
In going back through the course I realized that I was NOT using the enhanced radio button and checkbox widgets consistently. Sometimes I used the enhanced widgets, sometimes, the standard ones. Therein lies the problem. I’ll get that fixed.
As it turns out, I was using the enhanced versions in 2 of the 3 modules. Now it is being used for all the questions. The response variable I use (user created) is (and was) being reset On Entry to the question slides.
But now I’m seeing something odd that I hadn’t seen before. As I’m going through a module (any of them) the first time, I’m seeing the answer to the previous question displayed for just a moment in the next question (maybe a quarter second or so); i.e., if I hit “A” in Q1, the Correct or Incorrect slide is displayed, then when I go to Q2. “A” is “selected” for a split second, then it is cleared.
I tried changing the order and moving the widget to the end of the list in the timeline thinking that might give it time to clear the previous response but that didn’t work. So I am now delaying the display of the question, widget, and answers for an eighth of a second and that seems to work. It looks a little odd but if I transition the question, widget, and answers with a fade in, it lessens the impact a little. It looks a little odd to me but as long as it’s consistent I doubt anyone will notice.
It is strange that the previous answer continues to be displayed in the widget when the question is displayed (without delaying the display), though, so I thought I would see if anyone else has noticed that behavior and, if so, what you did about it.
As it turns out, what I tried to do doesn’t work. When I click “Submit” for my questions (created using the checkbox and radio button enhanced widgets) without clicking an answer, I go to the “No Answer” page as expected, but when I click the page to go back to the question I just left, with the question, widget, and answer displays delayed by 1/8th of a second, the page does not load. I tried showing the page longer and changing the timing of the button but nothing is working, so I had to remove the delays and fade-in transition and now I’m back where I was before – using the enhanced checkbox and radio buttons, the answer selected on the previous question is displayed for a brief moment on the next question.
I’m at a loss and starting to go brain-dead trying to figure it out so I’m going to put this away until tomorrow.
If anyone has any suggestions please let me know.
I implemented this solution and it works like a charm. I have to admit that it took about 2.5 hours to create my first Radio button Q with a loop back to the content if they miss the Q.
I have 15 questions to deploy in this model. Tonight I'll decide if I want to implement this model, or restructure my layout so it's compatible with CP6's remediation features that use the "Return to Quiz" On Exit option.
Great widget and instructions though!!!