Bug 367458 - local (item-level) actions vs. selection actions
Summary: local (item-level) actions vs. selection actions
Status: RESOLVED WONTFIX
Alias: None
Product: Orion (Archived)
Classification: ECD
Component: Client (show other bugs)
Version: 0.3   Edit
Hardware: PC Windows 7
: P2 normal (vote)
Target Milestone: ---   Edit
Assignee: Anthony Hunter CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 380454 380703 381610 381611
Blocks: 379611
  Show dependency tree
 
Reported: 2011-12-22 15:58 EST by Susan McCourt CLA
Modified: 2015-05-05 14:38 EDT (History)
8 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 2011-12-22 15:58:53 EST
We don't have a good guideline for when an action should be in the local actions column/local menu, and when it should just be a checkmark based selection action in the toolbar.

It makes sense to me that if an action applies to many items, it should be offered as a selection-based operation.

But we've seen evidence that having the action locally is also handy (bug 365463) so some actions that apply to multiples (like move/copy in the navigator) are also located in the actions menu.

Git Status currently offers "save diff" as a selection-based command in the unstaged list but not in the actions column.  Whereas "stage" appears in both, and "checkout" only appears in the column.

We need to have a story for how we decide these things.
Comment 1 John Arthorne CLA 2011-12-23 08:33:00 EST
I don't know the right answer, but I think there is also potential confusion with the actions that are available in both menus. For example:

- In Navigator containing two files
- Select file1 with the checkbox
- In the menu for file2, hover on "Delete"

-> It says, "Delete the selected files or folders"

It's not clear what will be deleted here... the selected file, or the file whose menu I opened. I was wondering if the local menus should disappear or grey out when there is a selection? Gmail does something similar, where selection-based actions only appear at the top when there is a non-empty selection.
Comment 2 libing wang CLA 2012-01-25 10:17:10 EST
(In reply to comment #0)
 
> Git Status currently offers "save diff" as a selection-based command in the
> unstaged list but not in the actions column.  Whereas "stage" appears in both,
> and "checkout" only appears in the column.
I hit real issue without ability to check out a group of files.See Bug 369667.

> We need to have a story for how we decide these things.

One of the chapters of the story:
Currently we have pageAction and pageNavigationAction. We may want to have SelectionAction, no matter where they are rendered. We may also want to think about selection changes to reflect action rendering.

An example is the commit action in the replace preview. If there is no files/matches checked, the commit action should be disabled.
Another example is the stage/unstage in git status page.
Comment 3 Susan McCourt CLA 2012-01-25 13:42:40 EST
(In reply to comment #2)

> One of the chapters of the story:
> Currently we have pageAction and pageNavigationAction. We may want to have
> SelectionAction, no matter where they are rendered. 

We have the pieces of this working (navigator does it, for example see "selectionTools" navigate/table.js, line 84 and others).  Since it's not in the global banner, the page is in charge of setting this up.  

> We may also want to think
> about selection changes to reflect action rendering.
> An example is the commit action in the replace preview. If there is no
> files/matches checked, the commit action should be disabled.
> Another example is the stage/unstage in git status page.

We have this as well.  For example in the navigator, the selection affects the appearance/disappearance of the More menu (and the content as well.)  You will need to ensure that your command service instance has been passed the associated selection service instance, and all the right notifications will happen.  This of course assumes you are using the common explorer code which handles selection service....  Ping me if it's not clear how to make this work, you should be able to implement this now.
Comment 4 Susan McCourt CLA 2012-01-25 13:43:39 EST
What I was getting at in this bug originally was the UI design question....how are we deciding when something is merely a selection action, when it's an item-level action, and when it's both.  We don't have a consistent story, right now we are using the specific workflows to decide.
Comment 5 libing wang CLA 2012-01-25 14:56:08 EST
(In reply to comment #3)
> (In reply to comment #2)
> 
> > One of the chapters of the story:
> > Currently we have pageAction and pageNavigationAction. We may want to have
> > SelectionAction, no matter where they are rendered. 
> 
> We have the pieces of this working (navigator does it, for example see
> "selectionTools" navigate/table.js, line 84 and others).  Since it's not in the
> global banner, the page is in charge of setting this up.  
> 
> > We may also want to think
> > about selection changes to reflect action rendering.
> > An example is the commit action in the replace preview. If there is no
> > files/matches checked, the commit action should be disabled.
> > Another example is the stage/unstage in git status page.
> 
> We have this as well.  For example in the navigator, the selection affects the
> appearance/disappearance of the More menu (and the content as well.)  You will
> need to ensure that your command service instance has been passed the
> associated selection service instance, and all the right notifications will
> happen.  This of course assumes you are using the common explorer code which
> handles selection service....  Ping me if it's not clear how to make this work,
> you should be able to implement this now.

Thanks for pointing this out.
I opened Bug 369732.
Comment 6 Susan McCourt CLA 2012-02-27 16:35:30 EST
(In reply to comment #4)
> What I was getting at in this bug originally was the UI design question....how
> are we deciding when something is merely a selection action, when it's an
> item-level action, and when it's both.  We don't have a consistent story, right
> now we are using the specific workflows to decide.

The third part to this is "when is it a top level toolbar item in the nav?"

For any action that applies to a single folder, we could put it:

- in the nav toolbar, evaluated against nav root
- in the individual item menu, evaluated against adjacent item
- in the selection menu, evaluated against selected items
Comment 7 Susan McCourt CLA 2012-05-09 12:42:09 EDT
The guideline we are moving toward with row based selections is something like this:

- most selection based actions should be in the toolbar (or section toolbar) menu.  We won't have single item (chevron) menus.
- actions that can be applied to more than one item and are frequently used are always in the selection menu
- the only real exception case is an action that meets these conditions:
1) only ever applies to one item (does not appear when there is a multiple select)
2) is very frequently used
3) it is important to promote discovery through the use of the inline action
4) the icon is clear/intuititive....creates no noise "what is this" reaction
Comment 8 Susan McCourt CLA 2012-05-14 18:38:05 EDT
I've now moved navigator and favorites actions to the toolbar, driven off the selection model.  We'll still want to visit the other pages...
Comment 9 Susan McCourt CLA 2012-05-16 19:54:19 EDT
jjb suggests:
>Rather than 2 or 3 items then More, I'd prefer as many items as will
>fit and the rest in More.

So the question is...do we want to contribute some of the selection actions into the toolbar directly vs. all in one selection menu.?
Comment 10 Susan McCourt CLA 2012-05-17 12:52:48 EDT
Szymon had some confusion about the behavior of "new file" and "new folder" in the main toolbar.

Currently those refer to the nav root, but he was expecting to be able to select a folder and create something there.

(We used to have it in both places and that was confusing, too)...
Comment 11 Susan McCourt CLA 2012-05-22 12:10:04 EDT
I opened bug 380299 to consider the specific case in comment 6 and in comment 10 so that we can focus this bug on how to handle in-line actions vs. selection menu actions.
Comment 12 Susan McCourt CLA 2012-05-23 15:24:20 EDT
We had some more discussion on this today.  See
http://wiki.eclipse.org/Orion/UX_Issues/Selections
Comment 13 Susan McCourt CLA 2012-05-24 15:58:28 EDT
We've done some stuff in M2:
- nav actions are in the "actions menu," chevron is gone
- likewise with favorites
- we're exploring defining a default action for most places that is inline and the rest would be by selection.  Git status has implemented this.

We will work with the default action concept further in RC1 with
Sites
Settings
Repositories
Git Log
Comment 14 Susan McCourt CLA 2012-06-04 13:03:14 EDT
Moving to 1.0.
Many pages are adopting this approach, but it is unlikely we will get to others because we need some additional support (scrollspy/pinned section headers and inline floating actions) to make it work.  I'll attach other dependent bugs to this bug.

We've done (or are in the process of doing)
- navigator
- favorites
- git status
- sites

We've not done
- plugins
- git commit
- git log
- git repo page
Comment 15 Susan McCourt CLA 2012-10-04 10:53:51 EDT
moving milestone to 2.0 M1 for future triage.
Comment 16 Szymon Brandys CLA 2013-02-20 03:28:31 EST
Can we continue this discussion ASAP?
Comment 17 John Arthorne CLA 2015-05-05 14:38:20 EDT
Closing as part of a mass clean up of inactive bugs. Please reopen if this problem still occurs or is relevant to you. For more details see:

https://dev.eclipse.org/mhonarc/lists/orion-dev/msg03444.html