Changing and deleting scheduled items is performed in item-level displays. As
illustrated in the
preceding section
of the requirements, all item-level displays have `Change' and
`Delete' command buttons to perform these operations. The
enabled/disabled state of these buttons is consistent in all four types of
item. Specifically, when the system initially displays an item-level view, the
`Change' and `Clear' buttons are disabled and the
`Delete' button is enabled. This is illustrated in the display
excerpt shown in Figure 140.
Figure 140: Initial state of command buttons in all item- level displays.
As soon as the user performs an edit to some data field, the initial state of
the command buttons is reversed. Namely, the `Change' and
`Clear' buttons are enabled and the `Delete' button is
disabled. This is illustrated in Figure 141.
Figure 141: State of command buttons after user edits one or more data fields.
When the user executes and confirms `Delete', the system removes the item from the affected calendar(s), removes the item-level display from the screen, and updates any affected display windows.
Since the different types of scheduled item share many data fields in common, many aspects of changing items are common to all types. Aspects of item deletion are also common among the different types of item, such as the general form of the confirmation dialogs. The most wide-ranging effects of change and delete are made to meetings by meeting schedulers. Such changes and deletions potentially affect all attending users.
As noted in
Section 2.4.1.5,
the system maintains a separate copy of a meeting item for the scheduler and
for each attendee. Further, the system allows schedulers as well as attendees
to change or delete their own individual copies. This multi-user access to
meeting items leads to functional requirement details that must be carefully
considered. The requirements presented in Sections
2.5.2.2
through
Section 2.5.2.5
address these details.
2.5.2.1. Changing and Deleting Appointments
To change a scheduled appointment, the user edits one or more data fields in
the item-level display and then presses the `Change' button. For
example, Figure 142 shows the user having edited the date and time fields of
the dentist appointment scheduled in
Figure 7.
Figure 142: Date and time changes to the dentist appointment.
Figure 143: Change confirmation dialog.
In this scenario, the user selects `OK' in the confirmation dialog,
whereupon the system proceeds with the appointment change. After the change is
confirmed, the system updates all display windows that are affected by the
change. For example, the month view shown in
Figure 22
is changed to that shown in Figure 144, where the dentist appointment has been
moved from 8-9:30 on the 25th to 8:30-10 on the 29th.
Figure 144: Updated view after confirmed appointment change.
All data fields may be edited in the item-level view of an appointment. The same data-entry rules apply when changing an appointment as when initially scheduling it. These rules are covered in detail in Section 2.11.3. In addition to these data-entry rules, there are the following restrictions on changing a recurring appointment:
Figure 145 shows the user having edited an instance of a recurring appointment.
Figure 145: Edits made to a recurring appointment.
Figure 146: Confirmation dialog for changing one instance of a recurring appointment.
Figure 147: Updated view after another appointment change.
The user decides to perform another change to the racket ball appointment, by
deleting the last three weeks from the recurring schedule. To do so, the user
moves to the October 1 instance and performs the edit shown in Figure 148.
Figure 148: Additional edits made to a recurring appointment.
The user proceeds to press `Change' in Figure 148, in response to
which the system displays the confirmation dialog in Figure 149.
Figure 149: Confirmation dialog for changing all instances of a recurring appointment.
Figure 150: Updated view after further appointment change.
If the user changes an appointment with `all future' selected, the
system displays the dialog of Figure 151.
Figure 151: Confirmation dialog for changing all future instances of a recurring appointment.
To delete a non-recurring appointment, the user presses `Delete' in
the item-level display.
In response, the system displays the confirmation dialog of Figure 152.
Figure 152: Delete confirmation dialog.
When the user executes `Delete' for a recurring appointment, the
system displays one of the three confirmation dialogs shown in Figure 153,
based on the setting of the change/delete radio buttons.
Figure 153: Delete confirmation dialogs for a recurring appointment.
The change and delete commands for meetings behave much the same as they do for appointments. The significant difference is when a scheduler changes a critical meeting data field or deletes a meeting, all attendees are notified. Scheduler deletion of a meeting is the means by which the meeting is effectively cancelled.
As described in
Section 2.4.1,
some of the data fields of a scheduled meeting are computed by the system,
based on the initial scheduling request. This means there are scheduler
restrictions on changing some meeting data fields. Furthermore, some data
fields are sufficiently critical to the meeting that all attendees must be
notified if one or more such fields are changed. Table 9 summarizes what
changes, if any, are allowed by the scheduler and which field changes require
attendee notification.
Data Field | Changes Allowed | Notification Required |
Title | any except empty | no |
(Start) Date | any future date, with warning if conflicts detected | yes |
End Date | same as Start Date | yes |
Start Time | any, with warning if conflicts detected | yes |
Duration | same as Start Time | yes |
Recurring | any, with warning if conflicts detected | yes |
Category | any | no |
Security | any | no |
Location | any available at time(s) of meeting | yes |
Priority | any | no |
Remind | any | no |
Attendees | none | |
Details | any | no |
Minutes | any | no |
Scheduled By | none | |
On | none |
Table 9: Summary of allowable changes to meeting data fields
by the scheduler.
The table entries listed as "any" are still subject to the general data entry rules described in Section 2.11
Figure 154 shows edits made by the scheduler to the staff meeting confirmed in
Figure 85.
Figure 154: Duration and details changes to the staff meeting.
Figure 155: Confirmation dialog when scheduler changes critical meeting field, with conflicts.
In this scenario, the scheduler chooses `OK'. The scheduler's calendar is changed and all affected display windows are changed on the scheduler's display screen. In this case the scheduler is among the attendees and also appears in the conflicts list. The scheduler receives no notification, since the dialog itself serves this purpose. The fact that the meeting conflicts with existing item(s) on the scheduler's calendar is handled in the normal way, i.e., the item is subsequently displayed in overlapping format, as illustrated in Section 2.3.1.
When the scheduler confirms the change, all attendees are notified. Complete details of attendee change notification are covered in Section 2.5.2.3
The definition of time conflict when changing a meeting is the same as when the meeting is initially scheduled. Viz., a conflicting item on an attendee's calendar is any non-private item that overlaps with the changed meeting. Such a conflict can arise when the scheduler makes a change to one or more of the following meeting fields:
Figure 156 shows the scheduler having edited an instance of the recurring
lecturer meeting scheduled in
Figure 88.
Figure 156: Scheduler edits a recurring meeting.
Figure 157: Confirmation dialog when scheduler changes non- critical meeting field in a recurring meeting.
Figure 158 shows another change to the lecture meeting, this time to future
instances, at and beyond the October 1 instance.
Figure 158: Location change to future lecturer meetings.
When the scheduler presses `Change' in
Figure 158,
the system displays the dialog of Figure 159.
Figure 159: Confirmation dialog when scheduler changes critical field for future instances.
Figures 155, 157, and 159 show three examples of the confirmation dialog for changes made by a meeting scheduler. There are sixteen possible configurations for this dialog, based on whether there are attendee conflicts, whether the meeting recurs, and whether attendee notification is to happen. The following is a description of all possible configurations:
"The change will create a time conflict for the following users:"with the names of all affected users listed below the message.
"Are you sure you want to change this meeting?"
"Are you sure you want to change this instance
of the recurring meeting?"
"Are you sure you want to change all instances
of the recurring meeting?"
"Are you sure you want to change this instance and
all future instances of the recurring meeting?"
"If you choose `OK', all attendees will be notified."If no critical field is changed, the notification text is
"If so, select whether to notify all attendees of the change."below which are the `Notify' and `Do Not Notify' radio buttons.
To delete a non-recurring meeting, the scheduler presses `Delete' in
the item display. In response, the system displays the dialog of Figure 160.
Figure 160: Confirmation dialog for scheduler-deleted meeting.
The scheduler presses `OK' to proceed with the delete, in response to which the system deletes the meeting from the scheduler's calendar, deletes the meeting from all attending group calendar(s), and notifies all attending users. The system also updates any affected display windows on the scheduler's screen by removing the deleted item from those displays. Updates to attendee screens are performed as described in Section 2.5.2.3. If the scheduler selects `Cancel', the system performs no delete and removes the confirmation dialog, leaving the item-level display in its state prior to `Delete' having been executed.
Deletion of a recurring meeting applies to all instances selected by the
change/delete radio buttons, with the same effects for each instance as non-
recurring deletion. The confirmation dialogs are shown in Figure 161.
Figure 161: Confirmation dialogs for scheduler-deleted recurring meeting.
When the scheduler cancels a meeting with `Delete', the meeting is
permanently removed from the scheduler's calendar, and from the calendars of
all accepting attendees. If the scheduler wants to retain a record of a
cancelled meeting, the scheduler can perform cancellation with
`Change' instead of `Delete'. To do so, the scheduler can
type an appropriate cancellation text in the `Title' and/or
`Details' fields. The cancellation text will be visible to users in
bold red type in the notification details dialog, as described in the
next section.
2.5.2.3. Meeting Change and Delete Notifications
When the scheduler changes a meeting, the system notifies each attendee, except
the scheduler, with a dialog of the form shown in Figure 162.
Figure 162: Meeting change notification.
When a scheduler change causes a conflict with one or more existing items in the notified user's calendar, the notification message has the following line appended:
NOTE: this change conflicts with N existing item(s).where N is the number of scheduled items that have overlapping times with the changed meeting and "item(s)" is singular if N = 1, plural otherwise.
The user can view the complete details of the change by pressing the `View
...' button in the initial change notification dialog. For example, when
the user presses `View ...' in
Figure 162,
the system responds by displaying the notification details dialog in Figure
163.
Figure 163: Viewing details of a meeting change notification.
There are `Accept' and `Decline' buttons at the bottom of the display. To the left of the buttons is a label explaining that they apply to changes made by the scheduler. The user can edit any data fields except `Scheduled By' and `On'.
The user can respond to a meeting change notification in one of three ways: accept the change, decline the change, or delay a decision. Both the smaller change notification dialog ( Figure 162 ) and the larger details dialog ( Figure 163 ) have `Accept' and `Decline' buttons. If the user chooses `Accept', the changes are merged into the scheduled item in the user's calendar. If the user chooses `Decline', the changes are not made.
To delay the accept/decline decision, the user can close the notification dialog window, using the `View Windows Close' command. A user cannot delay an accept/decline decision beyond the date and start time of a non- recurring meeting, or beyond the date and start time of the last occurrence of a recurring meeting. If a user fails to accept or decline within this time, the system automatically executes decline on the user's behalf.
In the case of
Figure 163,
the notified user decides to edit the `Duration' field from the
scheduler changed value of 1.5 hours back to the original value of 1 hour, as
shown in Figure 164.
Figure 164: Change notification details dialog edited.
When the user presses `Accept' in Figure 164, the system merges the scheduler's changes into the user's copy of the meeting item. Change merging is accomplished by retaining the most recently entered value for each meeting data field. For this staff meeting, the user has changed the `Title', `Duration', `Category', and `Remind' fields more recently than the scheduler. Therefore, the user's values for these fields are retained in the changed version. In the case of `Title', `Category', and `Remind', the user's edits where made prior to the original acceptance of the scheduled meeting ( Figure 110 ). The `Duration' field was edited by the scheduler ( Figure 154 ), but then subsequently edited by the user in the notification dialog ( Figure 164 ). Therefore, the user's edit to `Duration' is the most recent, and it is retained in the changed version. The scheduler's change to the `Details' field is most recent, and therefore appears in the accepted version. All of the other data fields are unchanged by either the scheduler or user from their original scheduled values, and hence are retained as they are.
The detailed notification dialog reflects change merging when it is initially
displayed. Hence, the `Title', `Category', and
`Remind' fields in
Figure 163
contain the values most recently entered by the user, not the older values that
appeared in the scheduler's view in
Figure 154.
Any user edits made in the notification dialog are reflected in the ultimately
accepted changes. In this case, `Duration is so edited. Hence, when
the user executes `View Item' after pressing `Accept' in
Figure 164,
the system displays the item-level view shown in Figure 165.
Figure 165: Scheduler changes merged into meeting.
The policy to merge only the most recent changes may not be optimal in all circumstances. For example, if the user changes a data field and the scheduler subsequently changes the same field, the user might prefer her own less-recent field value. Such circumstances are presumed to be uncommon, so the system provides no option to select a different merge policy. The user can view the change notification and item displays side by side to inspect the differences between scheduler and user versions of a changed meeting. The user can then edit any scheduler-changed fields in the notification dialog.
To be clear, there are two separate copies of a not-yet-accepted meeting for each user who has not yet accepted or declined scheduler changes. The copy in the item-level display reflects the unchanged version of the meeting, as it is stored in the user's local calendar. The copy shown in the change notifcation details reflects the scheduler's changes. The scheduler-changed copy is stored in the Calendar Tool central repository. Details of the central repository are covered in Section 2.14.
To undo any edits made after the change confirmation dialog is initially displayed, the user can press `Clear'. As illustrated in Figures 163 and 164, the `Clear' button is disabled until the user performs some editing.
When the detailed notification dialog is displayed, the initial smaller notification dialog remains active. The user can press `Accept' or `Decline' in either dialog. When the user does so, the active dialog is removed from the screen, and the other dialog, if displayed, is also removed.
When a scheduler changes a recurring meeting, the notification dialog text is one of the following, based on the scheduler's setting of how many instances to change:
"User user ID has changed one instanceThe user ID is the ID of the scheduling user. In the one-instance and future-instance messages, date is the instance date. For the all- instances message, date is the start date.
of the recurring meeting on date"
" User user ID has changed all instances
of the recurring meeting on date"
"User user ID has changed all future instances
of the recurring meeting starting on date"
When the scheduler deletes a meeting, attending users are notified with a
dialog of the form shown in Figure 166
Figure 166: Delete notification dialog.
To view details of the scheduler-deleted meeting, the user presses `View
...' in
Figure 166.
In response, the system displays the dialog in Figure 167.
Figure 167: Viewing details of a meeting delete notification.
If the user presses `Accept', the system deletes the meeting from the user's calendar, updates all affected displays, and removes the delete notification dialog(s) from the screen. If the user presses `Decline', no deletion is performed. If the user has edited one or more data fields prior to pressing `Decline', the system displays a change confirmation of the form shown in Figure 169 of Section 2.5.2.5. If the user confirms the change, the system removes the notification from the screen. If the user cancels the change, the notification dialog remains, with no action having been taken.
Prior to an accept/decline decision for a scheduler changed or deleted meeting, the meeting appears in penciled-in form. As discussed in Section 2.4.1.5, the penciled-in format appears in daily, weekly, and monthly calendar views, as well as in all list views. The format is illustrated in Figure 111. In item-level calendar views, meetings with not-yet-accepted scheduler changes or deletion are indicated by additional command buttons at the bottom of the display. Details of this are presented in Section 2.5.2.5
The appearance of change/delete notifications is controlled by the setting of the meeting notification option described in Section 2.4.1.5. Also described in that section is the option that controls the appearance of penciled-in items. The system dynamically updates all active displays that are affected by a scheduler meeting change. An "affected" display is any attending user's display that shows the item prior to being changed. In all such displays, the item is dynamically changed from normal format to penciled-in format. In item-level displays, scheduler changes are indicated with the dynamic appearance of extra command buttons. The format of these item-level displays is described in Section 2.5.2.5. Further details of dynamic view updating are covered in Section 2.5.6. When the `hide' setting is selected, meeting items changed by the scheduler appear in normal form, not penciled-in.
It is possible for a scheduler to produce multiple change or delete notifications before an attending user accepts or declines any of them. The system retains only a single change/delete notification for any given meeting. The retained notification corresponds to the most recently confirmed change or delete executed by the meeting's scheduler. To be clear, there is a single notification for any particular meeting, corresponding to the most recent change or delete operation. There is not a separate notification for change and for delete. By the nature of the delete operation, once confirmed it is be the last notification produced by the scheduler. Hence, once a delete notification is sent, no further notifications will follow. The definition of a "particular meeting" is based on the unique identification provided by its `Scheduled By' and `On' values.
Pending change and delete notifications are stored in the same queue as initial scheduling notifications, as described in Section 2.4.1.6.7 Change and delete notifications are commingled with initial scheduling notifications, in confirmation time order. For a change or delete operation, the confirmation time is defined as the time at which the scheduler presses the `OK' button in the change or delete confirmation dialog. For any given meeting, the system removes any existing notification from the queue before entering a later notification. If notification for a particular meeting is sent to a user at the same time the user is viewing a previous notification for that meeting, the newer notification is not added to the queue until the user makes the accept, decline, or delay decision for the earlier notification. If the circumstance arises where a scheduler sends two or more notifications while a user continues to view a previous notification, the system maintains the policy that at most one change/delete notification appears in the queue for any given meeting. When the user ultimately acts on an earlier notification, the system adds the single most recent notification to the user's queue.
After the user makes the accept, decline, or delay decision in any notification
dialog, the notification is never redisplayed. If the start date and time of
the meeting pass before the dialog is allowed to appear, the notification is
removed from the queue and the system never displays it.
2.5.2.4. Group Calendar Changes
When a meeting scheduler confirms a change or delete, the effects are reflected immediately in all attending group calendars. As explained in Section 2.4.1.6.1, only a group leader can schedule a meeting for a group. Accordingly, only changes made by a group leader affect the group calendar.
The set of categories defined for a group calendar consists of the union of the categories for all items appearing in the calendar. When a scheduler changes or deletes the category for a meeting, the change or deletion is reflected in the set of defined categories as necessary. Specifically,
Group calendars are "virtual" in the sense that they are not directly editable.
Change and delete on group calendars is effected by a group leader when the
leader changes or deletes on the leader's own calendar. Calendar Tool system
administrators can purge items from a group calendar, as described in
Section 2.6.7.1.3.
2.5.2.5. Non-Scheduler Changing and Deleting Meetings
Non-scheduler change or delete of a meeting is performed in basically the same manner as appointment change or delete. Non-scheduler change or delete affects only an individual user's calendar and no attendee notifications are sent. As noted earlier, the item for any meeting is stored as an individual copy in each user's calendar. This means that scheduler and non-scheduler changes are performed on separate copies of the same meeting. The scheduler and non- scheduler copies are merged whenever an attending user accepts a scheduler's changes. What it means to have separate copies of the "same meeting" is that values of the `Scheduled By' and `On' fields are the same. The pair of values for these two fields constitutes the unique identification of a meeting on all users' calendars. This is the reason why these values cannot be changed after a meeting has been scheduled.
The only meeting fields that a non-scheduler can never edit are `Scheduled By' and `On'. All other fields are editable, subject to the following conditions:
Given the reasonably liberal policy for non-scheduler edits, it is possible for a user to make imprudent changes to a meeting. For example, changing the date or location is typically not prudent, unless the user has information of the change from outside the context of the Calendar Tool. When a non-scheduler executes the change operation, the system displays a general warning in the confirmation dialog, but imposes no further restrictions on the change. The alternative to this liberal change policy would involve a potentially complicated definition of what constitutes "legitimate" change to a meeting by a non-scheduler. The developers of the Calendar Tool requirements decided to avoid the complications of such a definition.
Change and delete operations are executed from the item-level view of a
meeting. Examples of these views are shown in
Section 2.5.1.2.
The examples in that section show regularly scheduled as well not-yet-accepted
meetings. There are two additional forms of item view for meetings with not-
yet-accepted scheduler changes or deletion. Items with not-yet-accepted
scheduler changes appear in the form illustrated in Figure 168.
Figure 168: Item-level view of meeting with not-yet-accepted scheduler changes.
The display in Figure 168 contains the same information as the regular item- level view in Figure 134, with the addition of accept/decline command buttons at the bottom. For added clarity, the banner of the display is augmented with the "SCHEDULER CHANGED" text. The additional command buttons have the same functionality as in a change notification dialog, such as Figure 163. That is, the buttons allow the user to accept, decline, or view details of the scheduler's changes.
The data values in Figure 168 are those most recently entered by the user, independent of the scheduler changes. Hence, the not-yet-accepted changes to the `Duration' and `Details' fields do not appear. To see these changes, the user can select the `View ...' command, in response to which the system displays the detailed change notification dialog of Figure 163.
To prohibit conflicting changes, the system disables editing in data fields that have scheduler changes not yet accepted by the user. Hence, the `Duration' and `Details' fields are disabled in Figure 168. These are the same fields shown in bold red type in the unedited notification dialog of Figure 163. The user can edit and confirm changes to any of the other editable data fields in Figure 168. The purpose of disabling scheduler-changed data fields in the item view is to force the user to edit such fields in the notification dialog, where they are clearly indicated as having been changed by the scheduler.
When the user presses `Change' in the item view of a non-recurring
meeting, the system displays the confirmation dialog in Figure 169.
Figure 169: Non-scheduler change confirmation dialog.
The change confirmation dialogs for recurring meetings differ in the first sentence of the dialog text. The first sentences are:
"Are you sure you want to change this instancethe appropriate one of which appears based on the user's setting of how many instances to change.
of the recurring meeting?"
"Are you sure you want to change all instances
of the recurring meeting?"
"Are you sure you want to change this instance and
all future instances of the recurring meeting?"
When a user views an item with not-yet-accepted scheduler deletion, the display
appears as shown in Figure 170.
Figure 170: Item-level view of meeting with not-yet-accepted scheduler deletion.
The two groups of command buttons in Figures 168 and 170 correspond to the two different copies of a meeting with not-yet-accepted scheduler changes or deletion. The change/delete buttons operate on the pre- accept copy. The accept/decline buttons operate on a copy reflecting the scheduler's not-yet-accepted changes.
Meeting deletion by a non-scheduler is processed in the same manner as appointment deletion, as explained in Section 2.5.2.1 The only difference is that the word "appointment" in the confirmation dialogs of Figures 152 and 153 is replaced with the word "meeting".
After a non-scheduler deletes a meeting, that user will not receive any
subsequent scheduler change or delete notifications for the meeting.
2.5.2.6. Changing and Deleting Tasks
Changing and deleting tasks is much the same as appointments. The task fields that differ from an appointment are:
Figure 171: Edits made to a recurring task.
The change and delete confirmation dialogs for tasks are the same as they are
for appointments, with the word "appointment" replaced with "task". When a
task change or delete is confirmed, the calendar and display affects are as
described for appointments.
2.5.2.7. Changing and Deleting Events
As with the other types of item, change and delete of an event is executed in
the item-level display. For example, Figure 172 shows the user having edited
the event scheduled in
Figure 138.
Figure 172: Birthday event changed.
Figure 173: Event change confirmation dialog.
When the user confirms an event change or delete, the user's calendar and active display windows are updated accordingly. Change of a multi-day event affects all of its days. Deletion of a multi-day event deletes all of its days. The effect of deleting one or more days of a multi-day event is achieved by changing the start or end date values. The start and end dates of a multi- day event always represent a contiguous range of days. Hence, the system provides no means to delete one or more middle days of an event, between but not including a start or end date.
The user cannot change or delete the system-defined events presented in
Section 2.11.12
There is an option to hide these events if the user does not want to see them.