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:
54
CLOSED.md
54
CLOSED.md
@@ -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
66
README.md
Normal 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).
|
||||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 204 KiB |
@@ -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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user