Managing Recurring Events Using Multiple Documents
The "Multiple Document" approach creates a separate document based on the recurring event parameters specified in the initial appointment. This second approach provides much greater flexibility to manage recurring events but is considerably more complex to implement. Using this architecture allows you to create repeating events
- By date April 4 (one-day event).
- Daily by date April 4 through April 7 (sequential).
- Weekly by day Monday, Wednesday, and Friday.
- Monthly by date First of each month.
- Monthly by day Third Friday of each month.
- Custom dates A comma-delimited list of calendar dates.
- Skip weekends Do not create if event is on a Saturday or Sunday.
- Next business day Move event to Monday if computed day is a weekend.
With the multiple document approach, a separate document is generated for each calendar date. When the initial appointment is saved, all recurring event dates are calculated, and a separate document is generated for each calendar date (see Figure 8.2).
Figure 8.2. Multiple Document recurring event
This architecture offers much greater flexibility in scheduling. Another advantage is the ability to move and delete events. Because each event is stored as a unique document, users can move, delete, or update one calendar event without affecting the other related events.
The disadvantage to this approach is the complex algorithm required to calculate the event dates. Also, because a separate document is created for each calendar date, each document will need to be independently updated should the author need to update the subject or body for all related appointments.
Additional challenges are associated with deleting, or removing, a scheduled appointment. Because there are multiple documents, each document will need to be manually deleted, or a subroutine will need to be developed to automate the deletion process.
Implementing this second approach requires additional information to be captured in the initial appointment form. This is managed via a separate dialog window that prompts the user to specify the recurring event parametersweekly, daily, day of the week, skip weekends, monthly, custom dates, and so on. This information is added to the initial appointment document. Each recurring appointment document is generated after the document is saved for the first time.
Note
This publication includes all subroutines and sample code required to build the simple and complex calendar projects. The code is also available in the developer's toolbox. Simply open the "Project Library" database in your Lotus Notes client and navigate to the appropriate project. After you locate the project, copy and paste the code into the Designer client for the current project.
Project A Build an Event Calendar
|