Sharing reference library with small dispersed team on multiple platforms

Hi, I’m hoping someone here may have suggestions for things that we may try or may not be doing correctly in our setup. We are a small team of about 6 people trying to use a common .bib file. In experimenting with JabRef real time while in a meeting together, we noticed that we weren’t always getting immediate notifications of changes or additions that another team member had made (and saved) to the .bib file. Also, sometimes even after accepting the changes, they weren’t showing up in the client (in the entries that the other team member had edited). This was true, for example, for the Comments field. it also was not always the case - sometimes the changes did show up for some people and not for others. Sometimes, even after accepting the changes, they would not display locally until the person quit/restarted JabRef.

Are there best practices recommended for using JabRef collaboratively in a small group like this? Is the Postgres-backed setup recommended, more stable, and more responsive than the file-only sharing setup?
We also were trying to find a button or menu item to force synchronization with the current saved library version, or to check for changes in instances where we knew that another team member had modified and saved an entry, but we weren’t getting a notification of changes to trigger the re-sync.

Any tips or recommendations on properly setting up JabRef would be appreciated - we’re concerned about losing work if the synching isn’t working reliably due to our setup.

Thanks

  1. What version of JabRef are you using? What method or tool do you use to sync your .bib file?
  2. Could you please try the latest development version of JabRef and report back, if you can still reproduce these bugs? The release of a new version will be very soon and it will be a pretty good one this time. There have been several fixes related to saving and sharing the library. You can download it from here: index - powered by h5ai v0.29.0 (https://larsjung.de/h5ai/)

Edit:

I have no experience with PostgreSQL, but I know that some users use it and some others are using git to sync their filesharing

Additional info:

Thank you for your response. Here is some of the info you asked for:

  1. a. We’re using the latest version of JabRef, and on my machine JabRef’s “About” returns the following info:JabRef 5.7–2022-08-05–73c111c
    Mac OS X 12.6 x86_64
    Java 18.0.1
    JavaFX 18.0.1+

b. As far as tools for syncing, we’re just pointing our JabRef clients to a .bib file on a shared network drive, and not using any additional tools to sync. According to the docs that we’ve read, we believe that this is intended to work, but so far we haven’t been able to get it to work reliably. We were also unable to find any button or menu item to trigger a sync with changes that other users have made (i.e. re-read from the shared file) without the client recognizing that the file has changed, which doesn’t seem to be happening reliably.

Thanks also for the other pointers; we’ll check those out.

Hmm. I do not think there is such a button. As of now, JabRef does it automatically. If you want to manually trigger rereading, you having to close and open the library.

Thanks again for the reply. Yes, we thought that it should be doing it automatically, but when we noticed that that wasn’t happening when a colleague changed an entry, I was trying to see if I could force my local JabRef client to check for changes / do the sync manually. Not finding a button or menu item to do this, we also tried closing and re-opening JabRef, which sometimes worked to force JabRef to notice the edits (and sometimes did not).

The first step would definitely to check out the newest development version. Without looking at the code or having detailed data that allows to reproduce a specific behaviour, the steps we can take are limited (I am a user myself).

The only other thing I can think of apart from obviously JabRef being the problem: I sync files with Syncthing. For this I use a local network connected via wifi across multiple walls. Because of the walls, distance and old hardware, my wifi is not the fastest. It actually takes time to sync files and depending on your shared network drives listener settings, it will not always immediately sync within miliseconds, but sometimes It can take a little. So, “time” is definitely a variable that has to be taken into account. You can check this, by looking at the shared file directly (without JabRef) and see when it changes to the new version via “last edited”

Thanks for all of your responses - you must be a very devoted user! I think the issue may be network latency and the way that the network file share is recording changes and how/when each of our individual machines is picking up those changes, which allows JabRef to see that the file has been changed. That does make sense. One remaining mystery for me is why, even after recognizing and loading changes, I see changes in some of the entries (in this case groups) but not another change that a colleague made in “Comments” for another entry, and which other colleagues are seeing in their clients. Some strange caching behavior going on perhaps - with so many settings available in JabRef, I haven’t exhaustively explored all of them to know whether there are some that should be set in a specific way to enable reliable sharing in a networked environment like ours. We may get together and try out the latest dev version as you suggested, and see if that changes things for the better. Thanks again!

There are some general advices about configuring JabRef for sharing a .bib file: https://docs.jabref.org/collaborative-work/sharedbibfile. Maybe you have already considered them?