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. See Online Version for Updates
Learning Standards Platform
Engine represents a sophisticated learning standards platform. Our hope is that we have developed sufficient expertise in the various learning standards we support 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"), cmi5, LTI 1.1, and LTI 1.3. These standards are described broadly below.
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. All of this is pulled into a single ZIP archive for distribution.
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.
This discovery algorithm comes with 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 acronym that stands for 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). Like SCORM courses, 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 serves as the repository for these 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.
The IMS Learning Tools Interoperability (LTI®) standard prescribes a way to easily and securely connect learning applications and tools with platforms like learning management systems (LMS), portals, and learning object repositories on your premise or in the cloud, in a secure and standard manner and without the need for expensive custom programming.
For LTI the system integrating Engine will act as the LTI Platform.