Mission Possible: Creating LTIs to expand the Canvas Experience

You can find me on this site, in the Canvas Community or a variety of other places.


As well, you can now view the presentation from the Canvas community or directly on YouTube.

Ivey Business School – Canvas Integration Highlights

This is based on a team of 6 developers, working 1/2 the time on this project.
Here are the key milestones, listed above the line, and when each of the 15 LTIs were developed and deployed, below the line.

Canvas Implementation Project Timeline

*After the shared style was setup, we had to revisit the first 9 LTIs to leverage these changes.


Helpful Links


Points to Ponder

The following are the key points to keep in mind when tackling a Canvas integration project.

  • Leverage Canvas to build the experience from the user’s perspective (students, faculty, course designers, and administrative staff)
    • Make things as simply and intuitive as possible for the most users
    • Talk with the actual users to see how they need to do what the do
    • Talk with others that are further along the path of expanding Canvas with LTIs.
  • Think about how you need to have mobile/tablets
    • Either with a companion app to work with the Canvas apps or by building a custom app and leveraging the Canvas API
  • Build a reusable project template to streamline creating new LTIs.
  • Automate the deployment process leverage Canvas test, beta and live environments
  • Avoid leveraging JavaScript (injected from a theme) to add to, remove from or alter Canvas
    • This will cause a ‘flickering’ effect, as your code will not run until after the page is rendered
  • Handling browsers that block 3rd party cookies
    • This is currently an issue with Safari by default, but Chrome and Firefox also have this feature
    • If you can’t work with your user base to allow 3rd party cookies, you’ll need to implement a technical work around.  This can be done by leveraging a cookieless session (See here for a .Net example).  Another alternative is to build your LTI as a one page web application and leverage AJAX for data calls.  This will remove any need for a session within the LTI.
  • Stay on top of new Canvas releases to ensure your LTIs work as expected