21
|
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> </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ärz 2001</h4>
|
|
17 </td>
|
|
18 </tr>
|
|
19 <tr>
|
|
20 <td>
|
|
21 <h4> </h4>
|
|
22 </td>
|
|
23 <td>
|
|
24 <h4> </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ü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ührung</li>
|
|
47 <li>Filestruktur</li>
|
|
48 <li>Files</li>
|
|
49 </ol>
|
|
50 <h3>1. Einführung</h3>
|
|
51 <p>Das Projekt Digital Document Library hat zum Ziel, "Dokumente"mit
|
|
52 Heilfe eines Web-Browsers anschauen zu können. Diese Dokumente sind hochaufgelöste
|
|
53 Bilddateien, die auf einem Server gespeichert sind. Um der Benutzerin, dem Benutzer
|
|
54 die Möglichkeit einer raschen Konsultation der Daten liefern zu können,
|
|
55 müssen diese Bilddaten auf eine vernünftige Grösse verkleinert
|
|
56 und an die Anfragenden geschickt werden. Weiter sollen den Usern Hilfsmittel
|
|
57 zur Verfü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öglichkeit Markierungen zu
|
|
60 setzen. Ein weiter wichtiges Feature dieses Programms ist es, Referenzen von
|
|
61 Seiten (inkl. Ausschnitte und Markierungen) verfügbar zu machen, die dann
|
|
62 in beliebiegen anderen Dokumenten eingebaut werden können. Sofern die Lesenden
|
|
63 dieser Dokumente dann über einen Anschluss ins Internet verfügen,
|
|
64 kö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ächlich die Clientseite beschrieben wird. Zu einem
|
|
69 besseren Verständnis ist nun folgend eine Skizze mit den verschiedenen
|
|
70 Files und Verzeichnissen anfü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ü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ür unterschiedliche Anpassungen an
|
|
76 die Browser. Momentan sind Netscape 4 (navigation_n4.js) und Netscape 6 (navigation_n6.js)
|
|
77 unterstützt.<br>
|
|
78 Beim Erstellen der Struktur wurde darauf geachtet, dass das Layout und die tatsächliche
|
|
79 Funktionalität voneinander getrennt sind. Dies ermöglicht eine besstmögliche
|
|
80 Portabilität des Codes, so dass es möglich ist, Digilib für spezielle
|
|
81 Anwendungen anzupassen (vgl. Compago, Universitä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ändig
|
|
88 über Parameter in der URL angegeben werden kann. Nun folgend ist eine Liste
|
|
89 mit allen mö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össe, 2 macht das Bild doppelt so hoch und breit.</li>
|
|
99 <li><b>att3</b> ("") ist für zusätzliche Kommandos an das
|
|
100 Servlet gedacht und per default leer. Einziges unterstütztes Argument
|
|
101 ist hier "f" um das Servlet anzuweisen auch gif-Images zu zoomen.</li>
|
|
102 <li><b>att4</b> (0/0) enthält die Informationen für Markierungspunkte.
|
|
103 Die x- und y-Koordinate verden mit "/" getrennt, verschiedene Markierungen
|
|
104 mit ";" (es sind bis zu 8 möglich). Die Makrierungen werden
|
|
105 relativ zur Bildbreite und -hö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ünschten
|
|
108 Ausschnitts an (ebenfalls relativ - vgl. att4).</li>
|
|
109 <li><b>att7, att8</b> (1, 1) geben die relative Breite bzw. Höhe des Ausschnitts
|
|
110 an. (Standardmä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ädt fw_menu.js, mit Funktionen für Events bei den Knöpfen
|
|
118 und Menus. Weiter ist hier das Layout der Navigationsleiste festgelegt und die
|
|
119 Texte fü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 über den Knöpfen gesendet werden.
|
|
123 In dieser Datei ist auch eine Funktion für die kantextsensitive Hilfe der
|
|
124 einzelnen Knöpfe gespeichert. Wenn sie eingeschaltet ist, dann wird beim
|
|
125 Überfahren der Knöpfe ein kleines Fenster geöffnet, in dem kurz
|
|
126 die Funktion und der Gebrauch dieses Knopfes erläutert.<br>
|
|
127 </p>
|
|
128 <h4>3.4 navigation_XX.js</h4>
|
|
129 <p>Diese Datei bildet das Kernstü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 überprüft und gespeichert, die Anfrage ans Servlet gemacht,
|
|
133 wenn ein neuer Ausschnitt bzw ein neues Bild gewü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öglichkeit von aussen
|
|
139 auf diese Variable zuzugreiffen und so Anpassungen machen, wenn man ein anderes
|
|
140 Layout will (Bsp. Vergleichsbildschirm von Compago, Universitä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ührt wurden. Der Grund weshalb diese Variable
|
|
145 global gehalten wurde, ist der, dass ein modifizierter Client Informationen
|
|
146 über eine Seite speichern und weiterverarbeiten kann (auch hier sei auf
|
|
147 den "Vergleichsbildschirm" des Projektes Compago der Universität
|
|
148 Bern hingewiesen).</li>
|
|
149 </ul>
|
|
150 <p> </p>
|
|
151 <p>Christian Luginbühl</p>
|
|
152 </body>
|
|
153 </html>
|