Files
bookhoard/docs/user/calibre-integration.md
T
john-okeefe 22fd28c7db docs: add comprehensive Calibre integration documentation
This commit adds complete documentation for the planned Calibre
metadata.opf sidecar file support feature.

## New Documentation

### Implementation Planning
- CALIBRE_OPF_IMPLEMENTATION.md: Detailed implementation plan with
  requirements, architecture, database mapping, and step-by-step
  implementation guide for adding Calibre metadata.opf support

### Technical Documentation
- docs/development/calibre-opf-implementation.md: Technical implementation
  details including:
  - Scanner pipeline architecture with sidecar-first approach
  - Data structures (CalibreOPFMetadata, MediaMetadata)
  - Function signatures and logic for parseCalibreMetadataOPF()
  - Database schema mapping (no changes required)
  - Testing strategy (unit and integration tests)
  - Error handling and performance considerations
  - Code examples and benchmarking approach

### User Documentation
- docs/user/calibre-integration.md: Comprehensive user guide covering:
  - What is Calibre and how Bookhoard integrates with it
  - Automatic metadata import from metadata.opf sidecar files
  - Supported metadata fields (Dublin Core + Calibre-specific)
  - Setup instructions for Calibre libraries
  - Workflow examples (fresh library, mixed library, updating metadata)
  - Troubleshooting common issues
  - Best practices for Calibre + Bookhoard workflow
  - FAQ and resources

## Updated Documentation

- README.md: Added Calibre integration feature to media management section
- docs/user/user-guide.md: Added link to Calibre integration guide
- docs/developer/development.md: Added link to Calibre implementation guide

## Feature Summary

The Calibre integration feature will allow Bookhoard to automatically
import curated metadata from Calibre's metadata.opf sidecar files,
including titles, authors, series, tags, descriptions, publishers,
identifiers (ISBN/ASIN), and contributors. Uses sidecar-first approach:
metadata.opf → embedded metadata → folder structure → filename.

All database fields already exist; no schema changes required.
2026-03-26 10:34:15 -04:00

11 KiB

Calibre Integration Guide

Bookhoard provides seamless integration with Calibre libraries. If you manage your ebooks with Calibre, Bookhoard can automatically import your curated metadata, including series information, tags, and custom covers.

What is Calibre?

Calibre is a free and open-source ebook management software. It allows you to:

  • Organize your library - Create collections, add tags, manage series
  • Edit metadata - Update titles, authors, descriptions, covers
  • Fetch metadata online - Download from Google Books, Amazon, Goodreads
  • Convert formats - Convert between EPUB, MOBI, PDF, and more
  • Sync to devices - Send books to Kindle, Kobo, and other e-readers

How Bookhoard Integrates with Calibre

Automatic Metadata Import

When you scan a Calibre library in Bookhoard, it automatically detects and imports metadata from Calibre's metadata.opf files. This includes:

  • Titles and authors - Your curated edits
  • Series information - Series name and position
  • Tags and genres - Your custom organization
  • Descriptions - Book summaries
  • Publishers and dates - Publication information
  • Identifiers - ISBN, ASIN, and other IDs
  • Contributors - Illustrators, editors, translators
  • Custom covers - Your chosen cover images

Sidecar-First Approach

Bookhoard uses a sidecar-first approach for Calibre libraries:

  1. If metadata.opf exists → Use Calibre's curated metadata
  2. If no sidecar → Use embedded metadata from the book file
  3. Fallback → Use folder structure and filename

This ensures your Calibre curation work is respected and imported accurately.

Setting Up Your Calibre Library in Bookhoard

Step 1: Organize Your Calibre Library

Ensure your Calibre library has metadata.opf files in each book's folder. Calibre creates these automatically when you add books to your library.

Typical Calibre folder structure:

Calibre Library/
├── Author Name/
│   ├── Book Title (Series #1)/
│   │   ├── Book Title.epub
│   │   ├── metadata.opf      ← Bookhoard reads this
│   │   └── cover.jpg
│   └── Book Title 2/
│       ├── Book Title 2.epub
│       └── metadata.opf      ← Bookhoard reads this

Step 2: Add Library in Bookhoard

  1. Navigate to AdminLibraries
  2. Click Add Library
  3. Configure:
    • Name: "My Calibre Library"
    • Type: Ebook (or Audiobook/Comic)
    • Folder: Path to your Calibre library
    • Scan on save: Checked
  4. Click Save

Bookhoard will automatically scan the library and import all books with their Calibre metadata.

Step 3: Verify Import

  1. Navigate to Library view
  2. Browse your imported books
  3. Check that:
    • Titles and authors are correct
    • Series information appears (if applicable)
    • Tags are imported
    • Covers display correctly
    • Descriptions are present

Supported Metadata

Dublin Core Fields

Bookhoard imports standard Dublin Core metadata from Calibre:

Field Source Notes
Title dc:title Book title
Author dc:creator Primary author
Tags dc:subject Keywords/tags (multiple)
Description dc:description Book summary
Publisher dc:publisher Publisher name
Date dc:date Publication date
Language dc:language ISO language code
ISBN dc:identifier ISBN (if present)
ASIN dc:identifier Amazon ID (if present)
Contributors dc:contributor Additional contributors

Calibre-Specific Fields

Bookhoard also imports Calibre's custom metadata:

Field Source Notes
Series calibre:series Series name
Series Number calibre:series_index Position in series
Timestamp dc:date When added to Calibre

Not Imported

The following Calibre metadata is not imported (by design):

  • Ratings - Calibre ratings are personal; Bookhoard has per-user ratings
  • Sort fields - Bookhoard has its own sorting logic
  • Custom columns - User-defined columns (future enhancement)
  • Last read - Reading progress is tracked per-user in Bookhoard

Supported File Types

Bookhoard imports Calibre metadata for all file types:

  • 📚 Ebooks: EPUB, MOBI, AZW3, PDF, TXT, etc.
  • 🎧 Audiobooks: MP3, M4B, M4A, etc.
  • 📰 Comics: CBZ, CBR, CB7, CBT, etc.
  • 📄 Documents: PDF, DOCX, etc.

As long as a metadata.opf file exists in the folder, Bookhoard will import the metadata.

Workflow Examples

Example 1: Fresh Calibre Library

Scenario: You have a Calibre library with 500 ebooks, all organized with series, tags, and custom covers.

Steps:

  1. Add the Calibre library folder in Bookhoard
  2. Enable "Scan on save"
  3. Bookhoard imports all 500 books with:
    • Correct titles and authors
    • Series information (e.g., "Harry Potter #2")
    • Your custom tags (e.g., "Fantasy", "Favorites", "To Read")
    • Your chosen cover images
    • Descriptions and publisher info

Result: Your entire Calibre library is instantly available in Bookhoard with all your curation work preserved.

Example 2: Mixed Library (Calibre + Non-Calibre)

Scenario: Your library has some books from Calibre (with metadata.opf) and some downloaded from elsewhere (no sidecar).

Steps:

  1. Add the library folder in Bookhoard
  2. Bookhoard scans all files:
    • Calibre books: Import from metadata.opf
    • Non-Calibre books: Use embedded metadata or filename

Result: Seamless import of both Calibre and non-Calibre books, with appropriate metadata sources for each.

Example 3: Updating Calibre Metadata

Scenario: You edit metadata in Calibre (fix author name, add series, change cover).

Steps:

  1. Edit metadata in Calibre (it updates metadata.opf)
  2. In Bookhoard, trigger a rescan:
    • Navigate to AdminLibraries
    • Click Rescan on your library
    • Or use the Scanner API to force rescan
  3. Bookhoard detects updated metadata.opf and refreshes metadata

Result: Bookhoard reflects your Calibre changes automatically.

Troubleshooting

Metadata Not Importing

Problem: Bookhoard doesn't import Calibre metadata.

Solutions:

  1. Check file structure: Ensure metadata.opf is in the same folder as the book file
  2. Verify library type: Ensure library type matches content (ebook vs. audiobook)
  3. Force rescan: Use the "Force Rescan" option to re-import all metadata
  4. Check logs: Review Bookhoard logs for parsing errors

Incorrect Metadata

Problem: Imported metadata is wrong or incomplete.

Solutions:

  1. Fix in Calibre: Edit metadata in Calibre, then rescan in Bookhoard
  2. Verify sidecar content: Open metadata.opf in a text editor to check content
  3. Check date formats: Ensure dates are ISO format (YYYY-MM-DD)
  4. Re-scan: Force rescan to re-import from updated sidecar

Missing Series Information

Problem: Books in a series don't show series info.

Solutions:

  1. Check Calibre: Verify series is set in Calibre
  2. Check sidecar: Ensure calibre:series and calibre:series_index are in metadata.opf
  3. Re-scan: Force rescan to update series info

Performance Issues

Problem: Scanning takes a long time with Calibre library.

Solutions:

  1. Large libraries: Initial scan may take time; subsequent scans are faster
  2. Network storage: Scanning over network is slower; use local storage if possible
  3. Watch mode: Enable watch mode for real-time updates instead of full rescans

Best Practices

1. Keep Calibre as Primary Source

Do:

  • Edit metadata in Calibre
  • Rescan in Bookhoard to sync changes
  • Use Calibre for library management

Don't:

  • Edit metadata.opf files manually
  • Modify metadata in Bookhoard if you plan to resync from Calibre
  • Keep conflicting metadata sources

2. Organize with Tags and Collections

  • Use tags in Calibre for genres, moods, status (To Read, Read, etc.)
  • Create collections in Bookhoard for automatic organization
  • Leverage both systems for different purposes

3. Regular Syncing

  • Set up watch mode in Bookhoard for automatic updates
  • Run full rescan after bulk edits in Calibre
  • Keep metadata consistent between Calibre and Bookhoard

4. Backup Your Library

  • Back up your Calibre library regularly
  • Include both book files and metadata.opf files
  • Test restore process periodically

Advanced Usage

Custom Calibre Columns (Future)

Bookhoard may support Calibre custom columns in a future release. This would allow you to import:

  • Read status
  • Favorite flags
  • Custom metadata fields
  • User-defined categories

Stay tuned for updates!

OPDS Integration

You can access your Bookhoard library (including Calibre-imported books) via OPDS from Calibre-aware devices:

  • Kobo e-readers
  • KOReader
  • Phone/tablet apps (KYBook, Chunky, etc.)

See the Kobo Setup Guide or KOReader Setup Guide for details.

FAQ

Q: Will Bookhoard modify my Calibre library?

A: No. Bookhoard only reads Calibre metadata. It never modifies your Calibre library files or metadata.opf files.

Q: Can I use both Calibre and Bookhoard?

A: Yes! They're complementary:

  • Use Calibre for library management, conversion, and device syncing
  • Use Bookhoard for web access, sync across devices, and sharing

Q: What if I don't use Calibre?

A: Bookhoard works perfectly without Calibre. It will use embedded metadata from your book files, folder structure, and filenames.

Q: Does Bookhoard import Calibre ratings?

A: No. Ratings are per-user in Bookhoard. Calibre ratings reflect the owner's opinion, which may not match other users' opinions.

Q: Can I edit Calibre metadata in Bookhoard?

A: You can edit metadata in Bookhoard, but it won't sync back to Calibre. For permanent changes, edit in Calibre and rescan in Bookhoard.

Q: Does this work with Calibre Web?

A: Calibre Web uses the same metadata.opf files, so yes - Bookhoard can scan a Calibre Web library folder.

Q: What about Calibre's "author sort" and "title sort"?

A: Bookhoard has its own sorting logic and doesn't import Calibre sort fields. This allows for consistent sorting across all books.

Resources

Need Help?