cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
rwmcknight
Community Member

LTI vs REST API

Jump to solution

Just getting started looking at resources for adding a tool to help my classes function a little more smoothly.  (The main idea that I'm looking at is setting up a help queue so that I can help students who have a (digital) hand raised.  I want to make sure that I am being fair to my in-person students as well as my remote students, so setting up an online tool seemed to be the most fair.  I will probably still use it when we are all back in person too, but the split is my catalyst.)

Anyway, I'm seeing resources for LTI and for direct Canvas API integration.  Can somebody give me some insights as to what are the benefits and drawbacks of both?

Labels (3)
0 Kudos
1 Solution

Accepted Solutions
matthew_buckett
Community Contributor

LTI 1.3 is a cross platform standard to integrate external tools into a LMS/VLE platform. It allows the platform to securely tell the tool who is accessing the tool, what context (course) they are in and other information. There are then a few standard APIs the tool can use for things like passing grades back and listing other people in the course.

The Canvas API is a fully featured API that allows you to perform almost all operations you can through the Canvas interface programatically, but it is specific to the Canvas product and any solution for Canvas won't work on another VLE/LMS.

Depending on what you want to do you may use one or both of these technologies. For example we have a simple LTI 1.3 tools that allows teachers to export a list of course members formatted to import into other services that doesn't use the Canvas API, just the additional LTI 1.3 APIs.

Screenshot 2021-02-03 at 07.24.02.png

But then we also have a calendar import tool that allows users to import CSV files into the Canvas Calendar which uses LTI to get details of who the user is and the course, but then uses OAuth2 and the Canvas API to perform the import of the events into the Calendar.

Screenshot 2021-02-03 at 07.26.05.png

We then have some integrations that just use the Canvas API to do things like provisioning users, but I wouldn't really call them full tools as the as they don't have a UI.

View solution in original post

3 Replies
matthew_buckett
Community Contributor

LTI 1.3 is a cross platform standard to integrate external tools into a LMS/VLE platform. It allows the platform to securely tell the tool who is accessing the tool, what context (course) they are in and other information. There are then a few standard APIs the tool can use for things like passing grades back and listing other people in the course.

The Canvas API is a fully featured API that allows you to perform almost all operations you can through the Canvas interface programatically, but it is specific to the Canvas product and any solution for Canvas won't work on another VLE/LMS.

Depending on what you want to do you may use one or both of these technologies. For example we have a simple LTI 1.3 tools that allows teachers to export a list of course members formatted to import into other services that doesn't use the Canvas API, just the additional LTI 1.3 APIs.

Screenshot 2021-02-03 at 07.24.02.png

But then we also have a calendar import tool that allows users to import CSV files into the Canvas Calendar which uses LTI to get details of who the user is and the course, but then uses OAuth2 and the Canvas API to perform the import of the events into the Calendar.

Screenshot 2021-02-03 at 07.26.05.png

We then have some integrations that just use the Canvas API to do things like provisioning users, but I wouldn't really call them full tools as the as they don't have a UI.

View solution in original post

Great information!  Can either type of App be added to Navigation and/or Modules?

matthew_buckett
Community Contributor

Only a LTI tools can be fulling embedded in the Canvas interface. When you install/register a LTI tool with a Canvas instance you specify where it should appear in the interface (eg Course Navigation, Modules, etc) and these are called the placements. These are the documented placements that Canvas supports:

https://canvas.instructure.com/doc/api/file.navigation_tools.html

https://canvas.instructure.com/doc/api/file.homework_submission_placement.html

https://canvas.instructure.com/doc/api/file.editor_button_placement.html

https://canvas.instructure.com/doc/api/file.migration_selection_placement.html

https://canvas.instructure.com/doc/api/file.link_selection_placement.html

https://canvas.instructure.com/doc/api/file.assignment_selection_placement.html