Mercurial > hg > digilib
view digilib-short.html @ 1666:1beeb9319d78
Creating site for 2.5-SNAPSHOT
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 21 Nov 2017 19:34:58 +0000 |
parents | fe8300fdcd9d |
children | 8a9c66abb57c |
line wrap: on
line source
<!DOCTYPE html> <!-- | Generated by Apache Maven Doxia at 2017-11-21 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="Date-Revision-yyyymmdd" content="20171121" /> <meta http-equiv="Content-Language" content="en" /> <title>digilib - The Digital Image Library – A short introduction to digilib</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> </head> <body class="topBarDisabled"> <div class="container-fluid"> <div id="banner"> <div class="pull-left"> <a href="https://robcast.github.io/digilib/" id="bannerLeft"> <h2>digilib - a versatile image viewing environment for the internet</h2> </a> </div> <div class="pull-right"> <a href="https://robcast.github.io/digilib/" id="bannerRight"> <img src="images/digilib-logo-small.png" /> </a> </div> <div class="clear"><hr/></div> </div> <div id="breadcrumbs"> <ul class="breadcrumb"> <li id="publishDate">Last Published: 2017-11-21</li> <li class="divider">|</li> <li id="projectVersion">Version: 2.5-SNAPSHOT</li> </ul> </div> <div class="row-fluid"> <div id="leftColumn" class="span3"> <div class="well sidebar-nav"> <ul class="nav nav-list"> <li class="nav-header">Overview</li> <li> <a href="index.html" title="About digilib"> <i class="none"></i> About digilib</a> </li> <li> <a href="features.html" title="digilib features"> <i class="none"></i> digilib features</a> </li> <li class="active"> <a href="#"><i class="none"></i>How digilib works</a> </li> <li> <a href="history.html" title="Ancient history"> <i class="none"></i> Ancient history</a> </li> <li class="nav-header">Installation</li> <li> <a href="build-maven.html" title="Building digilib"> <i class="none"></i> Building digilib</a> </li> <li> <a href="install-digilib.html" title="Installing digilib"> <i class="none"></i> Installing digilib</a> </li> <li> <a href="server-setups.html" title="Server setups"> <i class="none"></i> Server setups</a> </li> <li class="nav-header">Configuration</li> <li> <a href="digilib-config.html" title="Configuring digilib"> <i class="none"></i> Configuring digilib</a> </li> <li> <a href="image-directories.html" title="Directory layout"> <i class="none"></i> Directory layout</a> </li> <li> <a href="java-settings.html" title="Java settings and tuning"> <i class="none"></i> Java settings and tuning</a> </li> <li> <a href="auth.html" title="Access control"> <i class="none"></i> Access control</a> </li> <li class="nav-header">Development</li> <li> <a href="scaler-api.html" title="The digilib Scaler API"> <i class="none"></i> The digilib Scaler API</a> </li> <li> <a href="iiif-api.html" title="The digilib IIIF API"> <i class="none"></i> The digilib IIIF API</a> </li> <li> <a href="client-integration.html" title="Integrating digilib into your page"> <i class="none"></i> Integrating digilib into your page</a> </li> <li> <a href="plugins.html" title="Digilib plugins"> <i class="none"></i> Digilib plugins</a> </li> <li class="nav-header">Project Documentation</li> <li> <a href="project-info.html" title="Project Information"> <i class="icon-chevron-right"></i> Project Information</a> </li> </ul> <hr class="divider" /> <div id="poweredBy"> <div class="clear"></div> <div class="clear"></div> <div class="clear"></div> <a href="http://maven.apache.org/" title="Built by Maven" class="builtBy"> <img class="builtBy" alt="Built by Maven" src="https://maven.apache.org/images/logos/maven-feather.png" /> </a> <a href="../../" title="Hosted by GitHub" class="builtBy"> <img class="builtBy" alt="Hosted by GitHub" src="https://assets-cdn.github.com/images/modules/logos_page/GitHub-Logo.png" width="200px" /> </a> <a href="http://www.sourceforge.net/" title="Hosted by SourceForge" class="builtBy"> <img class="builtBy" alt="Hosted by SourceForge" src="https://upload.wikimedia.org/wikipedia/commons/0/0b/Sourceforge_logo.png" /> </a> </div> </div> </div> <div id="bodyColumn" class="span9" > <h1>A short introduction to digilib</h1> <div class="section"> <h2><a name="digilib__how_does_it_work"></a>digilib – how does it work?</h2> <p>The image server digilib is a state-less web-based client-server application for interactive viewing and manipulation of images.</p></div> <div class="section"> <h2><a name="Frontend_and_Scaler_server"></a>Frontend and Scaler server</h2> <p>digilib consists mainly of two parts, the image server component proper, called “Scaler” and a client-side part that runs in the users web browser.</p> <p><img src="images/digilib-short-1.png" alt="digilib client and Scaler server" /></p> <p>The users browser sends an HTTP request for a certain (zoomed, scaled, rotated) image to the Scaler server and the server returns the image data as HTTP response.</p> <p>To complete the schematics of figure 1 we must also take into account that the client-side part consisting of HTML and Javascript code has also been requested and loaded from a frontend-web server into the users browser.</p> <p><img src="images/digilib-short-2.png" alt="digilib client with frontend and Scaler server" /></p> <p>To date there are several frontend implementations for digilib like the current “jquery” version that only requires static HTML and Javascript and the older “greyskin” version (grey buttons, implemented in JSP) that come with the default <a class="externalLink" href="https://sourceforge.net/p/digilib/code/ci/default/tree/webapp/src/main/webapp">digilib distribution</a> or the “<a class="externalLink" href="http://itgroup.mpiwg-berlin.mpg.de/cgi-bin/cvsweb.cgi/zogiLib/">Zogilib</a>” frontend version implemented in ZOPE. </p> <p>The frontend-server and the Scaler-server do not have to run on the same machine and often there are several frontends that use the same Scaler server.</p> <div class="section"> <h3><a name="Request_formats"></a>Request formats</h3> <p>The format of the HTTP requests for the frontend and the Scaler server can be completely different. The HTML and Javascript code of the frontend just has to generate the correct request for the Scaler to produce the desired image. Most of the current frontend implementations share some or all of the parameters with the Scaler API.</p></div> <div class="section"> <h3><a name="Scaler"></a>Scaler</h3> <p>The <a href="scaler-api.html">Scaler API</a> is documented on the digilib.sourceforge.net pages. Here is a minimal version:</p> <p>The Scaler servlet takes parameters in the HTTP request format: <tt>Scaler?param1=value1&param2=value2&...</tt> Unknown parameters will be silently ignored.</p> <p>Recognised parameters:</p> <ul> <li><tt>fn</tt> path to file or directory. All paths are relative to the configured base directory (digilib-config parameter <tt>basedir-list</tt>).</li> <li><tt>pn</tt> page number. Index into the (alphabetically sorted) directory given by the path. Starts with 1. Ignored if the path points to a file. Default: 1.</li> <li><tt>dw</tt> destination image width (pixels). If omitted the image is scaled to fit <tt>dh.</tt></li> <li><tt>dh</tt> destination image height (pixels). If omitted the image is scaled to fit <tt>dw</tt>.</li> <li><tt>wx</tt> relative x offset of the image area to be sent (0 <= <tt>wx</tt> <= 1). Default: 0.</li> <li><tt>wy</tt> relative y offset of the image area to be sent (0 <= <tt>wy</tt> <= 1). Default: 0.</li> <li><tt>ww</tt> relative width of the image area to be sent (0 <= <tt>ww</tt> <= 1). Default: 1.</li> <li><tt>wh</tt> relative height of the image area to be sent (0 <= <tt>wh</tt> <= 1). Default: 1.</li> <li>The image to be loaded can be specified by <tt>fn</tt> parameter and the optional index <tt>pn</tt> <ul> <li>if <tt>fn</tt> points to a directory then the file with the index <tt>pn</tt> (in alphabetical order according to ASCII) will be loaded</li> <li>if <tt>fn</tt> points to a file (with or without extension) then this file will be loaded</li> </ul></li> </ul> <p>The image will be scaled equally in horizontal and vertical direction such that the resulting image does not exceed the rectangle [<tt>dw</tt>,<tt>dh</tt>]. If only either height or width is given the image is scaled to match only the given parameter. The size of the resulting image in the other parameter is determined by the aspect ratio of the image.</p> <p>An example for a Scaler URL is: <tt>http://digilib.mpiwg-berlin.mpg.de/digitallibrary/Scaler?fn=experimental/digilib-test/images&wh=0.1712&ww=0.1282&wy=0.1681&wx=0.6895&dw=862&dh=904</tt> such a URL can be used as src attribute to an img element in the frontend HTML.</p></div></div> </div> </div> </div> <hr/> <footer> <div class="container-fluid"> <div class="row span12">Copyright © 2001-2017 <a href="https://robcast.github.io/digilib/">digilib Community</a>. All Rights Reserved. </div> </div> </footer> </body> </html>