I am working to configure our new WW version 2.19 with our new Canvas LMS using LTI 1.3 integration, using Canvas' "Course Assignments Menu" feature (replacing WW v2.16 & Blackboard with LTI 1.1). We worked out all the settings for the $LTI{v1p3}{...} parameters (with some help from Glenn Rice - thanks again!) to get the systems talking to each other. In order to configure courses it makes sense for instructors to input the lms_context_id, since WW admins do not have access to the instructor's Canvas course. The approach I have developed so far is to leave all the related parameters at default values, except to add the following in localOverrides.conf after include("conf/authen_LTI.conf") :
@LTIConfigVariables = (
'LTIGradeMode',
'external_auth',
'lms_context_id',
'debug_lti_parameters'
);
$permissionLevels{'change_config_lms_context_id'} = 'professor';
Following the guidance in "LTI Authentication (for WeBWorK 2.18 or newer)" the instructor obtains the lms_context_id for WW in Canvas and then saves it in the WW Course Configuration > LTI page. In Canvas the instructor again opens the "Assignment Settings" menu and has a choice of either "Assignments (Course Home)" or the list of visible HW sets which can be individually selected or all at once. Selecting -
- "Assignments (Course Home)" creates a Canvas Module with a link to the course.
- some or all HW sets results in Canvas links being created to each selected HW set (nice!).
So far this behavior is what I expected, but subsequent findings are suprising.
- As it is, selecting either the Module link or a HW set link presents the instructor with the WW course login again in order to access the WW content. But if the Canvas item (Module or Assignment) is edited by the instructor to "Load in a new window" and then selected, the (edited) link presents the WW content (the Assignments page or the selected HW set) directly without requiring further authentication. Is this the expected behavior? A minor (but annoying) note is that it appears that the instructor must then "Edit Assignment Settings" for each added link in Canvas in order to checkbox "Load This Tool In A New Tab" for each one. I can find no option that will set that option automatically in Canvas when using the "Course Assignments Menu" feature.
- Using Canvas for authentication of students is a priority. In order to require LMS authentication, in the WW Course Configuration > LTI page I set "Require users to log in through the LMS" to True. This adds $external_auth=1 in the course simple.conf, with unexpocted results. While the previously created Canvas links (that load in a separate window) could still access the WW course with professor credentials (would links work the same for students?), the admin user can no longer login to the WW course. When $external_auth=1 it seems that admin access to any WW course (except the admin course itself) requires that the admin user be able to first access the instructor's Canvas course. This is not feasible. The only way I could find to override that setting in order to login to the course as an admin is to remove $external_auth=1 from its simple.conf. I fear that will make supporting our instructors more than awkward. Am I missing something?
- For our purposes it may not be necessary to use $external_auth=1. I am hoping that with $external_auth=0 the LTI 1.3 behavior will be similar to that of LTI 1.1: when a student first uses a link in Canvas the user is created in the WW course with a password that the student can not obtain or change. Thereafter, a student's attempt to access the course directly would fail due to an invalid password. Is that correct? Unfortunately I cannot create or access a student account in a Canvas course in order to test this behavior.
- Assignment links are created in Canvas along with corresponding columns in the Grades page. I can find no way to create a link that corresponds to $LTIGradeMode='course' using either "Course Assignments Menu" or "Assignment Selection" in Canvas. It appears the $LTIGradeMode value is ignored when a link is created (e.g. a Canvas Grades column is created even when $LTIGradeMode=''). However, if instructors use $LTIGradeMode='homework' this may not be a problem.
Thanks.