Building new LMS integrations can be tricky. Here are 5 tips developers can keep in mind to create successful integrations.

1. Understand the data architecture of each LMS.

Each LMS structures its data differently. Developers might find the way to handle data from one LMS doesn't make sense when the same integration is applied to another LMS.

Take Google Classroom for example. This LMS doesn’t have a native understanding of what a school hierarchy looks like.

Users in Google Workspace are grouped by “organizational units” that the school creates. These units are not hierarchical and are often times arbitrary. Thus, if a developer needs to know which school in a specific district a user belongs to, it can be very challenging within this LMS.

2. Learn the LMS quirks beforehand.

There are several ways developers find themselves in a serious bind when not taking into consideration common LMS integration issues before development.

Let’s look into Schoology. This LMS does not require teachers or students to verify their email addresses. This isn't a problem for Schoology, though. Users identify which school they are coming from when they sign in. But, for apps that rely on email addresses from Schoology to identify users, this is a problem.

What happens when a malicious user creates an account in a Schoology environment that has the same email address as a teacher on the edtech app? If the app only identifies users by email address, then a malicious user can log into the app through Schoology.

Once logged in, the bad actor can get access to the teacher's profile in the app - which leads to accessing PII. There are ways to avoid this issue and others from LMSs - but if developers don't prepare ahead of time, they could find themselves struggling to reorganize the app’s user architecture.

3. Be aware of edge cases.

Each LMS for K12 and higher education has quirks that aren't well-documented or well-known.

Did you know that Canvas requires administrators to manually create developer keys for any app they connect to? If an edtech developer doesn’t have secure ways to transfer these keys from the school to the add, it could cause a serious security breach for that Canvas environment.

There are many other examples of these kinds of LMS-specific issues and not properly researching these in advance can cause roadblocks in development later on.

4. Reusing an integration isn't always an option.

There are 2 main ways to integrate a third-party app with an LMS:
- through the LMS's proprietary API
- through the LTI standard.

Each LMS uses a different API. So, to develop an API integration with multiple LMSs, a developer has to write unique API functions for each platform. A tedious and time-consuming process for an app to scale.

In theory, an app that uses the LTI standard can integrate with any LMS that supports the app's version of LTI. While this is generally true, there are some differences between how each LMS treats the standard.

Some LMSs only support earlier versions of the LTI standard and some don't support the standard at all (think Microsoft Teams). So, while an app may be compatible with one version of LTI, it doesn't mean you can automatically reuse that LTI integration for another LMS.

Developers have to be sure to understand how each LMS supports integration and be prepared to write multiple integrations between the app and different LMSs.

5. Make onboarding as easy as possible.

No matter which LMS integration a developer builds, they will need a teacher or administrator to make the connection. This can be challenging for the connecting user if the onboarding process isn't straightforward. Depending on the type of integrated functions that the app supports, the app’s team may need the user to perform some complex tasks.

Brightspace (D2L) can provide a clear example on this. Brightspace admin needs to know how to register a new application in their Brightspace portal and then transfer the client ID and secret key securely to the application. If a developer doesn't provide proper instruction or a method that allows the admin to securely send the keys, then app teams can run into some friction when trying to make the connection to their  LMS.

When the onboarding process isn't simple, it can certainly push your business relationship with schools off to a rocky start.

Read More on Integration

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

What to know about Single Sign-On for Education
Single-tenant vs Multi-tenant: What’s better for your app’s security
Case Study: Schoolrunner
Why would I Work with Edlink Instead of Just Building My Own LTI Application?
District Onboarding with Edlink

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!

Introducing Edlink
Our Mission at Edlink
What is the Edlink Unified API?