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.
(https://www.youtube.com/watch?v=uU8xA40pByk)
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.
*After the shared style was setup, we had to revisit the first 9 LTIs to leverage these changes.
Helpful Links
- All Canvas Guides
- Canvas – LTI definition and setup instructions
- LTI Specification from IMS Global Learning Consortium
- Canvas Developer Community
- Canvas on Github
- NuGet packages for .Net LTI development
- Xamarin – .Net mobile development
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