Hello Everyone,
We are stuck trying to get Openseadragon to display images ingested via the large image solution pack.
We have managed to get the ingest to produce a valid JP2 datastream - at least exiftool reports that it is a JP2 file, and it opens and displays fine
Within Islandora, we ingest a TIF file through the Large Image Datastream to a collection called temporary collection.
The ingest works, the JP2 derivatives are confirmed as created (inspected in exiftool) BUT the resulting JP2 image is not displayed in openseadragon.
Using Chrome Developer tools, we inspect the network console log and when we try to view the object with islandora/openseadragon, the adore-djatoka/resolver request is returning a 404.
When we check /usr/share/tomcat/logs/djatoka.log on the separate Fedora Server: we see RenderOp errors amongst other things.
(see Sample output from djatoka_log: section below) (server name is sanitized)
JP2 datastreams on other objects that were ingested prior to the Fedora 3.5 to 3.8 repo upgrade are displaying correctly.
We have been chasing various leads for a few days.
One that might be significant is that large images migrated from the pre-upgrade (Fedora 3.5) repo, when inspected in exiftool, show a number of xml compression attributes, whereas the test images we are testing do not.
So the most likely theory would seem to be that there is something not right about the JP2s that we are generating now, and perhaps this is a kakadu setting we haven't got right?
Technical background:
Please note: 3 servers in total, all Red Hat
1 x Web Server: Islandora 7.1.4 is on a Red Hat server running Apache 2.2, PHP 5.4, Drupla 7.36
1 x DB Server: MySQL is running 5.5 on a Red Hat server
1 x Fedora Server: Fedora Commons 3.8 is on a Red Hat server running Tomcat 7.0, Oracle Java JDK 1.75, Adore-Djatoka 1.1 with Kakadu
———————————
Sample Environmental Variables on Fedora Server: (location: /etc/profile.d/fedora_env.sh)
export FEDORA_HOME=/usr/local/fedora
export JAVA_HOME=/opt/jdk1.7.0_75/
export JRE_HOME=/opt/jdk1.7.0_75/jre
export CATALINA_HOME=/usr/share/tomcat
export JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=128m -Djavax.net.ssl.trustStore=/usr/local/fedora/server/truststore
-Djavax.net.ssl.trustStorePassword=tomcat"
export PATH="$PATH:$FEDORA_HOME/server/bin:$FEDORA_HOME/client/bin"
export PATH=$PATH:/opt/jdk1.7.0_75/bin:/opt/jdk1.7.0_75/jre/bin
export KAKADU_LIBRARY_PATH=/opt/adore-djatoka-1.1/lib/Linux-x86-64
export KAKADU_HOME=/opt/adore-djatoka-1.1/bin/Linux-x86-64
Sample output from djatoka_log:
2015-05-08 12:46:33,155 envParams: LD_LIBRARY_PATH=/opt/adore-djatoka-1.1/lib/Linux-x86-64 | /opt/adore-djatoka-1.1/bin/Linux-x86-64/kdu_compress
2015-05-08 12:46:33,171 Reading the file using ImageJReader
2015-05-08 12:46:33,945 gov.lanl.adore.djatoka.DjatokaException: gov.lanl.adore.djatoka.DjatokaException: java.lang.RuntimeException: - Unable to render RenderedOp for this operation.
gov.lanl.adore.djatoka.DjatokaException: gov.lanl.adore.djatoka.DjatokaException: java.lang.RuntimeException: - Unable to render RenderedOp for this operation.
at gov.lanl.adore.djatoka.openurl.DjatokaImageMigrator.convert(DjatokaImageMigrator.java:136)
at gov.lanl.adore.djatoka.openurl.SimpleListResolver.getImageRecord(SimpleListResolver.java:100)
at gov.lanl.adore.djatoka.openurl.SimpleListResolver.getImageRecord(SimpleListResolver.java:75)
at gov.lanl.adore.djatoka.openurl.ReferentManager.getImageRecord(ReferentManager.java:70)
at gov.lanl.adore.djatoka.openurl.OpenURLJP2KMetadata.resolve(OpenURLJP2KMetadata.java:115)
at org.oclc.oomRef.OpenURLRequestProcessorImpl.resolve(OpenURLRequestProcessorImpl.java:82)
at gov.lanl.adore.djatoka.openurl.OpenURLServlet.doGet(OpenURLServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)