July 24, 2019
Custom Feedback – Random slides
July 24, 2019
Custom Feedback – Random slides
Lieve is a civil engineer (ir) and a professional musician. After years of teaching and research (project management/eLearning/instability) she is now a freelancer specializing in advanced Adobe Captivate as trainer and consultant. Her blog is popular with Captivate users worldwide. As an Adobe Community Expert and Adobe Education Leader, she has presented both online and offline. Since 2015 she is moderator on the Adobe forums and was named as Forum Legend (special category) in the Wall of Fame. In 2017 Adobe Captivate users voted for Lieve as a Top Content Experience Strategist.
Legend 245 posts
Followers: 416 people


Another showcase to answer a user question on the Adobe forums: ‘How can I show custom feedback (image) during Review for random questions?’. For normal quiz slides this is easy: use the On Enter event to trigger a conditional action. The action should check the value of the Boolean variable cpInReviewMode and show a hidden object when the value is 1. However for random questions extracted from a question pool the situation is a lot more complicated. You can use the On Enter event in the pool for each question, but it is impossible to point to an object, using its name, which is in the quiz slide. A while ago I wrote an article about what you cannot do with random questions, offering some workarounds. Have a look at:

Random Questions: Do’s and Don’ts

After some reflection and testing, I was able to find a possible workflow.


No focus on design in this example. I used the Windswept theme, and the ‘feedback’ is just a shape, which can be filled with image, text, or whatever you want. In this case the shape is fllled with  a number, which corresponds to the number of the question in the question pool. That is the key of this solution.



I created a question pool (from the example CSV file) with 7 questions, and inserted 4 random slides.

1. Multistate object

On the slide before the first quiz slide (here the Title slide) insert a multistate shape, labeled Multi (or any name you want) which has as many states as you have questions in the pool + the Normal state. That Normal state needs to be invisible, by setting Alpha for Fill to 0, and stroke width to 0. The other states have the content you want to show for that question on review (here only the numbers).

Time that object for the Rest of the Project, Always on top. 

Why you need it to put it before the first random slide?
You may know that all embedded objects on quiz slides are on top of the stack.
To circumvent this, use the trick used here: physically before the quiz slide, timed for the rest of the project

Shared Action PoolAct

Create this simple conditional action, which you convert into a Shared action, having two parameters: the name of the multistate object, and the name of the state you want to show.  This means that you can use any name for object and states when setting up that object.

You have to apply this shared action to all the questions in the pool, using the On enter event which is available. Contrary to object on the quiz slide, which cannot be pointed at in an advanced action, you can point to an object (Multi) which is IN the course. Because that object is not on the same slide, a simple action cannot be used. Only advanced/shared actions have the ‘power’ to change states for objects on other slides than the present slide.
The first parameter will always be the same (Multi in this case).
The second parameter has to correspond with the number of the slide in the pool.

Here is an example of definition of the parameters, in this case for question 5. The dialog box with parameters has to be opened with P button

Not only can you use other names when using a shared action instead of duplicate advanced actions, you can double-check in the Library if you have assigned all. Look carefully at the screenshot of the Usage box:

You see that the last instance assigned to the On Enter event was for Slide 5. Normally I had used the action in the normal sequence of the slides. But when I double-checked the Usage, only 6 instances had been used, and slide 5 still had an older version of the action. Such an easy way of checking can save you a lot of time, and is one of the reasons I prefer shared actions. The old actions, when no instances are used, can be deleted. Compare that with finding an advanced action which is not used to delete it?


You are ready for testing… not so tough this use case!

Add Comment