Bug 241683 - [ui] Provide explanatory info when actions are unavailable
Summary: [ui] Provide explanatory info when actions are unavailable
Status: CLOSED WONTFIX
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P4 enhancement (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: usability
: 277937 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-07-22 11:07 EDT by Susan McCourt CLA
Modified: 2019-11-14 03:16 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Susan McCourt CLA 2008-07-22 11:07:05 EDT
We currently have cases where the install/uninstall/update buttons are disabled, but there is no explanation offered to the user.  Possible cases include:

- the install is shared so the user cannot uninstall or update, but can install
- another profile modifying operation is running

One complexity here is that the action may be "locked" but we may not be able to derive why that is (whether it was explicitly locked due to permissions, or because it's a shared install, etc.)
Comment 1 James Blackburn CLA 2008-07-22 11:39:29 EDT
Another case seems to be that p2 in some instances can't uninstall Update Manager installed features (see Bug 241637).  In this case, the p2 notion of which plugins are installed can get out of sync with reality (what old update manager thinks is installed).
Comment 2 Susan McCourt CLA 2008-07-22 12:55:45 EDT
I saw that bug, but I'm not sure yet why the button is disabled in that case - it's not simply a matter of UM having installed the feature.  (I posted some questions there to try to determine why the button is disabled in that case).
Comment 3 DJ Houghton CLA 2008-07-22 13:46:54 EDT
Also note that when we install bundles via the dropins folder we also set the IInstallableUnit.PROP_PROFILE_LOCKED_IU property. We took the stance that basically if you drop in a new bundle, then you will manage its updates. If you install something with p2, then p2 can manage its updates.
Comment 4 Susan McCourt CLA 2008-10-15 18:39:56 EDT
no promises for 3.5, but marking 3.5 for now to keep this on my radar.  See also bug #251017 
Comment 5 Susan McCourt CLA 2008-12-09 19:14:36 EST
In bug 258132, I added code to the wizards to catch the case where a provisioning operation is already running and explain it there.  This gives the user a nice explanation in the wizard for why something cannot be done, as well as allow them to make changes in the wizard and wait for the operation to finish running, at which time they could continue the wizard.

I think we should look at the remaining cases where we disable actions and consider doing something similar in the wizards.  The wizards already have the structure (and screen real estate) for describing why things can't proceed.  For example, if some (but not all) selected IU's were locked, this would allow the user to deselect the locked IU's in the wizard and keep going.  

It allows us to handle the cases that we wish were caught by the planner in a uniform way, and will make it easier to migrate when the planner does handle more of this.

For cases where changes in the wizard will not change the outcome, opening the wizard before explaining what is wrong might be annoying... we open the wizard and then slap them, but at least we explain the problem rather than just disabling a button.

I think removing this logic from the actions also helps us move toward bug 256310.  By removing complex logic from the actions it will be easier to migrate these classes to handlers.  Marking M6 to look at these items together.
Comment 6 Susan McCourt CLA 2009-03-03 17:35:25 EST
moving to M7, too much going on in M6.
Comment 7 Susan McCourt CLA 2009-04-23 11:50:37 EDT
I really wanted to do this, but it's getting late and our preliminary testing is showing us we need to focus on making sure all the existing function is polished.  I hope to look at it early in 3.6.
Comment 8 Susan McCourt CLA 2009-05-26 16:00:11 EDT
*** Bug 277937 has been marked as a duplicate of this bug. ***
Comment 9 Susan McCourt CLA 2009-05-26 16:02:41 EDT
The most recent dup bug referred to Help>Check for Updates when update is locked for an IU.

As discussed with other scenarios, would we want to open the wizard to show updates that were available in this case and then explain?  

The suggested explanation in that bug is

> The deluxe message for me would be something like:
> 
>  - There are updates available, but you don't have the necessary permission to
> perform the updates. Contact your local administrator for assistance.

Comment 10 Susan McCourt CLA 2009-12-01 13:30:09 EST
consider for M5, we will not be out of the API reorg branch for M4.
Comment 11 Susan McCourt CLA 2010-01-12 12:44:48 EST
I'll be focusing on UI regressions that occurred during refactoring for the rest of M5.  Bugs that represent pre-existing problems or feature work are moving to M6.
Comment 12 Susan McCourt CLA 2010-03-02 15:36:06 EST
my plate runneth over with API freeze bugs for M6.
Marking 3.6, not sure if this will get implemented or not.  Will need to be triaged against the rest.
Comment 13 Susan McCourt CLA 2010-05-08 18:21:01 EDT
see also bug 261928.
I think we want to get to a place where all of the "reasons you can't provision" are nicely organized in the status returned by operations.  Whether all of this can be done in operations, or whether there need to be hooks for UI-specific knowledge remains to be seen.
Comment 14 Lars Vogel CLA 2019-11-14 03:16:41 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

If the bug is still relevant, please remove the "stalebug" whiteboard tag.