Research Canvas Plugin - QSNJ2021/QS-Canvas GitHub Wiki

Research: Canvas Extension

Canvas plugins use the "Learning Tools Interoperability" (LTI) standard. When building a plugin using an LTI integration, you actually build a "Tool Provider" that is being used from a "Tool Consumer".

  • Tool Consumer = LMS(Canvas / Blackboard / etc.)
  • Tool Provider = Plugin (External web application)

Importing Extensions

Extensions are XML files (or manually added) that redirect to a specific domain containing your extension. This is basically another website.

Accessing Canvas Data using an extension

To access data from a person's courses requires your extension to perform an OAuth2 flow, otherwise, it's not directly possible. Once this is completed you will have an API key where you can call an API as that user to retrieve information.

Full Extensions

Full extensions require them to be approved and integrated into Canvas's codebase. (Or the school's, if they host it themselves).