Learning Tools Interoperability (LTI) is a standard protocol that allows modern Learning Management Systems (LMS) to interact with external applications, such as our video player. This communication enables the LMS to customize information within these external tools and, conversely, allows these applications to report user actions back to the LMS.
Our LTI integration streamlines this functionality directly within our Interactive Studio. For detailed instructions on leveraging this integration, please consult the information provided on this page.
1.0 | Embedding our player
To embed our player within your LTI powered LMS, you will need to perform the following steps:
- Go to the preview & embed page
- Select “LTI” as the Embed type
- Select the desired LTI integration type
- LTI Advantage
- LTI 1.3 Manual
- Select the desired Playout
1.1 | LTI 1.3 Advantage
If your LMS supports LTI Advantage, you will need to provide the Registration endpoint to the corresponding configuration field in your LMS. Please refer to the documentation of your LMS to find the relevant place to do so.
- Click on the “Copy” button below the the “Registration endpoint” field
- Navigate to the relevant section of your LMS and paste the Registration endpoint in the corresponding field.
1.2 | LTI 1.3 Manual
If your LMS supports LTI 1.3 Manual, you will need to provide several configuration fields to the corresponding configuration fields in your LMS. Please refer to the documentation of your LMS to find the relevant place(s) to do so.
- Click on the “Configure integration” button
- From the popup copy the values of the following configuration fields and paste them into the corresponding fields in your LMS:
- Tool URL
- Login URL
- Redirection URL
- Public key type
- Public keyset
- In your LMS, save the changes you just applied
- You should now be provided with the following configuration fields:
- Authentication URL
- Access token URL
- Public keyset URL
- Past these values in the corresponding configuration fields within the OVP
- Click on the “Finish integration” button
2.0 | Communicating with LTI
Communicating with the LMS through LTI can be done by adding custom code to events to your timeline. You can add these custom code events to the OnShow, OnClick, OnHide and other actions.
- Open the Studio for the relevant clip, timeline or template
- Add a button with the label “Click me for a perfect score”
- Click on the “OnClick” button
- Click on the “+” button and select “run script”
- In the code editor, add
ltiClient.publishScore(75, 100);
- Save and publish your changes
- Preview the changes within the LMS
2.1 | Supported options
Below, you can find an overview of the currently supported options and how to call them from within the Studio.
2.1.1 | Grade a course
LTI allows you to grade a course by giving it a score out of a maximum score that can be configured within the LMS.
ltiClient.publishScore(75, 100);
You will need to provide the following properties:
- A scoreGiven value for the grade that the user achieved
- A scoreMaximum for the maximum grade for the course
You can configure the scoreMaximum within the LMS.
2.1.2 | activityProgress
You can update the progress of a course by updating the activityProgress value.
ltiClient.publishScore(100,100,'Completed');
Supported values for the activityProgress are:
- Initialized
- Started
- InProgress
- Submitted
- Completed
Note: To update the activityProgress, you also need to provide a scoreGiven and scoreMaximum value.
2.1.3 | gradingProgress
You can update the grading progress of a course by updating the gradingProgress value.
ltiClient.publishScore(10,10,'Completed','FullyGraded');
Supported values for the gradingProgress are:
- Pending
- PendingManual
- Failed
- FullyGraded
- NotReady
Note: To update the gradingProgress, you also need to provide a scoreGiven, scoreMaximum and activityProgress value.
2.1.4 | Personalise a video
If you want to personalise the video, you can use the oidcClaims method by running the following script and saving the name of the user in local storage:
localStorage.setItem('bbtl_loggedInUser', ltiClient.oidcClaims.name);
Supported values to use in combination with the oidcClames method are:
- name
- givenName
- familyName
If you’re not familiar with local storage, please refer to the support document on local storage: https://support.bluebillywig.com/interactivity/local-storage-ifthen-statements/