I would like to create a database for my library. In a perfect world I would be able to scan the books ISBN and have all the information populated automatically (title, author, publisher, pub date… and maybe even grab an image from the inter webs).
Has anyone done this? If not, could anyone help a newb with how I would go about setting that up (no coding experience)?
I have not done this. I also think it will require some programming.
Your best approach is first to identify which service you want to use to retrieve this data. There are paid services and free services and you check if a typical sample of ISBN nummers can be found by the given service.
If you do a google search you can find multiple possible services, like:
Have it all populated where and on what?
Are you referring to custom metadata on a PDF document of a specific book?
A sheet logging this information?
A Markdown table?
…?
If I understand correctly, the primary use case of Bookends is reference and citation management for writing (e.g. academic papers), similar to Zotero or EndNote. Is that right?
I also noticed that the website mentions DEVONthink integration. Does anyone here have experience using Bookends together with DEVONthink?
P.S. I’m also looking for a better way to organize my ebook and physical books library. At the moment, I have a folder hierarchy with subfolders for different genres and topics, but it’s become difficult to keep track of what I actually own, what I’ve already read, and what I want to read next. It feels like my library has become a black box. If anyone has found a good system for managing this, I’d really appreciate hearing about it.
I’ve tried Calibre, but I find it quite opinionated and a bit messy. These days I only use it for converting books and transferring them to my Kobo.
This script might be sufficient assuming that the document contains the ISBN:
tell application id "DNtp"
set theRecords to selected records
if theRecords is {} then return
show progress indicator "Looking up books..." steps (count of theRecords)
repeat with theRecord in theRecords
step progress indicator (name of theRecord as string)
try
-- Resolve book metadata via Google Books, falling back to Open Library
set bookInfo to resolve book metadata record theRecord with apply and rename
if bookInfo is not missing value then
-- Try to grab a cover image from Open Library
set bookISBN to ""
try
set bookISBN to international standard book number of bookInfo
set coverURL to "https://covers.openlibrary.org/b/isbn/" & bookISBN & "-L.jpg"
set imgData to download URL coverURL
if imgData is not missing value then set thumbnail of theRecord to imgData
end try
else
log message record theRecord info "No book found"
end if
on error errMsg number errNum
if errNum is not -128 then log message record theRecord info errMsg
end try
end repeat
hide progress indicator
end tell
NOTE: There’s also a resolve DOI metadata command which is used e.g. by the Download Bibliographic Metadata smart rule script. Additional commands introduced by version 4.3.2 are download PDF from DOI and search CrossRef.
It seems an odd choice to try and make DT do this when so many bespoke apps exist solely for this purpose. It would make far more sense to use an app designed for this and then import the data into DT if you need the information there.
There are many apps available, but personally I use Book Tracker. It meets my needs: it’s customisable with brilliant built-in functions, there’s no data tracking, no subscription and it’s from a European indie developer.
All book tracking apps access book libraries so that bit isn’t an issue. For me personally, the extra bit of magic is that while Book Tracker can automatically add the book to its registered categories, you can also disable this function. This meant I could set up my own categories based on how I manage my library. For example, I’m an ecologist so defining a book as “ecology” is not useful for me, but I set up more specific categories for my use. I’m not a historian, so I don’t need a book categorised as “19th century” and can just categorise it as “history” instead.
For your use-case, it supports both barcode scanning via device camera or from a handheld scanner. I don’t export the data to DT as the app meets my needs, but it has export functions available (csv or PDF).
This is a different question to OP’s but for what it’s worth I do manage my digital library in a DT database. I use Calibre for file conversion and I let it hold copies of all my digital books as a backup, but I copy all my digital books as PDFs into a specific DT database that only exists to manage my digital books. All files are named the same (last name, first name - title). I use the unread/read status to track if I’ve read titles, and tags to mark priorities. Beyond that I don’t do much but of course like any DT database it could be optimised if I wanted. DT’s job here (for me) is to manage the files and let me search them and add them to devices. Book Tracker’s job (the app I mentioned above) is to track my “total library” across digital and paper, and track what’s been read, etc. In this sense, DT is just a “location” (Book Tracker has a ‘location’ field for recording where a book is stored).
Note that CSV will not export everything, notably not the cover image. That’s one of the little issues I have with this otherwise great program. And an unstructured format as PDF goes against my instincts
One follow up question: you write that you use read / unread status and tags in DT to track the status of the book in DT. At the same time, you’re using Book Tracker for what seem similar purpose (what books you have overall and whether or not you read them). That sounds like an overlap with the DT, or am I missing something?
“With Bookends”? Do you mean you entered that search into BE or that you entered it into DThink? And if DThink, your search was from “Quick Add” instead of the search bar?
In my mental picture, I would have this library in my DThink database, perhaps imported from Bookends as that’s the easiest way to enter/aggregate all the book details.
But is it, rather, that DThink merely goes out and grabs the info from Bookends? And as Bookends is a web based app, anytime I’m offline I will not be able to access that Bookends information?
I use Bookends on both Mac and iOS. Bookends manages all my pdfs of articles and the like and the Attachments folder where Bookends keeps the pdfs is indexed by DEVONthink.
Sorry, anton… and thanks for responding graciously. This means my library is “stored” at Bookends and I need to be online to access, correct (sorry.. newbie Q’s)?