Custom review text for Random questions.


Another Quiz tweak blog, answering a question in the Adobe forums found under this ‘link‘.

None of my previous blogs about tweaking quiz slides (like Custom feedback) or using Random question slides (Do’s and Don’ts) could answer this question directly. But the workflow below did use some of the ideas of older blog posts, and addressing the limitations of random questions.

Goal: show a custom review message for random question slides. Follow this step-by-step workflow. Of course I used a shared action since it is a repetitive process. You’ll see a short example project.

Example project

Watch this quiz, either the embedded version (fixed resolution) or a rescalable version using this link. This short project has 3 random slides which will be selected from a question pool with 8 question slides. There is a score slide at the end, where you can click the Review button. There is no slide after the score slide, which means the Continue button has only the functionality to pause the score slide.

Problems to be solved

Three limitations/problems need to be addressed by the workaround:
  1. In the default Review design of Captivate the Review area is only used for questions which have not been answered.  The default messages which you can still define under  Quiz Preferences, Settings, button ‘Question Review messages’ do not appear anymore since the design with checkmarks has been introduced. You will need to create custom text messages.

  2. Although you can add custom objects to question pool slides, you cannot address those objects using an action.  It is possible to use an Advanced or Shared action for the On Enter event, but you cannot hide/show custom objects.

  3. A random question cannot have any triggered action in a Captivate project.

My first conclusion:  the custom text container cannot be in the question pool slides nor in the random question slide. It needs to be outside of them. But the message itself needs to be different for each quiz slide, somehow it needs to be attached to each question in the pool.

Workaround summary:

  • Text container will be a shape, timed for the rest of the project. It needs to be on a normal content slide immediately before the first random question slide. That ‘dummy’ slide can be very short (I used 0.1 secs) and even set to fade so that it will barely be visible to the learner. The shape will be the custom text container and it is outside of the question slides. This workflow has an extra advantage: it will be on top of the embedded objects of the quiz slides if you activate 'Place object on top' in its Timing Properties.

  • The shape is not filled with a text feedback message but with a user variable set up to show sufficient characters (I used 250). Text style and size of the shape are edited so that those characters can be displayed.

  • The value of the variable (feedback) is assigned with a Shared action On Enter for each quiz slide in the question pool(s). 

Step-by-step workflow

Step 1 (question pool): in scratch area

Use the scratch area for each quiz slide to add the feedback message.  By using copy/paste the text to fill in a parameter in the shared action. That is a lot more comfortable than having to type the (long) text in the small parameter field. Here is a screenshot of one pool question slide:

Step 2: import the Shared action

You can download the Shared action here:

Import this shared action to your project library. If you have already created a library to be used as external library in any project, add it to that library as well. I will explain the action functionality later. Importing this action in this early step,  results automatically in the creation of the user variable v_review which you’ll need in the next step.

Step 3: create dummy slide

Create a short slide immediately before the first random slide. On that slide you insert a shape (labeled Tx_Review). Time it for the rest of the project. in Timing Properties.

Go into Text Edit mode (F2 or double-click) and use the X button in the Character part to insert the user variable v_review. Be sure to increase the default duration. I used 250 characters which was sufficient for the feedback messages created under step 1. Here is a screenshot of that slide and its Timeline. You see the double arrow at the end of Tx_Review timeline, indicating it is timed for the rest of the project, and the very short duration.

Because you don’t want to show the text container Tx_Review from the start, use the On Enter event of this dummy slide to ‘Hide Tx_Review’.

Step 4: Shared action On Enter in Question pool

On each slide In the question pool add the Shared action (downloaded in step 2) to the On Enter slide event.  This is the preview of this action, with indication of the two parameters:

The functionality is self-explanatory. In the first decision 'Always' the variable v_review gets the feedback text (first parameter). Use copy/paste from the message in the scratch area (step 1) to define this parameter. The second parameter is always Tx_Review.  

Step 5: Hide Tx_Review

you don't need the text container, timed for the rest of the project, on the following score slide and/or content slides.You’ll need to hide Tx_Review similar to the dummy slide (step 3). In the example project that was done on the Score slide.

Step 6: testing!

Use only F11, Preview HTML in Browser, and preferably test in multiple browsers.

13 responses
Hi Lieve, how are you doing? I have donwloaded the shared action (EnterPoolReviewAct.cpaa) in the link, and imported it using the Library as well. After that, I will check the users variables, but no one user variable is created. When I tried to insert these using the action "On Enter", there is parameter to be used and error msg is showed: "The specified shared action to 'On Enter Action' is invalid. It is not possible save the changes." Any idea? Regards,
@Wladimir I just checked out the shared action, imported it in the Library of a new project, and the variable v_review was created as expected. This means I am stuck trying to solve your problem. Which version of Captivate do you use? You need to enter two parameters when assigning the action, after creating the text container with the variable v_review inserted. First parameter is the text you want to appear, second the name given to the review text container. Works perfectly for me.
Hi Lilybiri, See image. [image: image.png] Regards,
Sorry, you cannot insert images here. Which version of Captivate?
Hi Lilybiri, Sunday night I was thinking: maybe the problem is with the Portuguese Version of Adobe Captivate that we are using. We are still fighting Adobe with the problems to special characters in Brazilian Portuguese. Do you remember that? I will try to download the English version of Captivate. Regards,
Lilybiri, The version of Captivate is:, but in Brazilian Portuguese, that was the problem. I download the English version in other laptop and the action works, creating the variable and open the shared action parameters. Only thing is occurring is: I am able to type a lot of text in the parameter field, but just a few worlds are been showed to user. *Original feedback typed into field of parameter:* Step 1 (question pool): in scratch area. Use the scratch area for each quiz slide to add the feedback message. By using copy/paste the text to fill in a parameter in the shared action. That is a lot more comfortable than having to type the (long) text in the small parameter field. Here is a screenshot of one pool question slide: *Text of feedback showed to user:* Step 1 (question pool): in scratch area. Use the s Move ahead, now try to discover where or what is cutting the feedback's text. Regards,
Wladimir, this is worrying. You tell me that shared actions don't have the same functionality in another language? AFAIK Captivate is not available in Portuguese, wonder where you got that version, it is not official for sure. Officially CP is available in English, French, German, Spanish, Italian and Japanese. Did you increase the variable length when inserting the variable? Its default setting is 50, which is way too low for the use case here. You also need to make the text container big enough to display the full message. Op ma 19 sep. 2022 om 19:07 schreef Posthaven Comments :
Hi Lilybiri, I change the limit of text inside of 'text object' and it is working. The problem is in Brazilian Portuguese version of Captivate. Regards,
Wladimir, I already told you that a Portuguese version is not an official Adobe version, it is not one of the 6 languages available. It doesn't exist in Dutch - my native language - neither. Op di 20 sep. 2022 om 01:56 schreef Posthaven Comments :
Hi Lilybiri, just to you know: we have download the Portuguese version from Adobe website. More than this, logged into Adobe's site there is this version. Regards,
OK, thanks. Probably because I log in from another country, I always see only the 6 available languages. Since Dutch has never been used as language for Captivate, I couldn't guess that local translations exist on local Adobe sites. Sorry for that assumption, but you really need to report this bug - locally if possible. Op di 20 sep. 2022 om 23:51 schreef Posthaven Comments :
How did you get the box that says, "You must answer the question before continuing?" When people accidentally click submit on my quiz without selecting an answer, the incorrect box automatically appears without any kind of warning telling them to select an answer.
Lorim it is qn inBuilt feature of Quiz and KC slides: just check the option 'Incomplete' under the Captions settings. That caption (or shape) is using the Hint Style.