See Online Version for Updates

What is Engine?

Engine is an integratable learning standards platform that provides a common API for learning applications to import, launch, and track standardized e-learning content properly, without requiring any internal code to support these standards or even keep track of the underlying structure of content.

Engine is found behind the scenes in hundreds of learning management systems (LMSs) and other learning applications throughout the world.

2017.1 Release

Integrated Support For Amazon's S3 Storage & Cloudfront CDN

Engine now provides built in support for the Amazon AWS environment. Using Engine's built in AWS support you can securely store your course content in Amazon's S3 data store. This functionality is made available in conjunction with Amazon's Cloudfront CDN solution. Using Amazon Cloudfront to access your course content stored on S3 and your Engine application servers allows you to move your course content to Amazon's geographically located content stores so that your content can be made available to your learners more quickly.

Remote Content Hosting & Launching

For customers that need to host their content in a remote location(non-Amazon content store, a CDN solution, or any number of other reasons) we've made some significant changes to the way we handle our SCORM content playback. To support these types of deployments, we've done a lot of work to decouple the client side Javascript from our backend application. This enables you to place our client side javascript files onto whatever server you deliver the rest of your course content from and deliver that course content without running into any of the traditional cross-domain javascript communication issues. If you think this might be a feature you'd benefit from please reach out to us, we'd love to talk through your use case with you.

Improved Player UI

We continue to iterate on the design and layout of the new Engine Player UI. As we've worked with early customers deploying this feature, we've been able to identify a number of areas for improvement and roll those changes into this release.

Accessibility Improvements to support customers pursuing 508 compliance

We've had a number of customers ask us about the Engine and 508 compliance. While the Engine has never needed to be certified itself, as a building block for other applications it's important to us that our application provides the accessibility features needed so that our customers can confidently provide that support to their customers. As we've worked on updating, changing, and improving the Player UI, we've also been able to make significant changes to the way we structure our Player to allow it to more easily cooperate with screen readers. This was an effort we pursued with one of our customers and we're really excited for the opportunity to share the outcome of that collaboration with all of our customers.

Expanded PENS Support

The Package Exchange Notification System (PENS) sees a lot of use by some of our customers and very little by others. You can read more about how PENS is helping content publishers send content directly to LMSs here ( In this release we're moving forward with a plan to expand PENS support in Engine. While we're confident the specification will catch up to new and emerging learning standards, we don't want to stand in the way of our customers using PENS for these new standards. To that end, we'll be including support for content types in PENS of "cmi5", "xapi", and "tcapi". Any of these will now be recognized in the PENS request and processed. If you have questions about PENS, or you already use PENS and want to know how to make use of this expanded support please let us know.

xAPI Conformance

xAPI Conformance is here. ADL has now officially released the xAPI conformance test suite. Good news is that Engine is xAPI conformant (see here: That said, we've tried to go one step past that. It's been our experience that our customers often just need things to work. To make sure this remains possible we've added a configurable option to run the Engine's LRS in a "strict" mode or "permissive" mode based on the needs of the organization. We always recommend running in strict mode but customers with legacy xAPI content or content sources they can't control may benefit from our permissive mode.

Performance Improvements

We've made some performance improvements, most notably to the critical area of creating and updating registrations. This involves a change to the way registrations are stored, so it requires an opt-in see:StoreRuntimeDataAsLob .

Learning Standards Platform

Engine represents a sophisticated learning standards platform. Our hope is that we have developed sufficient learning standards expertise so that you don't have to. For that reason, it's our ambition that you would never have to read a technical specification for any of the standards supported by Engine.

That said, we do think it's reasonable for us to briefly describe what Engine supports. Engine seeks to offer reference standard support for SCORM 1.1, SCORM 1.2, SCORM 2004 (2nd, 3rd, & 4th editions), AICC (versions 2.2 and 3.5/4.0 of HACP), the Experience API ("xAPI", formerly "Tin Can API"), and cmi5.

These standards are described broadly below.

In general, though, you're going to have some sort of package in a ZIP file (though sometimes you have a link), you're going to import it, you're going to launch it, and then Engine will handle all the heavy lifting necessary to abide by the terms of the specification and manage communication and tracking within your application.


SCORM is an acronym for "Shareable Content Object Reference Model". Developed by the Advanced Distributed Learning Initiative (ADL), SCORM has, for more than a decade, offered interoperability to a variety of organizations involved in providing online learning and training.

SCORM Packages have a manifest describing metadata, sequencing rules (if applicable), and resources used by the content. The packages exist as ZIP archives.

SCORM relies on a content player. SCORM content launched in the player uses an API discovery algorithm to locate the SCORM API in the player and then makes calls against the API intended to be tracked by an LMS.

The discovery algorithm created a longstanding frustration: content must reside on the same domain as the player. This means that there are limitations presented in trying to use content delivery networks (CDNs) to serve content or to host the content remotely from where the SCORM player is located.


AICC is an initialism of the Aviation Industry Computer-Based Training Committee, which produced a learning standard of the same name. Though the AICC organization dissolved in 2014, they transferred important technical documents to ADL for ongoing public availability.

AICC uses assignable units (AUs) and the HTTP AICC Communication Protocol (HACP).

AICC packages are also ZIP archives, although instead of containing a single manifest file, they often contain a Course Description (.crs) file, a Descriptor (.des) file, an Assignable Unit (.au) file, and a Course Structure (.cst) file.

Because HACP communication occurs over HTTP rather than requiring API discovery in the client, AICC allows for remotely hosted content to be successfully launched and tracked by an LMS.

xAPI (Tin Can)

The Experience API (xAPI, for short and previously called "Tin Can API" from Project Tin Can) is part of ADL's Training and Learning Architecture and was developed as a successor to SCORM.

xAPI has a few fundamental concepts:

  • an activity provider, which generates statements of the form <I> <did> <this>
  • a learning record store (LRS), which is the repository for the statements
  • a trust relationship between the activity provider and the LRS


Originally, cmi5 was intended to be the successor to AICC. Prior to dissolution, AICC agreed to merge the development of cmi5 with xAPI, and it now offers a standardized "profile" for importing, launching, and tracking content in a manner reminiscent of aspects of SCORM and AICC. Support for cmi5 was new in Engine 2016.1.

results matching ""

    No results matching ""