Closed Alex-Jordan closed 2 weeks ago
If it helps here's what D2L sends when I use LTI 1.3 as an instructor:
"https://purl.imsglobal.org/spec/lti/claim/roles" => [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor",
"http://purl.imsglobal.org/vocab/lis/v2/institution/person#Student",
"http://purl.imsglobal.org/vocab/lis/v2/institution/person#Learner"
],
When I log in as a user who is a student in the current D2L course, but is an instructor in other courses I get:
"https://purl.imsglobal.org/spec/lti/claim/roles" => [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Learner",
"http://purl.imsglobal.org/vocab/lis/v2/institution/person#Student",
"http://purl.imsglobal.org/vocab/lis/v2/institution/person#Learner"
],
Based on what I'm seeing it looks like the institutional role (at least in my instance of D2L) is always set to Student and Learner regardless of roles in courses.
For me though:
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor",
"http://purl.imsglobal.org/vocab/lis/v2/institution/person#Instructor",
"http://purl.imsglobal.org/vocab/lis/v2/institution/person#Staff"
],
Fixed in #2591.
See this forum post for background: https://webwork.maa.org/moodle/mod/forum/discuss.php?d=8565#p21511 The issue also happened once with a Runestone-hosted course, and I suggested a manual one-off way to address the issue to that instructor.
Summary: a user in an LMS can have multiple roles. I think they would only ever have one "membership" role, indicating their role in that particular LMS course. But they could also have multiple "institution/person" roles. The troublesome case is when a student has a "Learner" membership role but also they have what would be a higher level "institution/person" role, perhaps because once at some other time, in some other course, they were a TA. Or even an instructor (consider an English professor using tuition credit to take a math course).
We want this person to be identified as a WeBWorK "student", but they have an "institution/person" role that is higher so WeBWorK won't automatically create the person's account using LTI.
Assuming I am answering my own questions correctly, I propose that we: