Adobe Captivate 5.x Variables Widget
From: $80
Product Description
It allows you to use variables in places not normally possible such as the following actions:
- Open URL or File
- Open another project
- Send email to (see FAQ)***
- Execute JavaScript
- Assign
- Increment/Decrement
- As the default text of a Text Entry Box
It works with the following objects and events:
- Slide Entry and Exit Actions
- Advanced Actions
- Any actions associated with Interactive Captivate Objects (Buttons, Click Boxes, Text Entry Boxes, etc.)
- Interactive Widgets
Possible Use Cases:
- Send quiz data to your custom PHP or ASP.NET script by passing the variables in the URL of a “Open URL or file” action.
- Open a specific project based on the Learner’s responses using variables in the “Open other project” action.
- Send an email with a custom subject and body that contains quiz results or even course notes. ***
- Combine this widget with the stock Captivate widgets (check boxes, radio buttons, drop downs) to create custom Learner driven actions.
How Does it Work?
Place the widget on the slide or slides where you want the variable translation to occur. So if you had a button on slide 5 with the success action defined as “Execute JavaScript”, you’d place the widget on slide 5. In the JavaScript panel, you could have:
alert(‘Hello $$userFirstName$$!’);
When the Learner clicks the button at runtime, the variable would be translated. For example:
alert(‘Hello Darli!’);
And they’d get the following dialog:
*** Live Demo ***
Requirements
- Adobe Captivate 5 or 5.5
- Must be published for Flash Player 9 or above
Known Limitations:
This widget will not work with the PROJECT begin or end action or the slide entry action of the first slide.
Try Before You Buy
You can download a trial version to test in your own projects. It will display the CaptivateDev.com logo and a red “Trial Version“ in your project, and will only run from inside of Captivate (F4 or F12 preview), or your local web server (http://localhost/ or http://127.0.0.1/).
Download TrialSupport
Have a pre purchase question or need assistance? You can contact me directly using the contact form.
FAQs
Q: When does the variable translation actually take place?
A: It depends on the action and the object.
- Buttons and ClickBoxes – on mouse click or shortcut key press
- Slide Entry Actions – on slide exit of the previous slide
- Slide Exit Actions – on slide entry of the current slide
- The default text of a Text Entry Box – when then widget becomes visible on the timeline.
- For all other interactive objects – when then widget becomes visible on the timeline.
Q: I noticed that you have free widgets that do something similar. What’s the difference?
A: The free widgets do not support variable translation in the advanced actions panel, JavaScript panel, Open other project, Increment/Decrement and Assign actions. They are limited to their specific function only. I would consider these “Lite” versions. In addition, the variable translation occurs on slide enter which makes it difficult to change a variable and execute an action on the same slide. However, with the new Variables Widget, all of this becomes possible.
***Q: How can I send an email using variables?
A: If you choose the “Send email to” action, you must include the @ symbol and a period when you supply and email address. If you don’t, Captivate will warn you. So, for example, you could have $$department$$@myCompany.com. However, for greater flexibility, I’d use the “Open URL or file” action and use the mailto: function. So instead, you can have this in the URL field:
mailto:Jim@foo.com
OR
mailto:$$email$$
where the $$email$$ variable contains a valid email address. This gives you greater flexibility allowing different domains for an email address. You can also add a subject and body:
mailto:$$email$$?subject=some subject here&body=more stuff here%0D%0Aand line break here.
%0D%0A is the syntax for a line break in the email (if you need one).
Q: Can I use a variable inside a variable? For example, can I define a Captivate user variable such as emailBody that has a default value of ‘Quiz Results of $$userName$$’.
A: Yes. The variable translation routine behind the scenes is recursive. So you could have a variable, within a variable, within a variable, ad infinitum. Certifiably Sickening I know…

