Skip to content

Feature proposal: Trigger notifications on consecutive absences #897

@joerebbeck

Description

@joerebbeck

Summary

I'd like to propose an extension to the existing warning sets system that triggers
notifications based on consecutive absences, rather than (or in addition to)
cumulative percentage thresholds.

Use case

Our institution needs to alert staff when a student misses sessions back-to-back —
for example, sending an email to a student and their tutor after 2 consecutive missed
sessions, and escalating to an administrator after 3. This is distinct from the
existing % threshold system, which doesn't catch patterns of absence that might
warrant early intervention.

Proposed behaviour

  • Configurable thresholds for consecutive absences (e.g. 2, 3, N sessions)
  • Each threshold maps to one or more notification recipients (student, custom roles)
  • A tracking/reporting table to record historical consecutive absence incidents per
    student — important because a student might miss 2, attend 2, then miss 2 again,
    and we want to see that pattern over time
  • Notifications delivered via Moodle's existing messaging system (consistent with
    the current warning sets approach)

Questions before I start

  1. Is this something you'd consider merging if implemented cleanly?
  2. Would you prefer this as an extension to the existing warning sets infrastructure,
    or as a separate configurable section?
  3. Are there any architectural considerations I should be aware of before writing code
    — particularly around the scheduled task and DB schema?

My background

I'm comfortable with Moodle coding standards, XMLDB, and the plugin review process.
Happy to follow whatever conventions you use in this codebase.

I'd welcome any feedback before I invest significant time in an implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions