Skip to content

Merge "Citation information" and "Citation relations" #13618#14045

Merged
calixtus merged 20 commits into
JabRef:mainfrom
Mitkens374:main
Oct 9, 2025
Merged

Merge "Citation information" and "Citation relations" #13618#14045
calixtus merged 20 commits into
JabRef:mainfrom
Mitkens374:main

Conversation

@Mitkens374

@Mitkens374 Mitkens374 commented Oct 6, 2025

Copy link
Copy Markdown
Contributor

Closes #13618

Merged "Citation information" into "Citation relations" tab, now called Citations. Removed old SciteTab and SciteTabViewModel classes, as their logic is now entirely in CitationRelationsTab and CitationRelationsTabViewModel respectively. Created new class ScienceAiFetcher, for fetching tallies from scite.ai, utilizing new TalliesResponse record.

Steps to test

  1. Start JabRef
  2. Open a library
  3. Select an entry
  4. Open the "Citations" tab, to see all the information from former "Citation information" tab.

Before:

Citation_Information Citation_Relations

After:

Citations_Tab

Mandatory checks

@github-actions

github-actions Bot commented Oct 6, 2025

Copy link
Copy Markdown
Contributor

Hey @Mitkens374!

Thank you for contributing to JabRef! Your help is truly appreciated ❤️.

We have automatic checks in place, based on which you will soon get automated feedback if any of them are failing.
We also use TragBot with custom rules that scans your changes and provides some preliminary comments, before a maintainer takes a look.
TragBot is still learning, and may not always be accurate.
In the "Files changed" tab, you can go through its comments and just click on "Resolve conversation" if you are sure that it is incorrect, or comment on the conversation if you are doubtful.

Please re-check our contribution guide in case of any other doubts related to our contribution workflow.

@ThiloteE

ThiloteE commented Oct 6, 2025

Copy link
Copy Markdown
Member

Since this is GUI related, please provide screenshots of "Before" and "After".

@calixtus calixtus left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thank you for you PR, we really appreciate it. So far the changes to the code look mostly fine. I put some comments into.

Now we need to talk about the visuals... You designed it after the proposal in the issue description, functionally the important part is done. But the proposal in the issue is not good. Now it looks like everything is just stacked in top of each other.

Idea is: You sure want to indicate that these informations come from different sources: citation relations from semantic scholar and metrics from scite.ai.

Please make a proposal to make this look nice. Look at other software how they do it. Fetch some ideas from ui design forums.

Comment thread CHANGELOG.md
Comment on lines +98 to +101
private static final String SEMANTIC_SCHOLAR_URL = "https://www.semanticscholar.org/";
private static final String SCITE_REPORTS_URL_BASE = "https://scite.ai/reports/";
private static final String SCITE_URL = "https://scite.ai/";

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please put the URL constants to the dedicated helper class URLs.

@Mitkens374

Mitkens374 commented Oct 6, 2025

Copy link
Copy Markdown
Contributor Author

Thanks for the comments, I will start working on the needed changes. In the case of the "Source branch is other than "main"" check, should I close this request and make a new one with a correctly named branch?

@calixtus

calixtus commented Oct 6, 2025

Copy link
Copy Markdown
Member

Thanks for the comments, I will start working on the needed changes. In the case of the "Source branch is other than "main"" check, should I close this request and make a new one with a correctly named branch?

No, just finish this one. But for next time, remember, that for creating a fix or a feature creating a new branch is git 101.

@Mitkens374

Copy link
Copy Markdown
Contributor Author

Hi, I have added the requested changes and also added some better styling to the tab. Later today I will also resolve the localization issues that are coming up.

If the styling of the tab is still inadequate any advice or ideas on how to make it nicer would be appreciated.

Here is how the tab looks currently:

Citations_Tab_Update

@Mitkens374 Mitkens374 requested a review from calixtus October 8, 2025 12:55
@calixtus

calixtus commented Oct 8, 2025

Copy link
Copy Markdown
Member

Imagine you were just an average user, you have no idea about java programming, scite.ai or semantic scholar. What information would the titles provide? The source of the information. Nice to know, but certainly not the title.
Use "citation relations" and "Citation metrics" or just "Relations" and "Metrics". Or make even the metrics less prominent.

Compare your design to other software. Good UI design is likewise important as the code itself and requires planning, effort and interest.

@Siedlerchr

Copy link
Copy Markdown
Member

I would add just add a help button/tooltip opening a user documentation page explaining where the data is coming from.

…explaining the source and linking to the respective page.
@Mitkens374

Copy link
Copy Markdown
Contributor Author

Hi, I renamed the titles in the panel and added a help button linking to the respective pages (semanticscholar.org and scite.ai). The button also has a tooltip, explaining the source of the information.

Here is the current state, with the tooltip visible for the Citation Relations section:
Citations

}

private VBox getMessageBox(String url, Text message) {
HyperlinkLabel link = new HyperlinkLabel(Localization.lang("See full report at [%0]", url));

@ThiloteE ThiloteE Oct 8, 2025

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think "See full report" could be in the same line as the other info, right next to "Citing Publications". The url doesn't necessarily have to be shown to the user, as long as they can click somewhere that will lead them to the webpage, so just turn "See full report" into the link itself and it will be possible to remove the useless "at" and the url, thereby saving screenspace and making it a little bit more beautiful.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thanks for the idea. I have made the Citation Metrics section into a single line with the report link at the end. For better separation of the text, I broke up the former message into separate elements, which are added to the display with a " | " as a separator. This way the link in the last element always has the same spacing also.

Here is the current version:
Citations_Update

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Much better. And the longer I look at it, i think even the titles themselves can be abolished.
The title: "Metrics" could also sit in the same line as the metrics themselves ("Metrics: Total citations ...").
The "Citation Relations" title is imho superfluous as the table and the table headers should be self describing already.
Question is only, where should the help buttons / the proper credit to the information providers go?
Maybe somewhere also as a small hyperlink ("powered by semantic / scite")? Just thinking loud.
I know, titles are nice and many times, they are really important and needed. But in this case, I think "Citations" in the tab bar is already the best title.

In computer science, the hardest thing is naming things, in ui design, the hardest thing is where to place the names maybe.

@Mitkens374 Mitkens374 Oct 9, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I removed the labels, and I have put the "provided by" helper buttons at the bottom of the tab.

Here is the current state:
Citations_Update_Update

I think that the separation nicely indicates that the sources for the information are different and that the buttons are related to different parts of the tab. I changed the tooltip message as well to make it a bit more clear ("Metrics/Relations provided by...").

I am not entirely sure about the button next to the "See full report" as it may seem a bit redundant maybe? They pretty much link to the same site, but i think keeping the landing page link for scite.ai, somewehere in the tab is a good choice, as there is a lot of information about the service there. On the other hand maybe removing the helper button and adding the tooltip to the "See full report" link, explaining the source and only linking to the full report would make the tab even more clear. I'll let you be the judge of that :D.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am okay with this now! LGTM

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like it too.

@calixtus calixtus enabled auto-merge October 9, 2025 21:05
@calixtus calixtus added this pull request to the merge queue Oct 9, 2025
@Siedlerchr

Copy link
Copy Markdown
Member

Thanks a lot for your contribution and the quick changes!

Merged via the queue into JabRef:main with commit fdd6da3 Oct 9, 2025
48 of 49 checks passed
@Mitkens374

Copy link
Copy Markdown
Contributor Author

Thank you for the opportunity and for all the notes about the design. UI design is not my strong suit (as you may have guessed :D) so I am very glad that I gained some experience in that field, and that in the end we managed to create something nice :D.

Shanaya-1981 pushed a commit to Shanaya-1981/jabref that referenced this pull request Oct 13, 2025
…abRef#14045)

* Merged scite metrics tab into the Citation Relations Tab (now called "Citations") and removed SciteTab from view in EntryEditor.

* Removed SciteTab.java and SciteTabViewModel.java. Moved fetchTallies method to new class ScienceAiFetcher.java. Moved SciteTallyModel to jabref.model.sciteTallies and renamed to TalliesResponse.

* Added info to CHANGELOG.md.

* CHANGELOG formatting.

* Updated CHANGELOG.md after PR comments. Moved URLs to URLs helper class. Added nicer styling to the Citations tab.

* Updated CHANGELOG.md after PR comments. Moved URLs to URLs helper class. Added nicer styling to the Citations tab.

* Added missing localization keys and removed obsolete localization keys.

* Added localization to citation tab labels

* Renamed labels in Citations tab and added a help button with a popup explaining the source and linking to the respective page.

* Updated Citation Metrics section to a single line

* Made Citation Metrics a single line. Also broke up its text into elements to have better separation.

* Removed labels in the Citations tab. The provided by buttons are now entirely in the Metrics line.

---------

Co-authored-by: Mitkens374 <michal.leso@student.tuke.sk>
@koppor koppor mentioned this pull request Oct 29, 2025
2 tasks
merlinymy pushed a commit to merlinymy/jabref that referenced this pull request Nov 19, 2025
…abRef#14045)

* Merged scite metrics tab into the Citation Relations Tab (now called "Citations") and removed SciteTab from view in EntryEditor.

* Removed SciteTab.java and SciteTabViewModel.java. Moved fetchTallies method to new class ScienceAiFetcher.java. Moved SciteTallyModel to jabref.model.sciteTallies and renamed to TalliesResponse.

* Added info to CHANGELOG.md.

* CHANGELOG formatting.

* Updated CHANGELOG.md after PR comments. Moved URLs to URLs helper class. Added nicer styling to the Citations tab.

* Updated CHANGELOG.md after PR comments. Moved URLs to URLs helper class. Added nicer styling to the Citations tab.

* Added missing localization keys and removed obsolete localization keys.

* Added localization to citation tab labels

* Renamed labels in Citations tab and added a help button with a popup explaining the source and linking to the respective page.

* Updated Citation Metrics section to a single line

* Made Citation Metrics a single line. Also broke up its text into elements to have better separation.

* Removed labels in the Citations tab. The provided by buttons are now entirely in the Metrics line.

---------

Co-authored-by: Mitkens374 <michal.leso@student.tuke.sk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Merge "Citation information" and "Citation relations"

4 participants