Problems with group assignments when group access is modified
GENERAL
TESTING
GENERAL
TESTING
Description
There is a problem with group assignments when the group access is modified after generating submissions if there is any student who belongs to both groups.
If the instructor generates submissions before and after changing the group access and there is any student that belongs to both groups, there will be two submissions for this student. This is correct, because each submission is linked with a different group, but when the student looks for their submissions for this assignment, the group is not taken into account, so the method gets 2 submissions instead of 1.
After applying SAK-40875, when the "findSubmissionForUser" method return more than 1 submission, the new cleanup feature tries to delete the most recent submission and keep the oldest, but in this case no submission should be deleted (and even an exception is thrown).
To solve this issue we think there should have been a new method to get the submission for the student, taking into account, not only the assignment and submitter, but also the group.
See the video for the testing plan.
Attachments
1
Activity
Juanjo Meroño November 27, 2018 at 8:01 AM
Edited
Hi ,
Solving this annoying logic here could be the solution:
I mean, this method has *submitterId* as a parameter, but this parameter could be also a *groupId* and this was the worst design decision made in assignments when group submissions were added long time ago.
I guess add *groupId* parameter and call properly to this method using one parameter or the other would solve the issue, because both instructor and student will use the same method *findSubmissionForGroup/findSubmissionForUser* to find submissions avoiding unexpected behaviours.
Earle Nietzel November 13, 2018 at 11:25 AM
Thanks for the video showing this I believe, once the assignment has been posted the groups should not be allowed to be changed as the assignment would contain dummy submission for the group, so removing a group would cause issues. So while this issue may become more visible with it's not something that was ever intended. I will look into this.
There is a problem with group assignments when the group access is modified after generating submissions if there is any student who belongs to both groups.
If the instructor generates submissions before and after changing the group access and there is any student that belongs to both groups, there will be two submissions for this student. This is correct, because each submission is linked with a different group, but when the student looks for their submissions for this assignment, the group is not taken into account, so the method gets 2 submissions instead of 1.
After applying SAK-40875, when the "findSubmissionForUser" method return more than 1 submission, the new cleanup feature tries to delete the most recent submission and keep the oldest, but in this case no submission should be deleted (and even an exception is thrown).
To solve this issue we think there should have been a new method to get the submission for the student, taking into account, not only the assignment and submitter, but also the group.
See the video for the testing plan.