JabRef / jabref

Graphical Java application for managing BibTeX and biblatex (.bib) databases
https://devdocs.jabref.org
MIT License
3.58k stars 2.49k forks source link

Dynamic group mirroring the file system. #10930

Open koppor opened 7 months ago

koppor commented 7 months ago

As user, I organize my PDFs in folders. Example:

Related_Work_Collection
├── Quantum_Computing
│   ├── Algorithms
│   │   ├── Quantum_Factorization_Overview.pdf
│   │   └── Grover_Search_Implementation.pdf
│   ├── Error_Correction
│   │   ├── Topological_Qubits_and_Error_Correction.pdf
│   │   └── Quantum_Codec_Principles.pdf
│   └── Hardware
│       └── Superconducting_Qubits_Advancements.pdf
├── Machine_Learning
│   ├── Neural_Networks
│   │   ├── Deep_Learning_Architectures.pdf
│   │   └── CNN_for_Image_Recognition.pdf
│   ├── Reinforcement_Learning
│   │   └── RL_in_Video_Games.pdf
│   └── Natural_Language_Processing
│       ├── BERT_and_Transformers.pdf
│       └── Sentiment_Analysis_Techniques.pdf
└── Environmental_Science
    ├── Climate_Change
    │   └── Impact_of_Climate_Change_on_Biodiversity.pdf
    ├── Renewable_Energy
    │   ├── Solar_Energy_Trends.pdf
    │   └── Wind_Power_Innovations.pdf
    └── Conservation
        ├── Wildlife_Conservation_Strategies.pdf
        └── Marine_Protection_Efforts.pdf

When one wants to have this hierarchy in JabRef, one needs to manually create groups and sub groups.

A new type of group "Directory structure" should be created:

image

JabRef then mirrors the directory structure in the group tree. Sub groups are automatically created.

Currently: Only inbound mirroring. Use WatchService to watch for changes.

All BibEntries having a file in the selected directory belong to that group.

File added to a folder -> automatically added to the respective group and a new BibEntry created (with PDF import)

Implementation hint:


Future work:

  1. Group moved -> On file system also renames and BibTeX entry "files" field adapted accordingly
  2. Group renamed -> On file system also renamed and BibTeX entry "files" field adapted accordingly
  3. file moved -> entry assigned to another group BibTeX entry "files" field adapted accordingly

Related issues:

Siedlerchr commented 7 months ago

The other way round is working:

With file directory pattern, JabRef can automatically create subfolders and move the files into the directory based on the defined pattern. As an example, you have a single folder, e.g. papers for all your PDFs linked to their corresponding entry in JabRef. Now you want to arrange them according to defined groups. Let's say you have two groups, Automation and Biology, with a couple of entries. Now set the file directory pattern to: [groups:(unknown)]

https://docs.jabref.org/finding-sorting-and-cleaning-entries/filelinks#filename-format-and-file-directory-pattern

eggestig commented 7 months ago

Hi! We are a group of 5 uni students who'd like to try and tackle this issue. We would love to be assigned to this issue and if there's anything extra to help us get started that would be much appreciated as well!

upfrog commented 3 months ago

Howdy! I'd love to give this issue a go. Could I please be assigned to it?

github-actions[bot] commented 3 months ago

Welcome to the vibrant world of open-source development with JabRef!

Newcomers, 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.

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

upfrog commented 1 month ago

Howdy - I just wanted to document that I haven't abandoned this. I foolishly grabbed this issue before a bunch of travelling, but that's all over now.