Skip to content

Releases

Equalify Iris 0.3.0

Choose a tag to compare

@bbertucc bbertucc released this 14 Oct 16:55
ce5c2fd

Equalify Iris 0.3.0

  • The tagged version replaces the PDF at its own address. Links from email, other websites, bookmarks and search results now open the tagged PDF too, not just links on your pages. Hosts like Pantheon serve uploads without running WordPress, so a redirect could never reach them. The original is kept beside it as name-iris-original.pdf, and nothing in your posts is rewritten.
  • Delete Iris-Tagged Version puts the original back. If the file was replaced since it was tagged (with a media-replace plugin, say), the new file stays and the screen says so.
  • Deactivating the plugin no longer changes what visitors see. Tagged PDFs stay tagged. Deleting the plugin puts every original back; deleting a PDF from the media library deletes its kept original too.
  • PDFs tagged by 0.2.x move by themselves. The background job moves each name-accessible.pdf to the PDF's own address, ten per site per run. If the original's file is gone, the copy takes its place; if the copy is gone, the PDF is sent to Iris again.
  • Works on Pantheon's file system, which does not rename files: the tagged version is copied into place and checked, and the original is never left missing. The PDF's own address is cleared from Pantheon's CDN, for subdirectory sites under both addresses they serve uploads at.
  • The media library shows whether each PDF is tagged, in a list-view column and on each PDF's details.

Not supported: plugins that move uploads to external storage (S3 and similar). Replaced a tagged PDF's file? Send it to Iris for tagging again.

Install: Network Admin → Plugins → Add New → Upload, then network-activate. Upgrading from 0.2.x: upload over it; tagged copies move to their PDFs' addresses over the next few background runs, with nothing to do. Outside Pantheon, purge any CDN that cached your PDFs, or hook equalify_iris_links_changed.

Equalify Iris 0.2.2

Choose a tag to compare

@bbertucc bbertucc released this 06 Oct 12:57
6caf2c9

Equalify Iris 0.2.2

  • Iris counts the pages. A PDF over Iris's limit (25 pages) is refused at upload, before any session or public GitHub issue exists, and the list shows Iris's sentence. The plugin still checks size (50 MB).
  • Replies from Iris are capped as they are read, at twice the original plus 5 MB, so a runaway reply cannot use up PHP's memory.
  • Staging and development copies pause themselves. A copy of the live database (Pantheon dev/test/multidev, a local copy) has a different address or WP_ENVIRONMENT_TYPE, so it sends nothing to Iris and cannot collect or close live's PDFs. Press Tag PDFs Here Too on the network screen, or run wp equalify-iris resume, if the copy should tag its own. Moving the live site to a new domain pauses it the same way; the same button resumes it.
  • Re-tagged PDFs get a new address (?v=), so CDNs and browsers never serve the copy it replaced.
  • Hosting notes in the README.

Install: Network Admin → Plugins → Add New → Upload, then network-activate. Upgrading from 0.2.1: upload over it; nothing else to do.

Equalify Iris 0.2.1

Choose a tag to compare

@bbertucc bbertucc released this 05 Oct 18:08
2c7826c

Hardening after a review of 0.2.0. Install: download equalify-iris.zip, then Network Admin → Plugins → Add New → Upload.

Safer

  • The settings now say next to the automatic-tagging switches that Iris reports conversion problems as public GitHub issues, which can quote the document.
  • The API address must use https, except to this server, or with EQUALIFY_IRIS_ALLOW_HTTP.
  • Uploads go through WordPress's HTTP API whenever a site has set it up (WP_HTTP_BLOCK_EXTERNAL, a proxy, filters).
  • Tagged PDFs from Iris are checked before saving (a whole PDF, of a sensible size). They are written to a temporary file and renamed into place, so the old copy is kept until the new one is safely written. Only validated -accessible.pdf paths are ever deleted, including on uninstall.

More reliable

  • Only one background run at a time, using a database lock that a crashed run releases straight away.
  • One broken site no longer stops a run for the rest of the network.
  • A 401 or 403 from Iris pauses the network and says why on both screens, instead of failing every PDF.
  • Page counts are no longer thrown off by bookmarks; status checks stop when the run's time runs out.
  • PDFs shown in embeds and iframes (src) switch to the tagged copy too. A page too large to process is sent unchanged.

Faster on large networks

  • The network screen counts each site in one cached query.
  • Fewer queries on every page load.
  • Uninstall no longer empties the whole object cache.

Equalify Iris for WordPress 0.2.0

Choose a tag to compare

@bbertucc bbertucc released this 04 Oct 15:34
9c137e3

Download

Download equalify-iris.zip from the Assets list below.

Do not use the "Source code" downloads. GitHub adds those automatically, and they contain the whole repository rather than an installable plugin.

What's new

0.2.0 is a rewrite. Instead of an HTML version next to each PDF, Equalify Iris now adds accessibility tags to the PDF itself, saves it next to the original as name-accessible.pdf, and points the site's links at it.

  • Only public PDFs. A PDF is listed, and ever sent, only when something visitors can see links to it: published pages, posts and custom post types (content, excerpt, custom fields, ACF), menus, widgets, block templates and navigation, category and tag descriptions, ACF options pages.
  • Links switch back by themselves when a tagged copy is deleted or the plugin is deactivated or deleted. Nothing in the database is rewritten.
  • Each PDF shows where it is up to: waiting, converting at Iris, adding tags, since when, and Iris's reason if something goes wrong. Filters for Being tagged and Could not be tagged.
  • Built for large networks and Pantheon: one network-wide background job, 90-second runs, at most 4 PDFs at Iris at once.

Install

Needs a WordPress multisite network, WordPress 6.4 or later, and PHP 8.0 or later.

Coming from 0.1.0: network-deactivate and delete 0.1.0 first. Nothing is carried over, and deleting it removes its HTML versions.

  1. Go to Network Admin → Plugins → Add New Plugin → Upload Plugin.
  2. Choose equalify-iris.zip and select Install Now.
  3. Select Network Activate.
  4. Open Network Admin → Equalify Iris to see every site, and Equalify Iris in any site's admin for its PDFs.

Nothing is sent to Iris until someone chooses Send to Iris for Tagging on a PDF, or turns on automatic tagging.

On Pantheon (or anywhere WP-Cron does not run reliably), run the background job every five minutes from a scheduler:

terminus wp <site>.<env> -- equalify-iris run

Before you send anything

PDFs go to the Equalify Iris deployment set on the network screen, the public one by default. Iris reports conversion problems as public GitHub issues that can include extracts of the document, and this cannot be turned off. Only test with PDFs that are fine to make public.

What to try

  • Send to Iris for Tagging on a PDF: it shows Being tagged, then Tagged within a few minutes. Reload to see it move.
  • Logged out, links to it on the site, including in menus and widgets, open the -accessible.pdf copy. Clear any page cache first.
  • Delete Iris-Tagged Version, or network-deactivate the plugin: the links open the original again.
  • Unpublish the only page linking to a PDF: it leaves the list.
  • A PDF over 25 pages shows Could not be tagged with the reason.

Known limits

  • Iris builds a tagged PDF in a single request. A PDF that takes Iris longer than the job can wait (about 80 seconds on Pantheon) is tried three times, then shown as could not be tagged.
  • Links written into a theme's PHP files, and page builders that store their layout outside the post content and custom fields, are not found.

Full documentation: README.md. Problems: docs/TROUBLESHOOTING.md.

Equalify Iris for WordPress 0.1.0

Choose a tag to compare

@bbertucc bbertucc released this 24 Sep 20:30
2b5c570

Download

Download equalify-iris.zip from the Assets list below.

Do not use the "Source code" downloads. GitHub adds those automatically, and they contain the whole repository rather than an installable plugin.

Install

Needs a WordPress multisite network, WordPress 6.4 or later, and PHP 8.0 or later.

  1. Go to Network Admin → Plugins → Add New Plugin → Upload Plugin.
  2. Choose equalify-iris.zip and select Install Now.
  3. Select Network Activate.
  4. Open Network Admin → Equalify Iris.

Processing is off when the plugin is installed. Nothing is sent anywhere until a super admin presses Start on the Equalify Iris screen.

Before you press Start

Once processing is running, each PDF linked from a published page on the network is uploaded to the Equalify Iris deployment set in Settings. Iris reports conversion problems as public GitHub issues that can include extracts of the document, and this cannot be turned off. Only test with PDFs that are fine to make public.

What to try

  • PDF links on published pages get a small icon linking to the accessible version once it has been converted.
  • Unpublishing the page, adding a password, removing the link, or trashing the page removes the icon, and the accessible version's address returns 404. Undoing the change brings it back.
  • Network-deactivating the plugin removes all icons and makes every accessible version return 404. Network-activating it again brings them back.
  • With a screen reader, a PDF link that has an accessible version is preceded by "An accessible version of this PDF is linked next.", and the icon is read as "Accessible version of document title".

Full documentation: docs/README.md. Problems: docs/TROUBLESHOOTING.md.