jabref icon indicating copy to clipboard operation
jabref copied to clipboard

Offer selection of CitationProvider in "Citations" tab

Open koppor opened this issue 1 month ago • 3 comments

JabRef offers to display cited and citing papers.

Image

Thereby, it used the interface CitationFetcher:

https://github.com/JabRef/jabref/blob/939b018668ef36e634561ea53974b8746be7b3e2/jablib/src/main/java/org/jabref/logic/importer/fetcher/citation/CitationFetcher.java#L15

There are currently two implementations.

Only one is used in the GUI:

https://github.com/JabRef/jabref/blob/939b018668ef36e634561ea53974b8746be7b3e2/jablib/src/main/java/org/jabref/logic/citation/SearchCitationsRelationsService.java#L33

The CLI offers selecting one:

https://github.com/JabRef/jabref/blob/939b018668ef36e634561ea53974b8746be7b3e2/jabkit/src/main/java/org/jabref/toolkit/commands/GetCitedWorks.java#L47-L67

Task

  • Create CitationFetcherFactory in package org.jabref.logic.importer.fetcher.citation. Use enum and INSTANCE
  • Implement method getCitationFetcher accepting a String as first paramter
    • The method checks org.jabref.logic.importer.fetcher.citation.crossref.CrossRefCitationFetcher#getName / org.jabref.logic.importer.fetcher.citation.semanticscholar.SemanticScholarCitationFetcher#getName and returns a new instance of the fetcher. The parameters are a union of the parameters of the respective constructors
  • Add a dropdown to the citation panel (the left panel)
    • Dropdown has "CrossRef" and "SemanticScholar" as values
    • DropDown state is stored in org.jabref.gui.entryeditor.EntryEditorPreferences (see how other classes to that; also handle the default ("SemanticScholar")
    • Location is somewhere at org.jabref.gui.entryeditor.citationrelationtab.CitationRelationsTab#getPaneAndStartSearch.
  • Have org.jabref.toolkit.commands.GetCitedWorks#call using this factory.
  • Minor: Change Crossref to CrossRef at org.jabref.logic.importer.fetcher.citation.crossref.CrossRefCitationFetcher#getName

koppor avatar Nov 25 '25 17:11 koppor

/assign-me

KevinITAn avatar Nov 25 '25 22:11 KevinITAn

👋 Hey @KevinITAn, thank you for your interest in this issue! 🎉

We're excited to have you on board. Start by exploring our Contributing guidelines, and set up your local development workspace by following the steps in our workspace setup guidelines to get started smoothly.

For questions on JabRef functionality, you can consult the JabRef Guru. For questions related to the codebase, please start using DeepWiki.

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

Still facing issues or having more questions? Feel free to ask here on GitHub or on JabRef's Gitter chat. Please don't hesitate to open a (draft) pull request early on to show the direction you are heading towards if unsure.

Happy coding! 🚀

github-actions[bot] avatar Nov 25 '25 22:11 github-actions[bot]

⏰ Assignment Reminder

Hi @KevinITAn, this is a friendly reminder about your assignment to this issue.

[!WARNING] This issue will be automatically unassigned in 11 days if there's no activity.

Remember that you can ask the JabRef Guru or DeepWiki about anything regarding JabRef. Additionally, our contributing guide has hints on creating a pull request and a link to our Gitter chat.

How to keep your assignment


If you are working on it, you can prevent automatic unassignment by:

  • Submitting a draft pull request with your progress within 11 days
  • Asking for the 📌 Pinned label if you need more time

We appreciate your contribution and are here to help if needed!

github-actions[bot] avatar Dec 05 '25 12:12 github-actions[bot]

📋 Assignment Update

Hi @KevinITAn, due to inactivity, you have been unassigned from this issue.

Next steps


If you still want to work on this:

  • Submit a pull request showing your current state. You will be automatically assigned again.
  • Ask a maintainer to assign you again.

github-actions[bot] avatar Dec 13 '25 12:12 github-actions[bot]

/assign-me

k-singh171 avatar Dec 13 '25 15:12 k-singh171

Thank you for your continued work in JabRef. At this point, you probably already know the basics and the important links. If not, our contributing guidelines is the place you should go to.

Happy coding! 🚀

jabref-machine avatar Dec 13 '25 15:12 jabref-machine

Completed with most of the work, but facing some issue in build/test. Will update with a PR, soon as the build is green. Actually index.html is not showing up the issues, so figuring-out something. Some suggestions might help.

k-singh171 avatar Dec 14 '25 15:12 k-singh171

/assign-me

prerak09 avatar Dec 16 '25 04:12 prerak09

Thank you for your continued work in JabRef. At this point, you probably already know the basics and the important links. If not, our contributing guidelines is the place you should go to.

Happy coding! 🚀

jabref-machine avatar Dec 16 '25 04:12 jabref-machine

Completed with most of the work, but facing some issue in build/test. Will update with a PR, soon as the build is green. Actually index.html is not showing up the issues, so figuring-out something. Some suggestions might help.

index.html?

Is AI using you or do you use AI?

I am so sad to read this. We are trying to level up people in our spare time and they just seem to prompt AI.

koppor avatar Dec 16 '25 06:12 koppor

/unassign-me

prerak09 avatar Dec 16 '25 06:12 prerak09

📋 Assignment Update

Hi @prerak09, due to inactivity, you have been unassigned from this issue.

Next steps


If you still want to work on this:

  • Submit a pull request showing your current state. You will be automatically assigned again.
  • Ask a maintainer to assign you again.

jabref-machine avatar Dec 16 '25 06:12 jabref-machine

/assign-me

Siva-Sai22 avatar Dec 16 '25 12:12 Siva-Sai22

Thank you for your continued work in JabRef. At this point, you probably already know the basics and the important links. If not, our contributing guidelines is the place you should go to.

Happy coding! 🚀

jabref-machine avatar Dec 16 '25 12:12 jabref-machine

assign me this issue, I am looking forward to raise the Pull Request for this issue

Kartikkdg05 avatar Dec 24 '25 11:12 Kartikkdg05

⚠️ Issue Already Assigned

Hi @Kartikkdg05, this issue is currently assigned to @Siva-Sai22.

[!NOTE] This issue is pinned and will not be automatically unassigned.

Options for contributors
  • Collaborate: You can ask the assignee if they want help
  • Maintainer assistance: A maintainer can add you as co-assignee if appropriate
  • Wait for completion: The issue will remain assigned until the work is complete

jabref-machine avatar Dec 24 '25 11:12 jabref-machine