Extending the SCORM wrapper and ActionScript classes

I’ve had a number of people ask me why I haven’t extended my SCORM helpers (the JavaScript-based SCORM API wrapper and the two ActionScript classes) to completely remove the need to know any of the “cmi” calls. I have three reasons: SCORM is not that simple, the functionality between SCORM versions is significantly different, and extending the helpers that far means writing a complete (non-standardized) replacement syntax for SCORM.

SCORM API Wrapper updated to auto-handle exit and status

The SCORM API wrapper (v1.1.7) has been updated to automatically set the initial course status and the exit status.

The point of my SCORM API wrapper is to make working with SCORM easier. These two new functions are intended to ensure you follow best practices with your SCORM code while reducing the amount of tedious code you will need to write for your course.

cmi.core.exit & cmi.exit

Ok, I just had to write a quick blurb about this one: in about 3.5 years of using SCORM in my own course code, I had never used cmi.core.exit (SCORM 1.2) or cmi.exit (SCORM 2004). Seems incredibly daft of me now that I’ve taken a few minutes to review the documentation.

How to add basic SCORM code to a Flash movie

Here’s a quick tutorial for adding basic SCORM functionality to an existing Flash file. This tutorial aims to demonstrate just how easy it can be to add SCORM functionality to an existing Flash movie.

Please note that this tutorial uses ActionScript 3 and SCORM 1.2, but the same principles apply for ActionScript 2 and SCORM 2004.

LegacyCaptivateLoader: Dealing with pre-existing scripts in your Captivate SWF

When I designed the LegacyCaptivateLoader, I was focused on giving the ActionScript 3 SWF the ability to control the ActionScript 2-based Captivate SWF; I hadn’t given much thought to how the situation affects Captivate SWFs using one of the workarounds I just described. Can the embedded SWFs still work? Will JavaScript calls from Captivate still work with ActionScript 3’s ExternalInterface system? The short answer is yes, but it may take some tweaking on your part.