Email reminders for calendar events: Difference between revisions
From MoodleDocs
No edit summary |
No edit summary |
||
Line 39: | Line 39: | ||
:3. Implementing message providers for each event type. (CONTRIB-3659) | :3. Implementing message providers for each event type. (CONTRIB-3659) | ||
:4. Providing a administrator settings page. (CONTRIB-3660) | :4. Providing a administrator settings page. (CONTRIB-3660) | ||
:5. Implementing necessary reminder classes. | :5. Implementing necessary reminder classes. (CONTRIB-3669) | ||
::* Creating abstract reminder class. | ::* Creating abstract reminder class. | ||
::* Creating concrete reminder classes for each event type. | ::* Creating concrete reminder classes for each event type. | ||
:6. Building functionality. | :6. Building functionality. | ||
::* Implementation of Cron function. | ::* Generation of message content for reminders. (CONTRIB-3671) | ||
::* Implementation of Cron function. (CONTRIB-3670) | |||
::* Extending to support plugin for repeated events. (CONTRIB-3672) | |||
:7. Testing | :7. Testing | ||
:8. Bug fixing | :8. Bug fixing | ||
Line 90: | Line 92: | ||
== Tracker == | == Tracker == | ||
* | * CONTRIB-3647 Automating Email reminders for calendar events | ||
== See also == | == See also == | ||
* Plugin development [https://github.com/isuru89/moodle-reminders-for-calendar-events Repository] | |||
* [https://docs.moodle.org/dev/Projects_for_new_developers Moodle - Google Summer of Code 2012 Idea List] | * [https://docs.moodle.org/dev/Projects_for_new_developers Moodle - Google Summer of Code 2012 Idea List] | ||
* [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/isuru89/1 Original Proposal - GSoC 2012] | * [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/isuru89/1 Original Proposal - GSoC 2012] | ||
* RSS Feed from Personal Blog, [http://uisurumadushanka89.blogspot.com/feeds/posts/default/-/gsoc RSS Feed]. | * RSS Feed from Personal Blog, [http://uisurumadushanka89.blogspot.com/feeds/posts/default/-/gsoc RSS Feed]. |
Revision as of 10:48, 27 May 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
- 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. (CONTRIB-3669)
- Creating abstract reminder class.
- Creating concrete reminder classes for each event type.
- 6. Building functionality.
- Generation of message content for reminders. (CONTRIB-3671)
- 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".
- 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
- 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.