I've spent a fair amount of time getting this working and will share my notes with the disclaimer that I haven't looked at this plug-in since April.
The goal of the LTI4WordPress tool is to make it easy for members of a course to authenticate into and author in a course-related WordPress site. It does require that you're running your own WP MU instance, Network-enabled.
You must first set up your WordPress install to fully support MultiUser, which takes a few steps that I won't describe here.
Then, don't forget to activate the plugin from the Network settings. (Funny, I remember having to do that, but now I don't actually see the plugin! I just see the Settings. Might be a bug right there.)
The documentation suggests otherwise, but I was only able to get this LTI tool working properly with a subfolder-based WP set-up. A subdomain-based setup wouldn't cooperate, but I admit I didn't dig in deeply.
Installing the plugin is straight-forward, as are the LTI Settings. You can create any number of setups for a number of different LTI consumers (you probably just need one, though you might do one per Canvas Sub-Account):
- key This is also actually used as a prefix for the WP subfolder path, strangely enough.
- secret whatever you want
- custom username parameter I presumed this would affect username creation in WP, but it doesn't. It may actually instigate a blog naming bug with Canvas implementation, but I haven't replicated it yet.
Inside Canvas, the LTI tool is no problem. Settings > Apps > View Installed Apps > Add New App
There is no configuration URL or XML to provide; just choose manual setup. You do need to set it to anything but Anonymous. Either URL or Domain matching works fine. There are a couple of possible parameters, but they're not important afaik.
Then you add the External tool to a Module (or Assignment).
The first user to try to access the tool within the Canvas Course will create the WordPress site for the entire class, apparently. Doesn't matter what their role is.
Strangely, the tool creates a different WP site for every external tool link that you create within the course.
My main hang-up is that the LTI plugin creates a WP site with a rotten subfolder name. In Moodle it looks like it uses the course's courseID; in Canvas it uses some hashed value that the LMS sends over (see below). More to discover there, for sure.
It users the Canvas Course shortname for the WP site name, so that's cool.
The LTI tool also creates users on the WordPress site whenever they themself click the link. If their username doesn't exist already, it creates one for them; if it does exist, it's supposed to authenticate them through Canvas.
Ivy at Keene State reminded me that it created WP usernames based on a hash, too, but I must have fixed that on my install -- I think I just tweaked a line of PHP, but now I can't remember where that was -- sorry!
It tries to match roles, but I found that with Canvas it wants to make students subscribers(!), not contributors by default (teachers are made editors). I need to figure out what Canvas provides to the LTI tool for a role name; I suspect Moodle is providing non-LTI-standard names, and the plugin just happens to match off of the instructor name.
When the LTI tool creates a user, it doesn't create a password to match. Probably because Canvas won't share that (which is right). Users can go directly to the blog and be emailed their password, provided an email was sent over through LTI. This allows them to login outside of Canvas, but that's not worth much when the blog URL is something like
There's a pretty serious bug here, though, but it may be one that I myself introduced because I tweaked usernames: the LTI plugin wants to try to recreate users each time they re-authenticate, and since WP users are created across sites that causes some big headaches with multiple sites.
Hope that helps!