The Platform Notification Service LTI Standard creates a new channel for external learning tools to communicate outside of an active user session in Brightspace, deepening the level of integration possible between External Learning Tools and D2L Brightspace.
When enabled, Platform Notification Service 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.
Handler endpoints for Platform Notification Service
Tools can register handler endpoints for specific notice types. In response to certain actions performed within Brightspace, a signed JWT payload will be posted to the registered endpoint containing LTI data relevant to the given notice type.
Enablement of Platform Notification Service
The Platform Notification Service extension needs to be enabled for the tool integration before it can be used. The enablement process is like other LTI extensions currently available. This new service can be enabled through Dynamic Registration, APIs or through the UI.
You can enable Platform Notification Service at the registration (Manage Extensibility) and deployment (External Learning Tools). Context Copy Notice must also be enabled at tool deployment. This enables external learning tools to subscribe to webhook event notices.
For more information about how to enable Platform Notification Service and Context Copy Notice in Brightspace during both registration and deployment, refer to the Tool Registration, Deployment, and Links topic.
Registration and Deployment APIs
Registration and Deployment APIs are available to create and update integrations that use the platform notification service. Platform Notification Service needs to be enabled at the registration level and deployment level, and then individual notice types also need to be enabled at the deployment level.
Dynamic Registration
Platform Notification Service can be enabled through Dynamic Registration. The notice types supported by the platform are included in the platform configuration claim. Tools should expect new notices to be added to this claim as additional notice types are added to this service.
Functionality
Once enabled, Platform Notification Service allows tools to register and update a handler to receive notices.
Notices will be sent to the registered handler according to the specific notice definitions described below. Each notice type is intended to have a specific use case.
Handler API
Platform Notification Service provides an API to allow tools to GET a list of handlers that currently exist for that integration and PUT updates to those handlers. The PUT API allows new handlers to be set up, existing handlers to be updated, or to delete handlers. The API endpoint is defined in the LTI launch under the Platform Notification Service claim, and has the following format.
/d2l/api/lti/pns/[version]/handlers/deployment/[DeploymentID]
The following validation occurs on the registered handler. These criteria must be met before a handler is registered:
- use https
- a valid URL
- Must be rooted in the tool’s registration domain or match a registered Redirect URL.
Notices Supported
The list of notices supported are shown in the launch claim. The first release of Platform Notification Service has the Context Copy Notice. There is also test notice which can be made available upon request to test an integration without using Brightspace specific events.
The test notice appears as follows:
"notice_types_supported":[
0:"LtiContextCopyNotice"
Context Copy Notice
The Context Copy Notice informs the tool when a course copy event happens within the tool’s sharing rules of the deployment. The notice includes the origin course context ID and the destination Course ID. The destination course name and course description are also included if the Org Unit Information Security setting is enabled for that deployment.
The origin copy course does not need to be included in the tool’s sharing rules for a notice to be sent. Only the destination course ID needs to be in the tool’s sharing rules.
Any course copy process (for example, manual, bulk, or API) creates a context copy event to send to the tool.
Message Format
Tools receive a signed JSON payload. This payload is an array of one or more notices and follows the 1Edtech standard.
|
Note: For more information about the 1Edtech standard, refer to the 1EdTech website. |
Every notice will includes a unique ID and time. The ID and time are specific to the notice event (for example, Course Copy or Submission event); and the JSON information is unique to when the notice is being sent, not related to the content of the notice.
Retry Logic
Retries are not supported for the first release of this service. Retries are not currently required by the standard.
Stopping Notices
The following options are available to stop sending notices to the tool. The first three options can be completed through Brightspace or by API by an administrator:
- Disable the specific notice type at deployment
- Disable Platform Notification Service at deployment: This disables all notice types for that deployment.
- Disable Platform Notification Service at the Registration: This disables Platform Notification Service and all notice types for all deployments under that registration.
- Remove the message handler(s) for that tool integration: This option can only be done by the tool.
User Experience
Platform Notification Service is a platform-to-tool service. These notices do not surface directly to learners, instructors, or administrators. By receiving these notices tools can enhance the level of service provided through their integrations. The benefit received by learners, instructors, and administrators by the Context Copy Notice is more reliable LTI content after course copies. The Context Copy information enables tools to have visibility of course copy events on the platform which assists in preventing course copy problems.