Embed the Go1 Catalogue in your application

Enable your customers to discover, select and import Go1 content to your application, using the embeddable Go1 Catalogue component.

Overview

This guide demonstrates the process for embedding the Go1 Catalogue component within your application. By following the steps of this guide, you will achieve an understanding of:

  • What the Go1 Catalogue is, how it works, and why/why not to embed it within your application
  • How to embed the component within your application
  • How to customize the component to suit your brand/UX
  • Upstream and downstream considerations that need to be resolved as part of your implementation

What is it, and why would you use the Go1 Catalogue component?

The Go1 Catalogue component is an embeddable content discovery and curation interface, that enables integrators to easily and quickly surface the entire Go1 library within their application. The tool comes pre-fit with Go1's search and filtering capabilities, allowing customers within your application to easily discover and select the content they wish to consume.

The purpose of the Catalogue component is for users to browse the entire Go1 library seamlessly within your application, then shortlist the content they are interested in by adding content to their My Library collection within the Catalogue tool. After their content selection is complete, the collection can then be imported to your application using a series of API requests. We'll cover these steps in greater detail in the implementation sections below.

Embedding the Go1 Catalogue component is the fastest path to a working Go1 integration, and enables you to:
a) Develop a fast time-to-market content offering (comparative to building your own catalogue via our deeper API tooling),
b) Leverage existing role-based access within your application to control your users access to the Catalogue,
c) Provide an embedded content browsing experience, so users don't have to leave your application to consume Go1 content.

null

Embedding the Catalogue component is not recommending in situations where you wish to introduce the Go1 library natively within your application using your existing user interface look and feel. Instead, we would recommend using the REST API to build your own content catalogue (using the REST API).

How it works

The user experience for this integration pattern follows the below steps:

  1. A customer user in your application opens the Go1 Catalogue
  2. Your application generates an authenticated one-time login URL to the Go1 Catalogue component via the API
  3. Your application loads the returned Catalogue URL within your application for the user to access
  4. The user uses the Go1 Catalogue component to add content to their My Library collection
  5. The user triggers an import button that you must create within your application, to initiate importing their My Library collection from Go1 to your platform
  6. Your application fetches the customers My Library collection (SCORM packages and content metadata) via the API, and imports the content to your application, ready for use.

Before commencing this process you would need to consider which type of users in your application would need access to the Catalogue component, and how they would access it (ie. where you'll launch the Catalogue from in your application). Typically, gating a single button to ‘view’ the Content Selector behind an LMS Admin-level restricted section is the most straightforward method to support the Catalogue experience.

After considering where to launch the Catalogue from, you'll need to create the interaction to support the launch. As mentioned in the steps above, this is done by (1) Generating an authenticated one-time login link via the Go1 API, and (2) opening this link in a modal/iframe/new-page within your application. See the below gif as an example.

null

The user would then explore the Go1 Content, curating content they wish to use and adding that to the My Library collection. Lastly, you'll need to build a process within your platform that retrieves the content in the user's My Library collection from the Go1 API, and then adds it as a course in that user tenant in your application. This is typically achieved by providing a Sync/Import button around the Catalogue iframe, as you can see in the example gif above.

The Import button would trigger an API request on-demand to fetch everything in the My Library collection:

GET https://api.go1.com/v2/learning-objects?offset=0&limit=50&collection=default

To further improve this process, you could store a reference to the learning objects returned, creating a delta of the learning objects in the response against what has currently been synced to the LMS, and then fetching those that are new/removing those no longer needed.

Implementation steps

In the steps below we'll walk through how to build the integrated Go1 Catalogue in your application.

Step 1. Design the experience you want to create in your application

Step 2. Generating an authenticated one-time login link to the Go1 Catalogue

Step 3. Syncing content from the Go1 Catalogue