Follow

How To Use SCORM Cloud Dispatch As An LTI 1.3 Tool

Avatar

Introduction

With the latest update of SCORM Cloud, we introduced a new way of distributing a Dispatch: as an LTI 1.3 Tool! Previously, SCORM Cloud only supported BLTI, which was an early predecessor of LTI 1.3, but this new update allows for easy integration between your existing course catalog in SCORM Cloud with LTI 1.3 Platforms, such as Moodle and Canvas.

So how can you get started using LTI 1.3 Dispatch in Cloud? Below we'll walk through the steps needed to set up and launch your course in Moodle by using the new LTI 1.3 Dispatch feature. The steps to recreate this in Canvas are very similar, although some of the terminology is different between the two.

Terminology

Before we get too far into things, we should go over a few terms that will be used throughout, and what their counterparts are in SCORM Cloud.

  • Tool - defined by IMS as "the external application or service providing functionality to the platform." In other words, this is the container where your content lives. Tools were known as tool provider prior to LTI 1.3.
    • SCORM Cloud equivalent: SCORM Cloud Dispatch
  • Platform - defined by IMS as "any kind of platform that needs to delegate bits of functionality out to a suite of tools." This is usually an LMS or something similar, so in this example the platform will be Moodle. Platforms were known as tool consumers prior to LTI 1.3.
    • SCORM Cloud equivalent: none (for now)
  • LTI Link (aka Resource Link) - defined by IMS as "a reference to a specific tool stored by a platform which may, for example, lead to a specific resource or content hosted on the tool." Simply, it's a launchable piece of LTI content.
    • SCORM Cloud equivalent: course

Let's Get To it!

Configuring an External Tool in Moodle

The first step of this process is to create an external tool in Moodle. To do that, you'll first want to call GetLti13ToolConfigurationSchema for your destination, which will return something like the following:

{
"publicKey": "{public key value}",
"oidcLoginInitiationsUrl": "https://cloud.scorm.com/api/v2/dispatch/destinations/lti13/oidcLoginInitiation?externalConfig=...",
"redirectUri": "https://cloud.scorm.com/api/v2/dispatch/destinations/lti13/launches",
"jsonWebKeySetUrl": "https://cloud.scorm.com/api/v2/dispatch/destinations/lti13/jwks?externalConfig=..."
}

Next, you'll want to log into Moodle and go to Site Administration > Plugins > Activity Modules > External Tool > Manage Tools, as circled below:

Screen_Shot_2022-01-06_at_2.49.02_PM.png

click here to enlarge image

Then from there, click "configure a tool manually":

Screen_Shot_2022-01-06_at_2.50.54_PM.png

click here to enlarge image

Once on that page, you can enter the information from the GetLti13ToolConfigurationSchema into your tool, so you'll end up with something like this:

Screen_Shot_2022-01-06_at_2.57.20_PM.png

click here to enlarge image

A couple things worth noting here: first off, make sure to select "LTI 1.3" as the LTI version. Second, for the "Tool URL", just use "https://cloud.scorm.com", or even just "cloud.scorm.com". This URL is used to match a tool configuration with a course in the later steps, so keeping it simple is usually best.

Second, the values returned from GetLti13ToolConfigurationSchema match up with the values in the Moodle tool as follows:

  • Public keyset = jsonWebKeySetUrl
  • RSA key = publicKey
  • Initiate login URL = oidcLoginInitiationsUrl
  • Redirection URI(s) = redirectUri

Lastly, if you don't want to use the destination's jsonWebKeySetUrl, and instead just want to use the publicKey, you'd select a "Public key type" of "RSA Key", and then copy the entire {public key value} from above into the box that will show up. The value returned from the SCORM Cloud API will be encoded (e.g. will contain "\n" instead of a new line), so be sure to decode it before copying it into your Moodle tool.

Configure Your Destination to Use Your Platform

Before you can add a resource to your platform, you'll have to configure your tool for use with the platform using the SetDestination API call. First, you'll need some values by clicking this button on your list of tools in Moodle:

Screen_Shot_2022-01-06_at_3.11.48_PM.png

Which should pop open a box like the following (all these values will be populated, but they've been removed in this example):

Screen_Shot_2022-01-06_at_3.20.43_PM.png

You'll then make an API call to SetDestination with a body like the following, filling in the values from the box above:

{
"lti13Data": {
"clientId": "Client ID",
"platformIssuerIdentifier": "Platform ID",
"deploymentId": "Deployment ID",
"oidcAuthorizationEndpoint": "Authentication request URL",
"jsonWebKeySetUrl": "Public keyset URL",
"accessTokenUrl": "Access token URL"
}
}

If this call is successful, a subsequent call to GetDestination should return something like the following:

{
"name": "SCORMCloudLti13Test",
"tags": [],
"lti13Data": {
"clientId": "Client ID",
"platformIssuerIdentifier": "Platform ID",
"deploymentId": "Deployment ID",
"oidcAuthorizationEndpoint": "Authentication request URL",
"jsonWebKeySetUrl": "Public keyset URL",
"accessTokenUrl": "Access token URL"
}
}

Adding a Resource to the External Tool

Once your external tool is created using the SCORM Cloud destination information, and the destination has been configured with the platform values, it's time to configure the resource using SCORM Cloud Dispatch.

First, go to an existing course in Moodle (or create a new one), and click "Add an activity or resource":

Screen_Shot_2022-01-06_at_3.08.09_PM.png

click here to enlarge image

Then click "External tool":

Screen_Shot_2022-01-06_at_3.09.20_PM.png

From here, you'll need to make an API call to GetLti13Dispatch, which will return a "targetLinkUrl" that looks something like this:

"targetLinkUri": "https://cloud.scorm.com/api/v2/dispatch/dispatches/lti13Dispatch/launches?externalConfig=...

Enter this URL as the "Tool URL" as shown below:

Screen_Shot_2022-01-06_at_3.34.49_PM.png

click here to enlarge image

Note the checkmark and "Using tool configuration: SCORM Cloud LTI 1.3 Testing" message, meaning that it is successfully connected with the external tool we configured earlier. If this does not appear, make sure the value you used for "Tool URL" when creating the external tool is just "cloud.scorm.com".

Launch and Enjoy!

Congratulations! You've successfully distributed your content into Moodle using LTI 1.3 Dispatch in SCORM Cloud! You can now assign the course and launch it as you would in any other LMS. Just like with other ways of distributing a SCORM Cloud Dispatch, you'll be able to track registrations in SCORM Cloud separately from your LTI Platform.

Troubleshooting

Assignment and Grade Services

If you see issues with grades appearing for your newly created tool, try changing the "IMS LTI Assignment and Grade Services" value in your external tool's settings to "Use this service for grade sync and column management":

Screen_Shot_2022-01-06_at_4.14.41_PM.png

click here to enlarge image

Invalid "clientId" property

After walking through these steps, you might run into the following error message:

Screen_Shot_2022-01-11_at_2.06.01_PM.png

click here to enlarge image

If you see this message, then most likely your resource is configured using the wrong external tool. This can happen if you have multiple tools that are set up with similar Tool URLs.

To fix this issue, simple edit the resource and choose the tool you set up earlier from the dropdown under "Preconfigured Tool".

Can I do this in the SCORM Cloud UI?

As of the time of the writing of this article, there isn't a way to perform these tasks in the SCORM Cloud UI. We are constantly working on improving the SCORM Cloud user experience, so we do have plans to provide a way to do everything outlined here via the UI. However as of right now, it's only possible to use LTI 1.3 Dispatch in SCORM Cloud through the API.

As always, if you have any questions or concerns, feel free to reach out to support@rusticisoftware.com

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request
Powered by Zendesk