Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-41945

"Submit in Groups" Assignment setting allows a student in a group to submit an empty file picker that can override another student's file submission with an empty submission.

    Details

    • Testing Instructions:
      Hide

      NB: On master both sets of tests need to be carried out. On 31 and 30 only the test involving the two students and a teacher is needed.

      These tests need to be carried out using two browsers (or with something like incognito mode):

      Test group submissions

      1. Create a course and enroll two students and a teacher, I'll call them S1 and S2
      2. Browse to "Course administration" > "Users" > "Groups"
      3. Press the "Create group" button
      4. Give the group a name and save
      5. Add S1 and S2 to the group
      6. Back on the groups page, navigate to the "Groupings" tab
      7. Press "Create grouping"
      8. Give the grouping a name and save
      9. You should be back at the groupings page, under the "Edit" column for the new grouping click the "people" icon ("Show groups in grouping"
      10. Add the previously created group to the grouping
      11. Create an assignment for the course:
        • Enable online text and file submission
        • Under group submission settings, set "Students submit in groups" to "Yes"
        • Under group submission settings, set "Grouping for student groups" to the grouping created earlier
      12. Log in as S1, and in a different browser log in as S2
      13. As S1, browse to the assignment and press "Add submission"
      14. As S2 do the same thing
      15. Back as S1 submit something in either of the submission areas (or both, if you feel like it)
      16. Save
      17. As S2 try to submit something
      18. Verify an error explaining that someone else modified the submission in the meantime is displayed
      19. Browse to the assignment submission page again, verify you see the modifications from the other student
      20. Modify the submission again and save. Ensure there are no errors.
      21. Play around with students clobbering each other's changes and make sure nothing goes wrong

      Test individual submissions

      1. Create an a new assignment in the course (just use the default settings. No grouping stuff is needed)
      2. Log in as the same student in two different browsers
      3. In both browsers, navigate to the new assignment and press "Add submission"
      4. In one of the browsers, add a submission and save
      5. In the other browser, attempt to submit something
      6. Verify you get an error explaining that you have existing submission data
      7. Navigate to the submission page again and verify you can edit the submission without problems
      8. Play around with attempting to clobber your own changes, make sure you can't

      The following tests just need one student and one browser:

      Test empty submissions

      1. Browse to the assignment submission page
      2. Clear both the file and online text area
      3. Attempt to submit the assignment
      4. Verify an error message explaining that the submission was empty is displayed
      5. As admin, check the submissions for the assignment and ensure that the submission is not empty
      6. As the student, go back to the assignment and submit something in the online text area but make sure the files area is empty
      7. Submit the assignment and as the admin verify the submission appears as it was submitted (i.e., not file, and some text)
      8. As the student edit the submission again. This time remove the text and add a file
      9. Submit the assignment, and ass the admin verify the submission appears as it was submitted (i.e., a file and no text)
      10. Finally, as the student, edit the submission and add something for both the text and file
      11. Submit, and as admin verify the submission appears as it was submitted (i.e., file and text)
      Show
      NB: On master both sets of tests need to be carried out. On 31 and 30 only the test involving the two students and a teacher is needed. These tests need to be carried out using two browsers (or with something like incognito mode): Test group submissions Create a course and enroll two students and a teacher, I'll call them S1 and S2 Browse to "Course administration" > "Users" > "Groups" Press the "Create group" button Give the group a name and save Add S1 and S2 to the group Back on the groups page, navigate to the "Groupings" tab Press "Create grouping" Give the grouping a name and save You should be back at the groupings page, under the "Edit" column for the new grouping click the "people" icon ("Show groups in grouping" Add the previously created group to the grouping Create an assignment for the course: Enable online text and file submission Under group submission settings, set "Students submit in groups" to "Yes" Under group submission settings, set "Grouping for student groups" to the grouping created earlier Log in as S1, and in a different browser log in as S2 As S1, browse to the assignment and press "Add submission" As S2 do the same thing Back as S1 submit something in either of the submission areas (or both, if you feel like it) Save As S2 try to submit something Verify an error explaining that someone else modified the submission in the meantime is displayed Browse to the assignment submission page again, verify you see the modifications from the other student Modify the submission again and save. Ensure there are no errors. Play around with students clobbering each other's changes and make sure nothing goes wrong Test individual submissions Create an a new assignment in the course (just use the default settings. No grouping stuff is needed) Log in as the same student in two different browsers In both browsers, navigate to the new assignment and press "Add submission" In one of the browsers, add a submission and save In the other browser, attempt to submit something Verify you get an error explaining that you have existing submission data Navigate to the submission page again and verify you can edit the submission without problems Play around with attempting to clobber your own changes, make sure you can't The following tests just need one student and one browser: Test empty submissions Browse to the assignment submission page Clear both the file and online text area Attempt to submit the assignment Verify an error message explaining that the submission was empty is displayed As admin, check the submissions for the assignment and ensure that the submission is not empty As the student, go back to the assignment and submit something in the online text area but make sure the files area is empty Submit the assignment and as the admin verify the submission appears as it was submitted (i.e., not file, and some text) As the student edit the submission again. This time remove the text and add a file Submit the assignment, and ass the admin verify the submission appears as it was submitted (i.e., a file and no text) Finally, as the student, edit the submission and add something for both the text and file Submit, and as admin verify the submission appears as it was submitted (i.e., file and text)
    • Affected Branches:
      MOODLE_24_STABLE, MOODLE_28_STABLE, MOODLE_30_STABLE
    • Fixed Branches:
      MOODLE_30_STABLE, MOODLE_31_STABLE
    • Pull 3.1 Branch:
    • Pull Master Branch:
      MDL-41945-master
    • Sprint:
      3.2 Sprint 2

      Description

      Instructors at our school have discovered this when students are working on Group assignments in class. Multiple students try to access the assignment, and have unknowingly erased other students' file submissions. The "Nothing was submitted" alert that pops up when a student tries save an empty file picker misleads a student into thinking they have not inadvertently overwritten another student's file submission with an empty slot. Trying to submit an empty file picker should do nothing, not actively overwrite previous submissions.

      Reproduction Steps:

      1.Create an assignment in a course with at least 2 students in a group & grouping.
      2.Change the settings so that "Students submit in groups" is enabled, and that "Grouping for student groups" is associated with grouping containing the two students.
      3.On two additional separate browsers, sign in as the two students and navigate to the assignment submission screen for each student on each browser by clicking "Add Submission", so that each is on the "File submissions" drop-box page.
      4.On Student 1's browser page, have Student 1 upload a file into the box and Save Changes. Confirm that the "Submission status" screen loads showing the submitted file.
      5.On Student 2's browser page, have Student 2 click the Save Changes button with no files entered. Confirm that a "Nothing was submitted" alert appears.
      6.Have Student 2 click "Cancel." Confirm that the "Submission status" screen loads showing no submitted file.
      7.Have Student 1 click the breadcrumb with the Assignment activity name to reload the submission page. Confirm that the "Submission status" screen loads showing no submitted file.
      8.As the teacher, navigate to the assignment Grading screen. Confirm that both students are flagged as "submitted," with no files present.

      This is especially problematic if "Require students click submit button" is enabled for the assignment without "all students must submit" enabled. In that case, if Student 1 uploads and Submits a file, and Student 2 saves the empty file picker, this locks all the students in the group from being able to update the now-empty file submission slot.

      This looks like it is related to MDL-36908, MDL-35963, and possibly MDL-39569

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Votes:
                  25 Vote for this issue
                  Watchers:
                  24 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    11/Jul/16