Category: Elearning

Internet Explorer 7 blocks cross-domain iframe to parent communication

A new security setting in Microsoft Internet Explorer 7 has been causing problems with requests between iframe and parent. There is a security setting in the Internet options called “Navigate sub-frames across different domains”, which in IE6 was set to “Enabled” under Medium security, but is set to “Disabled” in IE7 by default.

An example of the type of communication that is blocked is shown here:

The container page sends a message to Page 1, in Domain A: “Change your location to Page 2”. In IE6, this is not a problem. But in IE 7, it is allowed.

Continue reading

How to analyze Captivate Movie structure

If you want to create widgets that control Captivate files with new functions, other than the standard playbar functions, you will need to develop them in flash. Here’s how to figure out what is going on in a Captivate movie file:

Create a Captivate movie, and publish it (Captivate 2) or export it to Flash (Captivate 3). To create my faster-slower widgets, I had to decompile it into an .fla (I used SWFdecompiler )

Open it in Flash, and start exploring the structure. If you are using version 3, by far the best tool you can use include the “debug movie” command.

Continue reading

Perception 4.3 meets an Oracle 10g bug: Unsupported network datatype or representation

Last January, I installed a test instance of Questionmark’s Perception server, version 4.2, in preparation for upgrading our version 3.4 Perception server. At the time, we were using Oracle version 9i. Once installed, our testing went well, and we did not notice any significant problems.

In July, we finally got around to doing the actual upgrade, and decided to upgrade the database to Oracle 10g at the same time. The installation and conversion of our version 3.4 data went very smoothly. Everything ran well for about a week. Then things began to go wrong. When we would open the Authoring Manager, it would refuse to show us any assessments (“assessments can’t be found”.) Then it would tell us administrators couldn’t be found. After a few days, the assessments disappeared from the Perception Server as well, meaning users could no longer take them. After trying numerous fixes, we reverted to a recent backup of the database from a couple of days before, and the problem disappeared. The one Oracle error that both Perception Server and Authoring Manager were giving was “ORA-03115: unsupported network datatype or representation.”

Continue reading

Javascript’s parseInt

Javascript is a loosely typed language, which means it is possible to define a variable without specifying what type of data it holds (string, integer, floating point, etc.). This can cause problems if you think a particular value is a number when in fact it is a string. A string must be converted to a number to use it in calculations.

For example, when working with SCORM elearning software, scoring and performance data is stored in a Learning Management System as strings. If you need to do calculations with the data after retrieving it, the string data must be converted to integers or floating point type.

The parseInt() function can be used for this purpose. It parses a string and returns an integer. However use of the function without understanding the details can lead to unexpected results. If your string begins with a zero, the number will be evaluated in octal instead of decimal system. In Octal, 08, 09 are not valid numbers, and 010, 011, etc. will not represent the same values as they would in decimal system.

Continue reading

A SCORM-ready template: Part 1F. Modifying the CSS styles


Modifying the CSS styles

The css styles are defined in several sheets. Any of the styles can be overridden by adding a new definition for the selector to /css-local/userStyles.js or to individual pages or even individual elements on a page. YOU WILL NOT BE ABLE TO change any of the files inside the css/ folder but you can add your own overrides to userStyles.css.

Continue reading