2.5.3. Details of Scheduling Recurring Items

The scheduling of weekly and biweekly recurring items has been presented in preceding scenarios. This section presents the remaining details of monthly and yearly recurring intervals.

When the user checks the Recurring box in a scheduling dialog or item-level view, the data-entry boxes to the right become active. Figure 179 shows the general format.


Figure 179: Information for a recurring item.



The `Interval' menu in Figure 180 shows the four available selections: weekly, biweekly, monthly, and yearly.


Figure 180: Interval selections.



The details area to the right of the interval menu varies based on the menu selection and the scheduling context. In all contexts except a meeting request, the details area has three possible configurations:

  1. for weekly and biweekly intervals there are check boxes for the days of the week;

  2. for the monthly interval there is a single `Details ...' button;

  3. for the yearly interval the details area is empty.
In the scheduling request dialog for a meeting, the details area always contains the `Details ...' button, whatever the interval selection. Descriptions of the different details configurations and dialogs follow.

2.5.3.1. Weekly/Biweekly Intervals

The default recurring interval is weekly. When either the weekly or biweekly interval is selected, the interval details area contains seven check boxes, one for each day of the week. When the user checks one or more of the day boxes, the system schedules the item to recur on the selected day(s). For a weekly interval, the item recurs each week on the selected days. For biweekly, the item recurs every other week on the selected days. At least one of the day boxes must be checked. Examples of weekly and biweekly scheduling appear in Sections 2.2, 2.4, and 2.5.

2.5.3.2. Monthly Intervals

When the user selects the monthly interval, the system changes the recurring information display as shown in Figure 181.


Figure 181: Monthly interval selected.



When the user presses `Details ...', the system displays the dialog in Figure 182.


Figure 182: Monthly interval scheduling dialog.



The dialog allows the user to schedule a recurring item on one or more months of the year, selected via the check boxes. Below the month selections are two alternatives for choosing the days on which the item recurs. The `Days of the week' alternative allows the user to select one or more days within the different weeks of the month. The `Date' alternative allows the user to select one or more numeric dates. Only one of the two alternatives is active at one time. For convenience, check box selections made in either alternative remain checked when the other alternative is activated.

Figure 183 shows settings for an item that recurs on the first Monday of every other month, starting in January.


Figure 183: Item recurs on the first Monday of every other month.



Figure 184 shows an item that recurs on the first and third Friday of every month.


Figure 184: Item recurs on the first and third Fridays of every month.



An item scheduled in this way recurs at most two times per month. In particular, it does not occur on any fifth Fridays, when they happen. Figure 185 uses the `Dates' selection to schedule a meeting on the 15th of every third month, starting in January.


Figure 185: Item recurs quarterly on the 15th.



The monthly details dialog contains generic information, not applicable in all cases. The following restrictions apply to the `Days of the week' settings:

  1. For months with four weeks only, the specification for the 5th week does not apply, and the specification for the last week, if present, overrides any specification for the 4th week, if present.

  2. For months with five weeks, the specification for the last week, if present, overrides any specification for the 5th week.
Since the number of weeks per month varies dynamically from year to year, it is not possible to consistently disable any particular row of check boxes under `Days of the week'. Hence, all day boxes are enabled whenever `Days of the week' is selected. The two override rules are applied dynamically when an item is scheduled.

Under `Dates', the check boxes for 30 and 31 are selectively disabled based on which months are selected. Specifically, both 30 and 31 are disabled if only `Feb' is selected. 31 is disabled if one or more of 30-day months are selected, or if `Feb' is selected along with one or more 30-day months. The 30-day months are `Apr', `Jun', `Sep', and `Nov'. The 29 selection applies to `Feb' only on leap years. Since leap year occurrence varies from year to year, The 29 selection is never disabled, even when only `Feb' is selected.

2.5.3.3. Yearly Intervals

The yearly interval setting means that an item recurs once every year on the same date. For example, Figure 186 shows an appointment that recurs yearly on August 27, from 1998 through 2048.


Figure 186: Anniversary appointment.



The `Start Date' and `End Date' must be the same month and date. The recurring details area is empty. Although yearly recurrence can be specified using monthly details, the yearly form is provided as a simple convenience.

2.5.3.4. Recurring Meeting Requests

As discussed in Section 2.4.1, a meeting request specifies a range of possible times and dates on which a meeting can be held. In this context, the recurring details specify allowable days on which the meeting can occur, rather than specific days on which the meeting does occur.

For weekly and biweekly intervals, recurring meeting requests are covered in Section 2.4.1.2. For the monthly interval, the recurring details dialog is shown in Figure 187.


Figure 187: Monthly recurring details for a meeting request.



In the top row of the dialog, the user selects one of three alternatives for granularity of recurrence. At the far right of the first row is the value for the selected granularity. The default granularity is 1 day per month.

The `Allowable months' check boxes are used to specify the months on which a meeting is allowed to occur. The default is all months.

`Allowable days' and `Allowable dates' are two alternatives for setting the specific days or dates on which the meeting is allowed to occur. The use of these alternatives is similar to the regular monthly recurring dialog in Figure 183. In the case of the meeting request, the settings select possible days or dates rather than actual days or dates.

The last two lines in Figure 187 define the minimum and maximum span between meeting occurrences. The use of these settings is analogous to the last two settings in the weekly recurring request shown in Figure 93. The occurrence granularity changes based on the setting in the first-row radio buttons. The figure shows the default case of "days". If the `Weeks per month' selection is on, the the string "days" is replaced with "weeks" in both the minimum and maximum labels. If `Months per year' is on, the the string "days" is replaced with "months" in both labels. The minimum and maximum fields are enabled if the numeric value in the first row is greater than the number or allowable days, weeks, or months, as appropriate. The number of allowable days is defined as the number of day or date check boxes that are selected. The number of allowable weeks is defined as the number of rows under `Allowable days' or `Allowable dates' that have one or more days or dates selected. The number of allowable months is the number of month check boxes selected.

2.5.3.5. Recurring Items and Instances

When a recurring item is scheduled, it generates a collection of instances in the user's calendar. The instances occur on the dates specified by the recurring information. The system keeps track of the instance collections as a whole, for the purposes of change and delete. Each instance that is generated from a particular recurring item is marked internally as part of that item's collection. In this way, when the user changes or deletes all instances of a recurring item, the system knows precisely which calendar items are affected.

Since a recurring item cannot be changed to non-recurring, an instance always remains part of its recurring collection, unless the instance is deleted. Hence, when an individual recurring instance is changed, it still remains part of its recurring collection. This means that a changed instance can continue to be used for changing or deleting all other or all future instances. The cumulative effect of individual instance changes is reflected whenever an instance is used to change all other or future instances. For example, suppose the user confirms two separate change operations to an individual item, then selects `all instances' and confirms a third change. In this case, the results of all three changes are made to all instances, not just the result of the third change after `all instances' is selected.

To maintain a reasonable degree of consistency for recurring items, all instances in the same collection must have the same start date, end date, and recurring information. For this reason, the start date, end date, and recurring information can only be changed when the `all instances' radio button is selected in an item-level view.

When the user changes the start date, end date, or recurring details for all instances, the effect can be to delete one or more instances. Specifically, the following forms of change result in instance deletion:

  1. changing the start date forward, to after the existing start date

  2. changing the end date backward, to before the existing end date

  3. removing one or more days from the recurring details
When the user presses the `Change' button in an item-level display after making one or more such changes, the system displays a confirmation dialog of the form shown Figure 188,


Figure 188: Confirmation dialog for deleting instances by date or recurring details changes.



where N is the number instances that will be deleted if the change is confirmed. If the user confirms with `OK', the effects of the change are reflected in all affected display windows, including the removal of any item-level displays for the changed instance if the change results in its deletion.




Prev: changing-and-deleting | Next: receiving-reminders | Up: finer-points | Top: index