Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 208294 - [prov] [ui] summary info in the update/install wizards
Summary: [prov] [ui] summary info in the update/install wizards
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Incubator (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.4 M5   Edit
Assignee: Susan McCourt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-31 14:20 EDT by Andrew Overholt CLA
Modified: 2008-01-30 14:51 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Overholt CLA 2007-10-31 14:20:13 EDT
My entire machine seemed to freeze for a second while the "updates available" dialogue was appearing.
Comment 1 Susan McCourt CLA 2007-10-31 17:36:07 EDT
There is definitely a "dead spot" when any of the update or install dialogs are opening.  There is no progress indicator and no hourglass.  I will look into this after M3, I think I'm doing some resolving without a progress monitor before bringing the dialog up.
Comment 2 Susan McCourt CLA 2007-11-01 18:26:42 EDT
The "dead spot" between "resolving" and the opening of the dialog is when we are computing the size for each IU.  I can modify this code so that this occurs in a progress indicator.  We could also consider computing the total size rather than each available size, since total size really means more.  Then, if the user unchecked any of the items, we could recompute the total.  So I can definitely improve this by changing the way/frequency I get the size, but we may also want to look at whether there are any obvious corrections we can make in the engine to make this faster.

I'll ping Simon again after I make some UI modifications.
Comment 3 Pascal Rapicault CLA 2007-11-02 09:25:52 EDT
Susan, while debugging some other problems, I recall having the impression that the planner was being called to compute the sizes. Is it the case?
Comment 4 Susan McCourt CLA 2007-11-02 13:08:31 EDT
For each IU needing update, I get a plan and pass that to the engine with a Sizing phase.  This way, I show a size for each IU.  The user can check which ones they want to update.  Then, I get a plan for the group as a whole and have the engine actually perform it.  

So I am definitely exacerbating the problem by getting plans multiple times.  If I were to size them as a whole, and if the user doesn't change the selections, I could get one plan and perform it.  I could also optimize the single IU case.  Having gotten a plan for sizing, there's no need to get it again.  So I can optimize some things on my end and I think I should do that first.
Comment 5 Susan McCourt CLA 2007-11-27 16:26:44 EST
Bug #210585 addresses responsiveness/progress/hourglass so that there is no UI blockage.  It "seems" to perform better simply by making the UI more responsive and giving feedback.

Leaving this bug open to investigate whether computing the sizes as a unit will be significant improvement.  I don't really want to tackle this unless/until I am doing some rework of the presentation of the install and update dialogs, so I'm not guaranteeing this for M4.
Comment 6 Susan McCourt CLA 2007-12-07 14:09:52 EST
marking M5 and generalizing the bug title since the "UI block" is not really the issue anymore.

I'm going to add more descriptive summary info to the update and install wizards, and as part of this I may look at sizing the unit rather than the individual pieces.
Comment 7 Susan McCourt CLA 2007-12-11 13:05:40 EST
When doing this, the wizard code needs to be refactored so that the sizing happens before the wizard even opens.  If the user cancels resolution/sizing, it's not easy to bail out in the middle of wizard creation.

See also bug #212582 and bug #212607.
Comment 8 Susan McCourt CLA 2008-01-09 13:23:06 EST
I've truly gotten off topic from Andrew's original bug, but since this bug now addresses "summary info" in the update/install dialogs, here we go.  Two kinds of summary info to provide in the update/install dialog:

- what is shown when something is selected (not checked).  ie, show the description of the IU, etc.  Could be shown in a details area.
- what is shown to summarize all the checked items (ie, do we resolve and size when what the user checks in the dialog changes, to recompute a total size, and make sure that what is checked can be installed together?)

 
Comment 9 Susan McCourt CLA 2008-01-15 14:42:52 EST
It was mentioned during a meeting today that we will probably have an "update description" which would be appropriate for showing in 
>- what is shown when something is selected (not checked).
Comment 10 Susan McCourt CLA 2008-01-23 23:06:30 EST
When an IU is selected in the install wizard, show its description.
When an IU is selected in the update wizard, show the description in the (new) IUpdateDescriptor, and if there is no description of the update, fall back to the description of the IU itself.
Comment 11 Susan McCourt CLA 2008-01-30 14:51:22 EST
Fixed in HEAD.
The uninstall, install, and update wizards have been updated to include a details area and also to do resolution as you check/uncheck the IU's in the wizard.

- When an IU is selected (not checked), the details area shows its description.  If we are in the update wizard, the description in the IUpdateDescription is shown rather than the IU description.
- Whenever the user changes the check state of any IU in the list, a new resolution is performed (progress shown in the wizard) and the wizard finish will be disabled if the provisioning plan is no longer valid, with the status message reported in the wizard page's message area.
- When the user presses finish, the last computed provisioning plan is used.  Note that if the user never changed selections, then we use the plan computed before we ever launched the wizard.  This eliminates the "extra resolution" that was being done just prior to running the operation.

Note that I decided not to compute the total size as part of recomputing the validity of the plan when the user changes the checked iu's.  This is because users may get confused if the total is different than individual sizes, and there wasn't a good place to show it.  

If we later decided to show a special area in the wizard describing the proposed plan (such as size, or customized reporting of plan errors), then we could do this.