Bug 258105 - [ui] Provide explanation if when filtering causes empty available info
Summary: [ui] Provide explanation if when filtering causes empty available info
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.5   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P2 normal (vote)
Target Milestone: 3.5 M7   Edit
Assignee: Susan McCourt CLA
QA Contact:
URL:
Whiteboard:
Keywords: polish, usability
: 234024 267858 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-12-09 10:34 EST by Pascal Rapicault CLA
Modified: 2009-03-30 15:02 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pascal Rapicault CLA 2008-12-09 10:34:59 EST
I20081209-0100
When I open the available software list and I only have the http://download.eclipse.org/eclipse/updates/3.5-I-builds repo enabled, I can see the Eclipse SDK category but when I click on it is empty. I would rather just not see the category.
Comment 1 Susan McCourt CLA 2008-12-09 12:23:25 EST
This problem is more serious than I first understood.
Marking M4 for investigation.
It seems that newer versions of the SDK are being filtered out of the list of installed items.  That should not be happening - there should be a special icon indicating that the item is an update to what you have.
Comment 2 Susan McCourt CLA 2008-12-09 12:48:50 EST
Never mind the panic.
I have three different SDK builds open so I can compare the different upgrades are available for each, and I observed the bogus behavior in the wrong build.

Using Build id: I20081208-1800, I observe that the Eclipse SDK category contains the I20081209-0100 build, and that the item is correctly marked with the update icon.

So the problem here is that if there are no upgrades available and the filter settings are such that the category is empty, we should not be showing it.  Marking 3.5 M5 as I'm looking at some other filtering issues there.
Comment 3 Susan McCourt CLA 2009-01-19 13:05:01 EST
Renaming this to discuss the more general issue rather than automatically propose a solution.  Also changing milestone to 3.5 as a general polish issue.

If the user is filtering out what is already installed, and as a result there is nothing to see in a repo, or in a category in that repo, what should we do?

In the original scenario, we talked about hiding categories that are empty.  But what if all categories are empty such that there is nothing to show?  Max suggested the following in bug 216032:

>Maybe include a notification popup (ideally Firefox-style 'Do you want to
>remember this password?' sliding popup-alike?) saying 'This install site
>contains some components that are already installed. Click _here_ to show
>them'.
>
>Showing empty list would be bad idea. Including a 'show already installed
>items' checkbox is some solution but not very user-friendly (I see you really
>care about less experienced users) so a popup might be the best idea. Useful
>for advanced users, clearly stating what's going on for newbies.
Comment 4 Susan McCourt CLA 2009-01-22 11:40:09 EST
In bug 262009, there was confusion because the enabled sites had no categories and the "group by category" item was checked.
Comment 5 Susan McCourt CLA 2009-02-04 12:08:56 EST
A suggestion from that bug:

At the risk of making things more complicated, how about having some affordance
when grouping by category that more uncategorized things are available. I think
this is particularly valuable in the case where the site has *no* categories
and it just appears blank. I'm think of the synchronize view where it has the
text like "The current 'Incoming' mode is empty. However there are 6 changes in
the 'Outgoing' mode".
Comment 6 Susan McCourt CLA 2009-03-03 16:52:36 EST
With bug #263593 we've got the wizard opening up in an empty state.
Focus is on the "type or select a site" instructions, but we probably will want a generic "you don't have a site selected" message here.
Comment 7 Susan McCourt CLA 2009-03-10 12:09:21 EDT
*** Bug 267858 has been marked as a duplicate of this bug. ***
Comment 8 Susan McCourt CLA 2009-03-24 16:59:36 EDT
fixed in HEAD >20090324.

This is not the "slickest" presentation in the world, but my goal is to provide the information needed pretty late in the release cycle.  Anything else would require a larger refactoring of the wizard and the provisional API, which we are trying not to do at this point in the release.

Simply replacing the list with an explanatory widget (as done by CVS synchronize view, or empty search view), is not really an option for two reasons:

1 - I don't really like the idea of removing empty categories from sites when the content is already installed.  The user might be used to the "Foo" category being in a site, and if we simply remove it, there's no explanation at all for why it is gone, assuming other categories are still showing.  I'd rather include the category and explain why it's empty.  Given this goal, we need to be able to mix empty and non-empty items in the list.  This also allows us to show categories immediately without having to query the repo for the category members until the user wants to see the content of the category.  

2 - The list in the wizard is a self-contained building block within the wizard which does not know anything specific about the filters being applied, and the wizard doesn't know anything about the specialized filtered viewer used in the group.  So it's best if the message can be provided in the query itself, as part of the results.

My approach given those constraints was to include dummy list items that describe empty list or empty category conditions.  Selecting on these items will show further suggestions for how to make the list not empty.  It would look just fine, IMO, if there weren't a checkbox next to the dummy item.  The checkbox is a little weird, but this allows us to meet the above goals. 

The explanations that I implemented are:
- no site selected (with instructions for selecting a site)
- repository could not be found (with suggestion to check URL or test connection)
- there are no categorized items (with suggestion to uncheck the "group items by category" checkbox
- everything in a category is installed (with suggestion to uncheck the "hide already installed" checkbox

One possible refinement is to special case the "no site selected" message and use a different strategy (widget on top of the list) in that case, since this can be handled within the AvailableIUGroup.  This way, there wouldn't be a checkbox next to the message when the wizard first opened, only when other sites and error conditions were found.
Comment 9 Susan McCourt CLA 2009-03-30 15:02:26 EDT
*** Bug 234024 has been marked as a duplicate of this bug. ***