Email reminders for calendar events
From MoodleDocs
Introduction
Reminders are very useful for both students as well as teachers to recall their scheduled event before the actual moment. This project is about creating a set of reminders for Moodle calendar events and sending them automatically to relevant users on timely manner via Moodle message interface. It will be implemented as a local plugin to the Moodle.
Requirements
Moodle 2.2 required
Community Bonding Period
Milestones
- DONE - Refine the project proposal with Michael, Rossiani and the community
- DONE - Feature discussion
- Create mockups
Features
Following features are expecting to package with the reminders plugin.
- 1. Reminders can be sent by customizing according to each event type.
- Separate message providers for each event type.
- Ability to customize message content according to event type.
- 2. Administrator configurations
- Administrator can enable/disable the process of sending reminders without uninstalling the plugin.
- Ability to choose how many days ahead should the reminders be created for each event type.
- Reminders can be created only by days.
- Supported only fixed amount of days ahead such as 7 days, 3 days and 1 day.
- Ability to keep/remove history of reminder events.
- 2. User configurations
- User can select desired method of receiving reminder notifications on each message provider.
Coding Period
Milestones
- 1. DONE - Finalize the abstract architecture.
- 2. DONE - Implementing the basic structure of the plugin. (CONTRIB-3648)
- Creating a suitable version file.
- Creating a language file.
- Creating a message provider file.
- Creating a lib file for the cron function.
- 3. Implementing message providers for each event type. (CONTRIB-3659)
- 4. Providing a administrator settings page. (CONTRIB-3660)
- 5. Implementing necessary reminder classes.
- Creating abstract reminder class.
- Creating concrete reminder classes for each event type.
- 6. Building functionality.
- Implementation of Cron function.
- 7. Testing
- 8. Bug fixing
File Structure
Following shows expected file structure of the plugin. Plugin name would be "reminders".
- db/access.php
- db/message.php
- db/install.php
- db/upgrade.php
- lang/en/local_reminders.php
- version.php
- lib.php
- settings.php
- README
High Level Architecture Diagram
Reminders Class Diagram
Mockups
Administrator Setting Page
Message Format (HTML)
- Message Title : Reminder: ${event_detail} @ ${event_date_time}
Message Format (Plain-text)
- Message Title : Reminder: ${event_detail} @ ${event_date_time}
- Message Content:
- ${message_title}
- Reminder - #n days remaining
- When -> ${event_time}
- What -> ${event_course} or ${event_type}
- Description -> ${event_description}
Screenshots
Tracker
See also
- Moodle - Google Summer of Code 2012 Idea List
- Original Proposal - GSoC 2012
- RSS Feed from Personal Blog, RSS Feed.