bdm 5b5303186a Establish Umbra-Bookshelf as the successor repository
Continues the Bookshelf history. The three plugins tracked there are
consolidated into umbra-bookshelf/ and this repository becomes the canonical
home for the plugin and the theme.

  bd-bookshelf/  ->  theme/     separate artifact, name unchanged
  (root specs)   ->  umbra-bookshelf/spec/  aligned to Umbra Bookshelf
  old plugin zips -> archive/pre-umbra-releases/

Adds a repository README and drops the Bookshelf closure notice.
2026-10-18 19:56:26 -07:00

Umbra Bookshelf

The WordPress book-management solution for authors and publishers.

Umbra Bookshelf began as three separate plugins — BD Bookshelf, BD BookShelfHelper and BD SimpleEmail — and is now a single consolidated plugin. This repository continues the history of the original Bookshelf repository, which is now closed and archived.

Repository layout

Path What it is
umbra-bookshelf/ The plugin. Books, library and email modules. Start at umbra-bookshelf/readme.txt.
theme/ The bd-bookshelf WordPress theme. A separate artifact, deliberately not renamed in the consolidation.
archive/pre-umbra-releases/ Release zips of the three pre-merge plugins. Superseded — do not install.
Old/ Earlier plugin and theme snapshots, kept for reference.
docs/, mockups, images, .docx/.zip specs Design material carried over from the original repository.

Documentation

Development

# static checks: syntax, duplicate classes, unresolved requires and assets,
# leftover old identifiers, preserved storage contracts
python3 umbra-bookshelf/tests/verify_structure.py

# runtime boot against stubbed WordPress (each context needs its own process)
php umbra-bookshelf/tests/smoke_runtime.php front
php umbra-bookshelf/tests/smoke_runtime.php admin

Upgrading from the old plugins

Umbra Bookshelf uses the same database tables, option keys, post meta, cron hooks and shortcodes as the three plugins it replaces, so existing data carries over without migration.

Install Umbra Bookshelf, then deactivate BD Bookshelf, BD BookShelfHelper and BD SimpleEmail. Do not delete them — deleting runs their uninstall routines, which drop your tables and options.

Status

v1.0.0 is the first consolidated release. The most important outstanding problem is documented in docs/KNOWN-ISSUES.md §1: the books and library modules still create bd_books and bd_series with two incompatible schemas. This predates the consolidation — merging the plugins made it unconditional, and resolving it requires a data migration.

Licence

Apache-2.0 — see LICENSE and NOTICE.

Description
Bookshelf plugin for Wordpress to display books for users in multiple languages.
Readme GPL-2.0 7 MiB
Languages
PHP 83.3%
CSS 8.5%
JavaScript 7.3%
Python 0.8%