Tuesday, November 21, 2006

Extending Captivate Projects with Variables - Pt1

Working for a company that develops software which integrates with Adobe software such as Dreamweaver, Adobe Connect and Contribute certainly made me wonder if there was any way of extending Adobe Captivate. Whilst Captivate does not include the ability install new components into the application the same way that you can with other Adobe products there are still ways using ActionScript code to communicate with Adobe Captivate and thus additional functionality. You can learn more about these in the Adobe Captivate 2 User Guide on pages 147 through to 148.

Before I go any further I would like to pause and offer my deepest thanks to my good friend Gaurav Satija who has kindly steered me through the murky waters of ActionScript. Gaurav your a pal!

To demonstrate this, let’s start with something very simple. Each of the Playback controls you add to your Captivate projects include an information box, not a lot of Captivate users tend to use and from what I gather even fewer end users ever bother to click on the Info button.

However, this still is a useful feature. This is especially true if you are creating section 508-compliant projects since project information such as the description can be read by a screen reader such as JAWs for Windows. Just as an aside the description is also useful if you are publishing to an Adobe Connect Server since content of this field is also used as your project summary.

To accomplish this all you would have to do is create a new Flash file with a small amount of ActionScript code that includes the following:
rdcmndInfo == 0 rdcmndInfo = 1

In plain English this means that if the Info box has an equality value of 0 or in other word is closed then set its value to 1 and open it.

You can see this in action by clicking on the graphic shown below

Ok, well that is all well and good, but now let’s move onto some a little more exciting.

For example let’s say that whilst testing your Captivate projects you would like to display the current slide, the total number of slides in your project and a previous and next button to boot. Well, using the following four commands you can:

  • rdcmndPrevious – Go to Previous Slide
  • rdcmndNextSlide – Go to Next Slide
  • rdinfoCurrentSlide - Slide currently playing
  • rdinfoSlideCount – Number of slides in the project

To see this in action please click on the image shown below.

Now, if you are reading this and thinking well this is all well and good but I don’t know ActionScript code and I have no desire to learn either, well the good news is that for the most part you won’t have to. Adobe Community Expert Paul Dewhurst. has already created a ton of Captivate widgets that you can just download and then insert as animation objects into your Captivate projects. Many of these have been around since Captivate 1 but Paul has already started creating some new widgets that take advantage of the new features available in Captivate 2 including one widget that automatically opens closed captions. Something I will be using in my future audio blog posts.

Feel free to use this SWF file in your own projects. Simply download it. Insert it as an animation in your Captivate project and set it's display to Rest of slide.

No comments: