Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a lms_user_id #1035

Closed
sigurdurb opened this issue Oct 29, 2018 · 2 comments
Closed

Add a lms_user_id #1035

sigurdurb opened this issue Oct 29, 2018 · 2 comments

Comments

@sigurdurb
Copy link
Contributor

sigurdurb commented Oct 29, 2018

Hi,

I want to add an optional lms_user_id variable to the students in the nbgrader db. So Teachers and TA's can easily send grades using their api keys to Canvas LMS.

For context CanvasLMS has a user_id that is always a random number.

This change is for 3 important reasons:

  1. user_id is the only parameter which by submissions can be updated in Canvas: Important aspect(see https://canvas.instructure.com/doc/api/submissions.html#method.submissions_api.update)
  2. Canvas Teachers/TA’s Roles(permissions) don't have access to the login_id (That is currently the name of our students home folders) , but their Roles have permission to view the user_id’s.
  3. Current id we are using to map the Canvas user to the nbgrader user is with the canvas login_id, seeing the login_id is only a feature of an extended role my user has in Canvas but the teachers/ta's don't. But I would like the teachers/ta's to be able to send the grades themselves/with their apikey.

The other possiblity is having the nbgrader student.id as the Canvas user_id but currently we are using is the Canvas login_id because it is the same as the homefolders of the students and files under the srv/nbgrader/exchange or in the course file structure: <course_id>/submitted/<student_id>. The user_id in Canvas is also not visible in the Canvas lms so if something comes up finding a students folder would be hard for a teacher but only in the formgrader they would have their full names but not in the folder structure.

Would this be a desired addition or should I just keep this update on my repo?
I am curious if this would be helpful for other LMS system users?

Edit:
For context the Canvas login_id is usually a slugified short version of the name + the year student started for example "alexander17". I am also wondering how this would work when a student submits an assignment through the Assignment list, how is nbgrader getting the name of the student? If I would change the nbgrader student.id to be a Canvas user_id(a unique random number) would I also have to change the students login on the server to that number ?

@perllaghu
Copy link
Contributor

I was looking at this for the exchange-service I'm writing.

If the extra column has a suitable vague name, it can be used to match any external UID to the jupyterhub-specific UID.

@jhamrick
Copy link
Member

Closed by #1036

@jhamrick jhamrick added this to To do in Edinburgh Hackathon via automation May 31, 2019
@jhamrick jhamrick moved this from To do to Done in Edinburgh Hackathon May 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

3 participants