Description
Suppose a student user in the LMS had email [email protected]
and email prefix is being used for WeBWorK user IDs via LTI. It's halfway through the term and the student has completed some work in WeBWorK. User foo
has lms_source_did
set to whatever the LMS's ID is for that user.
Then the student has a name change or something that leads to their email now being [email protected]
. Now the WW course has two users, foo
and bar
, each with the same lms_source_did
. The student enters WW as bar
now and cannot see their progress from when they were foo
. In the past we've discussed merging two users but it's hard to work out how some of the details would be handled, and I am not asking about merging two users for now.
Instead, the immediate issue is that foo
and bar
have the same lms_source_did
. So when grade passback happens at the mass update, maybe bar
's scores are sent to the LMS, but then foo
's scores are also sent and they overwrite whatever recent scores bar
has earned. Or it could be the other way around. To the student in the LMS, they end up seeing either scores from foo
or from bar
, and zeros (or non-initialized scores) for half the assignments.
Manually, I think what I need to do (since this is happening with a student right now) is to copy foo
's scores over to bar
within WeBWorK. Then remove foo
's lms_source_did
directly using sql. And if the student has some reason they should access user foo
to see their old work, give them password access. Is there a better solution to this?