This Confluence wiki site, maintained by DuraSpace prior to the recent merger with LYRASIS, will transition from the duraspace.org domain to the lyrasis.org domain on Saturday, Nov 16 beginning at approximately 7pm ET. A period of downtime of 2-3 hours is expected. After the transition, this wiki will be available at https://wiki.lyrasis.org/. All links to duraspace.org wiki pages will be redirected to the correct lyrasis.org URL. If you have questions prior to or following the transition please contact: wikihelp@lyrasis.org.

Current Release
This documentation covers the latest release of Islandora 7.x. For the very latest in Islandora, we recommend Islandora 8.

Skip to end of metadata
Go to start of metadata

Overview

This is an Islandora viewer module using OpenSeadragon. It allows users to view large image datastreams (like JPEG-2000) through image tile servers and can be used with Book/Newspaper Pages and Large Images. This module supports a custom Djatoka tilesource and a IIIF tilesource.

Dependencies

In addition, either Djatoka or a IIIF image server needs to be setup.
Note: when using the Islandora Paged Content module, you may need Djatoka installed even if you use a IIIF Image Server. See ISLANDORA-2461 for more on this.

OpenSeadragon

The OpenSeadragon JavaScript library is not included in this module. Openseadragon 2.3.1 is known to work well with Islandora. You can use Drush to download and install it automatically or do it manually.

Older versions must be updated. You can do this quickly with the provided Drush command.

Drush OpenSeadragon installation

This module provides a Drush command to download and install a recent version of OpenSeadragon. It is advisable to move (not copy) the install script to your .drush folder and run the following command from that folder:

drush openseadragon-plugin

Manual OpenSeadragon installation

Download the OpenSeadragon 2.3.1 binary release and install the Openseadragon library to your sites/libraries folder.


Reverse Proxy

A reverse proxy can be used to make an image server available on the same domain as Drupal, so that cross-origin resource access and the need for CORS headers are avoided.

Various applications can be used as a reverse proxy; Apache HTTPD and nginx are common in reverse proxy setups. For details on configuring your reverse proxy, you should consult the documentation for your application of choice.

Note: if you use a reverse proxy, you may need to configure the image server as well, so that it knows what external URLs are used to reach the image server. Whether this is necessary and how the image server needs to be configured, depends on the image server.

Configuration

Set the paths for your chosen Image Server in  admin » Islandora  » Islandora Viewers  » OpenSeadragon 

Djatoka Image Server

When you use the Adore-Djatoka Image Server ("Djatoka"), you need to set the base URL to the Adore-Djatoka server OpenURL resolver. The base URL depends on the setup of Djatoka, including (optional) configuration of a reverse proxy.

By default, Islandora OpenSeadragon expects that the Djatoka OpenURL resolver is reachable on the same domain name and port as Islandora itself, at the path adore-djatoka/resolver. A checkmark and confirmation message appear when Islandora can connect to the server. If Islandora cannot connect to the server, a cross and error message appear.

IIIF Server

When you use the IIIF Image Server, you need to specify:

  • the base URL of the image server;
  • whether to send the image access token as a HTTP header instead of a query parameter;
  • the pattern to use as the image identifier.

As with Djatoka, the base URL depends on the setup of your IIIF image server and reverse proxy, if you use one. Any IIIF image server can be used as the IIIF tile source. This IIIF server does need to be configured to resolve the image identifier to retrieve the image.

By default, Islandora OpenSeadragon uses the full URL to the image's JP2 datastream and the image access token as image identifier. If you use the Cantaloupe 🍈 IIIF image server, you can configure it to resolve these identifiers using the HttpResolver with no prefix specified.

Configuration Screenshots

There are a lot of options to configure OpenSeadragon. Here are screenshots to every available option in the current version. Labels next to the fields explain what each option is for; this is therefore not repeated in this page.

Configure Image Server

Fields for configuration of a IIIF Image Server source

  • Note the option to select either an Adore-Djatoka Image Server or a IIIF Image server - you will be prompted after selecting with a field where you can enter your image server URL.

Configure Open Seadragon Tile Source Settings

  • Note that interface documentation links will take you to relevant Seadragon documentation, not back to this page.

Open Seadragon Viewer Settings

section continues...

section continues...

section continues...

section continues...


Expanded Mouse Pointer Gesture Settings

Expanded Touch Pointer Gesture Settings

Expanded Pen Pointer Gesture Settings

Expanded Unknown Pointer Gesture Settings

Open Seadragon Viewer Settings (Continued)

section continues...


section continues...


Troubleshooting/Issues

Having problems? Check out the Islandora google groups for a solution. Have a solution (or a problem with these docs)? Share it with the community!

  • No labels

5 Comments

  1. This page's link to "OpenSeadragon" under "Dependencies" links to http://openseadragon.github.io/releases/openseadragon-bin-0.9.129.zip, but that library throws errors in Islandora 1.10

    I think the link should point to the Openseadragon library version 2.2.1 - https://github.com/openseadragon/openseadragon/releases/download/v2.2.1/openseadragon-bin-2.2.1.zip


    1. Fixed. Thanks, Peter!

  2. This document seems to indicate that the correct version of openseadragon to use is "Openseadragon 2.2.1" and the "Download" link points to that version (https://github.com/openseadragon/openseadragon/releases/download/v2.2.1/openseadragon-bin-2.2.1.zip).

    However, the Release notes for 7x-1.11 (Release Notes and Downloads) says to use "Openseadragon 2.3.1".

    The two places should agree on which version to use. I presume the preferred one in "2.3.1."

    Peter

  3. From a quick `git blame` on the readme, updating this page was intended but forgotten as part of this pull request. Do you want to do the honours?