Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Event Monitor specification

From MoodleDocs
Event Monitor
Project state Implementation
Tracker issue MDL-45758
Discussion https://moodle.org/mod/forum/discuss.php?d=261660
Assignee Ankit, Simey

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.

The Event Monitor report will allow users to select events and receive notifications in real time* when the chosen event happens.

This report will be built on top of the new Event 2 infrastructure.

How it works

  • The user or site admin creates a specific set of “rules” that can be subscribed to.
  • Each rule defines an event and frequency parameters.
  • The users select the rules they are interested in and then subscribe to it at course level for a specific module or all modules.
  • Whenever the event occurs in the system , in the frequency specified in the rule, a message is sent out to all the subscribers.
  • Since we are using Moodle messaging system to send out these notifications, it can be delivered in any format supported by Moodle (Mobile notification, popup, email etc)
  • There would be some default rules that would be shipped with the report, that users can subscribe to straight away.

User interface mock-ups

Subscribe to a rule

This is the main page of the Event Monitor report where users can see a list of rules and their current subscriptions. This also lets users to subscribe to new rules or delete their current subscriptions.

subscriptions.png

Manage rules

This page lets you manage the rules if you have appropriate permissions (create/edit/delete/copy)

This is roughly how the page will look like:-

listrules.png

Add/Edit a rule

This is the form where users can create a new rule, customise the filters (frequency and time) and personalise the notification message.

addrule.png

A specific example

One scenario may be that you wish to be notified when discussions are becoming active in the forums.

The figure above shows the creation of a new rule called 'My Student Discussions', which is set to monitor 'Post Created event' on 'Forum Module'.

In this case, any user subscribed to this rule will receive notifications whenever '30 posts are created in 60 minutes' on the forum they are subscribed to.

The notification will contain the customised message as configured in the rule.

Message template

One interesting option of rule monitoring is the message templates. When creating or editing a rule, the user can use placeholders to receive a detailed notification. These are the available placeholder for use on message template field.

Placeholder What it does? Example
{link} Direct link to the actual event, eg a forum discussion. http://YourMoodle.com/mod/forum/discuss.php?d=2
{modulelink} Link to the module where the event has happened, eg a forum http://YourMoodle.com/mod/forum/view.php?id=8
{rulename} A name for the rule. Student discussions
{description} A description of the rule. I want to receive notifications when a student posts in a discussion.
{eventname} The name of the event being monitored. Forum post created.

The above examples show the placeholders for a rule to monitor the Forum post created event. You don't have to use a placeholder on the template message; you can write any personalized message. Example of message templates using placeholders:

The rule {rulename} to monitor the event {eventname} just happened. Click on the {link} to go to the forum discussion. More details: {description}

The result of this message template would be: The rule Student discussions to monitor the event Forum post created just happened. Click on the "[1]" to go to the forum discussion. More details: I want to receive notifications when a student posts in a discussion.

Benefits

  • Real time monitoring of events happening in Moodle.
  • Admin can be notified when there is heavy activity on the site or they can monitor specific actions that interests them (ex:- course delete).
  • A notification can be sent straight to a user's mobile if there is a situation that needs immediate attention.
  • The report will be designed to trigger an event when a given subscription criteria are met. This will allow developers to build really powerful scripts on top of the report. For example, a block displaying “Hot forums”, or something more complex like load balancing when there is lot of activity in the forums or quiz.

Usage scenarios

  • Send notification when more than X posts in any forum are made in a given course in Y minutes.
  • Send notification when new chapters are created in a book.
  • Send notification (to admin) when a course is deleted.
  • Send notification (to students) that a particular activity has been updated.
  • Send notification (to admin) when potential security risk might happen due to change in system setting.

Future work

  • Allow events to be subscribed by only certain roles
  • Forced subscriptions for students for certain rules
  • An activity stream for messages
  • An facebook style notification system for notifying logged in users

See also

  • Event 2
  • Moodlerooms developed a "Personalized Learning Designer" that has some of these features (mostly for individual students only).
  • Real time means “as soon as possible” - this depends on the cron configuration of the site. (For further information refer to [Adhoc tasks])