changeset 1671:c1e50875a6a3

Merge branch 'master' into new_master
author Robert Casties <r0bcas7@gmail.com>
date Thu, 23 Nov 2017 19:46:40 +0100
parents 0a8070be7900 (diff) 0268cfc402fa (current diff)
children 7f06a88745c4
files .hgtags common-bioformats/pom.xml common-imagej/pom.xml common-jai/pom.xml common/pom.xml common/src/main/java/digilib/conf/DigilibConfiguration.java doc/pom.xml iiif-presentation/pom.xml pdf/pom.xml pom.xml servlet/pom.xml servlet2/pom.xml servlet3/pom.xml text/pom.xml webapp/pom.xml webapp/src/main/webapp/jquery/jquery.digilib.js
diffstat 18 files changed, 265 insertions(+), 141 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Thu Nov 23 18:45:12 2017 +0100
+++ b/.hgtags	Thu Nov 23 19:46:40 2017 +0100
@@ -7,7 +7,3 @@
 47006645dc1270ba275253fddca5aa5c44e69ba1 Root_digilibPDF
 a336f89a9fbf0a79f964d9750b56d4e6f83bb4c8 release_1_2
 16c847c3291cd5e7ddba329c6dbac64148d772f7 Root_gen2_1
-87e26192f7fab0ac5e791e1ae59b39e0b974cef3 release-2.5.1
-ee3417196bc84e973f785d21c0624ceffc033cec release-2.5.3
-ee3417196bc84e973f785d21c0624ceffc033cec release-2.5.3
-248c7df143cf77083b8042843bf0d2afbe137d67 release-2.5.3
--- a/common-bioformats/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/common-bioformats/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -3,7 +3,7 @@
   <parent>
     <artifactId>digilib</artifactId>
     <groupId>digilib</groupId>
-    <version>2.5.5</version>
+    <version>2.5-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
   <artifactId>digilib-common-bioformats</artifactId>
--- a/common-imagej/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/common-imagej/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -3,7 +3,7 @@
   <parent>
     <artifactId>digilib</artifactId>
     <groupId>digilib</groupId>
-    <version>2.5.5</version>
+    <version>2.5-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
   <artifactId>digilib-common-imagej</artifactId>
--- a/common-jai/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/common-jai/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -3,7 +3,7 @@
   <parent>
     <artifactId>digilib</artifactId>
     <groupId>digilib</groupId>
-    <version>2.5.5</version>
+    <version>2.5-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
   <artifactId>digilib-common-jai</artifactId>
--- a/common/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/common/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -6,7 +6,7 @@
 	<parent>
 		<artifactId>digilib</artifactId>
 		<groupId>digilib</groupId>
-		<version>2.5.5</version>
+		<version>2.5-SNAPSHOT</version>
 	</parent>
 	
 	<artifactId>digilib-common</artifactId>
--- a/common/src/main/java/digilib/conf/DigilibConfiguration.java	Thu Nov 23 18:45:12 2017 +0100
+++ b/common/src/main/java/digilib/conf/DigilibConfiguration.java	Thu Nov 23 19:46:40 2017 +0100
@@ -57,7 +57,7 @@
 
     /** digilib version */
     public static String getClassVersion() {
-        return "2.5.5";
+        return "2.5.5a";
     }
 
     /* non-static getVersion for Java inheritance */
--- a/doc/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/doc/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -3,7 +3,7 @@
   <parent>
     <groupId>digilib</groupId>
     <artifactId>digilib</artifactId>
-    <version>2.5.5</version>
+    <version>2.5-SNAPSHOT</version>
   </parent>
   <artifactId>digilib-doc</artifactId>
   <packaging>pom</packaging>
--- a/iiif-presentation/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/iiif-presentation/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>digilib</groupId>
 		<artifactId>digilib</artifactId>
-		<version>2.5.5</version>
+		<version>2.5-SNAPSHOT</version>
 	</parent>
 	<artifactId>digilib-iiif-presentation</artifactId>
 	<name>digilib-iiif-presentation</name>
--- a/pdf/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/pdf/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>digilib</artifactId>
 		<groupId>digilib</groupId>
-		<version>2.5.5</version>
+		<version>2.5-SNAPSHOT</version>
 	</parent>
 	<artifactId>digilib-pdf</artifactId>
 	<name>digilib-pdf</name>
--- a/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -8,7 +8,7 @@
 
   <groupId>digilib</groupId>
   <artifactId>digilib</artifactId>
-  <version>2.5.5</version>
+  <version>2.5-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>digilib</name>
@@ -201,62 +201,62 @@
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-common</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-common-jai</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-common-imagej</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-common-bioformats</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-doc</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-pdf</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-text</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-iiif-presentation</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-servlet</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-servlet2</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-servlet3</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>digilib</groupId>
         <artifactId>digilib-webapp</artifactId>
-        <version>2.5.5</version>
+        <version>2.5-SNAPSHOT</version>
       </dependency>
     </dependencies>
   </dependencyManagement>
--- a/servlet/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/servlet/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -5,7 +5,7 @@
   <parent>
     <groupId>digilib</groupId>
     <artifactId>digilib</artifactId>
-    <version>2.5.5</version>
+    <version>2.5-SNAPSHOT</version>
   </parent>
   <artifactId>digilib-servlet</artifactId>
   <name>digilib-servlet</name>
--- a/servlet2/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/servlet2/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>digilib</artifactId>
     <groupId>digilib</groupId>
-    <version>2.5.5</version>
+    <version>2.5-SNAPSHOT</version>
   </parent>
   <artifactId>digilib-servlet2</artifactId>
   <name>digilib-servlet2</name>
--- a/servlet3/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/servlet3/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -3,7 +3,7 @@
   <parent>
     <artifactId>digilib</artifactId>
     <groupId>digilib</groupId>
-    <version>2.5.5</version>
+    <version>2.5-SNAPSHOT</version>
   </parent>
   <artifactId>digilib-servlet3</artifactId>
   <name>digilib-servlet3</name>
--- a/text/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/text/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>digilib</artifactId>
 		<groupId>digilib</groupId>
-		<version>2.5.5</version>
+		<version>2.5-SNAPSHOT</version>
 	</parent>
 	<artifactId>digilib-text</artifactId>
 	<name>digilib-text</name>
--- a/webapp/pom.xml	Thu Nov 23 18:45:12 2017 +0100
+++ b/webapp/pom.xml	Thu Nov 23 19:46:40 2017 +0100
@@ -6,7 +6,7 @@
 	<parent>
 		<artifactId>digilib</artifactId>
 		<groupId>digilib</groupId>
-		<version>2.5.5</version>
+		<version>2.5-SNAPSHOT</version>
 	</parent>
 	<artifactId>digilib-webapp</artifactId>
 	<name>digilib-webapp</name>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webapp/pom.xml.orig	Thu Nov 23 19:46:40 2017 +0100
@@ -0,0 +1,204 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>digilib</artifactId>
+		<groupId>digilib</groupId>
+		<version>2.3.7</version>
+	</parent>
+	<artifactId>digilib-webapp</artifactId>
+	<name>digilib-webapp</name>
+	<description>The Digital Image Library - web application server and HTML and JS clients.</description>
+	<url>http://digilib.sourceforge.net</url>
+	<packaging>war</packaging>
+	
+	<properties>
+        <skipTests>true</skipTests>
+    </properties>
+
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-war-plugin</artifactId>
+					<version>2.6</version>
+				</plugin>
+				<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>license-maven-plugin</artifactId>
+					<version>1.4</version>
+					<configuration>
+						<includes>
+							<include>**/*digilib*.js</include>
+							<include>**/*.jsp</include>
+						</includes>
+					</configuration>
+				</plugin>
+		        <plugin>
+			        <groupId>org.apache.maven.plugins</groupId>
+			        <artifactId>maven-surefire-plugin</artifactId>
+			        <version>2.19</version>
+			        <configuration>
+			            <skip>${skipTests}</skip>
+			        </configuration>
+			    </plugin>
+        	</plugins>
+		</pluginManagement>
+	</build>
+	<profiles>
+		<profile>
+			<id>servlet2</id>
+			<activation>
+				<property>
+					<name>servletapi</name>
+					<value>2</value>
+				</property>
+			</activation>
+			<dependencies>
+				<dependency>
+					<groupId>digilib</groupId>
+					<artifactId>digilib-servlet2</artifactId>
+					<type>jar</type>
+					<scope>compile</scope>
+				</dependency>
+			</dependencies>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-war-plugin</artifactId>
+						<configuration>
+							<webXml>${basedir}/src/main/webapp/WEB-INF/web-2.4.xml</webXml>
+							<classifier>srv2</classifier>
+						</configuration>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+		<profile>
+			<id>servlet3</id>
+			<activation>
+				<activeByDefault>true</activeByDefault>
+				<property>
+					<name>servletapi</name>
+					<value>3</value>
+				</property>
+			</activation>
+			<dependencies>
+				<dependency>
+					<groupId>digilib</groupId>
+					<artifactId>digilib-servlet3</artifactId>
+					<type>jar</type>
+					<scope>compile</scope>
+				</dependency>
+			</dependencies>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-war-plugin</artifactId>
+						<configuration>
+							<webXml>${basedir}/src/main/webapp/WEB-INF/web-3.0.xml</webXml>
+							<classifier>srv3</classifier>
+						</configuration>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-compiler-plugin</artifactId>
+						<configuration>
+							<source>1.7</source>
+							<target>1.7</target>
+						</configuration>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+		<profile>
+			<id>pdf</id>
+			<dependencies>
+				<dependency>
+					<groupId>digilib</groupId>
+					<artifactId>digilib-pdf</artifactId>
+					<type>jar</type>
+					<scope>compile</scope>
+				</dependency>
+			</dependencies>
+		</profile>
+		<profile>
+			<id>text</id>
+			<dependencies>
+				<dependency>
+					<groupId>digilib</groupId>
+					<artifactId>digilib-text</artifactId>
+					<type>jar</type>
+					<scope>compile</scope>
+				</dependency>
+			</dependencies>
+		</profile>
+		<profile>
+			<id>codec-jai</id>
+			<dependencies>
+				<dependency>
+					<groupId>digilib</groupId>
+					<artifactId>digilib-common-jai</artifactId>
+					<type>jar</type>
+					<scope>compile</scope>
+				</dependency>
+			</dependencies>
+		</profile>
+		<profile>
+			<id>codec-imagej</id>
+			<dependencies>
+				<dependency>
+					<groupId>digilib</groupId>
+					<artifactId>digilib-common-imagej</artifactId>
+					<type>jar</type>
+					<scope>compile</scope>
+				</dependency>
+			</dependencies>
+		</profile>
+		<profile>
+			<id>codec-bioformats</id>
+			<dependencies>
+				<dependency>
+					<groupId>digilib</groupId>
+					<artifactId>digilib-common-bioformats</artifactId>
+					<type>jar</type>
+					<scope>compile</scope>
+				</dependency>
+			</dependencies>
+		</profile>
+        <profile>
+            <id>cors-filter</id>
+            <!--  external servlet filter to add CORS headers. enable in web.xml -->
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-servlets</artifactId>
+                    <version>9.2.13.v20150730</version>
+                </dependency>
+            </dependencies>
+        </profile>
+	</profiles>
+	<dependencies>
+		<dependency>
+			<groupId>org.eclipse.jetty</groupId>
+			<artifactId>jetty-servlet</artifactId>
+            <version>9.2.13.v20150730</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.eclipse.jetty</groupId>
+			<artifactId>jetty-http</artifactId>
+			<version>9.2.13.v20150730</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.12</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+</project>
--- a/webapp/src/main/webapp/WEB-INF/digilib-config.xml.off	Thu Nov 23 18:45:12 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Digilib servlet config file -->
-<!-- rename this file to digilib-config.xml -->
-
-<digilib-config>
-  <!--  Image to be sent to indicate an error or general failure. -->
-  <parameter name="error-image" value="img/digilib-error.png" />
-
-  <!--  Image to be sent to indicate an authorization failure. -->
-  <parameter name="denied-image" value="img/digilib-denied.png" />
-
-  <!--  Image to be sent to indicate that the request was correct, but the specified image could not be found. -->
-  <parameter name="notfound-image" value="img/digilib-notfound.png" />
-
-  <!-- List of directories where images are searched.
-       Directories with low-resolution images are LAST!!! in list.
-	   Use OS-specific path separators (":" for Unix, ";" for Windows) --> 
-  <!-- <parameter name="basedir-list" value="sample-images" /> -->
-  <parameter name="basedir-list" value="/docuserver/images:/docuserver/scaled/small:/docuserver/scaled/thumb" />
-
-  <!-- Java class to use for image operations -->
-  <parameter name="docuimage-class" value="digilib.image.ImageLoaderDocuImage" />
-
-  <!-- mimimum amount of scaling done with antialiasing -->
-  <parameter name="subsample-minimum" value="2"/>
-  
-  <!-- default interpolation quality (0=worst) -->
-  <parameter name="default-quality" value="2"/>
-  
-  <!-- is sending whole image files with mo=file allowed? -->
-  <parameter name="sendfile-allowed" value="true" />
-
-  <!-- the a maximum size of any sent image. (0 means no limit) -->
-  <parameter name="max-image-size" value="0" />
-
-  <!-- number of working threads -->
-  <parameter name="worker-threads" value="2" />
-
-  <!-- number of waiting requests in queue -->
-  <parameter name="max-waiting-threads" value="20" />
-
-  <!-- timeout for asynchronous servlet worker (ms) -->
-  <parameter name="worker-timeout" value="60000" />
-
-  <!-- Java class to use for file metadata -->
-  <parameter name="filemeta-class" value="digilib.meta.IndexMetaFileMeta" />
-
-  <!-- Java class to use for directory metadata -->
-  <parameter name="dirmeta-class" value="digilib.meta.IndexMetaDirMeta" />
-
-  <!-- Restrict access to authorized users.
-       User authentication and roles are provided by the servlet container 
-       (see tomcat-users.xml).
-       Authorization for resources (directories) is evaluated by the servlet 
-       (see auth-file). -->
-  <parameter name="use-authorization" value="true" />
-
-  <!-- Java class to use for authentication -->
-  <parameter name="authnops-class" value="digilib.auth.IpOpenIdAuthnOps" />
-
-  <!-- Java class to use for authorization -->
-  <parameter name="authzops-class" value="digilib.auth.MetaAccessAuthzOps" />
-
-  <!-- URL location of XML file with authorization requirements. -->
-  <parameter name="auth-file" value="digilib-auth.xml" />
-
-  <!-- use mapping of "virtual directories" to real directories on the server -->
-  <parameter name="use-mapping" value="false"/>
-  
-  <!-- location of XML mapping file -->
-  <parameter name="mapping-file" value="digilib-map.xml"/>
-  
-  <!-- location of logger config file -->
-  <parameter name="log-config-file" value="log4j-config.xml"/>
-
-  <!-- is the image toolkit allowed to use a disk cache -->
-  <parameter name="img-diskcache-allowed" value="false"/>
-
-
-  <!-- location for PDF files while still in progress -->
-  <parameter name="pdf-temp-dir" value="/tmp/pdf_tmp" />
-  
-  <!-- location for PDF files upon completion -->
-  <parameter name="pdf-cache-dir" value="/tmp/pdf_cache"/>
-
-  <!-- number of PDF generation threads -->
-  <parameter name="pdf-worker-threads" value="1" />
-
-  <!-- number of waiting PDF requests in queue -->
-  <parameter name="pdf-max-waiting-threads" value="20" />
-
-  <!-- number of image generation threads for PDF -->
-  <parameter name="pdf-image-worker-threads" value="1" />
-
-  <!-- number of waiting image requests for PDF in queue -->
-  <parameter name="pdf-image-max-waiting-threads" value="10" />
-
-  <!-- logo for PDFs -->
-  <parameter name="pdf-logo" value="http://digilib.berlios.de/images/digilib-logo-big.png" />
-  
-  <!-- image hacks -->
-  <!-- <parameter name="docuimage-hacks" value="setDestForScale=false,setDestForBlur=false,setDestSrgb=false" /> -->
-</digilib-config>
--- a/webapp/src/main/webapp/jquery/jquery.digilib.js	Thu Nov 23 18:45:12 2017 +0100
+++ b/webapp/src/main/webapp/jquery/jquery.digilib.js	Thu Nov 23 19:46:40 2017 +0100
@@ -45,7 +45,7 @@
 
     var defaults = {
         // version of this script
-        'version' : 'jquery.digilib.js 2.5.5',
+        'version' : 'jquery.digilib.js 2.5.5a',
         // logo url
         'logoUrl' : 'img/digilib-logo-text1.png',
         // homepage url (behind logo)
@@ -245,9 +245,12 @@
                         elemSettings.scalerBaseUrl = elemSettings.digilibBaseUrl + '/servlet/Scaler';
                     }
                 }
-                // set up event handlers
+                /*
+                 * set up event handlers 
+                 */
                 $(data).on('update', handleUpdate); // handleUpdate needs to be the first handler for update
                 $(data).on('changeZoomArea', handleChangeZoomArea);
+                $(data).on('newpage', handleNewpage);
                 // initialise plugins
                 for (n in plugins) {
                     var p = plugins[n];
@@ -303,7 +306,8 @@
             var cssPrefix = settings.cssPrefix;
             var aboutSelector = '#'+cssPrefix+'about';
             if (isOnScreen(data, aboutSelector)) {
-                $(aboutSelector).fadeToggle();
+            	// fade out and kill, so we can re-render with new info
+                $(aboutSelector).fadeOut(function () {$(this).remove()});
                 return;
             }
             // make relative logoUrl absolute
@@ -311,6 +315,15 @@
             if (logoUrl.charAt(0) !== '/' && logoUrl.substring(0,3) !== 'http') {
                 logoUrl = settings.digilibBaseUrl + '/' + logoUrl;
             }
+            // add image info if available
+            var imgInfoDiv = '';
+            if (data.imgInfo != null) {
+            	var info = data.imgInfo;
+            	imgInfoDiv = '<p>Image: ' + info.filename + '<br/>' 
+            		+ '(' + info.width + 'x' + info.height + 'px'
+            		+ ((info.dpi_x > 0) ? (', ' + info.dpi_x + 'dpi') : '')
+            		+ ')</p>';
+            }
             var html = '\
                 <div id="'+cssPrefix+'about" class="'+cssPrefix+'about" style="display:none">\
                     <p>Digilib Image Viewer</p>\
@@ -318,6 +331,7 @@
                         <img class="'+settings.cssPrefix+'logo" title="Digilib" src="'+logoUrl+'"/>\
                     </a>\
                     <p>Version: '+settings.version+'</p>\
+                    '+imgInfoDiv+'\
                 </div>';
             var $about = $(html);
             $about.appendTo($elem);
@@ -377,9 +391,8 @@
                     return false;
                     }
                 }
-            // reset mk and others(?)
-            data.marks = [];
-            data.zoomArea = FULL_AREA.copy();
+            // send newpage event (plugins can remove marks etc.)
+            $(data).trigger('newpage');
             // then reload
             redisplay(data);
         },
@@ -1336,13 +1349,27 @@
         };
     };
 
+    /**
+     * handle image load error event
+     */
     var handleScalerImgError = function (data, evt, a, b) {
         console.error("error loading scaler image:", evt);
+        // trigger event for plugins
         $(data).trigger('imgerror');
     };
+    
+    /**
+     * handle newpage event
+     */
+    var handleNewpage = function (data) {
+        console.debug("handle newpage");
+        // reset local page settings
+        data.imgInfo = null;
+        data.zoomArea = FULL_AREA.copy();
+    };
 
-    /** handle imageInfo loaded event
-     * 
+    /** 
+     * handle imageInfo loaded event
      */
     var handleImageInfo = function (evt, json) {
         console.debug("handleImageInfo:", json);