Mercurial > hg > digilib-old
view client/doc/dokumentation_digilib.html @ 21:a6ddb285964d vendor
First import of client module
author | robcast |
---|---|
date | Thu, 17 Jan 2002 15:29:55 +0100 |
parents | |
children |
line wrap: on
line source
<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <h1>Digital Document Library</h1> <h4> </h4> <table border="0" cellspacing="3" width="573"> <tr> <td> <h4>Stand:</h4> </td> <td> <h4>27. März 2001</h4> </td> </tr> <tr> <td> <h4> </h4> </td> <td> <h4> </h4> </td> </tr> <tr> <td> <h4>Leitung:</h4> </td> <td> <h4>Gerd Grasshoff (<a href="mailto:gerd.grasshoff@philo.unibe.ch">gerd.grasshoff@philo.unibe.ch</a>)</h4> </td> </tr> <tr> <td> <h4>Autor:</h4> </td> <td> <h4>Christian Luginbühl (<a href="mailto:luginbuehl@student.unibe.ch">luginbuehl@student.unibe.ch</a>)</h4> </td> </tr> </table> <h3>Inhalt</h3> <ol> <li>Einführung</li> <li>Filestruktur</li> <li>Files</li> </ol> <h3>1. Einführung</h3> <p>Das Projekt Digital Document Library hat zum Ziel, "Dokumente"mit Heilfe eines Web-Browsers anschauen zu können. Diese Dokumente sind hochaufgelöste Bilddateien, die auf einem Server gespeichert sind. Um der Benutzerin, dem Benutzer die Möglichkeit einer raschen Konsultation der Daten liefern zu können, müssen diese Bilddaten auf eine vernünftige Grösse verkleinert und an die Anfragenden geschickt werden. Weiter sollen den Usern Hilfsmittel zur Verfügung stehen um in diesen Seiten zu navigieren. Diese Hilfsmittel bestehen aus Funktionen um zwischen verschiedenen Seiten hin und her zu wechseln, Ausschnitte aus einem Bild zu zoomen und der Möglichkeit Markierungen zu setzen. Ein weiter wichtiges Feature dieses Programms ist es, Referenzen von Seiten (inkl. Ausschnitte und Markierungen) verfügbar zu machen, die dann in beliebiegen anderen Dokumenten eingebaut werden können. Sofern die Lesenden dieser Dokumente dann über einen Anschluss ins Internet verfügen, können diese Referenzen direkt konsultiert werden und so die Digital Document Library als grosse Quelltextsammlung gebraucht werden.</p> <h3>2. Filestruktur</h3> <p>Die Digital Document Library ist als Client/Server-Modell aufgebaut, wobei an dieser Stelle hauptsächlich die Clientseite beschrieben wird. Zu einem besseren Verständnis ist nun folgend eine Skizze mit den verschiedenen Files und Verzeichnissen anfügt.</p> <p align="left"><img src="Digilib.gif" width="691" height="603" border="0" vspace="20" hspace="20"></p> <p align="left">Da JavaScript auf den verschiedenen verfügbaren Browsern nicht genau gleich implementiert wurde und Digilib auf dieser Scriptsprache aufsetzt, ist es wichtig in digilib.html eine geeignete Version von navigation_XX.js zu finden. Das XX wird als Variable für unterschiedliche Anpassungen an die Browser. Momentan sind Netscape 4 (navigation_n4.js) und Netscape 6 (navigation_n6.js) unterstützt.<br> Beim Erstellen der Struktur wurde darauf geachtet, dass das Layout und die tatsächliche Funktionalität voneinander getrennt sind. Dies ermöglicht eine besstmögliche Portabilität des Codes, so dass es möglich ist, Digilib für spezielle Anwendungen anzupassen (vgl. Compago, Universität Bern).</p> <h3 align="left">3. Files</h3> <h4>3.1 digilib.html</h4> <p>Dies ist die Schnittstelle zwischen Layout und Funktion von Digilib. Die Aufgaben dieser Datei sind, das Laden der richtigen navigation_XX.js-Datei und das Anpassen des Layouts. Hauptaufgabe jedoch ist das Lesen der Parameter aus der URL. digilib.html ist so aufgebaut, dass ein Bild (inkl. Ausschnitte und Markierungen) vollständig über Parameter in der URL angegeben werden kann. Nun folgend ist eine Liste mit allen möglichen Parametern, wobei nur gerade der erste gegeben sein muss - alle andern haben Defaultwerte, die in Klammern angegeben sind:</p> <pre>http://penelope.uni.../digitallibrary/digilib.html?att0+[att1]+[att2]+...+[att8]</pre> <ul> <li><b>att0</b> gibt das Verzeichnis an, in dem das Bild gespeichert ist.</li> <li><b>att1</b> (1) gibt die Seitenzahl des Bildes an. Diese Zahl bezieht sich nicht auf die Buchseite, sondern zeigt auf die x-te Datei im unter att0 angegebenen Verzeichnis.</li> <li><b>att2</b> (1) ist der Skalierungsfaktor. Ein Faktor von 1 zoomt das Bild auf Framegrösse, 2 macht das Bild doppelt so hoch und breit.</li> <li><b>att3</b> ("") ist für zusätzliche Kommandos an das Servlet gedacht und per default leer. Einziges unterstütztes Argument ist hier "f" um das Servlet anzuweisen auch gif-Images zu zoomen.</li> <li><b>att4</b> (0/0) enthält die Informationen für Markierungspunkte. Die x- und y-Koordinate verden mit "/" getrennt, verschiedene Markierungen mit ";" (es sind bis zu 8 möglich). Die Makrierungen werden relativ zur Bildbreite und -höhe von 0 bis 1 angegeben (0/0 wird nicht gezeichnet).</li> <li><b>att5, att6</b> (0, 0) geben die linke ober Ecke des gewünschten Ausschnitts an (ebenfalls relativ - vgl. att4).</li> <li><b>att7, att8</b> (1, 1) geben die relative Breite bzw. Höhe des Ausschnitts an. (Standardmässig sind die Parameter so gesetzt, dass das ganze Bild angezeigt wird).</li> </ul> <p>Diese Parameter werden von digilib.html als ein Block gelesen und an navigation_XX weitergeleitet, wo dieser Block dann auseinander genommen und im richitgen Format gespeichert wird.</p> <h4>3.2 navigation.html</h4> <p>Diese Datei lädt fw_menu.js, mit Funktionen für Events bei den Knöpfen und Menus. Weiter ist hier das Layout der Navigationsleiste festgelegt und die Texte für die Kontexthilfe sind hier gespeichert.</p> <h4>3.3 fw_menu.js</h4> <p>In dieser von Fireworks generierten JavaScript-Datei werden die Events abgearbeitet, die bei Mausbewegungen und -klicks über den Knöpfen gesendet werden. In dieser Datei ist auch eine Funktion für die kantextsensitive Hilfe der einzelnen Knöpfe gespeichert. Wenn sie eingeschaltet ist, dann wird beim Überfahren der Knöpfe ein kleines Fenster geöffnet, in dem kurz die Funktion und der Gebrauch dieses Knopfes erläutert.<br> </p> <h4>3.4 navigation_XX.js</h4> <p>Diese Datei bildet das Kernstück des Digilib-Clients. Hier werden die Funktionen angeboten um Seiten zu wechseln, Makierungen zu setzen, Referenzen zu erzeugen und Ausschnitte zu zoomen. Weiter werden hier die Parameter aus digilib.html überprüft und gespeichert, die Anfrage ans Servlet gemacht, wenn ein neuer Ausschnitt bzw ein neues Bild gewünscht wird und dieses wird dann ebenfalls von dieser Datei aus im Browser ausgegeben.<br> Es gibt zwei wichtige globale Variablen in dieser Datei:</p> <ul> <li><b>whichFrame:</b> Diese Variable gibt an, in welchem Frame die erhaltenen Bilder dargestellt werden sollen. Man hat so die Möglichkeit von aussen auf diese Variable zuzugreiffen und so Anpassungen machen, wenn man ein anderes Layout will (Bsp. Vergleichsbildschirm von Compago, Universität Bern). Das Format ist nach passendem DOM (Document Object Model - vgl. <a href="http://www.w3c.org">www.w3c.org</a>) als relativer Pfad von der Stelle anzugeben, wo navigation_XX.js geladen wurde.</li> <li><b>att-Array: </b>In diesem Array sind die einzelnen Parameter gespeichert wie sie in Kapitel 3.1 aufgeführt wurden. Der Grund weshalb diese Variable global gehalten wurde, ist der, dass ein modifizierter Client Informationen über eine Seite speichern und weiterverarbeiten kann (auch hier sei auf den "Vergleichsbildschirm" des Projektes Compago der Universität Bern hingewiesen).</li> </ul> <p> </p> <p>Christian Luginbühl</p> </body> </html>