Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge some (or all) of the "new entry" related buttons #8808

Open
claell opened this issue May 16, 2022 · 14 comments
Open

Merge some (or all) of the "new entry" related buttons #8808

claell opened this issue May 16, 2022 · 14 comments
Labels
component: ui good first issue An issue intended for project-newcomers. Varies in difficulty.

Comments

@claell
Copy link
Contributor

claell commented May 16, 2022

Is your suggestion for improvement related to a problem? Please describe.
Currently, there are four different buttons, all related to adding a new entry. This is confusing for newcomers, especially as their functionality is in some cases heavily overlapping. Also, that helps to save some space on low resolutions.

CC #8295 (comment) and https://discourse.jabref.org/t/ui-priority-what-should-be-in-the-toolbar/3039/10 for that, which inspired me to create this issue.

Describe the solution you'd like
Merge buttons, don't duplicate functionality there.

Additional context
grafik

The colors mark areas that (could) provide similar functions.

New article:
grafik

New entry:
grafik

Import by ID:
grafik

New entry from plain text:
grafik

@MVP-D77
Copy link

MVP-D77 commented May 26, 2022

Hello, @[claell] , our group are interested in your problem and would like to work on this issue. Can we have a try?
——SE 2022 group haha, SUSTech

@ThiloteE
Copy link
Member

I am thankful for your interest about working on JabRef.

Because of different workflows and users wants, larger UI changes need and should be discussed before implementation. They can trigger heated debate and follow up pull-requests.

JabRef maintainers have not yet discussed this particular issue themselves. Until this has been done, please check out other issues.

If you are pretty new to open source programming, have a look at issues with the tag "good first issues". If you are a student, the "candidates for university projects" page offers some issues of varying difficulty and scope and that have been estimated to be compatible with university courses as well and often bring a larger feature to JabRef. Of course, feel free to tackle one of the other "normal" issues around, if you feel you have the knowledge or the willingness to take them on. There are many around!

Because there are so many, prioritization would boost JabRef's development. For example, if you have decided to work on a issue related to "search", have a look at multiple issues with the label "search" and only afterwards decide on which one you want to work on. What should be avoided: Having a look at the newest issues and blindly choose an issue from the first page. Thank you! There might be important issues on the first page, but there might also be very important issues further down the list. Labels will help you a lot. Furthermore, bugs are actively prioritized by JabRef maintainers and getting rid of high priority ones feels extra nice!

Having said all that, at the end of the day, of course, you are the one free to choose what to work on and what feature you prefer JabRef to have. Such is the nature of open source software.

Thank you!

@ThiloteE
Copy link
Member

ThiloteE commented May 26, 2022

While I personally have had some discussion on this. Looking at my old proposal I found some things that definitely could be improved. In particular:

Import by ID (green colour), which automatically searches through various ID sources (e.g. DOI, ISBN, etc.) is not perfect. I heard, under certain circumstances it could be that it does not find IDs that could be found if users were to select them manually using the select entry type dialogue (also green colour). I assume because the algorithm under the hood is forced to operate within a hierarchy, if duplicate metadata is found. Either first come, first served, or some duplicate prevention mechanism kicks in. I don't know the exact code though, so I could be wrong, but if this is right, getting rid of the manual option as I proposed back then might be a bad idea. Also, there are some other things I don't like as much today as I did like it back then :D It was just a draft, not final.

Also, @claell I would be happy, if you also could provide a detailed draft UI. We need a sensible outline of how the future UI should or could look like :)

@claell
Copy link
Contributor Author

claell commented May 31, 2022

Regarding the ID import (green color), it probably needs to be investigated, whether the new field can be improved that it gives all the results that the old field gives.

I can look into providing a mockup. Unfortunately, I am rather busy, currently.

@koppor
Copy link
Member

koppor commented Jun 6, 2022

Side note: Reasoning for the first button: Quickly create an entry without having an extra dialog. The decision driver was to have as less modals as possible.

Discussion Result

  • One modal. Title: "New entry" (base on the code of dialog "Select entry type"
  • The entry dialog has three tabs
  • First tab: "New entry based on type". (Reason: New comers are more knowledgable of BibTeX types and thus are not confused)
  • Second tab: "New entry based on identifier" (Reason: For the power users, this tab is focused when opening the dialog again and again - see below "acress sessions")
  • The tab "New entry based on identifier" contains a hint text below stating "You can also paste a DOI into the entry table to have JabRef creating the entry directly."
  • Third tab: "New entry from text". (Reason: This is the functionality needed the least)
  • Fourth tab: "New entry from BibTeX". Have a text field where BibTeX code can be pasted. The entry is created and then focused. In case of multiple entries, all of them are created, and the first one is focused in the table and the entry editor opens for that entry. In case of a parsing error, the error is displayed and the dialog kept open for the user to try to fix the BibTeX code.
  • JabRef remembers the focused tab across JabRef sessions. That means: As user, I select the second tab. I create an entry. I save. I close JabRef. I reopen JabRef. I open the "New entry" dialog. The second tab is focused. Hint: Use JabRef's preferences.
  • Modify key binding functionality for "New entry from plain text" (Ctrl+Shift+N. This opens the new entry dialog, switches to the tab "New entry from text" and focuses the text field
  • If possible: Add key binding functionality for "New entry from identifier"
    • Add Library -> "New entry from identifier" with shortcut Ctrl+Alt+Shift+N (because Ctrl+Shift+I is "New InBook").
  • Remove buttons "New article", "Import by ID", "New entry from plain text"
  • Make the default size of the dialog wider (try to use 1000px)
    grafik

Decision Drivers

  • As less clicks as possible
  • Less cluttered UI
  • Be "easy" for both newcomers and professional users

@koppor
Copy link
Member

koppor commented Oct 30, 2022

Idea for refinement:

Offer an intelligent text box("Any to BibTeX"). It allows following "text types" and handles them intelligently:

  1. ID (E.g., DOI, ISBN, ...) is pasted --> Id Fetcher is used
  2. BibTeX (e.g., @article{...} is pasted --> BibEntry object directly created and added
  3. Plain text reference pasted (e.g., Shotton, M. A. (1989). Computer addiction? A study of computer dependency. London, England: Taylor & Francis.) --> Plain Text reference to BibTex converter is used
  4. URL is pasted -- If ends with PDF, PDF is downloaded and parsed (described at New entry from PDF link jabref-koppor#531) if other URL, fetchers are tried somehow (this is not yet implemented yet)

Nearly all functionality exists independently, it "just" needs to be wired

@koppor koppor moved this to Normal priority in Features & Enhancements Nov 7, 2022
@koppor koppor moved this to Normal priority in JabRef UI Improvements Nov 11, 2022
@koppor koppor moved this from Free to take to In Progress in Candidates for University Projects Mar 13, 2023
@ThiloteE ThiloteE moved this from In Progress to Free to take in Candidates for University Projects Apr 10, 2023
@koppor koppor added good first issue An issue intended for project-newcomers. Varies in difficulty. and removed Project: SE HIT 2022 labels Mar 5, 2024
@github-project-automation github-project-automation bot moved this to Free to take in Good First Issues Mar 5, 2024
@koppor koppor moved this from Free to take to Reserved in Candidates for University Projects Mar 12, 2024
@koppor koppor moved this from Free to take to Reserved in Good First Issues May 21, 2024
@JabRef JabRef deleted a comment from ThiloteE May 21, 2024
@koppor koppor moved this from Reserved to Free to take in Good First Issues May 21, 2024
@Daniel-Ruan
Copy link

I am a student at the Australian National University, and my team and I are interested in working on the "Merge some (or all) of the 'new entry' related buttons" issue (#8808). We have reviewed the problem and the discussions around the current implementation, and we believe we can contribute to simplifying the UI as proposed.

We would appreciate the opportunity to work on this as part of our project. Could you please assign this issue to us, or let us know how we can proceed?

Thank you very much!

@Siedlerchr
Copy link
Member

@Daniel-Ruan Pleas only choose one issue. I assigned your team to the other issue

@Daniel-Ruan
Copy link

Thanks.

@jiaxin0103
Copy link

Hello, I am a student at the Australian National University. For our team project, we need to contribute to an open-source project. May I be assigned to this task?

@Siedlerchr Siedlerchr moved this from Free to take to Assigned in Candidates for University Projects Oct 9, 2024
@Siedlerchr Siedlerchr moved this from Free to take to Assigned in Good First Issues Oct 9, 2024
@Siedlerchr Siedlerchr added the FirstTimeCodeContribution Triggers GitHub Greeter Workflow label Oct 9, 2024
Copy link
Contributor

github-actions bot commented Oct 9, 2024

Welcome to the vibrant world of open-source development with JabRef!

Newcomers, we're excited to have you on board. Start by exploring our Contributing guidelines, and don't forget to check out our workspace setup guidelines to get started smoothly.

In case you encounter failing tests during development, please check our developer FAQs!

Having any questions or issues? Feel free to ask here on GitHub. Need help setting up your local workspace? Join the conversation on JabRef's Gitter chat. And don't hesitate to open a (draft) pull request early on to show the direction it is heading towards. This way, you will receive valuable feedback.

Happy coding! 🚀

@tohfas
Copy link

tohfas commented Oct 10, 2024

Hello, I am a student at the Australian National University. For our team project, we need to contribute to an open-source project. May I be assigned to this task?

Hi @Siedlerchr , @jiaxin0103 and myself are both working in the same team for our group assignment at Australian National University. Can this be assigned to me as well, so that we can do our group work? We are very interested to work on this. Thanks.

@koppor
Copy link
Member

koppor commented Oct 10, 2024

and myself are both working in the same team for our group assignment at Australian National University. Can this be assigned to me as well, so that we can do our group work? We are very interested to work on this. Thanks.

Sure! Hope it helps.

Side comment: In our project, we allow everyone to contribute. Just ensure that you as group work on one fork. Maybe, @jiaxin0103 can fork and invite you as contributor to the fork?

@tohfas
Copy link

tohfas commented Oct 11, 2024

Sure that works. Thanks

This was referenced Oct 24, 2024
@github-project-automation github-project-automation bot moved this to Normal priority in Prioritization Nov 13, 2024
@koppor koppor moved this from In Progress to Free to take in Good First Issues Mar 6, 2025
@koppor koppor moved this from In Progress to Free to take in Candidates for University Projects Mar 6, 2025
@koppor koppor removed the FirstTimeCodeContribution Triggers GitHub Greeter Workflow label Mar 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: ui good first issue An issue intended for project-newcomers. Varies in difficulty.
Projects
Status: Free to take
Status: Free to take
Status: Normal priority
Development

Successfully merging a pull request may close this issue.

9 participants