× Close Request a Demo

RD3: Offsite eLearning Course Delivery

July 9, 2021

During the development of SCORM, one of the purposes was to make eLearning courses easy to share. This is done by distributing a zipped file that contains all the information required to install and run the course through any SCORM compliant LMS. “All the information” encompasses a tremendous amount of data – it also includes the course and course assets. The distribution is typically done either by email or by some ftp method.

This approach works fine when the courses are small in size, but this solution can become pretty tedious with much larger courses.

Aside from the size and distribution problem, there are other reasons for not wanting to distribute online courses in the intended manner. When you use the official method, the content developer loses control of the course, and this could lead to intellectual property/copyright issues. The prescribed solution also complicates the updating of a course. The larger the course, the more problematic the updating becomes.

The Ideal Solution Creates Additional Problems

The ideal solution would be to deliver content hosted in one domain through an LMS hosted in a different domain. Unfortunately, this is not possible straight out of the box due to a Javascript issue. It’s called the cross-domain imitation, and it requires the LMS and the Course Player to reside in the same domain. For example, if the web address of the LMS includes https://www.abcd.com, then the web address for the course player must also be https://www.abcd.com.

Fortunately, there are ways to deal with this problem, but each has pros and cons.

Offering Your LMS with the Course

The easiest solution is to offer your LMS along with the course. But the customer may have already invested in a different LMS, so this would not necessarily be the best option for the customer, and the content provider will probably lose business.

Rusticiti’s SCORM Cloud Dispatch Service

Another way to troubleshoot this issue is to use Rusticiti’s SCORM Cloud Dispatch service. They advertise that you can deliver SCORM content through any LMS. They also offer two other products that do the same thing:

  • Rusticiti Cross Domain
  • Rusticiti Content Controller

This is easy, but will increase the ultimate cost since this type of service is not free.

Sub-Domain Hosting

Another solution is to host your content in a sub-domain of the domain hosting the LMS. So, if the LMS is hosted on abcd.com, then hosting your content on provider A.abcd.com would solve the problem. However, this is not a very practical solution, especially if the LMS provider objects to the use of their domain.

Other Solutions Require More Sophisticated Programming Knowledge

There are other ways, but they do require some programming or web development skills on your part:

  • You can use HTML5’s postMessage call to pass information between web pages. This is what is known as an asynchroneous call. This is a call that is broadcast, but the code will continue on executing the code without waiting for a response. This is not ideal for SCORM communications, so that means you will need to add code to capture response, and this is usually done by adding code that listens for a response.
  • You can use what’s called a SCO-Fetcher. This is a module on the server hosting the LMS that fetches the SCO from a different server, but delivers it through the LMS using the LMS’ domain.
  • You can use a proxy or virtual server to redirect the Responses from the LMS and the content server so as to make it appear that both the LMS and content are on the same server.
  • Web pages are managed by some type software running on the server. For severs running the Windows operating system, the software is typically IIS (Internet Information Services). These web services can re-write URLs. This process involves manipulating the web address by the server web service application, and this method is an offshoot of the proxy or virtual server solution.
  • SCO URL Callback Technique involves communication between the LMS and the content server through an HTML wrapper page that resides on the same domain as the LMS. That wrapper page then interacts with the content server to deliver the content. So, in this solution, the wrapper is actually the SCO.

The Avsoft Way

Avsoft uses the last technique because it works extremely well with our database driven solution. When we distribute courses with RD3, we use the manifests specified by the SCORM standard. But since we only distribute the wrapper, our manifests are extremely small – usually less than 2 mbs, and that’s irrespective of the size of the course.

Our wrapper is designed to deliver a player that actually resides on our server, so we’re able to update the course player at any time without having to ask our customers to update a manifest on their server. Since the course is actually database driven, we’re able to push updates without having to perform an update on the LMS side.

Share This Story

About Avsoft

Avsoft proudly provides pilot training solutions to airlines and ATOs around the world. We would love to help your organization as well. We offer a wide range of effective and proven pilot training products, all available here 24/7/365.

Learn more