The Super Simple Calendar is Growing Up.

Several customers have requested the ability to have recurring dates on MyCalendar. This feature has now been added in the next version but I want to make sure existing customers understand how this update will effect them and their current installation. Here are some details about the changes.

The Database Tables Have Changed

The Events table has some addidtions:

A new Occurrences table will store:

How it works

Each event you create will have primary information held in the “events” table. While editing your event in the front end form, you will have the option to preview your content and recurrence choices. Once you save the event, the system will generate the recurrence dates and store each recurrence in the "occurrences" table. Each time you edit the event, the recurrences are recalculated and existing records in the “occurrences” table are either shifted ( if the time or date changed ), created ( if there are more recurrence records ), or marked as deleted ( if there are less recurrence records ). Any “occurrences“ records that are changed will also have an “is_modified” column marked as true as well.

This model and occurrence relation was chosen to try preserve occurrence “id”s and ensure that any relationships to these occurrences retains a valid reference. Any related model that is sensitive to a date or time change in the occurrence can check the “is_modified” column to make decisions about changes. There are also plans to generate a simple observer implementation when event records are modified to allow you to subscribe to and listen for events in your own application.

When it is time to retrieve and display events from the database, the "occurrences

Recommendations for Upgrading Existing Installations

Please read if you are one of those fine folks that already have MyCalendar installed and are using it on their website.