General plugins (Local): Event Reminders

local_reminders
Maintained by Picture of Isuru Madushanka Weerarathna Isuru Madushanka Weerarathna
Automate sending reminders for calendar events.
883 sites
515 downloads
32 fans

This plugin will automatically send reminders for Moodle calendar events in a timely manner via Moodle message interface. This plugin allows users to control how they receive messages for each event types in Moodle calendar.

Screenshots

Screenshot #0
Screenshot #1

Contributors

Picture of Isuru Madushanka Weerarathna
Isuru Madushanka Weerarathna (Lead maintainer)
Picture of Rossiani Wijaya
Rossiani Wijaya: Mentor
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Adarsh Shukla
    Fri, 13 Jan 2017, 3:48 PM
    @Mario Thank You... This worked for me.
  • Picture of Adarsh Shukla
    Fri, 13 Jan 2017, 3:51 PM
    @erwin First of check weather your moodle setup is sending mails or not. You can test it through mail test plugin available https://moodle.org/plugins/local_mailtest
  • Picture of erwin suranta
    Fri, 20 Jan 2017, 10:03 AM
    Thanks for replying me Adarsh smile. this was the response i got from mail test:
    Warning - The cron.php maintenance script has not been run for at least 24 hours.
    The cron.php maintenance script assists some of Moodle's modules to perform tasks on a scheduled basis, such as mailing out copies of new forum posts. A mechanism is required to run the script regularly e.g. every 5 minutes.
  • Picture of Alexander Mueller
    Tue, 31 Jan 2017, 5:41 PM
    Hi there,
    Is this plugin working with Moodle 3.2+
  • Picture of erwin suranta
    Thu, 2 Feb 2017, 4:45 PM
    Adarsh or anyone who can help me, i confirmed that my moodle can send email, i got one notifying me that a student has submitted an assignment. But somehow still no email from this reminder plugin. Pls help me.
  • Picture of April Hayman
    Thu, 16 Mar 2017, 1:32 AM
    Our site is sending end of event reminders but not reminders for the opening of an assignment. We've tested it several times and we are receiving emails from the site. Cron seems to be working. Any help would be appreciated.
  • Picture of Isuru Madushanka Weerarathna
    Thu, 16 Mar 2017, 10:37 AM
    @April

    Could you verify whether there is a calendar event created for a opening of an assignment, or not. Because, the plugin sends reminders only for the calendar events.
  • Picture of April Hayman
    Thu, 16 Mar 2017, 10:56 PM
    @Isuru I see the open date in the settings for the assignment but they're not on the calendar. Is that something we have to add manually?
  • Picture of Isuru Madushanka Weerarathna
    Fri, 17 Mar 2017, 1:20 PM
    @April
    Moodle by-default may not be adding assignment open date to the calendar as an event.
    May be you have to look in the forum on how to add an event for the open date or is there any upgrade in the assignment module to support that.

    However, if you add an event manually, then the plugin should send reminders as long as still in the reminding date range.
  • Picture of Herrmann Prinzel
    Fri, 17 Mar 2017, 7:44 PM
    Hello, i don't know if this behavoiur is normal or not. So please excuse my post if it is so. I installed ER on our Moodle. No problems here, everything fine. The admin panel of ER is also fine and all inputs are croned correctly. But my question is, why do the user get still a remind if they completed a task? Is it normal?

    Kind regards
  • Picture of Isuru Madushanka Weerarathna
    Tue, 21 Mar 2017, 12:29 PM
    @Herrmann
    Yes, that's the current default behavior of reminder plugin. As a plugin, it sends reminders as long as the calendar event is in future and active.
    Plugin gets all associated users for a calendar event, but it does not consider whether individual has completed the event or not. That's why it sends reminder mails for a user even he/she has already completed the assignment.

    This has been reported by several moodle users to me and I am still figuring out whether plugin can filter out completed users out so they don't receive reminder mails. Let's see how it goes.
  • Picture of Mr. Marc
    Fri, 24 Mar 2017, 9:24 PM
    Is there a way to apply the event reminders to a certain type of class in a folder or category that hold those classes. We offer different type of offerings of classes in different formats. Some have due dates and some are open due dates.
  • Picture of Isuru Madushanka Weerarathna
    Mon, 3 Apr 2017, 12:33 PM
    @Mr. Marc
    Event reminders will work if you can create a calendar event (manually or automatically) for each interested type of offering.
  • Picture of Tim Quenan
    Thu, 6 Apr 2017, 4:46 AM
    Seeing two issues within the cron scripts when trying to send out reminders. I'm running Moodle version 3.2.2 against an Oracle 11 DB.

    The first is for a Course or Close Events:

    [Local Reminder - ERROR] Error occured when initializing for event#[581] (type: course) Error reading from database
    [Local Reminder - ERROR] #0 /u01/apolloglobal/moodle/ies/noah/lib/dml/oci_native_moodle_database.php(277): moodle_database->query_end(false)
    #1 /u01/apolloglobal/moodle/ies/noah/lib/dml/oci_native_moodle_database.php(1179): oci_native_moodle_database->query_end(false, Resource id #2429)
    #2 /u01/apolloglobal/moodle/ies/noah/lib/accesslib.php(3937): oci_native_moodle_database->get_records_sql('SELECT DISTINCT...', Array, '', '')
    #3 /u01/apolloglobal/moodle/ies/noah/local/reminders/lib.php(280): get_role_users(Array, Object(context_course), true, 'ra.id as ra_id,...')
    #4 /u01/apolloglobal/moodle/ies/noah/lib/cronlib.php(223): local_reminders_cron()

    The second is for Site events:
    [Local Reminder - ERROR] Error occured when initializing for event#[602] (type: site) Error reading from database
    [Local Reminder - ERROR] #0 /u01/apolloglobal/moodle/ies/noah/lib/dml/oci_native_moodle_database.php(277): moodle_database->query_end(false)
    #1 /u01/apolloglobal/moodle/ies/noah/lib/dml/oci_native_moodle_database.php(1179): oci_native_moodle_database->query_end(false, Resource id #1786)
    #2 /u01/apolloglobal/moodle/ies/noah/local/reminders/lib.php(254): oci_native_moodle_database->get_records_sql('SELECT * \r\n ...')
    #3 /u01/apolloglobal/moodle/ies/noah/lib/cronlib.php(223): local_reminders_cron()
    #4 /u01/apolloglobal/moodle/ies/noah/lib/classes/task/legacy_plugin_cron_task.php(163): cron_execute_plugin_type('local', 'local plugins')

    I'm trying to get more details regarding the DB errors that are thrown, but was hoping folks here may have some insight into the issue.
  • Picture of Mark B
    Mon, 24 Apr 2017, 10:10 PM
    I have solved the problem with reminders not working in moodle 3.1.5 if anybody is interested to know.

    Basically i did the following

    1. i noticed that version 1.3.1 will work but it sent reminders out more than once due to a bug. After an upgrade to versions 1.4, 1.4.1 and 1.5 i noticed that event reminders didn't send

    2. I downloaded 1.4 to find out how the repeated reminders were no longer sent and i noticed that a database table was not created for this plugin

    3. I went into the lib.php file and modified the following lines of text to be as follows:

    The logrows line to now become:
    $logrows = $DB->get_records("local_reminders", array(), 'time DESC', '*', 0, 1);

    timewindowstart variable line:
    $timewindowstart = $firstrecord->time + 1;

    Changed the following if function in local_reminders_cron to the following:
    if ($upcomingevents == false) { // no upcoming events, so let's stop.
    mtrace(" [Local Reminder] No upcming events. Aborting...");
    add_to_log(0, 'local_reminders', 'cron', '', $timewindowend, 0, 0);
    add_flag_record_db($timewindowend, 'no_events');
    return;
    }

    Added the following to the bottom of local_cron_reminders (before the add_to_log line)
    add_flag_record_db($timewindowend, 'sent');


    Added into lib.php:
    function add_flag_record_db($timewindowend, $crontype = '') {
    global $DB;

    $newRecord = new stdClass();
    $newRecord->time = $timewindowend;
    $newRecord->type = $crontype;
    $DB->insert_record("local_reminders", $newRecord);
    }

    Please note that add_to_log doesn't appear to work in moodle 3.0+ from what i have noticed and so that is obsolete

    Finally go into your phpmyadmin or whatever database software you use and set up the following:
    table name: yourmoodleprefix_local_reminders (in my case it is modl_local_reminders)

    column name: id; type: bigint(10); auto increment
    column name: time; type: varchar(16); null: no
    column name: type; type: varchar(32); null: yes; default: null

    If you don't want to do the last part i simply copied the structure of the database from version 1.4 onwards. If anybody would like a copy of my lib.php then i can send this over but as i say, the database table is just the same as version 1.4 onwards
1 2 3 4 5 6 7 8
Please login to post comments