Showing results for 
Show  only  | Search instead for 
Did you mean: 
Community Contributor

“Reflexive” LTIs that Feedback into Canvas

Home.pngSchedule.pngFood & Fun.pngPartners.pngHelp & FAQ.png

click/tap map to enlarge


Seth Battis

St. Mark's School - K12

LTIs are a great way to tie together separate learning tools. But, what if we want to tie together separate parts of the same learning tool? Take a look at how one school is creating LTI integrations that build feedback loops into Canvas, using the API to enrich LTI capabilities.

181930_landscape.jpgComment and connect below
2 Replies
Community Contributor

Folks --

What follows is a quick run-down of what I went through in my slideshow this morning.

First, the tools we looked at:

Screen Shot 2016-07-19 at 12.24.42 PM.png


This is my "personalized" administrative dashboard for Canvas. It's where I wrap scripts in enough interface and directions that I can remember what they do and how to use them.

Screen Shot 2016-07-19 at 2.30.26 PM.png


Give students a narrative view of all of their feedback (well, all of the messages about the assignment -- not the CrocoDoc comments) to promote their own metacognition/sense of self-efficacy.

Screen Shot 2016-07-19 at 12.20.31 PM.png


Advisors can get a sense of how their advisees are doing in their courses, check the Faculty Journal, log in to observe them.

Screen Shot 2016-07-19 at 12.17.13 PM.png


Provide some analytics on teachers' use of Canvas (to measure how we're doing on meeting expectations, flag people in need of support -- or doing interesting and exciting things).

I've given several presentations on just this tool in the past:

Screen Shot 2016-07-19 at 12.15.08 PM.png


Sync ICS and webcal feeds into Canvas course calendars. This is currently dependent on a fork of phpicalendar​ for parsing, which is no longer in development. I'm actively working on bringing it and (its ICS parser) up to date for the coming school year.

Screen Shot 2016-07-18 at 1.28.28 PM.png


This is a manager for a (small) ecosystem of JavaScript-ish snippets that modify the Canvas UI. CanvasHack use the Theme Editor's global JavaScript to load a customized JavaScript and CSS file per-user, URL, role within Canvas. Currently the "top" plugins that I'm using are:

All of the plugins are on Packagist​.

Additionally, I had a list of resources at the end:

  • The tools that I've built to facilitate development (in a LAMP environment):
    • smtech/reflexive-canvas-lti​ — the base for building an LTI tool. Just released this morning. Still needs a little documentation, improved examples, etc. I will be converting all the LTIs list above to use it in the coming weeks.
    • smtech/oauth2-canvaslms — a package to easily use OAuth 2.0 for users to interactively authenticate to their Canvas instance to provide an API token for the tool to use.
    • smtech/canvaspest​ — an object-oriented package to interact with the Canvas APIs (never worry about pagination again!)
  • My tools rely on Stephen Vickers' LTI_Tool_Provider package (which should be joining the Composer/Packagist ecosystem in the near future) as he transitions it from LTI 1.0 to LTI 2.0.
  •​ looks like an interesting PHP framework for LTIs that is aimed at LTI 2.0 right now -- LMS-agnostic.
  • Some useful resources for PHP development in general:
    •​ — if you're new (or old and have bad habits like me), this is a great primer on modern PHP development.
    •​ — Composer is the PHP package dependency manager (all those composer.json files)
    •​ — the central directory of PHP packages (which Composer references)

As always, if you use my stuff, please feel free to reach out ( with questions/ideas -- and to submit issues when something is broken!

Community Champion

The session recording is now available: