A network-activated multisite plugin that finds every PDF linked from
published content, sends it to Equalify Iris for conversion, and publishes
the accessible HTML that comes back as a real page at a permanent URL. An
icon appears next to each original PDF link pointing at that version. The
original link is never touched.
Editors see nothing. One super admin turns it on once.
What is here:
- plugin/equalify-iris — the plugin. Two network tables (documents and
sightings), a capped WP-Cron worker with a circuit breaker, a sweeper that
walks the network a few posts at a time, a hidden public post type for the
converted pages, and four network-admin screens.
- docs/ — how it works, glossary, troubleshooting, developing, and the
settled decisions with their reasoning.
- PRD.md — the requirements this was built against.
- test-site/ — scaffolding that builds a disposable three-site DDEV
multisite with generated sample PDFs. The WordPress it produces is not
committed; one run of setup.sh recreates it.
Auth matches Iris v1, which has no sign-in and no per-client credential.
Iris holds its own GitHub credential server-side. An open deployment needs
nothing from us; a gated one needs the operator's shared token, which is a
door key and not an identity. It is read from EQUALIFY_IRIS_API_TOKEN in
wp-config.php when present so it can stay out of database backups, and the
connection check distinguishes "needs a token" (a human must act) from
"Iris cannot reach GitHub" (retryable, not ours to fix).
Verified end to end against production Iris on the test network: 8 documents
published across three sites, all reachable, every injected icon resolving,
9/9 doctor checks passing.
Known and not yet fixed: renaming a PDF changes its slug, and links shared
before the rename 404 rather than redirecting. Converted pages inherit
Iris's heading levels, so a document title can repeat as an <h1> per page.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>