-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Add Pseudonymize option to GUI #14592
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
base: main
Are you sure you want to change the base?
Conversation
|
Hey @rahul-p19! 👋 Thank you for contributing to JabRef! We have automated checks in place, based on which you will soon get feedback if any of them are failing. After all automated checks pass, a maintainer will also review your contribution. Once that happens, you can go through their comments in the "Files changed" tab and act on them, or reply to the conversation if you have further inputs. Please re-check our AI Usage Policy to ensure that your pull request is in line with it. It also contains links to our contribution guide in case of any other doubts related to our contribution workflow. |
|
Hey, your changes look promising. Please run openrewrite as instructed by @jabref-machine |
| NEW_LIBRARY_FROM_PDF_OFFLINE(Localization.lang("New library based on references in PDF file... (offline)"), Localization.lang("This feature generates a new library based on the list of references in a PDF file. Thereby, it uses JabRef's built-in functionality."), IconTheme.JabRefIcons.NEW), | ||
| PSEUDONYMIZE_LIBRARY(Localization.lang("Pseudonymize library") + "...", Localization.lang("Pseudonymize the current library and generate a .bib and .csv file"), IconTheme.JabRefIcons.NEW), |
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.
Please use the ellipsis in the localization too. In other languages there might be different ways to indicate this. See NEW_LIBRARY_FROM_PDF_OFFLINE.
Yes, i know, there are still other commands who do it like you did, but these need to be addressed in another PR.
Closes #14118
To add the button in the GUI, I updated MainMenu and StandardActions to include Pseudonymize Library option. I created a new PseudonymizeAction class extending SimpleCommand - on clicking the button, execute() runs and uses the existing Pseudonymize class to pseudonymize the current library, then exports the result to .pseudo.bib and .pseudo.csv (keys) files.
Steps to test
Load a .bib file or library into JabRef, then go to the "Tools" menu in the Main Menu Bar at the top. Click on Pseudonymize Library. Choose a directory using the dialog and then the files are downloaded. In case there already exists a file with the same name at the same directory, the user is asked if they'd like to override the file or cancel the operation.
Screenshot
Screen Recording
Screen.Recording.2025-12-13.at.12.32.03.AM.mov
Mandatory checks
CHANGELOG.mdin a way that is understandable for the average user (if change is visible to the user)