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

Notifications - Upcoming Assignment Due

XMLWordPrintable

    • MOODLE_405_STABLE
    • MDL-79716-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 approaching assignment due date'
      4. CONFIRM that it is set to run on a random minute, every two hours.

      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.

      Testing scenario 1

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

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

      7. Run cron: 

        php admin/cli/cron.php
        

      8. Refresh your page.
      9. Click on the notifications (top of page with 'Bell' icon) .
      10. CONFIRM there is a notification called 'Due on xxxxx ... '
      11. Click on 'View full notification'.
      12. CONFIRM the message reads:
        Hi xxxxx,
        The assignment xxxxx in course xxxx is due soon.
        Due: xxxxxx
        Go to activity
      13. Click the 'Go to activity' link.
      14. CONFIRM that it takes you to the assignment you created earlier.
      15. Go to your email client (e.g. MailHog).
      16. 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 one hour from now.
      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 one hour from now.
      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'. Just add one minute to the 'Due date'.
      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 due date soon with the updated date.
      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 approaching assignment due date' CONFIRM that it is set to run on a random minute, every two hours. 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 . Testing scenario 1 Log in as a teacher. Create a course and enrol a student (student1). Create an assignment with a due date one day from now. Log in as student1 and go to  User -> Preferences -> Notification preferences. CONFIRM there is a notification preference called 'Assignment due soon 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_due_soon_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 'Due on xxxxx ... ' Click on 'View full notification'. CONFIRM  the message reads: Hi xxxxx, The assignment xxxxx in course xxxx is due soon. Due: xxxxxx 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 one hour from now. 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 one hour from now. 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'. Just add one minute to the 'Due date'. 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 due date soon with the updated date.
    • 2
    • Team Hedgehog 2023 Review 4, Team Hedgehog 2024 Sprint 1.1, Team Hedgehog 2024 Sprint 1.2, Team Hedgehog 2024 Sprint 1.3, Team Hedgehog 2024 Sprint 1.4, Team Hedgehog 2024 Review 1, Team Hedgehog 2024 Sprint 2.1, Team Hedgehog 2024 Sprint 2.2, Team Hedgehog 2024 Sprint 2.3

      Add a new notification for students when they have an upcoming assignment due. This will help students manage their workload. And was identified as a need from user research.

      The notification should be sent out 48 hours before the due date. In cases where an assignment is created and the time between the assignment being created and due is less than 48hours, then the notification will be sent on next run of the scheduled task.

      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. cron_error.png
          cron_error.png
          301 kB
        2. MDL-79716- 1.png
          MDL-79716- 1.png
          710 kB
        3. MDL-79716 - 2.png
          MDL-79716 - 2.png
          652 kB
        4. MDL-79716 - 3.png
          MDL-79716 - 3.png
          411 kB
        5. MDL-79716 - 4.png
          MDL-79716 - 4.png
          594 kB
        6. MDL-79716 - 5.png
          MDL-79716 - 5.png
          207 kB
        7. MDL-79716-schedule task.png
          MDL-79716-schedule task.png
          289 kB
        8. Screenshot 2024-01-18 at 12.51.56.png
          Screenshot 2024-01-18 at 12.51.56.png
          84 kB
        9. Screenshot 2024-01-18 at 17.03.14.png
          Screenshot 2024-01-18 at 17.03.14.png
          48 kB
        10. upcoming activity due notification.png
          upcoming activity due notification.png
          68 kB

            david.woloszyn@moodle.com David Woloszyn
            matt.porritt@moodle.com Matt Porritt
            Safat Shahin Safat Shahin
            Jun Pataleta Jun Pataleta
            Ron Carl Alfon Yu Ron Carl Alfon Yu
            Votes:
            2 Vote for this issue
            Watchers:
            19 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 weeks, 1 day, 44 minutes
                2w 1d 44m

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