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

GUI for bibliography consistency check #11950

Open
koppor opened this issue Oct 13, 2024 · 3 comments
Open

GUI for bibliography consistency check #11950

koppor opened this issue Oct 13, 2024 · 3 comments
Labels
good first issue An issue intended for project-newcomers. Varies in difficulty.

Comments

@koppor
Copy link
Member

koppor commented Oct 13, 2024

Note This is a bit more effort. Suited for more than one developer

JabRef has a functionality to check a set of BibTeX entries for consistency. (Introcued at #10778 and #10847)

The class for that is org.jabref.logic.quality.consistency.BibliographyConsistencyCheck.

There is currently no UI.

Goals:

  1. Add a new menu entry at Quality: "Check consistency" (below "Check integrity")
  2. This executes BibliographyConsistencyCheck on the whole library
  3. It presents a result window

Result window:

Displays org.jabref.logic.quality.consistency.BibliographyConsistencyCheck.Result.

Use each EntryType as heading (or do accordeons as in the FindUnlinkedFiles functionality)

For each EntryType in Result:

Display org.jabref.logic.quality.consistency.BibliographyConsistencyCheck.EntryTypeResult

  • Render as table
  • First column: Citation key
  • On click of a line : jump to entry (similar to behavior of org.jabref.gui.search.GlobalSearchBar)
  • other columns: Field names
  • content:
    x | required field is present
    o | optional field is present
    ? | unknown field is present
    - | field is absent

See org.jabref.logic.quality.consistency.BibliographyConsistencyCheckResultTxtWriterTest#checkDifferentOutputSymbols for a "guide" how to get the symbols. Just step through the code.

If no new tables are used, but a single table, this table would look as follows:

image

(Taken from #10778)

@koppor koppor added the good first issue An issue intended for project-newcomers. Varies in difficulty. label Oct 13, 2024
@Donald-0017
Copy link

Hi Koppor, I am very interested in this issue,would you like to assign it to me?Thank you very much!

@koppor koppor added the FirstTimeCodeContribution Triggers GitHub Greeter Workflow label Oct 14, 2024
Copy link
Contributor

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! 🚀

@subhramit
Copy link
Collaborator

subhramit commented Oct 26, 2024

@Donald-0017 I am un-assigning you based on the assessment of your effort and code at #12086. This is not to discourage - you are welcome to contribute, but please pick a simpler/smaller issue to start with that you can understand as per your skills at the moment (and ask questions before starting with code right away or when you face a blocker).

Furthermore, there are basic etiquettes that you are expected to follow in open-source (you can read the github-actions bot message above this - it's there for a reason).

@Siedlerchr Siedlerchr removed the FirstTimeCodeContribution Triggers GitHub Greeter Workflow label Oct 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue An issue intended for project-newcomers. Varies in difficulty.
Projects
Status: Free to take
Status: Free to take
Development

No branches or pull requests

4 participants