Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

On This Page

...

Table of Contents

...

excludeOn This Page

...

Overview of Dependencies

Most Islandora Solution Packs and some modules will require that you have one or more of the following dependencies installed so that Islandora Content Models can perform prescribed actions on your data objects. Review Chapter 5 - Islandora Solution Packs to see what dependencies are required for the solution packs you wish to install.

Apache Reverse Proxy

If you wish to use an iframe with the Islandora Viewer you must configure Apache with  a reverse proxy. Note: These instructions are for configurations with Fedora running on the same server as Drupal.

...

  1. Add the following to Apache's httpd.conf file or desired virtual host, if using Apache virtual hosts:

    Code Block
    languagexml
    ProxyRequests Off

    ProxyPreserveHost On
    <Proxy \*>

    	Order deny,allow

    	Allow from all

    </Proxy>
    ProxyPass /fedora/get http://localhost:8080/fedora/get
    ProxyPassReverse /fedora/get http://localhost:8080/fedora/get

    ProxyPass /fedora/services http://localhost:8080/fedora/services

    ProxyPassReverse /fedora/services http://localhost:8080/fedora/services

    ProxyPass /fedora/describe http://localhost:8080/fedora/describe

    ProxyPassReverse /fedora/describe http://localhost:8080/fedora/describe
    ProxyPass /iiv http://localhost:8080/iiv
    ProxyPassReverse /iiv http://localhost:8080/iiv
    ProxyPass /fedora/risearch http://localhost:8080/fedora/risearch

    ProxyPassReverse /fedora/risearch http://localhost:8080/fedora/risearch
    ProxyPass /adore-djatoka http://localhost:8080/adore-djatoka
    ProxyPassReverse /adore-djatoka http://localhost:8080/adore-djatoka
    
  2. Test your configuration by navigating to http://localhost/fedora/risearch to view the Fedora resource index page.

 

Djatoka

Djatoka is a Java-based open source image server that provides compression and region extraction of JPEG 2000 images, URI-addressability of regions, and support for a rich set of input/output image formats (e.g., BMP, GIF, JPG, PNG, PNM, TIF, JPEG 2000).

...

  1. Download and install Djatoka on your Fedora server by following the installation instructions at: http://sourceforge.net/apps/mediawiki/djatoka/index.php?title=Installation.
  2. For this example, we have installed Djatoka in /opt/adore-djatoka-1.1. Once Djatoka has been verified and installed, you will need to change the environment variables in the $CATALINA_HOME/bin/startup.sh script. At the very end of the file, insert the following:

    Code Block
    . /opt/adore-djatoka-1.1/bin/env.sh
    
    export JAVA_OPTS
    
    echo $JAVA_OPTS
    
    exec "$PRGDIR"/"$EXECUTABLE" start "$@"
  3. Then, modify the env.sh file found in /opt/adore-djatoka-1.1/bin/

      a) At the top of the file:

    Change this:

    To this:

    #!/bin/sh
    # setup environment variables for shell script

    # Define DJATOKA_HOME dynamically
    LAUNCHDIR=$PWD
    cd ..

    DJATOKA_HOME=`pwd`
    LIBPATH=$DJATOKA_HOME/lib

    #!/bin/sh
    # setup environment variables for shell script
    CURRENTDIR=$PWD
    # Define DJATOKA_HOME dynamically
    LAUNCHDIR=/opt/adore-djatoka-1.1/bin
    #cd ..

    DJATOKA_HOME=/opt/adore-djatoka-1.1
    LIBPATH=$DJATOKA_HOME/lib

      b) Then, at the bottom of the file:

    Change this:

    To this:

    KAKADU_HOME=$DJATOKA_HOME/bin/$PLATFORM
    export KAKADU_HOME
    cd $LAUNCHDIR

    for line in `ls -1 $LIBPATH | grep '.jar'`
      do
      classpath="$classpath:$LIBPATH/$line"
    done



    #DEBUG="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
    CLASSPATH=.:../build/:$classpath
    JAVA_OPTS="$DEBUG -Djava.awt.headless=true  -Xmx512M -Xms64M -Dkakadu.home=$KAKADU_HOME -Djava.library.path=$LIBPATH/$PLATFORM $KAKADU_LIBRARY_PATH"

    KAKADU_HOME=$DJATOKA_HOME/bin/$PLATFORM
    #cd $LAUNCHDIR


    #for line in `ls -1 $LIBPATH | grep '.jar'`
     # do
     # classpath="$classpath:$LIBPATH/$line"
    #done
    #go back to tomcat dir
    #cd $CURRENTDIR

    #DEBUG="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
    #CLASSPATH=.:../build/:$classpath
    JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -Dkakadu.home=$KAKADU_HOME -Djava.library.path=$LIBPATH/$PLATFORM $KAKADU_LIBRARY_PATH"

  4. Restart Fedora and test the Djatoka application by going to: http://\[fedora-server\]:8080/adore-djatoka

    To test your installation, click the 'Update Image' button. If you do not see part of an image from the Library of Congress there is a problem with your Djatoka installation. Go back and review the installation instructions to make sure that they were followed correctly.

    Info

    Though not required, it is a good idea to set the path for Djatoka log files. You can do this by adding a line to the log4j.properties file. For example:

    log.dir=/usr/local/fedora/server/logs/

 

Accommodating Viewing Restrictions for Djatoka

The Djatoka image viewer must send authentication credentials to Fedora in order to get titles back. For most set-ups, this communication between Djatoka and Fedora will be direct. However, if you wish to put Djatoka behind an authentication wall to restrict the view of objects to certain users in Fedora, you will need to make some additional configurations.

...

  1. Make the following change to the web.xml located in $CATALINA_HOME/webapps/fedora/WEB-INF/

    Code Block
    <filter>
    <filter-name>DrupalFilter</filter-name>
    <filter-class>ca.upei.roblib.fedora.servletfilter.FilterDrupal</filter-class>
    </filter>
    
    <filter>
    <filter-name>IslandoraAuthFilter</filter-name>
    <filter-class>ca.upei.roblib.fedora.servletfilter.FilterIslandoraAuth</filter-class>
    </filter>
    
    <filter>
    <filter-name>RestApiAuthnFilter</filter-name>
    <filter-class>fedora.server.security.servletfilters.FilterRestApiAuthn</filter-class>
    </filter>
    
    ...
    
    <filter-mapping>
    <filter-name>DrupalFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <filter-mapping>
    <filter-name>IslandoraAuthFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <filter-mapping>
    <filter-name>EnforceAuthnFilter</filter-name>
    <servlet-name>AxisServlet</servlet-name>
    </filter-mapping>
  2. Then, modify the $FEDORA_HOME/server/config/filter-drupal.xml file by adding the following the bottom of the file, just before 
</FilterDrupal_Connection>

    Code Block
    <service_requests>
    <service name="djatoka">
    
    <\!-\- space-separated list of allowed ips. use 'local' to allow requests from same ip as fedora \-->
    <allowed_ips>local</allowed_ips>
    
    <\!-\- request uri must match this regex to be eligible for service access \-->
    <allowed_uri_pattern>^.*/(JP2\|TEI)$</allowed_uri_pattern>
    
    <\!-\- <allowed_uri_pattern>^.*$</allowed_uri_pattern> \-->
    
    <\!-\- space-separated list of roles granted to service requests \-->
    <roles>administrator fedora_anonymous</roles>
    
    </service>
    </service_requests>
  3. Restart Fedora to apply the changes.
  4. To test the filter, access a Fedora with large image objects that have restricted security policies.

 

ExifTool

ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing metadata in a wide variety of formats. ExifTool is used by the Audio Solution Pack to read and write metadata for audio files. Islandora currently uses ExifTool version 3.5.

ExifTool can be obtained from the project home page: http://www.sno.phy.queensu.ca/%7Ephil/exiftool/. Installation will differ depending on your operating system; please see the installation instructions for details.

ImageMagick

ImageMagick is used to create thumbnail and medium-size JPEF versions of ingested images. Most Linux systems ship with ImageMagick already installed. If your system does not have the command-line program "convert" you will need to install ImageMagick using your OS's package manager, or on Mac OS X install it from source using http://www.macports.org. JPEG2000 support is not required in ImageMagick since we are using Kakadu.

We recommend using ImageMagick version 6.7 and higher and the corresponding Ghostscript installation. You can download ImageMagick (and find installation instructions) on the Binary Release page: http://www.imagemagick.org/script/binary-releases.php.

Islandora Viewer

The Islandora Viewer is a JAVA application served up by Tomcat, which enables the viewing of web-based images and PDFs as a virtual document. It is required by the Large Image Solution Pack, Newspaper Solution Pack, and Book Solution Pack. The viewer provides zoom, scrolling and pagination capabilities.

...

Note

If you are using Fedora 3.5, you will need to edit FEDORA_HOME/server/config/spring/web/security.xml and comment out the following line: <security:filter-chain pattern="/risearch*" filters="ChannelFilter,AuthFilterJAAS" />.

Lame

Lame is distributed as source code only and requires the ability to use a C compiler. To learn more about the LAME MP3 Encoder, visit http://lame.sourceforge.net/

...

Code Block
sudo apt-get install lame

Kakadu

Source: Kakadu Software - Description

...

  • Djatoka includes Kakadu executable files. If Drupal and Fedora are on the same server you should be able to copy or symlink kdu_compress to somewhere on the Apache users classpath.

SWF Tools

This suite of Drupal modules is used primarily by the Audio Solution Pack - Ready for Review (KS). You can download if from the Drupal project page.

...

  • SWF Tools
  • JW Media Player 5
  • SWF Object 2

Tesseract

Tesseract is an OCR engine that was developed at HP Labs between 1985 and 1995 - it is currently being developed at Google. Recognized as one of the most accurate open source OCR engines available, Tesseract will read binary, grey, or colour images and output text. A TIFF reader that will read uncompressed TIFF images is also included.

...

Info

Automatic page orientation detection was added in Tesseract 3.01. For more information, see the Tesseract Project Home.

Video Dependencies

A number of video conversion dependencies are required by the Video Solution Pack. Most of the conversion work is handled by FFmpeg, a complete, cross-platform solution to record, convert and stream audio and video. However, conversion to the Ogg Vorbis format requires ffmpeg2theora, libvorbis, libtheora, and libogg.

...