Email reminders for calendar events: Difference between revisions
From MoodleDocs
No edit summary |
No edit summary |
||
Line 95: | Line 95: | ||
== Screenshots == | == Screenshots == | ||
=== Sample e-mail reminder for course event | |||
[[File:sample_email_reminder_course.jpg]] | |||
=== Sample e-mail reminder for due event | |||
[[File:sample_email_reminder_due.jpg]] | |||
== Tracker == | == Tracker == |
Revision as of 07:27, 16 June 2012
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
- DONE - 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)
- DONE - Creating a suitable version file.
- DONE - Creating a language file.
- DONE - Creating a message provider file.
- DONE - Creating a lib file for the cron function.
- 3. DONE - Implementing message providers for each event type. (CONTRIB-3659)
- 4. DONE - Providing a administrator settings page. (CONTRIB-3660)
- 5. DONE - Implementing necessary reminder classes. (CONTRIB-3669)
- DONE - Creating abstract reminder class.
- DONE - Creating concrete reminder classes for each event type.
- 6. IMPLEMENTING - Building functionality.
- DONE - Generation of message content for reminders. (CONTRIB-3671)
- DONE - Implementation of Cron function. (CONTRIB-3670)
- Extending to support plugin for repeated events. (CONTRIB-3672)
- 7. Testing
- 8. Bug fixing
File Structure
Following shows expected file structure of the plugin. Plugin name would be "reminders".
- contents/course_reminder.class.php
- contents/site_reminder.class.php
- contents/group_reminder.class.php
- contents/user_reminder.class.php
- contents/due_reminder.class.php
- db/access.php
- db/message.php
- db/upgrade.php
- lang/en/local_reminders.php
- reminder.class.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
=== Sample e-mail reminder for course event
=== Sample e-mail reminder for due event
Tracker
- CONTRIB-3647 Automating Email reminders for calendar events
See also
- Plugin development Repository
- Moodle - Google Summer of Code 2012 Idea List
- Original Proposal - GSoC 2012
- RSS Feed from Personal Blog, RSS Feed.