Skip to content

Ability to disable the built-in JabRef journal abbreviation list #12468

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

Open
Enivex opened this issue Feb 5, 2025 · 20 comments · May be fixed by #12912
Open

Ability to disable the built-in JabRef journal abbreviation list #12468

Enivex opened this issue Feb 5, 2025 · 20 comments · May be fixed by #12912
Assignees
Labels
📍 Assigned Assigned by assign-issue-action (or manually assigned) component: journal abbreviations 📌 Pinned
Milestone

Comments

@Enivex
Copy link

Enivex commented Feb 5, 2025

Is your suggestion for improvement related to a problem? Please describe.
The built-in list has several issues (see e.g. JabRef/abbrv.jabref.org#150).

Not to mention that different authorities have different opinions about the "correct" abbreviation for a given journal.

Describe the solution you'd like
While fixing those should ultimately be done, it would be useful to be able to disable it and rely only on lists I've downloaded from https://github.com/JabRef/abbrv.jabref.org/tree/main/journals instead.

@Siedlerchr
Copy link
Member

This refs #12364

@SihasA
Copy link
Contributor

SihasA commented Feb 7, 2025

Hey there I am part of a student team working with @LinusDietz can I work on this issue?

@LinusDietz
Copy link
Member

Hey there I am part of a student team working with @LinusDietz can I work on this issue?

@SihasA I'm not sure about this one. Overall, the idea/rationale proposed in the issue seems to be a bit unclear to me.

@koppor
Copy link
Member

koppor commented Feb 7, 2025

@SihasA since you seem to have some more time (than just 5 hours), please work on #12364

@zikunz
Copy link

zikunz commented Mar 26, 2025

Hi @Siedlerchr @LinusDietz @koppor,

I would like to self-assign this issue (i.e., #12468: Ability to disable the built-in JabRef journal abbreviation list). After reviewing the issue and trying out JabRef's abbreviation feature over the past week, I believe I mostly understand the requirements and would like to implement a solution.

I have thoroughly read the CONTRIBUTING.md guidelines and understand the project's contribution standards.

I aim to submit a PR within the next 7 days. I will provide regular updates on my progress in this thread.

Thank you for maintaining this project. I am excited about the opportunity to contribute to JabRef's abbreviation functionalities.

/assign-me

@github-actions github-actions bot added the 📍 Assigned Assigned by assign-issue-action (or manually assigned) label Mar 26, 2025
Copy link
Contributor

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

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

⏳ Please note, you will be automatically unassigned if there is not a (draft) pull request within 14 days (by 09 April 2025).

@koppor koppor moved this from Free to take to Assigned in Candidates for University Projects Mar 26, 2025
@koppor
Copy link
Member

koppor commented Mar 26, 2025

@zikunz I have no clue how to solve this. I think, this is impossible with my current knowledge. Maybe, you could work on #12364?

However, I see #12606 and #12544 going on, which are all related. Maybe, you can bring light into this current state and submit a clean PR based on the feedbacks of the other PRs?

@zikunz
Copy link

zikunz commented Mar 26, 2025

@koppor Thank you so much for your prompt reply!

There is a high chance that I misinterpreted this problem. I understood it as users cannot disable the built-in JabRef journal abbreviation list. It would be cool if they have the freedom to enable and disable each list.

Hence, I started working on this issue and have done the following tasks for the frontend development:

  1. Added an "enabled" property as well as methods to get and set this enabled state in AbbreviationsFileViewModel.java. This property tracks each list's active state
  2. Updated JournalAbbreviationsTabViewModel.java to handle enabled/disabled states for all lists, including built-in
  3. In JournalAbbreviationsTab.java, I implemented visual indicators in the UI (✓/○) with a Toggle button to enable/disable any selected list and a method to handle the state change and UI updates

Screenshot:

Image

However, I still need to implement the backend logic to ensure only enabled lists are applied during abbreviation.

Additional Questions:

  1. If you prefer I switch focus, I am happy to look at the PRs you mentioned (Refactor JournalAbbreviationRepository class to use on-disk maps #12606 and Store journal abbreviation lists in specified directory #12544) and build on that work instead
  2. Regarding Support multiple journal abbreviations lists #12364 which is a GSoC project that I intend to apply to do, may I ask should I focus on good first issues (relating to abbreviation or just JabRef in general) first to start contributing, or would you recommend I start addressing specific parts of that larger GSoC project? I already wrote a draft proposal for Support multiple journal abbreviations lists #12364 and I am ready to contribute to the GSoC project as well (assuming my proposal is on the right track).

I am flexible and eager to contribute where it is most valuable for the organization. :)

@koppor
Copy link
Member

koppor commented Mar 31, 2025

There is a high chance that I misinterpreted this problem. I understood it as users cannot disable the built-in JabRef journal abbreviation list. It would be cool if they have the freedom to enable and disable each list.

This is #12364.

Which is fine to work on.

Trying out the current UI, I know understand this issue more.

In "plain" terms, it would be that the "-" button works:

Image

Hower, this cannot work, because one could not re-add it.

Hence, I started working on this issue and have done the following tasks for the frontend development:

All tasks fine, but they adress #12364

For this issue, there should only be a toggle button enabling/disabling the build in list.

I think, its good to continue here - with that knowledge, the other PRs can be used as basis for next steps.

2. Regarding [Support multiple journal abbreviations lists #12364](https://github.com/JabRef/jabref/issues/12364) which is a GSoC project that I intend to apply to do, 

Nice - including some other of the issues https://github.com/JabRef/jabref/issues?q=sort%3Aupdated-desc+state%3Aopen+label%3A%22component%3A+journal+abbreviations%22 would also make a good project...

Still one week to go. :)

@subhramit
Copy link
Member

subhramit commented Apr 2, 2025

2. Regarding Support multiple journal abbreviations lists #12364 which is a GSoC project that I intend to apply to do, may I ask should I focus on good first issues (relating to abbreviation or just JabRef in general) first to start contributing, or would you recommend I start addressing specific parts of that larger GSoC project? I already wrote a draft proposal for Support multiple journal abbreviations lists #12364 and I am ready to contribute to the GSoC project as well (assuming my proposal is on the right track).

I am flexible and eager to contribute where it is most valuable for the organization. :)

@zikunz Hi, we have received your project proposal, could you connect with the potential mentors of the Journal Abbreviations project over Gitter so that there can be some review discussions? There is also a possibility of having the need to re-write the component using Lucene/Postgres - so although we have not updated it in the official problem statement, it could mean you might have to include that in your proposal and upgrade the "size" to "medium".

cc: @koppor, @calixtus

@zikunz
Copy link

zikunz commented Apr 2, 2025

@koppor Thank you so much for the clarifications and guidance! I am excited to continue working on this issue by implementing a toggle button for enabling/disabling the built-in journal abbreviation list. I will ensure no other unnecessary changes are made to maintain code quality.

May I please clarify two points to ensure I am on the right track:

including some other of the issues https://github.com/JabRef/jabref/issues?q=sort%3Aupdated-desc+state%3Aopen+label%3A%22component%3A+journal+abbreviations%22 would also make a good project...

Does this mean I should include relevant issues from the journal abbreviations component (from https://github.com/JabRef/jabref/issues?q=sort%3Aupdated-desc+state%3Aopen+label%3A%22component%3A+journal+abbreviations%22) in my GSoC project proposal for "Improved Journal Abbreviations", rather than just limiting my focus solely to offering multiple lists (#12364)?

Trying out the current UI, I know understand this issue more.
In "plain" terms, it would be that the "-" button works:
Hower, this cannot work, because one could not re-add it.

Just to confirm my understanding - were you indicating that pressing "-" currently doesn't disable the built-in journal abbreviation list (in fact, it cannot delete the built-in journal abbreviation list), which is why we should implement a dedicated toggle feature?

I truly appreciate your mentorship and am looking forward to contributing meaningfully to this project!

@Enivex
Copy link
Author

Enivex commented Apr 2, 2025

I'm confused, what is this about an email?

@zikunz
Copy link

zikunz commented Apr 2, 2025

@subhramit Thank you so much! I will be sure to dm both @koppor and @calixtus on Gitter right away! :)

@zikunz
Copy link

zikunz commented Apr 2, 2025

@koppor Thank you so much, let me dm you on Gitter now regarding my proposal :)

zikunz added a commit to zikunz/jabref that referenced this issue Apr 8, 2025
This commit adds the ability to enable/disable specific journal abbreviation lists in JabRef, including both the built-in list and external CSV files. Users can now toggle journal abbreviation lists on/off without removing them from the configuration.

Key features: Toggle built-in journal abbreviation list, toggle individual external abbreviation lists, visual indicators for enabled/disabled states, persistence of toggle states between sessions, performance optimizations for abbreviation operations.

Closes JabRef#12468
zikunz added a commit to zikunz/jabref that referenced this issue Apr 8, 2025
This feature allows users to enable/disable specific journal abbreviation lists, including both the built-in list and external CSV files, without removing them from configuration.

- Added toggle controls in UI with visual indicators for enabled/disabled states

- Implemented filtering of abbreviations based on source enabled state

- Ensured toggle states persist between application sessions

- Optimized performance with efficient repository loading

- Added comprehensive test coverage for new functionality

Closes JabRef#12468
@zikunz zikunz linked a pull request Apr 8, 2025 that will close this issue
7 tasks
zikunz added a commit to zikunz/jabref that referenced this issue Apr 8, 2025
This feature allows users to enable/disable specific journal abbreviation lists, including both the built-in list and external CSV files, without removing them from configuration.

- Added toggle controls in UI with visual indicators for enabled/disabled states

- Implemented filtering of abbreviations based on source enabled state

- Ensured toggle states persist between application sessions

- Optimized performance with efficient repository loading

- Added comprehensive test coverage for new functionality

Closes JabRef#12468
@zikunz
Copy link

zikunz commented Apr 8, 2025

@koppor @subhramit Hey everyone! Just a quick update:

I have put up a draft PR (#12912) with my changes (mostly done!) for enabling/disabling the journal abbreviation lists. There is still one bug I need to fix, and I am planning to refactor the code to ensure high quality before asking for your review.

I also intend to create an issue and PR in the documentation (user guide) repo later. I expect to wrap this up in the next 7 days. Thank you so much all for your patience!

A few screenshots to show the progress (not exhaustive for all cases that need to be thoroughly tested but just for you to take a quick look):

We can disable the built-in list:

Image

If the built-in list is disabled, journal names found in the built-in list will not be abbreviated (they will also not be unabbreviated, the screenshot for that will be included in the PR (#12912) later on):

Image

@subhramit
Copy link
Member

@koppor @subhramit Hey everyone! Just a quick update:

I have put up a draft PR (#12912) with my changes (mostly done!) for enabling/disabling the journal abbreviation lists. There is still one bug I need to fix, and I am planning to refactor the code to ensure high quality before asking for your review.

I also intend to create an issue and PR in the documentation (user guide) repo later. I expect to wrap this up in the next 7 days. Thank you so much all for your patience!

A few screenshots to show the progress (not exhaustive for all cases that need to be thoroughly tested but just for you to take a quick look):

We can disable the built-in list: Screen Shot 2025-04-06 at 5 29 37 AM

If the built-in list is disabled, journal names found in the built-in list will not be abbreviated (they will also not be unabbreviated, the screenshot for that will be included in the PR later on): Screen Shot 2025-04-06 at 5 30 35 AM

Hi, these images are giving a 404. Could you check?

@zikunz
Copy link

zikunz commented Apr 8, 2025

@subhramit Thank you so much for telling me that! Perhaps it works for me only.

Image Image

I just tried to fix it, may I ask whether you can see both images now?

@subhramit
Copy link
Member

subhramit commented Apr 8, 2025

@zikunz it's a bit hard to follow as on zooming the details lose quality. Could you take cropped screenshots of the images themselves instead of the comments? And then, add your text again int he comment.

@zikunz
Copy link

zikunz commented Apr 8, 2025

@subhramit Thank you so much for the suggestions! I actually updated my previous comment, can you see the screenshots there? They are also attached here:

We can disable the built-in list:
Image

If the built-in list is disabled, journal names found in the built-in list will not be abbreviated (they will also not be unabbreviated, the screenshot for that will be included in the PR later on):
Image

@subhramit subhramit added this to the 6.0-beta milestone Apr 21, 2025
@zikunz
Copy link

zikunz commented Apr 23, 2025

@koppor @subhramit @calixtus Thank you for waiting, my PR #12912 is now ready for review! Just a quick update, I am currently addressing the comments fom @subhramit's code review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📍 Assigned Assigned by assign-issue-action (or manually assigned) component: journal abbreviations 📌 Pinned
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants