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 ability to manually trigger regrade for specific student #394

Open
wabscale opened this issue Sep 18, 2022 · 13 comments
Open

ADD ability to manually trigger regrade for specific student #394

wabscale opened this issue Sep 18, 2022 · 13 comments
Assignees
Labels
feature New feature or request good first issue Good for newcomers

Comments

@wabscale
Copy link
Collaborator

Add endpoints for admin users (TAs/Profs) to be able to manually trigger the functions found here:

https://github.com/AnubisLMS/Anubis/blob/main/api/anubis/lms/autograde.py

Then add a button to the frontend autograde pages for these endpoints to be hit.

@wabscale wabscale added feature New feature or request good first issue Good for newcomers labels Sep 18, 2022
@devbazregari
Copy link

bro, do you want the admin users could manually trigger all the functions in lms/autograde.py ?
this means i should set an endpoint that when admin users call all the functions get executed , am I right ?l

@wabscale
Copy link
Collaborator Author

There is a bit more to this than just calling the function. The autograde functions generally take quite a while to run. We'll need the endpoints to enqueue the bulk_autograde function to run in an rpc queue.

@devbazregari
Copy link

sorry bro it's beyond my abilities. I haven't worked with RPC. but I know about celery and async if you can handle your work with these two techs I can be a little helpful

@wabscale
Copy link
Collaborator Author

We dont use celery, we use python-rq. It is just like celery, but significantly simpler. I did half of the backend bit for this issue here if you want to see how it was put together. It was basically just making an enqueue function (something we do to keep our rpc calls organized) for the bulk_autograde.

ee32af1

@dolf321
Copy link
Contributor

dolf321 commented Apr 7, 2023

@wabscale Is somebody working on this(asking because its in progress on the board)

@wabscale
Copy link
Collaborator Author

wabscale commented Apr 7, 2023

No, no one is working on this right now. Go ahead if you would like to take it

@dolf321
Copy link
Contributor

dolf321 commented Apr 7, 2023

Yes, ill take it up thanks!

@dolf321
Copy link
Contributor

dolf321 commented Apr 7, 2023

Clarifying @wabscale :

You want an autograde button here:
Image

And you want me to call this "enqueue_bulk_autograde" function in the backend:

Image

Let me know if i'm missing anything here.

@wabscale
Copy link
Collaborator Author

wabscale commented Apr 7, 2023

Oh the title of this is slightly misleading. We actually already have a button for regrading an entire assignment. We need a button for regrading all the submissions for a given student.

I guess it likely makes sense to put the actual button on the admin assignment page (the one with the assignment specific settings) that opens a dialog with an autocomplete that has all the students. TA then selects the student from the dropdown, and clicks regrade. That hits the endpoint that will call the enqueue_bulk_regrade_submissions function with all the submissions from that student. Let me know if this makes sense.

You don't need to do the frontend if that is too much react/mui stuff. If you do half, I'll do the other half.

@wabscale wabscale changed the title ADD ability to manually trigger autograde for assignment or for student ADD ability to manually trigger regrade for specific student Apr 7, 2023
@dolf321
Copy link
Contributor

dolf321 commented Apr 7, 2023

Oh! Okay well I've definitely misconstrued that issue sorry(my poor button what a waste), yes i'll be on it. Hopefully will finish half of the frontend by today, would you like commit access to my fork or would you like me to pr unfinished frontend code? Or i could PR to a new branch as well.

@wabscale
Copy link
Collaborator Author

wabscale commented Apr 7, 2023

When you open the PR, I think you can check a box to allow maintainers (so me) to be able to push to the branch in your repo.

@dolf321
Copy link
Contributor

dolf321 commented Apr 11, 2023

@wabscale do you think it should go in the autograde results section instead? Or i can stick to assignments as agreed if you'd like.

@wabscale
Copy link
Collaborator Author

Well this action would completely invalidate everything on the student's results page. The new results will not be recalculated for at least a minute or two. So you would need to redirect after clicking somewhere else.

Feel free to add that too if you want, but the main way of doing it should be the way I described.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request good first issue Good for newcomers
Projects
Status: In Progress
Development

No branches or pull requests

3 participants