Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 252366 - [ui] Installed Software repeats dependencies
Summary: [ui] Installed Software repeats dependencies
Status: VERIFIED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.5 M4   Edit
Assignee: Susan McCourt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-28 10:32 EDT by John Arthorne CLA
Modified: 2008-12-09 17:46 EST (History)
2 users (show)

See Also:


Attachments
Screen shot (22.25 KB, image/png)
2008-10-28 10:32 EDT, John Arthorne CLA
no flags Details
improvement - screen shot (84.62 KB, image/jpeg)
2008-11-20 18:27 EST, Susan McCourt CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Arthorne CLA 2008-10-28 10:32:00 EDT
Created attachment 116299 [details]
Screen shot

Build: I20081027-1800

Drilling down into the "Installed Software" dialog, I see many entries repeated. Because we are following dependencies rather than inclusions, there are bound to be duplicate dependencies and possibly even circularities. Notice how big the list is here with only a small handful of features. Now imagine a product with hundreds of features, and I don't think the list will be very usable.

One reasonable algorithm is to expand the dependency tree breadth first, using a set to avoid adding duplicate entries. Thus "Eclipse Platform" wouldn't appear below the CVS/JDT/PDE features, because it is already a child of their parent (the SDK feature).
Comment 1 Susan McCourt CLA 2008-10-28 12:03:46 EDT
I discussed this issue with Pascal when I first released this support, including a breadth-first approach, and we decided we would leave it as is for now so that we could actually see these dependencies as defined. 

One problem with breadth-first is you'll only see the dependency in the first place it is found, and it may not be the place you expect to see it, and if you uninstalled the thing that referred to it and expected it to go away, it won't.

I also considered limiting the depth of the tree, although this is also somewhat arbitrary.

In general a tree is a poor way to show a graph, but I wanted to see how it played, and people tend to expect a tree.

However I think we will have to do something for 3.5.
Comment 2 Susan McCourt CLA 2008-10-28 12:23:55 EDT
This list will get smaller if decide to ignore "uncategorized" groups when drilling down in the install wizard (bug #227675).  If we do this, then not all groups would be shown here.  However we would have to mark the IU's with some kind of profile property to remember if they were visible at the time of install.
Comment 3 Susan McCourt CLA 2008-11-20 18:27:13 EST
Created attachment 118417 [details]
improvement - screen shot

I've got some code (not released yet) that largely solves the problem as shown in this screen shot.  It eliminates those required IU's that are siblings of the parent IU.  So it's a "one-level breadth first" elimination of duplicates.  This screen shot shows that this largely solves the problem, and that those duplicates that remain (such as Equinox p2 Provisioning) are truly showing us some dependency references that aren't needed.
Comment 4 Susan McCourt CLA 2008-11-20 18:31:50 EST
marking M4.  This same elimination of duplicates was needed for scenarios like this:

User chooses to install
Mylyn Focused UI
Mylyn Task List

Mylyn Focused UI requires Mylyn task list, and we don't want to drill down into Mylyn Focused UI in the wizard and see the task list.  We only want to see the groups that are being installed that we didn't choose.
Comment 5 Susan McCourt CLA 2008-11-25 13:49:01 EST
Fixed in HEAD > 20081125 as described in previous comment.
Comment 6 Susan McCourt CLA 2008-12-09 17:46:27 EST
verified on WinXP, Build id: I20081209-0100
in M4 candidate, the nesting is as shown in the second screen snap.