Recently I posted an example project, where this quizzing system variable was used for Survey slides. If you missed it, use this link. The topic is a poll about the availability of assets when you need to edit a legacy project to make it ready for HTML5 output.
In this blog you’ll find some clarification about cpQuizInfoAnswerChoice. Since the navigation setup, resulting from the survey is quite complicated I will limit the explanation to one of the branches. The poll is not yet complete, results at this moment in three end slides.
Intensive use of user variables, multistate objects and advanced actions were necessary.,
This system variable belongs to the category Quizzing. Typical for that category is that the variables are read only, you cannot edit them in Captivate directly.
It is a reused variable, gets a different value after the Submit process on each quiz slide. The value you are getting depends on:
- Type of question (see below)
- Numbering (if available) in the question. For several types you can choose between capital characters (A, B, ..), small characters (a, b, …), numbers or None. None will result in the same value as numbers (my preferred numbering)
In the example file I used three types of questions, which are very common in surveys:
- True/False. For that type the value of cpQuizInfoAnswerChoice will be either a character or a number, depending on the chosen numbering type.
Example: if learner choses “True” value will be A, or a, or 1 (also for None as numbering)
- MCQ with radiobuttons (one answer): value will be the character or number of the chosen answer. No problem when shuffling the answers. Although the numbering on runtime will be changed in that case, the original number, as seen in the editing environment, will be stored in the variable.
Example: Second slide in the example had three answers. You may shuffle the answers on runtime, but if the learner selected this answer, the value of cpQuizInfoAnswerChoice will be ‘1’.
- MCQ with checkboxes (multiple answers possible): all chosen answers will be stored, using a separator (in my case a semicolon). If you use shuffling, the reported value will take the numbers originally assigned in the developing environment:
Example: first slide in the example file looked like this. With the shown selection, the value of the variable will be ‘2;3;4’ even if due to shuffling the numbering was different on runtime.
Short description of the other Question types:
- Matching: the chosen corresponding numbers in the first column, with separator(s) will be reported similar to MCQ with multiple answers.
Example ‘A;C,B’ indicate that in the first column those were chosen to connect with A, B, C in the second column.
- Sequence: I couldn’t figure out what the meaning was of the reported value, very strange. Look like IDs (like Interaction IDs) separated by semicolumns. Maybe someone can explain?
- Fill-in-the-Blank: the text chosen for the blanks will appear, with separators.
- Short Answer: text entered by the learner.
Due to the fact that Captivate’s variables can store strings as well as numbers, if you choose for numbers you can perform calculations (Expression command). I used that feature in an old post about Graded Surveys. It has not been used in this example.
I will not explain every detail in this example file, just some tips about the used techniques.
Decision Tree – Branches
Before starting the development, I did sit down to see how many branches I would provide in this survey. The present example results in three main branches, ending up in three different end slides. Those are the slides surrounded by a red box in the screenshot of the Advanced Interaction panel (will blog about its use ASAP). The Survey slides are included in a blue box:
Which branch to be followed is tracked by a user variable, which is empty to start with: v_swf, v_cptx, v_scratch. Those variables can have different values, because each main branch has sub-branches.
Example: The branch which will end on slide 12 ‘SWF_workflows, starts with a value=1 when the learner indicates that the output SWF is the only asset remaining from the legacy file. Based on more answers, this value can be incremented to 2 or 3.
The information on the end slides (12-14) is stored in multistate containers. The On Enter action of each slide uses the tracking variable for that branch to show the appropriate state. Look at the screenshot of the action triggered On Enter for slide 12:
There are only two decisions because the Normal state is valid for the situation where v_swf==1.
If the result of the poll leads to the last slide, with the recommendation to start from scratch. However it is possible that some assets can be used: documented theme, other assets like graphics files (PS/AI), audio clips, video clips, GIFT or CSV files for questions. To show this information, user variables are inserted in the states on the slide. Their value is either empty, or filled in due to the choices on the very first survey slide. Look at this screenshot, which shows the Normal state (no external library available):
Do you have more questions? Please post them in a comment. Maybe we’ll meet at Washington DC, will try to help users struggling with conversion of their legacy projects due to the demise of the SWF player.