nbgrader icon indicating copy to clipboard operation
nbgrader copied to clipboard

Need help , there is nowhere mentioned how to add a student as a user.

Open Ishaan28malik opened this issue 4 years ago • 7 comments

Linux Debian

nbgrader --0.6.1

jupyterhub --version (if used with JupyterHub)

jupyter notebook --1.2.2

sharable link or student account creation

no proper docs around this

I added a new user in my Jupyerhub now I want to give that user the student rights

  • How to share the assignments with the students so that they can access it directly over the jupyterHub ?
  • Or create a student account with the rights to access the assignments ?

Oviuosly I have an option to share the .ipynb file locally or email/LMS.

But what if I want everything overcloud and online .

Please someone help me in this.

Ishaan28malik avatar May 16 '21 21:05 Ishaan28malik

Do you mean "add a user to the system so they can log in" or "add an existing login as a student"?

The former is a jupyterhub issue, rather than nbgrader.

The latter is discussed in the documentation [I'm in the wrong place to get a link] relating to the configuration.

perllaghu avatar May 16 '21 21:05 perllaghu

You got the issue a bit right . I logged in as a professor and now I am able to preview my assignment as a student but with my account only. Now how to make an existing user a student who can access the assignments only and login and then attempt the assignment in the assignments section ?

The way @jhamrick did in her talk at Scipy 17

Ishaan28malik avatar May 16 '21 21:05 Ishaan28malik

They are just two different users in jupyterhub.

I don't recall the presentation.... but having two different users logged in is no problem for the hub (you just need to be clever with browsers if you're using the Web interface)

perllaghu avatar May 16 '21 21:05 perllaghu

I added the user in jupyterhub revoking the admin rights , what I am asking is that how can that user access the assignments ? The user I created is having access to Formgrader and assignments tab but there is no data inside them as they were in the teacher's account.

Ishaan28malik avatar May 17 '21 05:05 Ishaan28malik

If you've got two users in the same 'hub, both running notebooks that have formgrader and assignments tab.... the next question is have you set the course_id for both users ? https://nbgrader.readthedocs.io/en/0.6.x/user_guide/philosophy.html#configuration-files

perllaghu avatar May 17 '21 08:05 perllaghu

Yeah I checked that but that's how we can add a new collaborator in our nbgrader or similar to how we add a user as an admin inside the jupyterHub . I am looking for How to add a user-student who can access to just the assignments section and nothing else .

Ishaan28malik avatar May 17 '21 17:05 Ishaan28malik

Hi, I had the same problem and i achieved to fix it.

Check that you've set an nbgrader_config.py in a global path (see which one is valid for your system with jupyter--paths), in which you specify:

    c.Exchange.root = "/tmp/exchange"

Note that this directory MUST exist before running nbgrader, and it must be readable and writable by all users. To configure it:

   # remove existing directory, so we can start fresh for demo purposes
   rm -rf /tmp/exchange
   # create the exchange directory, with write permissions for everyone
   mkdir /tmp/exchange
   chmod ugo+rw /tmp/exchange

Then, I don't know if it's necessary but i have another nbgrader_config.py in the root directory of the course, another one inside the course directory, and another one for each JupyterHub user indicating the root directory of the course (see how to create an example nbgrader_config.py).

After that, to link a JupyterHub user with a course student, there is a bug, as mentioned in #1534 . When a student submits an assignment and the instructor collects it, it appears a new student in the 'Manage students list', and that shouldn't be like that.

I hope it'll help you

guillermouberomero avatar Jun 05 '22 17:06 guillermouberomero