jabref icon indicating copy to clipboard operation
jabref copied to clipboard

Store journal abbreviation lists in specified directory

Open adhamahmad opened this issue 10 months ago • 13 comments

Closes https://github.com/JabRef/jabref/issues/10557

UI changes:

image

Mandatory checks

  • [x] I own the copyright of the code submitted and I licence it under the MIT license
  • [ ] Change in CHANGELOG.md described in a way that is understandable for the average user (if change is visible to the user)
  • [x] Tests created for changes (if applicable)
  • [x] Manually tested changed features in running JabRef (always required)
  • [x] Screenshots added in PR description (for UI changes)
  • [x] Checked developer's documentation: Is the information available and up to date? If not, I outlined it in this pull request.
  • [x] Checked documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request to the documentation repository.

adhamahmad avatar Feb 23 '25 02:02 adhamahmad

Thank you for working on this.

TODO (Not implemented in this PR):

What does this mean?

Will there be follow-up PRs? Do you intent to work on this in the context of commits to this PR?

koppor avatar Feb 26 '25 11:02 koppor

@koppor

I intend to include them as additional commits within this PR.

adhamahmad avatar Feb 26 '25 14:02 adhamahmad

I intend to include them as additional commits within this PR.

Nice! 👍

koppor avatar Feb 26 '25 15:02 koppor

* Implementation of .csv to .mv store conversion

Code hint: This is already implemented at org.jabref.cli.JournalListMvGenerator. One just needs to move that class to org.jabref.logic.journals and adapt it.

koppor avatar Feb 27 '25 11:02 koppor

* Implement automatic detection of journal lists in the specified directory:

This could be easy.

  1. Have a HashMap (stored inMVStore) from filename to timestamp
  2. Files.walktree -> for each file: look up. if not found: import and put timestamp of file. If found: compare timestamp. If not equal: clear current hashmap for that. import and update time stamp

koppor avatar Feb 27 '25 11:02 koppor

@adhamahmad I think, the TODO list in the PR description should be updated if I read your last commit comment right?

koppor avatar Mar 16 '25 22:03 koppor

@adhamahmad I think, the TODO list in the PR description should be updated if I read your last commit comment right?

You're right—the .csv to .mv conversion is now implemented. I updated the TODO list, the only missing part is the unit test.

adhamahmad avatar Mar 17 '25 00:03 adhamahmad

This PR might have conflicts with https://github.com/JabRef/jabref/pull/12606 - They should be combined at some point.

Depening on which PR gets in first, the other one needs to be adapted.

koppor avatar Mar 17 '25 08:03 koppor

I think there was something wrong while merging upstream/main. I see old versions of files coming in.

koppor avatar Mar 22 '25 10:03 koppor

I think there was something wrong while merging upstream/main. I see old versions of files coming in.

You're right @koppor , there was an issue while merging upstream/main, which caused old versions of some files to come in.

I realized this happened because I staged unintended changes, likely due to using git add . from the CLI.

To fix it, I reset my branch to upstream/main, reapplied only my intended changes, and pushed the correct updates.

adhamahmad avatar Mar 22 '25 20:03 adhamahmad

This is really cool! I guess if Multi-List Management for JabRef is chosen as a GSoC project this summer, the selected contributor might want to take a look at this PR to continue building on these new changes (i.e., ‘Change Directory’ feature).

zikunz avatar Apr 08 '25 15:04 zikunz

This is really cool! I guess if Multi-List Management for JabRef is chosen as a GSoC project this summer, the selected contributor might want to take a look at this PR to continue building on these new changes (i.e., ‘Change Directory’ feature).

This feature is indeed part of the broader Multi-List Management concept I’ve been exploring. I’m looking forward to potentially building upon this as part of the GSoC project if I’m selected!

adhamahmad avatar Apr 08 '25 19:04 adhamahmad

@trag-bot didn't find any issues in the code! ✅✨

trag-bot[bot] avatar Apr 09 '25 20:04 trag-bot[bot]