A Failure to Launch

Your learners are all ready for that new course you just finished. You finally get it done and you (hopefully) load it on the Learning Management System (LMS) testing server for one last check before you put it up on the distribution server.
That’s when it happens! Your test returns the error “Unable to Find API Adapter“.

Aargh! What’s Happening?

graphic showing role of the API Adapter in SCORM communication

Well, in simple terms, it means exactly what the error says. The JavaScript code in your course that communicates with the LMS can’t start that communication because it can’t find the Application Programming Interface or API adapter.
The API adapter is kind of a liaison between the course and the LMS that makes a standard set of commands available that allows the course to ask for or send information to the LMS. It is usually provided and made available by the LMS using a standard name to make it easy.
Without connecting to the API adapter, the course cannot make any requests for information nor can the LMS provide them. That means no bookmarking, no recording progress or completion, no assessment scores – nothing.

Why Does This Happen?

There are many reasons this could be happening with your course, but usually, it boils down to one of three causes. To understand each of them better, let’s first look at what happens when a course is launched and attempts to communicate with the LMS.

Course Launch

When the learner requests a course the LMS will launch the course in a window or frameset. The course has a library of JavaScript code, usually in external .js files, that contain functions for carrying out communications. The first thing that code does is try to find the API adapter and once found to initiate communications with the LMS. It will then request information about the learner and the course. As you go through the course, it will typically send information to the LMS about your completion status and what page you are on.
All this builds one on the other. If the course cannot find the API adapter, it all comes to a screeching halt.

What Are the Reasons It Can’t Find the API Adapter?

troubleshooting API adapter issuesThe Course is Looking for the Wrong Adapter

Most of the code that provides for all the communication is pre-created to do things a certain way. In other words, since the process is intended to work in a very structured way there is rarely a need to change it.
The API adapter has a standard name so the course knows what to look for. For SCORM 1.2 courses it looks for “API” and for SCORM 2004 it looks for “API_1484_11”.
What that means is that the course is automatically looking for something with a known name in a known location. If it’s not there, you get the error.
There is a JavaScript file usually named either APIWrapper.js (SCORM 1.2) or APIWrapper2004.js (SCORM 2004) that has the job of looking for the adapter.  The first looks for API and the second looks for API_1484_11. If you have the wrong wrapper for your course or the SCORM version support doesn’t match between the course and the LMS, then the course is looking for the wrong file. Make sure SCORM versions match and put the correct wrapper in place.

The Course is Looking in the Wrong Place for the API Adapter

As mentioned earlier, the LMS launches the course in either a window or frameset depending on how it’s configured. The course, as created, also may or may not contain its own frameset. The APIWrapper looks for the adapter in a particular place based on an expected configuration between course files and the LMS launcher. If the configuration is not what it expects, then it ends up looking in the wrong place. If the file name it looks for is correct, then check for where the APIWrapper is looking for the file.

The LMS is Not Putting the API Adapter in the Right Place

It could also be the case that the LMS is just not putting the API Adapter in a place where the course can find it or not exposing the API Adapter at all. This is the LEAST LIKELY possibility, especially if the LMS is SCORM conformant. Part of the job of SCORM is to tell the LMS how and where to “expose” the API Adapter and it’s consistent.
The way to test this is to run another SCORM conformant course. If it runs, then the LMS likely isn’t your problem.

Frustrating But a Simple Fix

As you can see the issue can be on the content side, the LMS side, or can simply be developer error.
The API adapter error may seem daunting at first, but as demonstrated here it usually is a pretty easy fix that just requires a little investigative work.

Still having issues? You can always call us at 321-296-8166 or email us at support@jcasolutions.com.

Share on facebook
Facebook
Share on google
Google+
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on pinterest
Pinterest
Leave a reply

Your email address will not be published. Required fields are marked *