Can I regenerate my keys for an entire database at a time?

I’m standardising my BibTex key format as I clean up my reference database (imported from Zotero) database, adding missing details.

The key generation function (toolbar icon) seems to only work for a single record at a time (despite the warning message when multiple entries are selected). I have 3000+ entries and need to update multiple records.

Am I missing something? Thanks in advance

I think this one will do what you want:

Unfortunately (for me) I’ve tried this already. The toolbar icon does nothing. Only the “Generate key” icon next to the “Citationkey” field under the Required tab.

I’m using JabRef 5.5–2022-01-17–27a05c7 under Ubuntu 20.04 if that makes a difference

hmm could be a bug then. I am on windows here and it works for me. Would you be able to try an older version of Jabref (e.g 5.3 or 5.4; you can download them here) and report back if these versions work? Finding the regression window would be nice :slight_smile:

Try selecting all entries with CTRL + A and then hit the button.

I had tried the Ctrl-A and then the button on the toolber. Under Ubuntu there were no changes.

It worked under Windows but took some time. Possibly I was impatient under Ubuntu and cancelled the process by checking records before the regeneration was complete?

I can confirm that Ctrl + A then click the button works for Jabref 5.5 portable version on Linux Mint 20.03 (Ubuntu 20.04 package base with 5.4 kernel). It changes keys for multiple entries.

I’ve tried again on JabRef 5.5 installed under Ubuntu 20.04. Booted up, and went straight to JabRef to minimise swap usage.

I tried Ctrl-A and then the button on the toolbar on a database with 4202 entries. I left it running until the CPU load went back down.

Spot checks showed that the last few hundred had not been changed. I selected these in batches and used the button to process them as well. So now I am sorted.

A different database with 3000-odd entries was processed fine under Windows 8.1 on the same PC. Also under JabRef 5.5.

At least I have a solution now!

1 Like

As far as I remember the Citation Key Generation is ran on the GUI thread and not on a background thread, so this might explain why it leads to a freezing GUI when doing this for a large library

That makes sense. It isn’t a deal-breaker, and is a lot better than editing records during the key generation and corrupting the library!