changeset 7:cf3abd6ff312

build docu with Maven.
author casties
date Mon, 02 Sep 2013 19:32:44 +0200
parents 96e83fba5eb7
children de31af0ad401
files pom.xml src/site/markdown/build-maven.md src/site/markdown/digilib-config.md src/site/markdown/history.md src/site/markdown/image-directories.md src/site/markdown/index.md src/site/markdown/java-settings.md src/site/resources/images/digilib-logo-big.png src/site/resources/images/digilib-logo-small.png src/site/site.xml website/build-maven.md website/digilib-config.md website/image-directories.md website/java-settings.md
diffstat 14 files changed, 522 insertions(+), 384 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pom.xml	Mon Sep 02 19:32:44 2013 +0200
@@ -0,0 +1,42 @@
+<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>
+  <groupId>digilib</groupId>
+  <artifactId>digilib-doc</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>digilib documentation</name>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <version>3.3</version>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.maven.doxia</groupId>
+            <artifactId>doxia-module-markdown</artifactId>
+            <version>1.4</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>2.7</version>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <!-- <report>license</report>
+              <report>scm</report> -->
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/site/markdown/build-maven.md	Mon Sep 02 19:32:44 2013 +0200
@@ -0,0 +1,91 @@
+# Building digilib with Maven
+
+The easiest way to get the latest and greatest digilib is the [Maven](http://maven.apache.org/) build tool. 
+It will download, compile, and install the latest digilib version and all required libraries.
+
+## What you need
+
+* [Java](http://www.java.com/) (1.5 or higher)
+* [Maven](http://maven.apache.org/)
+* [Mercurial](http://mercurial.selenic.com/)
+* A Servlet container like [Tomcat](http://tomcat.apache.org/) 
+or [Jetty](http://www.eclipse.org/jetty/) to run the web application.
+
+## Quick build
+
+The fastest way to build the digilib web application is to download the digilib 
+project file [pom.xml](http://hg.berlios.de/repos/digilib/raw-file/tip/pom.xml)
+(download and save it) and run
+	
+	mvn scm:bootstrap -N
+
+in the same directory as the `pom.xml` file.
+
+This will create a web application directory `digilib-webapp-2.2-SNAPSHOT` 
+and a WAR file `digilib-webapp-2.2-SNAPSHOT-srv3.war` (or similar) 
+in the subdirectory `target/checkout/webapp/target/`
+
+Digilib uses the Asynchronous Servlet API (3.0) by default. You will need Java version 6 
+and Tomcat version 7 or Jetty version 8 or later to use it.
+If you want to use the old non-Asynchronous Servlet API (2.3) add `-Pservlet2`
+to the Maven command line above.
+
+## Developer build
+
+If you are developing with digilib it is helpful to check out the source
+code separately so you can keep it around, modify it or change the configuration
+before you deploy.
+
+To check out the latest source code into the directory `digilib` run
+	
+	hg clone http://hg.berlios.de/repos/digilib
+
+The digilib configuration files are now in `digilib/webapp/src/main/webapp/WEB-INF/`
+
+If you want to update your copy of digilib to the latest version at some time in the future 
+just run
+
+	hg pull
+	hg up
+	
+in the `digilib` directory.
+
+To build the resulting source code, change into the `digilib`
+directory you checked out above and run
+
+	mvn package
+
+This will create a web application directory `digilib-webapp-2.2-SNAPSHOT`
+and a WAR file `digilib-webapp-2.2-SNAPSHOT-srv3.war` (or similar) in
+the subdirectory `webapp/target/` .
+
+Digilib uses the Asynchronous Servlet API (3.0) by default. You will need Java version 6 
+and Tomcat version 7 or Jetty version 8 or later to use it.
+If you want to use the old non-Asynchronous Servlet API (2.3) add `-Pservlet2`
+to the Maven command line above.
+
+## Deploying the web application by hand
+
+To deploy digilib just copy the web application directory or the WAR file into the `webapp`
+directory of the Servlet container.
+
+Since the URL of your digilib server starts with the name of the web application
+and the name of the web application is derived from the name of the web
+application directory or the WAR file **please rename the web application directory or WAR file 
+to `digitallibrary` before you start**
+
+Then you should see your digilib running at the URL 
+[http://localhost:8080/digitallibrary/jquery/digilib.html](http://localhost:8080/digitallibrary/jquery/digilib.html)
+
+If you use the unmodified default configuration you should see the digilib logo
+and other sample images from the `sample-images` directory of the web application.
+
+## Configuring digilib
+
+To change the configuration of digilib just edit the file `digilib-config.xml`
+in the web application directory (`digitallibrary/WEB-INF/digilib-config.xml`).
+Documentation of the configuration options is [here](digilib-config.html).
+
+You can see a summary of your running digilib configuration at the URL 
+[http://localhost:8080/digitallibrary/server/dlConfig.jsp](http://localhost:8080/digitallibrary/server/dlConfig.jsp)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/site/markdown/digilib-config.md	Mon Sep 02 19:32:44 2013 +0200
@@ -0,0 +1,149 @@
+# Configuring digilib
+
+## digilib-config.xml
+
+The main configuration for digilib is `digilib-config.xml` in the `WEB-INF` 
+directory in the webapp. 
+(If you really need another location you can define it in the `config-file`
+init-parameter to the servlet.)
+
+In the XML-based configuration file you can set several paths and options. 
+
+You have to adjust the **`basedir-list`** parameter to the directories
+where your images are installed. The directory path has to be an absolute 
+path following the conventions of your operating system (a relative path 
+is taken to be relative to the web application directory).
+
+You need only one directory if you don't provide pre-scaled low resolution 
+versions of your images. If you have pre-scaled images the directory with the 
+high-resolution images must be the first entry in the list.
+
+Documentation on the directory layout and on using pre-scaled images is 
+[here](image-directories.md).
+
+A minimal configuration looks like this:
+
+	<!-- Digilib servlet config file -->
+	<digilib-config>
+	  <!-- List of directories where images are searched.
+	       The authoritative directory with the high-resolution images
+	       is first in list. -->
+	  <parameter name="basedir-list" value="/docuserver/images" />
+	</digilib-config>
+	
+A more customized configuration may look like this:
+
+	<!-- Digilib servlet config file -->
+	<digilib-config>
+	  <!--  Image to be sent to indicate general failure. -->
+	  <parameter name="error-image" value="/docuserver/images/icons/broken.gif" />
+	
+	  <!--  Image to be sent to indicate authorization failure. -->
+	  <parameter name="denied-image" value="/docuserver/images/icons/alert.red.gif" />
+	
+	  <!-- List of directories where images are searched.
+	       The authoritative directory with the high-resolution images
+	       is first in list. -->
+	  <parameter name="basedir-list" value="/docuserver/images:/docuserver/scaled/small" />
+	
+	  <!-- 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="1"/>
+	
+	  <!-- 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" />
+	
+	  <!-- 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="false"/>
+	
+	  <!-- Location of XML file with authorization requirements. -->
+	  <parameter name="auth-file" value="digilib-auth.xml"/>
+	
+	  <!-- Part of URL to indicate authenticated access to Tomcat. -->
+	  <parameter name="auth-url-path" value="authenticated/"/>
+	
+	  <!-- 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"/>
+	</digilib-config>
+
+You can supply your own icons for the "error" and "access denied" 
+messages by the servlet. Standard images will be used if these
+parameters are not defined.
+
+You can specify the Java toolkit implementation with the `docuimage-class`
+parameter. The `ImageLoaderDocuImage` usually gives best performance
+and works with JDK 1.4 and up.
+
+You can see a summary of your running digilib configuration at the URL 
+[http://localhost:8080/digitallibrary/server/dlConfig.jsp](http://localhost:8080/digitallibrary/server/dlConfig.jsp)
+
+
+## digilib-auth.xml
+
+The digilib access authorization is defined in the file defined by the `auth-file`
+parameter (default: `digilib-auth.xml` in `WEB-INF` ).
+
+The file has two parts `diglib-paths` and `diglib-addresses`. It looks like this:
+
+	<auth-config>
+	
+	  <digilib-paths>
+	    <!-- 
+	      A user must supply one of the roles under "role"
+	      to access the directory "name".
+	      Roles under "role" must be separated by comma only (no spaces).  
+	    -->
+	    <path name="histast/eastwood-collection" role="eastwood-coll" />
+	    <path name="ptolemaios_geo" role="ptolemaios-geo" />
+	  </digilib-paths>
+	
+	  <digilib-addresses>
+	    <!-- 
+	      A computer with an ip address that matches "ip"
+	      is automatically granted all roles under "role".
+	      The ip address is matched from the left (in full quads).
+	      Roles under "role" must be separated by comma only (no spaces). 
+	    -->
+	    <address ip="127" role="local" />
+	    <address ip="130.92.68" role="eastwood-coll,ptolemaios-geo" />
+	    <address ip="130.92.151" role="ALL" />
+	  </digilib-addresses>
+	
+	</auth-config>
+
+`diglib-paths` defines restricted directories and the roles needed
+for access. The roles are defined with the users in `tomcat-users.xml`
+(see above). All subdirectories of the given directories have the same
+restrictions. All directories not listed here (and not subdirectories of listed
+directories) are freely accessible.
+
+`diglib-addresses` defines hosts or networks of computers that are
+automatically authenticated without username and password. Hosts can be assigned
+roles. The special keyword `ALL` authorizes for everything. If the
+role assigned to the computer is not sufficient to access a resource the user
+will be asked for username and password.
+        
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/site/markdown/history.md	Mon Sep 02 19:32:44 2013 +0200
@@ -0,0 +1,36 @@
+## Early history of digilib (in German)
+
+### docuedit (auch DocumentDatabase, später doculight)
+
+Imageviewer mit Dokumenten-Baum Ansicht, in Java geschrieben, komplett
+Client-seitig. Entstanden vor März 1998 (müsste am MPIWG gewesen sein).
+Wesentlicher Autor Michael May (glaube ich).
+
+Von doculight gibt es hier sogar noch eine "Web-Version" von Anfang 2000
+aus Bern, die aber nicht mehr ganz funktioniert:
+
+[http://pythia2.unibe.ch/docuserver/viewerlite/frame.htm](http://pythia2.unibe.ch/docuserver/viewerlite/frame.htm)
+
+Und hier ist der Übergang zur Client-Server Lösung "gg.jsp" (noch ohne
+serverseitige Skalierung der Seiten) vom Juni 2000, das leider mangels
+JSP auf dem Server nicht mehr geht: 
+
+[http://pythia2.unibe.ch/docuserver/viewerlite/gg.jsp](http://pythia2.unibe.ch/docuserver/viewerlite/gg.jsp)
+
+(Die Knöpfe sind zwar noch schlicht haben aber schon die gleichen
+Funktionen wie später)
+
+### digilib (ScaleServlet, später Scaler)
+
+Client-Server Lösung mit Javascript auf dem Client und Java auf dem Server. 
+Entstanden ca. Juli 2000. Wesentlicher Autor zunächst Robert Gordesch (Stud. 
+Hilfskraft MPIWG) für den Server-Teil in Java und Gerd Graßhoff (Bern) fürs 
+Javascript (glaube ich), seit Februar 2001 Robert Casties (Bern, ab 2002 MPIWG), 
+danach auch Christian Luginbühl. Seit Anfang 2002 Open Source Projekt bei 
+BerliOS.
+
+## Articles on digilib
+
+1. Raspe, Martin; Casties, Robert; "Digilib: Wissenschaftliches Bildmaterial 
+studieren und kommentierenim Internet", Jahrbuch der Max-Planck-Gesellschaft 2006, 
+[http://www.mpg.de/411123/pdf.pdf](http://www.mpg.de/411123/pdf.pdf)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/site/markdown/image-directories.md	Mon Sep 02 19:32:44 2013 +0200
@@ -0,0 +1,85 @@
+# Directory layout for images
+
+In digilib all images are identified by the `fn` and (optional) `pn` parameters. 
+The value for `fn` can be a directory path or a directory path and a filename, 
+separated by slashes, e.g. "`fn=books/book1/page0002`".
+
+If `fn` is a directory path without filename `pn` is the index number of the 
+image files in this directory in alphabetical order, e.g.
+"`fn=books/book1&pn=2`". The default for `pn` is 1 i.e. the first image. 
+
+If `fn` ends in a filename `pn` is ignored. File extensions are also ignored,
+i.e. "`books/book1/page0002`" and "`books/book1/page0002.tif`" identify the same 
+image. It is recommended to omit the file extension.
+
+The directory path in `fn` is relative to the base directory in the `basedir-list`
+parameter of the `digilib-config.xml` file, e.g. if
+
+	<parameter name="basedir-list" value="/docuserver/images" />
+
+and
+
+	fn=books/book1/page0002
+
+then digilib will try to load the file
+
+	/docuserver/images/books/book1/page0002.tif
+	
+(automatically finding the right file extension)
+	
+
+## Prescaled images
+
+You can provide any number of scaled-down versions of your images that
+digilib can use when a smaller version of an image is requested. Since less data
+has to be read and processed this can speed up digilib's performance considerably.
+
+The actual process is that the client requests a certain target size,
+digilib scans all available scaled-down versions of the same image, selects the
+smallest image that is larger than the requested size and scales it down to the
+requested size.
+
+There is another optimization in digilib: if the requested image is *exactly*
+the same size and type as the pre-scaled image then the pre-scaled image is sent
+unmodified to the client which is a lot faster. So it makes sense to produce
+thumbnails of exactly 90 pixel width when they are used in an HTML page where
+all images are 90 pixel wide.
+
+The scaled-down versions of the image have to have the same file name as
+the original hi-res file. They can have a different type and extension (e.g.
+`img002.jpg` for `img002.TIFF`)
+
+The scaled down images have to have the same directory path (the part that
+shows up in digilib's "fn" parameter) as the hi-res file wile the first part of each
+directory tree is configured by the `basedir-list` parameter in
+`digilib-config.xml`.
+
+The sequence of directories in `basedir-list` is from high-res to low-res.
+Images must be present in the hires directory but they need not be present in
+all lower-res directories.
+
+e.g. if digilib-config.xml contains
+
+	<parameter name="basedir-list" value="/images:/scaled:/thumb" />
+
+and a user requests the image `books/book1/page0002` digilib looks for
+
+1. `/thumb/books/book1/page0002.jpg`
+2. `/scaled/books/book1/page002.jpg`
+3. `/images/books/book1/page002.tif`
+
+(automatically finding the right file extension) 
+and uses the first image that is bigger than or equal to the requested size.
+
+For batch-prescaling our images we use a script called "scale-o-mat" that uses a
+lot of freely available imaging libraries (ImageMagick, libtiff, netpbm) and is
+available in our public CVS [[1]](http://itgroup.mpiwg-berlin.mpg.de/cgi-bin/cvsweb.cgi/scaleomat/). 
+The script is given a
+hi-res base directory, a destination base directory, a destination size and a
+starting directory. It then processes all files in the starting directory and
+all its subdirectories and creates scaled images in corresponding directories
+under the destination base directory.
+
+We currently use prescaled thumbnails of 100 pixels and images for browser
+display of 1500 pixels. Remember that the prescaled image has to be larger (or
+the same size) than the requested image size!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/site/markdown/index.md	Mon Sep 02 19:32:44 2013 +0200
@@ -0,0 +1,30 @@
+# About digilib
+
+## What is digilib?
+
+*   `digilib` is a web based client/server technology for images. The image
+  content is processed on-the-fly by a Java Servlet on the server side so that
+  only the visible portion of the image is sent to the web browser on the client
+  side.
+*   `digilib` supports a wide range of image formats and viewing options on
+  the server side while only requiring an internet browser with javascript and a
+  low bandwidth internet connection on the client side.
+*   `digilib` enables very detailed work on an image as required by
+  scientists with elaborate zoom features like an option to show images on the
+  screen in their original size.
+*   `digilib` facilitates cooperation of scientists over the internet and
+  novel uses of source material by image annotations and stable references that
+  can be embedded in URLs.
+*   `digilib` is used in the [ALCATRAZ](http://penelope.unibe.ch/docuserver/echo/alcatraz/index3.html)
+  framework of image, text and annotation tools and many other projects.
+*   `digilib` is Open Source Software under the General Public License,
+  jointly developed by the [Max-Planck-Insitute
+  for the History of Science](http://www.mpiwg-berlin.mpg.de), the [University
+  of Bern](http://philoscience.unibe.ch) and others.
+
+## Where can I get digilib?
+
+`digilib` source code, binaries and documentation can be found on the 
+[digilib project pages](http://developer.berlios.de/projects/digilib/)
+on [BerliOS](http://developer.berlios.de).
+        
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/site/markdown/java-settings.md	Mon Sep 02 19:32:44 2013 +0200
@@ -0,0 +1,62 @@
+# Java VM settings for digilib
+
+The Java virtual machine (Java-VM) only uses a fixed amount of memory for
+its operations. When an operation needs more memory than available it aborts
+with an error ("out of memory error").
+
+digilib can need a lot of memory depending on the size and type of images.
+Since digilib runs as a servlet under Tomcat its in the same VM as the Tomcat
+server.
+
+The amount of memory Tomcat (version 5.0) uses is configured by creating a
+"setenv.sh" script with a line
+
+    CATALINA_OPTS="-Xmx512m"
+
+in Tomcat's `bin` directory (giving 512MB in this case).
+
+You can check the amount of memory your digilib instance has available on the
+bottom of the web page `/server/dlConfig.jsp` in your digilib instance (e.g. 
+[http://digilib.mpiwg-berlin.mpg.de/digitallibrary/server/dlConfig.jsp](http://digilib.mpiwg-berlin.mpg.de/digitallibrary/server/dlConfig.jsp)).
+
+# Installing JAI ImageIO
+
+In principle you should be able to install the 
+[Java Advanced Imaging](http://java.sun.com/javase/technologies/desktop/media/jai/) JAI-ImageIO
+JAR file `jai_imageio.jar` (and native
+library files if available) in the `/WEB-INF/lib/` directory of the
+digilib web application as part of the default installation.
+
+You can see if the Jai-ImageIO plugin is active by checking for the 
+availability of the TIFF image format under "Supported image types" on the 
+[`/server/dlConfig.jsp`](http://digilib.mpiwg-berlin.mpg.de/digitallibrary/server/dlConfig.jsp)
+status page.
+
+But sometimes there are classloader issues. Newer versions of Tomcat refuse to load
+the libraries and I found that in some cases digilib stopped reading TIFF files
+after a period of running.
+
+In these cases it helped to install the JAI files in Tomcats `lib/`
+directory or globally in the local Java JDK
+installation (i.e. in the Java's 'jre/lib/ext/' directory on linux).
+
+# Sample setup
+
+The current digilib setup at the MPIWG (as of December 2010):
+
+*   One frontend server running the lightweight web-multiplexer [pound](http://www.apsis.ch/pound/)
+            on port 80 that distributes requests to three servers runnning digilib
+*   the three servers run digilib under [Jetty](http://www.eclipse.org/jetty/) on port 8080 without Apache
+
+        *   one server is the frontend server (Linux 32bit, Dual
+                2.4GHz Xeon, 2GB RAM)
+    *   the other server is a separate, newer machine (Linux 64bit, Dual 1.8GHz
+                Opteron, 2GB RAM)
+    *   the third server is a separate, newer machine (Linux 32bit, Dual 2.8GHz
+                Xeon, 4GB RAM)
+*   the digilib instances (digilib 2.0b1 as of 12.12.2011) run on Jetty 8.0.4 on Java
+            1.6.0_26 with 1GB of [Java VM memory
+              for digilib](#vm_settings) (-Xmx1024m) with JAI (1.1.3) and JAI-ImageIO (1.1) [installed in the Jetty/lib/ext](#installing_jai)(!)
+*   both digilib servers access all image files over NFS (over GBit
+            Ethernet) from a central file server (Solaris 10, Sun Fire 240, multiple RAIDs
+            on Fibrechannel)
\ No newline at end of file
Binary file src/site/resources/images/digilib-logo-big.png has changed
Binary file src/site/resources/images/digilib-logo-small.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/site/site.xml	Mon Sep 02 19:32:44 2013 +0200
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/DECORATION/1.3.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/DECORATION/1.3.0 http://maven.apache.org/xsd/decoration-1.3.0.xsd">
+  <skin>
+    <groupId>org.apache.maven.skins</groupId>
+    <artifactId>maven-fluido-skin</artifactId>
+    <version>1.3.0</version>
+  </skin>
+  <bannerLeft>
+    <name>digilib - a versatile image viewing environment for the internet</name>
+    <href>http://digilib.berlios.de/</href>
+  </bannerLeft>
+  <bannerRight>
+    <src>images/digilib-logo-small.png</src>
+    <href>http://digilib.berlios.de/</href>
+  </bannerRight>
+  <body>
+    <menu name="Overview">
+      <item name="About digilib" href="index.html"/>
+      <item name="Building digilib" href="build-maven.html"/>
+      <item name="Configuring digilib" href="digilib-config.html"/>
+      <item name="Ancient history" href="history.html"/>
+    </menu>
+    <!-- <menu ref="reports"/> -->
+  </body>
+</project>
--- a/website/build-maven.md	Fri Aug 30 19:00:19 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-# Building digilib with Maven
-
-The easiest way to get the latest and greatest digilib is the [Maven](http://maven.apache.org/) build tool. 
-It will download, compile, and install the latest digilib version and all required libraries.
-
-## What you need
-
-* [Java](http://www.java.com/) (1.5 or higher)
-* [Maven](http://maven.apache.org/)
-* [Mercurial](http://mercurial.selenic.com/)
-* A Servlet container like [Tomcat](http://tomcat.apache.org/) 
-or [Jetty](http://www.eclipse.org/jetty/) to run the web application.
-
-## Quick build
-
-The fastest way to build the digilib web application is to download the digilib 
-project file [pom.xml](http://hg.berlios.de/repos/digilib/raw-file/tip/pom.xml)
-(download and save it) and run
-	
-	mvn scm:bootstrap -N
-
-in the same directory as the `pom.xml` file.
-
-This will create a web application directory `digilib-webapp-2.2-SNAPSHOT` 
-and a WAR file `digilib-webapp-2.2-SNAPSHOT-srv3.war` (or similar) 
-in the subdirectory `target/checkout/webapp/target/`
-
-Digilib uses the Asynchronous Servlet API (3.0) by default. You will need Java version 6 
-and Tomcat version 7 or Jetty version 8 or later to use it.
-If you want to use the old non-Asynchronous Servlet API (2.3) add `-Pservlet2`
-to the Maven command line above.
-
-## Developer build
-
-If you are developing with digilib it is helpful to check out the source
-code separately so you can keep it around, modify it or change the configuration
-before you deploy.
-
-To check out the latest source code into the directory `digilib` run
-	
-	hg clone http://hg.berlios.de/repos/digilib
-
-The digilib configuration files are now in `digilib/webapp/src/main/webapp/WEB-INF/`
-
-If you want to update your copy of digilib to the latest version at some time in the future 
-just run
-
-	hg pull
-	hg up
-	
-in the `digilib` directory.
-
-To build the resulting source code, change into the `digilib`
-directory you checked out above and run
-
-	mvn package
-
-This will create a web application directory `digilib-webapp-2.2-SNAPSHOT`
-and a WAR file `digilib-webapp-2.2-SNAPSHOT-srv3.war` (or similar) in
-the subdirectory `webapp/target/` .
-
-Digilib uses the Asynchronous Servlet API (3.0) by default. You will need Java version 6 
-and Tomcat version 7 or Jetty version 8 or later to use it.
-If you want to use the old non-Asynchronous Servlet API (2.3) add `-Pservlet2`
-to the Maven command line above.
-
-## Deploying the web application by hand
-
-To deploy digilib just copy the web application directory or the WAR file into the `webapp`
-directory of the Servlet container.
-
-Since the URL of your digilib server starts with the name of the web application
-and the name of the web application is derived from the name of the web
-application directory or the WAR file **please rename the web application directory or WAR file 
-to `digitallibrary` before you start**
-
-Then you should see your digilib running at the URL 
-[http://localhost:8080/digitallibrary/jquery/digilib.html](http://localhost:8080/digitallibrary/jquery/digilib.html)
-
-## Configuring digilib
-
-To change the configuration of digilib just edit the file `digilib-config.xml`
-in the web application directory (`digitallibrary/WEB-INF/digilib-config.xml`).
-Documentation of the configuration options is [here](digilib-config.md).
-
-You can see a summary of your running digilib configuration at the URL 
-[http://localhost:8080/digitallibrary/server/dlConfig.jsp](http://localhost:8080/digitallibrary/server/dlConfig.jsp)
-
--- a/website/digilib-config.md	Fri Aug 30 19:00:19 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-# Configuring digilib
-
-## digilib-config.xml
-
-The main configuration for digilib is `digilib-config.xml` in the `WEB-INF` 
-directory in the webapp. 
-(If you really need another location you can define it in the `config-file`
-init-parameter to the servlet.)
-
-In the XML-based configuration file you can set several paths and options. 
-
-You have to adjust the **`basedir-list`** parameter to the directories
-where your images are installed. The directory path has to be an absolute 
-path following the conventions of your operating system (a relative path 
-is taken to be relative to the web application directory).
-
-You need only one directory if you don't provide pre-scaled low resolution 
-versions of your images. If you have pre-scaled images the directory with the 
-high-resolution images must be the first entry in the list.
-
-Documentation on the directory layout and on using pre-scaled images is 
-[here](image-directories.md).
-
-A minimal configuration looks like this:
-
-	<!-- Digilib servlet config file -->
-	<digilib-config>
-	  <!-- List of directories where images are searched.
-	       The authoritative directory with the high-resolution images
-	       is first in list. -->
-	  <parameter name="basedir-list" value="/docuserver/images" />
-	</digilib-config>
-	
-A more customized configuration may look like this:
-
-	<!-- Digilib servlet config file -->
-	<digilib-config>
-	  <!--  Image to be sent to indicate general failure. -->
-	  <parameter name="error-image" value="/docuserver/images/icons/broken.gif" />
-	
-	  <!--  Image to be sent to indicate authorization failure. -->
-	  <parameter name="denied-image" value="/docuserver/images/icons/alert.red.gif" />
-	
-	  <!-- List of directories where images are searched.
-	       The authoritative directory with the high-resolution images
-	       is first in list. -->
-	  <parameter name="basedir-list" value="/docuserver/images:/docuserver/scaled/small" />
-	
-	  <!-- 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="1"/>
-	
-	  <!-- 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" />
-	
-	  <!-- 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="false"/>
-	
-	  <!-- Location of XML file with authorization requirements. -->
-	  <parameter name="auth-file" value="digilib-auth.xml"/>
-	
-	  <!-- Part of URL to indicate authenticated access to Tomcat. -->
-	  <parameter name="auth-url-path" value="authenticated/"/>
-	
-	  <!-- 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"/>
-	</digilib-config>
-
-You can supply your own icons for the "error" and "access denied" 
-messages by the servlet. Standard images will be used if these
-parameters are not defined.
-
-You can specify the Java toolkit implementation with the `docuimage-class`
-parameter. The `ImageLoaderDocuImage` usually gives best performance
-and works with JDK 1.4 and up.
-
-You can see a summary of your running digilib configuration at the URL 
-[http://localhost:8080/digitallibrary/server/dlConfig.jsp](http://localhost:8080/digitallibrary/server/dlConfig.jsp)
-
-
-## digilib-auth.xml
-
-The digilib access authorization is defined in the file defined by the `auth-file`
-parameter (default: `digilib-auth.xml` in `WEB-INF` ).
-
-The file has two parts `diglib-paths` and `diglib-addresses`. It looks like this:
-
-	<auth-config>
-	
-	  <digilib-paths>
-	    <!-- 
-	      A user must supply one of the roles under "role"
-	      to access the directory "name".
-	      Roles under "role" must be separated by comma only (no spaces).  
-	    -->
-	    <path name="histast/eastwood-collection" role="eastwood-coll" />
-	    <path name="ptolemaios_geo" role="ptolemaios-geo" />
-	  </digilib-paths>
-	
-	  <digilib-addresses>
-	    <!-- 
-	      A computer with an ip address that matches "ip"
-	      is automatically granted all roles under "role".
-	      The ip address is matched from the left (in full quads).
-	      Roles under "role" must be separated by comma only (no spaces). 
-	    -->
-	    <address ip="127" role="local" />
-	    <address ip="130.92.68" role="eastwood-coll,ptolemaios-geo" />
-	    <address ip="130.92.151" role="ALL" />
-	  </digilib-addresses>
-	
-	</auth-config>
-
-`diglib-paths` defines restricted directories and the roles needed
-for access. The roles are defined with the users in `tomcat-users.xml`
-(see above). All subdirectories of the given directories have the same
-restrictions. All directories not listed here (and not subdirectories of listed
-directories) are freely accessible.
-
-`diglib-addresses` defines hosts or networks of computers that are
-automatically authenticated without username and password. Hosts can be assigned
-roles. The special keyword `ALL` authorizes for everything. If the
-role assigned to the computer is not sufficient to access a resource the user
-will be asked for username and password.
-        
\ No newline at end of file
--- a/website/image-directories.md	Fri Aug 30 19:00:19 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-# Directory layout for images
-
-In digilib all images are identified by the `fn` and (optional) `pn` parameters. 
-The value for `fn` can be a directory path or a directory path and a filename, 
-separated by slashes, e.g. "`fn=books/book1/page0002`".
-
-If `fn` is a directory path without filename `pn` is the index number of the 
-image files in this directory in alphabetical order, e.g.
-"`fn=books/book1&pn=2`". The default for `pn` is 1 i.e. the first image. 
-
-If `fn` ends in a filename `pn` is ignored. File extensions are also ignored,
-i.e. "`books/book1/page0002`" and "`books/book1/page0002.tif`" identify the same 
-image. It is recommended to omit the file extension.
-
-The directory path in `fn` is relative to the base directory in the `basedir-list`
-parameter of the `digilib-config.xml` file, e.g. if
-
-	<parameter name="basedir-list" value="/docuserver/images" />
-
-and
-
-	fn=books/book1/page0002
-
-then digilib will try to load the file
-
-	/docuserver/images/books/book1/page0002.tif
-	
-(automatically finding the right file extension)
-	
-
-## Prescaled images
-
-You can provide any number of scaled-down versions of your images that
-digilib can use when a smaller version of an image is requested. Since less data
-has to be read and processed this can speed up digilib's performance considerably.
-
-The actual process is that the client requests a certain target size,
-digilib scans all available scaled-down versions of the same image, selects the
-smallest image that is larger than the requested size and scales it down to the
-requested size.
-
-There is another optimization in digilib: if the requested image is *exactly*
-the same size and type as the pre-scaled image then the pre-scaled image is sent
-unmodified to the client which is a lot faster. So it makes sense to produce
-thumbnails of exactly 90 pixel width when they are used in an HTML page where
-all images are 90 pixel wide.
-
-The scaled-down versions of the image have to have the same file name as
-the original hi-res file. They can have a different type and extension (e.g.
-`img002.jpg` for `img002.TIFF`)
-
-The scaled down images have to have the same directory path (the part that
-shows up in digilib's "fn" parameter) as the hi-res file wile the first part of each
-directory tree is configured by the `basedir-list` parameter in
-`digilib-config.xml`.
-
-The sequence of directories in `basedir-list` is from high-res to low-res.
-Images must be present in the hires directory but they need not be present in
-all lower-res directories.
-
-e.g. if digilib-config.xml contains
-
-	<parameter name="basedir-list" value="/images:/scaled:/thumb" />
-
-and a user requests the image `books/book1/page0002` digilib looks for
-
-1. `/thumb/books/book1/page0002.jpg`
-2. `/scaled/books/book1/page002.jpg`
-3. `/images/books/book1/page002.tif`
-
-(automatically finding the right file extension) 
-and uses the first image that is bigger than or equal to the requested size.
-
-For batch-prescaling our images we use a script called "scale-o-mat" that uses a
-lot of freely available imaging libraries (ImageMagick, libtiff, netpbm) and is
-available in our public CVS [[1]](http://itgroup.mpiwg-berlin.mpg.de/cgi-bin/cvsweb.cgi/scaleomat/). 
-The script is given a
-hi-res base directory, a destination base directory, a destination size and a
-starting directory. It then processes all files in the starting directory and
-all its subdirectories and creates scaled images in corresponding directories
-under the destination base directory.
-
-We currently use prescaled thumbnails of 100 pixels and images for browser
-display of 1500 pixels. Remember that the prescaled image has to be larger (or
-the same size) than the requested image size!
--- a/website/java-settings.md	Fri Aug 30 19:00:19 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-# Java VM settings for digilib
-
-The Java virtual machine (Java-VM) only uses a fixed amount of memory for
-its operations. When an operation needs more memory than available it aborts
-with an error ("out of memory error").
-
-digilib can need a lot of memory depending on the size and type of images.
-Since digilib runs as a servlet under Tomcat its in the same VM as the Tomcat
-server.
-
-The amount of memory Tomcat (version 5.0) uses is configured by creating a
-"setenv.sh" script with a line
-
-    CATALINA_OPTS="-Xmx512m"
-
-in Tomcat's `bin` directory (giving 512MB in this case).
-
-You can check the amount of memory your digilib instance has available on the
-bottom of the web page `/server/dlConfig.jsp` in your digilib instance (e.g. 
-[http://digilib.mpiwg-berlin.mpg.de/digitallibrary/server/dlConfig.jsp](http://digilib.mpiwg-berlin.mpg.de/digitallibrary/server/dlConfig.jsp)).
-
-# Installing JAI ImageIO
-
-In principle you should be able to install the 
-[Java Advanced Imaging](http://java.sun.com/javase/technologies/desktop/media/jai/) JAI-ImageIO
-JAR file `jai_imageio.jar` (and native
-library files if available) in the `/WEB-INF/lib/` directory of the
-digilib web application as part of the default installation.
-
-You can see if the Jai-ImageIO plugin is active by checking for the 
-availability of the TIFF image format under "Supported image types" on the 
-[`/server/dlConfig.jsp`](http://digilib.mpiwg-berlin.mpg.de/digitallibrary/server/dlConfig.jsp)
-status page.
-
-But sometimes there are classloader issues. Newer versions of Tomcat refuse to load
-the libraries and I found that in some cases digilib stopped reading TIFF files
-after a period of running.
-
-In these cases it helped to install the JAI files in Tomcats `lib/`
-directory or globally in the local Java JDK
-installation (i.e. in the Java's 'jre/lib/ext/' directory on linux).
-
-# Sample setup
-
-The current digilib setup at the MPIWG (as of December 2010):
-
-*   One frontend server running the lightweight web-multiplexer [pound](http://www.apsis.ch/pound/)
-            on port 80 that distributes requests to three servers runnning digilib
-*   the three servers run digilib under [Jetty](http://www.eclipse.org/jetty/) on port 8080 without Apache
-
-        *   one server is the frontend server (Linux 32bit, Dual
-                2.4GHz Xeon, 2GB RAM)
-    *   the other server is a separate, newer machine (Linux 64bit, Dual 1.8GHz
-                Opteron, 2GB RAM)
-    *   the third server is a separate, newer machine (Linux 32bit, Dual 2.8GHz
-                Xeon, 4GB RAM)
-*   the digilib instances (digilib 2.0b1 as of 12.12.2011) run on Jetty 8.0.4 on Java
-            1.6.0_26 with 1GB of [Java VM memory
-              for digilib](#vm_settings) (-Xmx1024m) with JAI (1.1.3) and JAI-ImageIO (1.1) [installed in the Jetty/lib/ext](#installing_jai)(!)
-*   both digilib servers access all image files over NFS (over GBit
-            Ethernet) from a central file server (Solaris 10, Sun Fire 240, multiple RAIDs
-            on Fibrechannel)
\ No newline at end of file