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 106 shows
the general format.
Figure 106: Information for a recurring item.
Figure 107: Interval selections.
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
18.104.22.168. Monthly Intervals
When the user selects the monthly interval, the system changes the recurring
information display as shown in Figure 108.
Figure 108: Monthly interval selected.
Figure 109: Monthly interval scheduling dialog.
Figure 110 shows settings for an item that recurs on the first Monday of every
other month, starting in January.
Figure 110: Item recurs on the first Monday of every other month.
Figure 111: Item recurs on the first and third Fridays of every month.
Figure 112: 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:
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
`Apr', `Jun', `Sep', or `Nov' are selected.
The 29 selection applies only to `Feb' on leap years.
22.214.171.124. Yearly Intervals
The yearly interval setting means that an item recurs once every year on the
same date. For example, Figure 113 shows an appointment that recurs yearly on
August 27, from 1998 through 2048.
Figure 113: Anniversary appointment.
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
For the monthly interval, the recurring details dialog is shown in Figure 114.
Figure 114: Monthly recurring details for a meeting request.
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 110. 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 114 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
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
126.96.36.199. 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 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 cummulative effect of individual instance changes is reflected whenenver 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: