AICC and Tin Can courseware

Where does your content live? Hosting content inside vs outside an LMS.

Often, the simplest way to add training content to a Learning Management System is to simply upload that content directly. Things are usually simpler this way. The content is stored on the server neatly inside your LMS, and things just work. When you need to replace the content, you simply re-upload. Just about every courseware technical standard including AICC, SCORM and TinCan are set up to work flawlessly this way. For many trainers, simply publishing a course from a courseware development tool in a SCORM package and loading that training directly into the LMS is a simple, perfect solution.

But what if you want your training to run in an LMS, but you don’t want to load the content directly? You may have a customer who has their own LMS, and you want to provide them with your training content, but you don’t want to completely turn over control of the material. You may want to “Link” to your content on your own server, in your own location, so that you can maintain control, and so that you can update the content at will, without needing to contact the administrators of the LMS. This can be a bit more complicated, but is still quite doable.

The AICC and Tin Can standards were built with this “remote content” scenario in mind. With both AICC and Tin Can, you can load your content to some publically available location, like a website that you control. You can then provide a file to the LMS administrator (frequently referred to as a STUB file) that does NOT contain the actual course materiel. Instead, this STUB file contains instructions for the LMS to LINK to the course at your own location.

The STUB file that you would provide to the LMS contains just about everything a normal AICC or Tin Can file would contain, including the name of the course, description and other details about the course. The only real difference is that the STUB file contains a LINK to a publicly available standards compliant course at a server location different from the LMS itself.

SCORM by default, does not allow for your training content to be hosted in a separate location from your LMS. SCORM generally communicates with your LMS by making direct JavaScript calls, which tend to be blocked by browser security from one domain to another. The issue is called “cross domain scripting”, where a file (your course) on one server is prevented from making JavaScript commands to another file (your LMS) if they reside on two different websites. There are a number of “workarounds” and “hacks” and technical “cheats” that can be implemented to make SCORM courses work in an off-site scenario, but the technical effort and expertise involved in these workarounds is usually prohibitive, especially when there are other courseware standards that work well already.

Obviously the process of hosting your content outside of your LMS presents a few additional challenges. First, you have to have access to a website or web server of your own, to post your training content. Secondly, you will have to learn how to produce a properly formatted STUB file that will tell the LMS where to find your course. Additionally, when your content is hosted in a location separate from your LMS, you will have two possible points of failure. If you website goes down, even if the LMS is functioning properly, no one will be able to access your courses.

Though the process of hosting your training content outside of an LMS is more complicated than direct loading, it can certainly be done, and done well. Just ensure that if you need to host your training content outside of your LMS, you choose the correct courseware standard, and have the resources available to host and maintain the content yourself.