Drag and Drop of PDFs

I’m struggling with the PDF drag and drop feature on Linux (JabRef 5.6 from flatpak). I’ve observed the following behaviour (I have enabled Search and store files relative to library file location and my file directory pattern is [bibtexkey]):

Dragging into the library to create a new entry:
Creates a new entry with an absolute link to the file, also when using +Ctrl or +Shift.

Dragging onto an existing entry:

  • No mods: copy into library root dir with renaming
  • +Ctrl: copy into library root dir without renaming
  • +Shift: move into subdirectory with renaming (given by [bibtexkey])
  • +Shift+Ctrl absolute link to file

Using +Alt without another modifier doesn’t do anything, together with another modifier doesn’t seem to change the behaviour.

Can you confirm that this is the expected behaviour? I’m especially confused that +Ctrl does not create the subdirectory but +Shift does. It doesn’t really match what’s given in Entry Editor - JabRef but seeing the banner on top of this page I guess that’s alright.

Also, it would be convenient to paste the PDF, then check/augment the entry (in a popup window?) and finally copy the PDF to the autogenerated bibtexkey location, is that possible?

hey :slight_smile:

Since you have made yourself the work to check file drop behaviour, would you mind updating the documentation? As you saw, it is outdated, and you seem to have made your homework (on Linux at least).

About pasting the pdf and opening a popup: I don’t think this is necessary. You already will have the ensuing entry in the main table, you can select it there and open the entry editor. Instead of creating another UI menu for this very specific workflow, I would suggest improving other parts of JabRef. If I understand you right, the User Interface you propose would basically do the same as the entry editor and thereby at best save one or two mouse clicks. While I agree we should create efficient workflows and minimize mouse clicks, creating a whole new entry editor for this is overkill. I work on a Windows 10 machine and when I drag and drop a file into JabRef, it even selects the entry, so all I need to do is press enter or double click to open the entry editor. There are many other issues floating around.worth working on.

You can copy the file to a folder of your choosing via right-click menu here:

Yes, one could add a few more options; e.g.:

  • Copy file to file directory
  • Copy file to file directory and rename file

I will think about updating the docs, but as the banner is on top of the full page, I doubt that this is all that needs fixing…?

Also, I don’t know whether this even is the intended behaviour (or rather I don’t think that it should work this way as I expected consistency to whether the subdirectory is being created), so this definitely needs clarification before putting in doc work!

I agree that there are workarounds, but the main problem I faced was that I couldn’t immediately find the new entry because sometimes it’s just not labelled perfectly. I think it would be great to automatically open the entry editor after pasting any data (also for c&p a bib entry as text). My thought was that the pop-up would be able to show all the data that was imported at once as compared to switching through the tabs or looking at the created entry source in the editor. Also, this would confirm that data has actually been imported without having to search the entry, but maybe there’s another way to do this? I’m quite a new user of JabRef so I still have a lot to explore!

Even if there is other stuff that is outdated, one needs to start updating it SOMEWHERE, right?

Apart from that, I would like to repeat: “I work on a Windows 10 machine and when I drag and drop a file into JabRef, it even selects the entry, so all I need to do is press enter or double click to open the entry editor.”. Hence, pressing enter should suffice. Afterwards, just check the {} biblatex source tab. All the imported data is in there. You will not have to switch to multiple tabs if you check that one.

This is the current implementation, so unless somebody feels like working on this and creating a pull-request, this will not change. Sorry I am not big into coding myself, so that’s all I can help you with.

I found the corresponding issue on github for your problem:

That’s good to know, thanks! I guess discussion should continue there.