xAPI Content Player

Industries
Education & E-Learning
Expertise
Application Development
Technologies
.NET
Client

Our client is a global provider of cloud-based learning management systems (LMS) for millions of students and teachers worldwide. They also provide educational institutions with a range of technical services, from one-off training sessions through to full-scale system implementations.

LMSs are digital platforms that enable educational institutions to design, develop and host e-learning courses, giving learners on-demand access to their content and allowing institutions to better analyze their students’ learning outcomes.
Challenge

Some time ago the client asked us to deliver a solution for playing xAPI-packaged content. One of the educational institutions using the LMS had large volumes of course materials that were created using xAPI.

Their core need was to upload and play xAPI-packaged materials in LMS. Besides, it was expected that the LMS will be able to report on the data, including usage and other metrics tracked by xAPI.

SCORM is a widely used e-learning standard. Any SCORM-conformant content can be played in any SCORM-conformant LMS. The standard comprises a description of learning materials and structures (Content Aggregation Model), the rules of learners’ navigation through the learning course (Sequence section), and specification of how content should be launched and how it communicates with the LMS (Runtime section).
xAPI (or Experience API, or Tin Can API) is a specification created to replace SCORM and overcome its downsides. xAPI is based on REST architecture. It stores all information about the learners’ activities in Learning Record Store (LRS). This allows gathering data on all learners’ interactions with learning materials, and to play the course without LMS, on mobile platforms and even in offline mode (syncing data as soon as the device goes online).
Solution

The solution was to add SCORM engine with xAPI support as a part of LMS application. The engine was to handle the import, launch, and tracking of a learner's progress through a course.

We considered several alternative ways of implementing this request and finally settled on Rustici SCORM Engine. Among its advantages, it has rich features (including LRS and xAPI support), it is cross-browser (JS-based) and can be integrated through Web APIs. It is also properly documented.

We developed a stand-alone .NET web application, which included a set of REST services for integrating with an existing LMS web application. The application enabled the client's product to import, launch, and track courses using modern standards such as xAPI/CMI5 and SCORM 2004 (2nd, 3rd, and 4th editions), while maintaining backward compatibility with legacy formats like SCORM 1.2. Additionally, the application included an xAPI-conformant Learning Record Store (LRS).

The developed solution allowed us to make minimum changes to the client’s existing codebase. It took about 4 months from the initial client's request to the actual release.

Results & Benefits

More than 20 educational institutions are still actively using SCORM-based learning content. They upload 400+ packages each month and play some of them using Rustici. Possibility to use such content saves the educators much time and money, and thus makes the interoperability vitally important for the LMS to hold a significant part of the market.

Related Cases

Read all

RTSM Solution: Data Ingestion Improvement

Removing issues in data architecture and processing in order to provide a solid foundation for future growth of the platform.

LMS Content Import and Export Feature

A solution for importing and exporting content from / to Moodle and IMSCC platforms.

Content Generation with Copilot Studio and MCP Servers

A solution to help new teachers rapidly adapt to the educational system while providing easy access to the existing content base.