-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Added updating bibliographic info from web #15011
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
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||
| BATCH_MERGE_WITH_FETCHED_ENTRY(Localization.lang("Get bibliographic data from %0 (fully automated)", "DOI/ISBN/...")), | ||
| MERGE_WITH_FETCHED_ENTRY(Localization.lang("Update with bibliographic information via identifier(s)")), | ||
| BATCH_MERGE_WITH_FETCHED_ENTRY(Localization.lang("Update with bibliographic information via identifier(s) (fully automated)")), | ||
| UPDATE_WITH_WEB_INFO(Localization.lang("Update with bibliographic information from the web via entry data")), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"from the web" can be removed. Not contained in the strings above.
|
|
||
| factory.createMenuItem( | ||
| StandardActions.UPDATE_WITH_WEB_INFO, | ||
| new UpdateWithBibliographicInformationFromTheWeb(dialogService, preferences, stateManager, taskExecutor)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Class should get better name.
JabRef users "Fetch" as base term.
UpdateWithBibliographicInformationByWebFetchers
Is a good one, isn't it?
|
|
||
| @Override | ||
| public void execute() { | ||
| if (stateManager.getActiveDatabase().isEmpty()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is more a assert, because line 34 ensures that this is not executed?
| } | ||
|
|
||
| BibEntry originalEntry = stateManager.getSelectedEntries().getFirst(); | ||
| SortedSet<EntryBasedFetcher> webFetchers = WebFetchers.getEntryBasedFetchers( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can be a Set
Sort the statements differently
- mergedEntriesView
- addSource
- webFetchers
- for loop
CHANGELOG.md
Outdated
| - REST-API: Added more commands (`selectentries`, `open`, `focus`). [#14855](https://github.com/JabRef/jabref/pull/14855) | ||
| - REST-API: Added the possibility to trigger the import dialog. [#14855](https://github.com/JabRef/jabref/pull/14855) | ||
| - REST-API: Allow import of supported formats via `POST http://localhost:23119/libraries/current/entries`. [#14896](https://github.com/JabRef/jabref/pull/14896) | ||
| - We added the ability to update bibliographic information from web. [#14185](https://github.com/JabRef/jabref/issues/14185) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - We added the ability to update bibliographic information from web. [#14185](https://github.com/JabRef/jabref/issues/14185) | |
| - We added the ability to update bibliographic information based on the existing entry data. [#14185](https://github.com/JabRef/jabref/issues/14185) |
|
@ZiadAbdElFatah - you can also run |
Ok, I forgot to edit it too. |
|
@ZiadAbdElFatah Can you submit a PR updating https://github.com/JabRef/jabref/blob/main/docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-12-build.md Rework section "Final build system checks" to locate and run LocalizationConsistencyTest -- when I wrote that part, I totally forgot that LocalizationConsistencyTest is the test every developer should run. Update Test method |
Head branch was pushed to by a user without write access
Sure. |
Just to make things clear for me. You want me to replace the
And sorry, what is needed to be updated here ? |
Thank you for asking - I meant replacing.
Not sure if you read and understood that section? 😅 Maybe you are not using IntelliJ and just AI tooling? Then, please make the tooling transparent. See https://github.com/JabRef/jabref/blob/main/AI_USAGE_POLICY.md#example-disclosure If this is the case, the developer documentation update might not be the right task. Otherwise, I try to guide you: What do you think is the play button at |
Wait, do you mean replace Of course I know that the play button at |
|
I created #15012 - you can assign yourself or keep this free for someone else. |
Ok, I will take it, and sorry for the confliction. |
|
Follow-up: #15014 |
User description
Closes #14185
I added
Update with bibliographic info from webto let the users update their bibliographies using information from various sources on web. I also editedGet bibliographic data from ...messages as requested in the issue.Steps to test
First select an entry, it is a must, as the feature only works when selecting one entry, then from the menu select


LookUp.From
LookUpselectUpdate with bibliographic information from the web via entry data.Finally, select the entry data you want to merge from.
Mandatory checks
CHANGELOG.mdin a way that is understandable for the average user (if change is visible to the user)PR Type
Enhancement
Description
Added new feature to update bibliographic information from web sources
Implemented
UpdateWithBibliographicInformationFromTheWebaction classImproved menu labels for merge operations with clearer terminology
Updated localization strings for new and existing menu items
Diagram Walkthrough
File Walkthrough
StandardActions.java
Add new action and update menu labelsjabgui/src/main/java/org/jabref/gui/actions/StandardActions.java
UPDATE_WITH_WEB_INFOaction enum constantMERGE_WITH_FETCHED_ENTRYlabel to use clearer terminologyBATCH_MERGE_WITH_FETCHED_ENTRYlabel for consistencyMainMenu.java
Integrate new web update action into menujabgui/src/main/java/org/jabref/gui/frame/MainMenu.java
UpdateWithBibliographicInformationFromTheWebclassinformation
UpdateWithBibliographicInformationFromTheWeb.java
Implement web bibliographic information update actionjabgui/src/main/java/org/jabref/gui/mergeentries/UpdateWithBibliographicInformationFromTheWeb.java
WebFetchersfor available sourcesMultiMergeEntriesViewdialog to display original and fetchedentries
CHANGELOG.md
Document new web update featureCHANGELOG.md
information from web
JabRef_en.properties
Add and update localization stringsjablib/src/main/resources/l10n/JabRef_en.properties
Original Entrylabel for merge dialogUpdate with bibliographic information from the web via entrydatalabelUpdate with bibliographic information via identifier(s)labels