Pressbooks just went live on and all of our other production networks. Here’s what changed:

  • Feature: It is now possibled to modify the default session configuration via the pressbooks_session_configuration filter hook (props to @monkecheese).
  • Feature: The pb_append_chapter_content is now available in the mPDF exporter (props to @monkecheese).
  • Enhancement: The generator meta property has been added to XHTML exports.
  • Fix: A bug which resulted in anchors being added to internal links twice in EPUB exports has been resolved.


Pressbooks just went live on and all of our other production networks. Here’s what changed:

  • Feature: The copyright string in the Pressbooks Publisher theme footer can now be customized via the pressbooks_publisher_content_info filter.
  • Feature: The text that is displayed when there are no books in a Pressbooks Publisher catalog can now be customized via the pressbooks_publisher_empty_catalog filter.
  • Fix: Updated a component of the Diagnostics page to remove a deprecation notice (props to @thomasdumm for the report).
  • Fix: Fixed a glitch in the Pressbooks colour scheme.

Pressbooks 3.9.4

Pressbooks 3.9.4 just went live on and all of our other production networks. Here’s what changed:

  • Feature: Pressbooks + Hypothesis: Version 0.4.8 of the Hypothesis WordPress plugin now supports custom post types, and Pressbooks 3.9.4 adds Hypothesis support to all of ours (parts, chapters, front and back matter).
  • Feature: Having a problem with Pressbooks? We’ve added a diagnostics page which is accessible from the ‘Diagnostics’ link in the footer of every dashboard screen. If you need to report a bug, copy your system configuration info from your Diagnostics page to help us help you resolve the issue more efficiently.
  • Enhancement: check_epubcheck_install can now be overridden using the pb_epub_has_dependencies hook for use cases where EPUB validation is not required (props to @monkecheese for the PR).
  • Enhancement: Some adjustments were made to the PDF output stylesheets for running headers and footers.
  • Fix: Fixed a visual glitch by hiding the TinyMCE table editor’s inline toolbar.

Pressbooks 3.9.3

Pressbooks 3.9.3 just went live on and all of our other production networks. Here’s what changed:

  • NOTE: Saxon-HE 9.7.0-10 is no longer bundled with Pressbooks and must be installed separately for ODT export support (see Installation).
  • Feature: The copy on the publish page can now be replaced by adding a filter to the pressbooks_publish_page filter hook.
  • Feature: If registration is enabled, a ‘Register’ button now appears on the front page of the Pressbooks Publisher theme.
  • Enhancement: A URL sanitization routine has been added to the \Pressbooks\Options class.
  • Enhancement: The methods of \Pressbooks\Options which list the options of various types (bool, string, float, etc.) are now optional, and the sanitize function now checks for each type before trying to sanitize it.
  • Enhancement: The publish page has been refactored using the \Pressbooks\Options class.
  • Fix: Unwanted validation warning emails will no longer be sent.

Pressbooks 3.9.2

Pressbooks 3.9.2 just went live on []( and all of our other production networks. Here’s what changed:

  • NOTE: Pressbooks 3.9.2 requires PrinceXML 20160929 or later.
  • Feature: Added an export format for print-ready PDF, compatible with the CreateSpace PDF Submission Specification (Requires PrinceXML 20160929 or later).
  • Feature: Added a button to the editor which lets you assign a custom class to any element.
  • Feature: Simplified the Disable Comments feature, which can now be found under Sharing & Privacy settings.
  • Enhancement: Added version-based dependency checks for all Pressbooks dependencies.
  • Enhancement: Updated the TinyMCE Table Editor plugin to the latest version.
  • Enhancement: Custom styles, table classes, row classes and cell classes are now filterable.
  • Fix: Fixed an issue where email validation logs would not be sent.

Pressbooks 3.9.0

Pressbooks 3.9.0 just went live on and all of our other production networks. Here’s what changed:

  • Feature: Added a web theme option to display the title of the current part in the webbook (props to @bdolor).
  • Feature: Noto CJK fonts (required for Chinese, Japanese and Korean PDF output) are now downloaded only when needed from within Pressbooks, reducing the overall size of the Pressbooks download.
  • Feature: Added a recompile routine for webbook stylesheets to allow more straightforward development (only enabled when WP_ENV is defined and set to development).
  • Enhancement: Applied our coding standards across the board and added PHP_CodeSniffer to our CI routines.
  • Enhancement: Added some unit tests.
  • Enhancement: Moved the Pressbooks API to /vendor.
  • Enhancement: Changed some colour variables for clarity.
  • Enhancement: Added initial support for SVG LaTeX images in PDF exports (requires QuickLaTex).
  • Enhancement: Added some scaffolding to allow option defaults to be filtered in pages built using the new options class.
  • Enhancement: The book information post is now created when a book is registered.
  • Fix: Added missing methods which were triggering fatal errors in the Export Options page (props to @bdolor).
  • Fix: Fixed in issue which prevented the Ebook paragraph separation theme option from being applied in Clarke.
  • Fix: Fixed an issue where internal links from within part content were broken in EPUB.
  • Fix: Fixed an issue where backslashes would be erroneously stripped when replacements were applied in the Search and Replace utility (props to @rootl for the bug report).
  • Fix: Fixed an issue where the book title would not be updated on the first save.

Why We Removed Pressbooks from the WordPress Plugin Repository

Why We Removed Pressbooks from the WordPress Plugin Repository

A couple weeks ago, we removed Pressbooks from the WordPress Plugin Repository. We want to offer an explanation for this decision to our users, and give some insight into our plans for the distribution of Pressbooks moving forward.

Pressbooks has never been a typical WordPress plugin. It is a platform, not a plugin, and as such it completely transforms the WordPress interface into a content management system for book authoring and formatting. Furthermore, it requires WordPress Multisite and it also requires a number of third-party libraries to support its export routines (epubcheck, KindleGen, PrinceXML and xmllint to name a few) which cannot be installed on shared hosting environments. As such, Pressbooks is not a WordPress plugin that is particularly useful without:

  1. A virtual private server (VPS) environment;
  2. An advanced knowledge of WordPress configuration, especially multisite;
  3. Some devops experience.

Over the years, we have encountered many WordPress users who installed Pressbooks from the WordPress Plugin Repository on their existing blogs1 and were frustrated by the experience. After much consideration, we have decided that the best way to support all users of the Pressbooks plugin is to remove it from the WordPress Plugin Repository and distribute it via GitHub.

For those who don’t want to run their own Pressbooks infrastructure, we offer the following options:

  •, for authors and small publishers creating a single book or a handful of books per year
  • Pressbooks EDU, our premium hosted service for educational institutions
  • Pressbooks Publisher, our premium hosted service for publishers

For those who are interested in running their own networks, we are working to improve the installation documentation and provide several methods to keep Pressbooks updated.

  1. Don’t do this!

Notes from the Pressbooks Accessibility Group

Pressbooks’ first meeting on accessibility with our Open Source partners took place today. Hugh and I were joined by Jess Mitchell and Jonathan Hung from the Inclusive Design Research Centre at OCAD and Brad Payne and Josie Gray from BCcampus. We identified and discussed four initial tasks to begin work on making Pressbooks more accessible and inclusive for authors and readers alike:

  1. Conducting an audit of the Pressbooks administration interface for accessibility and inclusivity (see pressbooks/pressbooks#487);
  2. Conducting an audit of the Pressbooks web book theme and root theme interfaces for accessibility and inclusivity (see pressbooks/pressbooks#488);
  3. Integrating the IDRC Fluid Project’s display preferences tool into the Pressbooks web book theme and root theme interfaces (see pressbooks/pressbooks#489);
  4. Assessing potential tools to help authors review their books’ content for accessibility and inclusivity (see pressbooks/pressbooks#490).

In our discussion of the fourth point, we heard from Josie, who in her work at BCcampus has been using a combination of tools (including Total Validator and AChecker) and manual review against to the W3C’s Web Content Accessibility Guidelines to assess the accessibility and inclusivity of their OERs. Jess and Jonathan also recommended WAVE for this.

We plan to have a second meeting of the accessibility group within one month (tentatively on Wednesday, October 26, 2016) and in the meantime, I will be working with Jess and Jonathan to get a development instance of Pressbooks running at the IDRC for auditing purposes, working on the integration of the Fluid display preferences module, and continuing discussions with Jess and Jonathan on the IDRC’s metadata tools. Brad and Josie will work on compiling a matrix of problem patterns that Josie has identified in her content review work, and Jess and Jonathan will walk through their audit process and results with the accessibility group at our next meeting so that we can all get a sense of best practices. Thanks to everyone who could join us today! It was an exciting first meeting, and we’re looking forward to continued collaboration on this important component of the Pressbooks project.