Unleash the Power of Variables in Captivate with Advanced Actions

A couple of weeks ago I blogged 'Curious about variables in Captivate 4&5', pointing to an introductory article on variables.

Was a little bit wondering why no one blamed me yet for not keeping my promise to publish a second part, explaining how to extend this power by using (simple) advanced actions. I always try to keep promises, but had a lot of deadlines to meet.

The promised article is just published. As the previous one it is meant for those users who want to start using variables and advanced actions, not for experienced programmers. You will see how to realize this video, where system variables and user variables are used. The Advanced actions are explained elaborately, you will create four Advanced Standard Actions and one really simple Advanced Conditional Action.  You will learn about the need for initializing. In this article the statements for the actions that you will use are:

  • Show to make an invisible object visible
  • Hide to make a visible object invisible
  • Assign to change the content of a variable
  • Expression to create a formula to be stored in a variable
  • Apply Effect to apply an effect to an object whenever the Advanced Action is played
  • Jump to to branch to a slide

You can play with this SWF. There are different ways to show a date, p.e. today will be indicated as:

10/6/2010   in the USA

6/10/2010   in Europe

2010/10/6   according to ISO rules

Make your choice, you can change your mind as often as you want. If you are getting curious about the workflow for this movie, check the link to the article:


Just hope that you will be as captivated as me by the way you can control your movies using those actions!

9 responses
Correct me if I'm wrong but I think that advanced action will automatically advance the presentation no matter what action was run? I think that this is annoying! In some cases, I just wanted to show/hide items while keeping the presentation paused. I was never able to do that since the movie was resuming with every action run.
Hi Yves, indeed Advanced actions will not disturb the normal flow of a Captivate movie, unless you instruct it to do so. The normal flow is that the playhead goes on until something is stopping it which mostly is the pause moment of an interactive object (Click box, Button, Text Entry Box). In the example of the article, the Advanced Action 'Init' is hiding a lot of objects, but there I wanted the slide to proceed.
Solutions depend on the circumstances. In some articles I pointed to the 'rewind action' that can be used if you want to keep the movie paused "rdCmndGotoFrame = rdCmndCurrentframe - 1". With this rewind action you can get back before the pause moment. In standard actions you cannot insert 'No Action', but in conditional actions this is possible and could also result in not getting on. If you could explain more elaborately the usecase, which events triggered the Hide actions, were they in a Standard or a Conditional Advanced acton, ...? If the action is triggered on entering a slide, the slide will normally play on until the playhead meets with a pause. If you attach the action to an interactive object, the user click will release the playhead too, and it will move on if you do not tell it to stop again (what I meant with rewinding the slide). Perhaps if you provided me with a usecase, this could be easier to explain.    

Hi Lieve! My use case was mainly when I was trying to use an Interactive Widget. I wanted to run an action once the success criteria was met but I did not want the presentation to resume. No matter what I was trying, the presentation resumed. For example, I wanted to click on the widget and increment a counter while keeping the presentation paused. Was never able to get that going­. Of course, you could rewind the timeline and I categorize this as a hack.
This is a very helpful exercise, thank you!
Hi, there are some very useful techniques here. Thank you.

Do you know how to have a running total of the points a user has? I want to basically boot the user out of the course if they have not achieved enough points to pass the course.

Put simply, I want to use the sytem variables to do a calculation and then run advanced actions based on this. I am okay with advanced actions, but just can't seem to work out the variable calculations. e.g if i wanted to multiply the system variable cpQuizInfoTotalUnansweredQuestions by the variable cpQuizInfoPointsPerQuestionSlide, how do I do that? I looked at the Expressions, but can't seem to get it to work.

My thinking was:
1. Work out the points the user can still get. (calculation above)
2. Subtract that result from the Total available points.
3. Use an advanced action (conditional) to say if the user has not enough points left then send them to a slide that tells them they have failed and allow them to Exit from there, otherwise simply continue. This action could be applied to the on entry of each quiz slide.

The part that I can't work out id the calculation. Can you please help and if my logic is way off, be brutally honest.

Cheers,
Ray

@Ray Interesting use case, prepared to work out an example and publish as a new post. But I have some questions: which version do you use, I hope it is 5.5 because in that version the system quizzing variables are updated after each question which is not the case for version 5.0. Second question: do you only use default question slides, with the default setup in two steps - see my article about question slides: http://lilybiri.posterous.com/question-question-slides-in-captivate
Last question: do you want the user to see the score slide or do you want to have a custom slide for step 3.

Hi,<o:p></o:p>

Thanks for getting back to me. Good news is I am using 5.5.<o:p></o:p>

I worked out a way of doing it. It works but I think may be a little clunky if adding more question slides later. May be a few extra variables in there I need to delete once all said and done, but if you look at the advanced actions tied to the Last Attempt for each question, you will see what I have done. Not added to first question because even if you get that wrong, you are still a chance at getting 80%.<o:p></o:p>

I am using the default question slides, but did read your blog about creating custom ones, which may be a better option.<o:p></o:p>

I am open to any suggestions and I have attached the file I have created as a sample (no bells or whistles).<o:p></o:p>

Cheers,<o:p></o:p>

Ray<o:p></o:p>

<tr><td>

Ray Handley
Kineo (Pacific)

E: ray.handley@kineo.co.nz
T: +64 (0)4 801 6688
www.kineo.co.nz
<o:p></o:p>

For e-learning tips and news get the Kineo Newsletter delivered to your inbox each month.<o:p></o:p>

Also, follow us on Twitter! @kineopacific.<o:p></o:p>

</td></tr><tr><td>

<o:p></o:p>

</td></tr>

Kineo (Pacific)<o:p></o:p>

Registered Office: Level 8, Catalyst House, 150 Willis St, Welling, New Zealand<o:p></o:p>

Registered in New Zealand as Flexible Learning Network Limited, Company Number: 1727137<o:p></o:p>

This email message is intended only for the addressee(s) and contains information that may be confidential and/or copyright. If you are not the intended recipient please notify the sender by reply email and immediately delete this email. No representation is made that this email or any attachments are free of viruses. Virus scanning is recommended and is the responsibility of the recipient.<o:p></o:p>

From: Posterous [mailto:

Sorry, forgot to mention that I will likely use the score slide, but not necessarily required.<o:p></o:p>

<tr><td>

Ray Handley
Kineo (Pacific)

E: ray.handley@kineo.co.nz
T: +64 (0)4 801 6688
www.kineo.co.nz
<o:p></o:p>

For e-learning tips and news get the Kineo Newsletter delivered to your inbox each month.<o:p></o:p>

Also, follow us on Twitter! @kineopacific.<o:p></o:p>

</td></tr><tr><td>

<o:p></o:p>

</td></tr>

Kineo (Pacific)<o:p></o:p>

Registered Office: Level 8, Catalyst House, 150 Willis St, Welling, New Zealand<o:p></o:p>

Registered in New Zealand as Flexible Learning Network Limited, Company Number: 1727137<o:p></o:p>

This email message is intended only for the addressee(s) and contains information that may be confidential and/or copyright. If you are not the intended recipient please notify the sender by reply email and immediately delete this email. No representation is made that this email or any attachments are free of viruses. Virus scanning is recommended and is the responsibility of the recipient.<o:p></o:p>

From: Posterous [mailto:

1 visitor upvoted this post.