2.3.4. Filtered Viewing

When the user selects the `Filter ->' item in the View menu, the system displays the submenu shown in Figure 46.


Figure 46: Filter submenu.



The first four commands in the menu allow the user to filter in or out the four types of scheduled item. The menu commands act as show/hide toggles. When the `Hide ...' form is visible in the menu, selecting it hides the selected type of scheduled item and toggles the menu label to `Show ...'. When the `Show ...' form of the command is selected, items that were hidden are made visible again, and the menu is toggled back to the `Hide ...' form.

Consider for example the month view shown earlier in Figure 22. If the user selects `Filter Hide Appointments' in the context of that view, the system updates the display as shown in Figure 47.


Figure 47: Month view with appointments filtered out.



If the user then selects `Hide Meetings', the system updates the display to that shown in Figure 48.


Figure 48: Month view with meetings filtered out.



Since most of the items scheduled for the month of September were appointments and meetings, only a few items remain in the display.

Having hidden appointments and meetings, a subsequent invocation of the `Filter' menu appears as shown in Figure 49.


Figure 49: Filter menu in `Show Appointments', `Show Meetings' state.



If the user selects `Show Appointments' and `Show Meetings', the month display is restored to the original state shown in Figure 22.

Showing and hiding tasks and events is analogous to meetings and appointments. At the day level and weekly table level, the separate areas of the display are removed when tasks and/or events are hidden. For example, Figures 50 and 51 show the results of hiding both events and tasks in the context of the daily and weekly views shown originally in Figures 15 and 19.


Figure 50: Events and tasks filtered out of a day view.






Figure 51: Events and tasks filtered out of a table-style week view.



Any or all of the commands can be in either the show or hide state. When all four commands are in the show state, all scheduled items are visible. When all four commands are in the hide state, no scheduled items are visible.

The four show/hide filtering commands apply only to calendar views at the item, day, week, and month levels. Show/hide does not apply to year-level views since there are no items visible at that level. Show/hide filtering also does not apply to list views, since lists are already specialized to each kind of item. The custom filters described in the next section apply to calendar views as well as to lists. Operational details of show/hide and custom filtering used in conjunction are covered in Section .

2.3.4.1. Custom Filter Definition

The custom filtering feature of the Calendar Tool allows the user to define finer-grain filters than simply all items of a particular type. For example, the user can choose to filter out all but a particular category of item that is scheduled between some particular dates.

By default, there are no custom filters defined. Hence, when the user initially selects the `View Filters Custom' menu item, the system displays the submenu as shown in Figure 52.


Figure 52: Initial custom filters menu.



The blank space above the `Edit ...' command is where the names of custom filters appear once they are defined by the user.

To create a new custom filter, the user selects the `Edit ...' command, whereupon the system displays the filter definition dialog shown in Figure 53.


Figure 53: Filter definition dialog.



The `Filter Name' text box contains the name of the filter being defined. The initial default name is "New Filter". The user enters a chosen filter name by typing in the text box. The name for each defined filter must be unique among all other filters.

The editing fields below the filter name allow the user to define detailed filtering criteria for the display of items in calendars and lists. The criteria apply to all types of items that are currently visible, i.e., items for which the show state is on in the show/hide filter commands. The criteria apply uniformly to all calendar and list displays.

The fields in the filter definition constitute the union of components from all four types of scheduled item. Given this, each field is not necessarily applicable to all types of scheduled item. Table 6 defines specifically which fields apply to which item types. (This table is a superset of Table 5 defined for custom lists.)



Data field Applicable to these types of item
Title all
Earliest Date all
Latest Date all
Earliest Time appointments, meetings, tasks
Latest Time appointments, meetings, tasks
Duration appointments, meetings
Recurring? appointments, meetings, tasks
Category all
Location appointments, meetings, events
Security all
Priority appointments, meetings
Task Priority tasks
Completed tasks
Earliest Completion Date tasks
Latest Completion Date tasks
Remind appointments, meetings, tasks
Details appointments, meetings, tasks
Attendees meetings

Table 6: Filter fields applicable to each type of scheduled item.



There are a number of pulldown menus associated with the fields of the filter definition. Figure 54 shows an the expansion of these menus.


Figure 54: Expansion of Filter Definition Menus.



Descriptions of each filtering field follow. Section 2.11.9 defines the precise pattern matching rules that apply to filtering

2.3.4.1.1. Title

The `Title' field in the filter definition defines which items are visible based on the value of their titles. Immediately to the right of the `Title' label is a text box containing a pattern string for item titles. The pattern is used in conjunction with the selection in the pulldown menu below the `Title' label. Specifically:

  1. When `any' is selected in the menu, items with any title are visible. Typing in the `Title' text box is disabled when `any' is selected.

  2. When `contains' is selected, items are visible when they have a title that contains the pattern string.

  3. When `does not contain' is selected, items are visible when they have a title that does not contain the pattern string.

  4. When `starts with' is selected, items are visible when they have a title that starts with the pattern string.

  5. When `ends with' is selected, items are visible when they have a title that ends with the pattern string.

  6. When `equals' is selected, items are visible when they have a title that exactly equals the pattern string.

  7. When `does not equal' is selected, items are visible when they have a title that does not equal the pattern string.

  8. When `regular expression' is selected, items are visible when they match a regular expression pattern. The pattern is typed into the text box. Details of regular expression syntax are covered in Section 2.11.10.

The last item in the `Title' field menu specifies the case sensitivity of the pattern string matching. The menu item is an on/off toggle. By default, case sensitive matching is on for `Title' matching.

2.3.4.1.2. Earliest and Latest Date

The `Earliest Date' and `Latest Date' fields define the earliest and latest scheduled dates for which items are visible. The small text box immediately to the right of the field label is used for a numeric value in the range 1 through 99. To the right of the numeric box is a combination text box and pulldown menu that is used to define the date range. Specifically:

  1. When `none' is selected, items are visible all the way to the system- enforced earlist and latest dates, which are, respectively, 1 January 0000 and 31 December 9999. Typing in the numeric box is disabled when `none' is selected.

  2. When `today' is selected, the earliest (latest) date for visible items is today's date. Typing in the numeric box is disabled when `today' is selected.

  3. The next four menu selections define how far before or after today's date items are visible, in terms of days, weeks, months, or years. These items are defined in conjunction with a specific numeric value, the default being 1.

  4. When `specific date' is selected, items are visible up to and including a specific date before or after today's date. The date is entered by typing in the text box. Typing in the numeric box is disabled when `specific date' is selected.
At the far right of the date entry fields is a two-element menu containing the selections `ago' and `from now'. These selections specify whether the selected date pattern comes before or after today's date.

2.3.4.1.3. Earliest and Latest Time

The `Earliest Time' and `Latest Time' fields define the earliest and latest scheduled times for which items are visible. For appointments ane meetings, the scheduled time is the start time; for tasks, the scheduled time is the due time. Both fields contain time values. The default values are 8 AM for earliest and 5 PM for latest. If the `Earliest Time' field is empty, it is assumed to be 12:00 AM; if `Latest Time' is empty, it is assumed to be 11:59 PM. If both fields are non- empty, the earliest time must be less than or equal to the latest time.

2.3.4.1.4. Duration

The `Duration' field defines item visibility based on duration. A duration value is entered in hours and minutes in the two text edit boxes. If the user enters no duration value, the default is 1 hour and no minutes. The duration value is used in conjunction with a selection in the pulldown menu below the `Duration' label. Specifically:

  1. When `any' is selected, items with any duration are visible. Typing in the hour and minute text boxes is disabled when `any' is selected.

  2. When `equals' is selected, items are visible when they have a duration that exactly equals the specified hour/minute value.

  3. When `not equals' is selected, items are visible when they have a duration that does not equal the specified hour/minute value.

  4. When `is less than' is selected, items are visible when they have a duration that is less than the specified hour/minute value.

  5. When `is greater than' is selected, items are visible when they have a duration that is greater than the specified hour/minute value.

  6. When `boolean expression' is selected, items are visible when they equal a boolean expression. The expression is typed in the text box labeled `expression' immediately to the right of the minute-value text box. Details of boolean expression syntax are covered in Section 2.11.11.

2.3.4.1.5. Recurring?

The `Recurring?' field defines visibility based on whether a scheduled item is recurring. Specifically:

  1. If yes is selected, items are visible if they are recurring.

  2. If no is selected, items are visible if they are not recurring.

  3. If either is selected, items are visible whether or not they are recurring.

2.3.4.1.6. Category

The `Category' field defines visibility based on the category of scheduled items. The pulldown menu to the right of the Category label allows the user to select one or more category values. A selected category is indicated with a check mark to the right of its name. The category-value selection is used in conjunction with the selection in the pulldown menu below the Category label. Specifically:

  1. When `any' is selected, items with any category, including none, are visible. All items in the categories menu are unchecked when `any' is selected.

  2. When `none' is selected, only items with no category are visible. All items in the categories menu are unchecked when `none' is selected.

  3. When `any of' is selected, scheduled items are visible if they have a category value that is any of the values selected in the menu.

  4. When `none of' is selected, scheduled items are visible if they have a category value that is not any of the values selected in the menu.

If exactly one category is checked in the right-side menu, then its color-coded name appears in the text area. If two or more categories are checked, then the name of the first category appears in the text area, suffixed with the string "+ ...".

2.3.4.1.7. Location

The `Location' field is the same form of text box and menu combination as the `Title' field. The entered pattern defines which items are visible based on the value of their locations.

2.3.4.1.8. Security

The `Security' field defines visibility based on the security of scheduled items. The pulldown menu to the right of the field label allows the user to select one or more of the four security values. The security-value selection is used in conjunction with the selection in the pulldown menu below the label. Specifically:

  1. When `any' is selected, items with any security are visible. All items in the security menu are unchecked when `any' is selected.

  2. When `any of' is selected, scheduled items are visible if they have a security value that is any of the values selected in the menu.

  3. When `none of' is selected, scheduled items are visible if they have a security value that is not any of the values selected in the menu.

2.3.4.1.9. Priority

The `Priority' field defines visibility based on the priority of scheduled items. Specifically:

  1. If `must' is selected, items are visible if their priority is `must'.

  2. If `optional' is selected, items are visible if their priority is `optional'.

  3. If `either' is selected, items are visible with either priority.

2.3.4.1.10. Task Priority

The `Task Priority' field defines the visibility of tasks only, based on their numeric priority. The small text box immediately to the right of the field label is used for a numeric value in the range 0 through 10. To the right of the text box are up- and down-pointing arrows that are used to increment and decrement the numeric value. A value can also be typed directly into the text box. The priority value is used in conjunction with the pulldown menu below the `Task Priority' label. The items in the menu have the same meanings as described above for the `Duration' field.

2.3.4.1.11. Completed? and Completion Dates

The `Completed?', `Earliest Completion Date', and `Latest Completion Date' fields define the visibility of tasks based on if and when tasks are completed. The `Completed?' field has the same three alternatives as the `Recurring' field described above. The completion date fields have the same text box and menu combinations as the `Earliest Date' and `Latest Date' fields described above.

2.3.4.1.12. Remind?

The `Remind?' field defines visibility based on whether a scheduled item has a reminder. The field has the same three alternatives as the `Recurring?' field.

2.3.4.1.13. Details

The `Details' field is the same form of text box and menu combination as the `Title' and `Location' fields. The entered pattern defines which items are visible based on the value of their Details field.

2.3.4.1.14. Attendees

The `Attendees' field defines the visibility of meetings, based on their attendees lists. Immediately to the right of the `Attendees' label is a text box containing a pattern string. The pattern is in the form of a comma-separated list of calendar user IDs or a regular expression. The pattern is used in conjunction with the the selection in the pulldown menu below the `Attendees' label. Specifically:

  1. When `any' is selected in the menu, items with any attendees are visible. Typing in the text box is disabled when `any' is selected.

  2. When `any of' is selected, meetings are visible if they have an attendees list that contains any of the listed user IDs.

  3. When `all of' is selected, meetings are visible if they have an attendees list that contains all of the listed user IDs.

  4. When `none of' is selected, meetings are visible if they have an attendees list that contains none of the listed user IDs.

  5. When `regular expression' is selected, meetings are visible when the IDs of all attendees match the regular expression pattern. The regular expression is typed into the text box; details of regular expression syntax are covered in Section 2.11.10.

    The last item in the `Attendees' menu specifies case sensitivity in the same manner as in the `Title' menu. The default for attendees filtering is case sensitive off.

2.3.4.2. Using Custom Filters

Figure 55 shows the result of the user having defined a filter named "Fall classes" with the following criteria:




Figure 55: Fall classes custom filter.



To complete the definition of this new filter, the user presses the `Add' button at the bottom of the custom filter dialog. In response, the system adds the filter to those that are available for use. To define additional new filters, the user types new names into the `Filter Name' text box, selects the desired settings, and presses the `Add' button for each new filter to be defined.

The names of available filters appear in two contexts:

  1. the `View Filters Custom' submenu, accessible from the main command menubar;

  2. the `Filter Name' menu, in the custom filters dialog.
These contexts are illustrated in Figure 56.


Figure 56: Menu contexts in which filter names appear.



The figure reflects the user having defined two additional custom filters named "Parties" and "Past SE classes". The filter names are sorted alphabetically in the menus. In the custom filter dialog, the name in the `Filter Name' text box is that most recently selected or typed by the user.

NOTE: Finish this section by showing the effects of applying a custom filter to some calendar and list views.




Prev: list-viewing | Next: viewing-other-users | Up: viewing | Top: index