Update metadata in bulk

edited January 6, 2022
Hi there!
I recently stumbled upon betterbib (https://github.com/nschloe/betterbib), a Python library that can enrich BibTeX files automatically. Using just the title and authors, betterbib can retrieve the rest of the metadata online and format it correctly.
I have long been missing such a feature in Zotero: automatically updating item fields while keeping their citation key and attached files would be pretty great. Do you think developing a betterbib plugin for Zotero would be possible / make sense?
  • Virtually everything is _possible_ with a plugin and it would certainly be possible to write a plugin that updates/completes metadata (a feature that's also planned in Zotero itself). It probably wouldn't use betterbib, since the hard part is not the metadata lookup (there are a couple of obvious APIs for that that Zotero already supports) but exactly how to merge that information into Zotero, which a bibtex based tool doesn't help with at all.
  • Yes, you're right, Zotero already supports things like DOI lookup. My main pain point is that you have to enter the DOI / ISBN / etc. yourself, whereas betterbib automatically retrieves it from the title and author names. I agree that going through a .bib file would be a hassle, but a betterbib-like behavior sounds really promising to clean up metadata in bulk
  • I understand what you're asking for and why it'd be useful -- I'm just saying that the hard part of writing such a tool isn't the look-up (which is what it would take from betterbib) but the merge into the database (where betterbib wouldn't help).
  • I would like to give it a go at some point, but I never wrote a Zotero plugin, so I'd have to look into the docs. For the merge, I was thinking of a "replace everything unless the lookup failed" paradigm
  • Start with https://github.com/bwiernik/zotero-shortdoi which is closest in functionality (it looks up and adds the DOI based on other information).
  • Shit it's javascript ^^ I naively thought I could get away with Python since I don't know any web programming language
  • You could write a python script that interacts with the web API using pyzotero.
    A bit more awkward, but saves you from having to interact with the Zotero interface at all.
  • Thanks, I'll look into that!
  • Note that we have a mostly completed PR for metadata updating and are actively working on it, so I wouldn’t recommend spending time on this until that launches.
  • Hey there! I just saw the announcement for Zotero 7 (congrats!), and I wanted to check if there are any updates vis-à-vis that PR (https://github.com/zotero/zotero/pull/1582)?
    As an open source dev myself I fully understand that time and resources are limited, so consider this a show of support rather than a demand :)
  • edited August 29, 2023
    strongly agree
Sign In or Register to comment.