Mercurial > hg > digilib-old
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/doc/dokumentation_digilib.html Thu Jan 17 15:29:55 2002 +0100 @@ -0,0 +1,153 @@ +<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>