Skip to main content

Course Alert

Features Description

This plugin introduces a new notification feature to automatically send custom reminders for courses:

  1. Login Reminder: user has not begun the course X days after enrolling
  2. Completion Reminder: user has not completed the course X days after the first access
  3. Course Closing reminder: user has not completed the course X days before the course end date (if set)
  4. Course Completed: When a user completes the course, they automatically receive a notification confirming their course completion
  5. Certification validation reminder: this reminder is added by the "Retraining" plugin

Each reminder can be activated separately for each course.
For each reminder, it will be possible to set a standard text or a custom notification text and scheduling.

Cron Job

To allow the system to properly work you need to set up a cron job on your server calling periodically (i.e every 10 minutes) the following URL: 

[platform_url]/plugins/CourseAlert/Cron/cron.coursealert.php

Reminders activation and settings

The course alert function is available for every course. From the course management page, just click on the new envelope icon to access the configuration panel:

image.png

This will open a configuration panel where you’ll be able to:

  1. Select one or more reminder for each course
  2. Define to send them by e-mail and/or popup the message upon user login
  3. Time Settings:
    • Define how many days after or before the “trigger” your reminder should be sent. 
    • Interval: how many days to wait before resending the notification
    • Repeat: how many times the alert will be sent/shown to the user
    • Reset: flag to rest upon saving the settings. All the notifications for this alert will be sent again.
  4. Set a custom notification text
  5. Notification Log: see a log of all the notifications sent to users in this course

image.png

Notification text customization

Writing a custom message

The message field for each notification displays a default text (the text that has previously been set under language management): just click on the text area and start writing to enter a custom text, if you want this course to have a custom reminder.
Conventional HTML tags can be used for text formatting.
Obviously we recommend using standard text, it makes maintenance much easier. 

DynamicTags

The following dynamic tags are available to customize your Course Alert notification text:

  • [user]: will print the name of the user receiving the notification
  • [course]: displays the course title
  • [days]: displays the number of days as set in the notification settings

Edit the default message

The default text message can be edited through the standard Forma language management features. The plugin adds another set of keys, so you can find the messages you need to customize by filtering for "course alert". 

Time Settings

Interval days

The Interval days parameter controls the minimum gap between two consecutive displays of the same pop-up to the same user. For example, with Interval days = 3, after clicking "Remind me later" the user will not see that pop-up again for at least 3 days. Setting Interval days = 1 means the pop-up can reappear on the following day's first login

Repeat days

Indicates how many times the alert should be re-proposed.

Note: By entering a value of 0, the system will continue to show the pop-up or send the email indefinitely until the required action is completed.

Reset Notifications

The Reset Notifications checkbox is available for each alert type in the configuration panel.
When this checkbox is selected and the configuration is saved, the system deletes the notification history (send log) for that alert type on the selected course. This means:
All users who had previously received this alert — including those who had reached the maximum number of repetitions — will be eligible to receive it again.
The repetition counter (sent_times) is cleared for all users associated with this course and alert type.
The alert cycle restarts from scratch as if no notification had ever been sent.
This is useful, for example, after updating the course content or extending the course deadline, when it makes sense to re-notify users who had already been informed.

Note: Reset Notifications only affects the selected alert type for the selected course. Other alert types and other courses are not affected.

Pop-Up Alert

When the Pop-up delivery method is enabled for an alert, the system checks at each user login whether any active alerts apply to that user. If so, the pop-up will appear at the next login.

The pop-up presents two action buttons:

  • "Enter": Redirects the user directly to the course. The alert is recorded as sent and the repetition counter is incremented.
  • "Remind me later": The alert is recorded as sent and the repetition counter is incremented. The pop-up will appear again at the user's next login, provided that the number of days configured in Interval days has elapsed since the last display.

Closing the pop-up (×): Dismisses the pop-up for the current session only, without incrementing the repetition counter or updating the last-send date. The pop-up will reappear at the next login unless an action is taken by clicking one of the buttons

If user is enrolled to multiple courses requiring notifications, multiple popups might be displayed at the same time:

image.png

Notification Log

A log of all the notification sent to users can be accessed:

  • Whithin a specific course alert settings, showing all the notifications sent for that specific course
  • Whithin the plugin global  settings, showing all the notifications sent for all the courses

image.png

Sending Criteria

Global Sending Criteria

Before sending any notification, the system always checks:

    Active user: the user account must be active   Active course: course status must not be archived, deleted, or suspended   Maximum number of sends: if set to 0, sends without limit; otherwise stops at the configured number Minimum interval between sends: does not resend until the configured number of days has passed since the last send

    Specific Sending Criteria

    Login Reminder  

    Purpose: reach enrolled users who have never opened the course.  

    Users receive the notification if:  

      They have never made their first access to the course   They have no completion date recorded They have been enrolled for at least X days (X is configurable)   Their enrollment date is valid   Their enrollment status is not one of: Suspended, Pending, Deleted, Overbooking  

      Completion Reminder  

      Purpose: prompt users who have started the course but have not yet finished it.  

      Users will receive the notification if:  

        They have made at least one access to the course   Their enrollment status is exactly In progress (1) — no other status is accepted   They have no completion date recorded   Their first access was at least X days ago (X is configurable)  

        Course Closing Reminder  

        Purpose: notify enrolled users that the course has an upcoming end date.  

        Users will receive the notification if:  

          The course has a defined end date (not empty) The end date is still in the future   The end date falls within X days from today (X is configurable) Their enrollment status is not one of: Suspended, Pending, Completed (2), Deleted,  Overbooking  

          Course Completed  

          Purpose: notify the user that they have completed the course.  

          Users will receive the notification if:  

            They have a completion date recorded   Their enrollment status is not one of: Suspended, Pending, Deleted, Overbooking  

            Certificate Expiry — Retraining (Certificate Validation Length Reminder) 

            Purpose: notify users that the certificate obtained upon course completion has expired, prompting them to retrain.  

            This notification is managed by the Retraining module and is only available when that module is active on the platform.  

            Users will receive the notification if:  

              They have completed the course (certificate obtained)   The certificate has a validity duration configured on the course   The certificate validity period has elapsed since the completion date