diff client/doc/dokumentation_digilib.html @ 20:d407cb901df4

Initial revision
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>&nbsp; </h4>
+<table border="0" cellspacing="3" width="573">
+  <tr> 
+    <td> 
+      <h4>Stand:</h4>
+    </td>
+    <td> 
+      <h4>27. M&auml;rz 2001</h4>
+    </td>
+  </tr>
+  <tr> 
+    <td> 
+      <h4>&nbsp;</h4>
+    </td>
+    <td> 
+      <h4>&nbsp;</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&uuml;hl (<a href="mailto:luginbuehl@student.unibe.ch">luginbuehl@student.unibe.ch</a>)</h4>
+    </td>
+  </tr>
+</table>
+<h3>Inhalt</h3>
+<ol>
+  <li>Einf&uuml;hrung</li>
+  <li>Filestruktur</li>
+  <li>Files</li>
+</ol>
+<h3>1. Einf&uuml;hrung</h3>
+<p>Das Projekt Digital Document Library hat zum Ziel, &quot;Dokumente&quot;mit 
+  Heilfe eines Web-Browsers anschauen zu k&ouml;nnen. Diese Dokumente sind hochaufgel&ouml;ste 
+  Bilddateien, die auf einem Server gespeichert sind. Um der Benutzerin, dem Benutzer 
+  die M&ouml;glichkeit einer raschen Konsultation der Daten liefern zu k&ouml;nnen, 
+  m&uuml;ssen diese Bilddaten auf eine vern&uuml;nftige Gr&ouml;sse verkleinert 
+  und an die Anfragenden geschickt werden. Weiter sollen den Usern Hilfsmittel 
+  zur Verf&uuml;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&ouml;glichkeit Markierungen zu 
+  setzen. Ein weiter wichtiges Feature dieses Programms ist es, Referenzen von 
+  Seiten (inkl. Ausschnitte und Markierungen) verf&uuml;gbar zu machen, die dann 
+  in beliebiegen anderen Dokumenten eingebaut werden k&ouml;nnen. Sofern die Lesenden 
+  dieser Dokumente dann &uuml;ber einen Anschluss ins Internet verf&uuml;gen, 
+  k&ouml;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&auml;chlich die Clientseite beschrieben wird. Zu einem 
+  besseren Verst&auml;ndnis ist nun folgend eine Skizze mit den verschiedenen 
+  Files und Verzeichnissen anf&uuml;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&uuml;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&uuml;r unterschiedliche Anpassungen an 
+  die Browser. Momentan sind Netscape 4 (navigation_n4.js) und Netscape 6 (navigation_n6.js) 
+  unterst&uuml;tzt.<br>
+  Beim Erstellen der Struktur wurde darauf geachtet, dass das Layout und die tats&auml;chliche 
+  Funktionalit&auml;t voneinander getrennt sind. Dies erm&ouml;glicht eine besstm&ouml;gliche 
+  Portabilit&auml;t des Codes, so dass es m&ouml;glich ist, Digilib f&uuml;r spezielle 
+  Anwendungen anzupassen (vgl. Compago, Universit&auml;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&auml;ndig 
+  &uuml;ber Parameter in der URL angegeben werden kann. Nun folgend ist eine Liste 
+  mit allen m&ouml;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&ouml;sse, 2 macht das Bild doppelt so hoch und breit.</li>
+  <li><b>att3</b> (&quot;&quot;) ist f&uuml;r zus&auml;tzliche Kommandos an das 
+    Servlet gedacht und per default leer. Einziges unterst&uuml;tztes Argument 
+    ist hier &quot;f&quot; um das Servlet anzuweisen auch gif-Images zu zoomen.</li>
+  <li><b>att4</b> (0/0) enth&auml;lt die Informationen f&uuml;r Markierungspunkte. 
+    Die x- und y-Koordinate verden mit &quot;/&quot; getrennt, verschiedene Markierungen 
+    mit &quot;;&quot; (es sind bis zu 8 m&ouml;glich). Die Makrierungen werden 
+    relativ zur Bildbreite und -h&ouml;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&uuml;nschten 
+    Ausschnitts an (ebenfalls relativ - vgl. att4).</li>
+  <li><b>att7, att8</b> (1, 1) geben die relative Breite bzw. H&ouml;he des Ausschnitts 
+    an. (Standardm&auml;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&auml;dt fw_menu.js, mit Funktionen f&uuml;r Events bei den Kn&ouml;pfen 
+  und Menus. Weiter ist hier das Layout der Navigationsleiste festgelegt und die 
+  Texte f&uuml;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 &uuml;ber den Kn&ouml;pfen gesendet werden. 
+  In dieser Datei ist auch eine Funktion f&uuml;r die kantextsensitive Hilfe der 
+  einzelnen Kn&ouml;pfe gespeichert. Wenn sie eingeschaltet ist, dann wird beim 
+  &Uuml;berfahren der Kn&ouml;pfe ein kleines Fenster ge&ouml;ffnet, in dem kurz 
+  die Funktion und der Gebrauch dieses Knopfes erl&auml;utert.<br>
+</p>
+<h4>3.4 navigation_XX.js</h4>
+<p>Diese Datei bildet das Kernst&uuml;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 &uuml;berpr&uuml;ft und gespeichert, die Anfrage ans Servlet gemacht, 
+  wenn ein neuer Ausschnitt bzw ein neues Bild gew&uuml;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&ouml;glichkeit von aussen 
+    auf diese Variable zuzugreiffen und so Anpassungen machen, wenn man ein anderes 
+    Layout will (Bsp. Vergleichsbildschirm von Compago, Universit&auml;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&uuml;hrt wurden. Der Grund weshalb diese Variable 
+    global gehalten wurde, ist der, dass ein modifizierter Client Informationen 
+    &uuml;ber eine Seite speichern und weiterverarbeiten kann (auch hier sei auf 
+    den &quot;Vergleichsbildschirm&quot; des Projektes Compago der Universit&auml;t 
+    Bern hingewiesen).</li>
+</ul>
+<p>&nbsp;</p>
+<p>Christian Luginb&uuml;hl</p>
+</body>
+</html>