The Challenges of Integrating with Canvas

Canvas is a self-hosted and open-source platform. Canvas supports integration through its APIs and through the LTI standard (including the LTI 1.3 and LTI Advantage specifications). Here are some Canvas integration quirks and how integrating can be surprisingly challenging.

Canvas GraphQL API vs. REST API

Canvas has 2 sets of APIs: a Graph QLAPI and a REST API. The REST API came first and there are many integrations that use the REST API to connect with Canvas instances. However, Canvas states in its documentation that the GraphQL API will be the primary focus for future development.

That being said, the GraphQL API doesn't replicate all of the functionality that is provided by the REST API. For example, developers cannot scope GraphQL endpoints when creating a developer key. Thus, it can understandably be difficult to determine which API to use to build Canvas integrations.

Canvas Developer Keys

Unlike other LMSs that support API integrations, Canvas requires school administrators to generate developer keys for each connected product. Generating developer keys can cause several problems.

For starters, not every admin knows how to create developer keys. When working with a school to integrate their Canvas environment with an edtech product, developers may need to assist IT admins directly.

Furthermore, developer keys are very powerful and can create security vulnerabilities if exposed to a malicious third party. Developers will need IT admins to securely send the key ID and secret. This can be done through secure HTTPS web forms or through a key-sharing tool, such as Keybase. Having a secure key-sharing solution built into a product’s onboarding process for IT admins can go a long way. It can build trust and keep school data safe.

Self-Hosted Canvas Environments

Canvas environments are self-hosted by the district or school. So updates to Canvas installations must be pushed by IT administrators. But If an administrator does not make regular updates, it can affect the compatibility of products integrating with the LMS.

These 3 challenges are just a subset of some of the issues developers could run into while integrating with Canvas. LMS integrations are usually not as straightforward as they might seem at first. In fact, developers should take into account the differences and quirks of each platform when building in-house integrations.

Read More on Canvas Integrations?

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

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