Skip to content
CCA Libraries implementation of Open Library Bookreader
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bookreader @ 6abeb6a
cca-images
css
js
vendor
.gitignore
.gitmodules
Gruntfile.js
images
index.html
package-lock.json
package.json
readme.md

readme.md

CCA Libraries Bookreader

Interactive bookreader used in VAULT for displaying artist's books. A customized version of Open Library's Bookreader.

Development Notes

If you have npm you can run npm run demo to open a sample artist book on a Python server running locally. You will need to be signed into VAULT as an account with permission to see the book in order for images to load.

Some grunt tasks are available:

  • grunt build minifies JS, CSS, & copies production files in a "dist" directory
  • grunt watch watches the JS, CSS, & index.html files for changes & then builds

Our Customizations live primarily in the js/app.js file, which is based off of bookreader/BookReaderDemo/BookReaderJSAdvanced.js, and in the SCSS files in the "css" directory.

VAULT & File URLs

VAULT interacts with the Bookreader by constructing special links filled with item metadata that tell the Bookreader how to render a particular item's attachments as a book. Here's an example:

{{book.reader.domain}}/?title=Awesome%20Book&id=d79ea3fb-6d87-4003-9b40-9b322dcd87fc&version=1&filenames=page&pages=9

I've made the keys italics in the query string and their values bold to highlight what information is passed. Here are the meanings of these fields and how the bookreader uses them:

  • title is used to render a link in the upper left & set the <title> of the page
  • id is the VAULT item's UUID
  • version is the VAULT item's version
  • filenames are the filename prefixes in front of each page number, e.g. for files like "page1.jpg" they would be "page"
  • pages is the number of pages (indexed from 1, not 0)

Most of these pieces of information are used to determine what VAULT file URL corresponds to which book page number. The information is parsed out of the URL's query string and serialized in a global vaultItem object which app.js then uses to set certain configurations for the Open Library Bookreader.

Links

You can’t perform that action at this time.