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

Notifications - Assignment overdue

XMLWordPrintable

    • MOODLE_405_STABLE
    • MDL-79733-main
    • Hide

      Scheduled task

      1. Log in as admin
      2. Go to Site admin->Server->Tasks->Scheduled tasks
      3. CONFIRM there is a task called 'Notify user of an assignment that is overdue'
      4. CONFIRM that it is set to run on a random minute, every hour.

      Setup

      Set up your Moodle instance to be able to read outgoing emails (e.g. MailHog).

      For help setting up outgoing mail, refer to this guide.

      You can also use Mailtrap to get away with setting up your own outgoing email environment: https://mailtrap.io

      It might also be helpful to ensure your timezone is set correctly as the times we will be testing with are very tight. Site admin -> Location -> Location settings -> Default timezone

      Testing scenario 1

      1. Log in as an admin and create a course.
      2. Log in as a teacher.
      3. Enrol a student (student1).
      4. Create an assignment with a due date one hour ago.
      5. Log in as student1 and go to User -> Preferences -> Notification preferences.
      6. CONFIRM there is a notification preference called 'Assignment overdue notification' and that both Web and Email are enabled.
      7. Run this scheduled task: 

        php admin/cli/scheduled_task.php --execute=\\mod_assign\\task\\queue_all_assignment_overdue_notification_tasks 

      8. Run cron: 

        php admin/cli/cron.php
        

      9. Refresh your page.
      10. Click on the notifications (top of page with 'Bell' icon) .
      11. CONFIRM there is a notification called 'Overdue: xxxxx '
      12. Click on 'View full notification'.
      13. CONFIRM the message reads:
        Hi xxxxx,
        Xxxxx in course xxxx was due on xxxxxxx.
        You might still be able to submit your assignment, but your submission will be marked as late.
        Go to activity
      14. Click the 'Go to activity' link.
      15. CONFIRM that it takes you to the assignment you created earlier.
      16. Go to your email client (e.g. MailHog).
      17. CONFIRM there is an email addressed to student1 with the same message as above.

      Testing scenario 2

      1. Log back in as the teacher.
      2. Enrol another student into the course (student2).
      3. Run the scheduled task again (see above).
      4. Run cron (see above).
      5. Log in as student2.
      6. CONFIRM there is a notification (just like in the previous scenario).
      7. Log in as student1.
      8. CONFIRM that you do not have a new notification.

      Testing scenario 3

      1. Log back in as the teacher.
      2. Enrol another student (student3).
      3. Go to the assignment.
      4. Go to More->Overrides.
      5. Add a user override for student3 and set the 'Due date' one week from now and save changes.
      6. Run the scheduled task again (see above).
      7. Run cron (see above).
      8. Log in as student3
      9. CONFIRM that you do not have a new notification.
      10. Log in as the teacher
      11. Adjust the override date for the user to 30 minutes ago.
      12. Run the scheduled task again (see above).
      13. Run cron (see above).
      14. Log in as student3
      15. CONFIRM that you have a new notification.

      Testing scenario 4

      1. Log back in as the teacher.
      2. Enrol two more students (student4 and student5)
      3. Assign these two users to a group (group1)
      4. Go to the assignment.
      5. Go to More->Overrides.
      6. Add a group override for group1 and set the 'Due date' one week from now.
      7. Run the scheduled task again (see above).
      8. Run cron (see above).
      9. Log in as student4 and student 5
      10. CONFIRM that you do not have a new notifications for either of them.
      11. Log in as the teacher
      12. Adjust the override date for the group to 30 minutes ago.
      13. Run the scheduled task again (see above).
      14. Run cron (see above).
      15. Log in as student4 and student5
      16. CONFIRM that you have a new notifications for both of them.

      Testing scenario 5

      1. Log in as student1.
      2. Submit the assignment.
      3. Log back in as the teacher.
      4. Go the assignment settings.
      5. Edit the 'Due date' to 30 mins ago.
      6. Run the scheduled task again (see above).
      7. Run cron (see above).
      8. Log in as student1
      9. CONFIRM that you do not have a new notification about the due date soon (ignore the one you will probably have regarding submission).
      10. Log in as student2.
      11. CONFIRM that you have a new notification about the overdue assignment with the updated date.

      Testing scenario 6

      1. Log back in as the teacher.
      2. Go the assignment settings.
      3. Edit the 'Due date' to 15 mins ago.
      4. Add a 'Cut-off date' of 7 days from now.
      5. Run the scheduled task again (see above).
      6. Run cron (see above).
      7. Log in as student2.
      8. CONFIRM that you have a new notification about the overdue assignment that reads like:
        Hi xxxxx,
        Xxxxx in course xxxx was due on xxxxxxx.
        You might still be able to submit your assignment by xxxxxxx, but your submission will be marked as late.
        Go to activity
      9. Log back in as the teacher
      10. Go to the assignment settings page
      11. Edit the 'Due date' to 5 mins ago.
      12. Edit the 'Cut-off date' to 5 mins ago too.
      13. Run the scheduled task again (see above).
      14. Run cron (see above).
      15. Log in as student2.
      16. CONFIRM that you do not have a new notification
      Show
      Scheduled task Log in as admin Go to  Site admin->Server->Tasks->Scheduled tasks CONFIRM there is a task called 'Notify user of an assignment that is overdue' CONFIRM that it is set to run on a random minute, every hour. Setup Set up your Moodle instance to be able to read outgoing emails (e.g. MailHog). For help setting up outgoing mail, refer to this guide . You can also use Mailtrap to get away with setting up your own outgoing email environment: https://mailtrap.io It might also be helpful to ensure your timezone is set correctly as the times we will be testing with are very tight. Site admin -> Location -> Location settings -> Default timezone Testing scenario 1 Log in as an admin and create a course. Log in as a teacher. Enrol a student (student1). Create an assignment with a due date one hour ago. Log in as student1 and go to  User -> Preferences -> Notification preferences. CONFIRM there is a notification preference called 'Assignment overdue notification' and that both Web and Email are enabled. Run this scheduled task:  php admin/cli/scheduled_task.php --execute=\\mod_assign\\task\\queue_all_assignment_overdue_notification_tasks Run cron:  php admin/cli/cron.php Refresh your page. Click on the notifications (top of page with 'Bell' icon) . CONFIRM there is a notification called 'Overdue: xxxxx ' Click on 'View full notification'. CONFIRM  the message reads: Hi xxxxx, Xxxxx in course xxxx was due on xxxxxxx . You might still be able to submit your assignment, but your submission will be marked as late. Go to activity Click the 'Go to activity' link. CONFIRM that it takes you to the assignment you created earlier. Go to your email client (e.g. MailHog). CONFIRM  there is an email addressed to student1 with the same message as above. Testing scenario 2 Log back in as the teacher. Enrol another student into the course (student2). Run the scheduled task again (see above). Run cron (see above). Log in as student2. CONFIRM  there is a notification (just like in the previous scenario). Log in as student1. CONFIRM  that you  do not  have a new notification. Testing scenario 3 Log back in as the teacher. Enrol another student (student3). Go to the assignment. Go to  More->Overrides. Add a user override for student3 and set the 'Due date' one week from now and save changes. Run the scheduled task again (see above). Run cron (see above). Log in as student3 CONFIRM  that you  do not  have a new notification. Log in as the teacher Adjust the override date for the user to 30 minutes ago. Run the scheduled task again (see above). Run cron (see above). Log in as student3 CONFIRM  that you have a new notification. Testing scenario 4 Log back in as the teacher. Enrol two more students (student4 and student5) Assign these two users to a group (group1) Go to the assignment. Go to  More->Overrides. Add a group override for group1 and set the 'Due date' one week from now. Run the scheduled task again (see above). Run cron (see above). Log in as student4 and student 5 CONFIRM  that you  do not  have a new notifications for either of them. Log in as the teacher Adjust the override date for the group to 30 minutes ago. Run the scheduled task again (see above). Run cron (see above). Log in as student4 and student5 CONFIRM  that you have a new notifications for both of them. Testing scenario 5 Log in as student1. Submit the assignment. Log back in as the teacher. Go the assignment settings. Edit the 'Due date' to 30 mins ago. Run the scheduled task again (see above). Run cron (see above). Log in as student1 CONFIRM that you do not have a new notification about the due date soon (ignore the one you will probably have regarding submission). Log in as student2. CONFIRM that you have a new notification about the overdue assignment with the updated date. Testing scenario 6 Log back in as the teacher. Go the assignment settings. Edit the 'Due date' to 15 mins ago. Add a 'Cut-off date' of 7 days from now. Run the scheduled task again (see above). Run cron (see above). Log in as student2. CONFIRM that you have a new notification about the overdue assignment that reads like: Hi xxxxx, Xxxxx in course xxxx was due on xxxxxxx . You might still be able to submit your assignment by xxxxxxx , but your submission will be marked as late. Go to activity Log back in as the teacher Go to the assignment settings page Edit the 'Due date' to 5 mins ago. Edit the 'Cut-off date' to 5 mins ago too. Run the scheduled task again (see above). Run cron (see above). Log in as student2. CONFIRM that you do not have a new notification
    • 6
    • Team Hedgehog 2024 Sprint 2.3, Team Hedgehog 2024 Review 2, Team Hedgehog 2024 Sprint 3.1

      Add a new notification for students when they have an assignment that has past its due date, but has not reached its cut off date (or cut off date is not set). This will help students manage their workload. And was identified as a need from user research.

      The notification should be sent out after the due date has past. It needs to be "soon" after but 0-1hr would be acceptable. This can likely be tied to the frequency of the scheduled task that will trigger it without much issue.

      We've deliberately made the decision to not make the notification period configurable. This is so there are not additional course/activity level settings for teachers and admins to configure and manage. We can always revisit this design in the future.

      Copy for the notification text will need to be confirmed, but likely at a minimum need to include the assignment name, course short name and link/call to action the assignment activity.

        1. MDL-79733_scheduled_task.png
          MDL-79733_scheduled_task.png
          205 kB
        2. MDL-79733_test1_1.png
          MDL-79733_test1_1.png
          88 kB
        3. MDL-79733_test1_2.png
          MDL-79733_test1_2.png
          143 kB
        4. MDL-79733_test1_3.png
          MDL-79733_test1_3.png
          116 kB
        5. MDL-79733_test1_4.png
          MDL-79733_test1_4.png
          65 kB
        6. MDL-79733_test1_5.png
          MDL-79733_test1_5.png
          98 kB
        7. MDL-79733_test2_1.png
          MDL-79733_test2_1.png
          90 kB
        8. MDL-79733_test2_2.png
          MDL-79733_test2_2.png
          69 kB
        9. MDL-79733_test2_3.png
          MDL-79733_test2_3.png
          114 kB
        10. MDL-79733_test3_1.png
          MDL-79733_test3_1.png
          77 kB
        11. MDL-79733_test3_2.png
          MDL-79733_test3_2.png
          111 kB
        12. MDL-79733_test4_1.png
          MDL-79733_test4_1.png
          76 kB
        13. MDL-79733_test4_2.png
          MDL-79733_test4_2.png
          80 kB
        14. MDL-79733_test4_3.png
          MDL-79733_test4_3.png
          85 kB
        15. MDL-79733_test4_4.png
          MDL-79733_test4_4.png
          87 kB
        16. MDL-79733_test5_1.png
          MDL-79733_test5_1.png
          115 kB
        17. MDL-79733_test5_2.png
          MDL-79733_test5_2.png
          93 kB
        18. MDL-79733_test6_1.png
          MDL-79733_test6_1.png
          100 kB
        19. MDL-79733_test6_2.png
          MDL-79733_test6_2.png
          99 kB

            david.woloszyn@moodle.com David Woloszyn
            matt.porritt@moodle.com Matt Porritt
            Stevani Andolo Stevani Andolo
            Safat Shahin Safat Shahin
            Angelia Dela Cruz Angelia Dela Cruz
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day, 3 hours, 13 minutes
                1d 3h 13m

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.