Events and (advanced) Actions


If you have been visiting this blog already, you are aware that I'm writing a lot about (advanced) actions because they allow to push Captivate to another level, to create more engaging eLearning assets. 

In previous posts I offered:

  • list with System variables essential in a lot of (advanced) actions
  • list with Statements, the commands you can use in an advanced action, and comparing them with the commands you find in the simple Actions accordion

When helping users who start with creating actions, I often see that novices in this domain are not always aware of the process needed to trigger an advanced action: each action, whether a simple or an advanced one has to be connected to an 'Event', and that is the subject of this article. At the end you'll find a link to a list, describing all the possible events, use cases and tips.

Events - out of the box

Most events that can trigger an action are linked with interactivity, something the user has to do. This is the case for Success/Failure events for (Shape) Buttons, Click Boxes, Text Entry boxes, interactive Widgets but also for Question slides. 

Less known are the actions that can be triggered when a Quiz is completed (Success/Failure).

Also even less known is that a Rollover slidelet has even two events: on Rollover, and on Click. For the events available out of the box with Captivate this is the only rollover available to trigger an action. The backdraw is that you rarely can use both events, because when you use the On Click event you necessarily have to do the rollover as well.

Events that are not linked with interactivity are the slide events: when entering or when exiting a slide, you can have an advanced action to be executed. But not all commands (statements) can be done by such an action (see list).

Often I get the question if an action can be triggered by time or by a frame, but that is not possible for the moment with Captivate. One example: the timer widget will show a popup when time is elapsed, but you cannot execute an action immediately at that point. I have been explaining this in an old article: Timer widget.

Widgets to extend events

Jim Leichliter, aka Captivatepro/CaptivateDev has a free widget for Time Based Actions.   It can be used in some cases, but not as easily as for an 'On Frame' event that is available in Flash for programmers.

InfoSemantics developed a widget that is one of my favourites: the Eventhandler Widget. It is not free but if you are plunging really into advanced actions, please try it out because it can add as many events as you want to any object.

Both widgets are not yet supported for HTML5 output.


You can download the list from this link. I created this table, along with other lists, to use them for the workshop Advanced Actions that I coached at DevLearn 2012. Really hope to be able to do more workshops of that kind, interaction with learners is something I really miss when blogging.

First column (Event) identifies the event, second column (Assign action) shows in which Properties panel (PI) you can indicate the action to be triggered, third column is A Description. When necessary you'll find some comment/use cases in the last column, which also mentions the possible limitations for the event. 

You'll find first a table with events that can trigger only one advanced action, and next a smaller table with those events that can trigger one out of two possible (advanced) actions based on a condition: validated TEB, question slides and Quiz.

I would appreciate if you left some comment in case you find this list useful. Combine it with the lists I mentioned at the beginning: system variables, and statements/commands.

13 responses
Wonderful post, Lieve! Having a consolidated list of all of the system actions, events, variables, and widgets--complete with a description and potential use cases--is a tremendous resource for novice and experienced CP users alike. I would be very interested to see/read some of the ways that you have leveraged the EventHandler widget (or any of Tristan's widgets for that matter) in your projects.
Thanks, Jeremy. I was always puzzled because even much praised Captivate books never offer this kind of lists as a reference. And up till now, except some rare articles, I focus in this blog on what Captivate is offering out of the box. If I had plenty of time, I could write a lot more but have some real work to do as well. Will not tell the number of hours I spend on each post for this blog, all examples were created exclusively for the articles. I'm not a Captivate trainer, I teach about a lot of other subjects in Construction and Real Estate departments of our college. Perhaps I need to turn to another career. I love Tristan's widgets and was so happy to meet him for the first time at DevLearn last year. Will keep your suggestion in mind, in my post Playtime with Audio and Widgets (July 2011) I used the interactive Drag&Drop widget created by Tristan.
You are absolutely correct. I have never been able to understand why the advanced actions and variables feature has been all but ignored. It is the one feature that truly separates it from other comparable authoring tools, but only if you really understand how to leverage the capability. I'll be honest, it took me a while to get the process down, because the Adobe literature (including the "tutorial" videos on Adobe TV) were so vague and cryptic that it seemed to be more trouble than it was worth (boy was I wrong, it is by FAR the most powerful capability in Captivate). I honestly would probably still be lost on the subject if it wasn't for your's and Anita's blogs. I have used to resources that you have made available and created a PDF Portfolio for whoever takes over when I leave, so that hopefully they won't go through the same frustrations.

I will have to try out some of Tristan's widgets now that I have a better idea of how they could fit in to what I am trying to do. I downloaded the trial version of the Interactive Master widget a while back (before I understood anything about actions and events), but I deleted it almost immediately after unzipping it because it confused the daylights out of me. Are there any other widgets that you would recommend, especially any widgets that could improve the efficiency/workflow of building--or the learners experience interacting with--a highly-detailed and subtly-nuanced branched scenario (it would require countless user variables to validate the learners input using the classic conditional actions)?

Jeremy, the Mastery widget is certainly the most complicated widget, can imagine how you felt when opening that one. It is also a very powerful widget, wished I had the time to work out some examples (sighing...).
Branch awareness in the present CP-version can help as well, another subject I should once blog about.
And agree totally, why is Adobe neglecting to improve this most powerful feature, with the new smart shapes it is even more important now. Crossing my fingers that in a near future they will finally listen not only to the basic users, but to those users that push Captivate to another level.
Thanks for this info. Not what I wanted to hear but that is not your fault. Hopefully Adobe get to it some time soon. There is some amazing stuff we could do with this feature.
Dennis, did you see the enhancements in Finally some requests about advanced actions have been 'heard'! Lieve
Great to see the out of the box events boiled down into such a clear cut list. One thing I did try recently was changing the shortcut key on the validated text entry event. It does have it's limitations though. E.g. let's say you asked the user to type in the word 'calm' and set the shortcut key to the last letter of the word. The event can't trigger success or failure unless 'm' is in the user's answer. Is it possible to write bespoke events for Captivate?
A shortcut key is an alternative for the Submit button, and indeed if the user is not 'submitting', there is no event. That is the default behavior. I do not understand what you mean by 'to write bespoke events'?
Hi Lieve. There's a lot of background fluff above. And I haven't explained it very well. I was describing a situation that's basically made me wonder one thing: Can the out-of-the-box events be customised?
No, they cannot be customized. With the present new API for JavaScript there are some new events, but not for advanced/shared actions.
VERY helpful. Things are finally starting to become clearer to me, as I keep reading and watching and rewatching tutorials. Thanks for this.
2 visitors upvoted this post.