picture.lg ist ein CGI-Skript, das von einem WWW-Server
gestartet wird. Es wird durch die Environment-Variable
QUERY_STRING gesteuert. Die Variable wird vom
WWW-Server entsprechend einer WWW-Anfrage gesetzt.
picture.lg erstellt ein HTML-Dokument das zwei
Inline-Images enthält, die sensitiv sind. Je nachdem
mit welchen Parametern (in QUERY_STRING) picture.lg
gestartet wird, wird entweder das Atrium- oder
Ventricle-Gel (ATRIUM_GRID.gif
bzw. VENTRICLE_GRID.gif) dargestellt. In diesem ist
ein bestimmter Bereich (hier: Spot) durch ein Rechteck
farbig markiert. Zusätzlich ist ein weiteres Bild
enthalten, das das gesamte Gel in verkleinerter Form
zeigt.
Der Benutzer kann in das verkleinerte Gesamtbild
klicken, um einen Quadranten zu selektieren;
in das Gelbild klicken, um eine Spotinformation
zu erhalten bzw. um in einen Quadranten zu zoomen.
Neben den beiden Bildern enthält das generierte
Dokument eine Liste, die beschreibt, welche Aktionen
der Benutzer ausführen kann:
Parameterübergabe
Das Gel (Atrium, Ventricle), das angezeigt, und
der Bereich (Spot), der markiert werden soll, wird dem
Skript in der Environment-Variable QUERY_STRING
mitgeteilt. QUERY_STRING muß dazu folgende Form
besitzen (Angaben in eckigen Klammern [] sind
optional):
QUERY_STRING = w=bild&k=x1,y1,x2,y2[&link=url][&c=r,g,b][&text=string][&trans=bool]
- bild
-
Kann den Wert atr oder ven
haben. Bei w=atr wird das
Atrium-Gel, bei w=ven das
Ventricle-Gel angezeigt.
- x1,y1,x2,y2
-
Geben die Eck-Koordinaten des Rechteckes an,
das den Bereich (Spot)
markiert. (x1,y1) ist die obere linke
Ecke und (x2,y2) die rechte untere Ecke
des Rechtecks. x1, y1, x2 und
y2 sind durch Zahlen zu ersetzen.
- url
-
In die oben beschriebene Liste wird von
picture.lg ein Verweis als Listenelement
aufgenommen. Der Verweis zeigt auf den
angegebenen url. Der Link wird
eingebettet in den Text:
go back to protein-information
Sollen innerhalb des URLs
url Sonderzeichen Verwendung finden, dann
müssen diese ggf. gemäß der URL-Spezifikation
kodiert werden. Die Angabe von link=url
ist optional.
- r,g,b
-
Zeichnet das Rechteck in der angegebenen
Farbe. r,g und b sind numerische
Werte, die den Rot-, Grün- bzw. Blauanteil
angegeben. Sie müssen im Bereich [0;255]
liegen. Die Angabe einer Farbe ist optional,
als Zeichenfarbe ist rot voreingestellt.
- string
-
Wird text=string angegeben, so erhält das
Dokument die Überschrift:
Position of protein on gel:
- string
Zusätzlich gibt string den Text an, mit
dem das gezeichnete Rechteck versehen werden
soll. Die Angabe ist optional. Sollen
innerhalb string Sonderzeichen
Verwendung finden, dann müssen diese gemäß der
URL-Spezifikation kodiert werden. Unter
anderem muß ' ' (SPACE) durch '+' kodiert
werden!
- bool
-
bool kann den Wert true oder
false annehmen. Wird der Eintrag
trans=bool nicht angegeben, so nimmt
picture.lg den Wert false als
Voreinstellung an.
Im Fall trans=false wird der
ausgegebene Text string mit einem
schwarzen Untergrund versehen. Dies ist die
Voreinstellung. Wirkt der Schriftuntergrund
störend, dann kann er durch trans=true
abgeschaltet werden.
Die oben beschriebene Liste, die dem Benutzer
beschreibt, welche Aktionen er ausführen kann,
und die einige Verweise enthält, besitzt einen
speziellen Eintrag. Dieser ermöglicht auf
leichte Art und Weise den Wert für trans
zwischen true und false
hinundherzuschalten.
- Beispiel:
-
QUERY_STRING = w=atr&k=20,20,130,140&text=Markierung&c=0,255,0
WWW-Schnittstelle
picture.lg wird nicht vom Benutzer selbst, sondern
von einem WWW-Server als CGI-Skript gestartet, wenn
von einem WWW-Client eine entsprechende Anfrage in
Form eines URLs kommt. Der Server setzt die
Environment-Variable QUERY_STRING anhand des URLs. Der
URL liefert die Information, welches Gel
(Atrium, Ventricle) und welcher
Bereich angezeigt werden soll. Damit QUERY_STRING, wie
unter «Parameterübergabe»
beschrieben, gesetzt wird, muß der
URL die Form haben (die Angaben in eckigen Klammern [] sind
optional):
http://host/cgi-verzeichnis/picture.lg?w=bild&k=x1,y1,x2,y2[&link=url][&c=r,g,b][&text=string][&trans=bool]
- host
- Name des Rechners auf dem der WWW-Server läuft.
- cgi-verzeichnis
- Verzeichnis in dem sich die CGI-Skripte des
Servers befinden. Der Server muß dazu passend
konfiguriert sein.
- bild
-
Kann den Wert atr oder ven
haben. Bei w=atr wird das
Atrium-Gel, bei w=ven das
Ventricle-Gel angezeigt.
- x1,y1,x2,y2
-
Geben die Eck-Koordinaten des Rechteckes an,
das den Bereich (Spot)
markiert. (x1,y1) ist die obere linke
Ecke und (x2,y2) die rechte untere Ecke
des Rechtecks. x1, y1, x2 und
y2 sind durch Zahlen zu ersetzen.
- url
-
In die oben beschriebene Liste wird von
picture.lg ein Verweis als Listenelement
aufgenommen. Der Verweis zeigt auf den
angegebenen url. Der Link wird
eingebettet in den Text:
go back to protein-information
Sollen innerhalb des URLs
url Sonderzeichen Verwendung finden, dann
müssen diese ggf. gemäß der URL-Spezifikation
kodiert werden. Die Angabe von link=url
ist optional.
- r,g,b
-
Zeichnet das Rechteck in der angegebenen
Farbe. r,g und b sind numerische
Werte, die den Rot-, Grün- bzw. Blauanteil
angegeben. Sie müssen im Bereich [0;255]
liegen. Die Angabe einer Farbe ist optional,
als Zeichenfarbe ist rot voreingestellt.
- string
-
Wird text=string angegeben, so erhält das
Dokument die Überschrift:
Position of protein on gel:
- string
Zusätzlich gibt string den Text an, mit
dem das gezeichnete Rechteck versehen werden
soll. Die Angabe ist optional. Sollen
innerhalb string Sonderzeichen
Verwendung finden, dann müssen diese gemäß der
URL-Spezifikation kodiert werden. Unter
anderem muß ' ' (SPACE) durch '+' kodiert
werden!
- bool
-
bool kann den Wert true oder
false annehmen. Wird der Eintrag
trans=bool nicht angegeben, so nimmt
picture.lg den Wert false als
Voreinstellung an.
Im Fall trans=false wird der
ausgegebene Text string mit einem
schwarzen Untergrund versehen. Dies ist die
Voreinstellung. Wirkt der Schriftuntergrund
störend, dann kann er durch trans=true
abgeschaltet werden.
Die oben beschriebene Liste, die dem Benutzer
beschreibt, welche Aktionen er ausführen kann,
und die einige Verweise enthält, besitzt einen
speziellen Eintrag. Dieser ermöglicht auf
leichte Art und Weise den Wert für trans zwischen
true und false
hinundherzuschalten.
- Beispiel:
-
http://www.chemie.fu-berlin.de/cgi-bin/dhzb/picture.lg?w=atr&k=20,20,130,140&text=Markierung&c=0,255,0
Funktionsweise
Das von picture.lg generierte HTML-Dokument hat folgenden
Aufbau:
- Es enthält zuerst eine Überschrift, die in Abhängigkeit vom
Parameter text=string in QUERY_STRING erstellt
wird. Siehe dazu «Parameterübergabe».
- Es folgt eine Liste, deren Aufbau von den
Parametern w, trans
und link bestimmt wird. Die Listenelemente
liefern Informationen zu möglichen Aktionen und
enthalten Verweise:
Der Benutzer kann zwischen der Darstellungsweise
des an das Rechteck geschriebenen Textes
string hinundherschalten. Der Text kann
mit oder ohne schwarzen Hintergrund ausgegeben
werden. Dieses Verhalten wird erreicht, indem das
Skript einen Verweis auf sich selbst erzeugt. Der
Verweis wird so gestaltet, daß er die aktuellen
Parameter erhält, mit denen picture.lg gestartet
wurde. Lediglich der Eintrag für trans wird
"invertiert". Aus trans=true wird
trans=false und aus trans=false wird
trans=true. Das Fehlen des Eintrages
trans wird genauso wie das Vorhandensein
des Eintrags trans=false behandelt.
Beispiel:
- Wurde picture.lg gestartet durch den URL:
- http://www.chemie.fu-berlin.de/cgi-bin/dhzb/picture.lg?w=atr&k=20,20,130,140&text=Markierung&c=0,255,0
- Dann wird folgender Verweis im HTML-Dokument erzeugt:
- <A HREF =
"/cgi-bin/dhzb/picture.lg?w=atr&k=20,20,130,140&text=Markierung&c=0,255,0&trans=true">
switch transparency of protein name on
</A>
- Der fehlende Teil
"http://www.chemie.fu-berlin.de" wird vom Browser
bei Aktivierung des Links ergänzt.
- Als nächstes folgt die Einbindung eines sensitiven
Inline-Bildes. Es stellt das gesamte Gel-Bild in
verkleinerter Form dar. Bei w=atr wird das
gif-Bild atrium.sml.gif, bei w=ven wird
ventricle.sml.gif benutzt.
Das Bild ist sensitiv. Als das den Mausklick
auswertende CGI-Skript wird imagemap
verwendet. Die Mapdatei ist
atrium.sml.map für das Atrium-Gel bzw.
ventricle.sml.map für das Ventricle-Gel.
Wird picture.lg mit dem Parameter w=atr gestartet, so wird folgender Eintrag
erzeugt:
<A HREF = "/cgi-bin/dhzb/imagemap/atrium.sml">
<IMG SRC = "/user/pleiss/images/atrium.sml.gif">
</A>
- Dann wird ein sensitives Bild eingetragen, das
das Atrium- bzw.
Ventricle-Gel zeigt; gesteuert durch w=atr
bzw. w=ven. Das Bild wird vom CGI-Skript
nph-startgifcrossxy.lg
erstellt. Es zeichnet in das Gel
(ATRIUM_GRID.gif, VENTRICLE_GRID.gif) das
Rechteck ein, das den Bereich (Spot) markiert.
Das Gelbild ist sensitiv. Als auswertendes
CGI-Skript wird imagemap
verwendet. Die Mapdatei ist
atrium.map für das Atrium-Gel bzw.
ventricle.map für das Ventricle-Gel.
Wird picture.lg mit den Parametern w=atr,
k=x1,y1,x2,y2, text=string und trans=true
gestartet, so wird folgender Eintrag
im HTML-Dokument erzeugt:
<A HREF = "/cgi-bin/dhzb/imagemap/atrium">
<IMG SRC = "/cgi-bin/dhzb/nph-startgifcrossxy.lg?w=atr&k=x1,y1,x2,y2&text=string&trans=true">
</A>