Skip to content
Snippets Groups Projects

Feedbacklabs

What feature does this MR relate to?

This Merge Request closes #108 (closed).

What was done to implement this feature?

  1. Added functionality to CourseController and GroupService to allow mass enqueueing for a certain assignment. For each assignment in a course there is a button that allows the user to upload a CSV with groups that then are automatically enqueued for a lab in which they can sign off the assignment.
  2. Added a URL path (/lab/submit) to which a POST-request can be sent with an assignment ID and a netID. The student corresponding to the netID will then be automatically enqueued in a lab where they can sign of the assignment.
  3. Added functionality to timeslot buttons on the lab page to enroll/unenroll students to a specific slot.

What can still be done in the future?

  • Related to (1.), the mass enqueue button should only be visible when a lab is available for an assignment.
  • Related to (1.), when a new file is uploaded for the same assignment, users that already have an assigned slot should not be given a new slot, and users that are not present in the new file should have their slot revoked.
  • Related to (2.), some kind of authentication should be added such that only trusted IP addresses can send POST requests to the /lab/submit URL, or something along those lines.
  • Related to (2.), when a new post request for the same assignment/user combination is sent, the previous slot should be revoked and a new slot should be assigned.
    • Since it could happen that multiple assignments can be signed off in the same lab, in case of a different assignment id/same netid combination, a new timeslot should be assigned.
  • Related to (3.), currently students are given a random slot, even when a specific slot was selected. This should be changed so the selected and the assigned slot match.
  • Related to (3.), the student for a slot is selected with a drop-down menu. This menu should be filterable so that someone who wants to select a student does not have to scroll through a giant list of students.
  • Related to (1.) and (2.), some kind of error message should be displayed on screen/sent back to the sender of the POST request when the request fails.
Edited by Maaike Visser

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Maaike Visser added 2 commits

    added 2 commits

    Compare with previous version

  • Maaike Visser added 3 commits

    added 3 commits

    Compare with previous version

  • Maaike Visser added 1 commit

    added 1 commit

    • a082c66e - Filter students when selecting on lab page

    Compare with previous version

  • Maaike Visser changed the description

    changed the description

  • Maaike Visser added 1 commit

    added 1 commit

    • c960a693 - Assign new timeslot if a new submission comes through the /lab/submit route

    Compare with previous version

  • Maaike Visser marked the task Related to (2.), when a new post request for the same assignment/user combination is sent, the previous slot should be revoked and a new slot should be assigned. as completed

    marked the task Related to (2.), when a new post request for the same assignment/user combination is sent, the previous slot should be revoked and a new slot should be assigned. as completed

  • Maaike Visser marked the task Since it could happen that multiple assignments can be signed off in the same lab, in case of a different assignment id/same netid combination, a new timeslot should be assigned. as completed

    marked the task Since it could happen that multiple assignments can be signed off in the same lab, in case of a different assignment id/same netid combination, a new timeslot should be assigned. as completed

  • Maaike Visser added 1 commit

    added 1 commit

    • 1edebf6a - Mark assignment as having labs or not

    Compare with previous version

  • Maaike Visser added 2 commits

    added 2 commits

    • 1c5d8670 - Only show upload & enqueue button if corresponding lab exists
    • ea00213f - Merge feedbacklabs into branch

    Compare with previous version

  • Maaike Visser marked the task Related to (1.), the mass enqueue button should only be visible when a lab is available for an assignment. as completed

    marked the task Related to (1.), the mass enqueue button should only be visible when a lab is available for an assignment. as completed

  • Maaike Visser marked the task Related to (1.), when a new file is uploaded for the same assignment, users that already have an assigned slot should not be given a new slot, and users that are not present in the new file should have their slot revoked. as completed

    marked the task Related to (1.), when a new file is uploaded for the same assignment, users that already have an assigned slot should not be given a new slot, and users that are not present in the new file should have their slot revoked. as completed

  • Author Contributor

    Related to (1.), when a new file is uploaded for the same assignment, users that already have an assigned slot should not be given a new slot, and users that are not present in the new file should have their slot revoked.

    Solved kind of hacky rn by revoking all pending requests for the lab and then enqueuing the groups that are in the newly uploaded file.

    Edited by Maaike Visser
  • Maaike Visser added 1 commit

    added 1 commit

    • 7f299b90 - Revoke all existing requests when you upload a new file to mass enqueue people

    Compare with previous version

  • Maaike Visser mentioned in issue #119

    mentioned in issue #119

  • Maaike Visser added 15 commits

    added 15 commits

    Compare with previous version

  • Should we also pass rooms here? Analogue to new line 280?

    By Administrator on 2018-09-08T11:45:56 (imported from GitLab project)

  • Given that this is not even requiring any logged in student; could we for now just do a dirty minimal thing which is an extra post parameter with a secret text? Secret till we make this repository public that is :)

    By Administrator on 2018-09-08T11:49:10 (imported from GitLab project)

  • You can at redirect to the error page I think

    By Administrator on 2018-09-08T11:56:07 (imported from GitLab project)

  • The course is not mentioned in the mail; might help. The kind regards could (perhaps in the future) become something along the lines of "The Team" and then end with "\n--\n This is an automated message from the Queue.\n You can not reply to this message\n"

    By Administrator on 2018-09-08T12:00:09 (imported from GitLab project)

  • Ehhh... Labs are part of an existing course right? Why the new here?

    By Administrator on 2018-09-08T12:01:43 (imported from GitLab project)

  • Shouldn't this file be somewhere in test?

    By Administrator on 2018-09-08T12:11:36 (imported from GitLab project)

  • Where is this license coming from??

    By Administrator on 2018-09-08T12:12:21 (imported from GitLab project)

  • shouldn't this be an & amp ; ? (stupid gitlab comment field compresses that to an actual & )

    By Administrator on 2018-09-08T12:14:33 (imported from GitLab project)

    Edited by Otto Visser
  • Theoretically, weblab could do this trick too. Perhaps change to something like: you can only be automatically enqueued for this lab by something else?

    By Administrator on 2018-09-08T12:17:50 (imported from GitLab project)

  • File should be in test as well in the future I guess?

    By Administrator on 2018-09-08T12:19:52 (imported from GitLab project)

  • merged

    By Administrator on 2018-09-08T12:31:21 (imported from GitLab project)

  • Author Contributor

    Yeah we could, no problem :)

  • Author Contributor

    Good point, I'll have a look

  • Author Contributor

    Ok!

  • Author Contributor

    Not sure and good point, I'll have a look.

  • Author Contributor

    I used a JQuery plugin to make the select boxes when you click a timeslot on the lab page behave as desired. The plugin documentation mentioned that this license should be included somewhere in your software if you want to use it. I meant to ask how one usually does that, but I forgot :sweat: . So hereby: how does one usually include a license like this? :p

  • Author Contributor

    Yes it should.

  • Author Contributor

    Ah, I forgot about special characters. It seems that it is being parsed just fine, but I can change it all the same :).

  • Author Contributor

    True, I added this line when we were still only working on the connection with CPM and then never changed it.

  • Author Contributor

    yes!

Please register or sign in to reply
Loading