Bug 1929 - [Tasks] Task view filtering and extensibility proposal (1GCHVPB)
Summary: [Tasks] Task view filtering and extensibility proposal (1GCHVPB)
Status: RESOLVED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Tod Creasey CLA
QA Contact:
URL:
Whiteboard:
Keywords: investigate
Depends on:
Blocks:
 
Reported: 2001-10-10 22:22 EDT by Nick Edgar CLA
Modified: 2005-10-04 13:10 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Edgar CLA 2001-10-10 22:22:29 EDT
There have been several requests for the task view to provide a better UI for 
filtering tasks, and to make it extensible.

Look and feel issues:
	- use filter selection dialog instead of multiple toolbar buttons
	- provide single toolbar button and popup menu item ("Filter...") to 
open filter selection dialog
	- indicate whether filters are active in title 
Extensibility issues:
	- allow filtering based on marker type (e.g. All errors, or WSA errors)
	- allow filtering based on plugin (?)
	- allow different marker types to be shown (types other than PROBLEM 
and TASK and their subtypes) (?)
	- allow different attributes (columns) to be shown (?)

Related look and feel issues:
	- allow columns to be selectively shown or hidden

Executive summary:
=================

Will add a filter dialog, to replace buttons in toolbars.
Will add a single toolbar button and menu item to open filter dialog.
Filter dialog will have the following layout.  The buttons in the top half are 
all toggles.

	[X] Show Tasks   [ ] Show Completed Tasks (disabled if Show Tasks is 
unchecked)
	[X] Show Errors
	[X] Show Warnings
	[X] Show Infos
	[ ] Other (enables section below, and disables buttons above)
	------------
	Show entries of type: [combo box for marker type]  (e.g. All Types, 
Problem, Task, and registered subtypes)
	Where description contains: [text box]
	[ ] Where severity is: [combo box for severity] (disabled if checkbox 
at left is unchecked, or if non-Problem type selected)
	[ ] Where priority is: [combo box for priority] (disabled if checkbox 
at left is unchecked, or if non-Task type selected)
	[ ] Where completion status is: [combo box for completion status] 
(disabled if checkbox at left is unchecked, or if non-Task type selected)

Prerequisites:
	- Core must provide human-readable names for marker types.

Will not support:
	- filtering based on plugin
	- different marker types to be shown in task view
	- different attributes (columns) to be shown 

To be determined:
	- allow columns to be selectively shown or hidden


More background:
===============

It is straightforward to use a filter selection dialog instead of the multiple 
toolbar buttons.
The interesting issue is how to make it extensible.
A limited way would be for the dialog to allow you to choose which marker type 
to show.
However, this doesn't provide enough granularity.  
Currently the task view shows only PROBLEM and TASK marker types, and their 
subtypes.
Problems are divided into errors, warnings, and infos based on the value of 
their SEVERITY attribute.
So we want to filter based on different attribute settings, in addition to the 
marker type.


However, with minor improvements to what we have now, we could have a dialog 
which lets the user
- choose marker type criteria
	- marker type chosen from all registered types
	- conditions: equals, not equal to, is a (i.e. is subtype of), is not a
- choose 0 or more attribute criteria
	- attribute chosen from available ones supported by selected type (+ 
inherited ones if applicable)
	- conditions: equals, not equal to, exists, does not exist, contains 
text, doesn't contain, is at most, is at least, is more than, is less than, is 
between
	- conditions apply to all supported value types (String, Integer, or 
Boolean)
		- if we declared type of attribute in XML as either String, 
Integer, or Boolean, we could be more selective on which conditions are shown
- would still need human-readable descriptions for marker types and attributes

One problem with this is that, since we don't support enumeration types, 
frequently used attributes like SEVERITY and PRIORITY are integers,
and the parameter to match would have to be specified as an integer, which has 
no meaning to the user.
E.g. the user should not have to know that Error severity is equal to 2.
We could also describe the allowed values for an enumeration attribute in XML, 
but this is starting to add more semantics to the XML than we would like.

A more closed form solution would be:
- choose marker type criteria as above
- choose 0 or more attribute criteria
	- attribute chosen from hardwired set (currently supported ones)
	- since they're hardwired, we can have combo boxes for enum attributes 
(SEVERITY, PRIORITY, DONE)
- the UI could be tailored to the fixed set of attributes, rather than generic
- see executive summary above for proposed layout

Other task view extensibility issues (not directly related to filtering):
- do we want to allow different kinds of markers to be shown, other than 
PROBLEMs and TASKs?
	- could provide an extension point for which types are shown
	- only registered types and their subtypes would be shown
- do we want to allow different attributes to be shown?
	- defined by registered types and/or subtypes


NOTES:

NE (5/2/01 10:43:28 PM)
	Variation on executive summary implemented in 047.
	Could still do more.
	
KH (8/13/2001 1:59:42 PM)
	Pls elaborate on "could still do more"
Comment 1 DJ Houghton CLA 2001-10-24 06:50:22 EDT
Your comments on the following would be appreciated.

1GCHVPB: ITPUI:ALL - Task view filtering and extensibility proposal

PRODUCT VERSION:
0.046

Comment 2 Kevin Haaland CLA 2002-01-21 21:18:32 EST
Defer
Comment 3 Nick Edgar CLA 2002-01-22 21:56:18 EST
Changes outlined in executive summary above were implemented for 1.0.
Will not address deluxe configurability for 2.0.
Comment 4 Randy Giffen CLA 2002-08-06 16:49:20 EDT
Reopened for investigation
Comment 5 Tod Creasey CLA 2005-10-04 13:10:35 EDT
This is now an obsolete report as it has been superceded by the problems views/
tasks view split and other changes