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

Initial revision
author robcast
date Thu, 17 Jan 2002 15:29:55 +0100
parents
children
comparison
equal deleted inserted replaced
1:0ff3ede32060 20:d407cb901df4
1 <html>
2 <head>
3 <title>Untitled Document</title>
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5 </head>
6
7 <body bgcolor="#FFFFFF" text="#000000">
8 <h1>Digital Document Library</h1>
9 <h4>&nbsp; </h4>
10 <table border="0" cellspacing="3" width="573">
11 <tr>
12 <td>
13 <h4>Stand:</h4>
14 </td>
15 <td>
16 <h4>27. M&auml;rz 2001</h4>
17 </td>
18 </tr>
19 <tr>
20 <td>
21 <h4>&nbsp;</h4>
22 </td>
23 <td>
24 <h4>&nbsp;</h4>
25 </td>
26 </tr>
27 <tr>
28 <td>
29 <h4>Leitung:</h4>
30 </td>
31 <td>
32 <h4>Gerd Grasshoff (<a href="mailto:gerd.grasshoff@philo.unibe.ch">gerd.grasshoff@philo.unibe.ch</a>)</h4>
33 </td>
34 </tr>
35 <tr>
36 <td>
37 <h4>Autor:</h4>
38 </td>
39 <td>
40 <h4>Christian Luginb&uuml;hl (<a href="mailto:luginbuehl@student.unibe.ch">luginbuehl@student.unibe.ch</a>)</h4>
41 </td>
42 </tr>
43 </table>
44 <h3>Inhalt</h3>
45 <ol>
46 <li>Einf&uuml;hrung</li>
47 <li>Filestruktur</li>
48 <li>Files</li>
49 </ol>
50 <h3>1. Einf&uuml;hrung</h3>
51 <p>Das Projekt Digital Document Library hat zum Ziel, &quot;Dokumente&quot;mit
52 Heilfe eines Web-Browsers anschauen zu k&ouml;nnen. Diese Dokumente sind hochaufgel&ouml;ste
53 Bilddateien, die auf einem Server gespeichert sind. Um der Benutzerin, dem Benutzer
54 die M&ouml;glichkeit einer raschen Konsultation der Daten liefern zu k&ouml;nnen,
55 m&uuml;ssen diese Bilddaten auf eine vern&uuml;nftige Gr&ouml;sse verkleinert
56 und an die Anfragenden geschickt werden. Weiter sollen den Usern Hilfsmittel
57 zur Verf&uuml;gung stehen um in diesen Seiten zu navigieren. Diese Hilfsmittel
58 bestehen aus Funktionen um zwischen verschiedenen Seiten hin und her zu wechseln,
59 Ausschnitte aus einem Bild zu zoomen und der M&ouml;glichkeit Markierungen zu
60 setzen. Ein weiter wichtiges Feature dieses Programms ist es, Referenzen von
61 Seiten (inkl. Ausschnitte und Markierungen) verf&uuml;gbar zu machen, die dann
62 in beliebiegen anderen Dokumenten eingebaut werden k&ouml;nnen. Sofern die Lesenden
63 dieser Dokumente dann &uuml;ber einen Anschluss ins Internet verf&uuml;gen,
64 k&ouml;nnen diese Referenzen direkt konsultiert werden und so die Digital Document
65 Library als grosse Quelltextsammlung gebraucht werden.</p>
66 <h3>2. Filestruktur</h3>
67 <p>Die Digital Document Library ist als Client/Server-Modell aufgebaut, wobei
68 an dieser Stelle haupts&auml;chlich die Clientseite beschrieben wird. Zu einem
69 besseren Verst&auml;ndnis ist nun folgend eine Skizze mit den verschiedenen
70 Files und Verzeichnissen anf&uuml;gt.</p>
71 <p align="left"><img src="Digilib.gif" width="691" height="603" border="0" vspace="20" hspace="20"></p>
72 <p align="left">Da JavaScript auf den verschiedenen verf&uuml;gbaren Browsern
73 nicht genau gleich implementiert wurde und Digilib auf dieser Scriptsprache
74 aufsetzt, ist es wichtig in digilib.html eine geeignete Version von navigation_XX.js
75 zu finden. Das XX wird als Variable f&uuml;r unterschiedliche Anpassungen an
76 die Browser. Momentan sind Netscape 4 (navigation_n4.js) und Netscape 6 (navigation_n6.js)
77 unterst&uuml;tzt.<br>
78 Beim Erstellen der Struktur wurde darauf geachtet, dass das Layout und die tats&auml;chliche
79 Funktionalit&auml;t voneinander getrennt sind. Dies erm&ouml;glicht eine besstm&ouml;gliche
80 Portabilit&auml;t des Codes, so dass es m&ouml;glich ist, Digilib f&uuml;r spezielle
81 Anwendungen anzupassen (vgl. Compago, Universit&auml;t Bern).</p>
82 <h3 align="left">3. Files</h3>
83 <h4>3.1 digilib.html</h4>
84 <p>Dies ist die Schnittstelle zwischen Layout und Funktion von Digilib. Die Aufgaben
85 dieser Datei sind, das Laden der richtigen navigation_XX.js-Datei und das Anpassen
86 des Layouts. Hauptaufgabe jedoch ist das Lesen der Parameter aus der URL. digilib.html
87 ist so aufgebaut, dass ein Bild (inkl. Ausschnitte und Markierungen) vollst&auml;ndig
88 &uuml;ber Parameter in der URL angegeben werden kann. Nun folgend ist eine Liste
89 mit allen m&ouml;glichen Parametern, wobei nur gerade der erste gegeben sein
90 muss - alle andern haben Defaultwerte, die in Klammern angegeben sind:</p>
91 <pre>http://penelope.uni.../digitallibrary/digilib.html?att0+[att1]+[att2]+...+[att8]</pre>
92 <ul>
93 <li><b>att0</b> gibt das Verzeichnis an, in dem das Bild gespeichert ist.</li>
94 <li><b>att1</b> (1) gibt die Seitenzahl des Bildes an. Diese Zahl bezieht sich
95 nicht auf die Buchseite, sondern zeigt auf die x-te Datei im unter att0 angegebenen
96 Verzeichnis.</li>
97 <li><b>att2</b> (1) ist der Skalierungsfaktor. Ein Faktor von 1 zoomt das Bild
98 auf Framegr&ouml;sse, 2 macht das Bild doppelt so hoch und breit.</li>
99 <li><b>att3</b> (&quot;&quot;) ist f&uuml;r zus&auml;tzliche Kommandos an das
100 Servlet gedacht und per default leer. Einziges unterst&uuml;tztes Argument
101 ist hier &quot;f&quot; um das Servlet anzuweisen auch gif-Images zu zoomen.</li>
102 <li><b>att4</b> (0/0) enth&auml;lt die Informationen f&uuml;r Markierungspunkte.
103 Die x- und y-Koordinate verden mit &quot;/&quot; getrennt, verschiedene Markierungen
104 mit &quot;;&quot; (es sind bis zu 8 m&ouml;glich). Die Makrierungen werden
105 relativ zur Bildbreite und -h&ouml;he von 0 bis 1 angegeben (0/0 wird nicht
106 gezeichnet).</li>
107 <li><b>att5, att6</b> (0, 0) geben die linke ober Ecke des gew&uuml;nschten
108 Ausschnitts an (ebenfalls relativ - vgl. att4).</li>
109 <li><b>att7, att8</b> (1, 1) geben die relative Breite bzw. H&ouml;he des Ausschnitts
110 an. (Standardm&auml;ssig sind die Parameter so gesetzt, dass das ganze Bild
111 angezeigt wird).</li>
112 </ul>
113 <p>Diese Parameter werden von digilib.html als ein Block gelesen und an navigation_XX
114 weitergeleitet, wo dieser Block dann auseinander genommen und im richitgen Format
115 gespeichert wird.</p>
116 <h4>3.2 navigation.html</h4>
117 <p>Diese Datei l&auml;dt fw_menu.js, mit Funktionen f&uuml;r Events bei den Kn&ouml;pfen
118 und Menus. Weiter ist hier das Layout der Navigationsleiste festgelegt und die
119 Texte f&uuml;r die Kontexthilfe sind hier gespeichert.</p>
120 <h4>3.3 fw_menu.js</h4>
121 <p>In dieser von Fireworks generierten JavaScript-Datei werden die Events abgearbeitet,
122 die bei Mausbewegungen und -klicks &uuml;ber den Kn&ouml;pfen gesendet werden.
123 In dieser Datei ist auch eine Funktion f&uuml;r die kantextsensitive Hilfe der
124 einzelnen Kn&ouml;pfe gespeichert. Wenn sie eingeschaltet ist, dann wird beim
125 &Uuml;berfahren der Kn&ouml;pfe ein kleines Fenster ge&ouml;ffnet, in dem kurz
126 die Funktion und der Gebrauch dieses Knopfes erl&auml;utert.<br>
127 </p>
128 <h4>3.4 navigation_XX.js</h4>
129 <p>Diese Datei bildet das Kernst&uuml;ck des Digilib-Clients. Hier werden die
130 Funktionen angeboten um Seiten zu wechseln, Makierungen zu setzen, Referenzen
131 zu erzeugen und Ausschnitte zu zoomen. Weiter werden hier die Parameter aus
132 digilib.html &uuml;berpr&uuml;ft und gespeichert, die Anfrage ans Servlet gemacht,
133 wenn ein neuer Ausschnitt bzw ein neues Bild gew&uuml;nscht wird und dieses
134 wird dann ebenfalls von dieser Datei aus im Browser ausgegeben.<br>
135 Es gibt zwei wichtige globale Variablen in dieser Datei:</p>
136 <ul>
137 <li><b>whichFrame:</b> Diese Variable gibt an, in welchem Frame die erhaltenen
138 Bilder dargestellt werden sollen. Man hat so die M&ouml;glichkeit von aussen
139 auf diese Variable zuzugreiffen und so Anpassungen machen, wenn man ein anderes
140 Layout will (Bsp. Vergleichsbildschirm von Compago, Universit&auml;t Bern).
141 Das Format ist nach passendem DOM (Document Object Model - vgl. <a href="http://www.w3c.org">www.w3c.org</a>)
142 als relativer Pfad von der Stelle anzugeben, wo navigation_XX.js geladen wurde.</li>
143 <li><b>att-Array: </b>In diesem Array sind die einzelnen Parameter gespeichert
144 wie sie in Kapitel 3.1 aufgef&uuml;hrt wurden. Der Grund weshalb diese Variable
145 global gehalten wurde, ist der, dass ein modifizierter Client Informationen
146 &uuml;ber eine Seite speichern und weiterverarbeiten kann (auch hier sei auf
147 den &quot;Vergleichsbildschirm&quot; des Projektes Compago der Universit&auml;t
148 Bern hingewiesen).</li>
149 </ul>
150 <p>&nbsp;</p>
151 <p>Christian Luginb&uuml;hl</p>
152 </body>
153 </html>