Brightspace by D2L is a popular learning management system among large K-12 districts in Canada and the United States. Many of the schools and institutions that have adopted Brightspace are looking for edtech vendors who have solutions that are interoperable with the LMS.

There are two ways to provide an LMS integration with Brightspace: through API integration or through LTI® integration. Our team frequently receives questions about the difference between the two and how they work. In this article, we'll discuss these two methods and how to use them to integrate with Brightspace.

LTI Integration for Brightspace

LTI (or, Learning Tools Interoperability®) is a standard from the IMS Global Learning Consortium® that several learning platforms have adopted to provide interoperability. Applications that are LTI-compliant can work with any platform that is also LTI-compliant, as long as it's a supported version of LTI.

Brightspace supports the most recent releases of the LTI standard: LTI v1.3 and LTI Advantage. Brightspace allows users to launch into an LTI app from inside Brightspace, itself. Typically, the app appears inside of an iframe in Brightspace. Since Brightspace supports LTI Advantage, your app can use the improved grade passback and enrollment provisioning services offered by LTI Advantage.

API Integration for Brightspace

API integration allows apps to directly communicate with Brightspace through the proprietary Brightspace API. Users can authenticate into an external app using their Brightspace credentials through an OAuth 2.0 workflow. Once the app and Brightspace authenticate the user, the app can then act on behalf of the user. This means the app can perform functions, such as sending back grades to the user's gradebook or creating new assignments, in Brightspace programmatically via the Brightspace API. This is all done while the user is on the app and not in Brightspace.

It's important to keep in mind that there are several versions of Brightspace API. Some of these versions overlap and some are only supported in certain versions of Brightspace. This can create issues if you are working with multiple clients who are all running different versions of Brightspace, as you have to make sure that your API calls are valid for each instance.

Note that large schools and universities may be running different versions of Brightspace on their own in-house servers. Others may use a cloud service, like Brightspace Cloud. An app that works for one district's Brightspace environment might appear or work differently in another's.

D2L (the company behind Brightspace) requires edtech developers who are interested in implementing a Brightspace integration to register for a Brightspace developer account. Once your account is registered, you can use the Manage Extensibility tool to register your app (which is required to create any Brightspace application) and to retrieve OAuth 2.0 credentials (which are required to implement SSO). Developers can use SDK packages that are provided by D2L to create development environments for testing.

Should I Use API or LTI to Create a Brightspace Integration?

The type of integration that you should build will depend on the needs of your customer. Some schools particularly need LTI integration with their Brightspace environments. Others may be looking for a solution that includes features that are better supported by API integration, such as school or district-wide rostering and assignment creation. Thus, having solutions for both situations can prove to be valuable when trying to work with several schools.

Read More on Brightspace

Here are other articles we’ve written on Brightspace to help you on your journey:

If you're looking for a partner who can help guide you through developing LMS integrations (like these), then let’s introduce ourselves. We’re Edlink!