openlibrary/bookreader — pull request #27 by aMoniker (2013-05-15 07:28:18+00:00)
Title: New Features: Notes and Annotations

This branch adds two new features to BookReader called Notes and Annotations.

These features were developed as part of a project sponsored by the Association of Historians of Nineteenth-Century Art and have been featured in [an article](http://www.19thc-artworldwide.org/index.php/spring13/lewis-millers-guide-to-central-park) of their Spring 2013 issue. See the modifications to the reader [in action](http://www.19thc-artworldwide.org/images/stories/spring_13/articles/omalley_barush/album_images/lewis_miller_guide_to_central_park/index.html#page/1/mode/1up) by clicking the additional icons in the toolbar area of the upper-right.

The Notes feature is available by setting `br.features.notes = true;` in the reader's config. Likewise Annotations are enabled by setting `br.features.annotations = true;`.

The Notes button will return any notes (when available) for the current page by calling the overridable function `getNotes`.

The Annotations button will toggle the display of annotated areas of each page. When these areas are clicked they spawn additional popups containing arbitrary HTML content. Their position and content is defined by the `br.annotations` object within the config. You can see how this is set up [here](http://www.19thc-artworldwide.org/images/stories/spring_13/articles/omalley_barush/album_images/lewis_miller_guide_to_central_park/BookReaderNCAWSetup.js).

In the example, I've added the content as hidden divs in index.html which then gets pulled into each popup (which is useful for SEO purposes). It could also be included via javascript as part of the `br.notes` and `br.annotations` objects.

Please take a look at the live features in the article, and the changes to the code. I'll be happy to answer any questions and work with you to get these features integrated with BookReader.