Adding lti-users with optional personal data (email, name) to edx gradebooks

Description

*Background:* Grades of users that worked with edX courses in another LMS (Canvas) are not shown in edX gradebooks. The users are not enrolled to these courses automatically.

*Studio Updates:* None.

*LMS Updates:* When users work with a edX course in another LMS they are enrolled to the courses automatically and are visible in edX gradebooks. If additional POST parameters ('lis_person_contact_email_primary', 'lis_person_name_given', 'lis_person_name_family') are passed by the other LMS to edX then a user's email is used as a username of a corresponding edX user. Otherwise a random value is used (as before).

*Manual test instructions:*
1. Setup edX Demo course http://127.0.0.1:8000/courses/course-v1%3AedX%2BDemoX%2BDemo_Course/ as an LTI Provider to Canvas LMS:
http://edx.readthedocs.org/projects/edx-partner-course-staff/en/latest/building_course/lti/lti_canvas_example.html
In the "Edit External Tool" dialog select "Privacy" as "Public", then additional parameters with a user's email and name should be passed to edX LMS.

2. Log in the Canvas LMS and open the edX Demo course, answer some questions correctly.

3. Log in edX LMS as staff@example.com/edx and open the gradebook for the edX Demo course.
http://127.0.0.1:8000/courses/course-v1:edX+DemoX+Demo_Course/instructor/api/gradebook
You should see the LTI-user from Canvas with grades, the user's email should be used as a username in edX LMS.
![edx](https://cloud.githubusercontent.com/assets/7777978/11216866/92da8ae4-8d5e-11e5-8814-a9401620249b.jpg)

Status

Assignee

Robert Raposa

Reporter

Edx Admin [Administrator]

Labels

Contributor Name

None

Repo

edx/edx-platform

PR Number

10,641

Customer

None

Course

None

OSCM Assignee

None

Github Latest Action

None

Github Latest Action by edX

None

Github PR Last Updated At

None

Github PR Last Updated By

None

Impacted Users (OSPR)

None

Impacted Environments (OSPR)

None

Feature Control (OSPR)

None

Priority

Unset
Configure