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.
- 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.
- 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!
5 Comments
Peter MacDonald
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
Rosie Le Faive
Fixed. Thanks, Peter!
Peter MacDonald
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
Rosie Le Faive
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?
Peter MacDonald
done.