Secrets of cpQuizInfoAnswerChoice.


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:

  1. 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)
  2. 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’.
  3. 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.

Used Techniques

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.

Multistate objects

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.

Embedded variables

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.

The post Secrets of cpQuizInfoAnswerChoice. appeared first on eLearning.

Survey: Use of cpQuizInfoAnswerChoice


Eight years ago I wrote a blog post about ‘Secrets of cpQuizInfoAnswerChoice’. Of course the embedded example file was published to SWF at that moment. This specific quizzing variable is very useful when you need to evaluate the results of survey slides to make decisions. I created a new example file, partially based on slides from the Quick Start Project Alliance. It is part of a ‘decision tree’ which could be used for those who want/need to convert legacy projects to make them ready for publishing to HTML5.

Example file instructions

There is no audio in this example. All quiz slides are Survey slides, and navigation is based on the results of the Survey slides.  Type of slides used are True/False, MCQ with one correct answer, MCQ with multiple correct answers. At the end of each branch (there are quite a lot of possibilities) you will end up on a slide with possible workflows. In this example you’ll find only three ‘results’ slides:

  1. If you have only the SWF output of the legacy project.
  2. If you have the cptx-file but cannot use it directly in the present Captivate version
  3. If you have the cptx file, it can be opened in the present version.

To explore a new branch, please refresh the browser.


Explanation needed?

How did I use cpQuizInfoAnswerChoice and which other features were used? It was rather challenging, due to the topic with its multiple navigation branches. Maybe in a next blog post? BTW I did only use variables and actions, no JS.

The post Survey: Use of cpQuizInfoAnswerChoice appeared first on eLearning.

Randomly generating questions within a project

I have created a project with question pools, from which I want to select 10 questions. When the learner gets to the end of the quiz, I want them to be able to retake the quiz but I want the questions they see to be a different randomly generated set of questions – not the ones they answered in the first attempt (we are mean here).  If the learner exits having failed the first time, they get new questions when they reopen the project. However, if they retake the quiz without exiting the project, they see the same questions.

Is there a way of resetting the quiz to randomly select a new set of questions whenever they attempt it within the project, i.e. without having to exit the project?  (We use Adobe Connect and Captivate 2019.)

The post Randomly generating questions within a project appeared first on eLearning.

Edit text in fluid box

Hi am creating a quiz with about 50 pooled questions in it. I am having trouble sizing the the answers of the quiz to fit different devices. Sometimes when I adjust the height of the answer the text jumps to a different area of the slide in a different fluid box where I am not able to edit it.

How do I stop the text from jumping and how do I edit if it does jump?

The post Edit text in fluid box appeared first on eLearning.

HTML Certificate of Completion

After watching Mr. Paul Wilson’s video about setting up an HTML certificate of completion, I was able to set up my own certificate. However, I have encountered one issue. Following the knowledge check, it seems the captivate file will proceed to the certificate of completion regardless of whether the student passed the knowledge check or not. Can anyone offer any advice as to how to keep a failing grade from proceeding on to the pass.html file? Thank you.

The post HTML Certificate of Completion appeared first on eLearning.

Issues with Shared Action

Hi Community,

I’m hoping that I can get help with an issue that I’m experiencing.  I’ve tried to resolve on my own, but I’m at a lost.

I have a Game board and question slides that performs as follows:

  1. On success of answering the question correctly…
    1. Executes conditional action that checks if variable C100-BTN is zero.  I initialize it with 0 when creating the variable.
    2. PERFORM….
      1. Assigns 1 to variable C100-BTN – indicating that the question was attempted.
      2. Returns the learner back to the game board using Jump to action
      3. Disables the C100-BTN category question preventing the learner from navigating to the questions a second time.

Using a separate Shared Action

  1. On failure – when the question is answered incorrectly.
    1. Returns the learner back to the game board
    2. Disables the category question button that was pressed to the answered question

Yes, basically the same action, but setup as two different shared actions.

I repeatedly get the error: “The share action specified for Action After Last Attempt is invalid.  Your changes cannot be saved.  

See screenshot below.  Greatly appreciate any help you provide.

The post Issues with Shared Action appeared first on eLearning.

Building Surveys in Captivate: Multiple Choice with User Input

I am building a survey in Captivate and would like to know if it is possible to include user input within a multiple choice question. For example, the multiple choice question would be similar to this, and the user would be able to fill in their own response under “other”:

How did you hear about us?

1. Friend

2. Advertisement

3. Other: ______

Thanks so much!

The post Building Surveys in Captivate: Multiple Choice with User Input appeared first on eLearning.

Captivate Reporting: How to get a report from Captivate

Hi everyone,

I have set up a quiz on Captivate that I have hosted on captivate prime. I know how to extract data from captivate prime but I don’t know how to do that from captivate. I did set up the reporting under quiz preferences before hosting the quiz on CP. Hope you can help me with this one.

The post Captivate Reporting: How to get a report from Captivate appeared first on eLearning.