## WeBWorK Problems

### LTI automatic logon: Students Names are Overwritten and only the email handle remains

by tim Payer -
Number of replies: 8
Greetings,

We are using a current subscription from the MAA, version 2.13 and the updated course.conf file for the LTI connection between WeBWorK and Canvas.

Our problem is that students names within WeBWorK are automatically overwritten (deleted) when students log-on. The only identifier within WeBWorK is the student's email handle. It would be helpful if we could have a student's name such as "Jason Drake" as opposed to "jcd13" as the only identifier for a student within our WeBWorK courses.

Have we missed a setting that is inviting this overwrite of students names within WeBWorK?

Any help here is most appreciated!

Sincerely, Tim

### Re: LTI automatic logon: Students Names are Overwritten and only the email handle remains

by Danny Glin -
This might be an issue on the Canvas side. Can you verify that Canvas is sending the first and last name to WeBWorK? WeBWorK takes these from the LTI parameters "lis_person_name_given" and "lis_person_name_family" respectively. Unfortunately I don't have any experience with Canvas, so I can't tell you how to check this.

It looks like WeBWorK automatically updates student records with what it gets from LTI each time they log on. It doesn't look like there is an easy way to disable this. It is possible to customize this, but that would involve digging in to exactly what Canvas sends to WeBWorK, and matching things up.

### Re: LTI automatic logon: Students Names are Overwritten and only the email handle remains

by tim Payer -
Thanks Danny,

Unfortunately, the Canvas folks say that they are not able to help unless they can see both systems interact.

Do you think that possibly it was the simplified course.conf file that was recently created last August that might be part of the problem?

The only uncommented lines of code I see in that file are shown below:

$dbLayoutName = 'sql_single'; *dbLayout =$dbLayouts{$dbLayoutName};$LTIGradeOnSubmit = 0; # (don't immediately update)

$LTIMassUpdateInterval = 86400; #update once a day$debug_lti_parameters = 0;

$LTIBasicConsumerSecret = "somepassword";$LTIGradeMode = "homework";

I am just reaching here, but would like to resolve this issue.

Best, Tim

### Re: LTI automatic logon: Students Names are Overwritten and only the email handle remains

by Michael Gage -
Set
$debug_lti_parameters = 1; That will give a "warning" message that will annoy you (and possibly students) but they can just ignore it. You can capture a photo of all the information the warning message prints out which is all of the information that Canvas is sending to WeBWorK. The Canvas people can tell you if something is not being sent. We can tell you if the names are being sent with a label that WeBWorK is not expecting. In reply to tim Payer ### Re: LTI automatic logon: Students Names are Overwritten and only the email handle remains by Michael Gage - Setting the$debug_lti_parameters =1;

in the course.conf file might help.
It will attach a "warning" printout at the bottom of each page with login from LTI that tells exactly what information Canvas is transmitting. It seems likely you have a mismatch.

### Re: LTI automatic logon: Students Names are Overwritten and only the email handle remains

by tim Payer -
Thanks for the Suggestions!

I am working with our Campus Techs to help resolve the missing name fields.(instructors on our campus are not permitted access to the Canvas side of the LTI connections).

Would anyone know if this snippet of code from Webwork would help us:
This is from the authen_LTI.conf file, which I realize that we do not use with the recently update course.conf

From our campus tech, Becky

authen_LTI.conf file, here is the relevant blurb...I think if we comment this setting out. You have already set up users in WebWorks so I don't think this needs to be used.

# WeBWorK will automatically create users when logging in via the LMS for the
# first time. If the following flag is enabled then it will also keep the
# user demographic data up to date with the LMS. If a users information change
# in the LMS then it will change in WeBWorK. However, any changes to the
# student data via WeBWorK will be overwritten the next time the student
# logs in.

$LMSManageUserData=1; Thanks for any clarification. In reply to tim Payer ### Re: LTI automatic logon: Students Names are Overwritten and only the email handle remains by Michael Gage - Since I'm not using Canvas I can't test this very rigorously but I believe setting that to 0 will help your situation. It can't do any harm to set it to 0 for a while to test in any case. Add some names directly to WeBWorK and see if they are not overwritten when accessed from Canvas. If so you may want to leave this switch off. Usually Canvas provides names of students but it is possible to set the security at the Canvas end so that names of students are not transmitted to the learning tool. I suspect that is what is going on in this case. You should talk to your Canvas operators and see if they really mean not to tell the learning tool the name of the student doing the problem. It seems overly protective security to me, but .... -- Mike In reply to Michael Gage ### Re: LTI automatic logon: Students Names are Overwritten and only the email handle remains by tim Payer - Thank you Michael, Yes I think that the email settings alone are too restrictive. Am I correct in assuming that our course.conf file from within WeBWorK will also have to be modified to accommodate the transfer of names from Canvas to WeBWorK? As Danny Glinn had suggested previously: "lis_person_name_given" and "lis_person_name_family" Are these lines appropriate for insert into Canvas or the course.conf within WeBWorK? Still unclear, but we will be passing this on to our local techs next week for testing once the semester is over... Best, Tim In reply to tim Payer ### Re: LTI automatic logon: Students Names are Overwritten and only the email handle remains by Michael Gage - The relevant code is in this file: https://github.com/openwebwork/webwork2/blob/master/lib/WeBWorK/Authen/LTIAdvanced.pm$ce->{foobar} would refer to a variable named "foobar" in the course environment (ce) and this variable can be defined in any of the
.conf files. Course.conf is the file in which this variable can be overwritten to
suit the needs of your course.

I'm pretty sure that you can just reduce the privacy setting on Canvas, canvas will start sending non-empty values for lis_person_name_given, etc. , and WeBWorK will insert those values into the appropriate spots in the WeBWorK database. You won't have to make any other changes.