Part I – Pilot Project
Development
The tree swing analogy is an example of how keeping things simple can go awry. Focusing on the design parameters of what the client wanted was essential to a productive and positive process and outcome. However, life happens and compromise was critical to arriving at a product, rather than an unknown future hope.
Employing computing technologies that are flexible and stable in a one content-for-all e-publishing system is a dream. All technologies have their own advantages and limitations. In this pilot project it was necessary to work on the available minimalist system. Hence, the following discussion reviews the configuration specifications employed in the first iteration of the open source e-publishing system.
Building an e-Publishing Platform
A test WordPress Pressbooks server was setup off-site as proof of concept. Due to limited financial, technical, and human resources, the production Pressbooks system was installed in a virtualized configuration. The advantage of a virtualized configuration was ease of backup and re-imaging. In addition, an image is transportable to other computer hardware without the need of reinstall of Pressbooks.
Hardware
- Linux server – Intel Core 2 Duo P9xxx (Penryn Class Core 2), 4G RAM, 100G Disk Space
Software
- CentOS 7 operating system bundled with Apache 2.4.6, PHP 5.4.16 and MariaDB Server 5.5.41 (MySQL fork) [1]
- Virtualization application – Linux KVM [2]
- Multisite WordPress v.4.3.1 [3]
- Pressbook System [4] (including Pressbooks Textbook [5])
- Pressbooks external dependencies:
- MOBI export for KindleGen – Version 2.9
- EPUB validation with EpubCheck – Version 3.0.1
- XML validation with xmllint – Version 2.9.1-5.el7_1.2.x86_64
- WordPress Network Plugins – i.e., Security, Backup, Statistics, Media Handler
WordPress Network Plugins
Table 4.1 WordPress Plugins Installed for the Pilot Project
PLUGIN | DESCRIPTION | |
Enable Media Replace | Enable replacing media files by uploading a new file in the “Edit Media” section of the WordPress Media Library. Version 3.0.3 | By Måns Jonasson |
|
Pressbooks | Simple Book Production Version 2.7.2 | By BookOven Inc. |
|
Pressbooks Textbook | A plugin that extends Pressbooks for textbook authoring Version 1.2.16 | By Brad Payne |
|
Responsive Scrolling Tables | Responsive Scrolling Tables detects when tables are bigger then their containers and makes them scroll instead of flowing over the boundary of the container. Version 1.2.1 | By T J Dixon Limited |
|
SVG Support | Allow SVG file uploads using the WordPress Media Library uploader plus direct styling of SVG elements using CSS. Version 2.2.2 | By Benbodhi |
|
Thin Out Revisions | A plugin for better revision management. Enables flexible management for you. Version 1.8.3 | By Hirokazu Matsui |
|
UpdraftPlus – Backup/Restore | Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules. Version 2.11.9.20 | By UpdraftPlus.Com, DavidAnderson |
|
Wordfence Security | Wordfence Security – Anti-virus, Firewall and High Speed Cache Version 6.0.20 | By Wordfence |
|
WP Slimstat | The leading web analytics plugin for WordPress Version 4.1.8.1 | By Camu |
|
WP SlimStat – Default Filters | Determine what filters should be loaded by default when your reports are initialized. Version 1.4 | By Slimstat |
|
WP SlimStat – Email Reports | Override your sites’ settings with a global configuration Version 2.2 | By WP Slimstat |
|
WP SlimStat – Export to Excel | Export your reports as a CSV file. Version 2.5 | By WP Slimstat |
|
WP SlimStat – Firewall Fix | Fix the collection of IP addresses when the webserver is behind a proxy, firewall or load balancer. Version 1.6.1 | By WP Slimstat |
|
WP SlimStat – Network Settings | Override your sites’ settings with a global configuration Version 1.2.1 | By Camu |
|
WP SlimStat – Network View | Access a network view of your reports. Version 1.3.1 | By Camu |
|
WP SlimStat – Track Cookies | Collect all the cookies associated with the domain sent by the browser. Version 1.5 | By WP Slimstat |
These WordPress plugins were selected for quality, stability, and compatibility with Pressbooks. There were a few plugins to enhance the authoring process and presentation of tables, but plugins that worked on a multisite WordPress system were not compatible with the Pressbooks plugin. Each plugin had to be installed and examined on a test site to confirm that it would not break the site functionality, presentation, or export output. Security was necessary, as any site on the Internet is vulnerable to unscrupulous humans. In general, it is not a question of if but rather when a site will be attacked. To avoid the tragedy of lost and dearly valued knowledge, multiple backup strategies have been employed including off-site repositories. A staged system failure and full recovery of backup was tested in the process of selecting a viable multisite WordPress backup plugin.
Technology Challenges
- Bug fixes and programming development of Pressbooks ongoing (open source support is a relationship between developer and end-user; both have to collaborate and cooperate to improve and sustain the application)
- WordPress plugins may work in their current version, but an update may not function as expected
- More WordPress plugins mean greater risk of failure due to incompatibilities, security, and software stability
- E-Textbook administrator access issues due to excessive security plugin settings on a WordPress Multisite
- Obtaining a campus sub-domain name and webserver
- Provide a demo sample of a functioning external Pressbooks site as proof of concept
(achieved using an instance of Pressbooks on a PHP/MYSQL Internet host) - Useful WordPress plugins such as shortcodes and table generators will not work in Pressbooks
- Many useful WordPress plugins work for multsite installs but not in Pressbooks
- PDF content layout is different from EPUB format that is free flowing (difficult to cite a page number from fluid layout)
- Third party application may be required, as an EPUB reader is not built into all operating systems (i.e., Microsoft Windows 10)
- Wide tables display poorly in EPUB version
- Presentation of tables in WordPress Pressbooks is simplified compared to output from a word processor or desktop publishing software
- Hidden functions within Pressbooks by design
Wide Tables Phenomenon
Long tables can be very useful in the academic publishing environment, but they are a source of huge frustration when rendering to web pages and export formats. Unfortunately the Pressbooks EPUB format export displays wide tables from HTML pages as cropped text across pages, as per screen capture from iBooks reader:
Figure 4.1 Sample Table Presentation Issue in an EPUB format (original web page version: https://on-linelearning.ca/clinical-teaching/chapter/chapter-two-where-do-i-fit-in-articulating-a-personal-philosophy)
The current work around table solution for the EPUB format is to replace the table with an SVG image [6]. PNG images are convenient as they can be rendered by screen capture, however a PNG does not retain the same meta data and textural content that can be retained by an SVG. A text table converted to SVG retains the text and can be copied or searched by the enduser.
There are two workflows to achieve an SVG in Pressbooks and authoring:
- Pressbooks SVG
- invoke the SVG Support plugin and modifying the Pressbook Settings > Network Settings > Upload file types > SVG.
- Create a duplicate content of the chapters with long tables and substitute the long HTML tables with the corresponding SVG file.
- Authoring SVG Tables (assuming SVG Support plugin installed) – Install LibreOffice[7] 5.x and create a new Spreadsheet. Select relevant cells, copy then create a new Drawing and Paste Special, and then select calc# from list. Select relevant objects and export to SVG (enable Automatic file name extension and Selection). Add SVG file into Pressbooks.
An HTML book site, that is only exporting to PDF, may not encounter the EPUB table issue. However, to resolve EPUB export of tables, required duplication of the webpage with substitution of textural tables for SVG tables. In HTML, the Responsive Scrolling Tables plugin provided a clean display of a table, with a horizontal scroll bar below a table (maybe more useful above table). SVG tables in PDF displayed poorly, compared to HTML textural tables. The wide table issue created an unnecessary inconvenience, as one of the primary purposes of employing Pressbooks was a dynamic environment with one central text collection exporting to multiple digital formats.
Experiment
A test modification of CSS wide (300%) versus default (100%) tables, found no effect in HTML or EPUB output, but had a profound effect in PDF export, which displayed in reverse scale to compensate for page size (300% wide tables appear condensed with need to zoom in to see details). Hence, default table CSS in the themes appears to be optimized to display in equal size for all formats.
Future research in floating headers via jQuery may be useful for EPUB output, assuming EPUB format can function with jQuery. In example, jQuery.floatThread[8].
PDF Export Content Layout
The text in the web page editor can include page breaks[9], however this can have diminishing returns with each update to web pages and subsequent PDF export that may have a different content flow across pages. Hence, using any manual page breaks was avoided, unless it was critical to reading the content correctly. In example, if the conclusion title was automatically broken before the last page, then a forced page break before the title to be included with text body may be more convenient to the reader.
Human Collaboration
Human factors can be the most challenging aspect of any project, as they are far less predictable than computers. When communications between stakeholders occurs less frequently or is confusing, timelines and expectations may risk project delays and inertia. In addition, if there is a loss of interest by a key stakeholder, then alternative options need to be anticipated. Hence, continued project management and engagement of the stakeholders was an important component of maintaining momentum and focus on completing an e-published open source textbook.
Key Actions
- Group email stakeholders (digest content rather than twitter messages)
- Have VOIP (Skype) meeting (preempted with agenda email)
- Bring scope and timelines into alignment
- Remain positive, flexible, and ready for compromise
- Prepare a proof of concept site to move forward and assist in discussions
- Continue researching technology applications as time permits
- Monitor pulse of project to keep the momentum
Maintaining a collaborative group at a distance required constant focused communications. Getting to what the “client(s) wanted” is often more about compromise, as time is a universal constant that supercedes everyone and everything.
Visualize Mobile
Overcoming perceptions and expectations of what is produced from a website onto a smartphone display, versus hard-copy and output from a desktop publishing system, was challenging. The EPUB, MOBI, and HTML formats have dramatically simplified styling and layout to maintain optimal compatibility between export formats. Hence, a PDF generated by Pressbooks will appear more basic and clean compared to a colourful iBook PDF. As noted by Dr. Tony Bates[10], interactivity is difficult to incorporate into the content. Large tables are particularly challenging to display, as style is controlled by the CSS in the theme template. If the focus is on substance, then Pressbooks functions well in generating the appropriate file formats, however if the form of the content is more important, then limitations will be apparent when tweaking CSS to accommodate expectations. An online mobile 2 dimensional (2D) display of e-texts needs to separate past hard-copy expectations from digital file formats (i.e., EPUB, MOBI) which are much more restrictive in editing, partly due to the HTML editor (TinyMCE[11]), the stage of evolution in the EPUB format, and the range of electronic devices that need to be accommodated.
To aid in visualizing how the e-textbook would appear on mobile devices, several emulator applications were employed for different outputs:
Web
EPUB and MOBI
WordPress
- WordPress v.4.5 had built in previews for different devices that is available in Pressbooks plugin default Pressbooks Publisher theme site customizer (i.e., Appearance > Customize)
Wide content is difficult on small displays such as a smartphone, whereas long text can wrap and flow vertically without losing focus. Thus, small 2D displays are difficult to read with desktop designed layouts. Transposing content to small screens may require a completely different layout for a swipe and tap interface. The EPUB format defaults to a reflowable text[16] display that is easier to read on mobile devices. Unfortunately, reflowable text does not fit within the APA style of identifying “pages”. However, this paradigm shift in what constitutes a “page” may create a different approach to uniquely identifying and tagging content for citation.
Quirks
Pressbooks
Seemingly by design there are hidden functions in Pressbooks that can be retrieved by button links or using a path statement.
The buttons in the red box outline of Figure 4.2, are a WordPress display of content (rather than Pressbooks layout).
Figure 4.2 Administrator view URL (http://domainname/sitename/wp-admin/edit.php?post_type=chapter) of WordPress page listing in Pressbooks .
The following examples illustrate URLs that are hidden by default (no option to unhide):
Front Matter
Displays WordPress page listing for Front Matter
http://domainname/sitename/wp-admin/edit.php?post_type=front-matter
Back Matter
Displays WordPress page listing for Back Matter
http://domainname/sitename/wp-admin/edit.php?post_type=back-matter
Trash
When a page is deleted or “moved to trash” it disappears from the organization panel and is held in the trash. The path statement to view the trash listing is:
http://domainname/sitename/wp-admin/edit.php?post_status=trash&post_type=chapter
Favicon
The favicon defaults to a PB image which is complimentary to Pressbooks but perhaps not to a specific site[17]. The global site favicon can be modified in the Pressbooks plugin default Pressbooks Publisher theme site customizer (i.e., Appearance > Customize). However, to modify an individual book site favicon requires a specific path statement to view the customizer options is:
http://domainname/sitename/wp-admin/customize.php
The Time Tinkerers Project Summary[18] on October 2, 2013 noted that Pressbooks did not include a back cover for the PDF. A potential solution is to create a web page in the Pressbooks Back Matter with the content for the back cover.
Web Browsers
The Pressbooks release (v.3.1.2) allowed easier linking of HTML anchors within a page. However, creating anchors in Pressbooks was frustrating when trying to link an anchor on one page to another location on a different page. Bidirectional linking of citations and bibliographies on the same page was challenging, as id and href are manually created as a mirror image.
Example syntax:
citation
<a id=”Merkley-1″ href=”#Merkley-2″>2016</a>
bibliography
<a id=”Merkley-2″ href=”#Merkley-1″>Merkley, R</a>
In addition, manually entering cross site anchor links must conform to the correct URL syntax, otherwise certain web browsers will fail to read the link correctly.
In example, the following URL with anchor used in one page to link to another page location works in all web browsers except Mac Safari (v.9.0.3):
https://on-linelearning.ca/professionalwriting/chapter/how-do-you-effectively-communicate-your-ideas#exercise6
Safari consequently displays the top of the landing page, rather than the anchor location. What happens is that other web browsers automatically enter a / symbol in front of the # symbol.
Hence, a solution to developing valid links is to use the following syntax:
https://on-linelearning.ca/professionalwriting/chapter/how-do-you-effectively-communicate-your-ideas/#exercise6
- https://www.centos.org/ ↵
- http://www.linux-kvm.org/page/Main_Page ↵
- https://wordpress.org/ ↵
- https://wordpress.org/plugins/pressbooks/ ↵
- https://wordpress.org/plugins/pressbooks-textbook/ ↵
- https://en.wikipedia.org/wiki/Scalable_Vector_Graphics ↵
- https://en.wikipedia.org/wiki/LibreOffice ↵
- https://mkoryak.github.io/floatThead/ ↵
- http://guide.pressbooks.com/chapter/section-breaks-page-breaks-and-blank-pages/ ↵
- Writing an online, open textbook: is it worth it? http://www.tonybates.ca/2015/06/10/writing-an-online-open-textbook-is-it-worth-it/ ↵
- https://en.wikipedia.org/wiki/TinyMCE ↵
- http://ipadpeek.com/ ↵
- http://quirktools.com/screenfly/ ↵
- How to Test Your Ebooks http://guide.pressbooks.com/chapter/testing-your-ebooks/ ↵
- How to view an ebook https://vook.com/viewing-your-ebook/ ↵
- http://www.idpf.org/epub/301/spec/epub-publications.html#sec-package-metadata-fxl ↵
- Favicon Customize Option https://github.com/pressbooks/pressbooks/issues/255 ↵
- http://tkbr.ccsp.sfu.ca/mpub/2013/10/02/the-time-tinkerers-project-summary/ ↵
Feedback/Errata