|Minimum required ownCloud 8.1|
Maximum required ownCloud 9.2
|Submitted: Sep 29 2014|
Updated: Feb 3 2017
Attention: this version of Reader only works in Owncloud 8.1 and up! For Owncloud 8.0, use version 0.6.0: https://github.com/Yetangitu/owncloud-apps/blob/master/dist/files_reader-0.6.0.tar.gz. For Owncloud 7 and lower, use version 0.5.0: https://github.com/Yetangitu/owncloud-apps/blob/master/dist/files_reader-0.5.0.tar.gz.
Using the futurepress epub.js renderer it provides near-native looks, especially when used full-screen. Turn pages by pressing the left/right hand side of the screen/window or using the cursor keys (if you have those), use the sidebar to browse through chapters or bookmarks and add annotations.
Reader has a night mode (toggled by clicking or pressing the book title/author on top of the viewer) to read in the dark without waking up the neighbours. This is obviously most effective when used full-screen. The colours used for night mode are configurable in the Settings dialog.
Also in Settings you'll find the option to use ignore any internal formatting in the book by forcing a given font style and size.
Version 0.6.0 and lower: for this option to work on Gecko-based browsers you'll need to edit your Owncloud configuration file. Add the following line to the end of the file, or modify an existing custom_csp_policy by adding the blob: type to style-src:
'custom_csp_policy' => 'default-src \'self\'; script-src \'self\' \'unsafe-inline\' \'unsafe-eval\'; style-src \'self\' \'unsafe-inline\' data: blob:; frame-src *; img-src *; font-src \'self\' data: blob:; media-src *',
The reason for this configuration change is that Gecko (the layout engine used in Firefox, Seamonkey and other Mozilla-derived browsers) does not allow script access to blob: data sources unless they're explicitly included in the CSP, see http://lists.w3.org/Archives/Public/public-webappsec/2014Apr/0021.html
1: Unpack the archive in the apps directory.
2: Edit the Owncloud configuration file (config.php, often found in /etc/owncloud) to add or amend the custom_csp_policy. This step is not strictly necessary, but without it Gecko-based browsers will not allow Reader(s) to apply a custom font style and size.
Gecko-based browsers (Firefox, Seamonkey et al) sometimes refuse to render a book when that book has been visited before in the same session, instead producing an NS_ERROR_FAILURE error (visible in the console) related to history.pushState(). If this happens, simply close the browser tab or window and reopen it to view the book.
The futurepress epub.js renderer is not tolerant of malformed epub files. If your book does not show, check the epub for errors using one of the available tools (epubcheck https://github.com/IDPF/epubcheck/releases seems to be the golden standard).
Reader registers itself as capable of handling the application/epub+zip mime type. If other apps also register themselves for that mime type, behaviour is 'undefined' - when I tested this situation, the app which was enabled first owned the mime type but as to whether this is by design or by chance I don't know. This is an area where Owncloud can be improved by offering a choice between available handler applications with the option of choosing a default handler, comparable to the way Android handles this scenario. One example of an app which registers this mime type is files_epubviewer.
Night mode seems to fail on some documents. I've seen this happen on one Calibre-converted document (Machiavelli's 'The Prince', converted from https://ebooks.adelaide.edu.au/m/machiavelli/niccolo/m149p/m149p.mobi to epub) where the foreground (text) colour did not change from black, rendering the document unreadable in night mode. The reason for this failure is as of yet unknown, it seems like it 'should' work but it does not.
Webkit-based browsers have problems with CRLF (Windows/DOS-originating files) in XML documents. If your document works in Gecko-based browsers but fails in Webkit-based ones, this could be the issue. If you create your own ePub documents, make sure to use Unix line ending conventions.
The Reader app is hosted on github: https://github.com/Yetangitu/owncloud-apps
In the current version all settings (progress, bookmarks, annotations, etc) are stored locally on the device, not in owncloud. Settings are not stored at all - yet.
The search option has not been implemented yet.
The futurepress epub renderer is rather picky when it comes to accepting malformed epub files. If your book does not show, this is likely to be the reason.
Compatibility with Internet Explorer is not guaranteed, the first version to even attempt to produce sensible results is 0.7.0. Please test and let me know whether it works.
0.8.4#31: ReferenceError: cleanStartTextContent is not defined, caused by failure to declare local var in epub.js
Missing $title parameter in templates/reader.php caused warnings in log -> fixed.
Workaround implemented for incompatibility introduced by Nextcloud port. Nextcloud mandates the use of CSPv3 while Owncloud does not support this (for now), Reader now checks whether support is available and implements workaround if it is not.
TEMPORARILY WITHDRAWN DUE TO INCOMPATIBILITY WITH OWNCLOUD due to the use of Nextcloud-specific functions
Sanitised info.xml for inclusion in Nextcloud app repository
LICENCE CHANGED FROM LGPL TO AGPL to enable inclusion in Nextcloud app repository (which only supports AGPL-licenced code)
Updated futurepress epub.js library to 0.2.15
Compatible with Nextcloud [up to v12)
Raised maximum OC/NC version to 9.2
Add minimum supported version in info.xml to keep OC9.0 from complaining about this being an error in OC11...
Updated futurepress epub.js library to 0.2.13
Experimental compatibility with Internet Explorer (using Wicked Good XPath: https://github.com/google/wicked-good-xpath) - please test
Ported to Owncloud 8.1, does NOT work in 8.0 and lower.
Updated futurepress epub.js library to 0.2.8
Ported to Owncloud 8, should work with OC7 as well - please test
Updated futurepress epub.js library to 0.2.5, relocated to /vendor directory to make updating easier
Updated futurepress epub.js library to 0.2.3, using JSZip.
Reader did not handle files with '+' in filename due do (double) url_decode (https://github.com/Yetangitu/owncloud-apps/issues/2), this now works. Please test with 'strange' filenames, it is possible that this fix breaks other files
Added ocsid to appinfo/info.xml
Initial preparations for L10N (no translations available yet)
Reverted to tar.gz (instead of zip) for the distribution file
Distribution is now through a link to a github repo instead of a locally uploaded file.
Earlier versions mangled some filenames due to overenthusiastic URL encoding, rendering these files inaccessible to Reader. This has been fixed.
Updated futurepress epub.js library to 0.2.2
0.4.2 did not work as intended on mobile/small-screen devices, this has been fixed.
0.4.2 - withdrawn (caused problems on mobile)
Use private js namespace ('READER') for Reader to avoid collisions with other apps. An example of such a collision was the inability of Reader and ePubViewer to coexist peacefully, this now works as intended.
Updated version number (was still at 0.3). No other changes.
New option: disable extra wide page navigation area. While handy on touch-screen devices, the extra-wide page navigation area overlaps the content window and makes it impossible to select links in the overlapped area. When this option is enabled, the page navigation area is always outside of the content margins, making it possible to select links - but harder to turn pages on touch-screen devices. This option is disabled by default on touch-screen devices, enabled otherwise.
The app info section contained the wrong name, this has been corrected.
Automatic app-store install did not work for some users, probably due to the fact that Reader was distributed as a gzipped tar file. This version is distributed as a zip file, maybe it works now?
Bug related to iOS devices fixed
Ignore book formatting by forcing your own font style and size. This can be configured and toggled in the Settings dialog.
Night mode colours can now be configured in the Settings dialog. The static style sheet is no longer included.
The Settings dialog was unusable in the previous version due to a misconfigured style directive. This has been fixed.
Night mode, toggle by clicking/pressing book title/author, colours are defined in css/night.css (just don't mess with the CSS selector ('.night *') if you want the thing to work as planned). Maybe this should be user-configurable from within reader? Maybe later.
Free memory by explicitly destroying book context when the close button is pressed
Apple-specific markup to allow reader to work as a full-screen app. This works elsewhere without needing vendor-specific markup - IE6 is dead, long live Safari?
This is the first version. At the core of Reader lies the futurepress epub.js library (https://github.com/futurepress/epub.js) with some small modifications to fix some bugs and some additions to make it run on a wider spectrum of devices.
It has been tested on Gecko-based browsers (Firefox and Seamonkey) on Linux and Android, Chromium on Linux and Android, Chrome on Android and Safari on iOS 7.
The current version works on the latest (4.4) Android default browser, earlier Android versions lacked certain features needed to get it (or rather the embedded zip.js library) to work. For those earlier versions of Android the Chrome and Firefox browsers are good alternatives.