Application Architecture
There are two primary components that make up a calendar applicationa form and a view. The form is used to capture information such as the appointment date, time, and subject. The view simply displays the subject, based on the specified date and time provided in the form. Believe it or not, using these two elements, you will be able to build a calendar application that can manage recurring events.
Before you start programming, you need to understand the rules for building a calendar application and the process used to manage recurring events.
Rule 1. |
The appointment form must have a start date field. This field determines where to display the event on the calendar. The start date is the anchor for the calendar application.
|
Rule 2. |
The appointment form must contain a duration. This field must be numeric and represents the number of sequential minutes for the event. This can be computed by including a start and end time on the form.
Note The duration is used in column 2 of the calendar view. This value can be omitted from the form if the calendar view column contains a value or formula. |
Rule 3. |
Column 1 of the calendar view must contain a "date/time" value sorted in ascending order. This column should be hidden from the user.
Note You must sort the first column in ascending order for the calendar view to display correctly. |
Rule 4. |
Column 2 of the calendar view must contain the "duration" for the calendar event. This value specifies the duration in minutes for the event. The duration can be a field, value, or formula.
Note The duration value can be positive or negative. Positive numbers will display calendar events to the right (or future) of the start date. Negative numbers will display calendar events to the left (or prior) to the start date. Note that zero is a valid value. |
Rule 5. |
The Style of the view must be set to Calendar. This setting changes the appearance of the view from the traditional look to an actual calendar.
|
Now let's delve deeper into the architecture and design options for managing recurring calendar events. The complexity of the application will revolve around the process required to manage repeating events. As with any software language, there are many ways to design, develop, and implement a solution. The next sections will discuss two possible solutions.
A.8.1 |