Register an external learning tool for LTI Advantage
Registration is the first step of integrating a tool with a platform and completes the security and single sign-on (SSO) process of the integration.
|
Important: An external learning tool can only have one functioning domain registered with a platform.
|
The following information is relevant to the tool registration:
- Client Id: The ID used in OAuth2 authentication to make requests to the services (Names and Roles, Assignment and Grade)
- Brightspace Keyset URL: Where Brightspace keys are stored. Tools require this during the registration and are used during launch (D2L signs the launch message and the tool validates D2L's signature with this).
- Brightspace OAuth2 Access Token URL: Where tools go to retrieve new access tokens for OAuth2 service requests
- OpenId Connect Authentication Endpoint: The endpoint where Brightspace sends the login response
- Brightspace OAuth 2 Audience: The intended recipient of the token
- Issuer: The URL of the Brightspace instance.
|
Note: To register a tool, ensure the Manage LTI Advantage Tool Registrations and Manage LTI Advantage Tool Deployments permissions are set at the organization level. |
To register a tool
- From the Admin Tools menu, click Manage Extensibility.
- From the LTI Advantage tab, click Register Tool.
Figure: Click Register Tool to begin the process of registering a new tool.
- Choose either Dynamic or Standard registration, click Register.
- For Standard registration, complete the following fields (* indicates required fields):
- Name*
- Description
- Domain*: Domains can only be used in one enabled registration at a time. If you attempt to register a tool with a domain that is already in use, you will be prompted to disable the existing registration.
- Redirect URLs*: There should not be more than a few redirect URLs. Redirect URLs must be an exact match. Wildcarding is not supported.
- OpenID Connect Login URL*
- Target Link URL
- Keyset URL: You must enter a Keyset URL to add extensions.
- Extensions: You can optionally select from the following extensions:
- Assignments and Grade Services
- Deep Linking
- Names and Role Provisioning Services
- Platform Notification Service: You can enable Platform Notification Service during the registration process. This enables external learning tools to subscribe to webhook event notices. When enabled, Platform Notification Service allows external learning tools to register, update, and delete tool handlers to receive notices.
Figure: Select Platform Notification Service to enable external learning tools to subscribe to webhook event notices.
- Activity Item Profile
- Submission Review
- For Dynamic registration, complete the following fields:
- Enter the Dynamic Registration URL provided by the tool. It is optional to allow the tool to also create the deployment with links. Once the Dynamic Registration workflow is complete, the Registration is disabled by default as per the specification.
- It is recommended to review the Extensions, Parameters, and Security Settings (in the deployment if applicable) that the tool has asked for to ensure they meet your organization's use cases. Dynamic registration redirects to the tool’s endpoint in a new tab. This prevents same site and cross-site cookie issues.
- Under Roles, choose to send IMS role data for the Institution and Context roles or only the Context role. If the Send Institution Role checkbox is selected, Context and Institution roles are included in the role mapping from the IMS configuration when the tool is launched. The user's Context Role is also included unless the security setting at the Deployment is set to Anonymous. If the Send Institution Role checkbox is cleared, only Context roles are included.
- Substitution Parameters: Users can select from a pre-defined list of parameters that is dynamically substituted with a value from the LMS at the time of launch. Brightspace currently supports the following parameters:
- $Context.id.history
- $CourseOffering.sourcedId
- $CourseOffering.title
- $CourseSection.label
- $CourseSection.sourcedId
- $CourseSection.title
- $CourseSection.timeFrame.begin
- $CourseSection.timeFrame.end
- $CourseTemplate.sourcedId
- $CourseTemplate.title
- $Person.address.timezone
- $Person.email.primary
- $Person.name.family
- $Person.name.full
- $Person.name.given
- $Person.sourcedId
- $ResourceLink.available.startDateTime
- $ResourceLink.available.endDateTime
- $ResourceLink.description
- $ResourceLink.id.history
- $ResourceLink.submission.endDateTime
- $ResourceLink.title
- $User.id
- $User.username
- Custom Parameters: In instances where tools need to define both the name and value of a custom parameter, they can be defined here. These parameters are not dynamically replaced and are constrained to sending a static value for each launch.
- Click Register.
|
Note: Substitution Parameters and Custom Parameters created at the Registration level cascade to the Deployment and Link level. |
Deploy an external learning tool for LTI Advantage
Deployments allow sharing of registered tools in Brightspace to specific org units or descendants of parent org units. When you deploy a tool, specify the extensions available along with all the applicable security settings. A checkbox is available to allow LTI Administrators to set if all links below that level are automatically set to Open as External Resource.
|
Note: To deploy an external learning tool, ensure the Manage LTI Advantage Tool Registrations and Manage LTI Advantage Tool Deployments permissions are set at the organization level and the tool is registered. |
To deploy an external learning tool
- From the Admin Tools menu, click External Learning Tools.
- In the LTI Advantage tab, click New Deployment.
Figure: Click New Deployment in the LTI Advantage tab.
- From the Tool drop-down list, select Registration.
- Enter a Name and Description.
- Select an Extension:
- Platform Notification Service: You can also enable the Platform Notification Service as part of your deployment which allows external learning tools to register, update, and delete tool handlers to receive notices and enables a Context Copy Notice to inform tools when a course copy event occurs.
Figure: Select Platform Notification Service and Context Copy Notice if you want to enable Platform Notification Service for your deployment.
- Select the desired Security Settings and Configuration Settings.
- Set any required Substitution Parameters. Users can select from a pre-defined list of parameters that is dynamically substituted with a value from Brightspace at the time of launch. Brightspace currently supports the following parameters:
- $CourseSection.timeFrame.begin
- $CourseSection.timeFrame.end
- $ResourceLink.available.startDateTime
- $ResourceLink.available.endDateTime
- $ResourceLink.submission.endDateTime
- Set any required Custom Parameters: In instances where tools need to define both the name and value of a custom parameter, they can be defined here. These parameters are not dynamically replaced and are constrained to sending a static value for each launch.
- Select Add Org Units to authorize sharing of the tool.
- Click Create Deployment.
|
Note: Substitution and Custom parameters that you create at the Registration level cascade to the Deployment and Link level. After a deployment is created for that Tool, the Tool for that deployment can no longer be changed. |
Once the tool is successfully deployed, you receive a Deployment Id. This is a GUID-based globally unique ID for this specific deployment. It is used to uniquely reference this specific deployment of a registered tool, which may be required by the tool during setup.
Registered tools can have multiple deployments. Each individual deployment can be unique, supporting the ability for different LTI extensions and Security Settings per deployment. The deployment is what shares the learning tool to courses. The Add Org Units sharing button for deployments is how your new tool is made available to your courses.
Substitution and Custom Parameters can also be created at the Deployment level and cascade down to the link level. If parameters are created at the Registration level, they are visible at the Deployment and Link levels, but are greyed out and not editable. If a parameter is created at both the Registration and Deployment level, the Deployment parameter is used in the LTI launch.
Create an external learning link for LTI Advantage
When you successfully create a tool deployment, you need to create the LTI links. Links can be created for use in the org unit(s) from the deployment, or users with permissions can create individual links at the org level where the tool is deployed to. In cases where a tool requires multiple LTI links to be created per course or for many courses, the tool would provide a deep linking workflow to enable users to create the links quickly and easily.
Most integrations create the LTI links via deep linking. On occasion, you may need to create an LTI link manually. You can create these in the following ways:
- From the deployment page of a newly deployed tool, click View Links.
- Directly from the External Learning Tool page in a course, under LTI Advantage, you can add new links. Items highlighted and clickable in blue are links you can edit that are the course level. Greyed out link names are links created at the deployment level and cannot be edited at the course level. Note that links created at the org unit will not be visible from the deployment level.
|
Note: Links created for a deployment appear in all courses where the deployment is shared. Substitution and Custom Parameters can also be created at the Link level. If parameters are created at the Registration or Deployment level, they are visible at the link level, but are grayed out and not editable. If the same parameter is created at the Registration, Deployment and link level, the link parameter is used in the LTI launch.
|
<![CDATA[ ]]>
To create an LTI link
- From the Admin Tools menu, click External Learning Tools.
- On the LTI Advantage tab, select an existing deployment.
- Scroll to the bottom and click View Links.
- Click New Link.
- Specify the following fields on the Create Link section:
- Name: The desired name for your content selector. The name you specify here is the name that appears in the UI in other areas.
- URL: The launch point URL where the user navigates when they click the content selector.
- Description: An optional description to help users understand the tool.
- Type: The defined type dictates how the link can be used. The default value is Basic Launch, meaning the link only performs the usual LTI launch. For deep linking, select one of the following deep linking selector types supported by Brightspace:
- Deep Linking Quicklink: Exposes the link as a content selector in our quicklink menus.
- Deep Linking Insert Stuff: Exposes the link as a content selector in the Insert Stuff dialog of Brightspace Editor .
Note: The plugin used should be dictated by the tool provider.
- Width and Height: When selecting content, Brightspace opens an iFrame displaying the tool UI to discover content. These settings dictate the size of the iFrame.
- Substitution Parameters: You can select from a pre-defined list of parameters that is dynamically substituted with a value from Brightspace at the time of launch. Brightspace currently supports the following parameters:
- $CourseSection.timeFrame.begin
- $CourseSection.timeFrame.end
- $ResourceLink.available.startDateTime
- $ResourceLink.available.endDateTime
- $ResourceLink.submission.endDateTime
- Custom Parameters: In instances where tools need to define both the name and value of a custom parameter, they can be defined here. These parameters are not dynamically replaced and are constrained to sending a static value for each launch.
-
Click Save and Close.
|
Note: The following workflows result in a link defaulting to Open as External Resource regardless of the Deployment setting: - Lessons experience: if a link is added from Content > Existing Activities > External Learning Tools.
- Brightspace Editor: Quicklinks created via CIM.
Substitution and Custom parameters that are shared from the Registration or Deployment level are grayed out at the link level and are not editable. If a duplicate parameter is created at the link level, the link parameter details are included in the launch. |