Summary
- The sidebar is the basis for the user's navigation work flow. It provides them with 1-touch access to frequently used items and views. The sidebar is setup with some standard collections that come with the default installation of Chandler. The user add new collections and group items into whatever organization they prefer with the ability to filter the sidebar by kind based groupings to easily find what they are looking for.
Overview
- The following document details the Sidebar functionality that will be available as part of the Release 0.4. The implementation for 0.4 is very straight-forward with 3 simple standard collections and a special demo calendar collection for the purposes of sharing. Navigation is restricted to selection and renaming sidebar items, sharing and adding new user defined collections. Simple drag and drop scenarios are also supported.
Feature List
- Three OOTB collections, All, In, Out
- One special collection Demo Calendar pre-populated with some calendar items only for 0.4 (see assumptions below).
- Four Kind Filters, All, Mail, Task and Calendar Event (single select/toggle only).
- Creating a new user-defined collection of any kind.
- Editing the name of a user-defined collection.
- Mini Calendar display.
- Drag and drop items between collections.
- Sharing a sidebar collection (addressed in separate spec).
Terminology
- Out of the Box (OOTB) Collections – pre-defined named collections that come with Chandler. For 0.4 these will be All, In and Out.
- User Defined Collections - named collections that are created by the user.
Assumptions
- Removing a collection from the sidebar does not delete it. It simply removes the item visibly. It is possible for a user to share a sidebar collection then delete the item. Any sharers on the other end would be able to continue to view/edit that collection.
- The drag and drop behavior from one collection to the other will not “move” the item, it will simply make a copy (uses the same UUID).
- All names for sidebar collections will be editable, ie: you can change the name of items that may not be ultimately editable (OOTB collections)
- The Calendar Demo is a special collection created to demonstrate the sharing workflow for 0.4. It will not technically be either a user-defined or an OOTB collection. It will be pre-populated with some calendar items. It can be modified, shared and items can be added.
- The mini calendar uses the standard WxWidgets display that we are currently using.
Workflows
End to End Use Case
Use Case #1: A Chandler user has the sidebar visible and cycles through highlighting items in the sidebar view.
- a. Four filter buttons are displayed at the top of the sidebar, All, Mail, Task, Calendar and Note. The collections displayed are the OOTB collections, All, In and Out and a placeholder Demo Calendar collection which is a special collection for 0.4 only.
- b. Only one sidebar item can be select at one time and there has to be a default selection.
- c. A first time user should see the “All” filter selected by default and the “All” collection in the sidebar highlighted. The “All” summary view is displayed with no items selected. The detail view, if visible, is blank.
- d. The user highlights a sidebar collection a subsequent time. The summary view updates accordingly and persists any item selection from the last time we viewed this collection, which may be nothing.
- e. The collection detail view is not persisted. We display the detailed view for the last item the user had selected in the summary view. This may be blank if the user never selected anything.
- f. The user selects a different sidebar collection and closes the app. They restart the app and the previous selection should be highlighted, the summary and detail view information will also be persisted as described in #3, 4.
Use Case #2: The user filters the sidebar collections by toggling the 4 kind filters at the top of the sidebar.
- a. Only one filter can be selected at one time and there has to be a default selection that is the “All” filter.
- b. The filter selection persists between instances of the application.
- c. The user selects the Email filter. The All collection remains selected and the summary view displays only email items. Any other user-defined collections that do not have mail items in them disappear from the sidebar. The 3 OOTB collections remain even if they have no mail items in them. Selecting one may show a blank summary view.
- d. The user selects the Task filter. The All collection remains selected and the summary view displays only task items. Any other user-defined collections that do not have task items in them disappear from the sidebar. The 3 OOTB collections remain even if they have no task items in them. Selecting one may show a blank summary view.
- e. The user selects the Calendar filter. The All collection remains selected and the summary view displays only calendar items. Any other user-defined collections that do not have calendar items in them disappear from the sidebar. The 3 OOTB collections remain even if they have no calendar items in them. Selecting one may show a blank summary view.
- f. The user selects the Note filter. The All collection remains selected and the summary view displays only note items. Any other user-defined collections that do not have task items in them disappear from the sidebar. The 3 OOTB collections remain even if they have no note items in them. Selecting one may show a blank summary view.
- g. The user currently selects a sidebar collection that does not contain any mail items, and then selects the mail filter. That collection disappears from the sidebar and the “All” collection is automatically selected. This applies to any collection we are selecting that would disappear if it does not contain any items of the filter type.
Use Case #3: The user renames a sidebar collection to something else. They may or may not currently have the collection detail view displayed.
- a. Any sidebar collection can be renamed.
- b. Modify a collection name to something else ie: Demo Foo. If the collection detailed view is currently displayed, the title field in the detail view should update accordingly to reflect this change. The summary view title shßould be auto-updated as well.
Use Case #4: The user creates a new collection in the sidebar and adds items to it.
- a. Create a new named collection. All collections are generic, there is no type associated with them.
- b. Create new items of each type and add them to the collection.
- c. Drag items from another collection into the collection we just created. The dragged items should now appear in both collections.
Use Case #5: The user removes a sidebar collection.
- a. Some form of removing an item from the sidebar will be supported. Need to figure out who knows this. There will probably only be one mechanism, ie: delete key.
User Case #6: The user rearranges the order of the sidebar collections.
- This use case is not supported for 0.4.
Use Case #7: Drag and drop items between sidebar collections.
- a. Drag an item from a summary view to another collection. The original item is not removed.
- b. Modify an item that has been dragged from one collection to another, the changes should be updated in both places.
Use Case #8: Sharing a sidebar collection.
*Success Criteria: This workflow is addressed in a separate specification. The acceptance criteria will be that is satisfied all the use cases outlined in that doc.
Use Case #9: Mini Calendar
- NOTE: Talk to Katie regarding 0.4 goals.
Open Issues
- Do we navigate directly to the Calendar Demo collection when we click the calendar kind filter. Status: talk to Mimi
- What about gifs etc for 0.4. Status: Mimi has sent these to Donn
- Mini calendar needs spec'ing. Status: Sheila needs to followup with Katie
- Are we implementing unread message counts. Status: Open
- Rearrange sidebar items? Status: not in 0.4
- DnD functionality. All use cases are not clear. Status: Open
- What dev scope is required to make OOTB collections, not editable or sharable. Status: Katie and Lisa investigating solution.
- Are the sidebar selections supposed to be persistent?
- Removing a user-defined collection from the sidebar.
- Persistence of Kind Filter selection.
--
SheilaMooney - 07 Sep 2004