Canvas LTI API and saving custom parameters to canvas

ImreKinnunen
Community Explorer

I am developing an external tool for the Canvas Learning Management System (LMS), aiming to enhance the range of exercises available within a single course. My tool contains numerous exercises, each identified by a unique Exercise ID. The objective is to launch specific exercises from Canvas, and have each instance of the exercise in Canvas associated with its respective unique Exercise ID from my system.

The challenge is determining the best way to store and manage these Exercise IDs within Canvas, so that when a launch request is made via the Learning Tools Interoperability (LTI) protocol, the correct Exercise ID is sent along with the LTI launch parameters. This way, my tool will know which exercise to display for each individual launch.

As I understand the Deployment ID can be used to recognize the current instance/deployment of the external tool. This means that I would need to save the Deployment ID to exercise ID association on my system. This is something I would prefer to do on Canvas' side. The exercise ID should be saved in Canvas and sent with the LTI launch request, if possible.

 

TL;DR: I'm developing an external tool for Canvas LMS that contains multiple unique exercises. I need a way to store and manage each exercise's unique ID within Canvas. This ID should be included in the LTI launch parameters when an exercise is launched in Canvas. 

I'm seeking advice from the community for the most efficient way to handle this requirement, preferably an LTI API endpoint where I can save the exercise ID on a per external tool instance basis and send this exercise ID from Canvas to my tool with every LTI launch.

0 Likes