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

Notifications - Assignments due in 7 days

XMLWordPrintable

    • MOODLE_405_STABLE
    • MDL-79734-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 assignments due in 7 days'
      4. CONFIRM that it is set to run on the first hour, every day.

      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.

      Ensure your Moodle location settings (timezone) are set up correctly so that there are no time discrepancies.

      Testing scenario 1

      1. Log in as a teacher.
      2. Create a course and enrol a student (student1).
      3. Create 3 assignment with a due date one week from now and using the following times:
        1. Due at 12:00am that day (A1)
        2. Due at 1:00pm that day (A2)
        3. Due at 11:59pm that day (A3)
      4. Create an additional assignment (A4) that is due 8 days from now (we want to make sure this one is excluded from our results).
      5. Log in as student1 and go to User -> Preferences -> Notification preferences.
      6. CONFIRM there is a notification preference called 'Assignments due in 7 days 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_due_digest_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 'You have assignments due in 7 days'
      12. Click on 'View full notification'.
      13. CONFIRM the message reads:
        Hi xxxxx,
        The following assignments are due on XXXXX.
        A1 in course xxxx
        Due: xxxxxx
        Go to activity
        A2 in course xxxx
        Due: xxxxxx
        Go to activity
        A3 in course xxxx
        Due: xxxxxx
        Go to activity
      14. CONFIRM that the assignment that is due 8 days from now (A4) is not listed in the notification.
      15. Click on all the 'Go to activity' links and CONFIRM that it takes you to the correct assignment.
      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. Go to the first assignment (A1).
      3. Go to More->Overrides.
      4. Add a user override for student1 and set the 'Due date' 4 days from now and save changes.
      5. Run the scheduled task again (see above).
      6. Run cron (see above).
      7. Log in as student1
      8. CONFIRM that you received the following notification:
        Hi xxxxx,
        The following assignments are due on xxxxx.
        A2 in course xxxx
        Due: xxxxxx
        Go to activity
        A3 in course xxxx
        Due: xxxxxx
        Go to activity

      Testing scenario 3

      1. Log back in as the teacher.
      2. Create a group (group1) and add student1 to it
      3. Go to the assignment A2.
      4. Go to More->Overrides.
      5. Add a group override for group1 and set the 'Due date' 4 days from now.
      6. Run the scheduled task again (see above).
      7. Run cron (see above).
      8. Log in as student1
      9. CONFIRM that you received the following notification:
        Hi xxxxx,
        The following assignments are due on xxxxx.
        A3 in course xxxx
        Due: xxxxxx
        Go to activity

      Testing scenario 4

      1. Log in as student1.
      2. Submit the assignment A3.
      3. Run the scheduled task again (see above).
      4. Run cron (see above).
      5. CONFIRM that you DO NOT receive a 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 assignments due in 7 days' CONFIRM that it is set to run on the first hour, every day. 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 . Ensure your Moodle location settings (timezone) are set up correctly so that there are no time discrepancies. Testing scenario 1 Log in as a teacher. Create a course and enrol a student (student1). Create 3 assignment with a due date one week from now and using the following times: Due at 12:00am that day (A1) Due at 1:00pm that day (A2) Due at 11:59pm that day (A3) Create an additional assignment (A4) that is due 8 days from now (we want to make sure this one is excluded from our results). Log in as student1 and go to  User -> Preferences -> Notification preferences. CONFIRM there is a notification preference called 'Assignments due in 7 days 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_digest_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 'You have assignments due in 7 days' Click on 'View full notification'. CONFIRM  the message reads: Hi xxxxx, The following assignments are due on XXXXX. A1 in course xxxx Due: xxxxxx Go to activity A2 in course xxxx Due: xxxxxx Go to activity A3 in course xxxx Due: xxxxxx Go to activity CONFIRM that the assignment that is due 8 days from now (A4) is not listed in the notification. Click on all the 'Go to activity' links and  CONFIRM that it takes you to the correct assignment. 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. Go to the first assignment (A1). Go to  More->Overrides. Add a user override for student1 and set the 'Due date' 4 days from now and save changes. Run the scheduled task again (see above). Run cron (see above). Log in as student1 CONFIRM that you received the following notification: Hi xxxxx, The following assignments are due on xxxxx. A2 in course xxxx Due: xxxxxx Go to activity A3 in course xxxx Due: xxxxxx Go to activity Testing scenario 3 Log back in as the teacher. Create a group (group1) and add student1 to it Go to the assignment A2. Go to  More->Overrides. Add a group override for group1 and set the 'Due date' 4 days from now. Run the scheduled task again (see above). Run cron (see above). Log in as student1 CONFIRM that you received the following notification: Hi xxxxx, The following assignments are due on xxxxx. A3 in course xxxx Due: xxxxxx Go to activity Testing scenario 4 Log in as student1. Submit the assignment A3. Run the scheduled task again (see above). Run cron (see above). CONFIRM that you DO NOT receive a notification.
    • 6
    • Team Hedgehog 2024 Sprint 2.3, Team Hedgehog 2024 Review 2, Team Hedgehog 2024 Sprint 3.1, Team Hedgehog 2024 Sprint 3.2

      Add a new notification for students when they have one or more upcoming assignments due in 7 days. This will help students manage their workload, and was identified as a need from user research.

      The research identified "in the same week", but this can vary a bit in different locations (5 day vs 7 day definition of a week, Sunday vs Monday week start etc.). Taking this into account, along with implementation discussions to keep this as simple as possible for students receiving it, the final requirements are as follows:

      1. Run a task once daily to check if students have any assignments due in one week - this means when the task is running on a Monday, it will check if any assignments are due for the user between 00:00:00-23:59:59 on the following Monday. When it runs on a Tuesday, it will check for assignments due any time the following Tuesday, and so on.
      2. If the student has one or more assignments due within that day (in a week's time), they will receive a single notification, listing all assignments due on that day only.
      3. Copy for the notification text has been discussed in sprint review as well as in the comments below, but essentially boils down to listing the date which the email relates to (ie if being sent on 1 January, it will mention it relates to assignment(s) due 8 January), and each item in the notification should include the assignment name, course full name and a call to action linking to the assignment activity.
      4. The notification period will deliberately not be 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.

      Other options discussed included a full digest (listing anything due in the next 1-7 days and whether they had been notified previously or not), as well as one email per week were discussed and discounted as less practical/useful options. The former can potentially build into a long email with too much information, and the latter can result in insufficient notice (if it sends on a Monday and you have something due on a Tuesday, you would only get one day's notice from this email).

        1. with differences.png
          with differences.png
          65 kB
        2. no differences.png
          no differences.png
          54 kB
        3. MDL-79734-scheduled task.png
          MDL-79734-scheduled task.png
          297 kB
        4. MDL-79734-4.png
          MDL-79734-4.png
          149 kB
        5. MDL-79734-3.png
          MDL-79734-3.png
          368 kB
        6. MDL-79734-2.png
          MDL-79734-2.png
          392 kB
        7. MDL-79734-1.png
          MDL-79734-1.png
          501 kB

            david.woloszyn@moodle.com David Woloszyn
            matt.porritt@moodle.com Matt Porritt
            Stevani Andolo Stevani Andolo
            Jun Pataleta Jun Pataleta
            Ron Carl Alfon Yu Ron Carl Alfon Yu
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved:

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

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