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.
This commit is contained in:
bdm
2026-10-18 19:56:26 -07:00
parent 43b9725cd0
commit 5b5303186a
68 changed files with 67 additions and 55 deletions

View File

@@ -1,54 +0,0 @@
# CLOSED
**This repository is archived and closed. Development continues in
[`Umbra-Bookshelf`](https://git.mini-eq/umbragit/Umbra-Bookshelf).**
Closed: 2026-10-18
---
## Why
This repository held three separate WordPress plugins — **BD Bookshelf**,
**BD BookShelfHelper** and **BD SimpleEmail** — that shipped the same product
surface under three different admin menus. They were consolidated into a single
plugin, **Umbra Bookshelf**, which now lives in its own repository.
## What moved where
| Was | Is now |
|---|---|
| `bd-bookshelf-plugin/` | `Umbra-Bookshelf/umbra-bookshelf/includes/books/` |
| `bd-bookshelfhelper/` | `Umbra-Bookshelf/umbra-bookshelf/includes/library/` |
| `bd-simpleemail/` | `Umbra-Bookshelf/umbra-bookshelf/includes/email/` |
| `SPEC_BD_Bookshelf_Plugin.txt` | `Umbra-Bookshelf/umbra-bookshelf/spec/SPEC_Umbra_Bookshelf_Plugin.md` |
| `SPEC_BD_BookHelper_Plugin.txt` | `Umbra-Bookshelf/umbra-bookshelf/spec/archive/` |
| `bd-bookshelf/` (theme) | `Umbra-Bookshelf/theme/` — unchanged, still a separate artifact |
The `v1.0.0` tag marks the final state of the consolidated plugin before the
repository was closed.
## This repository is read-only
No further commits will be made. The history is preserved for provenance —
including the original separate plugins, which are recoverable at the tags and
commits before `dec7329`.
Do not install the individual plugins from here. They were never designed to run
together: they collide on the `bd_books` and `bd_series` tables, both register
an admin menu, and they attach duplicate handlers to the same AJAX actions and
cron hooks. See `Umbra-Bookshelf/umbra-bookshelf/docs/KNOWN-ISSUES.md`.
## Upgrading an existing site
Install **Umbra Bookshelf** from the new repository, then **deactivate** BD
Bookshelf, BD BookShelfHelper and BD SimpleEmail in WordPress.
**Deactivate, do not delete.** Deleting a plugin runs its uninstall routine,
which drops your database tables and options. Umbra Bookshelf reads and writes
the same table names, option keys, post meta, cron hooks and shortcodes, so
existing data carries over untouched.
The admin menu structure changed: three top-level menus became one
**Umbra Bookshelf** menu. The full submenu map is in
`Umbra-Bookshelf/umbra-bookshelf/spec/SPEC_Umbra_Bookshelf_Plugin.md`.

66
README.md Normal file
View File

@@ -0,0 +1,66 @@
# 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](https://git.mini-eq/umbragit/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`](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
* [`umbra-bookshelf/spec/SPEC_Umbra_Bookshelf_Plugin.md`](umbra-bookshelf/spec/SPEC_Umbra_Bookshelf_Plugin.md)
— the authoritative specification: identity, naming rules, architecture,
module responsibilities, admin menu map, lifecycle.
* [`umbra-bookshelf/docs/ARCHITECTURE.md`](umbra-bookshelf/docs/ARCHITECTURE.md)
— why the plugin is shaped this way.
* [`umbra-bookshelf/docs/KNOWN-ISSUES.md`](umbra-bookshelf/docs/KNOWN-ISSUES.md)
— defects carried over from the merge, including one deliberately deferred.
* [`umbra-bookshelf/spec/archive/`](umbra-bookshelf/spec/archive/) — pre-merge
specifications, retained for provenance only.
## Development
```bash
# 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`](umbra-bookshelf/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`](LICENSE) and [`NOTICE`](NOTICE).

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View File

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View File

@@ -73,7 +73,7 @@ post content. Renaming any of them silently orphans existing data.
One legacy PHP class name is retained by design: `class-umbra-theme-compatibility.php` One legacy PHP class name is retained by design: `class-umbra-theme-compatibility.php`
declares `Umbra_Theme_Compatibility` and then declares `Umbra_Theme_Compatibility` and then
`class_alias('Umbra_Theme_Compatibility', 'BD_BookShelfHelper')` so the `class_alias('Umbra_Theme_Compatibility', 'BD_BookShelfHelper')` so the
unmodified `bd-bookshelf` theme's static `BD_BookShelfHelper::` calls keep working. unmodified `theme/` (bd-bookshelf) theme's static `BD_BookShelfHelper::` calls keep working.
--- ---