Adobe Captivate 5 – Widgets and the Widget API
One of the things that has recieved an overhaul in Adobe Captivate 5 is the Widget API. I’ll try and give you some examples of the new things and the changes here in this post.
Changes / Enhancements in Adobe Captivate 5 with Widgets:
AS3 only
Adobe Captivate 5 will only be able to use AS3 widgets. Actually it will only be able to use AS3 anything so this will give you a problem if you are using third-party content from for example Articulate or Rapitivity since they are pure AS2 at the moment.
New Widget classes
One of the biggest changes in the Widget API are the new events. These event based classes will allow you to access and use information from Captivate much better than with the old structure.
The classes are imported into your widget along with the flash.external.ExternalInterface and then you are ready to start coding
import com.adobe.captivate.widgets.*;
import com.adobe.captivate.events.*;
The com.adobe.captivate.widget classes are:

The com.adobe.captivate.events classes are:
Basically these classes lets you communicate with your widget and Captivate but it will now also be possible to have individual widgets communicate with eachother. This is a very interesting perspective and can open up for a lot of interesting developments.
Widget Parameters
The Widget parameters are now called Widget Properties. One of the good things about this is that it is no longer a small box in which you had to stuff all your parameters inside. Now the Widget Properties is a self contained window that “floats” on top of the stage when you insert the widget. This makes it easier for the developer to work with the widget in Captivate but also makes it easier for the widget developer to create a nice interface.
Additional changes / enhancements / restrictions
- The updating of an existing widget used in a Adobe Captivate 5 project is now easier than what it was in CP4.
- The new Widget API uses proxies to prevent widget developers to access objects on the stage / slide at runtime. This was implemented to prevent Widget developers of gaining too much control of a Captivate project and potentially delete and mess up other peoples projects. In my personal opinion it’s a wrong move but luckily it won’t be such a big problem after all as this can easily be circumvented according to Whyves. I’m sure that he will post more details on this on his blog here.
Adobe Captivate 5 stock widgets
Adobe Captivate 5 will also ship with a number of stock widgets. Some of them are actually pretty good and prove to be useful in your projects. Personally I really like the new Arrow Widget. I would probably still create my arrows in Photoshop using shapes and styles as I am used to do, but this widget does give a pretty good idea about the capabilities of Widgets in Adobe Captivate 5.
Click the image below to see some more information about the Widget API and stock Widgets in Adobe Captivate 5.




7
Comments
wheat
Thanks for these, Michael. Just spoke with my boss yesterday about eLearning Suite 2. Looking forward to upgrading to Cp5 (from Cp4 and Flash CS3).
Whyves
Hi Michael,
Nice presentation! I like the fact that you created a presentation to highlight the new widgets functionality. Another aspect I like about the chart widget is that it allows to upload a file directly from the disc.
Whyves
Michael
Hi Wheat, CP5 is great and it will save you a lot of time production wise and you will be able to create much better content. I’m sure it will pay of both moneywise and content wise for you ;o)
@Yves – Thanks Yves – I’m glad to see that you took the hint and wrote up a post about the more techincal aspects of the widget API in CP5 ;o)
Jim Leichliter
Michael,
Great post! Thank you for taking the time to write about the API. One feature I’m looking forward to is the ability to tap into the events. This framework lends itself well to inter widget communication and async web services. Looking forward to the release of that Twitter widget which would display a great example of both.
Jim Leichliter
Jerome
Nice Post!!! As we all may already know the help for CP out the is a bit thin on the net. Does anyone know where some good material is out there that talks about CP events? i need to communicate between two widgets on runtime and during authoring in CP. HELP!
Michael
Hi Jerome,
As far as I know there isn’t any documentation out about this yet. I just got back from vacation so perhaps I missed it but so far I haven’t found any. I recommend that you keep an eye on this blog as well as Flas-Factor and Jim Leichliters blog (both links can be found in the footer on this page).
/Michael
Leave a Reply