Passing Section and SIS ID information from Canvas to WeBWork
We have set up the WeBWork LTI in Canvas and it's working like we want it to so far, but there's some tweak that we need involving custom LTI paramenters
Here's what's in WeBWork:
When auto-provisioning a student we want to additionally pull the users SIS ID and the SIS Section ID, which I think means adding custom fields in the app configuration:
When I add, for example:
Student ID= lis_person_sourcedid
it does not get the user's ID, it just adds "lis_person_sourcedid" literally to the Users List record when we want the student ID number for the user.
Our WeBWork server is self-hosted, so this is our first time working on "this side" of the LTI, so hopefully some of the more experience admins can help us to get this information pulled from Canvas to WeBWork.
Thanks,
Paul
Solved! Go to Solution.
The correct format is documented on the LTI Variable Substitutions page. It also contains a list of the variables you can use.
You need to include a $ in front of the variable name and use the right name. Note that if you do include spaces, it will change them to underscores. It also prefixes your request with custom_ and forces it to lowercase.
Student ID=$lis_person_sourcedid
comes through as
custom_student_id=$lis_person_sourcedid
because lis_person_sourcedid is not a valid variable substitution.
The right one to use is Person.sourcedId
Student ID=$Person.sourcedId
comes through as
custom_student_id=12345
Another way to get this particular parameter through is to change the privacy to public and then it will automatically include lis_person_sourcedid. Going public may not be feasible from a privacy perspective, though, so that's where variable substitutions come in.
The correct format is documented on the LTI Variable Substitutions page. It also contains a list of the variables you can use.
You need to include a $ in front of the variable name and use the right name. Note that if you do include spaces, it will change them to underscores. It also prefixes your request with custom_ and forces it to lowercase.
Student ID=$lis_person_sourcedid
comes through as
custom_student_id=$lis_person_sourcedid
because lis_person_sourcedid is not a valid variable substitution.
The right one to use is Person.sourcedId
Student ID=$Person.sourcedId
comes through as
custom_student_id=12345
Another way to get this particular parameter through is to change the privacy to public and then it will automatically include lis_person_sourcedid. Going public may not be feasible from a privacy perspective, though, so that's where variable substitutions come in.
Hi James,
That worked great, thanks!
And thanks for the link to "LTI Variable Substitution" page, that will be a great help going forward with this and other LTIs that we might create or work with. Just used it to pull the section information.
One final thanks for all you contribute to the community - I can't tell you how many times while scratching my head, I've search the community and find your name accompanied by patient, helpful information. You (and Kona too) have been a great help to a bunch of us out there!
Sincerely,
Paul