{"id":60,"date":"2015-09-10T11:08:18","date_gmt":"2015-09-10T15:08:18","guid":{"rendered":"https:\/\/on-linelearning.ca\/e-volution\/?post_type=chapter&#038;p=60"},"modified":"2022-08-08T18:58:29","modified_gmt":"2022-08-08T22:58:29","slug":"development","status":"publish","type":"chapter","link":"https:\/\/on-linelearning.ca\/mem\/chapter\/development\/","title":{"raw":"Development","rendered":"Development"},"content":{"raw":"The <a href=\"https:\/\/on-linelearning.ca\/epub\/chapter\/design\/\">tree swing analogy<\/a> 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.\r\n\r\nEmploying computing technologies that are flexible and stable in a one content-for-all e-publishing system is a dream.\u00a0 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.\r\n<h1>Building an e-Publishing Platform<\/h1>\r\nA 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.\r\n<h2>Hardware<\/h2>\r\n<ul>\r\n \t<li>Linux server - Intel Core 2 Duo P9xxx (Penryn Class Core 2), 4G RAM, 100G Disk Space<\/li>\r\n<\/ul>\r\n<h2>Software<\/h2>\r\n<ul>\r\n \t<li>CentOS 7 operating system bundled with Apache 2.4.6, PHP 5.4.16 and MariaDB Server 5.5.41 (MySQL fork) [footnote]https:\/\/www.centos.org\/[\/footnote]<\/li>\r\n \t<li>Virtualization application - Linux KVM [footnote]http:\/\/www.linux-kvm.org\/page\/Main_Page[\/footnote]<\/li>\r\n \t<li>Multisite Wordpress v.4.3.1 [footnote]https:\/\/wordpress.org\/[\/footnote]<\/li>\r\n \t<li>Pressbook System\u00a0[footnote]https:\/\/wordpress.org\/plugins\/pressbooks\/[\/footnote] (including Pressbooks Textbook [footnote]https:\/\/wordpress.org\/plugins\/pressbooks-textbook\/[\/footnote])<\/li>\r\n \t<li>Pressbooks external dependencies:\r\n<ul>\r\n \t<li>MOBI export for KindleGen - Version 2.9<\/li>\r\n \t<li>EPUB validation with EpubCheck - Version 3.0.1<\/li>\r\n \t<li>XML validation with xmllint - Version 2.9.1-5.el7_1.2.x86_64<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li>Wordpress Network Plugins - i.e., Security, Backup, Statistics, Media Handler<\/li>\r\n<\/ul>\r\n<h2>Wordpress Network Plugins<\/h2>\r\nTable 4.1 <em>Wordpress Plugins Installed for the Pilot Project<\/em>\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>PLUGIN<\/strong><\/td>\r\n<td><strong>DESCRIPTION<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/enable-media-replace\/\" rel=\"noopener noreferrer\">Enable Media Replace<\/a><\/strong><\/td>\r\n<td>Enable replacing media files by uploading a new file in the \"Edit Media\" section of the WordPress Media Library.\r\nVersion 3.0.3 | By M\u00e5ns Jonasson<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/pressbooks\/\" rel=\"noopener noreferrer\">Pressbooks<\/a><\/strong><\/td>\r\n<td colspan=\"2\">Simple Book Production\r\nVersion 2.7.2 | By BookOven Inc.<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/pressbooks-textbook\/\" rel=\"noopener noreferrer\">Pressbooks Textbook<\/a><\/strong><\/td>\r\n<td colspan=\"2\">A plugin that extends Pressbooks for textbook authoring\r\nVersion 1.2.16 | By Brad Payne<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/responsive-scrolling-tables\/\" rel=\"noopener noreferrer\">Responsive Scrolling Tables<\/a><\/strong><\/td>\r\n<td colspan=\"2\">Responsive Scrolling Tables detects when tables are bigger then their containers and makes them scroll instead of flowing over the boundary of the container.\r\nVersion 1.2.1 | By T J Dixon Limited<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"plugin-title column-primary\"><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/svg-support\/\" rel=\"noopener noreferrer\">SVG Support<\/a><\/strong><\/td>\r\n<td colspan=\"2\">Allow SVG file uploads using the WordPress Media Library uploader plus direct styling of SVG elements using CSS.\r\nVersion 2.2.2 | By Benbodhi<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong><a target=\"_blank\" href=\"http:\/\/Thin Out Revisions\" rel=\"noopener noreferrer\">Thin Out Revisions<\/a><\/strong><\/td>\r\n<td colspan=\"2\">A plugin for better revision management. Enables flexible management for you.\r\nVersion 1.8.3 | By Hirokazu Matsui<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/updraftplus\/\" rel=\"noopener noreferrer\">UpdraftPlus - Backup\/Restore<\/a><\/strong><\/td>\r\n<td colspan=\"2\">Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV &amp; email, on automatic schedules.\r\nVersion 2.11.9.20 | By UpdraftPlus.Com, DavidAnderson<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wordfence\/\" rel=\"noopener noreferrer\">Wordfence Security<\/a><\/strong><\/td>\r\n<td colspan=\"2\">Wordfence Security - Anti-virus, Firewall and High Speed Cache\r\nVersion 6.0.20 | By Wordfence<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-slimstat\/\" rel=\"noopener noreferrer\">WP Slimstat<\/a><\/strong><\/td>\r\n<td colspan=\"2\">The leading web analytics plugin for WordPress\r\nVersion 4.1.8.1 | By Camu<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong>WP SlimStat - Default Filters<\/strong><\/td>\r\n<td colspan=\"2\">Determine what filters should be loaded by default when your reports are initialized.\r\nVersion 1.4 | By Slimstat<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong>WP SlimStat - Email Reports<\/strong><\/td>\r\n<td colspan=\"2\">Override your sites' settings with a global configuration\r\nVersion 2.2 | By WP Slimstat<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>\u00a0<strong>WP SlimStat - Export to Excel<\/strong><\/td>\r\n<td colspan=\"2\">Export your reports as a CSV file.\r\nVersion 2.5 | By WP Slimstat<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong>WP SlimStat - Firewall Fix<\/strong><\/td>\r\n<td colspan=\"2\">Fix the collection of IP addresses when the webserver is behind a proxy, firewall or load balancer.\r\nVersion 1.6.1 | By WP Slimstat<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong>WP SlimStat - Network Settings<\/strong><\/td>\r\n<td colspan=\"2\">Override your sites' settings with a global configuration\r\nVersion 1.2.1 | By Camu<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong>WP SlimStat - Network View<\/strong><\/td>\r\n<td colspan=\"2\">Access a network view of your reports.\r\nVersion 1.3.1 | By Camu<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><strong>WP SlimStat - Track Cookies<\/strong><\/td>\r\n<td colspan=\"2\">Collect all the cookies associated with the domain sent by the browser.\r\nVersion 1.5 | By WP Slimstat<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nThese 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.\u00a0 In general, it is not a question of <em>if<\/em> but rather <em>when<\/em> 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.\r\n<h1>Technology Challenges<\/h1>\r\n<ul>\r\n \t<li>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)<\/li>\r\n \t<li>Wordpress plugins may work in their current version, but an update may not function as expected<\/li>\r\n \t<li>More Wordpress plugins mean greater risk of failure due to incompatibilities, security, and software stability<\/li>\r\n \t<li>E-Textbook administrator access issues due to excessive security plugin settings on a Wordpress Multisite<\/li>\r\n \t<li>Obtaining a campus sub-domain name and webserver<\/li>\r\n \t<li>Provide a demo sample of a functioning external Pressbooks site as proof of concept\r\n(achieved using an instance of Pressbooks on a PHP\/MYSQL Internet host)<\/li>\r\n \t<li>Useful Wordpress plugins such as shortcodes and table generators will not work in Pressbooks<\/li>\r\n \t<li>Many useful Wordpress plugins work for multsite installs but not in Pressbooks<\/li>\r\n \t<li>PDF content layout is different from EPUB format that is free flowing\u00a0 (difficult to cite a page number from fluid layout)<\/li>\r\n \t<li>Third party application may be required, as an EPUB reader is not built into all operating systems (i.e., Microsoft Windows 10)<\/li>\r\n \t<li>Wide tables display poorly in EPUB version<\/li>\r\n \t<li>Presentation of tables in Wordpress Pressbooks is simplified compared to output from a word processor or desktop publishing software<\/li>\r\n \t<li>Hidden functions within Pressbooks by design<\/li>\r\n<\/ul>\r\n<h2>Wide Tables Phenomenon<\/h2>\r\nLong 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.\u00a0 Unfortunately the Pressbooks EPUB format export displays wide tables from HTML pages as cropped text across pages, as per screen capture from iBooks reader:\r\n\r\n<a href=\"https:\/\/on-linelearning.ca\/epub\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683.png\"><img src=\"https:\/\/on-linelearning.ca\/epub\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683-1024x651.png\" alt=\"EPUB_LONGHTMLTABLE_1075x683\" class=\"alignnone wp-image-352 size-large\" width=\"1024\" height=\"651\" \/><\/a>\r\n\r\n<em>Figure 4.1<\/em> Sample Table Presentation Issue in an EPUB format (original web page version: <a target=\"_blank\" href=\"https:\/\/on-linelearning.ca\/clinical-teaching\/chapter\/chapter-two-where-do-i-fit-in-articulating-a-personal-philosophy\" rel=\"noopener noreferrer\">https:\/\/on-linelearning.ca\/clinical-teaching\/chapter\/chapter-two-where-do-i-fit-in-articulating-a-personal-philosophy<\/a>)\r\n\r\nThe current work around table solution for the EPUB format is to replace the table with an SVG image [footnote]https:\/\/en.wikipedia.org\/wiki\/Scalable_Vector_Graphics[\/footnote].\u00a0 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.\r\n\r\nThere are two workflows to achieve an SVG in Pressbooks and authoring:\r\n<ol>\r\n \t<li>Pressbooks SVG\r\n<ol>\r\n \t<li>invoke the SVG Support plugin and modifying the Pressbook Settings &gt; Network Settings &gt; Upload file types &gt; SVG.<\/li>\r\n \t<li>Create a duplicate content of the chapters with long tables and substitute the long HTML tables with the corresponding SVG file.<\/li>\r\n<\/ol>\r\n<\/li>\r\n \t<li>Authoring SVG Tables (assuming SVG Support plugin installed) - Install LibreOffice[footnote]https:\/\/en.wikipedia.org\/wiki\/LibreOffice[\/footnote] 5.x and create a new Spreadsheet.\u00a0 Select relevant cells, copy then create a new Drawing and Paste Special, and then select calc# from list.\u00a0 Select relevant objects and export to SVG (enable Automatic file name extension and Selection).\u00a0 Add SVG file into Pressbooks.<\/li>\r\n<\/ol>\r\nAn 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.\r\n<h3 style=\"padding-left: 30px;\">Experiment<\/h3>\r\n<p style=\"padding-left: 30px;\">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).\u00a0 Hence, default table CSS in the themes appears to be optimized to display in equal size for all formats.<\/p>\r\n<p style=\"padding-left: 30px;\">Future research in floating headers via jQuery may be useful for EPUB output, assuming EPUB format can function with jQuery.\u00a0 In example, jQuery.floatThread[footnote]https:\/\/mkoryak.github.io\/floatThead\/[\/footnote].<\/p>\r\n\r\n<h2>PDF Export Content Layout<\/h2>\r\nThe text in the web page editor can include page breaks[footnote]http:\/\/guide.pressbooks.com\/chapter\/section-breaks-page-breaks-and-blank-pages\/[\/footnote], 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.\u00a0 Hence, using any manual page breaks was avoided, unless it was critical to reading the content correctly.\u00a0 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.\r\n<h1>Human Collaboration<\/h1>\r\nHuman factors can be the most challenging aspect of any project, as they are far less predictable than computers.\u00a0 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.\r\n<h2>Key Actions<\/h2>\r\n<ul>\r\n \t<li>Group email stakeholders (digest content rather than twitter messages)<\/li>\r\n \t<li>Have VOIP (Skype) meeting (preempted with agenda email)<\/li>\r\n \t<li>Bring scope and timelines into alignment<\/li>\r\n \t<li>Remain positive, flexible, and ready for compromise<\/li>\r\n \t<li>Prepare a proof of concept site to move forward and assist in discussions<\/li>\r\n \t<li>Continue researching technology applications as time permits<\/li>\r\n \t<li>Monitor pulse of project to keep the momentum<\/li>\r\n<\/ul>\r\nMaintaining 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.\r\n<h2>Visualize Mobile<\/h2>\r\nOvercoming 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.\u00a0 The EPUB, MOBI, and HTML formats have dramatically simplified styling and layout to maintain optimal compatibility between export formats.\u00a0 Hence, a PDF generated by Pressbooks will appear more basic and clean compared to a colourful iBook PDF.\u00a0 As noted by Dr. Tony Bates[footnote]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\/[\/footnote], interactivity is difficult to incorporate into the content.\u00a0 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.\u00a0 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[footnote]https:\/\/en.wikipedia.org\/wiki\/TinyMCE[\/footnote]), the stage of evolution in the EPUB format, and the range of electronic devices that need to be accommodated.\r\n\r\nTo aid in visualizing how the e-textbook would appear on mobile devices, several emulator applications were employed for different outputs:\r\n<h3 style=\"padding-left: 30px;\">Web<\/h3>\r\n<ul>\r\n \t<li>iPad Peek and Phone Peek[footnote]http:\/\/ipadpeek.com\/[\/footnote]<\/li>\r\n \t<li>Screenfly[footnote]http:\/\/quirktools.com\/screenfly\/[\/footnote]<\/li>\r\n<\/ul>\r\n<h3 style=\"padding-left: 30px;\">EPUB and MOBI<\/h3>\r\n<ul>\r\n \t<li>How to Test Your Ebooks[footnote]How to Test Your Ebooks http:\/\/guide.pressbooks.com\/chapter\/testing-your-ebooks\/[\/footnote]<\/li>\r\n \t<li>or How to view an ebook[footnote]How to view an ebook https:\/\/vook.com\/viewing-your-ebook\/[\/footnote]<\/li>\r\n<\/ul>\r\n<h3 style=\"padding-left: 30px;\">WordPress<\/h3>\r\n<ul>\r\n \t<li>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 &gt; Customize)<\/li>\r\n<\/ul>\r\nWide 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[footnote]http:\/\/www.idpf.org\/epub\/301\/spec\/epub-publications.html#sec-package-metadata-fxl[\/footnote] 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.\r\n<h2>Quirks<\/h2>\r\n<h3>Pressbooks<\/h3>\r\nSeemingly by design there are hidden functions in Pressbooks that can be retrieved by button links or using a path statement.\r\n\r\nThe buttons in the red box outline of Figure 4.2, are a WordPress display of content (rather than Pressbooks layout).\r\n\r\n<img src=\"https:\/\/on-linelearning.ca\/epub\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist1.png\" alt=\"Pressbooks Button links\" class=\"alignnone size-full wp-image-840\" width=\"552\" height=\"82\" \/>\r\n\r\n<img src=\"https:\/\/on-linelearning.ca\/epub\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist2.png\" alt=\"WordPress Content List\" class=\"size-full wp-image-841 aligncenter\" width=\"787\" height=\"263\" \/>\r\n\r\n<em>Figure 4.2<\/em>\u00a0Administrator view URL (http:\/\/domainname\/sitename\/wp-admin\/<strong>edit.php?post_type=chapter<\/strong>) of WordPress page listing in Pressbooks .\r\n\r\nThe following examples illustrate URLs that are hidden by default (no option to unhide):\r\n<h3 style=\"padding-left: 30px;\">Front Matter<\/h3>\r\n<p style=\"padding-left: 30px;\">Displays WordPress page listing for Front Matter<\/p>\r\n<p style=\"padding-left: 60px;\">http:\/\/domainname\/sitename\/wp-admin\/<strong>edit.php?post_type=front-matter<\/strong><\/p>\r\n\r\n<h3 style=\"padding-left: 30px;\">Back Matter<\/h3>\r\n<p style=\"padding-left: 30px;\">Displays WordPress page listing for Back Matter<\/p>\r\n<p style=\"padding-left: 60px;\">http:\/\/domainname\/sitename\/wp-admin\/<strong>edit.php?post_type=back-matter<\/strong><\/p>\r\n\r\n<h3 style=\"padding-left: 30px;\">Trash<\/h3>\r\n<p style=\"padding-left: 30px;\">When a page is deleted or \"moved to trash\" it disappears from the organization panel and is held in the trash.\u00a0 The path statement to view the trash listing is:<\/p>\r\n<p style=\"padding-left: 60px;\">http:\/\/domainname\/sitename\/wp-admin\/<strong>edit.php?post_status=trash&amp;post_type=chapter<\/strong><\/p>\r\n\r\n<h3 style=\"padding-left: 30px;\">Favicon<\/h3>\r\n<p style=\"padding-left: 30px;\">The favicon defaults to a PB image which is complimentary to Pressbooks but perhaps not to a specific site[footnote]Favicon Customize Option https:\/\/github.com\/pressbooks\/pressbooks\/issues\/255[\/footnote]. The global site favicon can be modified in the Pressbooks plugin default Pressbooks Publisher theme site customizer (i.e., Appearance &gt; Customize).\u00a0 However, to modify an individual book site favicon requires a specific path statement to view the customizer options is:<\/p>\r\n<p style=\"padding-left: 60px;\">http:\/\/domainname\/sitename\/wp-admin\/<strong>customize.php<\/strong><\/p>\r\nThe Time Tinkerers Project Summary[footnote]http:\/\/tkbr.ccsp.sfu.ca\/mpub\/2013\/10\/02\/the-time-tinkerers-project-summary\/[\/footnote] on October 2, 2013 noted that Pressbooks did not include a back cover for the PDF.\u00a0 A potential solution is to create a web page in the Pressbooks Back Matter with the content for the back cover.\r\n<h3>Web Browsers<\/h3>\r\nThe Pressbooks release (v.3.1.2) allowed easier linking of HTML anchors within a page.\u00a0 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.\r\n\r\nExample syntax:\r\n\r\ncitation\r\n&lt;a <strong>id=\"Merkley-1\"<\/strong> <strong>href=\"#Merkley-2\"<\/strong>&gt;2016&lt;\/a&gt;\r\n\r\nbibliography\r\n&lt;a <strong>id=\"Merkley-2\"<\/strong> <strong>href=\"#Merkley-1\"<\/strong>&gt;Merkley, R&lt;\/a&gt;\r\n\r\nIn 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.\r\n\r\nIn 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):\r\n\r\nhttps:\/\/on-linelearning.ca\/professionalwriting\/chapter\/how-do-you-effectively-communicate-your-ideas<span style=\"background-color: #ffff99;\"><strong>#<\/strong><\/span>exercise6\r\n\r\nSafari consequently displays the top of the landing page, rather than the anchor location.\u00a0 What happens is that other web browsers automatically enter a <span style=\"background-color: #ffff99;\">\/<\/span> symbol in front of the <span style=\"background-color: #ffff99;\">#<\/span> symbol.\r\n\r\nHence, a solution to developing valid links is to use the following syntax:\r\n\r\nhttps:\/\/on-linelearning.ca\/professionalwriting\/chapter\/how-do-you-effectively-communicate-your-ideas<span style=\"background-color: #ffff99;\"><strong>\/#<\/strong><\/span>exercise6","rendered":"<p>The <a href=\"https:\/\/on-linelearning.ca\/epub\/chapter\/design\/\">tree swing analogy<\/a> 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.<\/p>\n<p>Employing computing technologies that are flexible and stable in a one content-for-all e-publishing system is a dream.\u00a0 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.<\/p>\n<h1>Building an e-Publishing Platform<\/h1>\n<p>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.<\/p>\n<h2>Hardware<\/h2>\n<ul>\n<li>Linux server &#8211; Intel Core 2 Duo P9xxx (Penryn Class Core 2), 4G RAM, 100G Disk Space<\/li>\n<\/ul>\n<h2>Software<\/h2>\n<ul>\n<li>CentOS 7 operating system bundled with Apache 2.4.6, PHP 5.4.16 and MariaDB Server 5.5.41 (MySQL fork) <a class=\"footnote\" title=\"https:\/\/www.centos.org\/\" id=\"return-footnote-60-1\" href=\"#footnote-60-1\" aria-label=\"Footnote 1\"><sup class=\"footnote\">[1]<\/sup><\/a><\/li>\n<li>Virtualization application &#8211; Linux KVM <a class=\"footnote\" title=\"http:\/\/www.linux-kvm.org\/page\/Main_Page\" id=\"return-footnote-60-2\" href=\"#footnote-60-2\" aria-label=\"Footnote 2\"><sup class=\"footnote\">[2]<\/sup><\/a><\/li>\n<li>Multisite WordPress v.4.3.1 <a class=\"footnote\" title=\"https:\/\/wordpress.org\/\" id=\"return-footnote-60-3\" href=\"#footnote-60-3\" aria-label=\"Footnote 3\"><sup class=\"footnote\">[3]<\/sup><\/a><\/li>\n<li>Pressbook System\u00a0<a class=\"footnote\" title=\"https:\/\/wordpress.org\/plugins\/pressbooks\/\" id=\"return-footnote-60-4\" href=\"#footnote-60-4\" aria-label=\"Footnote 4\"><sup class=\"footnote\">[4]<\/sup><\/a> (including Pressbooks Textbook <a class=\"footnote\" title=\"https:\/\/wordpress.org\/plugins\/pressbooks-textbook\/\" id=\"return-footnote-60-5\" href=\"#footnote-60-5\" aria-label=\"Footnote 5\"><sup class=\"footnote\">[5]<\/sup><\/a>)<\/li>\n<li>Pressbooks external dependencies:\n<ul>\n<li>MOBI export for KindleGen &#8211; Version 2.9<\/li>\n<li>EPUB validation with EpubCheck &#8211; Version 3.0.1<\/li>\n<li>XML validation with xmllint &#8211; Version 2.9.1-5.el7_1.2.x86_64<\/li>\n<\/ul>\n<\/li>\n<li>WordPress Network Plugins &#8211; i.e., Security, Backup, Statistics, Media Handler<\/li>\n<\/ul>\n<h2>WordPress Network Plugins<\/h2>\n<p>Table 4.1 <em>WordPress Plugins Installed for the Pilot Project<\/em><\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>PLUGIN<\/strong><\/td>\n<td><strong>DESCRIPTION<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/enable-media-replace\/\" rel=\"noopener noreferrer\">Enable Media Replace<\/a><\/strong><\/td>\n<td>Enable replacing media files by uploading a new file in the &#8220;Edit Media&#8221; section of the WordPress Media Library.<br \/>\nVersion 3.0.3 | By M\u00e5ns Jonasson<\/td>\n<\/tr>\n<tr>\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/pressbooks\/\" rel=\"noopener noreferrer\">Pressbooks<\/a><\/strong><\/td>\n<td colspan=\"2\">Simple Book Production<br \/>\nVersion 2.7.2 | By BookOven Inc.<\/td>\n<\/tr>\n<tr>\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/pressbooks-textbook\/\" rel=\"noopener noreferrer\">Pressbooks Textbook<\/a><\/strong><\/td>\n<td colspan=\"2\">A plugin that extends Pressbooks for textbook authoring<br \/>\nVersion 1.2.16 | By Brad Payne<\/td>\n<\/tr>\n<tr>\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/responsive-scrolling-tables\/\" rel=\"noopener noreferrer\">Responsive Scrolling Tables<\/a><\/strong><\/td>\n<td colspan=\"2\">Responsive Scrolling Tables detects when tables are bigger then their containers and makes them scroll instead of flowing over the boundary of the container.<br \/>\nVersion 1.2.1 | By T J Dixon Limited<\/td>\n<\/tr>\n<tr>\n<td class=\"plugin-title column-primary\"><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/svg-support\/\" rel=\"noopener noreferrer\">SVG Support<\/a><\/strong><\/td>\n<td colspan=\"2\">Allow SVG file uploads using the WordPress Media Library uploader plus direct styling of SVG elements using CSS.<br \/>\nVersion 2.2.2 | By Benbodhi<\/td>\n<\/tr>\n<tr>\n<td><strong><a target=\"_blank\" href=\"http:\/\/Thin Out Revisions\" rel=\"noopener noreferrer\">Thin Out Revisions<\/a><\/strong><\/td>\n<td colspan=\"2\">A plugin for better revision management. Enables flexible management for you.<br \/>\nVersion 1.8.3 | By Hirokazu Matsui<\/td>\n<\/tr>\n<tr>\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/updraftplus\/\" rel=\"noopener noreferrer\">UpdraftPlus &#8211; Backup\/Restore<\/a><\/strong><\/td>\n<td colspan=\"2\">Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV &amp; email, on automatic schedules.<br \/>\nVersion 2.11.9.20 | By UpdraftPlus.Com, DavidAnderson<\/td>\n<\/tr>\n<tr>\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wordfence\/\" rel=\"noopener noreferrer\">Wordfence Security<\/a><\/strong><\/td>\n<td colspan=\"2\">Wordfence Security &#8211; Anti-virus, Firewall and High Speed Cache<br \/>\nVersion 6.0.20 | By Wordfence<\/td>\n<\/tr>\n<tr>\n<td><strong><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-slimstat\/\" rel=\"noopener noreferrer\">WP Slimstat<\/a><\/strong><\/td>\n<td colspan=\"2\">The leading web analytics plugin for WordPress<br \/>\nVersion 4.1.8.1 | By Camu<\/td>\n<\/tr>\n<tr>\n<td><strong>WP SlimStat &#8211; Default Filters<\/strong><\/td>\n<td colspan=\"2\">Determine what filters should be loaded by default when your reports are initialized.<br \/>\nVersion 1.4 | By Slimstat<\/td>\n<\/tr>\n<tr>\n<td><strong>WP SlimStat &#8211; Email Reports<\/strong><\/td>\n<td colspan=\"2\">Override your sites&#8217; settings with a global configuration<br \/>\nVersion 2.2 | By WP Slimstat<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<strong>WP SlimStat &#8211; Export to Excel<\/strong><\/td>\n<td colspan=\"2\">Export your reports as a CSV file.<br \/>\nVersion 2.5 | By WP Slimstat<\/td>\n<\/tr>\n<tr>\n<td><strong>WP SlimStat &#8211; Firewall Fix<\/strong><\/td>\n<td colspan=\"2\">Fix the collection of IP addresses when the webserver is behind a proxy, firewall or load balancer.<br \/>\nVersion 1.6.1 | By WP Slimstat<\/td>\n<\/tr>\n<tr>\n<td><strong>WP SlimStat &#8211; Network Settings<\/strong><\/td>\n<td colspan=\"2\">Override your sites&#8217; settings with a global configuration<br \/>\nVersion 1.2.1 | By Camu<\/td>\n<\/tr>\n<tr>\n<td><strong>WP SlimStat &#8211; Network View<\/strong><\/td>\n<td colspan=\"2\">Access a network view of your reports.<br \/>\nVersion 1.3.1 | By Camu<\/td>\n<\/tr>\n<tr>\n<td><strong>WP SlimStat &#8211; Track Cookies<\/strong><\/td>\n<td colspan=\"2\">Collect all the cookies associated with the domain sent by the browser.<br \/>\nVersion 1.5 | By WP Slimstat<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>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.\u00a0 In general, it is not a question of <em>if<\/em> but rather <em>when<\/em> 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.<\/p>\n<h1>Technology Challenges<\/h1>\n<ul>\n<li>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)<\/li>\n<li>WordPress plugins may work in their current version, but an update may not function as expected<\/li>\n<li>More WordPress plugins mean greater risk of failure due to incompatibilities, security, and software stability<\/li>\n<li>E-Textbook administrator access issues due to excessive security plugin settings on a WordPress Multisite<\/li>\n<li>Obtaining a campus sub-domain name and webserver<\/li>\n<li>Provide a demo sample of a functioning external Pressbooks site as proof of concept<br \/>\n(achieved using an instance of Pressbooks on a PHP\/MYSQL Internet host)<\/li>\n<li>Useful WordPress plugins such as shortcodes and table generators will not work in Pressbooks<\/li>\n<li>Many useful WordPress plugins work for multsite installs but not in Pressbooks<\/li>\n<li>PDF content layout is different from EPUB format that is free flowing\u00a0 (difficult to cite a page number from fluid layout)<\/li>\n<li>Third party application may be required, as an EPUB reader is not built into all operating systems (i.e., Microsoft Windows 10)<\/li>\n<li>Wide tables display poorly in EPUB version<\/li>\n<li>Presentation of tables in WordPress Pressbooks is simplified compared to output from a word processor or desktop publishing software<\/li>\n<li>Hidden functions within Pressbooks by design<\/li>\n<\/ul>\n<h2>Wide Tables Phenomenon<\/h2>\n<p>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.\u00a0 Unfortunately the Pressbooks EPUB format export displays wide tables from HTML pages as cropped text across pages, as per screen capture from iBooks reader:<\/p>\n<p><a href=\"https:\/\/on-linelearning.ca\/epub\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/on-linelearning.ca\/epub\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683-1024x651.png\" alt=\"EPUB_LONGHTMLTABLE_1075x683\" class=\"alignnone wp-image-352 size-large\" width=\"1024\" height=\"651\" srcset=\"https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683-1024x651.png 1024w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683-300x191.png 300w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683-65x41.png 65w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683-225x143.png 225w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683-350x222.png 350w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2015\/12\/EPUB_LONGHTMLTABLE_1075x683.png 1075w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p><em>Figure 4.1<\/em> Sample Table Presentation Issue in an EPUB format (original web page version: <a target=\"_blank\" href=\"https:\/\/on-linelearning.ca\/clinical-teaching\/chapter\/chapter-two-where-do-i-fit-in-articulating-a-personal-philosophy\" rel=\"noopener noreferrer\">https:\/\/on-linelearning.ca\/clinical-teaching\/chapter\/chapter-two-where-do-i-fit-in-articulating-a-personal-philosophy<\/a>)<\/p>\n<p>The current work around table solution for the EPUB format is to replace the table with an SVG image <a class=\"footnote\" title=\"https:\/\/en.wikipedia.org\/wiki\/Scalable_Vector_Graphics\" id=\"return-footnote-60-6\" href=\"#footnote-60-6\" aria-label=\"Footnote 6\"><sup class=\"footnote\">[6]<\/sup><\/a>.\u00a0 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.<\/p>\n<p>There are two workflows to achieve an SVG in Pressbooks and authoring:<\/p>\n<ol>\n<li>Pressbooks SVG\n<ol>\n<li>invoke the SVG Support plugin and modifying the Pressbook Settings &gt; Network Settings &gt; Upload file types &gt; SVG.<\/li>\n<li>Create a duplicate content of the chapters with long tables and substitute the long HTML tables with the corresponding SVG file.<\/li>\n<\/ol>\n<\/li>\n<li>Authoring SVG Tables (assuming SVG Support plugin installed) &#8211; Install LibreOffice<a class=\"footnote\" title=\"https:\/\/en.wikipedia.org\/wiki\/LibreOffice\" id=\"return-footnote-60-7\" href=\"#footnote-60-7\" aria-label=\"Footnote 7\"><sup class=\"footnote\">[7]<\/sup><\/a> 5.x and create a new Spreadsheet.\u00a0 Select relevant cells, copy then create a new Drawing and Paste Special, and then select calc# from list.\u00a0 Select relevant objects and export to SVG (enable Automatic file name extension and Selection).\u00a0 Add SVG file into Pressbooks.<\/li>\n<\/ol>\n<p>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.<\/p>\n<h3 style=\"padding-left: 30px;\">Experiment<\/h3>\n<p style=\"padding-left: 30px;\">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).\u00a0 Hence, default table CSS in the themes appears to be optimized to display in equal size for all formats.<\/p>\n<p style=\"padding-left: 30px;\">Future research in floating headers via jQuery may be useful for EPUB output, assuming EPUB format can function with jQuery.\u00a0 In example, jQuery.floatThread<a class=\"footnote\" title=\"https:\/\/mkoryak.github.io\/floatThead\/\" id=\"return-footnote-60-8\" href=\"#footnote-60-8\" aria-label=\"Footnote 8\"><sup class=\"footnote\">[8]<\/sup><\/a>.<\/p>\n<h2>PDF Export Content Layout<\/h2>\n<p>The text in the web page editor can include page breaks<a class=\"footnote\" title=\"http:\/\/guide.pressbooks.com\/chapter\/section-breaks-page-breaks-and-blank-pages\/\" id=\"return-footnote-60-9\" href=\"#footnote-60-9\" aria-label=\"Footnote 9\"><sup class=\"footnote\">[9]<\/sup><\/a>, 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.\u00a0 Hence, using any manual page breaks was avoided, unless it was critical to reading the content correctly.\u00a0 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.<\/p>\n<h1>Human Collaboration<\/h1>\n<p>Human factors can be the most challenging aspect of any project, as they are far less predictable than computers.\u00a0 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.<\/p>\n<h2>Key Actions<\/h2>\n<ul>\n<li>Group email stakeholders (digest content rather than twitter messages)<\/li>\n<li>Have VOIP (Skype) meeting (preempted with agenda email)<\/li>\n<li>Bring scope and timelines into alignment<\/li>\n<li>Remain positive, flexible, and ready for compromise<\/li>\n<li>Prepare a proof of concept site to move forward and assist in discussions<\/li>\n<li>Continue researching technology applications as time permits<\/li>\n<li>Monitor pulse of project to keep the momentum<\/li>\n<\/ul>\n<p>Maintaining a collaborative group at a distance required constant focused communications. Getting to what the &#8220;client(s) wanted&#8221; is often more about compromise, as time is a universal constant that supercedes everyone and everything.<\/p>\n<h2>Visualize Mobile<\/h2>\n<p>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.\u00a0 The EPUB, MOBI, and HTML formats have dramatically simplified styling and layout to maintain optimal compatibility between export formats.\u00a0 Hence, a PDF generated by Pressbooks will appear more basic and clean compared to a colourful iBook PDF.\u00a0 As noted by Dr. Tony Bates<a class=\"footnote\" title=\"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\/\" id=\"return-footnote-60-10\" href=\"#footnote-60-10\" aria-label=\"Footnote 10\"><sup class=\"footnote\">[10]<\/sup><\/a>, interactivity is difficult to incorporate into the content.\u00a0 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.\u00a0 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<a class=\"footnote\" title=\"https:\/\/en.wikipedia.org\/wiki\/TinyMCE\" id=\"return-footnote-60-11\" href=\"#footnote-60-11\" aria-label=\"Footnote 11\"><sup class=\"footnote\">[11]<\/sup><\/a>), the stage of evolution in the EPUB format, and the range of electronic devices that need to be accommodated.<\/p>\n<p>To aid in visualizing how the e-textbook would appear on mobile devices, several emulator applications were employed for different outputs:<\/p>\n<h3 style=\"padding-left: 30px;\">Web<\/h3>\n<ul>\n<li>iPad Peek and Phone Peek<a class=\"footnote\" title=\"http:\/\/ipadpeek.com\/\" id=\"return-footnote-60-12\" href=\"#footnote-60-12\" aria-label=\"Footnote 12\"><sup class=\"footnote\">[12]<\/sup><\/a><\/li>\n<li>Screenfly<a class=\"footnote\" title=\"http:\/\/quirktools.com\/screenfly\/\" id=\"return-footnote-60-13\" href=\"#footnote-60-13\" aria-label=\"Footnote 13\"><sup class=\"footnote\">[13]<\/sup><\/a><\/li>\n<\/ul>\n<h3 style=\"padding-left: 30px;\">EPUB and MOBI<\/h3>\n<ul>\n<li>How to Test Your Ebooks<a class=\"footnote\" title=\"How to Test Your Ebooks http:\/\/guide.pressbooks.com\/chapter\/testing-your-ebooks\/\" id=\"return-footnote-60-14\" href=\"#footnote-60-14\" aria-label=\"Footnote 14\"><sup class=\"footnote\">[14]<\/sup><\/a><\/li>\n<li>or How to view an ebook<a class=\"footnote\" title=\"How to view an ebook https:\/\/vook.com\/viewing-your-ebook\/\" id=\"return-footnote-60-15\" href=\"#footnote-60-15\" aria-label=\"Footnote 15\"><sup class=\"footnote\">[15]<\/sup><\/a><\/li>\n<\/ul>\n<h3 style=\"padding-left: 30px;\">WordPress<\/h3>\n<ul>\n<li>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 &gt; Customize)<\/li>\n<\/ul>\n<p>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<a class=\"footnote\" title=\"http:\/\/www.idpf.org\/epub\/301\/spec\/epub-publications.html#sec-package-metadata-fxl\" id=\"return-footnote-60-16\" href=\"#footnote-60-16\" aria-label=\"Footnote 16\"><sup class=\"footnote\">[16]<\/sup><\/a> display that is easier to read on mobile devices. Unfortunately, reflowable text does not fit within the APA style of identifying &#8220;pages&#8221;. However, this paradigm shift in what constitutes a &#8220;page&#8221; may create a different approach to uniquely identifying and tagging content for citation.<\/p>\n<h2>Quirks<\/h2>\n<h3>Pressbooks<\/h3>\n<p>Seemingly by design there are hidden functions in Pressbooks that can be retrieved by button links or using a path statement.<\/p>\n<p>The buttons in the red box outline of Figure 4.2, are a WordPress display of content (rather than Pressbooks layout).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/on-linelearning.ca\/epub\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist1.png\" alt=\"Pressbooks Button links\" class=\"alignnone size-full wp-image-840\" width=\"552\" height=\"82\" srcset=\"https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist1.png 552w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist1-300x45.png 300w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist1-65x10.png 65w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist1-225x33.png 225w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist1-350x52.png 350w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/on-linelearning.ca\/epub\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist2.png\" alt=\"WordPress Content List\" class=\"size-full wp-image-841 aligncenter\" width=\"787\" height=\"263\" srcset=\"https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist2.png 787w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist2-300x100.png 300w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist2-768x257.png 768w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist2-65x22.png 65w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist2-225x75.png 225w, https:\/\/on-linelearning.ca\/mem\/wp-content\/uploads\/sites\/3\/2016\/04\/WPlist2-350x117.png 350w\" sizes=\"auto, (max-width: 787px) 100vw, 787px\" \/><\/p>\n<p><em>Figure 4.2<\/em>\u00a0Administrator view URL (http:\/\/domainname\/sitename\/wp-admin\/<strong>edit.php?post_type=chapter<\/strong>) of WordPress page listing in Pressbooks .<\/p>\n<p>The following examples illustrate URLs that are hidden by default (no option to unhide):<\/p>\n<h3 style=\"padding-left: 30px;\">Front Matter<\/h3>\n<p style=\"padding-left: 30px;\">Displays WordPress page listing for Front Matter<\/p>\n<p style=\"padding-left: 60px;\">http:\/\/domainname\/sitename\/wp-admin\/<strong>edit.php?post_type=front-matter<\/strong><\/p>\n<h3 style=\"padding-left: 30px;\">Back Matter<\/h3>\n<p style=\"padding-left: 30px;\">Displays WordPress page listing for Back Matter<\/p>\n<p style=\"padding-left: 60px;\">http:\/\/domainname\/sitename\/wp-admin\/<strong>edit.php?post_type=back-matter<\/strong><\/p>\n<h3 style=\"padding-left: 30px;\">Trash<\/h3>\n<p style=\"padding-left: 30px;\">When a page is deleted or &#8220;moved to trash&#8221; it disappears from the organization panel and is held in the trash.\u00a0 The path statement to view the trash listing is:<\/p>\n<p style=\"padding-left: 60px;\">http:\/\/domainname\/sitename\/wp-admin\/<strong>edit.php?post_status=trash&amp;post_type=chapter<\/strong><\/p>\n<h3 style=\"padding-left: 30px;\">Favicon<\/h3>\n<p style=\"padding-left: 30px;\">The favicon defaults to a PB image which is complimentary to Pressbooks but perhaps not to a specific site<a class=\"footnote\" title=\"Favicon Customize Option https:\/\/github.com\/pressbooks\/pressbooks\/issues\/255\" id=\"return-footnote-60-17\" href=\"#footnote-60-17\" aria-label=\"Footnote 17\"><sup class=\"footnote\">[17]<\/sup><\/a>. The global site favicon can be modified in the Pressbooks plugin default Pressbooks Publisher theme site customizer (i.e., Appearance &gt; Customize).\u00a0 However, to modify an individual book site favicon requires a specific path statement to view the customizer options is:<\/p>\n<p style=\"padding-left: 60px;\">http:\/\/domainname\/sitename\/wp-admin\/<strong>customize.php<\/strong><\/p>\n<p>The Time Tinkerers Project Summary<a class=\"footnote\" title=\"http:\/\/tkbr.ccsp.sfu.ca\/mpub\/2013\/10\/02\/the-time-tinkerers-project-summary\/\" id=\"return-footnote-60-18\" href=\"#footnote-60-18\" aria-label=\"Footnote 18\"><sup class=\"footnote\">[18]<\/sup><\/a> on October 2, 2013 noted that Pressbooks did not include a back cover for the PDF.\u00a0 A potential solution is to create a web page in the Pressbooks Back Matter with the content for the back cover.<\/p>\n<h3>Web Browsers<\/h3>\n<p>The Pressbooks release (v.3.1.2) allowed easier linking of HTML anchors within a page.\u00a0 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.<\/p>\n<p>Example syntax:<\/p>\n<p>citation<br \/>\n&lt;a <strong>id=&#8221;Merkley-1&#8243;<\/strong> <strong>href=&#8221;#Merkley-2&#8243;<\/strong>&gt;2016&lt;\/a&gt;<\/p>\n<p>bibliography<br \/>\n&lt;a <strong>id=&#8221;Merkley-2&#8243;<\/strong> <strong>href=&#8221;#Merkley-1&#8243;<\/strong>&gt;Merkley, R&lt;\/a&gt;<\/p>\n<p>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.<\/p>\n<p>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):<\/p>\n<p>https:\/\/on-linelearning.ca\/professionalwriting\/chapter\/how-do-you-effectively-communicate-your-ideas<span style=\"background-color: #ffff99;\"><strong>#<\/strong><\/span>exercise6<\/p>\n<p>Safari consequently displays the top of the landing page, rather than the anchor location.\u00a0 What happens is that other web browsers automatically enter a <span style=\"background-color: #ffff99;\">\/<\/span> symbol in front of the <span style=\"background-color: #ffff99;\">#<\/span> symbol.<\/p>\n<p>Hence, a solution to developing valid links is to use the following syntax:<\/p>\n<p>https:\/\/on-linelearning.ca\/professionalwriting\/chapter\/how-do-you-effectively-communicate-your-ideas<span style=\"background-color: #ffff99;\"><strong>\/#<\/strong><\/span>exercise6<\/p>\n<hr class=\"before-footnotes clear\" \/><div class=\"footnotes\"><ol><li id=\"footnote-60-1\">https:\/\/www.centos.org\/ <a href=\"#return-footnote-60-1\" class=\"return-footnote\" aria-label=\"Return to footnote 1\">&crarr;<\/a><\/li><li id=\"footnote-60-2\">http:\/\/www.linux-kvm.org\/page\/Main_Page <a href=\"#return-footnote-60-2\" class=\"return-footnote\" aria-label=\"Return to footnote 2\">&crarr;<\/a><\/li><li id=\"footnote-60-3\">https:\/\/wordpress.org\/ <a href=\"#return-footnote-60-3\" class=\"return-footnote\" aria-label=\"Return to footnote 3\">&crarr;<\/a><\/li><li id=\"footnote-60-4\">https:\/\/wordpress.org\/plugins\/pressbooks\/ <a href=\"#return-footnote-60-4\" class=\"return-footnote\" aria-label=\"Return to footnote 4\">&crarr;<\/a><\/li><li id=\"footnote-60-5\">https:\/\/wordpress.org\/plugins\/pressbooks-textbook\/ <a href=\"#return-footnote-60-5\" class=\"return-footnote\" aria-label=\"Return to footnote 5\">&crarr;<\/a><\/li><li id=\"footnote-60-6\">https:\/\/en.wikipedia.org\/wiki\/Scalable_Vector_Graphics <a href=\"#return-footnote-60-6\" class=\"return-footnote\" aria-label=\"Return to footnote 6\">&crarr;<\/a><\/li><li id=\"footnote-60-7\">https:\/\/en.wikipedia.org\/wiki\/LibreOffice <a href=\"#return-footnote-60-7\" class=\"return-footnote\" aria-label=\"Return to footnote 7\">&crarr;<\/a><\/li><li id=\"footnote-60-8\">https:\/\/mkoryak.github.io\/floatThead\/ <a href=\"#return-footnote-60-8\" class=\"return-footnote\" aria-label=\"Return to footnote 8\">&crarr;<\/a><\/li><li id=\"footnote-60-9\">http:\/\/guide.pressbooks.com\/chapter\/section-breaks-page-breaks-and-blank-pages\/ <a href=\"#return-footnote-60-9\" class=\"return-footnote\" aria-label=\"Return to footnote 9\">&crarr;<\/a><\/li><li id=\"footnote-60-10\">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\/ <a href=\"#return-footnote-60-10\" class=\"return-footnote\" aria-label=\"Return to footnote 10\">&crarr;<\/a><\/li><li id=\"footnote-60-11\">https:\/\/en.wikipedia.org\/wiki\/TinyMCE <a href=\"#return-footnote-60-11\" class=\"return-footnote\" aria-label=\"Return to footnote 11\">&crarr;<\/a><\/li><li id=\"footnote-60-12\">http:\/\/ipadpeek.com\/ <a href=\"#return-footnote-60-12\" class=\"return-footnote\" aria-label=\"Return to footnote 12\">&crarr;<\/a><\/li><li id=\"footnote-60-13\">http:\/\/quirktools.com\/screenfly\/ <a href=\"#return-footnote-60-13\" class=\"return-footnote\" aria-label=\"Return to footnote 13\">&crarr;<\/a><\/li><li id=\"footnote-60-14\">How to Test Your Ebooks http:\/\/guide.pressbooks.com\/chapter\/testing-your-ebooks\/ <a href=\"#return-footnote-60-14\" class=\"return-footnote\" aria-label=\"Return to footnote 14\">&crarr;<\/a><\/li><li id=\"footnote-60-15\">How to view an ebook https:\/\/vook.com\/viewing-your-ebook\/ <a href=\"#return-footnote-60-15\" class=\"return-footnote\" aria-label=\"Return to footnote 15\">&crarr;<\/a><\/li><li id=\"footnote-60-16\">http:\/\/www.idpf.org\/epub\/301\/spec\/epub-publications.html#sec-package-metadata-fxl <a href=\"#return-footnote-60-16\" class=\"return-footnote\" aria-label=\"Return to footnote 16\">&crarr;<\/a><\/li><li id=\"footnote-60-17\">Favicon Customize Option https:\/\/github.com\/pressbooks\/pressbooks\/issues\/255 <a href=\"#return-footnote-60-17\" class=\"return-footnote\" aria-label=\"Return to footnote 17\">&crarr;<\/a><\/li><li id=\"footnote-60-18\">http:\/\/tkbr.ccsp.sfu.ca\/mpub\/2013\/10\/02\/the-time-tinkerers-project-summary\/ <a href=\"#return-footnote-60-18\" class=\"return-footnote\" aria-label=\"Return to footnote 18\">&crarr;<\/a><\/li><\/ol><\/div>","protected":false},"author":1,"menu_order":4,"comment_status":"open","ping_status":"open","template":"","meta":{"pb_show_title":"on","pb_short_title":"Chapter 4 - Development","pb_subtitle":"","pb_authors":[],"pb_section_license":"","_wp_rev_ctl_limit":""},"chapter-type":[52],"contributor":[],"license":[],"class_list":["post-60","chapter","type-chapter","status-publish","hentry","chapter-type-numberless"],"part":3,"_links":{"self":[{"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/pressbooks\/v2\/chapters\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":3,"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/pressbooks\/v2\/chapters\/60\/revisions"}],"predecessor-version":[{"id":1433,"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/pressbooks\/v2\/chapters\/60\/revisions\/1433"}],"part":[{"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/pressbooks\/v2\/chapters\/60\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/pressbooks\/v2\/chapter-type?post=60"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/wp\/v2\/contributor?post=60"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/on-linelearning.ca\/mem\/wp-json\/wp\/v2\/license?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}