JabRef / jabref

Graphical Java application for managing BibTeX and biblatex (.bib) databases
https://devdocs.jabref.org
MIT License
3.63k stars 2.59k forks source link

Groups context menu: Structure remove groups and subgroups #4682

Open MartinKarim opened 5 years ago

MartinKarim commented 5 years ago

groupmanual

Description of Issue Possible Solution Warnings
The button for adding groups is often too remote from the list of existing groups and too inconspicuous Enlarge the button and place it directly below the list of groups -
The right click options for groups are too complicated;
the menu contains functions, that are misplaced there
Add hierarchy to the Remove group items;
Remove items for adding/removing entries
-
tobiasdiez commented 5 years ago

Enlarge the button and place it directly below the list of groups

That's a good idea. But what happens if the user already added a lot of groups and there is no empty space below the list of existing groups? Any recommendations for this case?

MartinKarim commented 5 years ago

While the button should be just below the bottom of the list of groups, it should not be a part of the list. If the space is running out for displaying all groups at once, I recommend to make the list of groups scrollable just above the button. Would that be a solution?

AEgit commented 5 years ago

I am not so sure about the proposed hierarchy for "Remove groups". The old version allows you to remove a group using one click and just moving to the desired option. The newly proposed one, would require you to use a click, move to "Remove groups", wait for the hierarchy to pop up, and then move again to the desired option. I think this is more inconvenient, if you want to delete several groups. The hierarchy seems unnecessary, given that there are only 2 options anyway.

Siedlerchr commented 5 years ago

I would make it possible to remove them via a keyboard shortcut: DEL and define that default behaviour somewhere

AEgit commented 5 years ago

Ok, that would be an option as well - as long as I can define the default behaviour and have a keyboard shortcut, I am happy with it.

MartinKarim commented 5 years ago

I agree that a menu hierarchy is not necessary based on the amount of options available, neither on the first nor on the second hierarchy level. However, in the removal process there are two decisions to make:

  1. What do I want to happen with the group? (remove)
  2. What should happen to subgroups? (remove or keep) I think that reflecting this two-step process in the menu structure could be helpful.

For a long term solution to remove several groups at once, selecting them and removing them with would be a useful feature to have. But right now it is true that the hierarchy adds an additional step to the removal of groups, which constitutes a trade off between learnability and efficiency.

AtrusRiven commented 3 years ago

I consider this an important step for UI usability and clarity. Should be linked with #4681 and #4683 in a "metaissue".

tobiasdiez commented 3 years ago

The submenu for how to deal with the subgroups should also only be shown if the group has actually subgroups.

apurvachuri commented 3 years ago

Hello!

We (Apurva, Khate, John, Naif and Daolin) have taken Software Process Improvement course at the University of Adelaide. As part of the course, we are supposed to contribute an open source project and we would like to take up this issue.

Our aim is to submit our initial pull requests by early May.

Any guidance would be appreciated.

apurvachuri commented 3 years ago

As we understand, there are two UI functionality to be addressed.

1: To add "+" button to add groups: We have two queries here, first, on the current version which we are using of JabRef, the "+" button seems to placed appropriately. Please find the attached screenshot. image So, do we really need to add the "+" button at the bottom there?

Next, when we click on the "+" button, a dialog box pops up to add the group, however, we see that the title of the dialog box is "Add subgroup". Is this correct? or is it suppose to be "Add a group" image

2: We wanted to confirm that we should implement the hierarchy to remove group items.

Any guidance would be much appreciated!

tobiasdiez commented 3 years ago

Thanks for your interest.

apurvachuri commented 3 years ago

Thank you @tobiasdiez. We will discuss and get back if we still have any doubts, before starting with the issue.

apurvachuri commented 3 years ago

Just a few more queries and re-confirmation before we get started :)

  1. As mentioned in the previous comment, it would be good to have a ‘Add group’ button at the bottom. So, does it mean, we need to remove the ‘+’ button beside Filter Groups? Do we need to remove the ‘+’ sign which is highlighted in red.? And if not, what exactly will be different (functionality wise) in this ‘+’ button which is highlighted and the one that we are planning to add in the bottom. image

  2. The ‘+’ button which we are adding at the bottom, should that button specifically only add a group and not subgroup?

Any guidance would be much appreciated!

tobiasdiez commented 3 years ago
  1. Yes, the button next to the "Filter groups" field needs to be removed. The functionality of this button and the newly added one should be the same; only the location changes.
  2. Add the moment the button always adds a new group at the end of the groupstree. However, I like the idea that it adds a subgroup if the user has a group selected. If you would like to add this enhancement, please go ahead - but please make this a separate PR.
apurvachuri commented 3 years ago

Hi,

We are trying to implement the part where once a few groups are added in the SidePane, we need to make the "Add Group" button dimmed or less intuitive.

**Question:** How do we determine this part where after a certain number of groups are added, the button is dimmed? 1. Can we have a constant number, like if the number of groups added is greater than equal to 10 (maybe) then change the color of "Add Group" button. 2. If not the first option, how do we know if the number of group are large enough? Because we thought if the user adds more groups, then a scroll bar will appear and then we can change the color of the "Add Group" button. But again, if the window size changes, this thing does not make sense. So, we are stuck on this point on how to go about working on this part. Any help/suggestions would be much appreciated!
tobiasdiez commented 3 years ago

Dimming the button after say 10 groups seems to be the easiest solution, and is completely satisfactory in my opinion. The point was to educate a new user "this is how you add groups" and once she understood that, the button can be dimmed.

I like the screenshot!

apurvachuri commented 3 years ago

Hi,

We have created a pull request: https://github.com/JabRef/jabref/pull/7714

Any suggestions/feedback would be appreciated!

AEgit commented 3 years ago

JabRef 5.3--2021-06-08--9d1c448 Windows 10 10.0 amd64 Java 16.0.1 JavaFX 16+8

Please re-open this ticket, since there are two issues I have encountered so far:

(1) Note, that the new "Add group" button adds groups at the bottom of the group panel NOT below a selected group. So, if your database contains lots of groups (say thousands like in my case) and I want to "Add a group" at a specific place in the group tree, I have to create the group using the "Add group" button, then scroll to the bottom of the group panel, select the newly created group and then drag'n'drop the new group to the place it was supposed to be. Since the group panel does not scroll, when you drag'n'drop a group, you have to scroll to the top of current view of the groups panel, then drop the group, then scroll again to the current view of the groups panel, then drag'n'drop the group again, and so forth until you reach the point where you wanted to have your group. Fortunately, the "Add subgroups" feature is still included as part of the menu that opens with a rightclick on a group in the groups panel. This somewhat circumvents the problem, since the new group is added as part of its mother group. But the functionality is not the same (imagine if you have a mother group, and so currently JabRef has lost functionality with this new "Add groups" approach compared to older versions.

Suggestion for improvement: If no group is selected, then add the newly created group to the bottom of the groups panel as currently implemented. If a group is selected, then add the new group BELOW the currently selected group.

(2) Is there now keyboard shortcut to delete group in one go as suggested in https://github.com/JabRef/jabref/issues/4682#issuecomment-465952971? I tried using DEL but that did not work. As mentioned already here (https://github.com/JabRef/jabref/issues/4682#issuecomment-465953541) I was ok with the new behaviour, if a shortcut as alternative was provided to allow deleting groups in one go. Otherwise this implementation is just removing functionality that the old JabRef had.

mlep commented 3 years ago

I agree with @AEgit.

About

Suggestion for improvement: If no group is selected, [...]

Is it possible to have no group selected? From what I have on the screen, there is always one group selected (at least the group "All entries" is selected).

Some other issues:

calixtus commented 3 years ago

Thanks for the suggestions. I'll try to sum the remaining issues up:

Did I miss something? About the wording this is maybe something for the devcall.

mlep commented 3 years ago

@calixtus I could not get "the grey of a disabled button". Unexpectedly, the button is grey while a group is selected: For one of my files, the button is blue with the"all entries" group is collapsed, but becomes grey when this group is expended.

mlep commented 3 years ago

I am now able to make reproducible the issue with the grey button: 1) open the file https://github.com/JabRef/jabref/blob/main/src/test/resources/testbib/jabref-authors.bib 2) click on "Add group", enter a random name, and click OK At this stage the "Add group" button is blue 3) click on "Add group", enter a random name, and click OK The "Add group" button becomes grey

It occurs when there is more than 9 subgroups displayed under the "All entries" group:

tobiasdiez commented 3 years ago

since all user-created groups are subgroups of "all entries", when you had a group, it is always a subgroup of something ("All entries", at least). So, "Add group" should be renamed "Add subgroup".

While technically true, I think, it better to leave the button text at "Add group" if "All entries" is selected. What about "Add group" if no group or "All entries" is selected; but "Add subgroup" if a proper group is selected?

koppor commented 3 years ago

Open discussion: How to introduce first-time users to JabRef and how to educate them. We need to interview users (user studies, ...) to really understand their requirements. Do they always start with JabRef online in 2022?

koppor commented 3 years ago

Add highlighting of the button - similar to search (mouse over - on whole button)

grafik

Similar to "add group" button

AtrusRiven commented 3 years ago

Is there planning on working on this? I don't know what the devs are planning but it could be merged with #4681 and #4683 (and other issues related to the topic?).

koppor commented 3 years ago

@AtrusRiven: @calixtus volunteered to work on this issue and handle the checklist presented at https://github.com/JabRef/jabref/issues/4682#issuecomment-857931172.

https://github.com/JabRef/jabref/issues/4681 is a rather large one and needs to be handled separately. It is not on our roadmap for this year, though. It could be possible that other volunteers work on it.

AtrusRiven commented 3 years ago

Thanks a lot, @koppor and @calixtus!

koppor commented 2 years ago

@apurvachuri The plus button used to be next to filter as shown here:

grafik

We decided to move it away in JabRef 5.3. See https://github.com/JabRef/jabref/blob/main/CHANGELOG.md#removed-2.