Download and play content as SCORM

Download learning objects as SCORM to playback in your platform.

Overview

Go1 provides a mechanism to retrieve all of its content objects as SCORM - and follows the SCORM standard for user progress and completion of content (not familiar with SCORM, click here). if your application is SCORM compliant, then all logic around user provisioning, course enrolments, progress and completion will be automatically handled.

Go1 content can be downloaded via the API as binary SCORM files, which can then be imported to your platform. Once imported you can choose how to make these objects available to your users for consumption. This article walks through the process of downloading Go1 Learning Objects as SCORM. If you maintain a SCORM player, this method is often the most convenient way to retrieve and play Go1 content in your application.

How it works

Go1 utilises our 'SCORM wrapper' technology to provide our content to third party systems for consumption. The SCORM wrapper embeds each Go1 learning object as a SCORM file, which can be downloaded in .zip format via the API.

Retrieving a SCORM Package via the API

Retrieving a learning object as SCORM is done via a simple GET request to the Learning Objects endpoint, requesting the SCORM package by passing in the LO-ID of the object you would like to retrieve: https://api.go1.com/v2/learning-objects/<LO-ID>/scorm.

What is a LO-ID? In the Go1 database, each learning object (LO) is identified by a unique id. This is referred to as a LO-ID. Using the Learning Objects endpoint, you can retrieve a list of all learning objects and their associated LO-ID's. See List Learning objects API Reference for more information on how to retrieve Learning objects.

Once you have the downloaded SCORM file, this can be imported and played via the native SCORM player in your application. When played, the user will see and interact with an embedded piece of content that is maintained on the Go1 servers. Due to the SCORM wrapper technology, all of the SCORM files you retrieve via the API are extremely lightweight, around 8kb per file.

Content playback within your SCORM Player

Via the SCORM wrapper, Go1 takes care of the heavy lifting by managing your learner's ability to access the content. When a user on your platform opens a Go1 SCORM wrapper, Go1 will automatically provision a unique Go1 user record for them within the user's Customer Portal - which will be used to track enrolments, progress and completions.

  • If the user doesn’t exist within Go1, Go1 will create them
  • If the user does exist within Go1, Go1 will reference this user

Go1 will then maintain all user course activity Go1, which will be automatically passed through the SCORM standard to track progress and completion of learning. For more information on how content consumption and tracking via our SCORM wrapper works, see our SCORM Native Tracking article.

It's also important to note, that each downloaded SCORM file is unique to a customer account (Go1 portal). When you want to retrieve and play Go1 content for a customer via the API, you will be required to pass the customer access_token to retrieve content.

Preparation

As a prerequisite to the implementation steps outlined below, we recommend familiarizing yourself with our Content Discovery concept pages. These concepts will discuss how to List Go1 Content and Content Metadata via the Learning Objects endpoint. Implementation of this concept is generally required before building the play functionality.

Implementation Steps

Step 1. Download Learning Object as a SCORM package

To download a learning object as a SCORM package, make a GET request to https://api.go1.com/v2/learning-objects/<LO-ID>/scorm, replacing <LO-ID> with the unique id of the learning object you wish to download.

curl --location -g --request GET 'https://api.go1.com/v2/learning-objects/<LO-ID>/scorm' \
--header 'Authorization: Bearer <CUSTOMER_ACCESS_TOKEN>'

When a successful request is made, the API will return with a SCORM package as a binary file in .zip format. Note, this request can be used to retrieve only one Learning Objects SCORM package at a time. If you are retrieving several SCORM packages from the Go1 library, you may need to build a mechanism to loop through a list of Learning Object ID's downloading each SCORM package one by one.

Once you have retrieved the SCORM package, based on your platform's functionality, as well as your integration use-case, you may surface the content in a way that is meaningful to your end-users. Some examples might include:

  • Ingesting and playing the retrieved SCORM package for learners immediately within your platform
  • Adding the retrieved SCORM package to a course, learning pathway or classroom that your admin users are preparing within your platform

Ultimately, how you interact with the endpoint, surface, and play the content is up to you.