Automating Book Data! Librarian & Data Update Q2 2024

Adam FortunaAvatar for Adam Fortuna

By Adam Fortuna

3 min read

This isn’t the most exciting name for a release, but I’m unusually excited about this update!

First a bit of background.

When you add a new book to Hardcover through ISBN or other external identifiers, we try to lookup as much data as we can grab about that book from a number of APIs. If we’re able to, we update that book and populate all that data immediately.

But that wasn’t working great. We’d only get data from a single source then call it a day. Librarians would need to link that book to other external data sources before we’d pull data from them.

One major part todays update skips this entirely. If you add a new book by ISBN or external identifier, or add a new edition to an existing book by ISBN/identifier, we’ll now go out and lookup that edition on MULTIPLE sources and update both the edition and book with that data.

Another part of this update is a change and who can add and edit book data. Rather than try to communicate all of that through text, check out the table below. The biggest change is that free readers can add new manual books to Hardcover, but cannot add new manual editions. All new editions by free readers must be associated with an external identifier. Everyone can still add new books however.

FeatureGuestsFree ReadersSupporters & LibrariansAdmins
New Book by Identifier
New Manual Book
New Edition by Identifier
New Manual Edition
Edit Empty fields for books & editions
Edit Filled fields for books & editions
Connect Editions w/External Mappings
Change metadata (slug, user added, etc)
Merge Books, Editions, Authors, etc✉️✅ / ✉️
Toggle book state

The ✉️ indicates that a report will be sent to an admin to review and approve or reject that change. Librarians can make changes with an impact below a certain point. Changes that have a large impact are sent to an admin for approval. All merges by free readers are sent for approval.

Changelog

The result of this is a MUCh more accurate snapshot of what the book and edition are. 🙌

This is just one change for this release, but likely the biggest one for Librarians. Here’s the full log of everything that we’ve changed in this release.

New Features

  • Adding a new book by ISBN will automatically add external mappings and load data from multiple sources!
  • Ability to add a new edition by isbn or external mapping and have it load data from multiple sources + the identifier source.
  • External mappings that are associated with a different ISBN will be automatically split out into the right edition (or create an edition if needed).
  • New external data provider added for AbeBooks for loading book covers.
  • Ability to merge editions! This will not allow editions with conflicting identifiers to be merged (ex: two books with different set ISBN-10 can’t be merged).
  • New/Edit Edition Form option to set Publisher for a book.
  • Publishers will now show up in search.
  • Publisher page listing their 100 most popular books (we’ll update this page with pagination, ordering and filtering options soon).
  • The publisher of an edition is linked on the book editions and individual edition pages.
  • New/Edit Book Form option for Book Category (Book, Novella, Poems, Graphic Novel, etc).

Bug Fixes

  • Fix for updating an edition or book not actually updating the book or edition.
  • Fix for submitting an new import without selecting a file.
  • Fix for when an external source sets a book to be zero pages, causing us to not show page count for a book.
  • Fix for CSV importer if you left it blank and clicked submit.

What’s Next?

This release was a bunch of cleanup for how we load data from external sources. For the next month or two we’ll be using this system to load data for all books slowly while fixing bugs. After that, there are a few things we’ll want to do next around data:

Manage Character and Publisher Pages – Characters and Publishers are both relatively new to Hardcover. There’s still much more we need to do to bring them fully into the site.

Librarian Data Queues – It’s tough for librarians (and admins) to know which books are missing data right now. We’re planning to add some functionality to the upcoming Dashboard that would allow Librarians to see which books and editions are in the most need of help – both from books in their library and Hardcover as a whole.

If you’d like to become a librarian, check out our new frequently asked questions section for information on how to join the Shush (our made up collective noun for librarians 🤫).

← More from the blog