und <SPAN> nicht immer. Browser ignorieren unbekannte HTML-Tags, sodass unter Umständen die gesamte Formatierung verloren geht. Wollen Sie alte Browser nicht unterstützen, spielt das keine Rolle. Wenn Sie auch ein akzeptables Layout auf alten Browsern wünschen, bietet sich für
die Verwendung von
an und für <SPAN> ist <STRONG> mit ausgeschalteter Fettfunktion zu empfehlen.
5.4
JavaScript
In der clientseitigen Programmierung spielt JavaScript eine starke Rolle – nicht nur im Zusammenhang mit DHTML – sondern auch für Formulare, grafische Effekte und mehr Interaktivität. Dieser Abschnitt soll nur einen Überblick geben, was JavaScript ist und wo es zum Einsatz kommt. Es soll nicht JavaScript lehren – dafür gibt es viele spezielle Bücher und Informationen im Internet.
176
JavaScript
5.4.1
Was ist JavaScript?
JavaScript ist eine relativ einfache Skriptsprache, die im Browser verarbeitet wird und die speziell für den Einsatz in HTML-Seiten konzipiert wurde. Trotz des ähnlichen Namens hat JavaScript nichts mit der Programmiersprache Java zu tun. JavaScript erlaubt es, kleine Programme in eine HTML-Seite einzubetten. Die Ausführung erfolgt dann, wenn die Seite im Browser dargestellt wird, je nach Programmierung automatisch oder gesteuert durch Ereignisse, die der Benutzer ausgelöst hat. Derartige Ereignisse sind meist Bedienungen der Maus oder der Tastatur. JavaScript kann also auf Klicks reagieren. Außerdem ist aber auch die Steuerung nach zeitlichen Ereignissen oder Bedingungen der Seite möglich, beispielsweise das Laden oder Verlassen einer Seite. JavaScript erlaubt den Zugriff auf die HTML-Elemente der Seite. Über das vom Browser bereitgestellte Objektmodell (Document Object Model, DOM), können vom Skript aus Formularelemente, Tags und Texte angesprochen und dynamisch verändert werden. Diese Prinzipien werden jedoch unter dem Stichwort DHTML zusammengefasst. Dies wird im nächsten Abschnitt kurz vorgestellt.
5.4.2
JavaScript verwenden
Skripte in HTML-Seiten werden dort ausgeführt, wo sie stehen. Wenn die Skriptinformationen für die gesamte Seite gelten, werden diese am besten im Kopf platziert:
JavaScript <script language="JavaScript"> // JavaScript-Programme
Hier steht die Seite
Die Skriptabschnitt <script> können mehrfach auf einer Seite auftreten. Code in einem Abschnitt, beispielsweise Funktionsdefinitionen, können von anderen Abschnitten erreicht werden. Wenn Sie JavaScript in einem Frameset einsetzen, kann der Code auf andere Frames zugreifen, da diese Teile über das DOM ansprechbar sind. Ereignisse Interessant im Zusammenhang mit JavaScript sind Ereignisse. Diese sind in der Regel an HTML-Tags gebunden. Dazu wird das Tag um ein entsprechen-
177
5 Basiswissen HTML
des Attribut erweitert. So können Sie das in reinem HTML funktionslose Element einer Schaltfläche mit JavaScript verbinden:
Hier wird als Parameter des Attributs gleich JavaScript-Code geschrieben. Eleganter sind natürlich Funktionsaufrufe, wobei die Funktionsdefinitionen im Kopf der Seite erfolgen. Externe Programme Wenn Sie viel mit JavaScript machen oder sich fertige Skripte beschaffen, kann die Einbettung in jeder Seite lästig sein – zumal bei Änderungen schnell die Übersicht verloren geht. Dazu kann das <script>-Tag so erweitert werden, dass die Daten aus einer Datei hinzu geladen werden. Dies erledigt der Browser, der damit auch erkennt, dass es sich um eine allein stehende Datei handelt. Er wird also auch versuchen, diese im eigenen Cache zwischenzuspeichern und verringert damit die Ladezeit bei künftigen Aufrufen der Seite. Verwenden Sie für die Einbindung externer Skripte folgende Syntax:
JavaScript <script language="JavaScript" src="/jspfad/externskript.js"> // JavaScript-Programme
Hier steht die Seite
Die Dateierweiterung JS ist nicht zwingend, aber üblich und sie folgt der W3C-Empfehlung.
5.5
Dynamisches HTML
Alle bisherigen Erweiterungen von HTML bezogen sich auf das Layout und erweiterte Darstellungsfunktionen. Für ansprechende Seiten ist das nicht ausreichend, denn das Medium Computer kann weitaus mehr bieten als statische Seiten. Auch die Möglichkeit der dynamischen Erstellung von Seiten mit ASP berücksichtigt nur sehr unvollkommen die Belange einer verbesserten Nutzeroberfläche.
178
Dynamisches HTML
5.5.1
Übersicht
DHTML steht für Dynamisches HTML. Statt statischer Anzeigen sind nun auch Reaktionen auf Ereignisse möglich, die direkt auf Anzeigeelemente Einfluss nehmen. Die Skriptsprache, mit der die Programmierung erfolgt, ist JavaScript. Leider gibt es gravierende Unterschiede zwischen Netscape- und Microsoft-Browsern. Ein praktischer Weg sind die DHTML-Funktionen in FrontPage, die so geschrieben wurden, dass beide Browser unterstützt werden. Sie können anhand der erzeugten Codes auch viel von den Möglichkeiten lernen, die DHTML bietet.
5.5.2
Was kann DHTML?
Prinzip
Das Prinzip des dynamischen HTML greift die Idee der Objekte auf. Erstmalig wird im Umfeld HTML der Begriff „Objekt“ für Designer relevant. So definiert der Browser ein Document Object Model (DOM), in dem jedes Element als Teil eines Objekts betrachtet wird. Das oberste Objekt der Hierarchie ist das Browserfenster. Der Unterschied zur normalen Programmierung mit HTML ist die Verfügbarkeit von Befehlen, die auf diese Objekte im Browser zugreifen. Das geschieht nicht auf der Serverseite, sondern im Browser. Der Browser muss also die nötige Funktionalität bieten. Zusätzlich gibt es ein Event-Modell, das jedem Objekt die Möglichkeit gibt, auf Ereignisse wie Mausklicks zu reagieren.
Das zu Grunde liegende Prinzip ist objektorientiert.
Gegenüber CSS können Sie die Zuweisung der Farben oder Textformen jederzeit ändern. Dabei kommt es zu keinen Zugriffen auf den Server, die Seite hat ein „Eigenleben“. Dahinter verbergen sich fantastische Möglichkeiten, denn mit DHTML wird das multimediale Medium Computer erst richtig ausgenutzt.
5.5.3
Beispiele
Überlagernde Objekte Das Beispiel wurde der Webseite „Milch&Zucker“ von Christoph Bergmann und J. Gamperl entnommen. Alle Rechte liegen bei den Autoren. Sie finden diese außerordentlich gute Website (reichlich dynamisch animiert) unter http://dhtml.seite.net. Das erste Beispiel zeigt zwei sich überlagernde Objekte, die mit verschiedenen Wischeffekten das unten liegende Objekt freigeben. Beide Objekte sind nur Textelemente, keine Grafiken. Ein wichtiges Element in DHTML sind die Ebenen. Sie können damit ungeahnte Effekte erzielen, denn die kleine Browserfläche gewinnt plötzlich eine neue Dimension – die Tiefe. Diese Anwendung zeigt Ihnen, wie Sie sich bequem durch verschiedene Ebenen bewegen können, wenn Sie beispielsweise zehn unterschiedliche Ebenen haben, in denen jeweils eigene Inhalte stehen. Diese Ebenen soll der
179
5 Basiswissen HTML
Anwender nur dann sehen, wenn er die entsprechende Schaltfläche bzw. einen Verweis anklickt. Für diese Aufgabe benötigen Sie eine Funktion, die durch eine Schleife die unterschiedlichen Ebenen erzeugt. Damit diese Anwendung auch ohne Problem abläuft, ist es notwendig, die Ebenen zu nummerieren (Ebene1, Ebene2 usw.). Binden Sie zunächst die Ebenen nach folgendem Muster in Ihr Dokument ein:
... Inhalt Ebene 1 ...
... Inhalt Ebene 2 ...
...
Im Head-Bereich des HTML-Dokuments werden nun die Style-Sheet-Angaben zu diesen Ebenen definiert: #demo1 { position: absolute; visibility: visible; left: 150px; top: 80px; }
Der Parameter position kann entweder absolute oder relative sein. Im ersten Fall wird der Style wie ein normales, eingebundenes Bild an einer genauen absoluten Position im Fenster ausgegeben, im zweiten an der Stelle im Text, an der er steht. Mit der Eigenschaft visibility kann man diesen Stil unsichtbar, hidden, oder wieder sichtbar, visible, machen. Erlaubt ist noch der Wert inherit, der bedeutet, dass der Stil die Eigenschaft des Stils übernehmen soll, von dem er abgeleitet wurde. top gibt die Y-Position des Stils in Pixeln an, left die X-Position. Die Inhalte der verschiedenen Ebenen können also entweder sichtbar oder unsichtbar sein. Auf diese Eigenschaften haben Sie selbst nach dem Laden der Seite noch Einfluss. Um eine Ebene auf diese Weise zu manipulieren, benötigen Sie die Eigenschaft visibility. Netscape verwendet hierbei die folgende Syntax: document.Ebene.visibility = "show"; // Ebene zeigen document.Ebene.visibility = "hide"; // Ebene verstecken
Mit dem Internet Explorer müssen Sie diese Syntax verwenden: Ebene.style.visibility = "visible"; // Ebene zeigen Ebene.style.visibility = "hidden"; // Ebene verstecken
Damit Ihre Anwendungen auf beiden Browsern funktionieren, müssen Sie diese unterschiedlichen Eigenschaften berücksichtigen. Um eine Ebene anzuzeigen, verwenden Sie folgende Funktion, wobei zuvor der verwendete Browser abgefragt werden muss: function zeigen(name) { if (ns) { document.layers[''+name].visibility = "show"; }
180
Dynamisches HTML
else { document.all[''+name].style.visibility = "visible" } }
Diese Anweisung erwartet als Parameter den Namen der entsprechenden Ebene und deckt beim Ausführen des Programms die jeweilige Ebene auf. Analog hierzu erzeugen Sie eine Funktion, um eine Ebene zu verbergen: function verbergen(name) { if (ns){ document.layers[''+name].visibility = "hide" } else { document.all[''+name].style.visibility = "hidden" } }
Dank dieser allgemein gehaltenen Anweisungen sind Sie nun in der Lage, jede beliebige Ebene mit dem entsprechenden Parameter aufzurufen. Als Nächstes benötigen Sie eine Funktion, welche die Schleife zwischen den jeweiligen Ebenen realisiert: var i = 1; var test = "demo";
In der Variablen i wird die Nummer der jeweils angezeigten Ebene gespeichert. Sobald ein Anwender eine neue Ebene aufdeckt, wird die entsprechende Nummer in dieser Variablen abgespeichert. Da die Ebene Nummer 1 als Erstes angezeigt wird, müssen Sie diese zu Beginn auch initialisieren. Die Variable test beinhaltet den Namen der Ebenen ohne Nummern. function zeigeEbeneNr(ebene_nr){ verbergen(eval('"' + test + i +'"')); zeigen(eval('"' + test + ebene_nr +'"')); i = ebene_nr; }
Der Funktion zeigeEbeneNr wird als Parameter die Nummer der Ebene ebene_nr übergeben, welche aufgedeckt werden soll. In dieser Anweisung werden die zuvor erzeugten Funktionen zum Zeigen und Verbergen einer Ebene aufgerufen. Übergeben Sie der Funktion beispielsweise die Nummer 2, wird die aktuell angezeigte erste Ebene versteckt, die zweite Ebene aufgedeckt und die Variable i auf 2 gesetzt. Beim nächsten Aufruf der Anweisung wird die zweite Ebene verdeckt und so weiter. Um das Skript auszuführen, benötigen Sie einen Event-Handler:
href="javascript:zeigeEbeneNr(1)">Zeige Ebene 1 href="javascript:zeigeEbeneNr(2)"> Zeige Ebene 2
href="javascript:zeigeEbeneNr(3)"> Zeige Ebene 3
href="javascript:zeigeEbeneNr(...)"> Zeige Ebene ...
181
5 Basiswissen HTML
Diese Befehle können an einer beliebigen Stelle im Dokument angebracht werden. An Stelle von Verweisen können Sie auch Formularschaltflächen oder Grafiken verwenden. Ihr neues interaktives Webangebot kann nun eröffnet werden. Navigation mit DHTML Oft werden Navigationsinstrumente benötigt. Warum sollte man nicht einmal sich überlappende Menüs verwenden? Das ist eine typische Anwendung, denn überlappende Objekte kennt HTML alleine noch nicht. Die Tatsache, dass Stile andere Seiteninhalte überdecken können, ist für Menüs von großem Vorteil: So lassen sich aufklappbare Menüleisten programmieren, deren Unterpunkte nur dann zu sehen sind und damit Platz auf der Seite beanspruchen, wenn der Benutzer auf die Menüpunkte klickt. Im Folgenden finden Sie eine Beispielanwendung für ein solches Menü. Als zusätzlichen Effekt „klappen“ die Menüs nicht einfach auf, sondern „rollen“ weich von oben herein.
Rollmenue <style> #essenmenu { position: absolute; top: 0; left: 0; z-index: 1; } #essen { position: absolute; top: -120; left: 0; z-index: 0; } #trinkenmenu { position: absolute; top: 0; left: 60; z-index: 1; } #trinken { position: absolute; top: -92; left: 60; z-index: 0; }
182
Dynamisches HTML
Vier Stile wurden definiert: Einer für jedes Hauptmenü und einer für jedes Untermenü. Die Hauptmenüs liegen dabei eine Ebene über den Untermenüs, sodass die Untermenüs von den Hauptmenüs überdeckt werden. Diese Überlagerung wird auch als z-Index bezeichnet. Daran schließen sich die JavaScript-Funktionen zur Steuerung an: <script language="JavaScript"> var eypos=-124, ejump=-4; var typos=-92, tjump=-4; var delay=2; function do_essen() { if(typos>-92) { tjump=-4; if(typos>=30) trinken_fahren(); } ejump=-ejump; if(eypos<=-122 || eypos>=30) essen_fahren(); } function essen_fahren() { if(document.layers) document.essen.top=eypos; else document.all.essen.style.top=eypos; eypos+=ejump; if(eypos>-122 && eypos<30) setTimeout("essen_fahren()", delay); } function do_trinken() { if(eypos>-122) { ejump=-4; if(eypos>=30) essen_fahren(); } tjump=-tjump; if(typos<=-92 || typos>=30) trinken_fahren(); } function trinken_fahren() { if(document.layers) document.trinken.top=typos; else document.all.trinken.style.top=typos; typos+=tjump; if(typos>-92 && typos<30)
183
5 Basiswissen HTML
setTimeout("trinken_fahren()", delay); }
Die Hauptfunktionen do_essen() und do_trinken() aktivieren erst die Funktionen, welche die Bewegung ausführen, essen_fahren() und trinken_fahren(). Die erste if-Abfrage testet, ob vielleicht das andere Untermenü ausgefahren ist – da immer nur eines auf einmal sichtbar sein soll, aktiviert die entsprechende Routine das Zurückfahren des anderen Menüs. Dann wird die Fahrtrichtung des Untermenüs umgedreht: Wenn es nicht sichtbar ist, soll es ausfahren, und wenn es ausgefahren ist, soll es zurückfahren. Da JavaScript in der Lage ist, mehrere Funktionen gleichzeitig laufen zu lassen, müssen wir sichergehen, dass die Fahrroutine nicht schon läuft, sonst würde, wenn ein Benutzer mehrmals schnell hintereinander klickt, die Funktion mehrmals starten. Beim Zuweisen der Position muss hinsichtlich beider Browsertypen getestet und entsprechende Befehle müssen verwendet werden. Anschließend folgt der Rest der HTML-Seite:
Brot /tr> Butter /tr> Wurst /tr> Käse /tr>
184
Dynamisches HTML
Wasser /tr> Bier /tr> Limonade /tr>
Jetzt werden der Reihe nach die beiden Hauptmenüs und anschließend die beiden Untermenüs definiert. Da die Untermenüs zu Beginn eine negative Position (-92 beziehungsweise -122) haben, sind sie erst einmal nicht zu sehen. Die Tabellen dienen nur zur Verschönerung, damit alle Einträge dieselbe Größe haben. Jetzt folgt der Inhalt der Seite:
Willkommen im Wirtshaus zum Eber. Bitte wählen Sie aus unserem reichhaltigen Menü die Speisen und Getränke, mit denen wir Ihren Gaumen verwöhnen dürfen. Unser freundliches Personal wird Ihnen sogleich jeden Ihrer Wünsche erfüllen.
Zuerst werden zwei Zeilen für das Menü freigelassen. Der nun folgende Text ist ganz normaler HTML-Text. Er wird zwar, wenn ein Menü ausgefahren ist, überlappt, aber ist danach wieder ganz normal sichtbar.
185
II Webseiten-Gestaltung mit FrontPage In diesem Teil erfahen Sie, in welcher Form FrontPage Internetseiten strukturiert und in Webs zusammenfasst. Mit einfachen Mitteln werden Sie erste Seiten erstellen und auf einem Webserver veröffentlichen. Dabei erlernen Sie schrittweise, wie HTML-Seiten aufgebaut sind, wie Text und Grafik eingebunden werden und wie die generierten Seiten zur Betrachtung in einem InternetBrowser bereitgestellt werden können.
6
Arbeiten mit FrontPage-Webs
Der Begriff „Web“ steht im allgemeinen Sprachgebrauch für das World Wide Web, das hypertextbasierte Informationssystem im Internet. FrontPage verwendet den Begriff „Web“ in einer eigenen Form: Ein FrontPage-Web ist eine Sammlung von einzelnen Internetseiten und FrontPage-Komponenten, die serverseitig miteinander verbunden und katalogisiert sind. Was das Internet im Großen, ist ein FrontPage-Web im Kleinen. Die Stärke von HTML liegt darin, dass beliebige Dateien über Hyperlinks miteinander verknüpft werden können. Das Netz, das daraus entsteht, kann riesige Dimensionen annehmen. Gerade Unternehmens-Websites, die oftmals Hunderte von Seiten umfassen, werden schnell unübersichtlich, eine einheitliche Navigation ist schwierig. Fehler durch gelöschte Seiten oder neue Inhalte sind kaum zu vermeiden, und wenn mehrere Autoren Seiten erstellen, ist nicht mehr nachzuvollziehen, wer was an welchen Inhalten verändert hat. Die FrontPage-Webs sind einzigartige Hilfsmittel, die diesen Schwierigkeiten vorbeugen und vielseitige Hilfestellungen geben.
Webs als Administrationswerkzeuge
FrontPage-Webs ermöglichen es, die Verknüpfungen zwischen den einzelnen Seiten eines FrontPage-Webs darzustellen und zu administrieren. FrontPage-Webs enthalten darüber hinaus seitenübergreifende Informationen zum Seitenlayout und für interaktive Komponenten, wie beispielsweise Diskussionsforen und Formulare, deren Inhalte im Web selbst gespeichert werden. Für jedes FrontPage-Web können Sie Zugriffsberechtigungen festlegen, um einzelne Ordner oder Dateien nur bestimmten Nutzern zugänglich zu machen. Schließlich können innerhalb eines Webs Aufgaben auf mehrere Bearbeiter verteilt und Änderungen zurückverfolgt werden. Ändert sich der Name einer Datei oder verschieben Sie eine Datei innerhalb des Webs in einen anderen Ordner, benennt FrontPage alle Verweise auf diese Datei innerhalb des gesamten Webs um. Damit müssen Sie sich nicht mehr um die korrekte „Verlinkung“, das heißt die durchgehend fehlerlose Verknüpfung aller Seiten, kümmern. Dies ist wohl eines der überzeugendsten Merkmale von FrontPage, denn nichts ist ärgerlicher als ein Verweis, der ins Nichts führt, oder eine Seite, deren Navigationsgrafiken fehlen. All diese Funktionen stellt FrontPage auf einfache Weise zur Verfügung, setzt dazu aber ein Web und gleichzeitig die Installation der Servererweiterungen voraus. Die Funktionsweise und Einrichtung der Servererweiterung wird in Kapitel 3 umfassend erläutert.
Servererweiterungen
189
6 Arbeiten mit FrontPage-Webs
Zwar kann FrontPage auch einzelne HTML-Seiten außerhalb und unabhängig von einem FrontPage-Web erstellen und speichern; jedoch ist es für die Arbeit mit FrontPage am sinnvollsten, bereits zu Beginn mit einem Web zu arbeiten, um die Verwaltungs- und Publikationsfunktionen von FrontPage vollständig nutzen zu können. Diese Arbeitsweise erleichtert die Ergänzung und Pflege zu einem späteren Zeitpunkt. Daher sei Ihnen dringend ans Herz gelegt, sich vor der Erstellung separater Seiten auch bei einem kleinen Homepage-Projekt mit den Möglichkeiten eines FrontPage-Webs zu beschäftigen und möglichst von Anfang an damit zu arbeiten. So ersparen Sie sich viel Mühe und Ihre Besucher werden es Ihnen danken. Welche konzeptionellen Überlegungen und Vorarbeiten dazu notwendig sind, wird in Kapitel 12 beleuchtet. Es mag zunächst sinnvoll erscheinen, nur einzelne Seiten zu erstellen, nicht gleich ein ganzes Web, wenn Sie zum Beispiel Urlaubsfotos in Form eines Fotoalbums im Internet veröffentlichen möchten. Wenn Sie zusätzlich noch eine Begrüßungsseite vorschalten oder ein zweites Fotoalbum, das mit dem ersten verknüpft werden soll, empfiehlt es sich bereits, ein FrontPage-Web zu erstellen.
6.1
Ein neues Web erstellen
FrontPage unterstützt Sie bei der Erstellung neuer Internetseiten zum einen mit Hilfe von Vorlagen, die bereits alle notwendigen Strukturen bereitstellen. Zum anderen stehen Ihnen verschiedene Assistenten beim Generieren besonderer Funktionen zur Seite. Sie müssen sich nur vorab entscheiden, welche Vorlage die passende ist. Beim ersten Start von FrontPage können Sie HTML-Seiten standardmäßig mit FrontPage verknüpfen: Jedes Mal, wenn Sie eine Webseite nicht öffnen, sondern editieren, geschieht das auf Wunsch mit FrontPage. Abbildung 6.1: FrontPage als Standard-Editor?
Wählen Sie im Menü DATEI die Option NEU | SEITE ODER WEB , um das Fenster NEUE SEITE ODER NEUES WEB aufzurufen.
190
Ein neues Web erstellen Abbildung 6.2: Fenster „Neue Seite oder neues Web“
Klicken Sie unter der Überschrift „Mit Vorlage beginnen“ auf den Menüpunkt WEBVORLAGEN. Abbildung 6.3: Dialogbox „Webvorlagen“ zum Erstellen eines neuen FrontPage-Webs
Die Dialogbox enthält die Vorlagen und Assistenten für neue Webs. Neben der Vorlage können Sie dort die Adresse des neu zu erstellenden Webs mit einer Reihe von Optionen angeben. Als Voreinstellung ist die Vorlage „Standardweb“ und eine neue Adresse in Ihrem Ordner für eigene Webs ausgewählt.
Vorlagen zum Erstellen neuer Webs nutzen
191
6 Arbeiten mit FrontPage-Webs
Das Web anlegen Für den ersten Test wählen Sie die Vorlage „Standardweb“. Um für die Projekte dieses Buches einen einheitlichen und leicht wieder zu findenden Ordner zu erstellen, geben Sie im Feld ADRESSE DES NEUEN WEBS C:\FrontPage Webs\ ein. Neue Webs auf dem lokalen Server erstellen
Haben Sie einen lokalen Webserver, können Sie statt C:\FrontPage Webs\ auch den Namen Ihres Servers einsetzen, beispielsweise http://localhost/, gefolgt vom Namen des neu zu erstellenden Webs, hier also http://localhost/ Projekt00/. Für die weiteren Schritte ist es zunächst unerheblich, ob Sie die Seiten auf dem Server oder in einem Verzeichnis auf der Festplatte erstellen. Benennen Sie das erste lokale Verzeichnis C:\FrontPage Webs\Projekt00, indem Sie den Namen eingeben und auf OK klicken.
Abbildung 6.4: Ein neues Web wird erstellt
FrontPage erstellt nun im angegebenen Ordner das neue Web mit einer leeren HTML-Seite. Sie können jederzeit über das Menü ANSICHT | ORDNER eine Übersicht über die Ordnerstrukur ein- und ausblenden. Schneller geht es per Mausklick auf die Schaltfläche ORDNERLISTE unten in der zweiten Spalte. Abbildung 6.5: Ein leeres Standardweb
192
Ein neues Web erstellen
6.1.1
Die Webstruktur
Die Ordnerliste zeigt die Ordner- und Dateistruktur des Webs in der Art des Windows-Explorers an. Anders als im Windows-Explorer wird aber in der Ordnerleiste der Inhalt von Ordnern im FrontPage-Web in einer Baumstruktur angezeigt. Der Inhalt der gelben Ordner kann über die links davon stehenden Plus- und Minus-Zeichen ein- und ausgeblendet werden. Es fällt zunächst auf, dass FrontPage neben der leeren Seite index.htm automatisch weitere Ordner erzeugt hat. Klicken Sie jetzt auf die Pluszeichen vor den Ordnern _private und images. Die Zeichen verschwinden, und es werden keine neuen Dateien angezeigt. Es handelt sich also um leere Ordner. Die Funktionen dieser beiden Ordner werden in Tabelle 6.1 erläutert. Eine Übersicht der weiteren FrontPage-eigenen Ordner finden Sie in Kapitel 6.8.3. Ordner
Funktion
_private
Dieser Ordner ist für Dateien bestimmt, die für Besucher Ihrer Website unsichtbar bleiben sollen. Standardmäßig ist der Zugriff auf diesen Ordner gesperrt. Im Menü EXTRAS | WEBEINSTELLUNGEN, Registerkarte ERWEITERT, können Sie die Option VERSTECKTE DATEIEN UND ORDNER ANZEIGEN aktivieren, um den Zugriff auf die Dateien dieses Ordners zu ermöglichen.
images
Dieses ist der von FrontPage gewählte Standardname für Ordner, in denen Bilddateien abgelegt werden. Zwar können Sie diese Dateien auch in beliebigen anderen Ordnern ablegen, eine klare und vor allem durchgängige Strukturierung erleichtert aber das Wiederfinden von Grafiken. Zudem ist es sinnvoll, Grafiken, die wiederholt eingesetzt werden sollen (beispielsweise Buttons für die Navigation auf mehreren Seiten), stets nur in einem Ordner abzulegen, um Speicherplatz zu sparen und die Anzeige der Seiten zu beschleunigen. Benennen Sie Ordner mit ähnlichem Inhalt immer gleich, und geben Sie ihnen präzise Namen, um unnötigen Mehraufwand zu vermeiden.
Tabelle 6.1: Ordner, die FrontPage beim Erzeugen eines neuen Webs automatisch erstellt
Sobald viele Dateien in einem Ordner liegen, empfiehlt es sich, in den Ansichtsmodus ORDNER zu wechseln. Der Inhalt der Ordner wird dann in einem separaten Fenster angezeigt. Klicken Sie dazu in der Ansichtenliste auf das ORDNER-Symbol oder wählen Sie das Menü ANSICHT | ORDNER.. Das in Abbildung 6.6 gezeigte Web enthält insgesamt über 300 HTML-Seiten, 700 Grafiken und weitere Dateien. In einer solch umfangreichen Website den Überblick zu behalten wäre schwierig, würden Seiten und verbundene Dateien, wie beispielsweise Grafiken, nicht immer nach den gleichen Namenskonventionen abgelegt. Zweckmäßig ist daher die bereits erwähnte Konsistenz der Ordnerbenennung.
193
6 Arbeiten mit FrontPage-Webs Abbildung 6.6: Ein umfangreiches Web in der Ordneransicht
Ordner und Dateien vereinheitlichen Ordner, die Grafiken enthalten, heißen in diesem Beispiel immer gr. Grafiken, die im gesamten Web eingesetzt werden, so beispielsweise Navigationsknöpfe oder Logos, sind im Ordner gr auf der ersten Ebene abgelegt. Dahingegen sind Grafiken, die nur einmal in einer bestimmten Seite angezeigt werden, wie Überschriften oder Fotos, jeweils in einem Unterordner der HTML-Seite, in der die Grafik eingebunden ist, zu finden. Diese Vorgehensweise erleichtert das Finden und Referenzieren von Dateien, bedarf aber gründlicher Vorplanung. Nach welchen Kriterien Sie am erfolgreichsten die Website strukturieren, lernen Sie in Kapitel 12. Ein negativer Nebeneffekt stark verschachtelter Strukturen soll nicht verschwiegen werden. Die Website, deren Struktur Abbildung 6.6 darstellt, enthält 300 HTML-Seiten, die jeweils auf mindestens zwei weitere HTML-Seiten verweisen und drei Grafiken enthalten. Im HTML-Code wird auf jede dieser Dateien mit dem relativen Pfad verwiesen, das heißt mit einer Angabe der Position der jeweiligen Datei in Bezug auf die Datei, die den Verweis enthält. Haben nun die einzelnen Ordner längere Namen (wie beispielsweise Grafiken), ist der Verweis auf eine Datei in diesem Ordner auch um einige Zeichen und damit Bytes länger. Diese Bytes summieren sich über die gesamte Seite, was bei einer stark verschachtelten Struktur noch dramatischer ist. Jeder Verweis muss hier nicht nur den Dateinamen, sondern auch noch die Namen mehrerer Verzeichnisse enthalten. Jede Seite wird damit größer, und es dauert länger, sie herunterzuladen.
194
Die erste Seite
Bei umfangreichen Websites kann es daher sinnvoll sein, die Namen von Ordnern zu kürzen, um Bandbreite zu sparen. Heißen beispielsweise alle Grafikordner immer gr, ist dies ebenso klar wie ein längerer Name. Dank der Indizierung von Seiten und Hyperlinks in FrontPage-Webs ist es jedoch auch im Nachhinein noch jederzeit möglich, die Struktur zu ändern und „aufzuräumen“. Dies ist wiederum ein Grund mehr, FrontPage-Webs von Anfang an zu nutzen.
6.2
Die erste Seite
Haben Sie die Vorlage STANDARDWEB ausgewählt, wird auch nur eine einzige Seite generiert. Die Datei index.htm ist die erste und bislang einzige Seite in Ihrem neuen Web. Diese Datei ist noch leer. Wie die erste Seite Ihres neuen Webs heißt, ist davon abhängig, ob Sie das Web auf Ihrer Festplatte oder auf einem lokalen Server erstellt haben. Ist Ihr Server nämlich so konfiguriert, dass die Startseite beispielsweise default.htm heißt, wird FrontPage im neuen Web auch die erste Seite so nennen. Die Startseite stellt sicher, dass auch dann eine tatsächliche Seite angezeigt wird, wenn nur die Adresse des Verzeichnisses eingegeben wird, so beispielsweise http://localhost. Die Seite, die in diesem Fall automatisch angezeigt wird, ist aber die Standardstartseite http://localhost/default.htm. Wie Sie Internetseiten gestalten, wird in Kapitel 7 umfassend erläutert. Damit Ihr erstes FrontPage-Web aber an dieser Stelle nicht ganz leer bleibt, soll zumindest ein kurzer Text auf der Seite erscheinen. Stellen Sie dazu sicher, dass Sie sich in der Seitenansicht befinden. Klicken Sie nun in der Ordnerliste doppelt auf die Datei index.htm. Die Datei wird in FrontPage geöffnet und im rechten Fenster erscheint die leere Seite. Die Texteinfügemarke blinkt in der linken oberen Ecke. Tun Sie es mir nach, geben Sie „Hallo Tobias!“ ein. Sie haben soeben die erste Internetseite Ihres Webs mit Inhalt gefüllt und meinen Bruder begrüßt. Wie die Seite in einem Internetbrowser aussieht, können Sie prüfen, indem Sie im Seitenfenster unten auf die Registerkarte VORSCHAU klicken. Der über diese Funktion eingebundene Internetbrowser Internet Explorer zeigt nun die Seite an. Zwischen der Normalansicht von FrontPage und der Vorschau im Browser ist kein Unterschied festzustellen. Dies liegt vor allem daran, dass die Seite lediglich einfachen Text enthält. Es gibt aber durchaus Seiten, deren Normal- und Vorschauansicht sich stark im Erscheinungsbild unterscheiden. Für unsere Zwecke soll dies aber im Moment keine Rolle spielen.
Darstellung der Seite im integrierten Browser überprüfen
195
6 Arbeiten mit FrontPage-Webs Abbildung 6.7: Ihre erste HTMLSeite
6.3
Änderungen am Web vornehmen
FrontPage 2002 verbindet die Werkzeuge zum Verwalten von Webs und zum Editieren von HTML-Seiten unter einer Oberfläche. Schließen Sie eine gerade bearbeitete Seite, bleibt das FrontPage-Web weiterhin im selben Fenster geöffnet. Alle Änderungen, die nicht die einzelnen Seiten selbst betreffen, werden durchgeführt, ohne sie zusätzlich speichern zu müssen. Ändern Sie eine Seite im Web, speichern Sie diese – wie unter Windows üblich – über das Menü DATEI | SPEICHERN, per Klick auf das Diskettensymbol oder über das Tastenkürzel (Strg)+(S).
6.3.1
Erstellen neuer Seiten
Um eine neue Seite in einem Web zu erstellen, wählen Sie in der Ordnerliste zunächst den Ordner aus, in dem die neue Seite erstellt werden soll. Klicken Sie dazu auf den gewünschten Ordner. Eine neue Seite erzeugen Sie, indem Sie im Menü DATEI | SEITE ODER WEB, die Dialogbox NEUE SEITE ODER NEUES WEB öffnen oder mit dem Tastenkürzel (Strg)+(N). Alternativ können Sie auch mit der rechten Maustaste auf den Ordner klicken und aus dem Kontextmenü die Funktion NEUE SEITE wählen.
196
Änderungen am Web vornehmen
6.3.2
Erstellen neuer Ordner
Einen neuen Ordner im Stammverzeichnis oder in einem bereits vorhandenen Ordner erstellen Sie, indem Sie den gewünschten Ordner in der Ordnerliste und im Menü DATEI | NEU den Punkt ORDNER auswählen. Einfacher geht es wiederum über das Kontextmenü jedes Ordners: Klicken Sie mit der rechten Maustaste auf den gewünschten Ordner und wählen Sie NEU | ORDNER.
6.3.3
Umbenennen von Ordnern und Dateien
Für das Umbenennen von Dateien und Ordnern gibt es keinen Menübefehl. Wählen Sie daher das umzubenennende Objekt mit der Maus und drücken Sie (F2), oder wählen Sie UMBENENNEN aus dem Kontextmenü, das Sie über die rechte Maustaste erreichen. Sie können aber auch in der Ordnerliste die umzubenennende Datei markieren und auf den Namen klicken. Beachten Sie jedoch, dass Sie den Dateityp der Datei beibehalten. Schließlich wird aus einer Textdatei keine Grafik, indem man ihr eine neue Endung verleiht. HTM oder HTML? Windows warnt Sie, wenn Sie den Dateityp einer Datei verändern wollen. Diese Warnung erscheint auch dann, wenn Sie den Dateityp HTM in HTML umwandeln wollen. Ausnahmsweise besteht zwischen diesen beiden Dateitypen kein Unterschied. Die Endung „.htm“ ist lediglich ein Zugeständnis an die früheren 16-Bit-Windows-Versionen (Windows 3.11 und früher), die mit langen Dateinamen nicht umgehen können und an die DOS-Namenskonvention gebunden sind. Die erlaubten Namen für Dateien unter MS-DOS bestehen aus acht Zeichen für den Namen und drei Zeichen für den Dateityp. Die Endung HTML aber besteht aus vier Zeichen und wird in dieser Form unter MS Windows 3.11 nicht verstanden. Es empfiehlt sich daher, den Dateityp HTM beizubehalten, um Probleme zu vermeiden. Weitere Informationen zu plattformspezifischen Namenskonventionen entnehmen Sie bitte Kapitel 7.
6.3.4
Verschieben und Löschen von Dateien und Ordnern
Dateien und Ordner können innerhalb des Webs zu jeder Zeit verschoben werden. FrontPage übernimmt automatisch die Umbenennung von Verknüpfungen in anderen Seiten, wenn sich die Position einer verknüpften Datei ändert. Dies betrifft gleichermaßen interne Hyperlinks, also Verknüpfungen mit anderen HTML-Seiten, wie auch Grafiken und andere in eine Seite eingebundene Dateien und Komponenten. Am übersichtlichsten gestaltet sich das Verschieben von Dateien und Ordnern, wenn Sie in die Ordneransicht wechseln. Klicken Sie dazu in der An-
Mit der Ordnerübersicht arbeiten
197
6 Arbeiten mit FrontPage-Webs
sichtenliste auf das Ordnersymbol oder wählen Sie das Menü ANSICHT | ORDNER. Klicken Sie nun im rechten Fenster auf die Datei, die Sie verschieben wollen (in unserem Beispiel die Datei index.htm). Ziehen Sie die Datei auf das Symbol des Zielordners in der Ordnerliste und lassen Sie die Maustaste los. Die Datei wird nun in den Zielordner verschoben. Ebenso können Sie mit Ordnern verfahren. Sie werden feststellen, dass sich FrontPage hier genauso verhält wie der Windows-Explorer. Abbildung 6.8: Verschieben von Dateien in der Ordneransicht
Möchten Sie die Datei im ursprünglichen Ordner belassen und in einen anderen Ordner kopieren, klicken Sie mit der rechten Maustaste auf die zu kopierende Datei und verschieben die Maus zum gewünschten Zielordner. Erst dort lassen Sie die Maustaste los und wählen aus dem erscheinenden Kontextmenü HIERHIN KOPIEREN. Weitere Optionen dieses Kontextmenüs erlauben Ihnen, die Datei zu verschieben oder, falls Sie die falsche Datei zum Kopieren ausgewählt haben, den Vorgang abzubrechen. Tastenkürzel zum Kopieren und Ausschneiden
Alternativ zu den beschriebenen Methoden können Sie auch die in Windows üblichen Verschiebe- und Kopiervorgänge nutzen. Wählen Sie die zu kopierende Datei und drücken Sie auf der Tastatur gleichzeitig (Strg)+(C). Zum Verschieben drücken Sie stattdessen (Strg)+(X). Wählen Sie nun den Ordner, in den Sie die Datei verschieben oder kopieren wollen, indem Sie mit der linken Maustaste darauf klicken, und drücken Sie nun (Strg)+(V). Reicht Ihnen das noch immer nicht? Natürlich können Sie auch die Funktionen AUSSCHNEIDEN oder KOPIEREN und EINFÜGEN aus dem Kontextmenü oder dem Menü BEARBEITEN auswählen.
198
Verwendung von Unterwebs
6.4
Verwendung von Unterwebs
Seit FrontPage 2000 gibt es die Möglichkeit, Unterwebs anzulegen. Ein Unterweb ist ein normales FrontPage-Web, das sich in einem übergeordneten Web befindet. Webübergreifende Einstellungen wie Designs können so für einen Teil des Webs, das so genannte Unterweb, angepasst werden. Am wichtigsten ist jedoch die Möglichkeit, den Zugriff auf einzelne Bereiche aus Sicherheitsgründen einzuschränken. Verändern Sie die Zugriffsberechtigungen für ein Unterweb, um verschiedenen Nutzergruppen zu erlauben oder zu untersagen, die Inhalte des Webs zu betrachten, zu bearbeiten oder zu verwalten. Auf diese Weise lassen sich geschützte Bereiche innerhalb eines Webs erstellen, ohne die Benutzerrechte des Servers selbst verändern zu müssen. Eine große Zahl von FrontPage-Benutzern wird sicher ihre Webs auf so genannten virtuellen Servern, das heißt gemieteten Teilen des Webservers eines kommerziellen Internetproviders publizieren. Eine individuelle Administration dieser Server ist dabei zumeist für den Kunden nicht möglich. FrontPage erlaubt es, trotz dieser Einschränkung mit Hilfe von Unterwebs die Zugriffsberechtigungen auf einzelne Ordner festzulegen. Die Verwendung von Sicherheitseinstellungen erläutern wir in Abschnitt 6.9.3 Zugriffsberechtigung.
Teile eines Webs schützen
Da Unterwebs reguläre Webs sind, weicht die Erstellung eines Unterwebs nicht von der Verfahrensweise der Erzeugung eines neuen Webs ab. Am einfachsten erstellen Sie ein neues Unterweb, indem Sie zunächst das übergeordnete Web in FrontPage öffnen. Ordner konvertieren Erstellen Sie einen neuen Ordner, benennen Sie ihn nach Wunsch und klicken Sie mit der rechten Maustaste auf den Ordner. Es erscheint ein Kontextmenü, aus dem Sie die Option IN WEB KONVERTIEREN wählen. FrontPage warnt Sie daraufhin, dass die Umwandlung eines Ordners in ein Web folgenschwere Konsequenzen haben kann. Bei der Umwandlung eines Ordners in ein Unterweb wird der Inhalt des Ordners zu einem selbstständigen Web. Da FrontPage die einzelnen Seiten und Hyperlinks darauf für das gesamte Web verwaltet und kontrolliert, können bei der Umwandlung die internen Verknüpfungen aufgehoben werden. Die Folge wäre, dass verschiedene Hyperlinks nicht mehr funktionieren oder Seiten, die andere Dateien enthalten, nicht aktualisiert würden, wenn die eingeschlossenen Dateien sich ändern. Informationen zu eingeschlossenen Seiten erhalten Sie in Kapitel 12. Erstellen Sie aber ein neues Unterweb aus einem leeren Ordner, besteht keine Gefahr. Bestätigen Sie also den Hinweis mit JA. Der Ordner wird umgewandelt, und in der Ordnerliste erscheint das Unterweb mit einem eigenen Ordnersymbol.
199
6 Arbeiten mit FrontPage-Webs Abbildung 6.9: Ein neues Unterweb in der Ordnerliste
Klicken Sie doppelt auf das Unterweb, um es zu öffnen. Daraufhin wird ein neues Fenster in FrontPage geöffnet, das die Struktur des Unterwebs anzeigt. Wie Sie sehen, unterscheidet sich das Web auch äußerlich nicht von dem vorhergehenden. Eine weitere Möglichkeit, ein Unterweb zu generieren, besteht darin, ein Web in einem bereits bestehenden Web als Unterweb zu veröffentlichen. Dieser Vorgang wird in Abschnitt 6.8 erläutert. Sie haben sich nun mit den Grundprinzipien der Webs vertraut gemacht. Bevor wir uns nun den weiteren Webvorlagen, die FrontPage bietet, widmen, schließen Sie das Web über das Menü DATEI | WEB SCHLIESSEN.
6.5
Die Webvorlagen
Sie haben bereits mit Hilfe der Vorlage STANDARDWEB das erste Web erstellt. Gerade wenn Sie sich aber erst in die Materie der Entwicklung von Websites vorarbeiten, ist ein gänzlich leeres Web nicht gerade ein Ansporn, um die ersten Seiten zu entwerfen. Glücklicherweise liefert FrontPage eine Anzahl von Vorlagen mit, die es erleichtern, eine Reihe von Seiten zu erstellen. Die Webvorlagen und Assistenten bieten Grundstrukturen, die schon für verschiedene Einsatzmöglichkeiten vorbereitet sind. So wird Ihnen der Aufbau einer ersten Struktur erleichtert. Die Webvorlagen eignen sich auch sehr gut, um die verschiedenen Ansichtsfunktionen von FrontPage kennen zu lernen.
200
Die Webvorlagen
6.5.1
Die Vorlage Leeres Web
Wie der Name schon sagt, wird mit dieser Vorlage ein neues Web ohne Inhalt erstellt. FrontPage legt lediglich ein Web mit den Standardordnern und Konfigurationsdateien an. Viel mehr passiert hier nicht. Da Sie aber immer zumindest eine Seite in Ihrem Web benötigen, um überhaupt etwas veröffentlichen zu können, ist die Verwendung der Vorlage STANDARDWEB wohl in den meisten Fällen sinnvoller. Existieren bereits Seiten oder Webs, die Sie in eine leere Struktur importieren möchten, eignet sich diese Vorlage gut. Sollten Sie beispielsweise Ihre Homepage bisher mit einer anderen Software als FrontPage bearbeitet haben und möchten nun umsteigen, ist ein leeres Web die beste „Hülle“ für Ihre bestehenden Seiten.
Import vorhandener Seiten vorbereiten
Dazu ist die Importfunktion von FrontPage noch besser geeignet. Wie Sie Seiten und Webs importieren können, entnehmen Sie Abschnitt 6.7.
6.5.2
Die Vorlage Persönliches Web
Zur Erstellung einer privaten Homepage eignet sich diese Vorlage. Das daraus generierte Web enthält fünf einfache Seiten, die Anweisungen für die Anpassung umfassen und Anregungen geben, womit das persönliche Web gefüllt werden kann. Abbildung 6.10: Die Startseite des persönlichen Webs
201
6 Arbeiten mit FrontPage-Webs
Klicken Sie in der Ordnerliste doppelt auf die einzelnen HTML-Seiten, um deren Inhalt zu betrachten. Unter den Titeln „Interessen“, „Fotoalbum“ und „Favoriten“ sind typische Teile einer privaten Homepage angelegt. Um die Struktur des Webs und die Beziehungen der einzelnen Seiten untereinander genauer betrachten zu können, wechseln Sie in die NAVIGATIONSANSICHT. Klicken Sie dazu in der Ansichtenliste auf NAVIGATION, oder wählen Sie das Menü ANSICHT | NAVIGATION. Abbildung 6.11: Das persönliche Web in der Navigationsansicht
Strukturierung des Webs
Die Navigationsansicht verdeutlicht die Struktur des Webs. Die Homepage – also die Startseite des Webs – steht in der Hierarchie der Seiten ganz oben, auf Ebene 1. Die weiteren Seiten befinden sich in der zweiten Ebene unterhalb der Startseite. Wenn Sie auf eins der gelben Seitensymbole klicken, wird in der Statuszeile von FrontPage, das heißt am linken unteren Rand des FrontPage-Fensters, der Name der jeweiligen Datei angezeigt. Erstellen Sie eine Kopie der Seite photo.htm, indem Sie in der Ordneransicht die Datei kopieren und in denselben Ordner wieder einfügen. Es wird eine Datei namens photo_kopie(1).htm erzeugt. Nun fällt auf, dass diese neue Seite nicht in der Navigationsansicht gezeigt wird. Die Navigationsansicht dient also nicht der Darstellung aller Seiten im Web oder der Verknüpfungen unter ihnen. Vielmehr wird hier festgelegt, wie die Seiten hierarchisch gegliedert sind. Wichtig ist dies vor allem für Hauptseiten eines Webs. Untergeordnete Seiten müssen in dieser Ansicht nicht auftauchen, sofern Sie nicht die Navigationsleistenfunktion von FrontPage nutzen wollen.
202
Die Webvorlagen
Navigationsleisten Um die Eigenschaften der Navigationsleisten kennen zu lernen, wechseln Sie noch einmal zurück in die Seitenansicht. Sofern sie nicht mehr geöffnet ist, klicken Sie in der Ordnerliste doppelt auf die Datei index.htm, um sie im Bearbeitungsfenster anzuzeigen. Bewegen Sie nun die Maus über die Liste der Hyperlinks („Über mich“, „Interessen“, „Fotoalbum“, ...) auf der linke Seite. Der Mauszeiger ändert seine Form und zeigt eine Hand, die auf eine Karteikarte weist, wie in Abbildung 6.12. Dieser Mauszeiger taucht in FrontPage immer dann auf, wenn Sie die Maus über eine sogenannte aktive Komponente bewegen. Diese aktiven Komponenten sind Teile einer Seite, die mit Hilfe von FrontPage-Funktionen angepasst werden können und erst, wenn sie im Browser angezeigt werden, in „echtes“ HTML umgewandelt werden. Abbildung 6.12: Der Komponentenmauszeiger
Klicken Sie doppelt auf die Hyperlinks, erscheint ein neues Fenster, das die Eigenschaften der Navigationsleiste anzeigt. Abbildung 6.13 zeigt dieses Fenster. Abbildung 6.13: Das Fenster „Eigenschaften der Hyperlinkleiste“
Links in diesem Fenster ist eine grafische Darstellung zu sehen, die an die Navigationsansicht erinnert. Und richtig, hier findet sich die Navigationsstruktur wieder, denn die Navigationsleiste wird von FrontPage anhand der Einstellungen in der Navigationsansicht generiert. Verändern Sie also in der Navigationsstruktur die Zugehörigkeit einer Seite zu einer Ebene, ändern sich auch die Navigationsleisten im gesamten Web. Die hier verwendete Navigationsleiste stellt die Seiten der zweiten Ebene als vertikal angeordnete Texthyperlinks dar.
Grafische Navigationsstruktur
203
6 Arbeiten mit FrontPage-Webs
Design und Grafik Dem persönlichen Web ist bereits eines der FrontPage-Designs zugewiesen, das für eine im gesamten Web einheitliche Optik sorgt. Ein FrontPage-Design ist eine Sammlung von Vorgaben für Farben und Schriften, die für ein gesamtes Web gelten. Darin enthalten sind neben diesen Regeln auch Navigationselemente und Grafiken für die Überschrift. Setzen Sie in Ihrem Web ein Design ein, müssen Sie sich nicht immer wieder neu auf jeder Seite mit den Navigationselementen beschäftigen, sondern können sie immer wieder verwenden. Grafische Elemente fast automatisch
Ein besonderes Merkmal von FrontPage ist dabei, dass es Grafiken mit Text versehen kann, ohne dass Sie ein Grafikprogramm benötigen. In diesem Fall besteht die Überschrift der Startseite in Abbildung 6.14 aus einer vom Design vorgegebenen Grafik, in die FrontPage die Wörter „Meine Website“ eingefügt hat. Auch das Erscheinungsbild der Navigationsleiste wird vom Design gesteuert. Dort werden die Namen der Seiten, auf die verwiesen wird, automatisch nach den Designvorgaben eingefügt. Um die Überschrift anzupassen, klicken Sie mit der linken Maustaste doppelt auf die Überschrift. Das Fenster SEITENBANNEREIGENSCHAFTEN erscheint. Seitenbanner ist in FrontPage die Bezeichnung für die Hauptüberschrift einer Seite, die in Form eines vertikalen Banners als Grafik oder Text erscheint.
Abbildung 6.14: Das Fenster zum Anpassen des Seitenbanners
Das Aussehen und der Inhalt aller sonstigen Elemente der Seite werden ebenfalls durch das Design gesteuert. Wie Sie FrontPage-Designs zuweisen, anpassen und ändern können, wird in Kapitel 8 erläutert. Haben Sie schon Lust bekommen, die Seiten nach Ihrem Geschmack zu gestalten und anzupassen? Kapitel 7 zeigt Ihnen genau, wie Sie einzelne Seiten erstellen und bearbeiten.
6.5.3
Die Vorlage Projekt-Web
Nachdem Sie ein neues Web mit der Vorlage PROJEKT-WEB erstellt haben, ist der Bildschirm schon recht voll. Sie sollten sich daher erst einmal einen Überblick über das Web verschaffen. Wechseln Sie dazu in die Navigationsansicht.
204
Die Webvorlagen
Falls Ihr Bildschirm jetzt überquillt, können Sie die Navigationsansicht nach Ihren Wünschen anpassen. Sofern die Symbolleiste NAVIGATION noch nicht angezeigt wird, klicken Sie mit der rechten Maustaste auf die Symbolleisten am oberen Bildschirmrand. Es erscheint ein Kontextmenü, das Ihnen weitere Symbolleisten zur Verfügung stellt. Klicken Sie auf NAVIGATION, um die Symbolleiste einzublenden. Neben der Zoomeinstellung haben Sie hier auch die Möglichkeit, den Strukturbaum horizontal oder vertikal anzuzeigen. Bei längeren Seitennamen oder vielen Seiten auf einer Ebene ist es oft sinnvoll, die Navigationsstruktur im Hoch- statt im Querformat anzuzeigen. Dies ist jedoch eine reine Ansichtssache und hat natürlich keinen Einfluss auf die Verknüpfung der Seiten. Abbildung 6.15: Das Projekt-Web mit Navigationsansicht im Hochformat
Mit der Vorlage PROJEKT-WEB bietet FrontPage ein Web, das sich für die Verwendung in einer Arbeitsgruppe oder einem Verein eignet. Fast scheint es, als wolle Microsoft einen Einblick in die eigenen Arbeitsabläufe geben, denn das Projekt, das in dieser Vorlage exemplarisch vorgestellt wird, beschäftigt sich mit der Entwicklung einer Softwareanwendung. Bereiche des Projekt-Webs 왘 Mitglieder
Dieser Bereich ist darauf ausgerichtet, den Mitgliedern der Projektgruppe eine Übersicht aller Mitarbeiter mit Adressinformationen und Funktionen zu geben. Die Namen sind alphabetisch geordnet und mit
205
6 Arbeiten mit FrontPage-Webs
einem Index verbunden, der schnellen Zugriff auf Namen erlaubt, die weiter unten auf der Seite zu finden sind. Eine solche Liste ist auch dann sinnvoll, wenn die Mitarbeiter Ihres Unternehmens verschiedene Funktionen innehaben. Die Besucher finden so leichter den gewünschten Ansprechpartner. 왘 Zeitplan
Ob Sie sich selbst einen Zeitplan stellen, mehrere Mitarbeiter in die Planung einbeziehen oder die Aufgaben in der Projektarbeit nach Phasen strukturieren wollen: Diese Vorlage für einen Zeitplan ist nicht nur für das Internet nützlich. 왘 Archiv
Im Beispielarchiv sind Dokumente und Werkzeuge abgelegt, nach Kategorien sortiert und mit Autoreninformationen und Daten versehen. 왘 Suchen
Die Suchfunktion ist eine der besonders nützlichen Funktionen von FrontPage. Es ist nicht ohne weiteres möglich, alle Seiten einer Website nach bestimmten Kriterien zu durchsuchen und sich die Ergebnisse anzeigen zu lassen. FrontPage erlaubt mit den Servererweiterungen eine solche Suche. Schon bei kleineren Seiten mit etwa zehn Seiten lohnt sich die Suchfunktion. 왘 Diskussionen
Die beiden Diskussionsforen, die hier schon eingerichtet sind, bieten den Besuchern die Möglichkeit, Fragen zu stellen und sich miteinander auszutauschen. Mit einem Formular können neue Artikel erstellt und vorhergehende Nachrichten beantwortet werden. Eine öffentliche Diskussion bietet auch die Möglichkeit, telefonische Beratung zu verringern und häufig gestellte Fragen zu beantworten. Wenn Sie Ihre Diskussionsforen gut nach Kategorien aufteilen, erleichtern Sie den Besuchern das Finden von Antworten und die Platzierung der Frage am richtigen Ort. 왘 Kontakt
Hier finden sich auf einen Blick E-Mail-Adressen, oder auch die Postadresse und Telefon- und Faxnummern. Damit enthält dieses Web schon einen Großteil der wichtigsten Funktionen von FrontPage. Mit den FrontPage-Komponenten beschäftigt sich Kapitel 12. Auch wenn wir im Moment nicht alle Funktionen der im Projekt-Web verwendeten Komponenten erläutern, sollten Sie noch einen Blick auf die verschiedenen Seiten werfen. Wechseln Sie dazu in die Seitenansicht oder klicken Sie einfach doppelt auf die Seite index.htm in der Ordnerliste. Die Seitenansicht wird dann automatisch aufgerufen.
206
Die Webvorlagen
Hyperlinks in Webs Sie sind es von Ihrem Internetbrowser gewohnt, mit einem einfachen Klick auf einen Hyperlink die damit verknüpfte Seite anzuzeigen. Da Sie in FrontPage ja aber Hyperlinks auch verändern wollen, bleibt hier ein Klick ohne Wirkung. Das ist auch sinnvoll, denn schließlich ist ein Hyperlink nichts anderes als Text, dem eine bestimmte Funktion zugeordnet ist. Um dem Hyperlink zu folgen, das heißt die Seite, auf die er verweist, in der Seitenansicht zu öffnen, halten Sie die Taste (Strg) gedrückt und klicken dann mit der Maus darauf. Die Navigationsleisten, deren Funktionen wir bereits besprochen haben, sind automatisch generierte Zusammenfassungen der Hyperlinks auf die Seiten, die in einer Ebenenstruktur angelegt sind. Darüber hinaus enthält jede Seite des Web aber auch andere Hyperlinks. Eine Übersicht dieser Hyperlinks wird in der Hyperlinkansicht dargestellt. Um diese aufzurufen, klicken Sie auf das Symbol HYPERLINK in der Ansichtenleiste oder wählen das Menü ANSICHT | HYPERLINKS.
Hyperlinkansicht nutzen
Abbildung 6.16: Die Startseite des Projekt-Webs in der Ansicht Hyperlinks
Wie die Titelzeile der Navigationsansicht in Abbildung 6.16 zeigt, werden Hyperlinks in dieser Ansicht immer nur für eine Seite – hier die Seite index.htm – dargestellt. Dabei ist zu beachten, dass nicht nur Hyperlinks, die von dieser Seite aus auf andere Seiten verweisen, sondern auch solche, die von anderen Seiten auf diese Seite zeigen, angezeigt werden. Jeweils links von einer Seite stehen die Hyperlinks zu dieser Seite, rechts davon die Hyperlinks, die in dieser Seite enthalten sind. Lesen Sie also die Hyperlinkansicht immer von links nach rechts.
207
6 Arbeiten mit FrontPage-Webs
Möchten Sie zusätzlich Verknüpfungen anderer Seiten einbeziehen, klicken Sie auf das Pluszeichen in der linken oberen Ecke einer Seite. Abbildung 6.17 zeigt das für die Seite discuss.htm. Hat eine Seite kein solches Zeichen, existiert kein weiterer Hyperlink für diese Seite. Hier ist Obacht geboten, denn zirkuläre Verlinkungen werden der Übersichtlichkeit halber nicht mit Pfeilen in beide Richtungen angezeigt. Pfeile zeigen immer von links nach rechts. In unserem Beispiel taucht neben anderen die Datei members.htm bereits viermal auf, obwohl es sie im Web nur einmal gibt. Abbildung 6.17: Dateien erscheinen durchaus mehrfach in der Ansicht Hyperlinks
Weil die Übersichtlichkeit bei einem umfangreichen Web leicht schwindet, können Sie aber auch nur die Hyperlinks für eine einzelne Seite anzeigen. Klicken Sie dazu mit der rechten Maustaste auf die entsprechende Seite und wählen Sie aus dem Kontextmenü die Funktion IN DIE MITTE VERSCHIEBEN. Optionen der Hyperlinkansicht Andere Optionen für die Darstellung können Sie über das Kontextmenü eines Verknüpfungspfeils auswählen. 왘 Seitentitel anzeigen 왘 Statt der Namen der HTML-Dateien werden in der Hyperlinkansicht die
Titel der Seiten angezeigt. Diese Darstellungsweise kennen Sie aus der Navigationsansicht, und gerade bei vielen Seiten mit kurzen Dateinamen wird diese Ansichtsoption hilfreich sein. 왘 Hyperlinks zu Bildern
Sind in eine Seite Grafiken eingebunden, verweisen Hyperlinks auch auf diese Dateien. Standardmäßig werden sie nicht mit angezeigt.
208
Die Webvorlagen 왘 Wiederholte Hyperlinks
Enthält eine Seite mehrere Hyperlinks auf dasselbe Objekt, wird die Verknüpfung nicht nur einmal angezeigt. Wundern Sie sich also nicht, wenn in einer Seite, die von mehreren Punkten aus auf eine Datei verweist, in der Hyperlinkansicht dieses Zielobjekt mehrfach auftaucht. Sollte es Sie irritieren, schalten Sie diese Option ab. Broken Links Am Beispiel der Seite index.htm möchte ich eine wichtige Funktion der Hyperlinkansicht zeigen. Erstellen Sie bitte zur Anschauung einen Hyperlink auf eine nicht vorhandene Datei. Hierzu markieren Sie das Wort „Baumhaus“ in der Beschreibung des Projektes und klicken es rechts an, um im Kontextmenü den Punkt HYPERLINKS zu wählen. In der folgenden Dialogbox geben Sie in das Feld „Adresse“ bitte baumhaus.htm ein, bestätigen und speichern die Seite index.htm ab. Dann wechseln Sie wieder in die Hyperlink-Ansicht.
Unterbrochene Hyperlinks aufspüren
Die falsche Verbindung nach baumhaus.htm wird angezeigt, fehlt das Zielobjekt jedoch, wird die Verknüpfungslinie unterbrochen dargestellt. Diesen Fehler bezeichnet man als unterbrochenen Hyperlink oder auf Neudeutsch als Broken Link. Was passiert, wenn Sie auf einen Hyperlink klicken, dessen Zielobjekt fehlt, kennen Sie sicher zur Genüge. Meist erscheint in solchen Fällen im Browser eine Seite mit der Fehlermeldung 404 - Not Found – Objekt nicht gefunden. Solche Fehler können Sie vermeiden, wenn Sie vor der Veröffentlichung die Seite prüfen. Die Hyperlinkansicht hilft Ihnen, schon zeitig unterbrochene Hyperlinks aufzuspüren und zu reparieren. Mit dem Qualitätsmanagement beschäftigt sich das Kapitel 13. Abbildung 6.18: Unterbrochene Hyperlinks in der Seite index.htm
209
6 Arbeiten mit FrontPage-Webs
6.5.4
Die Vorlage Kundenunterstützungs-Web
FrontPage ist Teil der Microsoft Office-Suite. Damit ist schon einer der wichtigsten Einsatzorte der Office-Anwendungen vorgegeben: Unternehmen erhalten integrierte Werkzeuge für ihre Arbeit. Insofern zielen auch die meisten der Webvorlagen auf die Verwendung im Unternehmen ab. Abbildung 6.19: Das Kundenunterstützungs-Web in der Vorschau
Das Kundenunterstützungs-Web ist eine gut strukturierte Vorlage für die Website eines Unternehmens, das Software entwickelt und vertreibt. Wie der Name schon sagt, liegt der Fokus auf der Kommunikation mit den Kunden. Exemplarisch wird ein Web einer fiktiven Softwarefirma vorgestellt. Es wird Sie aber sicher nicht viel Fantasie kosten, diese Vorlage auf Ihre Bedürfnisse hin anzupassen. Bereiche des Kundenunterstützungs-Webs 왘 Neuigkeiten
In Kalenderform werden hier Informationen zu Änderungen und Ergänzungen auf der Website aufgelistet. Eine solche Funktion ist besonders nützlich, wenn Sie regelmäßig Änderungen vornehmen und Ihren Besuchern ersparen wollen, jedes Mal die verschiedenen Bereiche auf neue Informationen zu untersuchen. Legen Sie eine solche Seite an, heißt das aber auch, sie tatsächlich gewissenhaft zu führen. Wenn der letzte Eintrag ein halbes Jahr zurückliegt, wird das Interesse an Ihren Seiten schnell verfliegen. Außerdem werden die Besucher Ihrer Website den Angaben in Ihrer Neuigkeiten-Seite Vertrauen schenken. Wenn Sie also beispielsweise eine neue Softwareversion zum Download bereitstellen,
210
Die Webvorlagen
aber vergessen, dies auf der Neuigkeiten-Seite zu vermerken, wird wohl kaum jemand in den Download-Bereich wechseln. 왘 Produkte
Was produziert Ihr Unternehmen? Präsentieren Sie so ausführlich wie möglich Ihre Produkte, am besten gleich mit einem Bild. Verteilen Sie die Informtationen auf mehrere Seiten oder verlinken sie zum Beispiel auf die Download-Seite für nähere Informationen. 왘 Fragen & Antworten
Eher aus der Not entstanden ist dieser typische Bereich einer Unternehmens-Website. Erfahrungsgemäß zielen die meisten der Kundenanfragen auf immer die gleichen Themen ab. Support ist teuer und wird oftmals von potenziellen Kunden gar nicht in Anspruch genommen. Dem vorzubeugen dient ein „Fragen & Antworten“-Bereich. Im Englischen wird eine Liste der häufig gestellten Fragen auch mit FAQ (von „frequently asked questions“) abgekürzt. Sie ersparen sich Kosten und Mühe, wenn Sie einen solchen Bereich einrichten. Fragen Sie sich auch selbst, was Ihre Kunden interessieren könnte und schreiben Sie zu diesen wichtigen Fragen eine leicht verständliche, präzise Antwort. Ihre Kunden werden es Ihnen danken. 왘 Fehler
Die Entwicklung eines neuen Produktes birgt eine Reihe von Fehlerquellen, die oftmals erst dann entdeckt werden, wenn sich die tatsächlichen Benutzer damit beschäftigen. Fehlt etwas, funktioniert etwas überhaupt nicht oder nicht so, wie die Benutzer es erwarten? Geben Sie den Benutzern die Möglichkeit, Ihnen dies auf einfache Art und Weise mitzuteilen. Damit Sie nicht mit einer Gegenfrage antworten müssen, was denn genau unter welchen Umständen nicht funktioniert, ist ein Formular die beste Variante, die von Ihnen benötigten Informationen zu erhalten. Wie Formulare funktionieren und wie sie ausgewertet werden können, erfahren Sie in Kapitel 10. 왘 Vorschläge
Sie haben sich viele Gedanken gemacht, wie Ihr Produkt oder Ihre Website beschaffen sein soll, damit sie ihren Zweck erfüllen. Es ist aber fast unmöglich, alle Wünsche der Benutzer zu erahnen. Geben Sie Ihren Besuchern die Möglichkeit, Verbesserungsvorschläge zu machen. Ein solches Feedback bringt kostenlose Ideen, und die Besucher haben das gute Gefühl, dass Sie daran interessiert sind, was die Besucher denken und wünschen. Auch hier kommt wieder ein Formular zum Einsatz, das es den Besuchern erleichtert, alle notwendigen Informationen anzugeben. Übrigens: Vergessen Sie nicht, sich bei den Absendern zu bedanken. Sie wollen ja schließlich nicht das Gefühl hinterlassen, die Nachricht sei in den Weiten des Netzes in einem schwarzen Loch gelandet.
211
6 Arbeiten mit FrontPage-Webs 왘 Download
Sie kennen es sicher selbst: Ein Download-Bereich hat magische Anziehungskraft. Auch wenn es sich nur um eingeschränkte Testversionen handelt, kommt es uns doch so vor, als bekäme man etwas geschenkt. Haben Sie eine Website, stellen aber keine Software her, stellen Sie doch Ihren Produktkatalog oder Ihre Imagebroschüre zum Download bereit! Warum nicht ein paar Bilder vom Unternehmen oder eine hübsche Postkartenvorlage (mit dezent platziertem Firmenlogo), die sich Ihre Besucher ausdrucken können? Was erst einmal auf der Festplatte gelandet ist, wird sicher noch einmal in Ruhe angeschaut, nachdem die Verbindungsuhr nicht mehr tickt. 왘 Unterstützungsforum
Dieses Diskussionsforum ist schon im Projekt-Web enthalten. Kapitel 6 führt Sie in die Verwendung des Diskussions-Webassistenten ein, mit dem Sie ein individuelles Diskussionforum erstellen können. 왘 Suchen
Erwarten Sie nicht, dass Ihre Besucher mit Ihrer Navigation hundertprozentig klarkommen. Eine Suchfunktion ist mit FrontPage einfach zu realisieren und hilft Ihren Besuchern, schnell das zu finden, was sie wissen wollen, ohne sich durch mehrere Navigationsebenen zu hangeln. Vorschaumodus Da das Kundenunterstützungs-Web recht umfangreich ist, lohnt es sich, in den Vorschaumodus von FrontPage zu wechseln. Der Vorschaumodus stellt die Seiten des Webs im Internet Explorer dar. Internet Explorer als Vorschaufenster
Dazu wird der Browser in die FrontPage-Oberfläche eingebunden, funktioniert aber genau so, wie Sie es gewohnt sind. Leider ist es nicht möglich, andere Browser zur internen Vorschau zu benutzen. Freunde von Netscape Navigator oder Opera müssen also damit Vorlieb nehmen. Zu Ihrer Beruhigung sollte angemerkt werden, dass der mit FrontPage ausgelieferte Internet Explorer 5.5 Internetseiten größtenteils korrekt nach den Maßgaben des W3C (WWW Consortium), also des Konsortiums, das die Festlegungen der Seitenbeschreibungssprache HTML herausgibt, darstellt. Darüber hinaus bietet der Internet Explorer eine Vielzahl von interessanten Merkmalen. Kapitel 4 geht näher darauf ein. Den Vorschaumodus aktivieren Sie über die Registerkarte Vorschau, die sie in der linken unteren Ecke des Seitenansichts-Fensters finden. Abbildung 6.19 zeigt das Kundenunterstützungs-Web in der Vorschau. Sie können nun wie gewohnt im Web navigieren und die verschiedenen Funktionen ausprobieren.
212
Die Web-Assistenten
6.6
Die Web-Assistenten
Die Web-Assistenten sind de facto nichts anderes als Vorlagen mit der zusätzlichen Möglichkeit, die Vorlage im Entstehungsprozess den eigenen Anforderungen anzupassen. Wie Sie in den Vorlagen gemerkt haben, fehlen dort individuelle Namen, sind Komponenten enthalten, die Sie eventuell gar nicht benötigen, oder es fehlen Seiten, die Sie ergänzen möchten. Die Assistenten nehmen Ihnen Anpassungsarbeit ab, indem Sie schon vor der Erstellung des Webs persönliche Angaben machen können, die dann für das gesamte Web übernommen werden. Mit Hilfe des ersten Assistenten soll ein Projekt erstellt werden, das Sie im Verlauf der nächsten Kapitel stetig erweitern und verbessern können. Wählen Sie den Firmenpräsenzweb-Assistenten, der die flexibelste Vorlage für ein Web darstellt und leicht an die eigenen Bedürfnisse anzupassen ist. Wenn Sie Lust haben, schon von Anfang an Ihre eigenen Daten einzugeben, können Sie dies tun.
6.6.1
Der Web-Assistent für Firmenpräsenz im Internet
Wählen Sie das Menü DATEI | NEU | SEITE ODER WEB und öffnen Sie das Fenster WEBVORLAGEN. Dort erstellen Sie ein neues Web mit dem Firmenpräsenzweb-Assistenten, indem Sie mit der Maus auf das Symbol dieses Assistenten klicken und im Feld „Adresse des neuen Webs angeben“ einen neuen Ordner für das zu erstellende Web eintragen. Nachdem Sie auf OK geklickt haben, wird in dem von Ihnen angegebenen Ordner ein neues Web erstellt und das erste Assistentenfenster (Abbildung 6.20) angezeigt. Dort bleibt Ihnen nicht viel mehr zu tun, als die wunderbare Metaphorik des Startbildes zu bewundern. Klicken Sie auf WEITER. Abbildung 6.20: Der Firmenpräsenzweb-Assistent wird gestartet
213
6 Arbeiten mit FrontPage-Webs
Im zweiten Fenster (Abbildung 6.21) können Sie auswählen, welche Seiten und Funktionen vom Assistenten generiert werden sollen. Die Funktionen einiger dieser Bereiche haben Sie schon kennen gelernt. Für das Beispiel sollen alle angebotenen Optionen verwendet werden. Abbildung 6.21: Auswahl der Hauptbereiche des neuen Webs
Abbildung 6.22 zeigt das dritte Fenster, das Kategorien, die auf der Startseite erscheinen sollen, erfasst. Generell sollte Ihre Homepage die Besucher nicht mit Informationen überhäufen, im Internetjargon „zumüllen“ genannt. Ein fröhliches „Herzlich Willkommen“ ist dort meist zweckmäßiger als der Versuch, alles über den Inhalt der Website sagen zu wollen. Außerdem ist es am besten, die verschiedenen Themen wie Firmenprofil und Kontaktinformationen auf mehrere Seiten zu verteilen, da oft nicht bis zum unteren Rand einer Seite gescrollt wird, um nachzuschauen, ob dort nicht vielleicht die Information versteckt ist, die man sucht. Wie der Text in diesem Fenster nahe legt, sollte also lediglich kurz und knapp erzählt werden, wer diese Website mit welchem Ziel führt. Eine Einführung und eine Erklärung zum Unternehmensziel sollen daher auf der ersten Seite reichen. Wie bereits erläutert, bietet eine Neuigkeiten-Seite den Besuchern aktuelle Informationen und weist auf Änderungen hin. Obwohl Pressemitteilungen auch separat aufgeführt werden sollten, können Sie gerade in der Startphase solche Mitteilungen auch auf der Neuigkeiten-Seite einblenden.
214
Die Web-Assistenten Abbildung 6.22: Informationen, die auf Ihrer Homepage erscheinen sollen
Abbildung 6.23: Die Kategorien der Seite „Neuigkeiten“
Nun fragt Sie der Assistent, wie viele Produkte und Service-Angebote Sie präsentieren wollen. Für das Beispielprojekt sollen zwei Produkte und zwei Service-Angebote ausreichen. Abbildung 6.24: Anzahl der Produkte und Service-Angebote
215
6 Arbeiten mit FrontPage-Webs Stellen Sie sich ausführlich vor
Nun können Sie auswählen, welche Informationen Sie zu Ihren Produkten und Service-Angeboten bereitstellen wollen. Was Informationen betrifft, gilt die Regel „Weniger ist mehr“ ausnahmsweise nicht. Je ausführlicher Sie Ihre potenziellen Kunden mit Ihren Angeboten vertraut machen, umso besser kann der Kunde vergleichen und desto leichter wird eine Entscheidung zum Kauf fallen – natürlich vorausgesetzt, Leistungsmerkmale und Preis Ihres Produktes sind besser als bei der Konkurrenz. Aber selbst wenn dies nicht der Fall sein sollte, kann ein gutes Produktfoto oder eine eindrucksvolle Referenzliste einiges bewirken. Sparen Sie hier also nicht an Material. Auch die Möglichkeit zum Anfordern weiterer Informationen sollten Sie immer einräumen.
Abbildung 6.25: Inhalte für die Produkte und ServiceAngebote
Nutzen Sie Formulare für die Kontaktaufnahme der Besucher mit Ihnen, müssen Sie im nächsten Fenster (Abbildung 6.26) festlegen, welche Daten übermittelt werden sollen. Hier ist Ihnen überlassen, welche Informationen Sie erhalten möchten. Wenn Sie einen Produktkatalog per Post versenden wollen, könnte die E-Mail-Adresse überflüssig sein; bei einem Angebot, das sich an Privatleute richtet, könnten Sie auf Position und Organisation verzichten. Bedenken Sie immer, dass Sie nur die Informationen abfragen, die Sie auch wirklich benötigen und auswerten wollen. Die Besucher sollen sich schließlich nicht ausspioniert vorkommen. Denken Sie auch daran, darauf hinzuweisen, dass Sie die eingesandten Informationen vertraulich behandeln, nicht weitergeben und nur für den vom Besucher beabsichtigten Zweck einsetzen.
216
Die Web-Assistenten Abbildung 6.26: Anfrage für die Datenfelder in Feedback-Formularen
Sobald ein Besucher ein Formular absendet, werden die Inhalte des Formulars als ein Datensatz gespeichert. In dem in Abbildung 6.27 gezeigten Fenster können Sie angeben, in welchem Format die Angaben gespeichert werden sollen. Setzen Sie eine Datenbank oder eine Adressbuchanwendung ein, etwa Access, Excel, orgAnice oder das Windows-Adressbuch für Outlook Express, sollten Sie auf jeden Fall das Format TEXT MIT TAB-TRENNZEICHEN auswählen. Die einzelnen Formularfelder werden dann hintereinander in einer Textdatei gespeichert. Diese Textdatei können Sie aber auch mit einem beliebigen Texteditor, Excel oder sogar mit FrontPage selbst öffnen, formatieren und bei Bedarf in eine Webseite umwandeln. Auf die zweite angebotene Variante, die Feedback-Datei als HTML-Seite zu speichern, sollten Sie daher möglichst nicht zurückgreifen, auch wenn Sie derzeit noch keine Datenbank nutzen. Es gibt keinen guten Grund, diese Variante zu wählen. Abbildung 6.27: Anfrage für das Dateiformat der Feedback-Datei
Im nächsten Schritt können Sie das Format des Inhaltsverzeichnisses wählen. Ein anderes Wort für Inhaltsverzeichnis, über das Sie sicher schon einmal gestolpert sind, ist Site Map, also eine grafische Darstellung (Karte) der
Inhaltsverzeichnisse anlegen
217
6 Arbeiten mit FrontPage-Webs
Struktur Ihrer Website. Das Inhaltsverzeichnis ähnelt der Hyperlinkansicht, die Sie in FrontPage schon kennen gelernt haben. Damit Sie sich nicht bei jeder Änderung einer Seite mit der Aktualisierung des Inhaltsverzeichnisses abgeben müssen, aktivieren Sie die Funktion SEITE AUTOMATISCH AKTUALISIEREN. Eine erstklassige Hilfe! Abbildung 6.28: Anfrage für die Darstellung des Inhaltsverzeichnisses
Damit Sie ein einheitliches Aussehen Ihres Webs erhalten, können Sie nun angeben, welche wichtigen Elemente auf allen Seiten erscheinen sollen. Dazu gehören das Logo Ihrer Firma oder Website, Titel der Seite, Navigationsleisten für die Hauptbereiche Ihres Webs und detaillierte Informationen zu den einzelnen Seiten. Falls Sie bereits ein Logo als Grafikdatei haben, können Sie das Feld FIRMENLOGO angekreuzt lassen. Für unsere Zwecke soll zunächst kein Logo eingebunden werden, dies kann auch später noch geschehen. Sie können nun wählen, ob Sie am oberen oder unteren Seitenrand Hyperlinks zu den wichtigsten Seiten einfügen wollen. Wählen Sie den unteren Bildschirmrand, da unterhalb des Seitenbanners automatisch eine Navigationsleiste eingefügt wird. So können Ihre Besucher, auch wenn sie die Seite nach unten gescrollt haben, weiter navigieren, ohne wieder an den Anfang der Seite zurückkehren zu müssen. Es ist empfehlenswert, die E-Mail-Adresse des Webmasters anzugeben, damit Besucher Sie bei Fragen kontaktieren können, ohne erst nach der Adresse zu suchen. Einen Copyright-Vermerk sollten Sie ebenfalls anbringen, schließlich stecken Sie viel Arbeit und Ideen in Ihre Website, die Sie zumindest formell schützen sollten. Rechtlich ist es nicht von Belang, ob auf jeder Seite ein entsprechender Vermerk steht. Aktivieren Sie auch das Feld DATUM DER LETZTEN BEARBEITUNG, erscheint auf jeder Seite eine Notiz, die immer dann aktualisiert wird, wenn die Seite verändert wurde.
218
Die Web-Assistenten Abbildung 6.29: Anfrage für die Grobstruktur Ihrer Seiten
Es folgt eine Anfrage, die Sie mit einem entschiedenen Mausklick verneinen können. Zwar sind tatsächlich recht häufig Hinweise darauf zu finden, dass sich eine Seite im Aufbau befindet; aber da das Internet ein schnelles Medium ist, das ständiger Veränderung unterworfen ist, und da Webseiten von ihrer Aktualität leben, ist ein solches Zeichen, wie es Ihnen FrontPage vorschlägt, eher ein Hinweis darauf, dass Sie nicht ganz fertig geworden sind. Diese Tatsache macht Ihre Besucher aber nicht gerade neugieriger auf das kommende Angebot.
Websites sind immer "Under Construction"
Ist eine Seite noch im Aufbau, binden Sie diese stattdessen noch nicht in die Navigation ein. Abbildung 6.30: Das berüchtigte „Under Construction“-Symbol
Im nächsten Schritt geben Sie Namen und Adresse Ihres Unternehmens an, die an entsprechenden Stellen von FrontPage in die erstellten Seiten eingefügt werden. Achten Sie darauf, dass sich hier keine Tippfehler einschleichen, die Sie dann manuell auf jeder Seite korrigieren müssten.
219
6 Arbeiten mit FrontPage-Webs Abbildung 6.31: Die Angaben zu Ihrer Firma
Tragen Sie im nächsten Fenster Telefon- und Faxnummern sowie Ihre EMail-Adressen ein. Die Adresse des Webmasters ist die Adresse, die auf jeder Seite erscheinen wird und für Fragen und Hinweise zur Website selbst dient. Dort sollte also die E-Mail-Adresse eingetragen werden, die diejenige Person erreicht, die für die Administration Ihrer Website verantwortlich ist – eben der Webmaster. Eine E-Mail-Adresse für allgemeine Informationen sollte Ihr Unternehmen grundsätzlich haben. Als Standard hat sich hier der Benutzername info etabliert. Sie haben nun fast alle Informationen eingegeben, die der Assistent benötigt, um das Firmenpräsenzweb zu erstellen. Abbildung 6.32: Die weiteren Adressinformationen
FrontPage fragt Sie nun, ob Sie ein FrontPage-Design zuweisen wollen. Die FrontPage-Designs sind Stilvorlagen, die webübergreifende Vorgaben für Farben, Schriften und Navigationselemente festlegen. In Kapitel 8 erfahren Sie mehr über Designs. Damit Ihr Web schon ein erstes Gesicht bekommt, klicken Sie auf den Knopf WÄHLEN SIE EIN WEBDESIGN.
220
Die Web-Assistenten Abbildung 6.33: Anfrage für die Auswahl eines FrontPage-Designs
Daraufhin öffnet sich das Auswahlfenster für Designs. Sie können hier aus einer Reihe vorgefertigter Designvorlagen auswählen. Viele der Designs sind für einen herzhaften Lacher gut, aber Sie werden sicher das eine oder andere finden, das Ihnen zusagt. Im rechten Fenster erhalten Sie eine Vorschau. Spielen Sie auch mit den verschiedenen Einstellungen, bis Sie eine Variante gefunden haben, die Ihnen gefällt. Klicken Sie dann auf OK. Abbildung 6.34: Das Auswahlfenster für Designs
Sie kehren daraufhin in das vorherige Fenster (Abbildung 6.33) zurück. Klicken Sie auf WEITER. Schließlich sind Sie am Ende des Assistenten angelangt. Sie haben nun noch die Möglichkeit, sich nach Fertigstellung des Webs eine Aufgabenliste für die nächsten Schritte anzeigen zu lassen. Mehr zu Aufgaben erfahren Sie in Kapitel 13.
221
6 Arbeiten mit FrontPage-Webs
Um Ihr Web zu erstellen und den Assistenten zu beenden, klicken Sie auf FERTIG STELLEN. Abbildung 6.35: Endlich geschafft: Das Abschlussfenster des Assistenten
Sofern Sie im letzten Fenster die Option NACH ÜBERTRAGEN AUFGABENANSICHT ANZEIGEN ausgewählt haben, wird die Aufgabenansicht aufgerufen, die Ihnen die wichtigsten Schritte zeigt, die als nächste ausgeführt werden müssen, um das Web mit Inhalt zu füllen. Wie Sie Aufgaben verwalten, zeigt Kapitel 13. „Missbrauchen“ Sie daher diese Liste tatsächlich zunächst nur als Gedächtnishilfe, die Sie immer über das Menü ANSICHT | AUFGABEN oder indem Sie in der Ansichtenliste auf AUFGABEN klicken, aufrufen können. Das Web den eigenen Bedürfnissen anpassen Es müssen nun noch einige Anpassungen vorgenommen werden, die der Assistent nicht berücksichtigt hat. Wechseln Sie dazu in die Navigationsansicht, um die Struktur des neu angelegten Webs zu betrachten. Seiten auf der obersten Navigationsebene
Neben der Startseite „Home“ befinden sich weitere Seiten auf der obersten Ebene. Dies ist sinnvoll, denn diese drei Seiten gehören durch ihre Funktionen nicht zum Inhalt der Website, sondern sie stellen Zusatzfunktionen zur Verfügung. Außerdem sollen die Besucher, um das Inhaltsverzeichnis anzuschauen oder die Suchfunktion benutzen zu können, ja nicht erst danach suchen. Sie haben dem Assistenten die Anweisung gegeben, auf jeder Seite am unteren Rand Hyperlinks auf die wichtigsten Seiten des Webs einzubinden (siehe Abbildung 6.29). Die wichtigsten Seiten sind die vier Hauptseiten, die in der Navigationsansicht auf oberster Ebene stehen. Die Startseite soll nicht mehr Home heißen, denn bislang existiert noch kein Logo für die Musicommunity, und der Name und die Adresse sollen ja möglichst schnell bekannt gemacht werden. FrontPage setzt die Titel der Seiten automatisch in den Seitenbanner im Kopf einer Seite ein, so wird also der Name der Community im ersten Seitenbanner erscheinen.
222
Die Web-Assistenten
Um den Titel einer Seite zu ändern, markieren Sie in der Navigationsansicht den zu ändernden Namen und klicken Sie noch einmal darauf. Der Titel wird editierbar, und Sie können nun den alten Titel gegen musicommunity.de austauschen. Alternativ können Sie auch aus dem Kontextmenü den Punkt UMBENENNEN auswählen. Sind Sie fertig, bestätigen Sie mit der ReturnTaste.
Seitentitel ändern
Unterbereiche Schauen Sie sich nun die zweite Ebene an. Die Community wird keine Produkte im eigentlichen Sinne anbieten, sondern Foren, die sich mit Musikern, Gruppen, Komponisten oder Musikgattungen beschäftigen. Also muss auch der Bereich „Produkte“ in „Foren“ umbenannt werden. Verfahren Sie hier wie eben beschrieben. Die Service-Angebote der Community sollen zunächst dazu dienen, die Besucher zu motivieren, sich an der Community zu beteiligen. Daher ist der Titel „Aktion“ für diesen Bereich angemessen. Wie Sie die untergeordneten Bereiche umbenennen, entnehmen Sie bitte Abbildung 6.36. (Falls Sie Pink Floyd oder Frank Zappa nicht ausstehen können, sind wir Ihnen nicht böse. Die Community bietet auch für Maria Callas, die „Wildecker Herzbuben“, „Saba Child“ oder die „U-Bahn-Kontrolleure in tiefgefrorenen Frauenkleidern“ Platz). Schließlich sollten Sie sich noch dem Bereich Neu widmen. Da es sich bei der Website um ein neues Angebot handelt, wird es sicher nur eine Pressemitteilung geben, die veröffentlicht werden kann. Da FrontPage aber drei Pressemitteilungen angelegt hat, müssen die zweite und dritte gelöscht werden. Markieren Sie also die „Pressemitteilung 2“, und drücken Sie (Entf), oder wählen Sie aus dem Kontextmenü der Seite den Punkt LÖSCHEN. FrontPage fragt Sie nun, wie mit der zu löschenden Datei verfahren werden soll. Da Sie die Seite komplett aus dem Web entfernen wollen, wählen Sie die Option DIESE SEITE AUS DEM WEB LÖSCHEN, und bestätigen Sie mit OK. Löschen Sie nun auch noch die „Pressemitteilung 3“. Die Navigationsstruktur der Community ist damit fertig gestellt und sollte wie in Abbildung 6.36 aussehen. Abbildung 6.36: Die Musicommunity in der Navigationsansicht
223
6 Arbeiten mit FrontPage-Webs
Startseite gestalten Um die Startseite anzupassen, wechseln Sie in die Seitenansicht der Startseite, indem Sie doppelt darauf klicken. FrontPage hat die neuen Titel der Seiten und Unterbereiche schon in die Navigationsleisten und den Seitenbanner übernommen. Bleibt also, den Inhalt der Startseite anzupassen. Kommentare helfen bei der Seitenentwicklung
Unterhalb des Seitenbanners finden Sie einen „Kommentar“, der in violetter Schrift dargestellt ist. Diesen Text können Sie per Doppelklick editieren, er wird aber im Browser nicht zu sehen sein. Ein Kommentar ist eine FrontPage-Komponente, die spezielle Funktionen zur Verfügung stellt. Weiteres über FrontPage-Komponenten erfahren Sie in Kapitel 12. Um hier den Text der Seite zu schreiben, den später die Besucher der Seite sehen sollen, klicken sie auf die freie Stelle unter dem violetten KommentarText und geben Sie etwas ein. Verfahren Sie genauso mit den Bereichen „Unser Unternehmensziel“ und „Kontaktinformationen“. Nun ist Ihre erste Seite fertig.
Abbildung 6.37: Ihre erste Seite
Schließen Sie das Web über das Menü DATEI | WEB SCHLIESSEN. Gegebenenfalls fragt FrontPage nach, ob geänderte Seiten gespeichert werden sollen. Bestätigen Sie mit OK.
224
Die Web-Assistenten
Falls Sie anhand dieses Buches das Projekt mitgebaut haben, merken Sie sich, wo Sie es auf der Festplatte gespeichert haben, damit Sie später daran weiter arbeiten können. Ist es nicht toll, wie Sie mit Hilfe von FrontPage Ihre erste Website erstellt und Seiten gestaltet haben, ohne eine einzige Zeile HTML-Code geschrieben zu haben? Nun, größere Herausforderungen warten auf Sie!
6.6.2
Der Diskussionsweb-Assistent
Mit dem Diskussionsweb-Assistenten erstellen Sie ein Web, das eine Kommunikationsplattform bereitstellt, in der Besucher Ihrer Website in Form von Beiträgen miteinander verschiedene Themen diskutieren können. Die Art und Weise, in der dies geschieht, kennen Sie vielleicht aus Newsgroups. Auf einem Server mit den FrontPage-Servererweiterungen können Sie ohne großen Aufwand ein ähnliches Diskussionsforum erstellen. Der Assistent hilft Ihnen dabei. Los geht’s wieder über das Menü DATEI | NEU | SEITE ODER WEB und das Fenster WEBVORLAGEN. Wählen Sie den Diskussionsweb-Assistenten aus, und geben Sie einen Speicherort auf Ihrer Festplatte an. Klicken Sie auf OK und warten Sie, bis der Assistent initialisiert wurde. Klicken Sie im ersten Fenster auf WEITER. Abbildung 6.38: Das Startfenster des DiskussionswebAssistenten
Nun müssen Sie die wichtigsten Bestandteile des Diskussionsforums auswählen. Im Regelfall ist es sinnvoll, alle angebotenen Bestandteile einzubeziehen. Bereiche des Diskussionswebs 왘 Einsendeformular
Diese erforderliche Komponente ist ein herkömmliches Formular, das Namen des Absenders, den Titel und den Inhalt eines Beitrages erfasst und an das Diskussionsforum versendet.
225
6 Arbeiten mit FrontPage-Webs 왘 Inhaltsverzeichnis
Im Inhaltsverzeichnis werden alle Beiträge chronologisch geordnet angezeigt. Ohne ein solches Inhaltsverzeichnis können keine Beiträge aufgerufen werden. Insofern ist die Verwendung eines Inhaltsverzeichnisses nicht nur empfohlen, sondern tatsächlich unverzichtbar. 왘 Suchformular
Um es den Besuchern des Diskussionsforums zu erleichtern, Beiträge zu finden, die sie interessieren, sollten Sie eine Suchfunktion einbauen. Beachten Sie, dass die Suchfunktion von „normalen“ Webs die Diskussionsbeiträge nicht durchsuchen kann. Also auch wenn ein anderes Web ein Diskussionsforum enthält, benötigen Sie ein separates Suchformular, das die Beiträge dieses Forums durchsucht. 왘 Diskussionsfaden
Diese Funktion erlaubt es, nicht nur Beiträge, sondern auch Antworten auf vorherige Beiträge zu veröffentlichen. Dies trägt zur Übersichtlichkeit im Diskussionsforum bei und gestaltet die Diskussionen lebhafter. 왘 Bestätigungsseite
Um zu verhindern, dass Benutzer einen Beitrag mehrfach absenden, weil sie glauben, er wäre noch nicht veröffentlicht worden, fügen Sie die Bestätigungsseite ein. Diese Seite wird nach dem Absenden eines Beitrages angezeigt und bestätigt dessen Eingang. Außerdem weist die Seite darauf hin, dass der Beitrag eventuell erst im Diskussionsweb erscheint, wenn das Inhaltsverzeichnis vom Benutzer aktualisiert wurde. Abbildung 6.39: Anfrage für die wichtigsten Bestandteile des Diskussionsforums
Nun müssen Sie dem Diskussionsforum einen Titel zuweisen. Wenn es sich bei dem geplanten Diskussionsforum um eine themenspezifische Diskussion handelt, benennen Sie das Forum auch so, damit bei einer größeren Anzahl von Foren auf den ersten Blick klar wird, worum es hier geht.
226
Die Web-Assistenten
Die einzelnen Beiträge, die in diesem Forum veröffentlicht werden, speichert FrontPage in einem designierten Ordner. Geben Sie dafür einen Namen ein, der Ihnen das Auffinden des Ordners erleichtert. Geben Sie vor dem Namen einen Unterstrich „_“ ein, um den Ordner zu verstecken. Die Beiträge werden dann weiterhin korrekt angezeigt, aber niemand außer dem Webadministrator hat Zugriff auf den Ordner selbst. Abbildung 6.40: Anfrage für Namen und Speicherort des Forums
Die Eingabefelder, die im Einsendeformular angezeigt werden, können Sie im nächsten Fenster festlegen. Um den Beitragsautoren neben dem Betreff und dem Beitragstext auch ein Feld zur Verfügung zu stellen, das die Eingrenzung des Themas dieses Beitrages ermöglicht, wählen Sie die passende Option. Abbildung 6.41: Anfrage für Eingabefelder im Einsendeformular
Nun können Sie festlegen, ob das Diskussionsforum nur einem bestimmten Kreis von Benutzern zugänglich sein soll. Diese Einstellungen sind abhängig von den Webeinstellungen.
227
6 Arbeiten mit FrontPage-Webs Abbildung 6.42: Anfrage für Sicherheitseinstellungen
Legen Sie jetzt fest, wie die Beiträge im Inhaltsverzeichnis sortiert werden sollen. Obwohl die Standardeinstellung „Älteste zuerst“ heißt, ist dies nicht die sinnvollste Variante. Erfahrungsgemäß wird ein Diskussionsweb von immer den gleichen Besuchern genutzt. Diese sind daran interessiert, schnell zu sehen, welche Beiträge neu hinzugekommen sind. Werden nun die ältesten Beiträge zuerst angezeigt, heißt das für die Besucher, jedes Mal erst bis ans Ende der Seite zu scrollen. Sortieren Sie daher besser absteigend, das heißt mit den neuesten Nachrichten zuerst. Abbildung 6.43: Anfrage für Sortieroptionen
Sofern Sie das Diskussionsforum als neues Web erstellen, sollten Sie im nächsten Fenster festlegen, dass das Inhaltsverzeichnis der Diskussion als Startseite festgelegt wird. Erstellen Sie das Web in einem anderen Web oder Ordner, wird die bestehende Startseite (beispielsweise index.htm) ersetzt.
228
Die Web-Assistenten Abbildung 6.44: Anfrage für die Startseite der Diskussion
Um die Optionen der Suchfunktion einzustellen, wählen Sie eines der Angebote im nächsten Fenster. Kriterien der Beiträge, die gefunden werden, können dabei Betreff (Titelangabe eines Beitrages), Größe des Beitrags, Datum der Veröffentlichung und Übereinstimmung in Prozent sein. Enthält ein Beitrag mehrere übereinstimmende Suchbegriffe, so ist dessen Grad der Übereinstimmung höher. Abbildung 6.45: Anfrage für die Anzeige der Suchergebnisse
Auch für das Diskussionsweb können Sie ein Design festlegen. Wählen Sie für das Beispiel das Design Sonnenblumen aus, und aktivieren Sie die Schaltflächen LEBENDIGE FARBEN, AKTIVE GRAFIKEN und CSS VERWENDEN.
229
6 Arbeiten mit FrontPage-Webs Abbildung 6.46: Auswahlfenster für FrontPage-Designs
Im nächsten Schritt können Sie das Seitenlayout der Diskussion festlegen. Dabei können Sie entscheiden, ob Sie Frames einsetzen wollen. Die Darstellung von Frames ist eine Technologie, die schon frühzeitig in die meisten Internetbrowser implementiert wurde. Sie erlaubt, mehrere HTML-Seiten in einem Browserfenster anzuzeigen. Obwohl FrontPage Sie darauf hinweist, dass nicht alle Browser Frames unterstützen, sind heute so gut wie alle Browser dazu fähig, Frames darzustellen. Die noch gelegentlich verwendeten Ausnahmen bilden Lynx, ein textbasierter Browser, der gern von sehbehinderten Internetnutzern verwendet wird, und der Microsoft Internet Explorer 2, der mit der ersten Version des Windows 95-Pluspacks ausgeliefert wurde. Kapitel 10 erläutert, wie Sie Frameseiten plattform- und browserübergreifend gestalten können. An dieser Stelle sei Ihnen die duale Benutzerschnittstelle empfohlen. Sofern der Browser des Besuchers Frames unterstützt, werden sie eingesetzt, anderenfalls wird eine Version ohne Frames verwendet, wodurch Sie allen Besuchern ermöglichen, auf die Diskussion zuzugreifen. Programmierten Sie selbst, müssten Sie zwei unterschiedliche Versionen schreiben – diese mühselige Arbeit nimmt Ihnen FrontPage ab. Nachdem Sie nun noch einmal auf WEITER geklickt haben, sind Sie am Ende des Assistenten angelangt. Klicken Sie also auf FERTIG STELLEN, um das Diskussionsweb zu generieren. Wenn Sie nun im Vorschaumodus die Funktionen des Diskussionswebs testen wollen, werden Sie feststellen, dass die Funktionen zum Bereitstellen und Anzeigen von Beiträgen noch nicht funktionieren. Dies ist nur dann möglich, wenn Sie das Web auf einem Server mit installierten Servererweiterungen veröffentlichen. Kapitel 9 zeigt Ihnen, wie Sie dies bewerkstelligen.
230
Webs importieren und ergänzen Abbildung 6.47: Auswahl des Seitenlayouts
6.7
Webs importieren und ergänzen
Sie haben bereits eine Website, die Sie endlich auf FrontPage umstellen wollen, um die umfangreichen Administrationsfunktionen zu nutzen? Vielleicht aber gibt es auch verschiedene, noch nicht verbundene HTML-Seiten, die zu einem Web zusammengefügt werden sollen? Oder sind Sie einfach neugierig, wie es die anderen machen, und wollen nicht jede einzelne Seite manuell herunterladen? Warum auch immer Sie bereits bestehende Seiten in ein FrontPage-Web umwandeln wollen – Sie benötigen die Funktionen, die FrontPage zum Import einzelner Seiten, ganzer Webs und Website und zum Ergänzen von Webs bietet.
6.7.1
Der Webimport-Assistent
Nachdem Sie schon so gute Erfahrungen mit den FrontPage-Assistenten gemacht haben, können Sie auch beim Import den bequemsten Weg gehen. Der Webimport-Assistent erstellt ein neues Web und fügt dann weitere Seiten hinzu. Wählen Sie das Menü DATEI | NEU | SEITE ODER WEB, und öffnen Sie das Fenster WEBVORLAGEN Markieren Sie den Webimport-Assistenten, und geben Sie die neue Adresse auf Ihrer Festplatte an. Das Web wird erstellt, und das erste Fenster des Assistenten erscheint (siehe Abbildung 6.48). Dort müssen Sie entscheiden, ob die zu importierenden Daten lokal oder im Internet vorliegen. Ein bestehendes Web importieren Zunächst zeigen wir den Weg des Imports aus dem Internet. Dabei spielt es noch nicht einmal eine Rolle, ob die zu importierende Website mit FrontPage erstellt wurde! FrontPage untersucht die erste Seite und folgt dann Ihren Angaben gemäß den Hyperlinks in den Seiten.
231
6 Arbeiten mit FrontPage-Webs
Diese Option ermöglicht es, FrontPage-Webs direkt aus dem Internet zu importieren. Vorstellbar wäre der Einsatz dieser Funktion in Situationen, wenn ein FrontPage-Web nicht lokal bereitsteht. Umfangreiche Websites aus dem Internet zu übertragen sollte aber reiflich überlegt werden. Schließlich kopiert FrontPage nicht nur die Datenstruktur und Dateien, sondern kontrolliert und korrigiert fehlerhafte Verknüpfungen und erstellt neue Indizes. Alles in allem ein langwieriger Vorgang, der vor allem bei der Verwendung eines Modems leicht einige Stunden in Anspruch nehmen kann. Webs offline bearbeiten
Möchten Sie ein Web im Internet bearbeiten, das aber nicht auf ihrem Rechner zur Verfügung steht und gleichzeitig auch von anderen Personen gepflegt wird, sollten Sie nicht das Web importieren, lokal bearbeiten und wieder mit dem Web auf dem Server abgleichen. Stattdessen empfiehlt sich – sofern vorhanden – eine ältere lokale Kopie des Webs zu verwenden und vor der Bearbeitung mit dem Web auf dem Server abzugleichen. Der Unterschied besteht darin, dass bei dieser Arbeitsweise ältere Versionen auf Ihrem lokalen Rechner durch neuere ersetzt werden, ohne die aktuelle Version auf dem Server anzutasten. Nur auf diese Art und Weise können Sie das Web auch offline bearbeiten, ohne das gesamte Web auf dem Server zu verändern. Seitenklau leicht gemacht Die bereits voreingetragene Adresse, von der aus Seiten mit dem Webimport-Assistenten importiert werden könnten, lautet example.microsoft.com (Abbildung 6.48). Was will uns Microsoft damit sagen? Sollen wir einfach die Microsoft-Website kopieren und als unser Werk ausgeben? Nun, sicher ist das mit der Webimportfunktion von FrontPage möglich. Bevor Sie dies aber versuchen: Die angegebene Website ist tatsächlich nur ein Beispiel und existiert nicht wirklich. Microsoft wäre sicher auch nicht erbaut darüber, wenn Sie die Seiten schon fertig auf Ihren Rechner ziehen würden, Ihren Namen und Ihre Daten eingäben und das Ganze dann als Ihr Werk ins Netz stellten. Auch wenn Sie mit dem Importieren der Seiten allein nichts Illegales tun – schließlich passiert hier nichts anderes als beim Surfen im Internet, es werden Seiten zur Betrachtung auf Ihren Rechner übertragen –, denken Sie immer daran, dass jede Seite einen Urheber hat, der allein dadurch, dass er diese Seite erstellt hat, die Rechte daran besitzt, auch wenn kein expliziter Urheberrechtsverweis wie ein Copyright-Vermerk oder -Zeichen auf der Seite angebracht ist. Microsoft hat sogar Nutzerbestimmungen für die Website microsoft.com entwickelt und verweist von jeder Seite aus darauf. Also – und dies soll keine verbindliche Rechtsbelehrung, sondern ein Rat eines professionellen Webdesigners sein, der viel Arbeit, Mühe und Kreativität in seine Produkte steckt – schauen Sie sich im Netz ruhig um und lassen Sie sich von Anderen inspirieren, studieren Sie den Aufbau fremder Seiten und den HTML-Code.
232
Webs importieren und ergänzen
Aber vergessen Sie nicht, dass auch eine teilweise Kopie einer Website nichts anderes ist als ein Zitat, das zumindest als solches gekennzeichnet werden sollte. Bevor Sie also ein fremdes Web kopieren und für sich bearbeiten, erkundigen Sie sich, wie der Urheber dazu steht. Am allerbesten natürlich, Sie studieren dieses Buch gründlich, sodass Sie auf weitere fremde Ideen gar nicht angewiesen sind. Aus dem Internet importieren Liegen die zu importierenden Seiten auf einer Website vor, wählen Sie den unteren Punkt VON EINER SITE IM WORLD WIDE WEB und geben die Adresse der Startseite ein, die Sie importieren wollen. Wissen Sie eine genaue Seite, geben Sie diese hier an. Tragen Sie – wie im Beispiel gezeigt – nur den Namen eines Servers oder eines Verzeichnisses ein, sucht FrontPage nach der Startseite, sofern diese nicht vom Server vorgegeben wurde. Typische Startseiten heißen index.html oder default.htm. Abbildung 6.48: Der WebimportAssistent
Nun heißt es auszuwählen, wie tief der Assistent in die Website vordringen soll. Der Assistent gibt dazu drei Optionen frei. 왘 Begrenzen auf diese Seite und X untergeordnete Ebenen
Im Klartext gesprochen: Lassen Sie die Schaltfläche unangekreuzt, lädt FrontPage nur die angegebene Seite herunter. Ist das Feld angekreuzt, verfolgt FrontPage die Hyperlinks der Ausgangsseite bis zu der Seite, die über die von Ihnen angegebene Zahl von Hyperlinks verbunden ist. 왘 Begrenzen auf X KB
Eine umfangreiche Website kann leicht mehrere Megabyte groß sein. Besonders wenn Anwendungen oder Archive zum Download angeboten werden, kann sich der Import einer Website über Stunden hinziehen und Ihre Speicherreserven allzu sehr belasten. Wählen Sie diese Option, um die übertragene Datenmenge zu reduzieren.
233
6 Arbeiten mit FrontPage-Webs 왘 Begrenzen auf Text- und Bilddateien
Mit dieser Option werden nur HTML-Seiten und eingebundene Grafiken heruntergeladen. Andere Dateiformate wie Anwendungen, PDF-Dateien, aber auch Java-Applets etc. werden nicht mit importiert. Abbildung 6.49: Anfrage für Importeinschränkungen
Haben Sie bereits eine eigene Website, probieren Sie es einmal damit aus! Mit Hilfe der Importfunktion können aber auch Daten, die auf Ihrer Festplatte oder in Ihrem Netzwerk liegen, importiert werden. Nach dem Start des Webimport-Assistenten wählen Sie für diesen Fall die erste Option VON EINEM QUELLORDNER MIT DATEIEN AUF EINEM LOKALEN COMPUTER ODER EINEM NETZWERK. Im Feld ADRESSE wählen Sie den Ordner, in dem sich die zu importierenden Daten befinden. Enthält der Ordner weitere Unterverzeichnisse mit Dateien, die Sie auch importieren wollen, aktivieren Sie die Schaltfläche UNTERORDNER EINSCHLIEßEN. Klicken Sie auf WEITER. Abbildung 6.50: Import von lokalen Daten
234
Webs importieren und ergänzen
Nun erstellt der Webimport-Assistent einen Überblick über die zu importierenden Dateien. Gerade bei umfangreicheren Ordnern, die nicht nur Webseiten enthalten, könnten Sie daran interessiert sein, nur einen Teil der zur Verfügung stehenden Dateien zu importieren. In diesem Fall klicken Sie auf die Dateien, die Sie nicht importieren möchten, und klicken dann auf die Schaltfläche AUSSCHLIESSEN, die daraufhin aktiviert wird. Sind Sie zufrieden, wählen Sie WEITER. Der Assistent ist nun fertig; wählen Sie also im nächsten Fenster FERTIG STELLEN, um die gewählten Dateien und Ordner zu importieren. Nun sind Sie bereit, in FrontPage mit allen Funktionen an den Seiten zu arbeiten. Abbildung 6.51: Die vom Webimport-Assistenten erstellte Dateiliste
6.7.2
Dateien, Ordner und Webs importieren
Natürlich lassen sich Webs auch ergänzen. Lassen Sie daher das vorherige Web ruhig geöffnet, um diese Funktionen daran auszuprobieren. Um einzelne Dateien zu Ihrem Web hinzuzufügen, wählen Sie den Ordner Ihres Webs aus, in den die Dateien importiert werden sollen. Markieren Sie dazu den entsprechenden Ordner in der Ordnerliste und wählen den Menüpunkt DATEI | IMPORTIEREN Es erscheint daraufhin das IMPORTIEREN-Fenster. Klicken Sie auf DATEI HINZUFÜGEN, woraufhin sich ein Dateifenster öffnet, in dem Sie die zu importierenden Dateien auswählen können. Damit Sie nicht jede Datei einzeln importieren müssen, können Sie auch mehrere Dateien gleichzeitig auswählen. Um mehrere Dateien zu markieren, halten Sie einfach die (Strg)-Taste gedrückt, oder, um einen ganzen Bereich hintereinander geordneter Dateien zu wählen, markieren Sie die erste Datei, halten dann die Umschalttaste und klicken auf die letzte der auszuwählenden Dateien. Alle Dateien, die dazwischen liegen, werden nun markiert. Über das Feld ÖFFNEN fügen Sie die Dateien der Importliste hinzu.
235
6 Arbeiten mit FrontPage-Webs Abbildung 6.52: Importieren einzelner Dateien
Ebenso verfahren Sie beim Import eines Ordners. Klicken Sie im Fenster IMPORTIEREN auf ORDNER HINZUFÜGEN und wählen Sie im darauf folgenden Menü den gewünschten Ordner aus. Hier können Sie nur einen Ordner auswählen. Gegebenenfalls darin verschachtelte Unterordner mit Ausnahme der FrontPage-eigenen Funktionsverzeichnisse werden auch importiert. Die Spezialordner werden beim Import in das Web neu generiert. Nun können Sie noch einmal prüfen, ob alle notwendigen Dateien in der Importliste aufgeführt werden. Sind Dateien dabei, die Sie doch nicht importieren wollen, markieren Sie diese und wählen Sie die Option ENTFERNEN. Interessant ist auch die Möglichkeit, die neue Verzeichnisstruktur nach dem Import festzulegen. Markieren Sie eine Datei und klicken Sie auf ÄNDERN. Im neuen Fenster können Sie nicht nur einen neuen Speicherpfad, sondern sogar einen neuen Dateinamen für die Datei angeben. Wollen Sie ein ganzes Web neu importieren, klicken Sie stattdessen auf AUS EINEM WEB Der Webimport-Assistent öffnet sich, den Sie ja bereits kennen gelernt haben.
236
Import eines Webs als ein Unterweb
6.8
Import eines Webs als ein Unterweb
Was aber, wenn Sie nun ein vollständiges Web haben, das Sie in ein anderes Web integrieren wollen? Nutzen Sie dazu Unterwebs, die Sie bereits aus Kapitel 6 kennen. Um diese Funktion zu testen und gleichzeitig am dem Beispielprojekt weiter zu arbeiten, importieren Sie das Diskussions-Web in das MusicommunityWeb.
6.8.1
Vorbereitung
In jedem Musikforum des Beispielprojektes sollen sich die Mitglieder über ihre persönlichen Favoriten aus der Welt der Musik austauschen. Dazu muss in die beiden schon angelegten Foren je ein Diskussionsweb eingefügt werden. So sparen Sie Arbeit, und das Web erhält ein einheitlicheres Gesicht. Aus diesem Grunde haben wir auch dasselbe Design für die Musicommunity und das Diskussionsweb ausgewählt. Sie sollten bei Ihren Projekten ebenso vorgehen, denn bunte und vielseitige Seiten erhalten Sie über entsprechende Inhalte, nicht durch den Einsatz einer maximalen Anzahl von Farben und Schriftarten. Zunächst sollten Sie etwas Ordnung schaffen, um das Web übersichtlich zu halten. Dazu sollten Sie die alten Dateinamen, die vom Assistenten erstellt wurden, ändern. Den Bereich „Produkte“ hatten Sie in „Foren“ umbenannt, den Bereich „Service-Angebote“ in „Aktion“. Außerdem tragen einige Seiten noch englische Namen. Damit Sie es sich leichter machen, sollten die Dateinamen dem angepasst werden. Gewöhnen Sie sich am besten an, alle Ordner- und Dateinamen grundsätzlich durchweg klein zu schreiben. Server, die mit dem Betriebssystem Unix oder einem seiner Derivate (beispielsweise Linux oder FreeBSD) laufen, aber auch die Skriptsprache JavaScript unterscheiden zwischen Groß- und Kleinschreibung. Um also Problemen vorzubeugen, sind Sie mit durchgängiger Kleinschreibung auf der sicheren Seite. Benennen Sie die alten Dateien nach den Angaben in Tabelle 6.2 um.
237
6 Arbeiten mit FrontPage-Webs Tabelle 6.2: Neue Dateinamen für das Projektweb
Dateiname alt
Dateiname neu
products.htm
foren.htm
prod01.htm
forum01.htm
prod02.htm
forum02.htm
services.htm
aktion.htm
serv01.htm
anfang.htm
serv02.htm
mitmach.htm
news.htm
neu.htm
search.htm
suche.htm
toc.htm
inhalt.htm
Gegebenenfalls fragt FrontPage nach, ob Sie die Hyperlinks in anderen Seiten aktualisieren wollen, damit sie auch nach der Umbenennung weiterhin korrekt auf die Seite verweisen. Bestätigen Sie diese Anfrage immer mit JA. Ordner im Web verschieben Nun sollen die Forenseiten noch in eigene Ordner verschoben werden, denn sie werden bald ziemlich umfangreich sein. Erstellen Sie also einen neuen Ordner im Stammverzeichnis des Projektes, und nennen Sie diesen foren. In diesem Ordner wiederum erstellen Sie zwei weitere Ordner, für jedes der Foren einen eigenen, am besten forum01 und forum02. Verschieben Sie nun die Dateien foren.htm, forum01.htm und forum02.htm in den Ordner foren. Schließlich gehört die erste Pressemitteilung noch in einen neuen Ordner, den sie pr nennen. In der Navigationsansicht können Sie herausfinden, wie der Dateiname der ersten Pressemitteilung lautet. Jetzt sind die Vorbereitungen abgeschlossen. Endlich können Sie mit der Integration des Diskussionswebs beginnen. Schließen Sie das Web.
6.8.2
Ein Unterweb veröffentlichen
Öffnen Sie das Diskussionsweb, das Sie integrieren wollen. Vielleicht irritiert Sie der Begriff veröffentlichen, denn Sie arbeiten hier auf der Festplatte und nicht in der Öffentlichkeit. FrontPage verwendet den Ausdruck veröffentlichen, weil der Vorgang zur Übertragung eines Webs an einen anderen Ort der gleiche ist, egal ob Sie das Web auf einen Webserver oder in einen anderen Ordner auf der Festplatte oder im Netzwerk überspielen. Wählen Sie das Menü DATEI | WEB VERÖFFENTLICHEN. Geben Sie als Adresse für die Veröffentlichung den Ordner an, in das Sie das Projektweb gespeichert hatten. Wählen Sie den Unterordner FORUM01 als Zielordner. Klicken Sie auf VERÖFFENTLICHEN.
238
Import eines Webs als ein Unterweb
Die folgende Frage bestätigen sie mit OK. Sie können sich nun entweder ein Protokoll der Veröffentlichung ansehen – es wird in guter FrontPage-Manier eine übersichtliche HTML-Seite erstellt. Oder Sie sehen sich die frisch veröffentlichte Seite gleich im Browser an. Mit einem Klick auf FERTIG verzichten Sie auf beides. Abbildung 6.53: Website wurde erfolgreich veröffentlicht
FrontPage-Komponenten ohne Server Da Sie das Diskussionsweb auf einen lokalen Pfad veröffentlichen, werden die FrontPage-Komponenten noch nicht funktionieren. Das nächste Fenster (siehe Abbildung 6.54) weist Sie darauf hin. Da Sie aber noch bei der Einrichtung des Webs sind, ist dies fürs Erste kein Problem. Sie können zwar noch nicht alle Funktionen ausprobieren, aber die Veröffentlichung verläuft trotzdem korrekt. Wie das gesamte Web auf einen Webserver veröffentlicht wird und Sie die FrontPage-Komponenten mit den Servererweiterungen aktivieren, zeigt Kapitel 9. Abbildung 6.54: FrontPage-Komponenten benötigen die Servererweiterungen
FrontPage veröffentlicht nun das Web als Unterweb. Da die FrontPage-Komponenten lokal noch nicht funktionieren, erübrigt sich ein Test der veröffentlichten Website. Klicken Sie im nächsten Fenster auf FERTIG.
239
6 Arbeiten mit FrontPage-Webs Abbildung 6.55: Das Web wird übertragen
Verfahren Sie nun noch einmal wie beschrieben, um das Web auch als Unterweb forum02 zu veröffentlichen. Abbildung 6.56 zeigt die Ordnerstruktur des fertigen Webs mit den zwei Diskussionsforen als Unterwebs. Abbildung 6.56: Zwei Unterwebs im MusicommunityWeb
Wenn Sie fertig sind, schließen Sie das Web und öffnen das Web, in das Sie die beiden Foren veröffentlicht haben. Wie Sie das Web anpassen, werden Sie im weiteren Verlauf des Musicommunity-Workshops lernen.
6.9
Konfiguration von Webs
Nachdem wir alle Vorlagen und Möglichkeiten der FrontPage-Webs vorgestellt haben, lohnt es sich, die Konfigurationsmöglichkeiten, die FrontPage bietet, ebenso eingehend zu betrachten.
240
Konfiguration von Webs
Webs zu konfigurieren heißt Einstellungen vorzunehmen, die für alle Seiten im Web gleichermaßen gelten und nur einmal global festzulegen sind. Die FrontPage-Webeinstellungen finden Sie im Menü EXTRAS | WEBEINSTELLUNGEN. Ist kein Web geöffnet, bleibt diese Option inaktiv, das heißt, Sie können keine Einstellungen vornehmen.
6.9.1
Allgemeine Optionen
Rufen Sie die Webeinstellungen auf. Auf der Registerkarte ALLGEMEIN sind grundlegende Informationen zu Ihrem Web enthalten, die Sie teilweise nicht verändern können. Dennoch sind es Optionen, die Einfluss auf das Funktionieren beispielsweise der Servererweiterungen haben. Die Eingabe des Webnamens wird über die Pfadangabe geregelt. Sie kann lokal nicht aus FrontPage heraus verändert werden, da das Web sich ja zum Zeitpunkt der Bearbeitung auf diesem Pfad befindet. Wenn Sie den Pfad ändern wollen, schließen Sie das Web und kopieren Sie den gesamten Ordner an den neuen Ort oder benennen Sie den derzeitigen Ordner je nach Wunsch um.
Server als Plattform
Die Eingabe eines neuen Webnamens ist nur dann möglich, wenn sich Ihr Web auf einem Server befindet. Dort ist nämlich der Ordner des Servers, in dem das Web abgelegt ist, entscheidend für den Namen, unter dem das Web gefunden werden kann. Die meisten Server können auch so genannte virtuelle Verzeichnisse verwalten, sodass ein Ordner A auch gleichzeitig unter den Namen B und C gefunden werden könnte. Wie Sie Ihren Server konfigurieren, entnehmen Sie Kapitel 2. Informationen zum Server Läuft auf Ihrem System ein Server, so werden dessen Daten im Dialogfenster SERVERVERSION angezeigt. Abbildung 6.57: Webeinstellungen – Registerkarte „Allgemein“
241
6 Arbeiten mit FrontPage-Webs
Informationen zur aktuellen Version der installierten Server-Erweiterungen, die für die Administration und die Webkomponenten von FrontPage verantwortlich sind, zeigt das Dialogfenster FRONTPAGE-SERVERERWEITERUNGEN, VERSION an. Weiter führende Lektüre zum Thema Servererweiterungen bietet Kapitel 2. Das Optionsfeld EINCHECKEN UND AUSCHECKEN VON DOKUMENTEN VERWENDEN wird in Kapitel 6 behandelt.
Skriptsprachen auswählen Wechseln Sie nun zur Registerkarte ERWEITERT. Im Bereich STANDARDSKRIPTSPRACHE finden Sie das Feld CLIENT. Ein Client ist eine Anwendung, die Inhalte darstellt, die von einem Server bereit gestellt werden. In diesem Fall ist damit der Internetbrowser gemeint, der die Inhalte (also Webseiten) anzeigt. Neben der Seitenbeschreibungssprache HTML wird häufig auch eine Skriptsprache eingesetzt, die dynamische Veränderungen und Berechnungen im Client erlaubt. Ein typisches Beispiel ist die Anzeige des aktuellen Datums, das mittels Scripting (das heißt Einsatz eines Skriptes) vom Rechner ausgelesen und dann in die Seite eingeblendet wird. JavaScript vs. VBScript
Zwei verschiedene Skriptsprachen konkurrieren miteinander: JavaScript, eine stark vereinfachte und für Skripte optimierte Version der Programmiersprache Java (die vom amerikanischen Unternehmen Sun entwickelt wurde), und VBScript (kurz für Visual Basic Scripting Edition), die ein Derivat der Programmiersprache BASIC darstellt und in dieser Form von Microsoft entwickelt und in deren Browser Internet Explorer implementiert wurde. Andere Browser, etwa der Netscape Navigator, beherrschen diese Sprache nicht, wohingegen fast alle Browser mit JavaScript umgehen können. Daher sollten Sie in diesem Feld nur dann VBScript auswählen, wenn Sie für eine klar abgegrenzte Gruppe von Nutzern entwickeln, die durchweg mit Internet Explorer arbeiten. Ein solches Szenario wäre eine Intranet-Umgebung eines Unternehmens, das auf allen Arbeitsplätzen den Browser von Microsoft installiert hat. Selbst dann aber ist ein Einsatz von JavaScript möglich. Verborgene Dokumente Im Bereich OPTIONEN erlaubt es die Schaltfläche DOKUMENTE IN VERBORGENEN ORDNERN ANZEIGEN, auch in FrontPage-Ansichten (beispielsweise der Ordnerleiste) die Ordner anzuzeigen, die mit einem Unterstrich (_Beispiel) beginnen. Welche Funktion diese Ordner haben, erläutert Abschnitt 6.9.5. Möchten Sie auf Ihrem Rechner mehr Speicherplatz gewinnen, klicken Sie auf DATEIEN LÖSCHEN im Bereich TEMPORÄRDATEIEN. Das Löschen von temporären Daten hat keinen Einfluss auf von Ihnen erzeugte Seiten etc., sondern löscht die Dateien, die FrontPage zur Bearbeitung des Webs anlegt. Der Aufruf eines Webs dauert länger, wenn die temporären Dateien fehlen.
242
Konfiguration von Webs Abbildung 6.58: Webeinstellungen – Registerkarte „Erweitert“
Sprache und Codierung Die Registerkarte SPRACHE legt fest, in welcher Sprache Meldungen von den Servererweiterungen an den Browser gesandt werden. Fehlt ein Objekt, wird stattdessen eine Fehlermeldung eingeblendet. Diese Fehlermeldungen können je nach Einsatzzweck in verschiedenen Sprachen angezeigt werden. Soll die Website einem eher internationalen Publikum zugänglich gemacht werden, ist es sicher angebracht, die Meldungssprache auf „Englisch“ umzustellen. Die Seitencodierung ist ein Zugeständnis an die verschiedenen Sprachen und Plattformen, die auf der Welt existieren. Die Unterschiede zwischen dem lateinischen und dem kyrillischen, hebräischen oder arabischen Alphabet, geschweige denn zwischen den chinesischen oder japanischen Schriftzeichen und vielen anderen Systemen, waren bislang zu massiv, um ein einheitliches System schaffen zu können. Das neue System Unicode, das in Microsoft Office 2000 erstmalig implementiert ist, umfasst mehr als 40.000 Zeichen, die in den meisten Sprachen der Welt vorkommen, beziehungsweise die zu Schriftzeichen zusammengesetzt werden können. Erstellen Sie Seiten in einer Sprache wie Deutsch, Englisch oder Französisch, wählen Sie in FrontPage die Codierung „US/Westeuropäisch“. Weitere Hinweise zur Seitencodierung und Verwendung von Sonderzeichen entnehmen Sie Kapitel 7.
Der Turmbau zu Babel
Mit der Schaltfläche BEIM FESTLEGEN DER CODIERUNG FÜR NEUE SEITEN TASTATUREINSTELLUNG IGNORIEREN können Sie FrontPage anweisen, bei der Erstellung einer neuen Seite die Codierung nicht anhand der Tastatureinstellungen (die Sie unter Windows in der Systemsteuerung festlegen können), sondern anhand der Computereinstellungen festzulegen. Möglicherweise arbeiten Sie mit einem englischen Betriebssystem, aber einer deutschen, schwedischen oder vietnamesischen Tastatur, sodass hier Probleme auftreten könnten, die Sie mit dieser Einstellung umgehen können.
243
6 Arbeiten mit FrontPage-Webs Abbildung 6.59: Webeinstellungen – Registerkarte „Sprache“
6.9.2
Webparameter
Über technische Einstellungen hinaus können Sie Ihr Web auch personalisieren. Die Registerkarte PARAMETER enthält webspezifische Einstellungen, die Sie über die FrontPage-Komponente ERSETZEN in jede Seite des Webs einfügen können. Kapitel 12 geht auf die FrontPage-Komponenten ein. Sinnvoll ist eine solche Funktion, wenn Sie auf jeder Seite beispielsweise einen Copyright-Vermerk oder die E-Mail-Adresse des Webmasters eingeben wollen. Die genauen Daten können Sie in der Registerkarte PARAMETER global festsetzen. Um einen neuen Parameter zu erstellen, klicken Sie auf HINZUFÜGEN und wählen dann einen Namen und einen Wert für den Parameter, beispielsweise Name: WebmasterEmail Wert:
[email protected]
Die Schaltfläche ÄNDERN ermöglicht eine Anpassung, die sich auf das gesamte Web auswirkt. ENTFERNEN Sie einen Parameter, bleiben zwar die Komponenten und deren aktueller Wert in den Seiten enthalten, können aber nicht mehr seitenübergreifend geändert werden. Kapitel 6 hat Sie schon mit den Navigationsleisten vertraut gemacht. Diese grafischen oder Textelemente für die Navigation zwischen den einzelnen Seiten des Webs werden von FrontPage automatisch nach Ihren Vorgaben erstellt. Dazu kommen auch kurze Texte zur Anwendung, die Sie in der Registerkarte Navigation einstellen können.
244
Konfiguration von Webs Abbildung 6.60: Webeinstellungen – Registerkarte „Parameter“
Leider neigt die deutsche Sprache wesentlich stärker als das Englische zu langen Wörtern und Wortgruppen, was eine durchgängig deutsche Betitelung erschwert. „Nach oben“ ist sicher nicht der treffendste Ausdruck für „Übergeordnete Seite“. Es scheint, als führt der Link nur an den Anfang einer Seite und nicht, wie es tatsächlich der Fall ist, „Eine Hierarchieebene aufwärts“. Wer will das aber ernsthaft auf einen Navigationsknopf schreiben? Wichtiger ist wohl, dass die Besucher auf den ersten Blick verstehen, was bei einem Klick auf einen der Knöpfe passiert. Da sich die voreingestellten Werte (nicht zuletzt durch die weite Verbreitung von FrontPage) allgemein eingebürgert haben, sind diese Termini den Webbenutzern vertraut. Eine perfekte Lösung können auch wir leider nicht bieten! Abbildung 6.61: Webeinstellungen – Registerkarte „Navigation“
245
6 Arbeiten mit FrontPage-Webs
6.9.3
Zugriffsberechtigungen
Informationen sind ein wertvolles Gut. Ob private Homepage, Unternehmens-Website oder gar ein Intranet, über das firmeninterne Daten und Dokumente verteilt und bearbeitet werden, überall ist gleich wichtig, entscheiden zu können, wer auf Informationen zugreifen, sie lesen, verändern, neu erstellen und löschen kann. Sicherheitseinstellungen hängen vom Betriebssystem ab
Arbeiten Sie in einem Netzwerk oder auf Einzelrechnern in einem Windows Netzwerk, lassen sich auch lokale Ressourcen über die integrierten Sicherheits-Features über die Anmeldung am System steuern. Die meisten UnixWebserver führen Zugriffslisten für jede einzelne Ressource, die sich von den Listen unterscheidet, die für die Benutzer und Gruppen des Rechners selbst gelten. Versuchen Sie hingegen, die Sicherheitseinstellungen für ein lokales Web, das nicht über einen NT- oder Unix-Server oder auf einem Rechner mit Windows NT (2000) läuft, festzulegen, gibt es keinen Ort, an dem nicht mit eben dieser Sicherheit die Einstellungen gespeichert werden können. Die Lösung kann hier nur über den Server erreicht werden. Notwendig für die Sicherheitsmerkmale von FrontPage unter Windows 95 oder 98 ist daher ein Server mit installierten Servererweiterungen. In Kapitel 2 werden deren Funktionsweise, Installation und Konfiguration erklärt. Benutzergruppen Möglich wird eine Unterscheidung von verschiedenen Zugriffsberechtigungen nur über Benutzergruppen, die sich jeweils über spezifische Anmeldeoptionen authentifizieren. Die Zugriffsrechte sind dabei grundsätzlich dreistufig gestaffelt:
Tabelle 6.3: Benutzergruppen für FrontPage-Webs
Zugriffsrechte
Details
Verwalten
Sie haben uneingeschränkten Zugriff auf alle Ressourcen und Teile des Webs. Administratoren können FrontPageWebs betrachten, bearbeiten und verwalten.
Verfassen
Alle Änderungen an Dateien des Webs sind erlaubt. Es dürfen jedoch keine Veränderungen an Webstrukturen vorgenommen oder gar Zugriffsberechtigungen geändert werden.
Lesen
Man könnte diese Gruppe in Anlehnung an in diesem Bereich übliche Begriffe auch Gäste nennen. Sie können Seiten, die freigegeben wurden, betrachten und Hyperlinks folgen, allerdings keine Bearbeitungen jeglicher Art vornehmen.
Diese Berechtigungen werden für das Stammweb, das heißt die oberste Ebene der Webhierarchie – auch root (Wurzel) genannt –, festgelegt. Alle darunter liegenden Unterwebs erben diese Berechtigungen. Ändern Sie also
246
Konfiguration von Webs
auf der obersten Ebene die Zugriffsberechtigungen, ändern sich diese für alle darunter liegenden Ebenen. Es lassen sich aber für andere Ordner und Dateien jeweils auch separat Zugriffsrechte verwalten. Sinnvoll kann dies beispielsweise in einem Web sein, das einen allgemein zugänglichen Teil mit allgemeinen Informationen bietet, der von allen Benutzern betrachtet werden kann, und einen Teil, der von einer bestimmten Gruppe betrachtet werden kann (beispielsweise interne Daten, ein Diskussionsforum oder ein Downloadbereich für registrierte Kunden etc.). Sicherheit unter Windows NT Arbeiten Sie in Windows NT oder Windows 2000 mit dem Internet Information Server (IIS), ist eine Nutzung der Sicherheits-Features von FrontPage nicht sinnvoll und daher nicht möglich. Benutzer und Gruppen werden hier über die Windows NT-Konten geregelt. Führt ein Benutzer eine Aktion durch, die eine gesonderte Berechtigung verlangt, fordert der Server zur Eingabe der dafür notwendigen Anmeldedaten. Setzen Sie den Personal Web Server ein, haben Sie keine Möglichkeit, das auf dem Server publizierte Web zu bearbeiten, sofern Sie nicht an dem Rechner, auf dem der Server läuft, arbeiten. Schließlich ist der Personal Web Server auch eher für Testumgebungen und nicht zum tatsächlichen Betrieb im Internet konzipiert. Bedenken Sie auch, dass die Sicherheitsfähigkeiten von Unix oder Windows NT (2000) weit besser sind, sodass Sie vom Betrieb eines Servers unter Windows 95 oder 98 absehen sollten.
6.9.4
Personal Web Server (PWS)
Quellcodekontrolle
Wird ein Web von mehreren Personen gepflegt, sind Konflikte vorprogrammiert. Welche der beiden Versionen, die momentan von zwei Mitarbeiter geändert werden, soll nun gelten? Die Quellcodekontrolle erlaubt es, einzelne Dateien nur von einer einzigen Person zu einem Zeitpunkt bearbeiten zu lassen. Diese Technik ist von Datenbanken und Dokumentenverwaltungsprogrammen her bekannt, wurde aber bislang noch nicht in HTML-Editoren eingesetzt. FrontPage bietet eine integrierte Änderungsverwaltung, die es Autoren erlaubt, gesichert an Dateien eines Webs zu arbeiten. Die Quellcodekontrolle aktivieren Sie über das Optionsfeld EINCHECKEN UND AUSCHECKEN VON DOKUMENTEN VERWENDEN im Menü EXTRAS | WEBEINSTELLUNGEN auf der Registerkarte ALLGEMEIN. Die beiden Begriffe Einchecken und Auschecken werden Ihnen aus dem Hotelwesen bekannt sein. Stellen Sie sich die Quellcodekontrolle ähnlich wie im Hotel vor: Wenn in Zimmer 405 jemand eingecheckt hat, kann keine andere Person es noch einmal tun. Durch das Einchecken und Auschecken wird festgelegt, welche Datei bearbeitet wird und derzeit nicht zur Verfügung steht.
Mit mehreren Autoren arbeiten
247
6 Arbeiten mit FrontPage-Webs
Ein Autor kann eine Datei auschecken. Ist eine Datei ausgecheckt worden, kann sie zwar noch immer von anderen Mitarbeitern geöffnet und betrachtet, jedoch nicht bearbeitet werden. Eine Datei, die ausgecheckt wurde, wird mit „Die Datei wurde für Sie ausgecheckt“ oder „Die Datei wurde für einen anderen Autor ausgecheckt gekennzeichnet“. Daran erkennen Sie bereits, dass die Optionen für Zugriffsrechte, die wir in Kapitel 6 erörtert haben, auch bei der Quellcodekontrolle greifen. Hat der Autor, der die Datei ausgecheckt hatte, die Bearbeitung beendet und die Datei gespeichert, kann er sie wieder einchecken. Die Datei kann nun wieder von anderen Autoren bearbeitet werden. Ein grüner Punkt weist darauf hin, dass die Datei zur Verfügung steht. Ein Autor kann das Auschecken einer Datei rückgängig machen. Die Datei wird dann wieder eingecheckt, ohne dass irgendwelche Änderungen übernommen werden, die seit dem Auschecken der Datei vorgenommen wurden.
6.9.5
Erweiterte Verzeichnisstruktur von Webs
Jedes von Ihnen erstellte FrontPage-Web enthält neben den von Ihnen erzeugten oder eingebundenen Dateien weitere Dokumente und Dateien, die für die Ausführung der FrontPage-Komponenten, für die Indizierung und die Aufgabenverwaltung benötigt werden. Daher sollten Sie keinesfalls diese Ordner oder Dateien löschen, verschieben oder manuell bearbeiten, denn FrontPage speichert darin alle wichtigen Informationen. Die meisten dieser Servererweiterungen tragen das Attribut „versteckt“, sind also im Regelfall für den Betrachter und standardmäßig auch in FrontPage unsichtbar. Das ist gut so, denn ohne diese Erweiterungen ist die Ausführung vieler Funktionen von FrontPage nicht möglich. Prinzipiell sollten Sie von allen Ordner, die mit einem Unterstrich beginnen, die Finger lassen. Versteckte Ordner enthalten wichtige Daten
Tabelle 6.4: Die von FrontPage genutzten Ordner im FrontPage-Web und ihre Funktionen
248
Da versteckte und verbotene Dinge ja aber immer am spannendsten sind, sollen Sie darüber nicht im Unklaren gelassen werden. Folgende Funktionen haben die einzelnen Verzeichnisse und Dateien: Ordner
Funktion
_borders
Verwendet Ihr Web gemeinsame Ränder (engl.: borders), werden die Ränderdefinitionsdateien in diesem Verzeichnis abgelegt. Die Verwendung von gemeinsamen Randbereichen wird in Kapitel 8 erläutert.
_derived
Hier finden Sie Dateien, die FrontPage aus im Web abgelegten Dateien erstellt hat. Beispiele dafür sind Navigationsgrafiken, die zu einem FrontPage-Design gehören und mit benutzerdefinierten Texten versehen wurden.
Konfiguration von Webs
Ordner
Funktion
_themes
Die FrontPage-Designs (vgl. Kapitel 8) sind Vorlagen, die webübergreifende Stilvorlagen beinhalten. Im Ordner themes sind alle Vorlagen und wiederverwendbaren Grafiken abgespeichert.
_vti_bin
Wie der Name dieses Ordners nahe legt, sind hier Binärdateien, mit anderen Worten Programme abgelegt, die von bestimmten FrontPage-Komponenten ausgeführt werden.
_vti_cnf
Diese Ordner werden in jedem Verzeichnis des FrontPageWebs erzeugt und enthalten Konfigurationsdateien für den Server und Informationen zu jeder einzelnen Datei des Webs.
_vti_log
Die Logfiles, die hier abgespeichert werden, sind Protokolle über Aktivitäten im Web, beispielsweise Informationen über Änderungen, die verschiedene Autoren am Web vorgenommen haben.
_vti_pvt
Sofern das Web über Zugriffsbeschränkungen verfügt, werden hier die Passwörter und Sicherheitskonfigurationsdateien abgelegt.
_vti_script
Skripte, die für die Webkomponenten benötigt werden, sind hier zu finden.
_vti_txt
Dieser Ordner enthält u.a. Indexdateien für die Suchfunktion von FrontPage.
Sofern Sie sich gefragt haben, warum wir noch nicht ein einziges Mal darauf eingegangen sind, wie nun eigentlich Internetseiten programmiert werden, seien Sie beruhigt. Alle diese Informationen folgen in den kommenden Kapiteln. Die Arbeit mit FrontPage ist erst in dem Moment sinnvoll und effizient, wenn Webs eingesetzt werden, denn wie Sie in den vergangenen Kapiteln erfuhren, ist es durchaus möglich, auch Seiten ohne HTML-Kenntnisse in ansprechender Weise zu gestalten. Verschiedene, teilweise recht elementare Funktionen lassen sich ohne ein FrontPage-Web als „Gehäuse“ gar nicht nutzen. Um aber tatsächlich individuelle Seiten zu erstellen und – wie versprochen – professionelle Websites zu entwickeln, ist einiges mehr an Wissen und Gefühl für das Medium notwendig. Beides wollen wir Ihnen im weiteren Verlauf des Buches vermitteln.
249
7
Erstellen und Gestalten von Internetseiten
Im letzten Kapitel haben Sie ausführlich das Konzept der FrontPage-Webs kennen gelernt, und es sind fast wie nebenbei Internetseiten entstanden, welche die eigentlichen Elemente einer Website ausmachen. Dabei bildet das FrontPage-Web nur die Struktur und sammelt im Hintergrund Informationen, die von den einzelnen Seiten genutzt werden können. Sind Sie schon vertraut mit HTML und den Besonderheiten von Internetseiten, können Sie getrost ein paar Seiten weiterblättern. Allerdings soll im Folgenden auf elementare Eigenheiten des Mediums Internet, die entscheidend für die Gestaltung und Konzeption von Internetseiten sind, eingegangen werden. Die Erfahrung zeigt, dass es immer wieder Fallgruben gibt, in die man allzu leicht stolpert. Das Web ist voll davon. Die folgenden Ausführungen sollen helfen, die wichtigsten von ihnen zu umgehen.
7.1
Was sind Internetseiten?
Bei der Betrachtung einer Seite Papier wie der, die Sie gerade lesen, lassen sich schnell Eigenschaften ausmachen, die eine hinreichend genaue Definition des Begriffs „Seite“ liefern. Es gibt ein Material von einer bestimmten Beschaffenheit – herkömmliches weißes Papier –, auf das Text und Bilder mit einer oder mehreren Farben gedruckt wurden.
Das Web ist kein Buch
Die Leserichtung im Deutschen läuft stets von links nach rechts und oben nach unten, mehrere Zeilen stehen untereinander, wichtige Begriffe und Überschriften werden durch andersartige Textauszeichnungen hervorgehoben. Die Größe und Handhabbarkeit des Blattes bestimmt die Masse an Informationen, die auf einer Seite Platz finden. Auf welcher Seite man sich befindet, wird durch die Seitennummer angezeigt, die meist am Rand der Seite zu finden ist. Ist das Ende einer Seite erreicht, wird der Inhalt auf der nächsten Seite fortgesetzt, die man durch Umblättern erreicht. Diese Definition könnte noch erweitert werden. Das Besondere an Internetseiten Anders als bei einem Buch gibt es bei Internetseiten kein Material, sondern jede Seite erhält erst in dem Moment wieder eine Form, wenn sie im Internetbrowser angezeigt wird. Zuvor besteht eine Seite nur aus Informationen, die mit Anweisungen versehen sind, wie sie auf der Seite angeordnet und dargestellt werden sollen. Diese Anweisungen sind bestimmten Regeln unterworfen, die als Seitenbeschreibungssprache bezeichnet wird, die festlegt, was wie dargestellt werden soll. Diese Sprache heißt HyperText Markup Language, zu Deutsch Hypertext-Kennzeichnungssprache, kurz HTML.
251
7 Erstellen und Gestalten von Internetseiten
Ursprünglich wurde Hypertext für wissenschaftliche Zwecke entwickelt, und auch die Geschichte von HTML startete im Wissenschaftsbereich. Es wurde am Schweizer Kernforschungszentrum CERN von Tim Berners-Lee entwickelt.
7.1.1 HTML erlaubt Verknüpfungen
Was ist Hypertext?
Hypertext ist nichts anderes als normaler Text, der aber zusätzlich Befehle beinhaltet, die es ermöglichen, verwandte Informationen miteinander zu verknüpfen. In einem Buch steht aller Text hintereinander. Linearer Text ist gut lesbar, aber manchmal soll auf andere Abschnitte verwiesen werden, die ergänzende Informationen liefern. Wird, wie es in diesem Buch häufig vorkommt, auf ein anderes Kapitel hingewiesen, das sich mit dem Thema beschäftigt, das wir hier kurz anreißen, müssen wir einen Verweis auf das Kapitel einbinden. Die Leser sind dann gezwungen, den Daumen oder das Lesezeichen auf dieser Seite zu belassen, um zu diesem Kapitel zu blättern. Steht dort ein weiterer Verweis, ist das Chaos vorprogrammiert. Außerdem ist ein Buch, wenn es geschrieben ist, fertig und kann nur sehr aufwändig erweitert werden. Einen Text einzufügen ist überhaupt nicht möglich. Hypertext umgeht all diese Probleme, indem er in digitaler Form vorliegt, also im Computer bearbeitbar ist, und indem verschiedene Texte so miteinander verknüpft werden können, dass ihre Position und Lage zueinander unerheblich sind. Hyperlinks Die Verweise heißen hier Hyperlinks oder kurz Links. Klicken Sie auf einen Hyperlink (zu Deutsch: Verknüpfung), wird zu dem verknüpften Element gesprungen. Dabei ist es unerheblich, ob sich der Verknüpfungspunkt im selben Dokument, in einer anderen Datei oder gar auf einem anderen Rechner im Internet befindet. Der vereinheitlichte Befehlssatz für Hypertextdokumente ist die Seitenbeschreibungssprache HTML.
7.1.2
Die Struktur von HTML
HTML-Dateien sind einfache ASCII-Textdokumente, die von einem Internetbrowser interpretiert werden, das heißt, der Inhalt wird Zeile für Zeile vom Browser ausgewertet und gemäß den Anweisungen im HTML-Code angezeigt. Öffnen Sie ein HTML-Dokument in einem einfachen Texteditor, wie etwa Notepad, können Sie den Code betrachten und manuell bearbeiten.
252
Was sind Internetseiten?
HTML-Tags HTML hat eine einfache Struktur. Jedes Element, das mit HTML formatiert werden soll, wird von so genannten Tags (Marken, sprich „Tähgs“), umschlossen, die den Anfang und das Ende des Bereiches definieren, dem bestimmte Eigenschaften zugewiesen werden sollen. In der Textverarbeitung, z.B. im Programm Microsoft Word oder StarWriter, wird im Hintergrund genauso verfahren. Soll zum Beispiel ein Wort kursiv dargestellt werden, werden vor und nach dem Wort Steuerzeichen eingefügt, die besagen, dass das umschlossene Element – hier also die Buchstaben – kursiv gesetzt werden. Sie erkennen HTML-Tags an den Klammern (die Zeichen „kleiner als“ und „größer als“), die einen meist dem Englischen entlehnten Begriff oder ein Kürzel umschließen. Jede HTML-Seite wird mit den Tags und gekennzeichnet, die jeweils am Anfang und am Ende jeder Seite stehen. Das Schluss-Tag ist mit dem Anfangs-Tag identisch, enthält aber grundsätzlich zusätzlich einen Schrägstrich vor dem Tag-Namen. Da jeweils Anfang und Ende eines Bereiches gekennzeichnet werden, ist die HTML-Struktur meist symmetrisch:
Element
Wird ein Anfangs-Tag gesetzt, bezeichnet man diesen Vorgang meist als Öffnen, das Setzen eines Schluss-Tags als Schließen. Als Element wird jede beliebige Information bezeichnet, ob nun Text, eine Grafik oder weiterer HTMLCode. Das umschließende Tag, das die Information enthält, heißt Container. Darüber hinaus können mehrere Tags ineinander verschachtelt werden. Wozu dies nötig ist, wissen Sie aus der Textverarbeitung. Texte sollen ja nicht immer nur entweder kursiv oder fett oder unterstrichen sein, sondern können diese Attribute gleichzeitig führen.
HTML-Tags verschachteln
In HTML sieht das dann so aus: kursiv, fett und unterstrichen steht für italic (kursiv), für bold (fett) und für underline (unterstrichen). Sie sehen, dass das zuerst geöffnete Tag als letztes wieder geschlossen wird. Damit wird verhindert, dass die Übersichtlichkeit des HTML-Codes verloren geht. Wollen Sie z.B. einen Textabsatz kursiv setzen und einen Teil fett, müssen Sie nicht jedes Mal, wenn sich die Formatierung ändert, jedes Tag neu setzen. Die Struktur wird dann wie folgt gestaltet: kursiv, kursiv und fett, kursiv und unterstrichen
HTML in der Version 3.2 stellt einen derzeitigen Mindeststandard dar, der von allen Browsern verstanden wird. HTML 3.2 umfasst etwa 80 verschiedene Tags, ist also durchaus überschaubar, wenn man bedenkt, wie unterschiedlich damit Seiten gestaltet werden können.
Versionen von HTML
253
7 Erstellen und Gestalten von Internetseiten
Die Bestandteile einer Internetseite Eine HTML-Seite besteht grundsätzlich aus zwei Teilen, dem Head oder Kopf einer Seite, der allgemeine Informationen zur Seite selbst enthält, und dem Body oder Körper der Seite, der den Inhalt der Seite enthält. Listing 7.1 zeigt die einfachste HTML-Seite, die möglich ist. Die HTML-Tags markieren den eingeschlossenen Text als HTML-Code, der Head-Bereich legt den Titel (englisch: Title) fest, und in der Body-Sektion ist der Inhalt der Seite beschrieben. Titel Inhalt Listing 7.1: Die Grundstruktur einer HTML-Seite
Fast alle Tags lassen sich zudem über Attribute anpassen. Diese Attribute sind ergänzende Anweisungen für ein Tag. Soll beispielsweise ein Tag die Schriftart für einen Text bestimmen, wäre das Attribut des Tags der Name der Schriftart. Attribute werden im Anfangs-Tag festgelegt. Element
Listing 7.2 zeigt ein Beispiel. In Zeile 5 finden Sie das Tag , das den Inhalt der Seite definiert. Anders als in Listing 7.1 enthält das Body-Tag hier weitere Attribute, die in diesem Beispiel die Hintergrundfarbe der Seite und die Farbe für Text festlegt. Beispielseite Cogito, ergo sum (Ich denke, also bin ich.) René Descartes, 1596-1650
254
Was sind Internetseiten?
Listing 7.2: Eine Beispielseite
Falls Sie das Beispiel-Listing 7.2 verwirrt – haben Sie keine Angst, das Zeichenwirrwarr wird sich bald lüften. Allerdings ist dieses Buch kein HTMLLehrbuch. Daher kann an dieser Stelle nicht ausführlich auf alle Elemente eingegangen werden. Ziel dieses Buches ist es vielmehr, Sie dort damit vertraut zu machen, wo es notwendig wird, denn FrontPage ist ein Programm, das es erlaubt, Seiten auch ohne die Kenntnis von HTML zu erstellen. Schließlich müssen Sie in Word auch nicht wissen, wie die interne Syntax lautet, mit der ein Textabschnitt kursiv gestellt wird. Es ist aber für die Gestaltung von Internetseiten wichtig und ratsam, zumindest ein Grundverständnis dessen zu haben, was hinter den Kulissen vorgeht. Nur so können Sie auch im Vorhinein wissen, was mit HTML möglich ist und was nicht. Wenn Sie Websites regelmäßig pflegen, wird es sicher auch ab und an vorkommen, dass Sie etwas ändern müssen, ohne auf FrontPage zurückgreifen zu können. Meist ist auch der Start eines Texteditors wie Notepad weniger aufwändig als das Öffnen eines Webs und der Seite. FrontPage ist ein rechter Bolide, was den Funktionsreichtum, aber auch was den Ressourcenbedarf betrifft, sodass es oftmals sinnvoller ist, kleinere Änderungen am Inhalt oder am HTML-Code mit einem einfachen Texteditor durchzuführen. Vorschläge, welche Programme sich dafür eignen, finden Sie in Kapitel 15.
7.1.3
HTML-Code im Texteditor bearbeiten
Adressierung von Seiten
Am Anfang dieses Kapitels wurde die Frage gestellt, wie sich Internetseiten von Buchseiten unterscheiden. Es zeigt sich, dass eine HTML-Seite neben Text auch Hypertext-Steuerbefehle enthält. Diese Steuerbefehle sind Anweisungen, wie die damit gekennzeichneten Elemente (zum Beispiel Text) im Internetbrowser dargestellt werden sollen. Im Gegensatz zu einem Buch sind aber andere Komponenten, z.B. Bilder, nicht mit in der Seite enthalten, sondern als separate Dateien vorhanden, die dann mit der Seite verknüpft werden. Erst wenn der Internetbrowser die Seite anzeigt, wird das Bild an dem Punkt eingeblendet, den der HTMLCode dafür vorsieht. Eine Internetseite kann also aus mehreren Dateien bestehen. Wo diese Dateien physikalisch liegen, das heißt, auf welchem Rech-
255
7 Erstellen und Gestalten von Internetseiten
ner sie abgespeichert sind, spielt dabei keine Rolle, solange die Adresse der Datei eindeutig und verfügbar ist. Adressierung im Internet wurde in Kapitel 3 vorgestellt. Wie Sie dort erfuhren, können Dateien, die auf verschiedenen Rechnern liegen, anhand ihrer IP-Adresse oder ihres Domainnamens angesprochen und adressiert werden. Jede Datei ist dabei durch ihren Unified Resource Locator, kurz URL, eindeutig bestimmt und abrufbar. Relative und absolute Links Befindet sich aber eine Datei auf demselben Rechner und im selben Verzeichnis, wäre es unnützer Aufwand, die komplette Adresse anzugeben, um die Datei zu bezeichnen. Einfacher und kürzer ist es, stattdessen Bezug auf den „Horst von nebenan“ zu nehmen. Solche relativen Verweise beziehen sich auf den eigenen Standort, sprich den Speicherort des Dokumentes. HTML-Dokumente sind, wie alle anderen Dateien auf einem Rechner auch, in Ordnern abgespeichert. Beziehungen von Verzeichnissen Befinden sich zwei Dateien im selben Ordner, reicht es, sie in HTML-Dateien mit dem Dateinamen anzusprechen. Statt über die absolute URL http:// www.musicommunity.de/dateien/beispiel/seite.htm kann eine Datei, die sich auch in diesem Ordner befindet, diese Seite auch mit seite.htm aufrufen. Was aber, wenn die Dateien zwar auf demselben Rechner, aber in anderen Verzeichnissen abgespeichert sind? Tabelle 7.1 zeigt die Adressierungsformen für relative Pfade. Die Datei, von der aus die anderen Dateien in diesem Beispiel aufgerufen werden sollen, sind dabei unter der Adresse http://www.musicommunity.de/dateien/beispiel/ seite.htm gespeichert. Tabelle 7.1: Relative Adressierung von Dateien
Speicherort
Adressierung
http://www.musicommunity.de/dateien/beispiel/ beispiel.htm
beispiel.htm
http://www.musicommunity.de/dateien/start.htm
../start.htm
http://www.musicommunity.de/index.htm
../../index.htm
http://www.musicommunity.de/dateien/test/hallo.htm
../test/hallo.htm
http://www.musicommunity.de/dateien/beispiel/seiten/ mehr.htm
seiten/mehr.htm
Wenn auch immer möglich, verwenden Sie in Ihren Webs relative Adressierung. Arbeiten Sie auf einem lokalen Rechner, bevor Sie das Web veröffentlichen, würden anderenfalls später alle Verweise auf dem Server nicht mehr funktionieren. Schließlich gibt es auf dem Server Ihre Festplatte nicht. Front-
256
Einstieg in die Seitengestaltung
Page legt Hyperlinks automatisch relativ an, und dies sollten Sie in Ihren Webs auch beibehalten.
7.2
Einstieg in die Seitengestaltung
Um die Grundprinzipien der Seitengestaltung zu erlernen, ist Ausprobieren der beste Weg. Da Sie sicher schon im Umgang mit Word vertraut sind, wird Ihnen der Einstieg in die Arbeit mit FrontPage leicht fallen, denn der FrontPage-Editor, also die Komponente von FrontPage, die für die Bearbeitung von Seiten verwendet wird, bedient sich ähnlicher Begriffe und Techniken wie ein Textverarbeitungsprogramm.
7.2.1
Eine neue Seite erstellen
Wählen Sie das Menü DATEI | NEU| SEITE ODER WEB, erscheint das bekannte Dialogfenster NEUE SEITE ODER NEUES WEB, mit dem Sie bereits Webs erstellt haben. Wählen Sie unter MIT VORLAGE BEGINNEN den Punkt SEITENVORLAGEN, um zur Auswahl der Dokumentvorlagen zu gelangen. Auf die Dokumentvorlagen gehen wir in Kapitel 7 ein. Lassen Sie daher zunächst die Vorlage Standardseite markiert und klicken Sie auf OK. Erstellen Sie stattdessen eine neue, leere Seite aus der gleichen Vorlage mit einem Klick auf das NEUE DATEI-Symbol in der Symbolleiste oder benutzen Sie das Tastenkürzel (Strg)+(N) Abbildung 7.1: Die Vorlagen für neue Seiten
257
7 Erstellen und Gestalten von Internetseiten
7.2.2
Speichern von Seiten
Die Seite, die eben erstellt wurde, ist noch nicht gespeichert. Bevor Sie anfangen, Änderungen an der Seite vorzunehmen, sollten Sie dies jedoch tun. Denn schon hier kommt zum Tragen, was im vorangegangenen Kapitel erläutert wurde: Relative Verknüpfungen können nur dann festgelegt werden, wenn die Position der Datei, von der aus verknüpft wird, bestimmt wurde. Anderenfalls erstellt FrontPage Hyperlinks, die den Pfad der Datei auf Ihrer Festplatte oder Ihrem Netzwerk beinhalten, sodass nach der Veröffentlichung des Webs die Seiten nicht mehr gefunden werden können. Legen Sie für jedes Projekt am besten einen neuen Ordner an, damit Sie den Überblick behalten. Auch eine Strukturierung des Webs durch Unterordner kann dann sinnvoll sein, wenn das Web viele Dateien enthält und Sie der Effizienz halber mit kurzen Dateinamen arbeiten. Eine neue Seite speichern Sie über das Menü DATEI | SPEICHERN, das SPEICHERN-Symbol in der Menüleiste oder das Tastenkürzel (Strg)+(S). Das Menü SPEICHERN UNTER erscheint, und Sie können den Ordner für die zu speichernde Datei angeben. Im Feld DATEINAME legen Sie den Namen der Datei fest. Beachten Sie dabei die Namenskonventionen. Generell sollten Sie keine Sonderzeichen, Leerzeichen oder Umlaute verwenden. Durchgängige Kleinschreibung des Dateinamens hilft Ihnen, Fehler zu vermeiden. Klicken Sie nun auf das Feld TITEL ÄNDERN, um den Seitentitel festzulegen. Der Titel ist eine reine Information, die nichts mit dem Namen der Datei zu tun hat. Er wird in der Titelleiste des Browsers angezeigt und stellt so etwas wie die Überschrift der Seite dar. Die Besucher können daraus entnehmen, was die Seite enthält, noch während sie geladen wird. Darüber hinaus ordnen Suchmaschinen die im Titel einer Seite enthaltenen Wörter dieser Seite als Suchbegriffe zu. Ein gut gewählter Titel hilft so Internetnutzern, die Seiten zu finden, welche die gesuchten Informationen enthalten. In Kapitel 9 erfahren Sie mehr über die Vorbereitung Ihrer Seiten für Suchmaschinen. In Listing 7.1 haben Sie gesehen, dass der Titel im Head-Bereich jeder Seite enthalten ist und so schon zu Beginn der Interpretation durch den Browser ausgewertet wird. Sie können den Titel jederzeit ändern, sollten aber schon zu Beginn einen Titel festlegen, damit Sie die gewünschte Datei schneller wiederfinden können, falls die Dateinamen kurz und wenig aussagekräftig sind, (was im Übrigen auch nicht notwendig ist). Im Feld DATEITYP fallen eine ganze Reihe von unterschiedlichen Dateitypen auf. Welcher Typ für Sie der richtige ist, entnehmen Sie Tabelle 7.2. Im Regelfall werden Sie HTML verwenden. Wählen Sie als Format daher „.htm“ oder „.html“. Klicken Sie nun auf SPEICHERN, um die Seite zu speichern.
258
Einstieg in die Seitengestaltung Abbildung 7.2: Das Menü zum Speichern einer Seite und Festlegen des Seitentitels
7.2.3
Dateitypen in FrontPage
FrontPage kann eine Reihe verschiedener Dateitypen bearbeiten und verwalten. Dateitypen erkennen Sie an den mindestens drei Zeichen langen Kürzeln, die als Suffixe an jede Datei mit einem Punkt angehängt sind. Während unter Betriebssystemen wie MacOS eine solche Kennzeichnung des Dateityps nicht zwingend notwendig ist, fordert Windows diese Endungen, um verschiedene Dokumentformate unterscheiden zu können. Beispiele dafür sind .exe für ausführbare Anwendungen, „.gif“ oder „.jpg“ für Grafikdateien oder „.htm“ und „.html“ für HTML-Dokumente. Letztere sind grundsätzlich reine ASCII-Textdokumente. Neben HTML-Dokumenten können mit FrontPage auch Cascading Style Sheets oder dynamische Serverdateien (ASP) erstellt werden. Tabelle 7.2 zeigt die verschiedenen Dokumentformate. Dateityp
Inhalt
htm, html
Hypertext Markup Language-Dokument Der Standardtyp für HTML-Dokumente. HTML und HTM sind identisch, die Kurzform HTM wurde von Microsoft festgelegt, um auch unter Windows 3.x und DOS mit HTML-Dokumenten arbeiten zu können, da diese Betriebssysteme nur Dateitypen mit einer Länge von drei Zeichen verarbeiten können.
Tabelle 7.2: Dateitypen, die FrontPage erstellen kann
259
7 Erstellen und Gestalten von Internetseiten
Dateityp
Inhalt
shtml, shtm, stm
Structured Hypertext Markup Language-Dokument HTML ist eine vereinfachte Form der Seitenbeschreibungssprache SGML (Standardized General Markup Language). SHTML-Dokumente enthalten über die HTML-Befehle hinaus weitere SGML-Informationen zum Inhalt und zur Darstellung des Dokumentes. Diese Informationen werden zumeist nicht von Internetbrowsern interpretiert, sondern können zum Beispiel von Content-Management-Systemen ausgewertet werden.
htt
Hypertext Template Seit der Einführung des Microsoft Internet Explorer 4.0 wird dieser Browser auch als Ergänzung des Standard-Dateimanagers von Windows, des Windows-Explorer genutzt. Die Dateistruktur der Festplatte, die Systemsteuerung und viele weitere Funktionen werden dabei auf der Basis von HTML angezeigt. Die Vorlagen, die dabei eingesetzt werden, um flexibel Inhalte darzustellen, sind im „htt“-Format gespeichert, das neben HTML-Tags auch Skripte und Windows-spezifische Befehle enthält.
asp
Active Server Pages Eine von Microsoft entwickelte Technologie zur Datenbankanbindung. Kapitel 14 erläutert ASP.
css
Cascading Style Sheet Diese globalen Designvorlagen legen fest, wie einzelne Tags im Browser dargestellt werden. In Kapitel 11 erfahren Sie mehr über CSS.
tem
FrontPage-Template Diese Dateivorlagen werden in FrontPage zur Erstellung von Seiten mit einer festgelegten Struktur verwendet. Dabei wird keine eigentliche Datei, sondern ein Ordner mit dem Namen und dem Suffix „.tem“ gespeichert, der die eigentlichen Seiten, Grafiken und sonstigen Vorlagen enthält. Speichern Sie eine HTML-Seite mit diesem Dateityp, um neue Seiten mit derselben Struktur erstellen zu können. Kapitel 7 geht näher auf FrontPage-Vorlagen ein.
7.3
Seiteneigenschaften
Jede HTML-Seite verfügt über Eigenschaften, die im Head der Seite festgelegt werden. Diese Eigenschaften beinhalten die Codierung und Sprache der Seite, verschiedene Variablen, die von Browsern und Archivierungsprogrammen wie Suchmaschinen ausgewertet werden können, und den Titel der Seite. Als Eigenschaften der Seite können aber auch Vorgaben für Farben, Hintergrundgrafiken und weitere globale Regeln bestimmt werden.
260
Seiteneigenschaften
Das Dialogfenster mit den Seiteneigenschaften finden Sie im Kontextmenü der Seite, wenn Sie also in der Seitenansicht nach einem Mausklick mit der rechten Taste den Punkt SEITENEIGENSCHAFTEN wählen.
7.3.1
Allgemeine Optionen Abbildung 7.3: Allgemeine Seiteneigenschaften
Das Feld ADRESSE zeigt die URL der Seite an. Die Adresse können Sie nur dann verändern, wenn Sie die Seite an einen anderen Ort speichern oder das Web veröffentlichen. Der TITEL der Seite ist der Text, der in der Titelleiste des Browserfensters erscheint, wenn die Seite aufgerufen wird. Der Seitentitel wird auch in der Navigationsansicht von FrontPage angezeigt. Sie können den Titel auch dort ändern. Suchmaschinen beziehen aus dem Titel die Schlagwörter, mit denen die Seite gefunden werden kann. Verwenden Sie daher kurze und präzise Titel, die den Inhalt der Seite widerspiegeln. Das Feld STANDARDZIELFRAME ist nur dann aktiv, wenn Sie mit Frames arbeiten. Kapitel 10 zeigt Ihnen, wie Sie Frames einsetzen. Hintergrundsound Haben Sie in den Seitenoptionen der aktuellen Seite als Kompatibilitätseinstellung NUR INTERNET EXPLORER ausgewählt, können Sie einen HINTERGRUNDSOUND für die Seite auswählen. Nur der Internet Explorer unterstützt das HTML-Attribut bgsound. Haben Sie einen anderen Kompatibilitätsmodus ausgewählt, bleibt dieser Optionsbereich deaktiviert. Im Feld ADRESSE oder über die Schaltfläche DURCHSUCHEN können Sie die URL einer Sounddatei eingeben. Typische Dateiformate für eine Sounddatei sind wav, au oder mid. Legen Sie einen Hintergrundsound fest, startet der Internet Explorer die Wiedergabe, sobald die Datei geladen ist, was bei Sounddateien auf Grund
Nur für Internet Explorer geeignet
261
7 Erstellen und Gestalten von Internetseiten
ihrer Größe oftmals sehr lange dauern kann. Eine Ausnahme bildet das sehr kompakte MIDI-Format. Aktivieren Sie das Feld KONTINUIERLICH, um den Sound fortlaufend wiederholen zu lassen. Ist das Auswahlfeld deaktiviert, können Sie die Anzahl der DURCHLÄUFE bestimmen. Näheres zu Musik in Internetseiten beschreibt Kapitel 10. Entwurfszeit-Steuerelemente „Entwurfszeit-Steuerelemente“ sind Programm-Komponenten, die das Funktionsspektrum von Internetseiten stark erweitern. Im Bereich „Skripts für Entwurfszeit-Steuerelemente“ können Sie die Skriptsprachen für solche Steuerelemente festlegen, die Skripts schreiben. Die Möglichkeiten sind dabei nicht nur vom eingesetzten Internetbrowser, sondern auch vom Server abhängig, auf dem das Web läuft. Setzen Sie den Internet Information Server oder eine andere Plattform ein, die Active Server Pages unterstützt, wählen Sie im Feld PLATTFORM „ASP“ aus. Alternativ ist eine clientseitige Verarbeitung möglich, für die der Internet Explorer ab Version 4.0 benötigt wird. In den Feldern CLIENT und SERVER kann die Skriptsprache, die Sie verwenden wollen, eingestellt werden. Kapitel 12 erläutert die Entwurfszeit-Steuerelemente.
7.3.2
Hintergrund
Wählen Sie die Registerkarte HINTERGRUND aus, um ein Bild zur Anzeige im Seitenhintergrund zu bestimmen. Abbildung 7.4: Hintergrundeinstellungen der Seite
Im Bereich FORMATIERUNG können Sie ein Hintergrundbild für Ihre Seite auswählen, das statt einer einheitlichen Farbe im Internetbrowser angezeigt wird. Als Hintergrundbilder eignen sich alle Grafikdateien in den Formaten GIF und JPEG. Zwar erlaubt FrontPage auch die Auswahl anderer Dateiformate, diese werden aber, wenn überhaupt, dann nur von bestimmten Browsern unterstützt. Verwenden Sie daher nur diese beiden Formate.
262
Seiteneigenschaften
Ist ein Hintergrundbild kleiner als die gesamte Seite, was die Regel sein wird, „kachelt“ der Internetbrowser das Bild, das heißt, die Grafik wird über die gesamte Höhe und Breite der Seite mehrfach neben- und untereinander eingeblendet. Ist das Bild größer als das Browserfenster, werden die überstehenden Ränder abgeschnitten, ohne dass der Inhalt der Seite scrollbar wird. Klicken Sie auf DURCHSUCHEN , um eine Grafik auszuwählen. Haben Sie ein Web geöffnet, werden im Dialogfenster HINTERGRUNDBILD WÄHLEN die im Web vorhandenen Grafiken angezeigt. Die Vorschaufunktion bietet die Möglichkeit, vor dem Einfügen der Grafik das gewünschte Bild zu betrachten. Haben Sie bereits eine Grafik als Hintergrundgrafik ausgewählt und lassen Sie sich die Seiteneigenschaften erneut anzeigen, steht die Schaltfläche EIGENSCHAFTEN zur Verfügung, über die Sie die Bildeigenschaften der Hintergrundgrafik definieren können. Der Internet Explorer bietet eine Option an, die FrontPage WASSERZEICHEN nennt. Ist der Inhalt größer als das Browserfenster, kann ein Benutzer den Seiteninhalt scrollen. Ist das Auswahlfeld „Wasserzeichen“ aktiviert, wird nur der Vordergrund, nicht aber das Hintergrundbild bewegt. Andere Internetbrowser unterstützen diese Funktion nicht. Wie Sie Grafiken für Hintergrundbilder erstellen, bearbeiten und optimieren können, zeigt Kapitel 8. Abbildung 7.5: Eine Seite mit Hintergrundbild
Der Bereich FORMATIERUNG bietet auch die Option HYPERLINK-ROLLOVEREFFEKTE AKTIVIEREN.
263
7 Erstellen und Gestalten von Internetseiten
Benutzerdefiniert Die Registerkarte BENUTZERDEFINIERT stellt Eingabemasken für Variablen zur Verfügung, die Sie für jede Webseite festlegen können. Abbildung 7.6: Anpassung der System- und Benutzervariablen
FrontPage trägt über die System- und Benutzervariablen so genannte MetaInformationen in eine HTML-Seite ein. Abschnitt 7.3.3 erläutert die Bedeutung und Funktion von Meta-Informationen. Klicken Sie auf HINZUFÜGEN, um eine neue Variable anzulegen, und geben Sie im neuen Dialogfenster Namen und Wert der Variablen ein. Markieren Sie in der Liste der Variablen einen Wert, und klicken Sie auf ÄNDERN, um die Variable zu bearbeiten. Die Schaltfläche ENTFERNEN löscht die markierte Variable aus dem Dokument. FrontPage trägt recht selbstbewusst die Benutzervariablen „Generator“ und „ProgId“ ein. Die Funktion dieser Variablen besteht lediglich darin, darauf hinzuweisen, dass diese Seite mit FrontPage 2002 erstellt oder bearbeitet wurde. Neben dem rein informativen Gehalt gibt es keinen tatsächlichen Grund, diese beiden Tags in eine HTML-Seite einzubinden. Bemühen Sie sich aber nicht, diese beiden Variablen zu löschen. Spätestens nach dem nächsten Öffnen der Datei in FrontPage hinterlässt das Programm seine Signatur wieder im Dokument.
7.3.3
Meta-Tags
Meta-Informationen sind Variablen, die nicht im Inhalt der Seite erscheinen, aber von Internetbrowsern und Suchmaschinen ausgewertet werden. Über Meta-Tags können Autoren Copyright-Informationen und Kontaktadressen angeben, Suchbegriffe und Anweisungen für Suchmaschinen in die Seiten einbetten, aber auch Befehle an den Browser des Benutzers weiterleiten.
264
Seiteneigenschaften
FrontPage unterscheidet begrifflich zwischen System- und Benutzervariablen. Die Entsprechung für Systemvariablen in HTML ist das Meta-Attribut http-equiv. Diese Meta-Informationen dienen vor allem der Kommunikation zwischen Server und Browser. Benutzervariablen, die insbesondere von Suchmaschinen ausgewertet werden, sind mit dem Attribut name gekennzeichnet. Die Werte dieser Attribute markieren den Typ der Meta-Tags. Die tatsächlichen Informationen werden über das Attribut content übermittelt. Aus der Vielzahl der möglichen Meta-Informationen seien hier die wichtigsten genannt. http-equiv=“refresh“ Mit dieser Meta-Information wird der Browser angewiesen, nach einer bestimmten Zeit anstelle der derzeitigen Seite eine andere Seite zu laden. Der Zeitraum wird hierbei in Sekunden definiert, als Adresse der neuen Seite kann jede gültige URL verwendet werden. Einsatzmöglichkeiten bestehen darin, eine Startseite nur für eine kurze Zeit anzuzeigen, um danach den tatsächlichen Inhalt zu präsentieren. Auch Slideshows, also zeitgesteuerte Präsentationen verschiedener Seiten oder Bilder, lassen sich mit diesem Tag realisieren. Interessant ist dies auch für die Einblendung unterschiedlicher Werbebanner in Websites, die Frames benutzen.
Seiten automatisch aufrufen
Beispiel: <meta http-equiv=“refresh“ content=“30;url=beispiel.htm“> http-equiv=“pragma“ Um die Menge der herunterzuladenden Informationen zu begrenzen und damit Bandbreite zu sparen, verwenden viele Browser einen Cache genannten Zwischenspeicher, in dem Dateien abgelegt werden, die bereits einmal heruntergeladen wurden. Ist der Browser so eingestellt, dass das Originaldokument nicht mit dem Dokument im Cache verglichen wird, kann es passieren, dass der Browser eine veraltete Seite anzeigt, nachdem Sie das Dokument auf dem Server aktualisiert haben. Bei Seiten, deren Inhalt sich oft ändert, oder datenbankgenerierten Dokumenten ist dies unerwünscht. Möchten Sie sicherstellen, dass Ihre Besucher den jeweils aktuellsten Stand Ihrer Seiten sehen, verwenden Sie dieses Tag.
Browser-Cache löschen
Verwendung: <meta http-equiv=“pragma“ content=“no-cache“> http-equiv=“robots“ Suchmaschinen verwenden so genannte Robots (Roboter) oder Spider (Spinnen); das sind automatisierte Internetbrowser, die das World Wide Web durchsuchen und die gefundenen Seiten auf ihre Inhalte überprüfen und nach Schlagwörtern indizieren. Während es bei den meisten Seiten erwünscht ist, dass sie in Suchmaschinen gefunden werden, gibt es auch Dokumente, die nicht in Suchmaschinen auftauchen sollen, weil ihr Inhalt vertraulich ist oder so oft aktualisiert wird, dass der Eintrag in einer
Suchmaschinen unterstützen
265
7 Erstellen und Gestalten von Internetseiten
Suchmaschine nie aktuell wäre. Mit diesem Tag können Sie festlegen, wie Suchmaschinen dieses Dokument behandeln sollen. Neben einer Sperre der Indizierung dieser Seite können Sie dabei auch festlegen, ob die Robots Hyperlinks in der Seite verfolgen sollen. Gültige Werte finden Sie in der folgenden Tabelle. Tabelle 7.3: Werte für das MetaTag ROBOTS
Content-Wert
Funktion
index
Der Robot nimmt die Begriffe dieser Seite in die Datenbank auf.
noindex
Die Seite wird nicht in den Index der Suchmaschinen eingetragen.
follow
Der Robot folgt den Hyperlinks in der Seite.
nofollow
Der Robot verfolgt die Hyperlinks in der Seite nicht.
Beispiel: <meta http-equiv=“robots“ content=“noindex, nofollow“> Untersucht ein Suchroboter Ihre Seite, filtert er bestimmte Suchbegriffe heraus, nach denen dann die Seite in der Suchmaschine gefunden werden kann. Sie können passende Suchbegriffe für eine Seite aber auch zusätzlich angeben. Diese Begriffe müssen dann nicht in der Seite direkt auftauchen. Einen Missbrauch dieser Funktionen durch übermäßigen Einsatz von Schlagwörtern oder Wortwiederholungen bestrafen die Suchmaschinen durch Streichung aus dem Index. Sie sind also gut beraten, wirklich nur passende Suchbegriffe anzugeben und dies sparsam aber präzise zu tun. Obwohl oder gerade weil „Sex“ das am meisten gesuchte Wort im Internet ist, vermeiden Sie dieses und ähnliche Wörter, wenn Sie kein Erotik-Angebot betreiben. Verkaufen Sie ComputerHardware, wählen Sie genauere Bezeichnungen, beispielsweise die Namen der Hersteller, deren Produkte Sie vertreiben, denn eine Suche nach Computer und Hardware ergibt meist Millionen von gefundenen Seiten, sodass die Chance, dass Sie gerade unter den ersten zehn angezeigten Seiten auftauchen, minimal ist. Weitere Tipps für die Optimierung Ihrer Seiten für Suchmaschinen geben Kapitel 4 und 9. Folgende Meta-Tags können Sie zur Angabe von Suchbegriffen einsetzen. name=“keywords“ Mit diesem Tag legen Sie einzelne Suchbegriffe oder Wortgruppen fest. Geben Sie möglichst nicht mehr als 20 Suchbegriffe ein, und trennen Sie Schlagwörter mit Kommata. Beispiel: <meta name=“keywords“ content=“Musik, Fan, CD, Schallplatte, Pink Floyd“>
266
Seiteneigenschaften
name=“description“ Tragen Sie hier einen griffigen Text ein, den Suchmaschinen als Beschreibung des Seiteninhaltes anzeigen, wenn diese Seite als Treffer in der Suchmaschine ausgegeben wird. Die Besucher entscheiden anhand dieses Textes, ob sie Ihr Angebot aufsuchen. Schreierische Werbetexte à la „Die beste Seite im Netz. Hier finden Sie alles, was Sie schon immer gesucht haben.“ lösen keinen Klickanreiz aus. Beispiel: <meta name=“description“ content=“Musicommunity lädt Musikfans zum Austausch über ihre Lieblingsinterpreten, Komponisten und Bands ein.“> name=“abstract“ Manche Suchmaschinen prüfen dieses Meta-Tag anstelle des DescriptionTags. Tragen Sie hier denselben Content wie bei name=“description“ ein. name=“revisit-after“ Suchmaschinen prüfen Websites regelmäßig auf Aktualisierungen. Das Intervall ist dabei von Suchmaschine zu Suchmaschine unterschiedlich. Mit diesem Tag laden Sie die Roboter nach der angegebenen Zeit, die Sie in Tagen (englisch: Days) angeben können, wieder ein. Eine zu kurze Frist bestrafen die Suchmaschinen mit der Entfernung Ihrer Seiten aus dem Index! Beispiel: <meta name=“revisit-after“ content=“15 days“> name=”expires” Verliert Ihre Seite zu einem bestimmten Zeitpunkt ihre Gültigkeit, weil das Semester oder der Sommerschlussverkauf zu Ende ist, oder wissen Sie, wann Ihre Website „umzieht“, können Sie den Suchmaschinen mitteilen, wann die Seite aus dem Index gestrichen werden soll. Damit verhindern Sie, dass Besucher Ihre Seite in der Suchmaschine finden, die Seite dann aber nicht angezeigt werden kann und die Besucher verärgert abziehen. Die korrekte Syntax hierfür ist Jahr-Monat-Tag. Beispiel: <meta name=“expires“ content=“1999-12-31“> name=”author” Sie sind der Autor. Ihnen gebührt Anerkennung für eine gute Seite. Lassen Sie Besucher wissen, wer die Seite entworfen hat. Beispiel: <meta name=“author“ content=“Dietmar Kracht“> Standardmäßig zeigen Internetbrowser die Seiteninhalte mit einem kleinen Abstand von etwa 10 Pixel Breite im Browserfenster an. Dies verbessert die Lesbarkeit an den Rändern, ist aber nicht immer erwünscht. Besonders wenn Sie Frames einsetzen oder eine Grafik ganz am Rand des Dialogfensters positionieren wollen, müssen diese Ränder entfernt werden. Sie können dies in der Registerkarte ALLGEMEIN über den Button FORMATVORLAGE tun.
267
7 Erstellen und Gestalten von Internetseiten
Im Dialogfenster FORMATVORLAGE BEARBEITEN, zu erreichen über die Schaltfläche ÄNDERN, finden Sie unten links einen Auswahlknopf, der unter dem Menüpunkt RAHMEN ein Dialogfenster öffnet, in dem Sie die Abstände zum Rand einstellen können. Spezifizieren Sie die Abstände in Pixel für die vier Seiten des Browserfensters. FrontPage fügt dann dem -Tag der Seite die entsprechenden Attribute hinzu. Abbildung 7.7: Dialogfenster „Rahmen und Schattierung“, schwer zu finden
Farben und Vordergrund Genau genommen definieren Sie über die Registerkarte HINTERGRUND auch den Vordergrund einer Seite. Im Bereich FARBEN können Sie für die gesamte Seite Farbvorgaben festlegen. Sie können dabei Eigenschaften für den Hintergrund und die Textelemente der Seite bestimmen. Tabelle 7.4 zeigt die verschiedenen Elemente und deren HTML-Attribute. Tabelle 7.4: Farbeigenschaften einer HTML-Seite
268
Name
HTMLAttribut
Besonderheiten
Hintergrund bgcolor
Der Hintergrund wird, sofern kein Hintergrundbild ausgewählt wurde, in dieser Farbe dargestellt.
Text
text
Alle Zeichen des Textes werden mit dieser Farbe dargestellt.
Hyperlink
link
Alle Hyperlinks der Seite erhalten diese Farbe. Auch Bilder, die als Hyperlink definiert sind, werden mit dieser Farbe umrahmt.
Seiteneigenschaften
Name
HTMLAttribut
Besonderheiten
Besuchter Hyperlink
vlink
Alle Hyperlinks, die ein Besucher schon einmal angeklickt hat, werden so eingefärbt. Stellen Sie für diese Farbe möglichst einen Mittelwert zwischen Text und Hyperlinkfarbe ein, um den Besuchern zu vermitteln, dass sie die damit verknüpfte Seite schon besucht haben.
Aktiver Hyperlink
alink
Während eine Seite aufgerufen wird, nachdem ein Hyperlink angeklickt wurde oder wenn bei einer Frames-Konstruktion die Seite angezeigt wird, ist der Hyperlink „aktiv“ und wird in dieser Farbe dargestellt.
Die Farbwerte, die Sie hier einstellen, werden im body-Tag der Seite eingetragen: Beispiel:
Hintergrundeigenschaften übernehmen Hat Ihre Website mehrere Seiten, sollten Sie das Aussehen aller Seiten vereinheitlichen. Um Farbeinstellungen nicht für jede Seite manuell vornehmen zu müssen und die Anpassung dieser Eigenschaften zu erleichtern, bietet FrontPage die Option HINTERGRUNDINFORMATIONEN VON EINER ANDEREN SEITE ÜBERNEHMEN. Wählen Sie eine andere Seite des Webs aus, indem Sie auf DURCHSUCHEN klicken oder geben Sie die URL der gewünschten Seite an. Der Browser liest dann bei jedem Zugriff auf diese Seite die Farbinformationen aus der angegebenen Seite aus. Zwei Bedingungen müssen hierbei jedoch erfüllt sein: Die Seite muss zu dem Zeitpunkt der Betrachtung verfügbar sein, und der Browser muss Cascading Style Sheets unterstützen. Kapitel 11 erläutert dies näher.
7.3.4
Sprache und Codierung
Klicken Sie auf die Registerkarte SPRACHE, um festzulegen, in welcher Sprache der Inhalt der Seite geschrieben ist. FrontPage nutzt diese Einstellung für die Rechtschreibprüfung. Im Bereich „Sprache der Seite“ können Sie aus der Liste „Aktuelles Dokument markieren als“ die Sprache des Dokumentes bestimmen. Die HTML-Codierung bestimmt die Tabelle der Zeichen, die zur Definition von Buchstaben, Ziffern und Son|derzeichen verwendet wird. Sie ist für jede Sprache oder Sprachgruppe unterschiedlich. Verwenden Sie eine der europäischen Sprachen auf Ihrer Tastatur und arbeiten Sie mit einem Betriebssystem in einer dieser Sprachen, sollten Sie die Einstellung „US/Westeuropäisch“
269
7 Erstellen und Gestalten von Internetseiten
auswählen. Achten Sie auf die Besonderheiten der Seitencodierung und auf mögliche Probleme bei der Anzeige auf verschiedenen Betriebssystemen. Abbildung 7.8: Sprach- und Codierungseigenschaften
7.3.5
Arbeitsgruppe
Die Registerkarte ARBEITSGRUPPE umfasst drei verschiedene Optionsbereiche: Die Zuordnung der Seite zu bestimmten Kategorien, die Festlegung von verantwortlichen Autoren und Aufgaben sowie eine Einstellung für die Veröffentlichung der Seite. Abbildung 7.9: Die Registerkarte „Arbeitsgruppe“
270
Text
Einer Seite verschiedene Kategorien zuzuordnen kommt dann infrage, wenn Sie Berichte über Ihr Web erzeugen wollen. In Kapitel 9 wird erklärt, wie Sie Berichte erzeugen und welchen Nutzen diese haben. Die Optionen für die Arbeitsgruppe kommen zum Einsatz, wenn Sie mit verschiedenen Autoren zusammenarbeiten und die Aufgabenverwaltung koordinieren. Kapitel 13 beschäftigt sich mit der Verwaltung von Aufgaben und Autoren.
Arbeitsgruppen für mehrere Autoren
Im unteren Teil der Registerkarte befindet sich das Auswahlfeld DIESE SEITE VERÖFFENTLICHEN DES WEBS AUSSCHLIESSEN. Damit können Sie bestimmen, ob die Seite mit auf den Server übertragen wird, wenn Sie das Web veröffentlichen. Von Bedeutung ist diese Funktion vor allem dann, wenn Sie Teile des Webs als Unterweb in ein anderes Web veröffentlichen wollen. Kapitel 6 erläutert den Umgang mit Webs und Unterwebs.
BEIM
7.3.6
System- und Benutzervariablen
Die Registerkarte BENUTZERDEFINIERT stellt Eingabemasken für Variablen zur Verfügung, die Sie für jede Webseite festlegen können.
7.4
Text
Die Darstellung einer HTML-Seite in FrontPage erinnert an ein Textverarbeitungsprogramm wie Microsoft Word, das ebenfalls Teil der Microsoft OfficeFamilie ist. Sind Sie bereits mit der Arbeit mit Word vertraut, fällt es Ihnen sicher leicht, mit FrontPage Texte in Ihren Webseiten zu erstellen. Bewegen Sie die Maus in die Seitenansicht von FrontPage, ändert sich der Mauszeiger in ein großes I, was anzeigt, dass hier Text eingegeben werden kann. Klicken Sie in den weißen Bereich der Seite, erscheint die Texteinfügemarke am linken oberen Bildrand. Dort beginnt der Inhalt, und Sie können nun Text eingeben. Erreicht der Text den rechten Seitenrand, wird er automatisch umbrochen. Anders als bei Textverarbeitungs- oder Layoutprogrammen gibt es in HTML keine Möglichkeit, Seitenränder oder genaue Maße für die Größe einer Seite anzugeben. Die Größe des Fensters des Internetbrowsers beim Betrachter legt fest, welche Breite und Höhe die Seite hat. Mögliche Größen werden dadurch bestimmt, wie groß die Besucher ihr Browserfenster eingestellt haben und mit welcher Bildschirmauflösung sie arbeiten. Welche Regeln für die Anpassung der Seiten für unterschiedliche Systemkonfigurationen zu beachten sind, werden nachfolgend erläutert.
Eingeschränkte Textformatierung
271
7 Erstellen und Gestalten von Internetseiten
7.4.1
Besonderheiten von HTML-Text
Text, den Sie in der Normalansicht eingeben, wird zunächst normal dargestellt, das heißt, es werden ihm keine speziellen Attribute zugewiesen. Die Einstellungen des Internetbrowsers des Betrachters entscheiden darüber, in welcher Größe und mit welcher Schriftart der Text angezeigt wird. Sie können allerdings auch Schriftarten, Größen und Farben für jedes Zeichen festlegen. Geben Sie einen kurzen Satz ein, und wechseln Sie dann in die HTML-Ansicht, indem Sie auf die Registerkarte HTML am unteren Rand der Seite klicken. Wie Sie in bereits erfahren haben, sind im oberen Teil der Seite, der den Head enthält, allgemeine Informationen zur Seite zu finden. Der Body enthält die tatsächlichen Inhalte. Sie erkennen, dass FrontPage den von Ihnen eingegebenen Text in den Body der Seite eingefügt hat. Hinter dem letzten Zeichen, das Sie in der Normalansicht eingetippt haben, blinkt die Einfügemarke. Sie können nun auch hier Ihren Text eingeben. Schreiben Sie einige kurze Sätze und drücken Sie nach jedem Satz die (¢)Taste. Schreiben Sie nun noch zwei Wörter in eine neue Zeile und trennen Sie diese Wörter durch mehrere Leerzeichen. Wechseln Sie zurück in die Normalansicht. Abbildung 7.10: HTML-Seite mit Text in der HTMLAnsicht
272
Text
Dort ist nun auch der Text zu sehen, den Sie in der HTML-Ansicht hinzugefügt haben. Allerdings fehlen die Zeilenumbrüche, die Sie mit der (¢)-Taste eingegeben hatten, ebenso wie dass statt mehrerer Leerzeichen nur ein Leerzeichen zwischen den letzten beiden Wörtern steht. Der Grund dafür ist, dass Leerzeichen, Tabstopps und Zeilenumbrüche im HTML-Code ignoriert werden, um den Code besser strukturieren zu können. Damit ist es möglich, im Code zur besseren Übersichtlichkeit Absätze einzurücken oder Leerzeilen einzufügen, ohne das Erscheinungsbild im Browser zu beeinflussen. Bei größeren Seiten mit stark verschachtelten Tags und besonders bei Skripten in den Seiten ist für eine fehlerlose Programmierung eine solche Struktur besonders hilfreich. Abbildung 7.11: Dieselbe Seite in der Normalansicht
Wechseln Sie zurück in die HTML-Ansicht, hat FrontPage im HTML-Code automatisch einen Zeilenumbruch bei Zeichen 80 eingefügt. Auch wenn diese Strukturierung sinnvoll ist, kann es unter Umständen nicht im Sinne des Autors sein, dass FrontPage den Code anpasst. Leider ist diese Anpassung durch FrontPage nicht zu umgehen. Geben Sie in der Normalansicht Texte mit Umlauten und Sonderzeichen ein, wandelt FrontPage diese automatisch in deren ASCII-Codes um, sodass sie auf allen Betriebssystemen korrekt angezeigt werden. Kapitel 7 erklärt die Verwendung von Sonderzeichen und ASCII-Codes.
273
7 Erstellen und Gestalten von Internetseiten
7.4.2
Text eingeben und bearbeiten
Die Eingabe und Bearbeitung von Texten erfolgt in FrontPage analog zum Vorgehen in Textverarbeitungsprogrammen. Die Einfügemarke, an der Text eingefügt wird, kann mit der Maus positioniert werden, indem Sie mit der linken Maustaste auf die gewünschte Stelle klicken. Eine HTML-Seite wird (sofern Sie keine Sprache wie Hebräisch oder Arabisch verwenden) von links oben aufgebaut. Zeichen werden dann jeweils hinter das vorangehende Zeichen und in Anpassung an dessen Größe gesetzt, wie Sie dies auch aus Textverarbeitungsprogrammen kennen. Allerdings können Sie die Einfügemarke nicht beliebig auf der Seite positionieren. Dies ist in HTML nicht ohne weiteres möglich. Tricks, wie Sie aber dennoch eine absolute Positionierung erreichen können, zeigen wir in den Kapiteln 7, 8 und 13. Leerzeichen und Tabulatoren Sie können darüber hinaus in HTML nicht mit Leerzeichen am Anfang einer Zeile oder mit Tabulatoren arbeiten. Geben Sie ein solches Zeichen am Anfang einer Zeile ein, wird der erste darauf folgende Buchstabe trotzdem am Anfang der Zeile dargestellt. Auch mehrere Leerzeichen hintereinander sind wirkungslos. Sollten Sie dennoch den Abstand zwischen Wörtern oder Zeichen mit Hilfe von Leerzeichen vergrößern wollen, setzen Sie dazu das HTMLSonderzeichen ein. Dieser „Non-Breaking Space“ ist ein geschütztes Leerzeichen, das ursprünglich verhindern sollte, dass am Ende einer Zeile bei wichtigen Wortgruppen umbrochen wird. Allerdings stellen Browser diese geschützten Leerzeichen – anders als Standardleerzeichen, die Sie über die Leertaste eingeben –, auch wenn mehrere hintereinander stehen, korrekt dar. So lässt sich hiermit auf einfache Art und Weise ein Zeileneinzug generieren, der anderenfalls nur mit Hilfe eines besonderen HTML-Tags für einen ganzen Absatz umzusetzen ist. Beachten Sie aber, dass die Darstellung dieser Leerzeichen von der Schriftgröße im Browser des Betrachters abhängt. Sie können sich also nicht darauf verlassen, dass ein Text, der mit diesem Zeichen strukturiert wurde, dort so angezeigt wird wie bei Ihnen. Sie werden bereits Unterschiede zwischen der Normalansicht und der Vorschauansicht in FrontPage erkennen können. Das geschützte Leerzeichen geben Sie in der Normalansicht über das Tastenkürzel (Strg)+(ª)+(Leertaste) ein.
274
Text
Text bearbeiten Haben Sie Text eingegeben und möchten Sie einzelne Teile des Textes innerhalb der Seite verschieben oder korrigieren, verwenden Sie dazu die aus der Textverarbeitung bekannten Verfahren: 왘 Markieren
Um einen Textbereich zu manipulieren, markieren Sie den Text. Klicken Sie dazu mit der linken Maustaste vor das erste Zeichen, das Sie markieren möchten, und ziehen Sie mit festgehaltener Maustaste den Mauszeiger hinter das letzte Zeichen des Textabschnittes. Alternativ können Sie besonders bei längeren Textabschnitten auch vor ein Zeichen klicken, die Maustaste wieder loslassen, die (ª)-Taste drücken, den Mauszeiger hinter das letzte zu markierende Zeichen setzen und wieder mit der linken Maustaste dorthin klicken. Markierten Text stellt FrontPage invers dar. 왘 Klicken Sie doppelt auf ein Wort, um es zu markieren. Sie können
aber auch gleichzeitig die Tasten (Strg)+(ª) gedrückt halten und mit den Pfeiltasten (Æ) und (æ) das an die Einfügemarke angrenzende Wort markieren.
왘 Bewegen Sie den Mauszeiger vor den Anfang einer Zeile, verändert
sich der Mauszeiger in einen nach rechts gekippten Pfeil. Klicken Sie nun auf den Seitenrand, um die gesamte Zeile zu markieren. Ziehen Sie den Mauszeiger mit gehaltener linker Maustaste nach unten, um mehrere Zeilen zu markieren. 왘 Den gesamten Inhalt der Seite markieren Sie über (Strg)+(A) oder das Menü BEARBEITEN | ALLES MARKIEREN. 왘 Eine Markierung heben Sie auf, indem Sie in einen beliebigen Bereich
der Seite klicken. Alle nun folgenden Veränderungen betreffen den markierten Bereich. 왘 Löschen
Zeichen links von der Einfügemarke löschen Sie mit der (Backspace)Taste, Zeichen rechts davon mit der (Entf)-Taste. Markierte Abschnitte werden von jeder der beiden Tasten oder über das Menü BEARBEITEN | LÖSCHEN gelöscht. 왘 Ausschneiden
Ausschneiden bedeutet im Computer immer, dass der Text (oder sonstige Information) in die Zwischenablage kopiert und aus dem Dokument entfernt wird. Drücken Sie dazu die Tasten (Strg)+(X), oder wählen Sie das Menü BEARBEITEN | AUSSCHNEIDEN. Die ausgeschnittenen Informationen befinden sich nun in der Zwischenablage und können weiterverwendet werden. Allerdings fasst die Zwischenablage nur ein Objekt, sodass beim erneuten Kopieren oder Ausschneiden die Zwischenablage damit überschrieben wird. Dieser Vorgang kann nicht rückgängig gemacht werden.
275
7 Erstellen und Gestalten von Internetseiten 왘 Kopieren
Kopieren funktioniert wie das Ausschneiden, allerdings wird hier der Text nicht aus dem Dokument entfernt. Wählen Sie das Menü BEARBEITEN | KOPIEREN oder die Tastenkombination (Strg)+(C). 왘 Einfügen
Haben Sie Text oder andere Informationen in die Zwischenablage kopiert oder ausgeschnitten, können Sie ihn mit (Strg)+(V) oder über das Menü BEARBEITEN | EINFÜGEN wieder in dieses oder in ein anderes Dokument einfügen. 왘 Verschieben
Indem Sie einen Abschnitt ausschneiden und an einer anderen Stelle wieder einfügen, lässt sich Text verschieben. Einfacher geht es aber, wenn Sie auf einen markierten Bereich klicken, die Maustaste nicht wieder loslassen und dann dorthin bewegen, wo der Abschnitt neu positioniert werden soll. Der Mauszeiger verwandelt sich daraufhin in einen Pfeil mit einem halbtransparenten Quadrat. Lassen Sie die Maustaste wieder los, wenn sich der halbtransparente Strich, der gleichzeitig im Text erscheint, an der gewünschten Stelle befindet. Text aus anderen Anwendungen einfügen Verwenden Sie andere Textverarbeitungsprogramme, wie etwa Microsoft Word, StarWriter oder das Windows WordPad, können Sie Text in FrontPage über die Zwischenablage importieren. Dies gilt auch für alle anderen Programme, die mit Text umgehen, etwa E-Mail-Programme. Kopieren Sie dort den Text und fügen Sie ihn in FrontPage ein, oder markieren Sie den Text in der anderen Anwendung und ziehen Sie ihn mit der Maus in das Microsoft FrontPage-Fenster. Sollten Sie alle Dialogfenster maximiert oder minimiert haben, können Sie die Maus auf das FrontPage-Symbol in der Taskleiste ziehen, bis sich FrontPage öffnet. Lassen Sie dann die Maus los, wird der Text an der gewählten Stelle eingefügt. Auf dieselbe Art können Sie natürlich auch Text aus FrontPage in andere Anwendungen einfügen. Kopieren Sie Text aus Word nach FrontPage, wird Ihnen auffallen, dass die meisten Formatierungen beibehalten werden. Die Formatierungsbefehle aus Word werden übernommen und in HTML-Code umgesetzt. Allerdings kommen dabei Cascading Style Sheets zum Einsatz, das sind Formatierungsdefinitionen, die nicht von allen Browsern verstanden werden. Vollkommen korrekt können nur die Internet Explorer 4 und 5 diese Definitionen anzeigen.
276
Text
7.4.3
Absätze und Umbrüche
Wie auch in Textverarbeitungsprogrammen gibt es in HTML zwei Möglichkeiten, Umbrüche im Text einzufügen: Absatz- und Zeilenwechsel. Ein Absatz ist ein Seitenbereich, der durch das HTML-Tag (für Paragraph) gekennzeichnet wird. Einen Absatz fügen Sie ein, indem Sie am Ende des Textbereiches die (¢)-Taste drücken. FrontPage umschließt dann den Text mit diesem Tag. Der nächste Absatz beginnt mit einem größeren Zeilenabstand. Zeilenumbruch Ein Zeilenumbruch hingegen gibt nur die Anweisung, den Text auf der nächsten Zeile fortzusetzen. Der Text bleibt dabei aber Teil des Absatzes. Einen Zeilenumbruch fügen Sie über das Menü EINFÜGEN | MANUELLER UMBRUCH ein. Wählen Sie im nun erscheinenden Dialogfenster die Option NORMALER ZEILENUMBRUCH. Wesentlich einfacher geht es aber, wenn Sie gleichzeitig die (ª)- und (¢)-Tasten drücken. Das HTML-Tag für einen Zeilenumbruch heißt (englisch: Line Break). Abbildung 7.12: Das Dialogfenster „Umbruch“
Das Dialogfenster UMBRUCH bietet aber noch weitere Möglichkeiten. Die drei anderen Optionen fügen dem -Tag jeweils ein Attribut hinzu, das beeinflusst, wie Text umbrochen wird, wenn im Absatz auch Bilder eingefügt sind. Absätze Sie können für einen Absatz bestimmte Formatierungen festlegen, die für den gesamten Absatz gelten. Welche Formatierungen Sie hier einsetzen können, hängt dabei vor allem vom Browsertyp des Betrachters ab. Browser, die Cascading Style Sheets verarbeiten können, wie etwa der Internet Explorer ab Version 3 oder Netscape Navigator ab Version 4, erlauben hier weitaus mehr Optionen. Es soll daher an dieser Stelle nur auf zwei Formatierungsmöglichkeiten für Absätze eingegangen werden, die von allen Browsern korrekt angezeigt werden – die horizontale Ausrichtung und Einzüge. Ausrichtung Die horizontale Ausrichtung ist Ihnen aus Textverarbeitungsprogrammen bekannt. Absätze können linksbündig, zentriert oder rechtsbündig ausgerichtet werden. Der Text wird dann an einem Seitenrand ausgerichtet und am anderen Rand je nach Seitenbreite umbrochen. Man spricht daher von
277
7 Erstellen und Gestalten von Internetseiten
Flattersatz. Zentrierter Text wird an der vertikalen Mittelachse der Seite ausgerichtet. Darüber hinaus gibt es eine Option für Blocksatz, die jedoch nur von modernen Browsern unterstützt wird. Abbildung 7.13: Horizontale Ausrichtung von Absätzen
Die linksbündige Ausrichtung ist die Standardeinstellung. Alle Absatzausrichtungen können über das Menü FORMAT | ABSATZ eingestellt werden. In der Menüleiste FORMAT finden Sie außerdem Schaltflächen für die linksund rechtsbündige sowie die zentrierte Ausrichtung. Im HTML-Code wird die Absatzausrichtung durch das Attribut align im Tag
bestimmt. Tabelle 7.5: Optionen für die Ausrichtung von Absätzen
Ausrichtung
HTML-Tag
Linksbündig
Zentriert
Rechtsbündig
Blocksatz
Einzüge Wie bereits erwähnt, gibt es in HTML keine Möglichkeit, Text mit Hilfe von Leerzeichen oder Tabulatoren einzurücken. Das HTML-Tag
kann dazu verwendet werden, obwohl es seinem Ursprung nach dazu gedacht war, längere Zitate als solche zu kennzeichnen. Da die Browser aber einen mit diesem Tag versehenen Absatz einrücken und nicht weiter formatieren, hat es sich eingebürgert, dieses Tag für Einzüge zu benutzen. Auch FrontPage macht mit seiner Funktion davon Gebrauch.
278
Text
Klicken Sie in der Symbolleiste FORMAT auf das Symbol EINZUG VERGRÖSSERN, um einen Absatz einzurücken. Das Tastenkürzel für diese Funktion ist (Strg)+(M). Sie können auch mehrfach auf diese Schaltfläche klicken, um den Einzug zu vergrößern. Dabei fügt FrontPage um den Absatz ein weiteres -Tag ein. Die Schaltfläche EINZUG VERKLEINERN oder das Tastenkürzel (Strg)+(ª)+(M) macht den Vorgang rückgängig. Abbildung 7.14: Text mit Einzügen
Diese Methode, Absätzen Einzüge zuzuweisen, ist nicht präzise, da keine genaue Maßangabe für den Einzug festgelegt werden kann. Jeder Browser unterscheidet sich hier. Eine bessere Variante zum Einzug von Absätzen bieten Tabellen. Trennungen und Umbrüche Wo und wie Text im Browser umbrochen wird, hängt von der Größe des Browserfensters beim Betrachter ab. Da ein langer Text ohne Umbrüche generell schwer zu lesen ist, fügen Sie am zweckmäßigsten häufig Zeilenwechsel oder besser Absätze ein. Verfügt der Betrachter über einen großen Bildschirm mit hoher Auflösung, kann ein langer Text zudem so breit werden, dass es schwer ist, den richtigen Übergang zur nächsten Zeile zu finden. Allerdings sollten Sie keinesfalls die Breite Ihres Textes mit Hilfe von Umbrüchen verkleinern, es sei denn, dies ist wirklich beabsichtigt. Nutzen Sie dazu besser Tabellen. Sie sind weitaus besser für die Strukturierung von Text geeignet. Verwenden Sie lange Wörter bei begrenzter Breite, kann es – vor allem bei kleinen Browserfenstern – zu Problemen bei der Darstellung kommen. Leider gibt es in HTML keine Möglichkeit der automatischen Silbentrennung und auch kein Sonderzeichen für einen versteckten Trennstrich, der nur dann angezeigt wird, wenn ein Zeilenumbruch im Wort notwendig ist.
279
7 Erstellen und Gestalten von Internetseiten
Dennoch sollten Sie möglichst keine manuellen Trennstriche einfügen. Es kann sonst zu unliebsamen Verschiebungen des Textes kommen, die nicht voraussehbar sind. Besonders lange zusammengesetzte Substantive können Sie jedoch an passenden Stellen mit Bindestrichen versehen, statt sie zusammenzuschreiben.
7.4.4
Überschriften
Überschriften legen neben der Hierarchieebene auch die Zeichengröße der Überschrift fest. Der Vorteil ist, dass Sie nicht jedes Mal die Überschrift manuell formatieren müssen, sondern allein durch die Zuweisung des Überschriften-Tags den Browser anweisen, diesen Text als Überschrift der Ebene X darzustellen. In HTML gibt es sechs Hierarchieebenen für Überschriften. Gekennzeichnet werden Überschriften durch die Tags bis , wobei „h1“ die Überschrift der höchsten Ebene darstellt. In den meisten Browsern werden Überschriften fett gesetzt. Die Schriftgrade der Überschriftenebenen 1 bis 3 ist meist größer als die Normalschrift, sodass diese drei Ebenen auch als Überschriften wahrgenommen werden. Abbildung 7.15: Überschriften
Eine Überschrift ist ein Absatz, Sie müssen also nicht zusätzlich vor oder nach einer Überschrift einen Absatz einfügen. Um den Abstand vor und nach der Überschrift zu vergrößern, sind Zeilenumbrüche besser geeignet. Leider lassen sich in HTML Überschriften nicht automatisch nummerieren. Dies ist in der Regel auch nicht notwendig, da Internetseiten eher kurz gehalten und längere Texte stattdessen auf mehrere Dateien aufgeteilt werden sollten.
280
Text
7.4.5
Zeichenformatierungen
Eine Reihe von HTML-Tags bieten Ihnen die Möglichkeit, Zeichen und Textbereiche unterschiedlich zu formatieren. Die von FrontPage angebotenen Formatierungen umfassen Schriftart, Schriftschnitt und Schriftgrad und eine Reihe von Effekten. Auf Windows-Plattformen wird in den Webbrowsern als Standardschrift meist die Schriftart „Times New Roman“ eingesetzt. Auch FrontPage zeigt den Text standardmäßig in dieser Schriftart an. Im Browser ist auch die Schriftgröße voreingestellt. Wollen Sie die Schriftart ändern, die in Ihren Seiten verwendet wird, können Sie die Details über die Zeicheneigenschaften ändern. Markieren Sie den zu formatierenden Bereich, klicken Sie dann mit der rechten Maustaste auf den markierten Abschnitt, und wählen Sie aus dem Kontextmenü die Option ZEICHEN. Das Eigenschaftenfenster für Zeichen erreichen Sie auch über das Menü FORMAT|ZEICHEN oder über das Tastenkürzel (Alt)+(¢). Schriftarten In der Liste „Schriftarten“ sind alle auf Ihrem System installierten Zeichensätze aufgeführt. Sind Sie ein Schriftenfan, kann diese Liste leicht 200 und mehr Schriften enthalten. Ob die Besucher allerdings auch diese Schriften besitzen, bleibt zu bezweifeln. Sie können daher nur die häufigsten Schriftarten einsetzen, um sicherzugehen, dass die Betrachter Ihre Seiten wie Sie angezeigt bekommen. Wählen Sie eine Schrift aus der Liste aus, um sich eine Vorschau anzeigen zu lassen. Der markierte Bereich wird, nachdem Sie OK gedrückt haben, mit dieser Schriftart formatiert. Abbildung 7.16: Mit unterschiedlichen Schriftarten ausgezeichneter Text
281
7 Erstellen und Gestalten von Internetseiten
Eine weitere Möglichkeit, eine Schriftart für einen Textbereich auszuwählen, ist die Auswahlliste SCHRIFTEN in der Symbolleiste FORMAT. Auch dort finden Sie alle Schriften, die Sie einem markierten Abschnitt zuordnen können, indem Sie die gewünschte Schrift hier auswählen. Schriftschnitte Schriftschnitte sind Varianten einer Schriftart. Der Begriff Schnitt rührt daher, dass Typen für den Druck früher aus Blei gegossen wurden und die Gussform meist aus Holz bestand, die geschnitten wurde. Beispiele sind der kursive, also schräg gestellte Schnitt oder der fette Schnitt. Viele Schriften verfügen über weitere Schnitte. Diese lassen sich aber nicht ohne weiteres in HTML-Seiten einbinden, sofern sie nicht als separate Schriftdatei vorliegen. FrontPage bietet im Feld SCHRIFTSCHNITT vier Varianten an: Standard, Kursiv, Fett und Fett Kursiv. Wählen Sie den gewünschten Schnitt und drücken Sie OK. In der Symbolleiste FORMAT finden Sie zusätzlich die Schaltflächen FETT und KURSIV. Wählen Sie die gewünschten Schnitte, indem Sie die Schaltflächen anklicken. Sie können beide gleichzeitig auswählen, um einen Text fett und kursiv auszuzeichnen. Sind beide Schaltflächen nicht angeklickt, wird der Standardschnitt verwendet. Schriftgrade In Internetseiten können Sie nicht ohne weiteres genaue Punktgrößen für Schriften angeben. HTML kennt sieben verschiedene Schriftgrade, die von 1 bis 7 nummeriert sind, wobei 1 den kleinsten und 7 den größten Grad bezeichnet. Als Standardgröße ist 3 festgelegt. FrontPage zeigt in den Schriftgradlisten in Klammern Vergleichsgrößen in Punkthöhen an, die Sie auch in Text- und Grafikprogrammen verwenden. Diese Größen sind aber stets von der Bildschirmauflösung des Betrachters abhängig. Auch hier können Sie im Eigenschaftenfenster ZEICHEN oder in der Symbolleiste FORMAT die Grade auswählen. Schriftfarben Endlich wird es bunt. Da Internetseiten sehr flexibel mit Farben gestaltet werden können (und sollten), kann hier mit Farben weitaus verschwenderischer umgegangen werden, als dies beim Druck möglich wäre. Dunkle Hintergründe mit hellen Schriften sind problemlos zu realisieren und oftmals angenehmer am Bildschirm zu lesen. Natürlich sind mit Farben überfrachtete Seiten ebenso zu vermeiden wie unpassende Farbkombinationen mit zu starken oder zu schwachen Kontrasten. Eine knallgrüne Seite mit hellvioletter Schrift bringt garantiert keine begeisterten Besucher ein. Doch diese ästhetischen Fragen seien Ihrem Geschmack überlassen.
282
Text
Allerdings gibt es auch einige technische Besonderheiten bei der Auswahl von Farben zu beachten. Abschnitt 7.8.6 weist auf die wichtigsten Kriterien hin. Hier sei aber schon darauf hingewiesen, dass es eine Palette von 216 Farben gibt, die auf allen Systemen und in allen Browsern korrekt dargestellt werden. FrontPage bietet Ihnen diese Farben in einer Farbwahlpalette an, die Sie in der Symbolleiste FORMAT HINTER DEN SYMBOLEN FÜR DIE HINTERGRUND- ODER DIE SCHRIFTFARBE FINDEN. Abbildung 7.17 zeigt das Dialogfenster WEITERE FARBEN mit der „websicheren“ Palette. Es ist ratsam, sich bei der Farbauswahl für Hintergründe und Farbflächen dieser begrenzten Anzahl von Farben zu bedienen. Bei Schriften müssen Sie dies nicht unbedingt tun. Abbildung 7.17: Die „websichere“ Farbwahlpalette
Um einem Textbereich eine bestimmte Farbe zuzuordnen, wählen Sie wiederum die ZEICHENEIGENSCHAFTEN oder die Schaltfläche SCHRIFTFARBE in der Symbolleiste FORMAT. Diese Schaltfläche verfügt über einen kleinen Pfeil an der rechten Seite, den Sie anklicken können, um andere Farben auszuwählen. Abbildung 7.18: Die Auswahl von Schriftfarben in der Symbolleiste „Format“
Allerdings bietet FrontPage dort nur 16 Windows-Standardfarben an, die Sie nicht verwenden sollten, denn sie gehören nicht zu den websicheren Farben. Klicken Sie stattdessen auf WEITERE FARBEN. Im Dialogfenster WEITERE FARBEN, das daraufhin geöffnet wird, können Sie die websicheren Farben aus-
283
7 Erstellen und Gestalten von Internetseiten
wählen. Klicken Sie auf die gewünschte Farbe, wird sie im rechten Bereich des Dialogfensters in einem Vorschaufenster mit der aktuellen Farbe verglichen. Das RGB-Farbmodell Im Feld WERT sehen Sie den Hexadezimalcode der Farbe, der in HTML zur Definition von Farben verwendet wird. Das Farbmodell, das standardmäßig zur Anzeige von Farben auf dem Bildschirm verwendet wird, heißt RGB. Dieses Farbmodell kann ca. 16,7 Millionen Farben darstellen und basiert auf einem 24-Bit-Schlüssel. Dazu werden die drei Farbwerte Rot, Grün und Blau in einer Skala mit 256 Stufen additiv zusammengesetzt. Sind alle Farbwerte auf 0 gesetzt, ergibt dies Schwarz, die kombinierten Maximalwerte 255,255,255 erzeugen Weiß. In HTML ist es üblich, diese Farbwerte mit dem Hexadezimalcode anzugeben. Die Basis des hexadezimalen Zahlensystems ist 16. Dazu werden neben Ziffern 0 bis 9 auch die Buchstaben A bis F genutzt. Die Dezimalzahl 0 wird in Hexadezimalcode 00 geschrieben, die Zahl 1 als 01 und die Zahl 255 als FF. Mit dem Windows-Rechner, den Sie im Startmenü unter PROGRAMME | ZUBEHÖR finden, können Sie Dezimalzahlen in Hexadezimalzahlen umwandeln. Wechseln Sie dazu über das Menü ANSICHT in den Modus WISSENSCHAFTLICH. Geben Sie eine Zahl zwischen 0 und 255 ein und klicken Sie auf das Auswahlfeld HEX. Die Zahl wird dann hexadezimal angezeigt. Um in HTML einen Farbwert anzugeben, wird das Attribut color benutzt. Dem Hexadezimalcode wird stets das Zeichen # vorangestellt, und die Farbwerte für Rot, Grün und Blau werden ohne Komma hintereinander geschrieben. Die Farbe Blau wird beispielsweise so gekennzeichnet: color=“#0000ff“, einen beruhigenden Ockerton erzeugt der Eintrag color=“#0000ff“. Das Feld WERT bedient sich des Hexadezimalsystems, und Sie können dort nicht nur den Code betrachten, sondern auch selbst eingeben. Farben auswählen Wollen Sie eine Farbe übernehmen, die bereits im aktuellen Dokument verwendet wird, beispielsweise in einer Grafik, benutzen Sie die Pipette. Klicken Sie dazu auf das Feld AUSWÄHLEN. Der Mauszeiger wird zu einer Pipette. Klicken Sie mit der Spitze der Pipette auf einen beliebigen Punkt am Bildschirm, können Sie dessen Farbe mit der Pipette aufnehmen. Diese wird damit zur neuen Farbe. Um eine beliebige Farbe selbst zu „mischen“, rufen Sie über BENUTZERDEFINIERT den Standard-Windows-Farbenmischer auf. Der Farbenmischer erlaubt es, mit den Farbmodellen HSL und RGB Farben in Dezimalcode festzulegen und genau abzustimmen.
284
Text Abbildung 7.19: Der WindowsFarbenmischer
Hinter den Kulissen Das HTML-Tag zur Definition von Schrift heißt . Über verschiedene Attribute können Sie damit die Schriftarten, -grade und -farben festlegen. Attribut
Beispielwert
Bedeutung
face
Arial, Helvetica
Legt die Schriftart fest. Verschiedene Schriftarten werden mit Kommata und Leerzeichen voneinander getrennt.
size
2
Legt den Schriftgrad fest.
color
#336699
Legt die Farbe des Textes im Hexadezimalcode fest.
Tabelle 7.6: Attribute des fontTags
Ein vollständiges Tag für die Schriftdefinition lautet: Text
Nicht alle Attribute müssen festgelegt werden. Darüber hinaus können auch mehrere Tags ineinander verschachtelt werden, um Teilbereiche eines Textes anders zu formatieren. Hallo Welt, dies ist Text
285
7 Erstellen und Gestalten von Internetseiten
In diesem Beispiel wird der gesamte Text in der Schriftart Times oder Times New Roman in einem dunklen Grau angezeigt, aber Teile des Textes haben unterschiedliche Schriftgrößen. Schriftgrade können übrigens auch relativ, das heißt in Beziehung zur Schriftgröße des umgebenden Textes angegeben werden. Dazu wird das size-Attribut verwendet: Text größer und kleiner
Mit diesen Attributen können Sie das Verhältnis von Zeichengrößen zueinander festlegen, ohne jedes Mal die exakte Größe angeben zu müssen. Ändern Sie dann den size-Wert des umgebenden Tags, ändern sich auch die Werte im Inneren relativ. Eine praktische Anwendung wären Initialen am Anfang eines Absatzes oder in einer Überschrift: C rimson C onsulting A ktiengesellschaft
Leider wird diese Funktion von FrontPage nicht unterstützt. Sie können aber im HTML-Code damit arbeiten.
7.4.6
Zeichenformatierungen
Neben Schriftarten, -graden und -farben können Sie eine Reihe weiterer Formatierungen auf Text anwenden. FrontPage nennt diese Formatierungen Effekte. Diese Effekte werden durch HTML-Tags festgelegt, die Sie Tabelle 7.7 entnehmen können. Damit Sie diese Tags nicht manuell eingeben müssen, verwenden Sie das Eigenschaftenfenster für Zeichenformatierung. Sie können es über das Menü FORMAT | ZEICHEN oder über das Tastenkürzel (Alt)+(¢) aufrufen, nachdem Sie den zu formatierenden Text markiert haben. Welche der Effekte zur Verfügung stehen, hängt davon ab, welche Browser Sie unterstützen wollen. Über das Menü EXTRAS | SEITENOPTIONEN können Sie festlegen, für welche Browser und deren Versionen Ihre Seiten optimiert werden sollen. FrontPage blendet dann die Optionen aus, die für diese Browser nicht infrage kommen.
286
Text Abbildung 7.20: Das Eigenschaftenfenster für Zeichenformatierung
Bezeichnung
HTML-Tag/Attribut
Besonderheiten
Kursiv
Fett
Unterstrichen
Durchgestrichen
<strike>
Hochgestellt
<sup>
Tiefgestellt
<sub>
Betont
<strong>
Entspricht
Hervorgehoben
<em>
Entspricht
Beispiel
<samp>
Meist kursiv
Definition
Meist kursiv
Zitat
Meist kursiv
Variable
Meist in einer Schriftart mit fester Zeichenbreite dargestellt
Tastatur
Code
Überstrichen
text-decoration: overline
Kapitälchen
font-variant: small-caps
Tabelle 7.7: Effekte für die Zeichenformatierung
Diese Effekte können nur mit Browsern verwendet werden, die CSS unterstützen
287
7 Erstellen und Gestalten von Internetseiten
Bezeichnung
HTML-Tag/Attribut
Großbuchstaben
text-transform: uppercase
Initialen groß
text-transform: capitalize
Verborgen
visibility: hidden
Besonderheiten
FrontPage bietet auch den Effekt Blinkend an. Das dafür zuständige Tag wird allerdings nur von Netscape Navigator unterstützt. Blinkender Text wirkt nervend und unprofessionell. Daher sollten Sie, wenn möglich, darauf verzichten und besonders wichtige Informationen so darstellen, dass der Text von allein ins Auge fällt. Nicht von FrontPage unterstützt wird das Tag , (englisch: Teletype). Dieses Tag stellt damit ausgezeichneten Text in einer Schriftart mit fester Zeichenbreite dar und ist daher gut geeignet für Code oder kurze Texte, bei denen auch die Leerzeichen besonders gut erkennbar sein sollen. Die neueren Tags und leisten dies zwar auch, allerdings wird von allen Browsern unterstützt. Wenn Sie Ihre Seiten auch für sehr alte Browser optimieren, sollten Sie lieber auf zurückgreifen. Abbildung 7.21: Die Zeicheneffekte in der Normalansicht
288
Text Abbildung 7.22: Die Zeicheneffekte in der Vorschau
7.4.7
Spracheinstellungen und Rechtschreibung
Rechtschreibfehler sind peinlich. Glücklicherweise ist in FrontPage eine Rechtschreibprüfung integriert, die es ermöglicht, Text auf korrekte Schreibweisen überprüfen zu lassen. Um die Sprache einer Seite festzulegen, wählen Sie das Menü DATEI | EIGENSCHAFTEN, und wechseln zur Registerkarte SPRACHE. Dort können Sie aus einer Liste die gewünschte Sprache auswählen. Ob Sie den Text in dieser Sprache auch auf Rechtschreibung überprüfen können, ist davon abhängig, ob die Rechtschreibkomponenten für diese Sprache installiert sind. Die deutsche Standardversion von FrontPage enthält die Komponenten der Sprachen Deutsch, Englisch und Französisch. Rechtschreibprüfung Obwohl FrontPage ein Programm der Microsoft Office-Familie ist, bietet es leider nicht denselben Funktionsumfang zur Rechtschreib- und Grammatikprüfung wie etwa Microsoft Word. Die Grammatikprüfung fehlt hier ebenso wie die AutoKorrektur. Auch die Rechtschreibprüfung selbst bietet im Vergleich zu Word weniger Funktionen. So kann, anders als in Word, nur ein Benutzerwörterbuch verwendet werden. Auch die Prüfung mehrerer Sprachen in einer Seite ist in FrontPage nicht möglich. Wollen Sie diese Funktionen nutzen, ist es sinnvoll, den Text zunächst in ein Word-Dokument zu kopieren und dort zu kontrollieren. Die Rechtschreibprüfung während der Eingabe von Text zeigt falsch geschriebene Wörter durch eine rote Kringellinie unter dem Wort an. Klicken Sie mit der rechten Maustaste darauf, um Vorschläge anzeigen zu lassen. Ist das richtige Wort in der Liste enthalten, klicken Sie mit der linken Maustaste
289
7 Erstellen und Gestalten von Internetseiten
darauf. Wollen Sie ein Wort, das nicht im Wörterbuch von FrontPage enthalten ist, Ihrem Benutzerwörterbuch hinzufügen, weil Sie es oft verwenden, klicken Sie auf HINZUFÜGEN. Die Option ALLE IGNORIEREN unterdrückt die Anzeige eines Fehlers bei diesem Wort, ohne es dem Wörterbuch hinzuzufügen. Sie können die Rechtschreibprüfung auch für das gesamte Dokument manuell starten. Wählen Sie dazu das Menü EXTRAS | RECHTSCHREIBUNG oder verwenden Sie die Taste (F7). Abbildung 7.23: Die Rechtschreibprüfung
Die Optionen, die das Dialogfenster RECHTSCHREIBPRÜFUNG anbietet, sind 왘 Ignorieren
Ist das von der Rechtschreibprüfung nicht gefundene Wort korrekt, und wollen Sie es jetzt unangetastet lassen, wählen Sie diese Option. 왘 Alle ignorieren
Jedes Wort, das so geschrieben ist, wird von der Rechtschreibprüfung ignoriert. 왘 Ändern
Das Wort wird durch den Begriff im Feld ÄNDERN IN ersetzt. Die Liste der „Vorschläge“ zeigt die wahrscheinlichsten korrekten Wörter an. Klicken Sie auf das Wort, mit dem Sie den falschen Ausdruck ersetzen wollen, und klicken Sie auf ÄNDERN. 왘 Immer ändern
Wählen Sie stattdessen diese Option, um in diesem Dokument alle Wörter, die so geschrieben sind, ersetzen zu lassen.
290
Grafiken einfügen 왘 Hinzufügen
Kennt FrontPage das Wort nicht, sind Sie aber sicher, dass Sie es richtig geschrieben haben, können Sie das Wort Ihrem Benutzerwörterbuch hinzufügen, damit es auch in anderen Dokumenten als richtig erkannt wird. 왘 Vorschlagen
Im Feld ÄNDERN IN können Sie auch andere Wörter eintragen, die dann sofort auf Richtigkeit überprüft werden. Damit können Sie sich andere Schreibweisen vorschlagen lassen. Thesaurus Ein guter Sprachstil zeichnet sich unter anderem durch eine abwechslungsreiche Wortwahl aus. Fällt dem Autor partout kein besseres als das im vorhergehenden Satz benutzte Wort ein, hilft der Thesaurus. Klicken Sie mit der linken Maustaste auf das Wort, das Sie austauschen wollen, und drücken Sie (ª)+(F7) oder wählen Sie das Menü EXTRAS | THESAURUS. Der Thesaurus bietet Ihnen Synonyme, also alternative Wortvorschläge, aber auch Antonyme, das heißt gegensätzliche Begriffe zu diesem Wort an. Haben Sie in der Liste „Ersetzen durch Synonyme“ das geeignete Wort gefunden, klicken Sie auf ERSETZEN, um den neuen Begriff einzufügen. Sind Sie noch nicht fündig geworden, wählen Sie das Wort aus der Liste, das Ihren gesuchten Ausdruck am besten trifft, und klicken Sie auf NACHSCHLAGEN. Abbildung 7.24: Der Thesaurus
7.5
Grafiken einfügen
Ohne Bilder sind Internetseiten meist recht langweilig. Ist die Information einer Seite nicht auf Anhieb erkennbar, sinkt das Interesse der Besucher merklich. Kurze und prägnante Reize zu liefern, die als „Fokuszieher“ funk-
291
7 Erstellen und Gestalten von Internetseiten
tionieren, können in der Regel Bilder leisten. Aber auch sie sind nicht alles, denn auch die aussagekräftigste Abbildung kann echten Inhalt nicht ersetzen. Sparsam eingesetzte und gut platzierte Grafiken sind meist der Schlüssel zu einer professionell gestalteten Seite. Nicht zuletzt kosten Bilddateien Bandbreite und erhöhen schnell die Ladedauer einer Seite. Welche Dateiformate für das Web geeignet sind, wie Sie Grafiken selbst erstellen und für das Internet optimieren, beschreibt Kapitel 8 ausführlich.
7.5.1
Bilder einfügen
Grundsätzlich sollten Sie nur zwei Grafikdateiformate verwenden: GIF und JPEG. Diese beiden Formate können von allen Internetbrowsern auf allen Plattformen angezeigt werden. Zwar gibt es noch eine Reihe anderer Formate, diese werden aber nur von einzelnen Browsern unterstützt oder benötigen Zusatzprogramme, so genannte Plug-Ins, die den Funktionsumfang von Internetbrowsern erweitern. Verfügen Sie bereits über Bilddateien, kopieren Sie diese in den Ordner, der Ihre Grafikdateien beinhaltet. FrontPage nennt diese Ordner meist images. Sie können zwar jede beliebige Adresse verwenden, aber ein einheitlicher Speicherort für Grafiken hält ein Web übersichtlich. Fügen Sie Bilder aus einem Ordner außerhalb Ihres Webs ein, fordert Sie FrontPage beim Speichern der Seite auf, die Dateien in einen Ordner innerhalb Ihres Webs zu speichern. FrontPage passt dann die Verknüpfungen in der Seite so an, dass die Datei aus Ihrem Web aufgerufen wird. Wählen Sie das Menü EINFÜGEN | GRAFIK | AUS DATEI aus. Abbildung 7.25: Das Menü „Grafik aus Datei einfügen“
292
Grafiken einfügen
Sie können auf ein Bild dieselben Absatzformatierungen wie auf Text anwenden, also die Ausrichtung und den Einzug bestimmen. Wie Sie die Datei weiter bearbeiten und formatieren, zeigt Kapitel 8.
7.5.2
Die ClipArt-Gallery
ClipArt – zu Deutsch Schnipselkunst – ist der Begriff für kleine Grafiken, die zur Einbindung in Dokumente vorgesehen sind. Meist liegt ClipArt im Vektorformat vor. Vektorgrafiken basieren auf mathematischen Funktionen, die alle Informationen über so genannte Zeichenpfade definieren. Dadurch ist es unerheblich, wie groß oder klein die Grafik eingesetzt wird – die Qualität ist immer die gleiche, weil die Punkte des Bildes erst dann berechnet werden, wenn die Dimensionen festgelegt wurden.
ClipArt als Vektorgrafiken
Anders verhält es sich bei Bitmaps, also Grafiken, die Farbinformationen für jeden Bildpunkt speichern. Diese Dateien sind nicht nur wesentlich größer, sondern sie verlieren auch an Qualität, wenn die Größe des Bildes verändert wird, weil dann vom Computer Zwischenpunkte errechnet werden müssen oder bei einer Verkleinerung weggelassen werden. Andererseits ist eine fotografische Darstellung über das Vektorformat kaum darstellbar, weil die Bildinformationen über so viele kleine geometrische Strukturen definiert werden müssten, dass die Vorteile des Vektorformates aufgehoben wären.
ClipArt als Bitmaps
In Internetbrowsern können Vektorgrafiken (noch) nicht oder nur über ein Plug-In wie Shockwave Flash von Macromedia angezeigt werden, obwohl der Internet Explorer seit der Version 5.0 eine eigene Sprache zur Beschreibung von Vektorinformationen unterstützt. Diese beiden Technologien haben gute Chance, sich in den nächsten Jahren als Standards durchzusetzen. Kapitel 15 beschreibt Macromedia Flash. Microsoft nutzt die ClipArt-Gallery aber auch zur Organisation anderer Dateien, beispielweise Fotos, Klängen oder Videofilmen. Sie haben über die ClipArt-Gallery die Möglichkeit, auch Ihre eigenen Grafiken zu sortieren und für alle Office-Anwendungen bereitzustellen. Die ClipArt-Gallery Wählen Sie das Menü EINFÜGEN | GRAFIK | CLIPART, und es erscheint das Dialogfenster CLIP ART EINFÜGEN. In das Feld TEXT SUCHEN können Sie eines oder kommagetrennt mehrere Wörter eingeben, die zur Suche innerhalb der Kategorien verwendet wird. Je enger Sie das gewünschte Bild eingrenzen können, desto besser, denn die mitgelieferte Sammlung hat mittlerweile einen recht beachtlichen Umfang. Allein für das an mein Mittagessen angelehnte Suchwort „Fische“ wurden mir 250 Clips zur Auswahl angeboten. Wird dennoch nichts gefunden, reduzieren Sie die Anzahl der Suchbegriffe. Die mitgelieferten Clips sind im Übrigen nach deutschen und englischen Suchbegriffen geordnet.
293
7 Erstellen und Gestalten von Internetseiten Abbildung 7.26: Das Dialogfenster „Clip Art einfügen“
Abbildung 7.27: Vorschaubilder im Dialogfenster „Clip Art einfügen“
Bewegen Sie die Maus über eines der gefundenen Vorschaubilder (englisch: Thumbnails – Daumennägel). Im Infotext, der angezeigt wird, sehen Sie in alphabetischer Reihenfolge die verschiedenen Suchbegriffe der Datei, die Größe und den Dateityp. Bei den meisten der Grafiken handelt es sich um WMF-Dateien. Das Windows Meta File-Format ist ein gebräuchliches und kompaktes Vektorformat.
294
Grafiken einfügen
Klicken Sie mit der linken Maustaste auf den rechten Balken neben dem Bild oder mit der rechten Maustaste aufs Bild, dann auf VORSCHAU/EIGENSCHAFTEN, um die Optionen anzuzeigen. Obacht: Ein Mausklick mit der linken Taste fügt das Bild bereits ins Dokument an der aktuellen Cursorposition ein. Das ist ein bisschen unglücklich gelöst, denn meistens verdeckt das Dialogfenster die besagte Stelle im offenen Dokument. Abbildung 7.28: Vorschau/Eigenschaften
Angezeigt werden neben dem Namen des Clips auch u.a. die Informationen zu Typ, Auflösung, Größe und Pfad der Datei. Das Dialogfenster CLIP ART EINFÜGEN bietet unter anderem diese Möglichkeiten, mit dem Clip zu verfahren: 왘 Clip einfügen
Klicken Sie links auf den Thumbnail, um die Grafik an der Stelle im Dokument zu platzieren, an der sich die Einfügemarke befindet. Dabei wird die Grafik in die Seite eingefügt, ihr ursprüngliches Format aber noch beibehalten. Wie bereits erwähnt, eignen sich nur GIF und JPEG als Grafikformate für die Anzeige in Internetseiten. Wie Sie den Clip in ein anderes Format umwandeln, erläutert Kapitel 8. 왘 Clipvorschau
Im Clipvorschaufenster können Sie eine vergrößerte Vorschau der Datei betrachten. 왘 Schlüsselwörter bearbeiten
Verwenden Sie die Suchfunktion, kommen Stichwörter, in der deutschen Übersetzung von FrontPage 2002 „Schlüsselwörter“ genannt, zum Einsatz, die für jeden Clip festgelegt werden können. Hier können Sie diese Suchbegriffe verwalten, ändern und hinzufügen.
295
7 Erstellen und Gestalten von Internetseiten Abbildung 7.29: Die Liste der Schlüsselwörter für Clips
7.5.3
Clip Organizer
Unter der Überschrift „Siehe auch“ hinter dem Link „Clip Organizer“ verbirgt sich der Microsoft Clip Organizer. Im Grunde ist er nichts anderes als das FrontPage Dialogfenster CLIP ART EINFÜGEN mit einigen zusätzlichen Funktionen. Er ist hilfreich, wenn Sie sich einen Überblick über alle Clips, die verfügbar sind, verschaffen wollen. Clips verwalten, ändern und hinzufügen können Sie ebenfalls mit dem Clip Organizer. Abbildung 7.30: Der Microsoft Clip Organizer
296
Hyperlinks
Eigene Dateien als Clips importieren Der Clip Organizer unterstützt Sie bei der Katalogisierung Ihrer Dateien. Möchten Sie Ihre Grafiken, Sounds und Videos in die ClipArt-Gallery aufnehmen, wählen Sie im Clip Organizer unter DATEI | CLIPS ZUM ORGANIZER HINZUFÜGEN den Punkt MANUELL. Sie können nun die Datei, die Sie hinzufügen möchten, auf der Festplatte lokalisieren. Dabei können Sie auswählen, ob die Datei beim Import lediglich in den ClipArt-Ordner kopiert oder verschoben werden soll. Der Clip Organizer kann aber auch Verweise auf Dateien, die in einem beliebigen Ordner auf Ihrem Rechner oder Netzwerk enthalten sind, in die Liste aufnehmen. Fügen Sie diesen Clip in ein Dokument ein, bleibt die lokale Adresse erhalten. FrontPage zeigt Ihnen daraufhin die Eigenschaften des Clips an, die Sie nun bearbeiten können. Per DATEI | CLIPS ZUM ORGANIZER HINZUFÜGEN und VON SCANNER ODER KAMERA kann direkt aus den genannten Geräten in den Clip Organizer eingelesen werden. So kann zum Beispiel ohne weitere Software direkt und schnell ein aktuelles Foto auf der eigenen Internetseite veröffentlicht werden.
7.6
Hyperlinks
Hyperlinks, kurz auch Links genannt, sind die Verknüpfungen zu anderen Dateien, Internetadressen oder definierten Stellen in einem Dokument, die das eigentliche Konzept von HTML bestimmen. Ohne Hyperlinks könnten andere Dokumente und Informationen nicht referenziert werden. Wann auch immer Sie auf einer Seite auf einen Menüknopf klicken, wird der damit verbundene Hyperlink aufgerufen und die Seite, auf die er verweist, angezeigt. Dieser Abschnitt soll Ihnen zeigen, wie Sie Hyperlinks setzen und mit ihnen arbeiten.
7.6.1
Text mit Hyperlinks versehen
Sie können jeden beliebigen Text, einzelne Zeichen oder ganze Absätze, ja, eine komplette Seite mit einem Hyperlink versehen. Um den Text wird dann ein Hyperlink-Tag in den HTML-Code eingefügt. FrontPage nimmt Ihnen wie überall die manuelle Programmierung ab.
Verknüpfung anlegen
Öffnen Sie eine Seite, beispielsweise eine der Dateien von der Website zum Buch (www.frontpage.comzept.de) aus dem Bereich pro70 oder erstellen Sie eine neue Seite. Bevor Sie einen Hyperlink erstellen, sollten Sie die Datei speichern, damit FrontPage auch relative Links erzeugen kann. Relative Links sind Hyperlinks, die sich auf die Adresse der Datei beziehen, von der aus verlinkt werden soll.
297
7 Erstellen und Gestalten von Internetseiten
Falls Sie mit einer Datei von der Website arbeiten, kopieren Sie dazu den Inhalt des Bereiches pro70 auf die Festplatte, oder arbeiten Sie einfach an einem Web weiter, das Sie schon erstellt haben. Markieren Sie den Text, den Sie in einen Hyperlink umwandeln wollen. Wählen Sie EINFÜGEN | HYPERLINK oder drücken Sie (Strg)+(K). Das Dialogfenster HYPERLINK EINFÜGEN erscheint. Abbildung 7.31: Einfügen eines Hyperlinks
Richtiges Protokoll ausgeben
Geben Sie hier eine Datei an, die sich in einem beliebigen Ordner auf Ihrer Festplatte befindet, verwendet FrontPage das File-Protokoll. Sie erkennen das ausgewählte Protokoll an dem Präfix. Meist lautet dieses Präfix http://, (HyperText Transfer Protocol – das Standardprotokoll zur Adressierung von Hypertext-Dokumenten) oder, wie in unserem Beispiel file://. Verwenden Sie einen solchen Hyperlink und veröffentlichen Sie die Seiten später auf Ihrem Server, kann niemand die verknüpften Seiten aufrufen, da diese Dateien ja nur auf Ihrem lokalen System gespeichert waren. Umgehen Sie daher das File-Protokoll, indem Sie alle benötigten Dateien in den Ordner kopieren, in dem sich auch die derzeit bearbeitete Datei befindet, oder arbeiten Sie der Einfachheit halber mit FrontPage-Webs. Eine Anwendung des File-Protokolls auf Ihrem System kann aber dennoch interessant sein: Wollen Sie Programme auf Ihrer Festplatte oder in Ihrem Netzwerk über eine Webseite starten, können Sie einen Hyperlink dazu anlegen und mit einem Klick auf diese Datei aufrufen. Im Suchfenster für lokale Dateien können Sie daher auch Programme auswählen. Allerdings sind Browser aus Sicherheitsgründen meist so konfiguriert, dass Programme aus dem Browserfenster nicht direkt oder nur über Rückfrage gestartet werden. Der Weg über das Startmenü von Windows ist daher sicher einfacher. Links auf andere Websites Wollen Sie auf andere Angebote verlinken, geben Sie die gewünschte Adresse im Feld URL ein. Vergessen Sie nicht das Präfix http:// für das Protokoll HTTP. Eine schöne Funktion bietet der Button „Besuchte Webseiten“: Er zeigt eine Liste der Seiten, auf die Sie bereits mit dem Internet Explorer zuge-
298
Hyperlinks
griffen haben. Per Doppelklick wird der Link an der aktuellen Cursorposition eingefügt. Mit Hyperlinks auf andere Webangebote bewegt man sich im Moment in einem rechtlich noch nicht völlig gesicherten Raum. Nicht alle Webanbieter wollen, dass von jeder beliebigen Adresse auf deren Seiten verlinkt wird, weil die Inhalte der Seite, von der aus verlinkt wird, inkorrekt oder illegal sind. Einige unseriöse Websites versuchen, durch den geschickten Einsatz von Frames vorzugaukeln, fremde Angebote stammten von ihnen. Auch dieses Vorgehen sollte unterbleiben. Nicht zuletzt können auch Sie als Autor sich in Gefahr begeben, wenn Sie Hyperlinks auf illegale Angebote setzen. Überlegen Sie daher genau, welche Hyperlinks Sie einfügen, und stimmen Sie sich im Zweifelsfall mit dem Anbieter ab, auf dessen Website Sie verlinken wollen. So ersparen Sie sich viel Ärger.
7.6.2
E-Mails versenden
Sie können auch Hyperlinks erzeugen, die eine E-Mail an eine von Ihnen gewählte Adresse erzeugen. Klickt ein Besucher auf einen solchen Link, wird dessen E-Mail-Programm aufgerufen und eine neue E-Mail-Nachricht erstellt, die an die verknüpfte E-Mail-Adresse gerichtet ist. Sie können so Besuchern Ihrer Website den Versand einer E-Mail an Sie erleichtern. Dazu verwenden Sie das Mailto-Protokoll. Einen E-Mail-Hyperlink erstellen Sie über das E-Mail-Symbol in der Liste „Link zu“ auf der linken Seite des Dialogfensters. Abbildung 7.32: Bearbeiten eines Hyperlinks
Geben Sie im neuen Dialogfenster die gewünschte E-Mail-Adresse und bei Bedarf auch einen Betreff ein und bestätigen Sie mit OK. FrontPage fügt dann im Feld URL vor der E-Mail-Adresse das Präfix mailto: ein. In das Feld „Text anzeigen als:“ schreiben Sie den Text, der im Browser zu sehen und verlinkt sein soll, zum Beispiel einfach das Wort E-Mail. Falls Sie im Dokument Text markiert haben sollten, erscheint er automatisch in diesem Feld.
299
7 Erstellen und Gestalten von Internetseiten
Sie sollten es in jedem Fall nicht leer lassen, denn sonst erscheint der gesamte Rattenschwanz des E-Mail-Hyperlinks auf der Webseite. Ein Beispiel eines E-Mail-Hyperlinks lautet: mailto:[email protected] ?subject=Ich interessiere mich für Ihr Angebot
7.6.3 Verweise innerhalb von Seiten erzeugen
Textmarken
Hyperlinks müssen nicht zwangsläufig auf andere Dokumente verweisen. Sie können Hyperlinks auch innerhalb einer Seite einsetzen. In langen Seiten, die in Unterabschnitte aufgeteilt sind, kann es sinnvoll sein, am Kopf der Seite ein kleines Inhaltsverzeichnis zu erstellen, das auf weit unten liegende Bereiche verweist. Die Besucher müssen dann nur auf einen dieser Hyperlinks klicken, um zum verknüpften Teil der Seite zu gelangen, ohne bis weit nach unten scrollen zu müssen. Erfahrungsgemäß ist die Bereitschaft, eine Seite zu scrollen, eher gering, sodass Sie hiermit erreichen können, dass wichtige Bereiche einer Seite, die nicht am Anfang stehen, auch betrachtet werden. Dazu setzen Sie Textmarken ein. Eine Textmarke ist eine Adresse, die Sie beliebig in Seiten einfügen und über Hyperlinks ansprechen können. Diese Adressen werden auch Anker (englisch: Anchors) genannt. Eine Textmarke fügen Sie über das Menü EINFÜGEN | TEXTMARKE oder die Tastenkombination (Strg)+(G) ein. Setzen Sie dazu die Einfügemarke an die gewünschte Position im Dokument und markieren Sie den Text oder das Element, um ihm die Textmarke zuzuweisen. Ein Element kann hier eine Grafik, ein Java-Applet oder eine FrontPage-Komponente sein. Aber auch Hyperlinks selbst können als Textmarke definiert werden.
Abbildung 7.33: Einfügen einer Textmarke
Im Feld NAME DER TEXTMARKE geben Sie einen Namen ein. Halten Sie den Namen möglichst kurz und verwenden Sie keine Sonderzeichen, Umlaute oder Leerzeichen, um Probleme zu vermeiden. Klicken Sie auf OK, um die Textmarke zu erstellen. Textmarken werden in der Normalansicht mit einer unterbrochenen Unterstreichung gekennzeichnet. Im Webbrowser werden Textmarken nicht angezeigt.
300
Hyperlinks
Die Liste der WEITEREN TEXTMARKEN AUF DIESER SEITE zeigt alle Textmarken im Dokument an. Markieren Sie eine Textmarke und klicken Sie auf GEHE ZU, um in der Normalansicht zu dieser Textmarke zu springen. Damit erleichtern Sie sich die Bearbeitung langer Dokumente. Eine Textmarke löschen Sie, indem Sie die zu löschende Textmarke auswählen und dann auf LÖSCHEN klicken. Hyperlinks zu Textmarken Das Dialogfenster HYPERLINKS EINFÜGEN bietet die Option, auch Hyperlinks zu Textmarken zu erstellen. Im Bereich OPTIONAL können Sie die Liste der Textmarken im aktuellen Dokument anzeigen und auswählen. Wollen Sie zu einer Textmarke in einer anderen Datei springen, wählen Sie die Datei als Hyperlink aus und geben im Feld TEXTMARKE den Namen der Textmarke ein. Eine besondere Textmarke, die Sie nicht zu definieren brauchen, heißt top. Damit wird der obere Rand einer Seite bezeichnet, der oftmals nur mühsam wieder zu erreichen ist, wenn man auf einer Seite bis nach unten gescrollt hat. Ein Hyperlink zu dieser Textmarke rückt die Seite wieder an den Anfang zurück. Geben Sie also als Name der Textmarke bei der Erstellung top ein, um Ihren Besuchern einen einfachen Weg nach oben zu bahnen.
7.6.4
Hyperlinks an Grafiken
Grafiken weisen Sie Hyperlinks auf demselben Wege wie Textabschnitten zu. Markieren Sie eine Grafik und drücken Sie (Strg)+(K) oder wählen Sie EINFÜGEN | HYPERLINK, und geben Sie die URL an, auf die verwiesen werden soll. Sie können aber auch die Bildeigenschaften über das Kontextmenü oder mit dem Tastenkürzel (Alt)+(¢) aufrufen, das im Übrigen immer die Eigenschaften eines Elementes anzeigt. Es öffnet sich das Dialogfenster, das Sie bereits kennen.
7.6.5
Image Maps
Image Maps (Bildlandkarten) sind Definitionen von Bereichen eines Bildes, die Hyperlinks enthalten. Wie der Name bereits andeutet, eignen sich Image Maps hervorragend für Landkarten, die sensitive Bereiche für Orte oder Länder enthalten sollen. Klickt ein Benutzer auf einen der Bereiche, zum Beispiel einen Ort, wird die Seite aufgerufen, die Informationen zu diesem Ort enthält. Auch Navigationselemente oder Erklärungen von einzelnen Bestandteilen einer Maschine lassen sich mit Image Maps umsetzen.
Sensitive Bilder
301
7 Erstellen und Gestalten von Internetseiten
Hotspots Formen für Hotspots
Als Hotspot bezeichnet FrontPage die einzelnen sensitiven Bereiche einer Image Map. Um Hotspots festzulegen, klicken Sie auf die Grafik, sodass die Symbolleiste GRAFIK angezeigt wird. Falls dies nicht automatisch geschieht, müssen Sie einmal im Menü ANSICHT | SYMBOLLEISTEN den Menüpunkt GRAFIKEN anklicken, dann erscheint die Menüleiste jedes Mal, wenn eine Grafik markiert ist. Sie können diese Symbolleiste auch aufrufen, indem Sie mit der rechten Maustaste auf eine andere Symbolleiste oder in den Menübereich klicken und aus dem Kontextmenü die Option GRAFIK auswählen. Im rechten Bereich der Symbolleiste finden Sie die Symbole für die Hotspots.
Abbildung 7.34: Die Hotspot-Werkzeuge in der Symbolleiste Grafik
Hotspots können rechteckig, rund oder unregelmäßig definiert werden. Wählen Sie eine geeignete Form, die für Ihre Grafik am geeignetsten ist. Da unregelmäßige Hotspots relativ viel Speicherplatz benötigen, überlegen Sie, ob es wirklich notwendig ist, einen unregelmäßigen Bereich wirklich konturgenau nachzuzeichnen. Auch zu kleine Hotspots sind meist unbrauchbar, weil sie dann kaum noch mit der Maus vom Benutzer erfasst werden können. Hotspots sollten sich nicht überschneiden, da sonst nicht klar definiert ist, wohin der Hotspot nun verweisen soll. Klicken Sie auf eines der Hotspot-Werkzeuge und zeichnen Sie die gewünschte Form auf die Grafik. Ziehen Sie ein Quadrat oder einen Kreis mit der Maus auf, indem Sie am Startpunkt klicken und bei festgehaltener Maustaste zum gewünschten Endpunkt ziehen. Einen unregelmäßigen Hotspot definieren Sie, indem Sie auf den ersten Punkt klicken, dann auf den nächsten, die beide durch Linien verbunden werden. Die Erstellung des Hotspots schließen Sie ab, indem Sie doppelt klicken. Es öffnet sich das Dialogfenster HYPERLINK EINFÜGEN, wo Sie wie gewohnt alle Optionen des Hyperlinks für diesen Hotspot einstellen können. Jeder Eckpunkt des Hotspots wird nun mit einem schwarzen Quadrat gekennzeichnet. Bewegen Sie die Maus nach der Erstellung des Hotspots über eines der Quadrate, können Sie auch nachträglich seine Form ändern oder den gesamten Hotspot verschieben. Ist eine Abbildung zu detailliert oder die Image-Map zu unübersichtlich, und stört Sie deshalb die Grafik, können Sie diese auch ausblenden und nur die Hotspots der Seite anzeigen lassen. Aktivieren Sie dazu das HotspotWerkzeug HOTSPOTS MARKIEREN.
302
Hyperlinks Abbildung 7.35: Eine Image-Map
7.6.6
Rollovers
Ob Beethoven gut Englisch sprach, ist nicht gewiss. Sie als Webautor und Benutzer von FrontPage müssen es, da sehr viele der im Internet üblichen Begriffe keine deutsche Entsprechung haben. Zwar könnte man sich für alle englischen Ausdrücke ein passendes Wort ausdenken, aber da das Internet – zumindest heute noch – englischsprachig dominiert ist, haben sich eine große Anzahl von Wörtern auch im Deutschen eingebürgert. Rollover ist ein solcher Begriff und heißt „darüber rollen“. Gemeint ist die Bewegung des Mauszeigers über einen Hyperlink. In den ersten Jahren des Internets wurden Hyperlinks dadurch gekennzeichnet, dass Texte, die einen Hyperlink enthielten, unterstrichen dargestellt wurden. Grafiken mit Hyperlinks wurden durch einen dünnen Farbrahmen markiert. Da Hyperlinks den Internetnutzern heute inzwischen sehr vertraut sind, wird immer öfter ein Textlink lediglich andersfarbig angezeigt. FrontPage ermöglicht es, Hyperlinks bestimmte Rollover-Effekte zuzuordnen, die den Hyperlink dann verändern, wenn die Maus darüber bewegt wird. Eine solche Funktion setzt voraus, dass der Browser Dynamic HTML unterstützt, eine Erweiterung von HTML, die eine Manipulation des Seiteninhaltes im Browser erlaubt. Derzeit sind nur Internet Explorer und Netscape Navigator in ihren Versionen 4.0 und höher dazu fähig.
Effekte für neue Browser
Haben Sie die Seitenoptionen so eingestellt, dass auch ältere Browser unterstützt werden, können Sie diese Funktion nicht aktivieren.
303
7 Erstellen und Gestalten von Internetseiten
Wählen Sie das Menü DATEI | EIGENSCHAFTEN, um das Dialogfenster SEITENEIGENSCHAFTEN anzuzeigen. Aktivieren Sie in der Registerkarte HINTERGRUND das Feld „Hyperlink-Rollovereffekte aktivieren“. Klicken Sie nun auf ROLLOVERFORMAT. Abbildung 7.36: Optionen für das Rollover-Format
Hier können Sie die Einstellungen für die Formatierung des Textes bei einem Rollover festlegen. Die Zeicheneigenschaften können sehr flexibel eingestellt werden. Welche Bedeutung jede der Optionen hat, finden Sie in Kapitel 13. Beachten Sie, dass Sie die Effekte global für alle Hyperlinks auf der bearbeiteten Seite festlegen und nur in der Browservorschau betrachten können. Die Normalansicht von FrontPage unterstützt keine Vorschau von Effekten.
7.6.7
Hinter den Kulissen
Damit Sie verstehen, was FrontPage tut, wenn Sie Hyperlinks und Textmarken einfügen, wollen wir die HTML-Tags dafür kurz erläutern. Das HTML-Tag für Hyperlinks und Textmarken heißt . Ein Hyperlink wird über das Attribut href festgelegt. Gültige Werte für dieses Attribut sind alle URLs, andere Dateien oder Textmarken. Eine Datei, die im selben Ordner liegt, wird wie folgt aufgerufen: Hyperlink
Auch eine Grafik kann über einen Hyperlink aufgerufen werden. Sie wird dann im Browserfenster ohne HTML-Seite angezeigt:
304
Hyperlinks
Bild
Stellen Sie Dateien zum Download bereit, beispielsweise Anwendungen, Archive oder PDF-Dokumente, können diese auch über einen Hyperlink aufgerufen werden. Die Einstellungen des Browsers bestimmen dann darüber, ob die Datei sofort geöffnet oder auf der Festplatte des Benutzers gespeichert wird. Datei
Verweisen Sie auf eine andere Website, ist die Syntax dieselbe. Geben Sie stattdessen als Wert die URL der Website an. Weitere Protokolle Neben dem http-Protokoll gibt es eine Reihe weiterer Protokolle, die für spezifische Datenübertragungen konzipiert sind. Das File Transfer Protocol, kurz FTP, ist zur Übertragung von Dateien am besten geeignet. Wollen Sie Dateien wie Programme (exe-Dateien), Dokumente, die ein spezielles Programm zur Anzeige voraussetzen (Word- oder PDF-Dateien) oder Archive (wie ZIP oder ARJ) von einem FTP-Server zum Download bereitstellen, verwenden Sie das FTP-Protokoll. Voraussetzung ist ein FTP-Server, der dieses Protokoll unterstützt. Ein FTP-Hyperlink hat folgende Struktur: ftp://ftpserver/verzeichnis/datei
Usenet News werden mit dem Network News Transfer Protocol, kurz NNTP, übertragen. Über NNTP können Newsgroups adressiert werden, die themengebundene Diskussionsforen beinhalten. In Newsgroups können Internetnutzer miteinander in Beiträgen Informationen austauschen, Beiträge veröffentlichen, die von allen Newsgroup-Teilnehmern betrachtet werden können und auf diese Beiträge antworten. Ein News-Hyperlink auf die öffentliche deutschsprachige FrontPage-Newsgroup von Microsoft lautet: news://msnews.microsoft.com/microsoft.public.de.FrontPage/
Telnet erlaubt es Internetnutzern, sich mit anderen Rechnern zu verbinden, dort einzuloggen und kommandozeilenbasiert verschiedene Operationen und Programme auszuführen. Telnet wird heute zur Recherche und Fernsteuerung besonders von Unix-Systemen eingesetzt. Voraussetzung ist dabei ein eingerichtetes Benutzerkonto auf dem Zielrechner und das Programm Telnet selbst, das auf dem System installiert sein muss. Die meisten Betriebssysteme liefern ein solches Programm mit. Ein Telnet-Hyperlink hat folgende Struktur: telnet:servername
Die Protokolle gopher und wais dienten zu Beginn des Internets vor allem der einfachen Suche auf Großrechnern der Universitäten. Mittlerweile sind aber die Suchmaschinen im World Wide Web viel flexibler und verfügen über weitaus größere Datenstämme, dass die beiden Protokolle ihre Daseinsberechtigung größtenteils verloren haben.
305
7 Erstellen und Gestalten von Internetseiten
Textmarken Auch Textmarken werden über das Tag definiert. Das Attribut hierfür lautet name. Als Wert können Sie jeden beliebigen Text einsetzen, allerdings sollten Sie auf verbotene Zeichen verzichten. Eine Textmarke sieht im HTML-Code wie folgt aus: Textmarke
Auch ein Hyperlink kann gleichzeitig eine Textmarke enthalten: Hyperlink
Wollen Sie eine Textmarke im selben Dokument aufrufen, setzen sie als Adressattribut ein #, gefolgt vom Namen der Textmarke, ein: Hyperlink zur Textmarke
Wollen Sie eine Textmarke in einem anderen Dokument aufrufen, geben Sie den Namen der Zieldatei ein und hängen den Namen der Textmarke einfach an die URL an: Hyperlink zur Textmarke in einer anderen Datei
Die Textmarke top ist reserviert. Sie steht für den oberen Seitenrand. Ein Link auf diese Textmarke verschiebt den Browserinhalt zurück nach oben. Das Tag dafür sieht wie folgt aus: Zurück zum Anfang
7.7
Seitenvorlagen
FrontPage liefert nicht nur Vorlagen für FrontPage-Webs mit, sondern auch Grundstrukturen für einzelne Seiten. Diese Vorlagen setzen Sie beim Erstellen einer neuen Seite ein. Anders als bei Word können Sie Dokumentvorlagen nicht mehr nachträglich auf ein Dokument anwenden, da sie keine Definitionen für die Formatierung der Seitenelemente enthalten, sondern lediglich ein Schema für das Layout einer Seite vorgeben. Neben der Standardvorlage bietet FrontPage eine große Anzahl anderer Vorlagen, die Ihnen den Einstieg in die Seitengestaltung erleichtern. Sie können hier Ideen sammeln und vor allem das Aussehen Ihrer Seiten vereinheitlichen. FrontPage unterscheidet drei verschiedene Kategorien von Dokumentvorlagen: 왘 Allgemeine Seiten
Diese Gruppe umfasst Seiten, die Layoutvorschläge enthalten oder mit Funktionen ausgestattet sind, die Sie nicht manuell einfügen müssen.
306
Seitenvorlagen 왘 Frameseiten
Frames sind Rahmen, die mehrere HTML-Seiten in einem Browserfenster anzeigen. Sie eignen sich, um bestimmte Seitenbereiche, beispielsweise die Navigationsleiste oder eine Seite mit Werbebannern, die immer eingeblendet bleiben sollen, im Internetbrowser anzuzeigen und nur den Teil wechseln zu lassen, der die Inhalte darstellt. Frames werden in Kapitel 10 vorgestellt. 왘 Stylesheets
Stylesheets, oder Cascading Style Sheets, wie sie vollständig heißen, sind globale Formatierungsdefinitionen, die es ermöglichen, für jedes HTMLTag individuelle Eigenschaften festzulegen. Diese Technologie wird nur von einigen Browsern unterstützt, ist aber eine viel versprechende Technologie, die sich als Standard durchgesetzt hat. Sie erfahren in Kapitel 11 mehr über CSS.
7.7.1
Vorlagen auswählen
Um eine neue Seite auf der Basis einer anderen als der Standardvorlage (leere Seite) zu erstellen, rufen Sie das Menü DATEI | NEU | SEITE ODER WEB auf und klicken im nächsten Dialogfenster auf „Seitenvorlagen“. Abbildung 7.37: Die Seitenvorlagen
Die Registerkarte ALLGEMEIN bietet Ihnen eine Vielzahl von Vorlagen. Die Vorschau liefert eine Miniaturansicht. Wählen Sie eine aus und klicken Sie auf OK, um die Seite nach diesem Vorbild zu erstellen. Speichern Sie dann die Seite.
307
7 Erstellen und Gestalten von Internetseiten
Sind in der Vorlage Grafiken enthalten, bleiben diese im Vorlagenverzeichnis von FrontPage gespeichert. Sie dienen auch nur als Platzhalter und sollten von Ihnen vor der Veröffentlichung gegen eigene Bilder ausgetauscht werden. Vorlagen mit Spalten Ein Großteil der Dokumentvorlagen definiert Tabellen in der Seite. Tabellen sind ein mächtiges Werkzeug für das Layout von HTML-Seiten. Kapitel 10 beschreibt die Nutzung von Tabellen genau. Vorlagen mit Funktionen In Kapitel 6 haben wir die Funktionen der FrontPage-Webs erläutert. Dort haben Sie erfahren, dass mit Hilfe der FrontPage-Komponenten Sonderfunktionen ausgeführt werden können. Die Webassistenten und -vorlagen unterstützen Sie zwar bei der Erstellung solcher Seiten, aber es ist durchaus möglich, auch im Nachhinein Seiten zu einem Web hinzuzufügen, die diese Funktionen erfüllen. Tabelle 7.8 erläutert die Funktionen dieser Seiten. Tabelle 7.8: Vorlagen für spezielle Anwendungen
308
Vorlage
Funktion
Benutzerregistrierung
Verwenden Sie ein geschütztes Web, müssen sich Benutzer anmelden, um auf die Seiten zugreifen zu können. Dazu müssen Benutzername und ein Passwort eingegeben werden. Diese Vorlage enthält ein Formular, das diese Daten erfasst und an den Server weiterleitet. Kapitel 6 erläutert die Zugriffsberechtigungen in FrontPage-Webs.
Bestätigungsformular
Haben Besucher Ihrer Seiten ein Formular ausgefüllt und Daten an den Server gesandt, kann eine Bestätigungsseite eingeblendet werden, in der die Resultate des Formulars angezeigt werden. Dies sorgt für Transparenz und hilft Besuchern, fehlerhafte Eingaben in Formularen zu korrigieren.
Feedbackformular
Das Feedbackformular erleichtert Ihren Besuchern, Kontakt zu Ihnen aufzunehmen. Sie können Felder für alle die Informationen angeben, die Sie erhalten möchten.
FormularseitenAssistent
Der Assistent unterstützt Sie bei der Erstellung eines Formulars und der Vorbereitung der Auswertung. Kapitel 10 erläutert Formulare.
Seitenvorlagen
Vorlage
Funktion
Gästebuch
Diese sehr beliebte Funktion dient der schnellen Rückmeldung zu Seiteninhalten und unterstützt den Community-Gedanken. Ohne die Identität preisgeben zu müssen, können Besucher ihre Meinung abgeben, die dann im Gästebuch erscheint. Nutzen Sie diese Funktion, um zu erfahren, wer was über Ihre Website denkt.
Häufig gestellte Fragen Meist tauchen beim Kundensupport immer wieder die gleichen Fragen auf. Schnelle Hilfe für die wichtigsten Fragen und eine Entlastung Ihrer Mitarbeiter bringt oftmals eine Seite der am häufigsten gestellten Fragen (englisch: Frequently Asked Questions, kurz FAQ). Diese Vorlage hilft Ihnen bei der Erstellung und Strukturierung einer solchen Seite. Inhaltsverzeichnis
Das Inhaltsverzeichnis wird mit Hilfe einer FrontPage-Komponente erstellt, die das gesamte Web durchsucht und die Seiten in einer Liste zusammenstellt und per Hyperlink abrufbar macht. Kapitel 12 erläutert die Komponenten.
Literaturverzeichnis
Literaturverzeichnisse sind einheitlichen Regeln unterworfen, die Sie einhalten sollten. Diese Vorlage enthält eine korrekte Literaturliste, die Sie mit Ihren Angaben ergänzen können.
Suchseite
Gerade umfangreiche Websites bedürfen einer ausgeklügelten Navigation. Doch selbst sie kann nicht alle Inhalte so darstellen, dass sie intuitiv gefunden werden. Eine Suchseite erleichtert Ihren Besuchern das Auffinden von Informationen, ohne dass Sie einen speziellen Index-Server betreiben müssten. Die Suchkomponente wird in Kapitel 12 erklärt.
7.7.2
Neu aus vorhandener Seite
Haben Sie selbst eine Seite erstellt, die Sie auch für andere Seiten nutzen möchten, können Sie diese Seite entweder wieder öffnen, die Inhalte entfernen, dann unter einem anderen Namen speichern und wieder füllen. – oder gleich als Vorlage speichern, die Ihnen dann im Vorlagenfenster zur Verfügung steht. Dazu muss sie in einem speziellen Format in den Vorlagenordner von FrontPage gespeichert werden. Das geht über das Menü DATEI | SPEICHERN UNTER. Hier wählen Sie als Dateiformat FRONTPAGE-VORLAGE. Beachten Sie, dass ein Template nicht aus einer Seite, sondern einem Ordner mit dem Suffix .tem besteht und verschiedene Dateien enthält, so die eigentlichen HTML-Seiten, Grafiken, Stylesheets und Informationsdateien, die FrontPage selbst anlegt.
309
7 Erstellen und Gestalten von Internetseiten
Geben Sie den gewünschten Vorlagennamen ein und klicken Sie auf SPEICHERN. Der Ordner, den Sie hier angeben, ist unerheblich. FrontPage speichert Vorlagen automatisch in Ihrem Vorlagenverzeichnis. Abbildung 7.38: Optionen für eigene Vorlagen
Geben Sie im Dialogfenster ALS VORLAGE SPEICHERN den Titel ein, der im Vorlagenfenster angezeigt werden soll. Sie können auch eine Beschreibung angeben. Der Name der Vorlage sollte nicht länger als acht Zeichen sein. Er wird für den Vorlagenordner verwendet. Öffnen Sie das nächste Mal das Dialogfenster NEUE SEITE ODER NEUES WEB, steht Ihre neue Vorlage zur Verfügung. Sehr bequem und einfach ist es auch, aus besagtem Dialogfenster unter der Überschrift „Neu aus vorhandener Seite“ den Punkt „Seite wählen “ zu verwenden. Hier wird Ihnen die Gefahr genommen, versehentlich die bereits fertige Seite, die Sie als Vorlage benutzen möchten, beim Speichern zu überschreiben.
7.8
Websites für alle
Das folgende Kapitel sollten Sie sehr genau studieren, denn obwohl HTML ein einfaches Textformat ist, das auf allen Plattformen angezeigt werden kann, steckt der Teufel im Detail. Und es gibt eine ganze Reihe von Details zu beachten, wenn es Ihr Ziel ist, dass die von Ihnen entwickelten Seiten bei allen Betrachtern so ankommen, wie Sie es sich vorgestellt haben. Schließlich ist jede Systemkonfiguration anders, und bei unterschiedlichen Betriebssystemen, Hardwarekonfigurationen, Browsern und Anbindungen müssen viele Zugeständnisse gemacht werden. Es ist leider oftmals harte Arbeit, bis eine Variante gefunden ist, die immer befriedigend aussieht.
7.8.1
Plattformübergreifende Seitenentwicklung
Sie entwickeln mit FrontPage auf einem Windows-Betriebssystem, Ihr Webserver läuft unter Unix, und die Besucher Ihrer Website verwenden einen Mac, in Zukunft wird es mehr BeOS-Nutzer geben, und selbst heute findet man noch so manchen Amiga- oder OS/2-Anhänger im Netz. Dann gibt es
310
Websites für alle
noch die Schar von WebTV-Benutzern, selbst Palmtops und Handys sind mittlerweile Internet-ready, das heißt, sie können – in beschränktem Maße – Webinhalte anzeigen. Wenn Sie Internetseiten entwickeln, sollten Sie alle diese Betriebssysteme im Auge behalten. Denken Sie zunächst daran, die Groß- und Kleinschreibung der Dateinamen zu beachten. Während unter Windows- und Macintosh-Betriebssystemen und -Servern bei Dateinamen nicht zwischen Groß- und Kleinschreibung unterschieden wird, gibt es diese Unterscheidung auf Unix-Systemen.
Groß- und Kleinschreibung beachten
Das Gros der Webserver läuft unter Unix und seinen Derivaten. Scriptsprachen wie JavaScript sind ebenfalls case-sensitive, das heißt Groß- und Kleinschreibung wird dort ebenfalls unterschieden. Die Folge sind Fehlermeldungen, oder Daten können nicht gefunden werden. Daher sollten Sie grundsätzlich alle Dateinamen einheitlich wählen. Am besten, Sie verwenden durchgängig die Kleinschreibung. Das erspart Ihnen den Griff zur Umschalttaste und verhindert Fehler. Weitere Besonderheiten für die Namensvergabe von Ordnern und Seiten betreffen die Sonderzeichen. Zwar entscheidet immer das Betriebssystem Ihres Servers über die Möglichkeiten, die Sie für die Benennung von Dateien haben, aber es gibt bestimmte Regeln, die Sie generell einhalten sollten, um Schwierigkeiten aus dem Weg zu gehen.
Sonderzeichen vermeiden
Glücklicherweise kann man die Zeit, in der die Regel 8.3 galt, als fast überstanden betrachten, denn nur die wenigsten der Rechner, die sich mit dem Internet verbinden, laufen unter Windows 3.11 oder DOS. Aber es gibt sie noch, und schon das ist Grund genug, sie zu berücksichtigen. Außerdem läuft auch ein Dateitransfer zwischen Apple Mac und Windows 98 oder NT problemfreier, wenn die Namenskonvention „8+3“ Zeichen eingehalten wird. Schauen Sie sich die Übersicht der erlaubten Namen und Zeichen unter den gebräuchlichsten Betriebssystemen genauer an: Betriebssystem
Max. Länge der Dateinamen
Verbotene Zeichen
DOS, Windows 3.x
8+3
\ / : * ? ” < > | ; Leerzeichen
MacOS (bis Version 9)
32
,
Unix, Linux etc.
256
!&”*
Windows 95, 98
256
\/:*?”<>|
Windows NT, 2000
256
\/:*?”<>|
Am sichersten fahren Sie, wenn Sie folgende Regeln beachten: 왘 Keine Sonderzeichen (! ? & %, Leerzeichen etc.) 왘 Keine Umlaute (ä ö ü ß é à etc.) 왘 Durchgängige Kleinschreibung (zur Vereinheitlichung)
311
7 Erstellen und Gestalten von Internetseiten
7.8.2
Schriftarten
Windows liefert eine Reihe von Schriftarten mit, die Sie verwenden können. Auch bei der Installation von Microsoft Office werden Schriftarten Ihrem System hinzugefügt, und Sie können aus einer schier unendlichen Vielzahl von Schriftarten auf CD-ROMs oder im Internet zurückgreifen. Es ist aber nicht davon auszugehen, dass alle Schriftarten, die Sie verwenden, auch bei den Besuchern Ihrer Website installiert sind. Hinzu kommt, dass verschiedene Betriebssysteme auch unterschiedliche Typen von Schriftarten verwenden und dass manche Schriftarten auf einzelnen Plattformen andere Namen haben. Nicht alle Benutzer besitzen alle Schriften
Wenn Sie also in Ihren Seiten besondere Schriftarten einsetzen, müssen Sie davon ausgehen, dass Ihre Besucher diese mit größter Wahrscheinlichkeit nicht sehen können. Der Internetbrowser ersetzt nicht vorhandene Schriftarten dann mit den Standardschriften. Da sich Laufweite (die Breite jedes Buchstabens), Zeichenhöhe und andere Eigenschaften jeder Schriftart unterscheiden, kann in einem solchen Fall das Layout auf Ihrem Rechner anders ausfallen als auf den Systemen Ihrer Besucher. Dynamic Fonts Einen Ausweg bietet der Internetbrowser Netscape Navigator ab der Version 4.0. Die Firma Bitstream, ein renommierter Schriftenverlag, entwickelte im Jahre 1997 die TrueDoc-Technologie, welche die Einbettung von Schriften in Dokumente erlaubt. Der Netscape Navigator war der erste Internetbrowser, der diese Technologie, die für das Internet Dynamic Fonts (dynamische Schriften) genannt wird, serienmäßig unterstützte. Spezielle Schriftendateien (Portable Font Resources, kurz PFR) können mit einer Seite verknüpft und wie Grafiken heruntergeladen werden, ohne dass die Schrift auf dem Zielsystem installiert werden muss. Damit wird es möglich, jede beliebige Schriftart, für die der Autor eine Lizenz besitzt und die Einbettung in Dokumente erlaubt, mit den Seiten mitzuliefern. Mehrere Softwareprodukte zur Erstellung dieses Formates sind erhältlich. Quellen entnehmen Sie bitte dem Anhang. Neben urheberrechtlichen Unsicherheiten hat auch die Tatsache, dass nur der Netscape Navigator diese Technologie unterstützt, dazu beigetragen, dass TrueDoc nur selten verwendet wird. Zwar bietet Bitstream mittlerweile ein ActiveX-Control für den Internet Explorer an, aber Sicherheitslücken in ActiveX halten viele Benutzer davon ab, diese Programme auf ihren Rechnern zu installieren.
Embeddable OpenType
312
Aber auch der Internet Explorer bietet seit der Version 4.0 eine eigene Möglichkeit, Dynamic Fonts zu verwenden. Das von Microsoft und Adobe entwickelte OpenType-Format, das in Windows 2000 standardmäßig unterstützt wird, ist im Internet Explorer in einer speziellen Variante, dem Embeddable OpenType-Format, kurz EOT, implementiert. Allerdings war bis zur Drucklegung dieses Buches keine offizielle Software zur Erstellung dieser Schriftdateien verfügbar. Auch EOT ist wegen des mangelnden Schutzes
Websites für alle
der Urheberrechte an Schriften umstritten und wird nur von Internet Explorer unterstützt, weshalb sich auch dieses Format nicht durchsetzen konnte. Dennoch ist die Verwendung von Dynamic Fonts gerade beim Einsatz von Cascading Style Sheets sehr interessant und unkompliziert. Kapitel 11 geht näher darauf ein. Die Erstellung von Dynamic Fonts wird in Kapitel 15 erläutert. Schriftarten auf allen Plattformen Eine Reihe von Schriftarten sind allerdings auf allen Systemen vorhanden. So haben Sie zumindest die Möglichkeit auszuwählen, ob Proportionalschriftarten mit oder ohne Serifen oder Schriften mit festen Zeichenbreiten verwendet werden sollen. Die Namen von ähnlichen Schriften, die auf allen Systemen standardmäßig installiert sind, zeigt Tabelle 7.3. Wollen Sie sichergehen, dass der Text wie gewünscht angezeigt wird, verwenden Sie diese Namen für Schriftarten. Wie Sie Schriftarten in HTML-Seiten festlegen, erläutert Kapitel 7. Typ
Namen der Schriften
Serifenschriften
Times New Roman, Times
Serifenlose Schriften
Arial, Helvetica
Schriften mit festen Zeichenbreiten
Courier New, Courier
Tabelle 7.9: Schriftarten auf den meisten Plattformen
Sonderzeichen HTML-Seiten basieren auf der ASCII-Codierung. ASCII ist die Abkürzung für American Standard Code for Information Interchange, ein bereits sehr alter Standard für Zeichencodierung auf der Basis eines 7-Bit-Schlüssels. Dieser Schlüssel legt die Standardzeichen in einer numerischen Reihenfolge fest. Allerdings ist die Anzahl der damit definierbaren Zeichen aufgrund des 7Bit-Schlüssels auf 127 begrenzt. Dies ist für die englische Sprache ausreichend. Allerdings können so keine landesspezifischen Zeichen wie Umlaute und nur eine begrenzte Zahl von Sonderzeichen definiert werden, weshalb der ASCII-Code auf einen 8-Bit-Schlüssel erweitert wurde. Dieser derzeitige Standard umfasst 256 Zeichen, so auch die wichtigsten Sonderzeichen und Umlaute. Während die 127 Grundzeichen im HTML-Code auch so geschrieben werden, müssen die Zeichen mit einem ASCII-Code über 128 über einen bestimmten Schlüssel definiert werden. So erscheint der Buchstabe Ü im HTML-Code als Ü. FrontPage bietet im Menü EINFÜGEN | SONDERZEICHEN eine Zeichentabelle, über die Sie Sonderzeichen einfügen können, ohne die numerische Tastatur verwenden zu müssen.
313
7 Erstellen und Gestalten von Internetseiten
Microsoft Office setzt erstmalig die Unicode-Codierung ein, die etwa 40.000 Zeichen umfasst und damit erlaubt, alle internationale Zeichen in einem einzigen Zeichensatz zu definieren. Dies ist eine wirkliche Verbesserung, setzt aber eine spezielle Schriftart voraus, die derzeit nur ab Office 2000 und Windows 2000 installiert wird. Diese Schriftart heißt Arial MS Unicode und ist etwa 16 Megabyte groß. Seitencodierung
Die Standardseitencodierung ist abhängig von der Sprache Ihres Betriebssystems, die in der Regel Deutsch sein wird. Eine Einstellung der Seitencodierung ist allerdings für jede Seite über das Menü DATEI | EINSTELLUNGEN möglich. In der Registerkarte SPRACHE können Sie die Seitensprache und Seitencodierung festlegen. Als Standard für die Seitencodierung wird hier „US/Westeuropäisch“ festgelegt. FrontPage setzt aber nicht die ISO-8859-1-Codierung ein, die von der International Standards Organisation (ISO) festgelegt wurde, sondern eine Windows-Codierung. Sie erkennen sie am HTML-Tag <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
im Head jeder Seite. Benutzer anderer Betriebssysteme haben hiermit jedoch Schwierigkeiten. Damit auf allen Plattformen Sonderzeichen wie das Copyright-Zeichen oder landesspezifische Zeichen wie Umlaute korrekt dargestellt werden, muss daher jedes dieser Zeichen dementsprechend umgewandelt werden. Wollen Sie für alle Plattformen funktionierende Seiten erstellen, lässt Sie FrontPage hier im Stich. Eine Umwandlung in ASCII-Code wird von FrontPage nicht durchgeführt. Sollten Sie im HTML-Code manuell die korrekten Zeichenumschreibungen eingeben, geht FrontPage sogar noch weiter und wandelt diese Zeichen wieder gemäß der Seitencodierung um. Microsoft begründet dieses Vorgehen damit, dass die Seiten sonst größer würden, was zwar stimmt, beispielsweise MacOS-Nutzer aber erhalten auf diesem Wege einen unleserlichen Zeichensalat.
7.8.3
Browserkompatibilität
Was Ihnen bei der Anpassung Ihrer Seiten und bei der Programmierung von HTML von den Herstellern der Internetbrowser für Steine in den Weg gelegt werden, ist eine echte Zumutung: Die Internet Explorer ab Version 3 unter Windows 95, 98, NT und 2000 können zum Beispiel mit ActiveX-Controls umgehen, nicht aber der Internet Explorer 4.5, den es nur für MacOS gibt. Netscape Navigator 3.0 beherrscht keine Cascading Style Sheets (CSS), dafür ist in dessen JavaScript-Implementierung das Image-Objekt vorhanden, das der Internet Explorer 3 nicht kennt und daher nicht mit Rollovers umgehen kann, dafür aber CSS beherrscht. Opera verfügt serienmäßig über keine Java Virtual Machine, setzt aber HTML 3.2 sehr genau um, was man vom Netscape Navigator wie-
314
Websites für alle
derum nicht behaupten kann, der seit der Version 2.0 Java-Applets ausführen kann. Die Varianten von Dynamic HTML unter Netscape Navigator und Internet Explorer unterscheiden sich massiv, und HTML 4.0 wird von beiden nur teilweise umgesetzt. Diese Liste könnte seitenweise so fortgesetzt werden. Von der Hand voll ernst zu nehmender Browser, die auf dem Markt sind, gibt es jeweils drei bis vier Major Versions (das sind die Ziffern vor dem Punkt, also Versionen 1.0, 2.0, 3.0 etc.), und monatlich kommt irgendeine neue Version auf den Markt. Die meisten Computer-Zeitschriften bieten auf den Heft-CDs aktuelle Versionen an. Auch die Entwicklung der Benutzung der Browser ist so wechselhaft, dass es nicht sinnvoll wäre, Ihnen hier eine Statistik anzubieten, die zum Zeitpunkt der Drucklegung schon wieder überholt wäre. Zumindest für den Zeitraum von Herbst 1999 bis Sommer des Jahres 2000 ist davon auszugehen, dass sich die Benutzerstruktur wie folgt darstellt: Etwa 40% der Internetnutzer verwenden Netscape Navigator 4.0 und höher, etwa ebenso viele Internet Explorer 4.0 und höher, etwa 10% sind mit einem der beiden Browser in früheren Versionen unterwegs und die restlichen 10% verteilen sich auf andere Browser, allen voran Opera. WebTV ist in den USA stärker vertreten als in Deutschland, taucht aber so gut wie nie in Statistiken auf. Seit Online-Dienste wie AOL, T-Online und CompuServe keine proprietären Browser mehr verwenden, können zumindest diese vernachlässigt werden. Was also ist zu tun, um die Seiten für die meisten Benutzer zu optimieren? Legen Sie sich die gebräuchlichsten Browser zu, und testen Sie am besten gründlich, wie die Seiten dargestellt werden. Arbeiten Sie unter Windows, sollten Sie zumindest Internet Explorer (im Kompatibilitätsmodus), Netscape Navigator 3, 4 und 5 sowie Opera, ggf. sogar HotJava von Sun installiert haben. Auf dem Mac sollten Netscape Navigator 3, 4 und 5 sowie Internet Explorer 4.5 getestet werden, und unter Unix reicht ein Test mit dem Netscape Navigator. Sicherlich haben Sie nicht einen Rechner mit jedem Betriebssystem der Welt, aber vielleicht kennen Sie jemanden, der sich Ihre Seiten mit einem anderen System anschauen kann, bevor Sie online gehen und wütende E-Mails empfangen, weil die Rechner der Besucher bei der Betrachtung Ihrer Seiten abstürzen. Dies kann auch nur dann geschehen, wenn Sie mit Scripten arbeiten, die nur von einem bestimmten Browser korrekt verarbeitet werden.
Seiten mit allen Browsern testen
Die folgende Liste soll Ihnen dabei helfen, auf Funktionen zu verzichten, die in den gebräuchlichsten Browsern nicht bzw. nur problematisch eingesetzt werden können. NN steht für Netscape Navigator, IE für Internet Explorer. Klammern zeigen an, dass die Funktionen nur teilweise umgesetzt sind. Eine genaue Übersicht der HTML-Tags und JavaScript-Objekte und -Methoden entnehmen Sie dem Anhang.
315
7 Erstellen und Gestalten von Internetseiten Tabelle 7.10: Übersicht der Implementierung verschiedener Funktionen in den wichtigsten Browsern
NN 2
NN 3
NN 4
Frames
X
X
Java
X
JavaScript 1.0
IE 3
ab IE 4
Opera 3
X
X
X
X
X
X
X
X
X
X
X
(X)
X
JavaScript 1.2 HTML 2.0
X X
HTML 3.2
X
X
X
X
HTML 4.0 Animierte GIFs
IE 2
X X
X
X
X
(X)
X
X
(X)
(X)
X
X
X
X
(X) X
X
PNG
X
X
X
ActiveX
(X)
Channels Plug-Ins
X X
X
Cascading Style Sheets Font Tags Dynamic Fonts
(X)
X
X
X X
X
X X (PFR)
X
(X)
X
X
X
X
X (EOT)
FrontPage bietet eine komfortable Methode an, einzelne Seiten für bestimmte Browser zu optimieren. Abbildung 7.39: Die Kompatibilitätsoptionen für einzelne Seiten
316
Websites für alle
Wählen Sie das Menü EXTRAS | SEITENOPTIONEN, Registerkarte KOMPATIBILITÄT. Dort können Sie auswählen, welche Menübefehle und Optionen FrontPage anzeigt. Wollen Sie Browser unterstützen, die verschiedene HTML-Tags und Technologien nicht interpretieren können, blendet FrontPage die entsprechenden Menübefehle aus.
7.8.4
Anpassungen für behinderte Internetnutzer
Leicht wird vergessen, dass nicht alle Internetnutzer mit Bildschirm, Maus und Tastatur surfen. Immer mehr Eingabehilfen stehen zur Verfügung, die es körperbehinderten, blinden oder gehörlosen Menschen erlauben, mit dem Computer zu arbeiten. Auch sie wollen das Internet nutzen, und es sollte Anliegen jedes professionellen Webentwicklers sein, die Seiten so vorzubereiten, dass Surfern mit Behinderungen der Zugang nicht verschlossen bleibt. Nutzer mit eingeschränkter Bewegungsfähigkeit bedienen oftmals den Computer nicht über herkömmliche Eingabegeräte wie Tastatur oder Maus, sondern über Bildschirmtastaturen, Joystick oder Augensteuerung. Sind beispielsweise Hyperlinks nicht als solche zu erkennen, versteckt oder unregelmäßig über den Bildschirm verteilt, kann die Nutzung der Seite leicht zur Tortur werden. Gerade bei Informationsangeboten kann es daher sinnvoll sein, beispielsweise solche Navigationselemente wie „Weiter“- und „Zurück“-Knöpfe einzubinden. FrontPage erleichtert die Erstellung dieser Navigationselemente mit den Navigationsleisten (siehe Kapitel 6 und 10).
Überschaubare Navigation schaffen
Darüber hinaus sollten Sie bedenken, dass auch sehbehinderte Internetnutzer auf Ihre Seiten zugreifen wollen. Dazu sind zwei Besonderheiten zu beachten: Oftmals verwenden sehgeschädigte oder blinde Nutzer den Browser Lynx, ein rein textbasiertes Programm, das hervorragend dazu geeignet ist, Seiteninhalte mit einem Sprachsyntheseprogramm vorlesen zu lassen. Dazu muss allerdings auf der Seite auch Text enthalten sein. Eine reine Navigation über Grafiken kann hier eine unüberbrückbare Hürde darstellen. Wie Sie Grafiken mit Alternativtexten versehen, erfahren Sie in Kapitel 8. Wenn keine Vorlesesoftware eingesetzt wird, sollten die Benutzer die Möglichkeit haben, die Textgröße individuell anzupassen. Mit Cascading Style Sheets können Schriftgrößen fest eingestellt werden. Nutzen Sie dazu möglichst keine absoluten Maßeinheiten wie Pixelhöhen, sondern immer relative Maßeinheiten. Wie das geht, erklärt Kapitel 11. Schließlich sollten Sie auch die Farben für Hintergrund und Text nicht nur nach rein ästhetischen Gesichtspunkten auswählen. Mangelnde Kontraste können für sehbehinderte Menschen ebenso schwierig zu entziffern sein wie Farbkombinationen bestimmter Komplementärfarben (Rot und Grün, Blau und Gelb) bei Farbenblindheit.
Farben kontrollieren
317
7 Erstellen und Gestalten von Internetseiten
Welche Besonderheiten in all diesen Fällen zu beachten sind, kann viele Kapitel füllen. Seien Sie daher auf einige Internetangebote verwiesen, die umfassende Erläuterungen bieten. Die Adressen finden Sie im Anhang.
7.8.5
Hardwarevoraussetzungen
Sie als Entwickler arbeiten vermutlich an einem recht gut ausgestatteten Rechner. Aber auch wenn Hardwarepreise immer stärker purzeln, werden besonders im Unternehmensumfeld oft Computer verwendet, die nicht alle halbe Jahre aufgerüstet werden. Was Sie als Entwickler wissen sollten ist, welche Einschränkungen Sie auch bei Ihren Seiten machen müssen, um keinen Betrachter Ihrer Website zu vergraulen. Die Ausstattung des Rechners mit Prozessor oder Arbeitsspeicher ist im Zweifelsfalle zweitrangig, da die meisten der Seiten statisch sind und keine hohe Rechenleistung erfordern. Die Ausnahme bilden Multimedia-Anwendungen, und Komponenten, die über Plug-Ins angezeigt werden. Als Beispiele seien Shockwave, VRML, aber auch Java-Applets genannt. Mehr dazu erfahren Sie in Kapitel 15. Besonders wichtig sind die Auflösung des Bildschirms und die Farbtiefe des Monitors beim Betrachter. Bildschirmauflösung Die Auflösung des Bildschirms bezeichnet die Anzahl der Pixel (Bildschirmpunkte), die ein Monitor anzeigt. Diese Auflösung kann zwischen 640 x 480 und 1920 x 1280 Pixel liegen. Bedeutung hat dies für die Größe von Grafiken, die Sie in die Seiten einbinden, aber auch für das Gesamtlayout. Besonders wenn Sie DHTML und StyleSheets mit absoluter Positionierung (siehe Kapitel 11) verwenden, ist es wichtig, hier gut zu planen. Im Zweifelsfalle muss der Betrachter mit einer geringeren Auflösung mehr scrollen, verwenden Sie aber Frames mit festen Breiten und Höhen (siehe Kapitel 10), ist es sogar möglich, dass dann Teile einer Seite gar nicht mehr sichtbar sind. Standardauflösung
Als generelle Richtlinie können Sie davon ausgehen, dass die Mehrheit der Internetnutzer mit einer Bildschirmauflösung von 800 x 600 Pixeln und einer Farbtiefe von 16 bit und höher „unterwegs“ sind. Wenn Sie für ein durchschnittliches Publikum planen, sollten Sie Ihre Seiten also so gestalten und prüfen, dass die Seite bei einer angezeigten Seitengröße von etwa 760 x 420 noch gut aussieht. Die häufigsten Fenstergrößen im Browser stellen sich so dar:
318
Websites für alle
Auflösung
Sichtbare Fenstergrö ß e bei maximiertem Browser
Browser/System
544 x 378
544 x 378
WebTV
640 x 480
536 x 196
Standard
640 x 480
600 x 300
Maximiert
800 x 600
760 x 420
Maximiert
832 x 624
795 x 470
Apple Macintosh
1024 x 768
955 x 600
Maximiert
Tabelle 7.11: Die wichtigsten Bildschirmauflösungen
Denken Sie aber auch daran, dass die Besucher weitaus höhere Bildschirmauflösungen einsetzen können. Auf einem 21-Zoll-Monitor mit einer 16 MBGrafikkarte, was keine Seltenheit mehr ist, können durchaus auch 1600 x 1200 Pixel bei ergonomischen Wiederholfrequenzen angezeigt werden. Haben Sie Ihre Seiten nur für einen Bildschirm mit 800 x 600-Auflösung optimiert, kann Ihre Seite auf so einem Bildschirm ganz schön verloren aussehen. Geht es gar nicht anders, entwerfen Sie drei verschiedene Layouts (für Auflösungen mit 640 x 480, 800 x 600 und 1024 x 768 Pixeln), und schalten Sie eine Seite vor, auf der die Besucher sich die für sie passende Variante aussuchen können. Eine weitere Möglichkeit ist, mit Hilfe von Frames den Bildschirmbereich nach Wunsch einzugrenzen oder sogar mittels JavaScript ein neues Dialogfenster mit festgelegter Größe aufzurufen. Kapitel 10 zeigt Ihnen, wie das geht. Als wäre dies alles noch nicht genug zu bedenken, bleibt die Frage der Anpassung an die Farbtiefe. Entscheidend ist hier, welches Grafikformat Sie verwenden. Kapitel 8 erläutert die Auswahl des am besten geeigneten Grafikformates und der Anpassung einer Grafik.
7.8.6
Farben
Vorrangig entscheidet die Farbtiefe des Bildschirms darüber, wie Farben dargestellt werden. Mit den heute erhältlichen Grafikkarten, die in der Regel über 4 MB RAM und mehr verfügen, lassen sich auch bei höheren Auflösungen ergonomische Bildwiederholfrequenzen erreichen. Viele Computerbenutzer setzen daher Farbtiefen von 16 oder 24 Bit ein, die Tausende und Millionen von Farben umfassen. Die Einstellung der Farbtiefe ist aber nicht von jedem Nutzer problemlos zu realisieren, sodass häufig noch 8 Bit Farbtiefe „gefahren“ wird. Die Grafikkarte stellt dann nur 256 Farben dar, was die Anzahl der anzeigbaren Farben einschränkt und die Darstellung von Fotos und anderen Grafiken beeinträchtigt. Doch auch die anzeigbaren Farben bei einer 8 Bit-Farbtiefe mit 256 Farben unterscheiden sich massiv zwischen Browsern und Betriebssystemen.
319
7 Erstellen und Gestalten von Internetseiten
Dithering Kann ein Browser die gewünschte Farbe nicht darstellen, setzt er sie aus ähnlichen Farben zusammen. Diese Technik wird Dithering genannt. Vergleichbar ist das mit dem Druck, bei dem verschiedenfarbige Punkte nebeneinander gesetzt werden. Für das Auge verlaufen die Farbpunkte aus der Entfernung zu einer einheitlichen Farbe. Da der Abstand des Auges zum Bildschirm und die Auflösung des Bildschirmes wesentlich geringer sind, ist das Ergebnis des Ditherings immer zu sehen und wirkt gerade bei Farbflächen sehr unschön. Websichere Farben
Plattformübergreifend sind nur 216 Farben ohne Dithering darstellbar. Diese Farben werden websicher (englisch: web safe) genannt. Wie bereits erläutert, bietet FrontPage diese Farben im Auswahlwerkzeug an, ohne dass Sie den Hexadezimalcode eingeben müssen. Da die 216 Farben aber einer Regel folgen, sei sie hier erläutert: Websichere Farben basieren auf einem Vielfachen der Dezimalzahl 51. Die sechs möglichen Werte für jede der Farbkomponenten Rot, Grün und Blau sind daher 0, 51, 102, 153, 204 und 255. In Hexadezimalcode lauten diese Werte 00, 33, 66, 99, CC und FF. Geben Sie von Hand Farbcodes ein, sollten Sie sich daher immer auf diese Werte beschränken. Corporate Design Was aber, wenn das Logo Ihres Unternehmens auf anderen Farben basiert? Ein Corporate Design, also Gestaltungsvorgaben für ein einheitliches Erscheinungsbild des Unternehmens, sollte für alle Medien verbindlich sein. Als Gestalter von Webseiten haben Sie hier die schwierige Aufgabe, entweder das Dithering in Grafiken hinzunehmen oder aber die Farbe von Logo, Schrift und anderen Gestaltungselementen an die websichere Palette anzupassen. Da die meisten Bildschirme nicht kalibriert sind und daher ohnehin Farben nicht korrekt anzeigen, kann eine geringfügige Abweichung der Farbe meist hingenommen werden. Gerade bei Schriften, die meist keine größeren Farbflächen aufweisen, kann es überlegenswert sein, ob eine Anpassung überhaupt sinnvoll ist. Um die ähnlichste websichere Farbe auszuwählen, nutzen Sie den Windows-Farbenmischer. Sie können den Farbenmischer über das Farbauswahlfenster von FrontPage anzeigen lassen, wo Sie auf BENUTZERDEFINIERT klicken. Geben Sie nun die RGB-Werte Ihres Logos ein und suchen Sie den nahesten sicheren Farbwert. Der Farbmischer arbeitet nur mit Dezimalwerten. Die sicheren dezimalen Werte sind 0, 51, 102, 153, 204 und 255. Ist die Farbe Ihrer Hausschrift im Logo also RGB: 43, 124, 174 wäre der naheste websichere Wert 51, 102, 153. Eventuell sieht aber eine andere Farbe dem gewünschten Ergebnis ähnlicher, beispielsweise 51, 153, 204. Hier hilft nur Experimentieren.
320
Websites für alle
Einen Test, wie die Farben bei einer Bildschirmfarbtiefe von 8 Bit, also 256 Farben, dargestellt werden, sollten Sie immer durchführen. Unter Windows stellen Sie die Farbtiefe über die Systemsteuerung ein, die Sie über START | EINSTELLUNGEN | SYSTEMSTEUERUNG aufrufen können. Wählen Sie dort das Symbol ANZEIGE und stellen Sie auf der Registerkarte EINSTELLUNGEN den Wert im Feld „Farben“ auf „256 Farben“. Anti-Aliasing Der Begriff Anti-Aliasing, zu deutsch Glätten, steht für die Anpassung von Farbrändern eines Elementes und dessen Hintergrund. Diese Technik wird bei Schriften und Grafiken verwendet, um den Übergang zur Farbe des Hintergrundes weicher zu gestalten. Wird schwarze Schrift auf weißen Hintergrund gesetzt, erscheinen die Ränder der Buchstaben ohne Glättung am Bildschirm mit hässlichen Fransen. Dies liegt in der niedrigen Bildschirmauflösung begründet. Unterstützen das Betriebssystem und die Grafikkarte eine solche Funktion, werden Zwischentöne errechnet, die für eine saubere Darstellung sorgen. Ist die Glättungsfunktion auf Ihrem System aktiviert, werden Schriften am Bildschirm automatisch mit dem Hintergrund ausgeglichen. Weitere Informationen zu Anti-Aliasing entnehmen Sie Kapitel 8.
7.8.7
Die Geschwindigkeit der Anbindung
Jeder Abruf einer Seite vom Server bedeutet eine Anfrage beim Nameserver zum Auflösen des Domainnamens in die IP-Adresse des Rechners, auf dem die Site liegt, weiterhin eine Anfrage beim Server, die Datei herunterzuladen, die Interpretation der Seite durch den Browser, den Aufruf der in der Seite enthaltenen Komponenten, beispielsweise Grafiken, wiederum Anfragen beim Server zum Abruf dieser Dateien. Alle Daten fließen dann durch das Nadelöhr Modem. Gerade kurz nach 21 Uhr, wenn die Telefongebühren sinken und viele Privatleute surfen, ist die Übertragungsgeschwindigkeit oftmals sehr niedrig. Zusätzlich steht in dieser Zeit auf dem amerikanischen Kontinent der Dienstschluss bevor. In diesem Zeitraum ist meist die stärkste Internetnutzung zu verzeichnen. Während heute noch eine nicht zu unterschätzende Gruppe von Internetnutzern Modems mit Übertragungsraten von 14.400 oder 28.800 Bit pro Sekunde verwenden, sind ISDN-Anschlüsse, aber auch DSL- oder Standleitungen besonders im geschäftlichen Umfeld immer häufiger anzutreffen. Dauert es Nutzern zu lange, bis eine Seite aufgebaut ist, wird dies meist auf den Server, auf dem die Website liegt, geschoben, und der Besucher surft schon weiter. Die Gewohnheiten und Erwartungen an Geschwindigkeit bei der Anzeige von Internetseiten passen sich schnell den unterschiedlichen Anbindungen von Internetnutzern an. Da Sie als Entwickler keinen Einfluss darauf neh-
Grundregeln zur Seitenoptimierung
321
7 Erstellen und Gestalten von Internetseiten
men können, mit welchem Modem und welchem Provider Ihre Besucher surfen, ist es um so wichtiger, zumindest Ihre Seiten so zu optimieren, dass 왘 Grafiken so klein wie möglich gehalten, 왘 alle wichtigen Informationen am Anfang vermittelt, 왘 umfangreiche Dokumente aufgeteilt 왘 und im Notfall die Besucher auf die zu erwartende Kaffeepause hinge-
wiesen werden. Die Daten, die für die Darstellung einer Seite vom Server heruntergeladen werden müssen, umfassen ja nicht nur die HTML-Seite selbst, sondern auch alle Grafiken und sonstigen eingebundenen Elemente, zum Beispiel Klänge (die im Übrigen meist viel zu groß sind und viel zu wenig Effekt bringen). FrontPage ist ein Werkzeug, das zwar einen recht gut strukturierten, nicht aber sehr „schlanken“ Code erzeugt, das heißt, neben unnötigen Tags werden auch zusätzliche Leerzeichen und Tabstopps eingefügt, die nicht notwendig sind und in einer größeren Seite einige nutzlose Kilobyte hinzufügen. 50 kByte sind zu langsam
Eine HTML-Seite, die 5 kByte groß ist, beinhaltet im Durchschnitt Grafiken mit einer Gesamtgröße von 15 kByte. Ist also eine durchschnittliche Seite 20 kByte groß, und ist der Benutzer mit einem Modem, das eine Übertragungsrate von 28.800 bps hat, unterwegs, dauert der Download der Seite unter normalen Umständen und bei einer durchschnittlich schnellen Anbindung etwa 10 Sekunden. Das mag Ihnen kurz vorkommen, testen Sie es aber einmal selbst. Zehn Sekunden können beim normalen Surfen recht lang sein, wenn Sie nicht wissen, was da auf Sie zukommt. Erfahrungsgemäß ist die Grenze der Bereitschaft, auf die Anzeige einer Seite zu warten, bei einem durchschnittlichen Internetnutzer nach rund 20 Sekunden erreicht. Sie sollten daher zumindest auf der Startseite darauf achten, die Aufmerksamkeit des Besuchers schnell auf sich zu ziehen. Zeigen Sie also hier, was Ihre Website zu bieten hat, und verbannen Sie umfangreiche Informationen und große Bilddateien ins Innere des Webs. Tipps zur Strukturierung gibt Kapitel 12. Um schon während der Gestaltung einer Seite abschätzen zu können, wie schnell eine Seite geladen wird, oder besser wie lange es dauert, bis die Seite vollständig angezeigt werden kann, bietet FrontPage eine Berechnung der Download-Zeit. In der Statuszeile der Seitenansicht bietet das Feld „Geschätzte Downloaddauer“ einen Schätzwert bei der Verwendung unterschiedlicher Modems an. Klicken Sie mit der Maus auf dieses Feld, um den gewünschten Modemtyp auszuwählen. Abbildung 7.40 zeigt die möglichen Anbindungstypen und -geräte.
322
Websites für alle Tabelle 7.12: Die Einstellungen für die Berechnung der DownloadDauer
Als Standard sollten Sie aber die Einstellung bei 28.8 belassen, denn das Gros der Internetnutzer verwendet ein Modem mit ähnlicher Übertragungsrate. Außerdem erhalten Sie so einen besseren Überblick über die Geschwindigkeit auch bei schlechter Anbindung oder zu Stoßzeiten, wenn viele Nutzer im Internet surfen.
323
8
Bilder und Design
Millionen Internetseiten buhlen um die Aufmerksamkeit der Internetnutzer. Die erfolgreichsten von ihnen liegen auf einer im Vergleich dazu geringen Anzahl von Webservern, allen voran die großen Suchmaschinen wie Yahoo oder AltaVista, Nachrichtendienste wie CNN oder Softwarehersteller wie Microsoft, Macromedia und Adobe. Deren Einstiegsseiten verzeichnen mehrere Tausend Hits (Seitenabrufe) pro Stunde. Mit Ihrem neuen Angebot werden Sie sich mit dieser Summe im ersten Jahr zufrieden geben müssen. Die ausschlaggebenden Faktoren für die Popularität sind dabei auf einige wenige Punkte zu reduzieren:
Was Bekanntheit ausmacht
왘 Name und Bekanntheitsgrad des Anbieters und der Website 왘 Werbeaktivitäten für die Website 왘 Hyperlinks von anderen Seiten auf dieses Angebot 왘 Mehrwert des Contents (der Inhalte der Website) 왘 Gestaltung und Design der Seiten
Obwohl diese Liste keinen Anspruch auf Vollständigkeit erhebt, sind hier die wichtigsten Schlüsselelemente für ein erfolgreiches Angebot genannt.
8.1
Grundlagen des Designs
In diesem Kapitel soll es um den letztgenannten Punkt gehen – die Gestaltung einer Website. Das Webdesign umfasst eine Reihe von Kriterien, die zum Teil auf technischen Grundprinzipien des Mediums, zum anderen auf allgemeinen Regeln, die für die Gestaltung zutreffen, beruhen. Auch hier wird ein Kunst- und Designlehrbuch weitaus tiefer gehen und eine Vielzahl von Kriterien benennen, die von Bedeutung für die Gestaltung sind. Entscheidend aber sind die genannten Maßstäbe für den Entwurf eines Webs mit FrontPage. 왘 Wahl der visuellen Sprache
Jeder gestalterische Ansatz bedient sich einer Sprache, die das Aussehen der zu gestaltenden Sache, sei es ein Bild, ein Buch oder eine Internetseite, definiert. Dies beinhaltet Farben, Formen, Raum, Einsatz von Bildern und Text. Wird eine einheitliche, konkrete Linie verfolgt, spricht man von Metapher. Diese kann vom Inhalt der Seite ausgehen, ihn aber auch ergänzen oder einen Kontrast dazu bilden. Gerade im Internet, wo Grenzen zwischen Inhalten stärker verwischen als beispielsweise bei Druckerzeugnissen, ist die Wahl einer klaren, vor allem aber durchgängi-
325
8 Bilder und Design
gen visuellen Sprache besonders wichtig. Die FrontPage-Designs sind webübergreifende Designvorlagen, die Sie bei der Einhaltung eines einheitlichen Erscheinungsbildes in Ihrem Web unterstützen. 왘 Wiedererkennbarkeit des Erscheinungsbildes
Eine einzigartige visuelle Sprache sorgt für Wiedererkennbarkeit. Setzen Sie bestimmte Farben oder Bildmotive in immer gleicher Weise ein, fällt es dem Besucher leichter, Ihr Angebot auch tatsächlich Ihnen zuzuordnen. Die bereits erwähnten FrontPage-Designs sind zwar wiedererkennbar, dies stellt aber gerade deshalb eine große Gefahr dar, denn sie sind ohne weiteres als FrontPage-typisch zu identifizieren, und bei den vielen FrontPage-Nutzern ist nicht zu vermeiden, dass jedes der etwa sechzig mitgelieferten Designs häufig im Netz auftauchen. Interessanter und gerade bei Unternehmen sehr wichtig ist die Übereinstimmung der gestalterischen Mittel der Website mit dem Corporate Design. Das CD basiert unter anderem auf Logo, Hausschrift, Hausfarben und Layoutvorgaben. Selbstverständlich müssen diese Elemente auch im Webdesign wiederkehren. Am besten verwenden Sie diese Vorgaben auch hier. Oftmals sind Logos aus geometrischen Figuren zusammengesetzt. Diese eignen sich hervorragend, um sie auf der Website für die Strukturierung oder als grafische Elemente einzusetzen. Abbildung 8.1 zeigt ein Beispiel. Abbildung 8.1: Ein aus dem Firmenlogo entwickeltes Web-Design
326
Grundlagen des Designs 왘 Ästhetik des Designs
Fälschlicherweise wird im Allgemeinen von der Formel Ästhetik = Schönheit ausgegangen. Wo aber Geschmack und Wahrnehmung eine Rolle spielen, kann nicht von Schönheit die Rede sein. Vielmehr finden sich in der Ästhetik Besonderheiten des Kulturkreises und des Zeitgeistes wieder, die sich besonders in einem so jungen und kosmopolitischen Medium wie dem Internet vor allem im visuellen Ausdruck manifestieren. So wird eine Internetseite, die kaum Grafiken enthält, grauen oder weißen Hintergrund hat und über die gesamte Breite in der Browserstandardschrift Times beschrieben ist, heute von der Mehrheit als altmodisch und langweilig empfunden, wohingegen eine mehrspaltige Seite mit vielen blinkenden Bannern und dicht gedrängtem Text mit viel Information, wie wir sie von Portal-Sites kennen, modern und interessant wirkt. Entscheidend für das Erscheinungsbild ist die Zielgruppe und der Inhalt einer Seite. Leser wissenschaftlicher Erörterungen benötigen keine aufgemotzten Seiten, wohingegen ein Spaßangebot für Jugendliche kaum auf Effekte und modische Elemente verzichten kann. Planen Sie eine Website, prüfen Sie daher, was die zu erwartenden Besucher zu sehen gewohnt sind und was für Ihr Angebot adäquate Darstellungsformen sind. 왘 Layout der Seite
Die meisten der HTML-Tags dienen der Anordnung und Formatierung von Seitenelementen wie Text und Bildern. FrontPage ist mit seiner Editoroberfläche ein Layoutwerkzeug, das eine flexible Gestaltung von HTML-Seiten erlaubt. Das Layout ist für den Erfolg einer Seite entscheidend, denn wie Informationen dargebracht und wahrgenommen werden, wird sehr stark von der Aufteilung und Platzierung bestimmt. Eine aufgeräumte Seite mit wenigen Inhalten hebt diese hervor, wohingegen eine stark strukturierte Seite mit viel Text schon rein äußerlich seriös und gehaltvoll wirkt. Eine Seite, auf der lustlos Texte und Bilder hintereinander gereiht werden, lädt nicht zum Betrachten ein. Seiten werden von Internetbrowsern von oben nach unten dargestellt, was im Kopf einer Seite steht, wird zuerst betrachtet, was über den unteren Rand des Browsers hinausgeht, kann nur durch Scrollen angezeigt werden, was ein nicht zu unterschätzendes Hemmnis ist. Darüber hinaus haben die Fenster der Browser bei den Nutzern unterschiedliche Höhen und Breiten, worauf Seiten angepasst werden müssen, Schriften werden in unterschiedlichen Betriebssystemen und je nach Einstellung in verschiedenen Größen angezeigt. 왘 Text, Satz und Typografie
Der Satz eines Textes bedeutet die Anordnung von Wörtern und Zeichen auf einer Seite. HTML unterstützt eine Reihe von Formatierungsfunktio-
327
8 Bilder und Design
nen, wobei diese recht eingeschränkt sind. Auch spezifische Schriftarten lassen sich nur auf kompliziertem Wege in Internetbrowsern darstellen. Die Typografie, also die Gestaltung von Zeichen und Text, ist somit nur in sehr geringem Maße zu beeinflussen. Der gezielte Einsatz von Schrift kann sich darauf auswirken, ob ein Besucher Text tatsächlich liest. Großer Text wird als Überschrift wahrgenommen, kleine Zeichen können je nach Bildschirmauflösung nur schwer entziffert werden. Da der Bildschirm aufgrund der schnellen Ermüdung der Augen durch hohe Kontraste eher ungeeignet zur Übermittlung langer Texte ist und im Hintergrund meist der Gebührenzähler tickt, sollten umfangreiche Dokumente klar gegliedert, aufgeteilt und notfalls auch zum Download bereitgestellt werden. Erwarten Sie nicht, dass ein Besucher das Handbuch Ihres Produktes oder eine lange Feature-Liste intensiv liest. PDF-Format für umfangreiche Dokumente
Abbildung 8.2: Eine Website mit eingebundenem Adobe AcrobatReader
328
Das Adobe Acrobat-Format PDF ist prädestiniert für die Bereitstellung von Dokumenten, da viele Internetnutzer das zur Anzeige dieser Dokumente notwendige Programm Acrobat Reader als Browser-Plug-In installiert haben. PDF-Dateien erlauben die Einbettung von Schriften und Bildern, die stark komprimiert werden können, sodass sich das PDFFormat als Standard für elektronische Dokumente etabliert hat. PDFDateien können in eine Internetseite eingebunden werden, im Internetbrowser angezeigt und auf die Festplatte des Benutzers gespeichert werden. Mehr zu Adobe Acrobat erfahren Sie in Kapitel 15.
Grundlagen des Designs 왘 Gestaltung der Navigation
Ein sehr wichtiger Teil jeder Website ist die Navigation zwischen den einzelnen, bislang nicht hierarchisch gegliederten Seiten. Der Navigation kommt die Aufgabe zu, nicht nur alle Informationen über Hyperlinks greifbar zu machen, sondern auch so zu strukturieren, dass der Benutzer intuitiv zur gewünschten Seite gelangt. Auf den konzeptionellen Teil, der als Vorarbeit notwendig ist, geht Kapitel 12 näher ein. Die Navigation aber auch gestalterisch so umzusetzen, dass sie zum Klicken einlädt, ist ebenso mühevoll. Der obligate blinkende Hinweis „Klick hier!“ tut es nicht. Vielmehr ist es wichtig, die funktionale Seite so stark in den Hintergrund zu drängen, dass sie den eigentlichen Inhalt, der vermittelt werden soll, nicht überdeckt. Immer öfter sieht man im Internet Seiten, deren Navigationsknöpfe, Menüs und Schaltflächen so kunstvoll und technisch perfekt sind, dass es Spaß macht, damit zu arbeiten, dahinter aber derart schwacher Content steckt, dass der Sinn der Website eigentlich nur in der Optik der Seite liegt. Die starke Verbreitung von Macromedia Flash (siehe Kapitel 15) hat diese Entwicklung stark gefördert, denn das Shockwave Flash-Plug-In ist mit seiner vektorbasierten Grafik prädestiniert für schnell ladende und flexible Menüs. Navigationsmenüs, die klar die Struktur der Website widerspiegeln, wichtige Seiten hervorheben und zu jedem Zeitpunkt Zugriff auf die relevanten Informationen gewähren, müssen das Ziel sein. Abbildung 8.3 zeigt ein Beispiel. Wie Sie mit FrontPage auf einfachem Wege übersichtliche Menüs gestalten, die aus der Webstruktur automatisch generiert werden können, erläutert Kapitel 12. Abbildung 8.3: Strukturierte, contentabhängige Navigation
329
8 Bilder und Design 왘 Funktionalität und Spaß
Wie bereits erwähnt, ist Funktionalität der Schlüssel zur einfachen Erfassung der Inhalte, und doch geht der Reiz einer Seite – wie am Beispiel Flash ersichtlich – auch vom vermittelten Spaß aus. Interaktivität ist dann am spannendsten, wenn die Benutzer auf spielerischem Wege das tun können, was sie möchten – wie sie es möchten. Design und Funktion sind also eng miteinander verknüpft. Erklärt die Gestaltung nicht das Gestaltete, bleibt es unverständlich, sprechen die Inhalte und Funktionen die Benutzer nicht an, wird weitergesurft. Erst eine Mischung aus allen Designkriterien wird eine attraktive Website ergeben, die sich größerer Beliebtheit erfreut. Der beste Weg, Erfahrungen zu sammeln, ist sicher das Lernen von anderen Seiten. Schauen Sie sich im Netz um, werfen Sie ruhig einen Blick in den Quellcode der Seiten, die Ihnen besonders gefallen, und versuchen Sie, sich interessante Konzepte anzueignen. Einige Tipps und Tricks werden Ihnen die folgenden Kapitel vermitteln.
8.2
Bilder in Internetseiten
Jedes Bild, das Sie in Ihre Seiten einbinden möchten, muss bestimmte Voraussetzungen erfüllen, damit sie von Internetbrowsern in der gewünschten Qualität angezeigt werden können. Die Kapitel 5 und 6 haben bereits Grundlegendes zu Bildern in Internetseiten erläutert. Bevor wir nun darauf eingehen, wie Bilder vorbereitet werden, soll Ihnen der folgende Abschnitt eine Entscheidungshilfe für die Auswahl des geeignetsten Bildformates bieten. Um ein Bild darzustellen, muss der Internetbrowser das Format der Grafikdatei „verstehen“, das heißt, über einen Filter verfügen, der die Anzeige ermöglicht. In der Geschichte der Computer hat sich eine sehr große Zahl von Grafikformaten entwickelt, und jedes von ihnen verfügt über Vor- und Nachteile. Alle heute verfügbaren Internetbrowser können ohne zusätzliche Plug-Ins nur zwei Dateiformate verarbeiten und anzeigen. Auch FrontPage unterstützt diese Formate. Sie heißen GIF und JPEG.
8.2.1
GIF
GIF steht für Graphic Interchange Format und wurde von CompuServe, einem der Vorreiter der Online-Dienste, entwickelt. Die Besonderheit des GIF-Formates besteht in der verlustfreien Komprimierung von Bilddaten über die Gruppierung von gleichartigen Pixeln. Dieses Komprimierungsverfahren, das nach seinen Erfindern Lempel, Ziv und Welch kurz LZW genannt wird, untersucht Bitmaps auf Pixel mit denselben Farbwerten in horizontalen Reihen und fasst diese zusammen, sodass die Grafikdatei wesentlich kleiner ist als beispielsweise das BMP-Format, in dem jedes einzelne Pixel definiert wird.
330
Bilder in Internetseiten
Reduzierte Farben Um dieses Verfahren zu ermöglichen, ist die Anzahl der Farben in einer GIFDatei auf 256 beschränkt. Jede GIF-Datei enthält dazu eine so genannte Farbpalette, das heißt eine Tabelle, in der die in der Datei verwendeten Farben festgelegt werden. Die Palette enthält mindestens 1, maximal 256 Farbdefinitionen. Durch den reduzierten Farbumfang eignet sich das GIF-Format weniger für Fotografien oder Farbverläufe. Solche Bilder mit vielen unterschiedlichen Farben und unregelmäßigen Strukturen enthalten darüber hinaus sehr wenige gleichartige, horizontal angeordnete Pixel, sodass mit dem LZW-Verfahren kaum Bildinformationen komprimiert werden können. Das Resultat sind riesige Dateien, die eine sehr lange Zeit zum Herunterladen benötigen. Setzen Sie daher das GIF-Format immer dann ein, wenn ein Bild nur wenige Farben verwendet oder viele gleichmäßige Strukturen aufweist. Als Beispiele seien Textüberschriften oder geometrische Figuren genannt.
GIF für geometrische Formen und Flächen
Transparenz GIF erlaubt es, eine oder mehrere Farben in der Farbpalette als transparent zu kennzeichnen. Diese Farbe wird dann in der gesamten Grafik nicht dargestellt, statt dessen scheint der Hintergrund durch die transparenten Pixel. Dadurch können Hintergrundfarbe und Hintergrundbilder das tatsächliche Bild umfließen, obwohl die Grafikdatei immer rechteckig ist. Transparenz ist besonders bei runden und unregelmäßigen Formen praktisch. Wenn Sie eine Farbe in einem Bild als transparent auswählen, sollten Sie darauf achten, dass die transparente Farbe der des Hintergrundes entspricht oder zumindest dem Ton ähnlich ist. Ansonsten ergeben die Randpixel einen hässlichen Zackenrand. Die Abbildungen 8.4 und 8.5 zeigen den Unterschied. Arbeiten Sie mit einer anderen Hintergrundfarbe als Weiß, sollten Sie den gleichfarbigen Randfarben einer GIF-Datei immer Transparenz zuweisen, da einzelne Browser, namentlich der Netscape Navigator, Farben in Grafiken und vom Browser generierte Farben unterschiedlich anzeigt. Auch wenn beide auf Ihrem System identisch wirken, kann es auf anderen Systemen feine Abweichungen geben, die dann als dünner viereckiger Rand um die Grafik erscheinen. Interlacing GIF-Dateien speichern Farbinformationen von oben nach unten in Reihen ab. Das GIF-Format bietet eine besondere Funktion, die während des Downloads Zeilen überspringt und in Blöcken anzeigt. Das Bild erscheint damit zunächst in einer Linienrasterung, und die noch fehlenden Linien werden nach und nach ergänzt, bis das vollständige Bild übertragen ist.
331
8 Bilder und Design
Dieser Effekt verkürzt subjektiv die Zeit, die zum Herunterladen benötigt wird, weil das Bild schon grob zu erkennen ist. Andere Bildformate erlauben dies nicht und können erst dann angezeigt werden, wenn das Bild vollständig geladen wurde. Die Interlace-Funktion kann in den meisten Bildbearbeitungsprogrammen und auch in FrontPage über das Schaltkästchen MIT ZEILENSPRUNG eingestellt werden. Ist die Option MIT ZEILENSPRUNG aktiviert, erhöht sich die Größe der Datei geringfügig, macht aber durch die schrittweise Anzeige bei großen Grafiken die etwas längere Download-Dauer wieder wett. Bei kleinen Grafiken bis etwa 10 bis 15 kByte Größe ist der Einsatz des Interlacings nicht sinnvoll, weil die Bilder schnell genug angezeigt werden können. Animierte GIFs Das wohl interessanteste Feature des GIF-Formates ist die Speicherung mehrerer Bilder in einer Datei, die frei konfigurierbar hintereinander angezeigt werden können. Zwar lassen sich aufgrund der schnell steigenden Dateigröße keine Trickfilme damit realisieren, aber je nach Größe des Bildes können halbwegs flüssige Animationen dargestellt werden. Die meisten der Programme, mit denen animierte GIFs erzeugt und bearbeitet werden können, bieten eine Funktion an, die Animationen optimieren können. Standardmäßig werden einfach die Zeitinformationen und Einzelbilder hintereinander gesetzt, was die Datei aufbläht. Es lassen sich aber auch nur die Unterschiede zwischen dem vorherigen und dem Folgebild speichern. In diesem Fall werden ausschließlich die Bildinformationen, die sich geändert haben, übertragen, und der Rest bleibt unangetastet, was die Datei klein hält. Nicht alles, was sich bewegt, ist auch schön anzusehen. Banner sind heute kaum noch ohne Bewegung vorzustellen und sorgen so für Aufmerksamkeit, aber auch für ständige Reizüberflutung, die nach immer schreienderen Werbemitteln verlangt. Zudem wirkt eine Seite, auf der es sich durchgängig dreht, wackelt und blinkt, eher unprofessionell. Setzen Sie animierte GIFs daher sparsam, aber gezielt ein. Und bitte lassen Sie die Finger von den kleinen Schaufelmännchen, Spinnen, die sich am Netzfaden herunterlassen, sich drehenden Globen oder @-Zeichen, Hunden, die hin und her laufen, und pulsierenden „NEU!“-Symbolen. Nachdem drei Viertel aller Homepages mit diesen Elementen geschmückt wurden, sind deren Reiz und Originalität ausgelaugt.
332
Bilder in Internetseiten Abbildung 8.4: GIF-Bild: 300*300 Pixel, Größ e 2,6 kB
Abbildung 8.5: Dieselbe Grafik mit falsch gewählter Transparenz
8.2.2
JPEG
Das zweite verwendbare Grafikformat wurde von der Joint Photographic Expert Group entwickelt. Es umfasst den gesamten RGB-Farbraum mit 16,7 Millionen Farben und erlaubt die starke, allerdings nicht verlustfreie Komprimierung von Bilddaten. Der Komprimierungsalgorithmus macht sich die Eigenschaft des menschlichen Auges zunutze, dass angrenzende Farbabstufungen erst ab einem bestimmten Grad als Abstufungen wahrgenommen werden. Sehr geringe Abweichungen kann das Auge gerade am Bildschirm nicht als solche ausmachen, sie werden erst im Gehirn „errechnet“. Das JPEG-Format verwendet eine Komprimierung, die solche Übergänge zusammenfasst. Je höher die Komprimierungsrate, desto mehr fehlerhafte Übergänge werden erkannt. Dies macht sich besonders bei einfarbigen Flächen bemerkbar. In Fotografien kann je nach Bild der Komprimierungsgrad recht hoch gewählt werden, ohne dass Fehler zu erkennen sind. Der Vergleich der Abbildungen 8.4 und 8.7 zeigt den Unterschied.
333
8 Bilder und Design
Die Fotografie in Abbildung 8.6 ist durch die Farbverläufe hervorragend dazu geeignet, im JPEG-Format gespeichert zu werden. Dasselbe Bild als GIF würde etwa fünfmal so groß sein. Abbildung 8.6: JPEG-Bild: 450 * 300 Pixel, Komprimierung 20%, Größ e 10 kB
Abbildung 8.7: Die Grafik aus Abb. 8.4 als JPEG bei gleicher Dateigröß e
Progressive JPEGs Auch JPEG bietet eine Möglichkeit, den Ladevorgang so zu beeinflussen, dass die Grafik schon angezeigt wird, bevor das vollständige Bild geladen wurde. Diese Option nennt sich PROGRESSIVE JPEG. Bei der Anzeige im Internetbrowser wird dabei das Bild zunächst nur schemenhaft dargestellt und im weiteren Verlauf „geschärft“. FrontPage bezeichnet die Durchläufe, die dabei vorgenommen werden, als Optimierungsdurchläufe und erlaubt in den Bildeigenschaften die Angabe der Anzahl von Optimierungsdurchläufen. Da Windows bis zur Version 3.11 nur dreistellige Dateiendungen erlaubte, wird JPEG in der Regel unter Windows mit der Endung .jpg gekennzeichnet. Dateien mit dem Suffix .jpeg unterscheiden sich aber intern nicht.
8.2.3
Andere Formate
Leider werden nur GIF und JPEG von allen Browsern unterstützt. Andere Grafikformate können nur über zusätzliche Plug-Ins angezeigt werden, deren Vorhandensein aber nicht vorausgesetzt werden kann. Die wichtigsten seien hier genannt.
334
Bilder in Internetseiten
PNG Das Portable Network Graphics-Format wurde entwickelt, um einerseits den Lizenzgebühren, die für den GIF-Algorithmus von CompuServe erhoben werden, aus dem Wege zu gehen und andererseits die Vorteile von GIF und JPEG zu verbinden. Die gelungene Synthese erlaubt verlustfreie Komprimierung von Bilddaten wie GIF bei einer maximalen, auch indizierbaren Farbanzahl bis 16,7 Millionen Farben wie bei JPEG, Farbtransparenz und Animation. Die Internetbrowser Netscape Navigator und Internet Explorer unterstützen dieses Format in ihren Versionen 4.0 und höher teilweise, ab Version 5 vollständig. Auch FrontPage bietet Unterstützung für PNG. Allerdings ist diese recht rudimentär ausgefallen. PDF Kein Grafikformat im eigentlichen Sinne, soll es hier dennoch erwähnt werden, da es hohe Komprimierungsraten auf JPEG und ZIP-Basis für Text und Grafik erlaubt und der dafür notwendige Acrobat Reader von Adobe auf vielen Systemen installiert ist. PDF-Dokumente können mit Adobe Acrobat, aber auch mit Vektorgrafikprogrammen wie FreeHand oder CorelDRAW erzeugt werden. Die Besonderheit des Formates ist die Möglichkeit, Schriften einzubetten und Vektorinformationen zu übertragen, wodurch diese Dateien vergleichsweise klein bei bester Druckqualität sind. TIFF Der Standard der plattformübergreifenden Grafikformate ist in der Regel nicht im Internetbrowser anzuzeigen, wird aber für Sie von Interesse sein, wenn Sie Grafiken erstellen und weitergeben wollen. TIFF hat einen möglichen Farbumfang bis 48 Bit (weit mehr als das Auge erkennen kann), unterstützt Alphakanäle und kann mit verschiedenen Kompressionsmodi wie LZW oder Packbits verlustfrei verkleinert werden. Die meisten Grafik-, Layout- und Textverarbeitungsprogramme unterstützen das TIFF-Format. Unter Windows sollten Sie statt .tiff das Suffix .tif verwenden, um Kompatibilität zu älteren Windows-Versionen zu bewahren.
8.2.4
Formate im Vergleich
Aus Tabelle 8.1 können Sie entnehmen, welches Dateiformat wann am günstigsten einzusetzen ist. Da PNG das „Beste beider Welten“ darstellt, können Sie in Zukunft alternativ stets auch dieses Format einsetzen, sofern Sie es hinnehmen wollen, dass ältere Browser hier keine Grafik anzeigen. GIF
JPEG
Farbraum
256 Indexfarben
24 Bit „TrueColor”
Transparenz
Ja
Nein
Tabelle 8.1: Grafikformate GIF und JPEG im Vergleich
335
8 Bilder und Design
GIF
JPEG
Optimierung der Anzeige
Ja, über Interlacing
Ja, über Progressive JPEG
Komprimierung
Verlustfrei
Variabel
Komprimierungsmodus/ LZW, bis 5:1 und höher, -rate je nach Motiv
JPEG, variabel einstellbar
Animation
Ja
Nein
Geeignet beispielsweise für
Überschriften, geometrische Figuren ohne Farbverläufe
Fotos
8.3
Bilder vorbereiten und bereitstellen
Bilder müssen stets digitalisiert oder – sofern sie schon in digitaler Form vorliegen – zumindest bearbeitet werden, bevor sie in eine Internetseite eingebaut werden können. In Kapitel 7 wurde bereits die Verwendung des Clip Organizers erläutert, der zum einen schon Grafiken bereithält, zum anderen gut geeignet ist, Bildmaterial zu archivieren und zu verwalten.
8.3.1
Bilder digitalisieren
Verfügen Sie über einen Scanner oder eine Digitalkamera, können Sie über die Twain-Schnittstelle das Bildmaterial in den Rechner holen. Am zweckmäßigsten ist es, wenn Sie ein Bildbearbeitungsprogramm dazu einsetzen, damit Sie das Bild anschließend für die Einbindung in eine Internetseite vorbereiten können. Sie können aber auch Bilder direkt in FrontPage einbinden, ohne ein externes Grafikprogramm starten zu müssen. Dieser Weg ist aber nur bei Schnappschüssen oder besonders dringenden Abbildungen zu empfehlen, da Bildmaterial ansonsten grundsätzlich nachbearbeitet werden sollte, wozu sich ein Bildbearbeitungsprogramm am besten eignet. PhotoCD Das Kodak PhotoCD-Format ist dann interessant, wenn Sie keinen eigenen Scanner oder keine Digitalkamera besitzen, aber trotzdem eigenes Bildmaterial digitalisieren möchten. Fotolabors bieten die Möglichkeit, Diapositive oder Negative zu scannen und dann auf Photo-CD zu brennen. Das PCDFormat verfügt über eine Reihe von Standardbildgrößen, die Sie bei der Entwicklung angeben können. Die Qualität dieser Bilder ist in der Regel besser als beim Scan mit einem billigen Scanner, weshalb Sie auch aus Gründen der Archivierung darüber nachdenken sollten, Ihr Bildmaterial professionell erfassen zu lassen.
336
Bilder mit FrontPage bearbeiten
8.3.2
Andere Ressourcen
Neben den mit FrontPage mitgelieferten Bildern gibt es eine große Zahl von Anbietern, die Fotos und ClipArt zum Kauf bereitstellen. Allen voran seien hier die Bilddatenbanken von Tony Stone, PhotoDisc, Image Bank oder Digital Vision genannt. Diese Unternehmen bieten eine unüberschaubare Vielzahl hochwertiger Fotos zum Kauf entweder online oder auf CD-ROM an. Die Preise dieser so genannten Stock Photos sind gepfeffert, aber sie stammen von professionellen Fotografen und sind trommelgescannt, sodass diese Bilder auch für den Druck geeignet sind. Preiswerter sind meist die ClipArt-Sammlungen von Corel, IMSI oder Hemera. Sie enthalten neben Fotos vor allem Vektorgrafiken, Internet-Buttons und ähnlichen „Kleinkram“. Diese Kataloge umfassen mittlerweile Hunderttausende von teils interessanten, oftmals aber unbrauchbaren Bildern, die zumeist nur über englische Suchbegriffe zu finden sind. Beachten Sie stets die Lizenzbestimmungen der Anbieter, wenn Sie deren Material verwenden. Kopieren Sie auf keinen Fall Grafiken von irgendwelchen Internetseiten auf Ihren Server. Haben Sie kein Bildmaterial zur Verfügung, schnappen Sie sich den Fotoapparat und machen Sie selbst Bilder, oder aber Sie verzichten auf Bildmaterial und gestalten Ihre Seiten auf anderem Wege.
8.4
Bilder mit FrontPage bearbeiten
8.4.1
Bilder einfügen
Blenden Sie die Symbolleiste GRAFIK ein, indem Sie mit der rechten Maustaste auf eine beliebige andere Symbolleiste klicken und aus dem Kontextmenü den Punkt GRAFIKEN auswählen, oder verwenden Sie das Menü ANSICHT | SYMBOLLEISTEN | GRAFIKEN.
Welche Menüpunkte und Schaltflächen aktiviert sind, ist abhängig von den Kompatibilitätseinstellungen, die Sie über EXTRAS | SEITENOPTIONEN REGISTERKARTE KOMPATIBILITÄT anpassen können. Grafiken und Text können nur dann absolut positioniert und übereinander gelegt werden, wenn die Zielbrowser Netscape Navigator und Internet Explorer in der Version 4.0 oder höher sind und Cascading Style Sheets unterstützen. Informationen dazu entnehmen Sie Kapitel 11.
Abbildung 8.8: Die Grafiksymbolleiste
Wie Sie ein Bild in eine Internetseite einfügen, haben Sie in Kapitel 7 erfahren. Zur Erinnerung: Positionieren Sie in der Seitenansicht die Einfügemarke an der Stelle, an der das Bild eingefügt werden soll. Wählen Sie EINFÜGEN | GRAFIK | AUS DATEI
337
8 Bilder und Design
und geben Sie die Adresse der Grafik an, oder wählen Sie das Symbol ganz links aus der Symbolleiste GRAFIK. Beim Speichern der Seite fordert FrontPage Sie auf, das Bild in Ihrem Web zu speichern. Die Adresse wird dann von einer absoluten in eine relative URL umgewandelt, sodass bei der Veröffentlichung auf den Server keine Probleme auftauchen. Da der überwiegende Teil der Internetbrowser nur mit GIF und JPEG umgehen kann, wandelt FrontPage das Bild in eines der Formate automatisch um. Bilder mit 256 oder weniger Farben werden in das GIF-Format, alle anderen in das JPEG-Format umgewandelt. Abbildung 8.9: Automatische Umwandlung einer Grafik
Über die Schaltfläche UMBENENNEN können Sie der Datei einen neuen Namen geben, über die Schaltfläche VERZEICHNIS WECHSELN einen Ordner zum Speichern der Datei festlegen. Wenn Sie die Datei nicht in das Web speichern wollen, beispielsweise weil sie auf einem anderen Server liegt, klicken Sie auf AKTION FESTLEGEN und wählen Sie dort die Option NICHT SPEICHERN. Wenn Sie FrontPage nicht die Auswahl des Grafikformates überlassen, sondern die Einstellungen selbst festlegen wollen, rufen Sie vor dem Speichern der Seite die BILDEIGENSCHAFTEN auf.
8.4.2
Die Bildeigenschaften festlegen
Klicken Sie mit der rechten Maustaste auf das gewünschte Bild und wählen Sie aus dem Kontextmenü den Punkt BILDEIGENSCHAFTEN. Abbildung 8.11 zeigt die Einstellungsmöglichkeiten. Im Bereich „Typ“ können Sie selbst festlegen, in welches Grafikformat FrontPage das Bild überführen soll. FrontPage bietet die drei Formate GIF, JPEG und PNG an. Die Besonderheiten sowie Vor- und Nachteile dieser Bildformate erläutert Kapitel 8. Im Feld „Bildquelle“ finden Sie den Dateinamen der Datei. Sie können den Dateinamen hier allerdings nicht ändern, sondern nur eine andere Datei auswählen. Zu diesem Zweck können Sie auch die Schaltfläche DURCHSUCHEN nutzen. Klicken Sie auf BEARBEITEN, um die Grafik in einem externen
338
Bilder mit FrontPage bearbeiten
Bildbearbeitungsprogramm wie Microsoft Image Composer, Microsoft PhotoDraw, Adobe PhotoShop oder Macromedia Fireworks zu editieren. Dazu muss über das Menü EXTRAS | OPTIONEN | REGISTERKARTE EDITOREN KONFIGURIEREN für den Dateityp ein Editor eingestellt sein. Einstellungen für GIF-Dateien Ist der Button GIF aktiviert, können Sie festlegen, ob das GIF-Bild mit oder ohne Zeilensprung (Interlacing) gespeichert werden soll. Haben Sie eine Farbe der Grafik als transparent bestimmt oder enthält das Bild einen transparenten Farbbereich, ist das Kontrollkästchen TRANSPARENT aktiviert. Die Transparenzfunktion können Sie aufheben, indem Sie das Feld deaktivieren. Einstellungen für JPEG-Dateien Das Feld QUALITÄT bestimmt über die Stärke der Komprimierung, die sich auf das Erscheinungsbild der Grafik niederschlägt. Hier hilft nur ausprobieren, bis Sie die höchste Komprimierungsstufe bei akzeptabler Bildqualität erreicht haben. Gehen Sie schrittweise vor und senken Sie die Bildqualität von 100% bis zu dem Grad, an dem deutliche Fehler zu erkennen sind. Die Anzahl der OPTIMIERUNGSDURCHLÄUFE eines Progressive JPEGs können Sie von 0 bis 100 einstellen. Sinnvoll ist eine Anzahl von 5 bis 10 Durchläufen, da jeder Durchlauf die Dateigröße erhöht. Alternative Darstellungsweisen Nur für Netscape Navigator bietet sich das Feld NIEDRIGE an. Sie können eine kleine Vorschaugrafik, beispielsweise ein GIF mit nur zwei Palettenfarben, einer großen Bilddatei vorschalten. Erst wenn das große Bild vollständig geladen ist, wird das Vorschaubild gegen die tatsächliche Grafik ausgetauscht. Setzen Sie das Vorschaubild nur bei Dateigrößen von mehr als 30 kB ein, da sich der zusätzliche Download eines kleinen Bildes nicht rentiert.
Nur für Netscape Navigator geeignet
Einen Alternativtext sollten Sie stets angeben, bitte in das Feld TEXT. Dieser wird eingeblendet, wenn das Bild noch nicht vollständig geladen wurde. Suchmaschinen beziehen hieraus Schlüsselwörter, und Benutzer, die Grafiken nicht anzeigen lassen beziehungsweise mit einer Vorlesesoftware oder einem Textbrowser arbeiten, können so erfahren, was das Bild gezeigt hätte. Sind Sie mit den Einstellungen zufrieden, wechseln Sie im gleichen Fenster zur Registerkarte ERSCHEINUNGSBILD. Hier können Sie die Layoutoptionen für Bilder einstellen. Im Feld AUSRICHTUNG können Sie bestimmen, wie das Bild an den angrenzenden Elementen, beispielsweise an anderen Bildern oder Text, ausgerichtet wird. Probieren Sie am besten selbst aus, welchen Effekt Sie erzielen wollen. Tabelle 8.2 zeigt die verschiedenen Attribute und deren Entsprechungen in HTML.
339
8 Bilder und Design Abbildung 8.10: Die Bildeigenschaften
Das Feld RAHMENSTÄRKE ermöglicht, einen Rahmen um eine Grafik zu zeichnen. Die Breite der Linie wird in Pixeln angegeben. Das HTML-Attribut hierzu lautet border=“x“, wobei x für die Rahmenstärke in Pixeln steht. Um einen unsichtbaren Rahmen um das Bild anzulegen, tragen Sie die gewünschten Pixelwerte in die Felder HORIZONTAL- und VERTIKALABSTAND ein. Im Internetbrowser wird dann an beiden Seiten der Grafik der festgelegte Abstand zu den angrenzenden Elementen gehalten. Die HTML-Attribute heißen hspace=“x“ und vspace=“x“. Der fälschlicherweise als „Schriftgrad“ bezeichnete Bereich legt die Bildgröß e fest. Standardmäßig trägt FrontPage hier die tatsächliche Höhe und Breite des Bildes ein. Sie können aber auch abweichende Maße eingeben. Das Bild wird dann entsprechend gestaucht oder gestreckt. Allerdings ist die Qualität, die hierbei erreicht wird, nicht mit den Skalierungsfunktionen eines Bildbearbeitungsprogramms vergleichbar, das bei der Größenänderung Punkte interpoliert, das heißt Pixel errechnet. Sie können hiermit allerdings interessante Effekte erzielen. Geben Sie statt der Pixelwerte die Skalierungsmaße in Prozent an, um das Bild in Abhängigkeit von der Größe des Browserfensters zu skalieren. Aktivieren Sie das Feld SEITENVERHÄLTNIS BEIBEHALTEN, um die Breite oder Höhe jeweils proportional zum anderen Wert anzupassen.
340
Bilder mit FrontPage bearbeiten Abbildung 8.11: Das Erscheinungsbild einer Grafik
FrontPage-Name
HTML-Attribut
Standard
–
Links
LEFT
Rechts
RIGHT
Oben
TOP
TextOben
TEXTTOP
Mitte
MIDDLE
AbsMitte
ABSMIDDLE
Grundlinie
BASELINE
Unten
BOTTOM
AbsUnten
ABSBOTTOM
Zentriert
CENTER
8.4.3
Tabelle 8.2: Ausrichtungsattribute
Bilder in FrontPage bearbeiten
Texte als Bilder Die wohl interessanteste Funktion von FrontPage zur Bildbearbeitung ist die Möglichkeit, Texte in Bilder einzubinden, ohne dass ein Bildeditor dazu verwendet werden muss. FrontPage nutzt diese Technik, um Banner und Navigationsleisten automatisch zu erstellen. Sie können aber auch selbst Bilder mit Texten versehen. Markieren Sie das Bild, in das Sie Text schreiben wollen, und wählen Sie dann das Textsymbol aus der Symbolleiste GRAFIK.
341
8 Bilder und Design
Ein Textrahmen wird in der Grafik angezeigt, und Sie können lostippen. Alle Zeichen- und Absatzformatierungsoptionen stehen Ihnen zur Verfügung. Möchten Sie die Größe des Textrahmens anpassen, ziehen Sie mit der Maus die kleinen Quadrate an den Rändern und Ecken des Textrahmens auf die gewünschte Größe. Beachten Sie aber, dass FrontPage diese Funktion über einen so genannten WebBot, also eine FrontPage-Komponente realisiert, die auf die Servererweiterungen zurückgreift. Abbildung 8.12: Texte in Bilder einfügen
Möchten Sie auf einfachem Wege aus Text eine Grafiküberschrift erstellen, beispielsweise weil Sie eine bestimmte Schriftart verwenden möchten, verwenden Sie das Leer-GIF. Fügen Sie das Leer-GIF ein, ziehen Sie es auf die gewünschte Größe oder stellen Sie die Maße über die Bildeigenschaften ein, und wählen Sie dann das Textwerkzeug. Auto-Miniaturvorschau Bei großen Bildern wie Fotos oder Screenshots dauert es oftmals sehr lange, bis das vollständige Bild geladen wird. Fügen Sie zu diesem Zweck eine verkleinerte Vorschau ein. FrontPage unterstützt Sie bei der Erstellung einer Miniaturvorschau. Gehen Sie wie folgt vor: 1. Fügen Sie ein Bild ein, und klicken Sie darauf. 2. Wählen Sie die Schaltfläche AUTO-MINIATURVORSCHAU aus der Symbolleiste GRAFIK.
342
Bilder mit FrontPage bearbeiten
3. FrontPage erstellt eine verkleinerte GIF-Vorschau des Bildes mit einer standardmäßigen Breite von 100 Pixeln und legt einen Hyperlink zu der Originaldatei an. Klickt ein Benutzer auf das Bild, wird die große Version im Internetbrowser angezeigt. Der Name des Vorschau-GIFs entspricht dem Original, an das Ende des Namens wird aber zusätzlich die Endung _small angehängt. Globale Voreinstellungen für die Auto-Miniaturvorschau können Sie unter EXTRAS | OPTIONEN, Registerkarte AUTO-MINIATURVORSCHAU festlegen. Die Einstellungen werden in Kapitel 1 beschrieben. Abbildung 8.13: Die Auto-Miniaturvorschau
4. Um die Größe des Vorschaubildes anzupassen, verändern Sie die Größe mit Hilfe der Anfasser oder über die Bildeigenschaften. Bei der Anpassung der Bildgröße werden lediglich die Maßangaben width (Breite) und height (Höhe) im HTML-Tag img angepasst, das Bild selbst wird aber nicht skaliert. Wollen Sie die Größe des Bildes verändern, klicken Sie auf das Symbol ERNEUT EINLESEN. Erst so wird das Bild an die eingegebenen Maße angepasst. Rotieren und Kippen Die in FrontPage integrierten Manipulationswerkzeuge für Bilder gestatten es, ein Bild im Winkel von 90° zu rotieren oder zu kippen, das heißt, entlang der horizontalen oder vertikalen Mittelachse zu spiegeln. Verwenden Sie hierzu die Symbole in der Symbolleiste GRAFIK. Sie können auch mehrfach rotieren und kippen, sodass acht verschiedene Ausrichtungen erzielt werden können. Abbildung 8.14 zeigt die möglichen Varianten. Aber Achtung: Diese Operation wirkt sich auf das Bild selbst aus! Haben Sie die Seite einmal geschlossen, können Sie, wie bei allen folgenden Bildoperationen, diesen Vorgang nicht wieder rückgängig machen! Binden Sie daher sicherheitshalber stets nur Kopien Ihrer Originaldateien in FrontPage-Seiten ein!
343
8 Bilder und Design Abbildung 8.14: Rotieren und Kippen von Bildern
Farben anpassen Die Funktionen zur Regulierung von Helligkeits- und Kontrastwerten in FrontPage sind eher unbrauchbar für die Bildbearbeitung. Möchten Sie aber ein Bild in eine Seite einbinden, das nicht zu stark im Vordergrund stehen soll, kann es sich anbieten, die Helligkeit des Bildes zu erhöhen. Bessere Ergebnisse erzielen Sie unter der Schaltfläche FARBE MIT DER FUNKTION VERWASCHEN, über die der Kontrast herab- und die Helligkeit heraufgesetzt werden. Unter der selben Schaltfläche FARBE wandelt der Punkt Graustufen das Bild in eine Schwarzweiß-Grafik um. Abbildung 8.15: Anpassung von Helligkeit und Kontrast
344
Bilder mit FrontPage bearbeiten
Mit der Funktion ABGESCHRÄGTER RAND werden graue und weiße Balken um das Bild erzeugt, die angeblich einen 3-D-Rahmen darstellen sollen. Ein mehrstündiger Test des Autors belegt, dass Betrachter nur mit großer Mühe und uneingeschränktem Wohlwollen einen räumlichen Bilderrahmen ausmachen können. Alle Funktionen erfüllen sicher im Einzelfall ihren Zweck, können aber dennoch nicht mit den Möglichkeiten eines Bildbearbeitungsprogramms mithalten, das wesentlich präzisere Einstellungen erlaubt. Abbildung 8.16 verdeutlicht die Manipulation der Helligkeitswerte anhand extremer Beispiele. Bilder beschneiden Besonders bei Fotografien gibt es häufig breite Ränder mit uninteressanten Zonen, weil der eigentliche Fokus auf der Bildmitte, beispielsweise auf Personen, liegt. Diese Teile können Sie entfernen, indem Sie das Bild beschneiden, das heißt, auf den gewünschten Bereich trimmen. Klicken Sie dazu auf das BESCHNEIDEN-Symbol in der Grafiksymbolleiste und bestimmen Sie mit dem flexiblen Auswahlrechteck den zu beschneidenden Bereich. Sind Sie mit Ihrer Auswahl zufrieden, klicken Sie noch einmal auf das BESCHNEIDENSymbol, und der Rest des Bildes wird entfernt. Abbildung 8.16: Bilder beschneiden
Transparenz festlegen GIF-Bilder enthalten eine Farbpalette von bis zu 256 indizierten Farben. Eine dieser Farben kann als transparent festgelegt werden. Jedes Pixel, das über diesen Farbwert verfügt, erscheint dann in der Grafik durchscheinend, und der Hintergrund wird sichtbar. Beachten Sie jedoch, dass Grafikprogramme
345
8 Bilder und Design
Objektränder glätten, indem Übergangspixel zwischen Vorder- und Hintergrund errechnet werden. Die Transparenzfunktion entfernt allerdings nur eine Farbe, sodass hässliche Rasterungen auftreten können. Abbildung 8.18 zeigt dies.
8.5
FrontPage-Designs
FrontPage-Designs sind webübergreifende Formatvorlagen, die verwendete Schriftarten, Farben und Grafiken für Navigationselemente und weitere Vorgaben festlegen. FrontPage liefert sechzig vordefinierte Designs mit. Diese Zahl ist im Vergleich zu allen mit FrontPage entwickelten Webs sehr gering, sodass zu befürchten ist, dass das von Ihnen gewählte Design mehr als einmal im Internet zu finden ist. Die Individualität Ihres Webs sinkt dadurch erheblich. Wie Sie dem begegnen, soll im Folgenden erläutert werden.
8.5.1
Designs zuweisen
Um ein Design auszuwählen oder Ihren Wünschen anzupassen, öffnen Sie das Web, für das Sie ein Design anpassen wollen. Wählen Sie das Menü FORMAT | DESIGNS. Das DESIGNS-Fenster wird geöffnet, wie Abbildung 8.17 zeigt. In der linken Spalte sehen Sie die Liste der mitgelieferten Designs. Haben Sie zusätzliche Designs (etwa aus dem FrontLook-Paket, das in Kapitel 15 beschrieben wird) installiert, werden auch diese hier aufgeführt. Wählen Sie eines der Designs aus und bestimmen Sie, ob das Design auf das gesamte Web oder nur auf einzelne Seiten angewendet werden soll. Möchten Sie nur einige Seiten mit den Designvorgaben formatieren, markieren Sie, bevor Sie das Designs-Fenster öffnen, in der Ordneransicht die gewünschten Dateien und wählen dann die Option AUSGEWÄHLTE SEITE(N). Im linken unteren Bereich des Designs-Fensters stellen Sie Designmerkmale ein, mit Hilfe derer jedes Design modifiziert werden kann. Vier Optionen stehen zur Verfügung: 왘 LEBENDIGE FARBEN
Wenn aktiviert, wird das Design mit mehr und unterschiedlichen Farbtönen versehen. Oftmals wirken die Designs mit lebendigen Farben wärmer. 왘 AKTIVE GRAFIKEN
Sofern vom Browser unterstützt, werden hiermit Rollover-Effekte für die Navigationselemente aktiviert. Bewegt ein Benutzer die Maus über eine Schaltfläche, wird diese Grafik gegen eine farblich anders gestaltete ausgetauscht.
346
FrontPage-Designs 왘 HINTERGRUNDBILD
Jedes Design verfügt über ein Hintergrundbild, das Sie einblenden können. Die mitgelieferten Bilder sind aber zum großen Teil von mangelhafter Qualität, verfügen über zu starke Kontraste und stören so das Gesamtbild. 왘 CSS VERWENDEN
Cascading Style Sheets (CSS) sind mächtige Formatvorlagen, die nicht nur Zeichen- und Absatzformatierungen definieren, sondern auch Positionierung und dynamische Veränderungen an Seitenelementen festlegen können. Sie werden nur von neueren Browsern unterstützt. Allerdings können Sie in den Designs immer CSS einsetzen, da die fehlende Unterstützung von CSS im Browser keine Fehler verursacht. Es fehlen dann lediglich die besonderen Formatierungen. Kapitel 11 erläutert die Verwendung von CSS. Abbildung 8.17: Das DesignsFenster
8.5.2
Designs ändern
Möchten Sie ein Design ändern, klicken Sie im Designs-Fenster auf die Schaltfläche ÄNDERN, um die Elemente des Designs zu modifizieren. Wollen Sie wirklich das komplette Design überarbeiten, steht Ihnen viel mühevolle Arbeit bevor, da jedes einzelne Element, jede Grafik und die häufigsten Textformate angepasst werden können. Sofern Cascading Style Sheets eingesetzt werden sollen, lassen sich darüber hinaus auch alle HTML-Tags individuell formatieren. Die Änderungen können Farben, die im Design eingesetzt werden, betreffen, Sie können aber auch völlig neue Grafiken für Schaltflächen und Navigationselemente Schriftarten und -grade auswählen. Das Vorschaufenster zeigt jeweils die Veränderungen an.
347
8 Bilder und Design
Die Menüs sind weitestgehend selbsterklärend, lediglich auf zwei Besonderheiten seien Sie hingewiesen: Die Einstellungen für Farben basieren auf Farbschemata, die harmonierende Farbtöne enthalten. Über die Registerkarte FARBENRAD können Sie das Schema anpassen. Auf der Registerkarte BENUTZERDEFINIERT können Sie für jedes Element individuelle Vorgaben festlegen. Abbildung 8.18: Farbeinstellungen für Designs
Wenn Sie Schriftarten festlegen, denken Sie stets daran, dass die Schriftart auch auf dem System des Betrachters installiert sein muss, damit sie angezeigt wird. Fügen Sie daher sicherheitshalber stets durch Kommata getrennte Alternativschriften mit ein. Abbildung 8.19: Texteinstellungen für Designs
348
FrontPage-Designs
Über die Schaltfläche WEITERE TEXTFORMATVORLAGEN gelangen Sie an die Einstellungen für Cascading Style Sheets (CSS). Dort können Sie, wie Sie es aus Textverarbeitungsprogrammen wie Word kennen, Zeichen-, Absatz-, Rahmen- und Nummerierungsformate definieren. Die Liste BENUTZERDEFINIERTE FORMATVORLAGEN enthält dabei alle Einstellungen für spezielle Formate, beispielsweise Randbereiche, die Liste ALLE FORMATVORLAGEN umfasst Vorgaben für alle HTML-Tags. Abbildung 8.20: Formatvorlagen mit CSS
8.5.3
Randbereiche definieren
FrontPage setzt Seiten auf Wunsch aus mehreren Dateien zusammen. Der eigentliche Inhalt einer Seite kann mit Randbereichen versehen werden, deren Inhalte übergreifend für mehrere Seiten oder einzelne Seiten gelten. Die Randbereiche können die Navigationsleisten enthalten, die bereits in Kapitel 6 erläutert wurden. Randbereiche können links, oben und unten eingebunden werden. Diese Einstellungen lassen sich für das gesamte Web oder für jede einzelne Seite festlegen. Im Menü FORMAT | GEMEINSAME RANDBEREICHE können Sie sich aussuchen, welche Ränder Sie um die Seite einfügen möchten und ob die automatisch erzeugten Navigationsschaltflächen darin angezeigt werden sollen. Die Ränder sind so breit wie ihr Inhalt, planen Sie also, einen Rand leer zu lassen, können Sie ihn getrost deaktivieren. Auf einzelnen Seiten können Sie den Randbereich auch ausblenden, indem Sie die Option ANWENDEN AUF AKTUELLE SEITE auswählen. Heben Sie die individuelle Einstellung auf, indem Sie das Feld RANDBEREICHE FÜR AKTUELLE SEITE AUF WEBSTANDARD ZURÜCKSETZEN aktivieren.
349
8 Bilder und Design
Den Bereich EIGENSCHAFTEN DER GEMEINSAMEN RANDBEREICHE, in dem Hintergrundfarbe oder Hintergrundbild für die Randbereiche – allerdings nicht den rechten – eingestellt werden können, erreichen Sie auch direkt über das Kontextmenü der Randbereiche. Hierzu klicken Sie in der Normalansicht mit der rechten Maustaste auf einen Randbereich und wählen den Punkt EIGENSCHAFTEN DER GEMEINSAMEN RANDBEREICHE. Abbildung 8.21: Dialogfenster „Eigenschaften für die Randbereiche“
350
9
FrontPage-Webs veröffentlichen
In Kapitel 6 haben Sie die Funktionen von FrontPage-Webs kennen gelernt und erste Webs erstellt. Die Webs sind dort mit ersten Inhalten gefüllt worden, und in den Kapiteln 7 und 8 haben Sie erfahren, wie die Seiten des Webs mit Text und Grafiken gestaltet werden. Wenn Sie in dieses Kapitel „quer einsteigen“, haben Sie wahrscheinlich Ihr Web soweit mit Inhalten gefüllt, dass es bereit zum Stapellauf ist. Erst von einem Webserver aus können die Internet-Benutzer auf Ihr Web zugreifen. Der Server, den Sie für die Veröffentlichung Ihres Webs nutzen, muss mit den FrontPage-Servererweiterungen ausgestattet sein. Diese Erweiterungen versehen den Server mit neuen Fähigkeiten, mit Hilfe derer die besonderen Funktionen von FrontPage wie Zugriffskontrolle, Dateierstellung, Suche und Formularauswertung auf dem Server ausgeführt werden können. Kapitel 2 erläutert die Installation und Konfiguration der Servererweiterungen und die Verwendung des FrontPage Server Extension Kits.
Servererweiterungen sind für die meisten FrontPage-Funktionen Voraussetzung
Da die meisten Internet-Provider inzwischen auf ihren Servern die Servererweiterungen installieren, ist davon auszugehen, dass Sie diese nutzen können. Arbeiten Sie ausschließlich mit FrontPage und verfügt Ihr Server nicht über die Servererweiterungen, kann es sich lohnen, den Webmaster zu fragen, ob die Installation möglich ist. Die Flexibilität und der Funktionsreichtum von FrontPage kann sogar ein Argument dafür sein, anderenfalls den Provider zu wechseln, damit Sie alle Möglichkeiten ausschöpfen können. Aber auch ohne FrontPage-Servererweiterungen kann Ihr Web veröffentlicht werden. Welche Alternativen Ihnen dafür offen stehen, zeigt das Kapitel 9.
9.1
Die Fehler-Checkliste
Bevor Sie nun das Web an die Öffentlichkeit geben, ist es unumgänglich, Ihr Web auf alle verbliebenen Fehler zu testen. Diese schleichen sich leider auch bei sorgfältiger Arbeit ein. Mit unserer 10-Punkte-Checkliste erkennen Sie, was noch zu korrigieren ist. Wollen Sie die Schritte anhand unseres Projektwebs nachvollziehen, öffnen Sie das Beispiel im Ordner pro090, das Sie auf der Website zum Buch finden (www.frontpage.comzept.de).
9.1.1
Stimmen die Inhalte?
Haben Sie eine umfangreiche Website entwickelt, hat dies sicher eine ganze Weile gedauert. Dann kann es sein, dass viele der Seiten zu dem Zeitpunkt der Veröffentlichung nicht mehr korrekt sind, dass sich Preise, Adressen, Te-
351
9 FrontPage-Webs veröffentlichen
lefonnummern, technische Daten oder Quellenangaben geändert haben. Enthalten Ihre Seiten viele solcher Inhalte, führen Sie am besten eine Liste der „empfindlichen“ Daten, das heißt der Informationen, die Gefahr laufen, sich schnell zu ändern. Damit können Sie vor der Veröffentlichung noch einmal die Aktualität überprüfen. Veraltete Informationen finden Welche Inhalte einem starken Alterungsprozess unterliegen, hängt jeweils von Ziel und Struktur eines Webs ab, grundsätzlich aber sinkt nach einigen Monaten das Interesse der Besucher an einer Website, wenn sich nichts sichtbar verändert hat. Bei umfangreicheren Websites sollte daher zumindest auf den entscheidenden Bereichsstartseiten ein kontinuierlicher Wandel stattfinden. Produzieren Sie News, und stellen Sie auch kleinere Änderungen als wichtige Neuigkeit dar. Gibt es keine aktuellen Informationen, weisen Sie auf bereits Bekanntes hin, stellen Sie Besonderheiten Ihres Produktes oder den Mitarbeiter der Woche vor. Dieser Weg mag etwas schreierisch sein, ist aber besser als eine langweilige Startseite, auf der über Wochen keine Bewegung zu verzeichnen ist. Techniken und Konzeptionen des OnlineMarketings werden in Kapitel 4 ausführlich beschrieben. Wo sich über lange Zeit nichts geändert hat, lassen Sie sich über die Berichtsoption veraltete Dateien anzeigen. Wählen Sie das Menü ANSICHT | BERICHTE | DATEIEN | ÄLTERE DATEIEN, werden die Seiten aufgelistet, die innerhalb eines von Ihnen anzugebenden Zeitraumes nicht verändert wurden. Unter EXTRAS | OPTIONEN, Registerkarte BERICHTSANSICHT legen Sie im Feld ÄLTERE SEITEN SIND MEHR ALS die Anzahl von Tagen fest, nach der eine Seite als veraltet gilt. Standardmäßig setzt FrontPage hier 72 Tage ein, was ein angemessener Wert ist. Nicht auf allen Seiten ist eine häufige Veränderung sinnvoll, so dass dieser Berichtstyp nicht ohne weiteres hilfreich sein kann. Nutzen Sie statt dessen die Aufgabenverwaltung, um regelmäßige Änderungen an Seiten, die einer solchen Pflege bedürfen, anzuweisen. Kapitel 13 erläutert die Vorgehensweise. Im gesamten Web suchen und ersetzen Stellen Sie fest, dass eine Information, Datumsangabe oder ein Wort im gesamten Web nicht mehr korrekt ist, müssen Sie dazu nicht jede Seite öffnen und dort den Fehler beheben. Nutzen Sie die Ersetzungsfunktion für das gesamte Web. 1. Speichern und schließen Sie dazu alle geöffneten Seiten in Ihrem Web, nicht aber das Web selbst. Nur so können Sie auf allen Seiten des Webs suchen.
352
Die Fehler-Checkliste
2. Wechseln Sie in die Ordneransicht. 3. Markieren Sie die Dateien, in denen Sie Inhalte ersetzen möchten. Um mehrere Dateien gleichzeitig zu markieren, halten Sie die (Strg)-Taste beim Auswählen gedrückt. Wollen Sie alle Dateien in einem Ordner ersetzen, markieren Sie diesen. 4. Wählen Sie nun das Menü BEARBEITEN | ERSETZEN... oder benutzen Sie das Tastaturkürzel (Strg)+(H). Abbildung 9.1: Das Dialogfenster zum webweiten Ersetzen
5. Geben Sie im Feld SUCHEN NACH das zu ersetzende Wort ein. 6. Im Feld ERSETZEN DURCH tragen Sie den Begriff ein, mit dem das Suchwort ersetzt werden soll. Soll das Suchwort gelöscht werden, tragen Sie in diesem Feld nichts ein. 7. Stellen Sie unter SUCHOPTIONEN die gewünschten Einstellungen ein. 8. Unter SUCHBEREICH können Sie die Suche auf das gesamte Web erweitern oder auf die markierten Dateien beschränken. 9. Soll die Suche auch Groß- und Kleinschreibung der Wörter beachten, aktivieren Sie diese Option. FrontPage unterscheidet sonst nicht zwischen Schreibweisen. 10. Mit der Option NUR GANZES WORT können Sie festlegen, ob der Suchbegriff als vollständiges Wort oder auch als Teil eines Wortes gefunden werden soll. Beispielsweise würden mit dem Suchbegriff „Wurst“ auch die Begriffe „Wurstfinger“ oder „Bettwurst“ (sofern Groß-/Kleinschreibung ignoriert wird) gefunden, falls diese Schaltfläche nicht aktiviert ist. Ersetzungen könnten hier zusammengesetzte Begriffe entstellen, weshalb Sie in der Regel diese Funktion aktivieren sollten, es sei denn, Sie wissen, dass das Wort durchgängig allein steht. 11. Soll ein HTML-Tag gesucht und ersetzt werden, beispielsweise um durchgängig eine Farbe oder auch die Seitentitel zu ändern, aktivieren Sie die Schaltfläche IN HTML SUCHEN.
353
9 FrontPage-Webs veröffentlichen
Achtung: Lassen Sie hier Text ersetzen, der auch in HTML-Tags oder -Attributen enthalten ist, kann dies die Funktion Ihrer Seiten beeinträchtigen. Wollen Sie im gesamten Web ein Tag entfernen, denken Sie daran, dass sich die Attribute eines Tags unterscheiden können und dass jedes Tag auch ein Schluss-Tag hat. 12. Klicken Sie nun auf IM WEB SUCHEN. Das Web wird durchsucht und die Fundstellen werden in einer Liste angezeigt. Abbildung 9.2: Die Liste der Seiten mit gefundenen Suchbegriffen im Web
13. Wollen Sie die Ersetzungen gleich durchführen, klicken Sie in der Liste auf die entsprechende Seite. Sie wird geöffnet und die erste Fundstelle markiert. Sie können nun auswählen, ob Sie die gefundene Stelle oder alle Übereinstimmungen in diesem Dokument ersetzen wollen. 14. Sie können aber auch zu jeder gefundenen Stelle eine Aufgabe hinzufügen. Die Arbeit mit Aufgaben erläutert Kapitel 13. Sie können sich viel Arbeit ersparen, wenn Sie mit eindeutigen Abkürzungen für lange Wörter und Begriffe arbeiten, die Sie nach Fertigstellung aller Seiten mit Hilfe der Suchen-und-Ersetzen-Funktion webübergreifend gegen den korrekten Begriff austauschen.
354
Die Fehler-Checkliste
In einer Website zum Thema Reiserücktrittsversicherungen wird diese Bezeichnung sicher häufig auftauchen, was bei der manuellen Eingabe sicher mühsam ist und zusätzlich die Gefahr von Tippfehlern in sich birgt. In diesem Beispiel könnte ein Kürzel wie rrv hilfreich sein. Denken Sie auch an Flexionsformen, die sich deutlich vom Grundwort unterscheiden können. Am leichtesten ist es, allen Abkürzungen ein eindeutiges Zeichen voranzustellen, das Sie dann zusätzlich suchen können, um keine Stelle, die ersetzt werden soll, zu übersehen. Das Zeichen # wird selten verwendet, so dass Sie hiermit alle Abkürzungen versehen können.
9.1.2
Haben Sie alle rechtlichen Aspekte berücksichtigt?
Vielleicht haben auch mehrere Autoren an Ihrer Website gearbeitet. Auch wenn Sie allen Autoren vertrauen und um ihre Kompetenz wissen: Sind Sie dafür verantwortlich, welche Inhalte präsentiert werden, fällt es später auf Sie zurück, wenn etwas falsch dargestellt wird. Setzen Sie daher in einer Mehrautorenumgebung möglichst einen Schlussredakteur ein, der die inhaltliche Seite betreut. FrontPage erleichtert die Ergänzung jeder Seite mit einem Copyright-Vermerk und einer Kontaktangabe mit der E-Mail-Adresse des Webmasters. Machen Sie es Ihren Besuchern leicht, mit Ihnen zu kommunizieren. Prüfen Sie auch, ob der Einsatz von Text- und Bildmaterial, das Sie nicht selbst erstellt haben, Rechte Dritter verletzen könnte. Besonders häufig werden Grafiken aus ClipArt-Sammlungen oder aus Bildkatalogen eingesetzt. Die Anbieter dieser Materialien lizenzieren ihre Produkte an ihre Kunden, und oftmals wird neben der Bezahlung der Lizenzgebühr erwartet, dass ein Quellenverweis dort angebracht wird, wo die Datei erscheint. Lesen Sie die Lizenzbestimmungen genau, und erwähnen Sie lieber einmal zu oft, woher das Bild stammt.
Lizenzrechte prüfen
Marken- und Urheberrecht sind für den Laien kaum überschaubare Bereiche und an vielen Stellen mit Unsicherheiten verbunden. Während diese Zeilen geschrieben werden, ist gerade wieder ein Streitfall im Gange, der sich um den Begriff „Webspace“ dreht. Seit Jahren wird dieses Wort für Speicherplatz auf Webservern verwendet und von vielen Providern für ihre Produktwerbung eingesetzt. Nun sorgte eine Abmahnungswelle für Aufsehen, nachdem sich ein Unternehmer den Begriff als Markenname schützen ließ. Ohne auf die Details dieses Falles eingehen zu wollen, soll er Ihnen jedoch zeigen, dass es durchaus wichtig ist, auch die rechtliche Seite Ihres Angebotes abzusichern. Der Anhang nennt Internetadressen, die sich juristischen Fragen im Internet widmen.
355
9 FrontPage-Webs veröffentlichen
9.1.3
Ist alles korrekt geschrieben?
Nicht ganz so heikel, aber doch ebenso wichtig ist die Rechtschreibprüfung Ihrer Seiten. Auch wenn FrontPage eine automatische Rechtschreibkontrolle für die einzelnen Seiten enthält, sollten Sie eine darin sichere Person den Inhalt Ihrer Website bearbeiten lassen. Aber auch FrontPage kann Ihnen bei der Schlusskontrolle zur Hand gehen. 1. Speichern und schließen Sie dazu alle geöffneten Seiten in Ihrem Web, nicht aber das Web selbst. Dies ist wichtig, da ansonsten die Kontrolle nicht auf das gesamte Web, sondern nur auf die aktuelle Seite angewendet wird. 2. Wechseln Sie in die Ordneransicht. 3. Markieren Sie die Dateien, die Sie auf Rechtschreibfehler überprüfen möchten. Um mehrere Dateien gleichzeitig zu markieren, halten Sie die (Strg)-Taste beim Auswählen gedrückt. Wollen Sie alle Dateien in einem Ordner prüfen, markieren Sie diesen. 4. Wählen Sie das Menü EXTRAS | RECHTSCHREIBUNG oder drücken Sie (F7). Abbildung 9.3: Webweite Rechtschreibprüfung
5. Wählen Sie nun aus, ob Sie die markierten Dateien oder das gesamte Web prüfen möchten. 6. Um jeder Seite, die Rechtschreibfehler aufweist, eine Aufgabe hinzuzufügen, aktivieren Sie die Option FÜR SEITEN MIT RECHTSCHREIBFEHLERN JE EINE AUFGABE HINZUFÜGEN. 7. Klicken Sie auf BEGINNEN.
356
Die Fehler-Checkliste
8. Die Überprüfung wird begonnen und eine Liste der Seiten mit Fehlern angezeigt. Auch hier können Sie entweder sofort die Korrektur vornehmen, indem Sie doppelt auf die gefundenen Seiten klicken oder eine Aufgabe zuweisen. Wie Sie mit der Rechtschreibprüfung Fehler in Seiten aufspüren und korrigieren, erläutert Kapitel 7.
9.1.4
Sind alle Seiten verlinkt?
Wenn eine Seite zwar in Ihrem Web existiert, auf sie aber von keiner Seite aus verwiesen wird, kann die Seite auch nicht aufgerufen werden. FrontPage spricht hier von unverknüpften Seiten. Diese „Waisenkinder“ können Sie mit der Berichtsfunktion von FrontPage ausfindig machen. Öffnen Sie die Berichtsansicht über die Ansichtenleiste, über das Menü ANSICHT | BERICHTE | PROBLEME |UNVERKNÜPFTE DATEIEN oder indem Sie auf BERICHTE klicken. Im Beispiel-Web pro090 von der Website sind drei Dateien nicht verknüpft. Sie werden zwar bei der Veröffentlichung mit auf den Server übertragen, allerdings sind sie dann nicht über einen Hyperlink erreichbar. Abbildung 9.4: Bericht über unverknüpfte Dateien
Zwei Möglichkeiten der Verknüpfung bietet FrontPage – die automatische Einbeziehung einer Datei in die Navigationsleisten (siehe Kapitel 6 und 10) oder die Erstellung eines Hyperlinks in einer Seite, wie Kapitel 7 erläutert. Im Beispiel pro090 ist es sinnvoll, die Feedback-Seite in die Navigationsleiste einzufügen, so dass die Besucher jederzeit eine E-Mail über ein Formular versenden zu können. Die Seite Inhalt sollte nur von der Startseite (index.htm) aus verknüpft werden, um die Navigation übersichtlich zu halten.
357
9 FrontPage-Webs veröffentlichen
Der Name der Startseite Die Startseite Ihrer Website sollte auch dann gefunden werden, wenn Besucher nur das Verzeichnis Ihrer Site, beispielsweise http://www.musicommunity.de oder http://www.ihrinternetprovider.de/~homepages/ihrname/, aufrufen. Jeder Server ist unterschiedlich konfiguriert. Meist lauten die Namen der Startseiten index.html oder default.htm. Fragen Sie Ihren Serveradministrator, wie diese Seite zu benennen ist, damit bei der Angabe eines Verzeichnisnamens nicht dessen Inhalt, sondern die Startseite angezeigt wird. Um neugierige Besucher vom Durchsuchen Ihrer Verzeichnisse abzuhalten, sollten Sie auch eine korrekt benannte Startseite in jedes Unterverzeichnis speichern. Das Meta-Tag für einen Seiten-Refresh (siehe hierzu Kapitel 7) könnte dann in dieser Seite enthalten sein, um statt dessen eine andere Seite aufzurufen.
9.1.5
Sind alle Seitentitel richtig benannt?
Die Seitentitel werden, sofern Sie keine Frames einsetzen, in der Titelleiste des Internet-Browsers angezeigt. Was dort erscheint, wird oft vom Entwickler übersehen. Besucher aber kann es verwirren, wenn auf einer Informationsseite als Seitentitel „Geben Sie hier den Seitentitel ein“ eingeblendet wird. Suchmaschinen ziehen die Suchbegriffe, über die diese Seite gefunden werden kann, auch aus dem Seitentitel. Abbildung 9.5: Berichtansicht mit allen Dateien
Darüber hinaus wird der Seitentitel von den Suchmaschinen in der Liste gefundener Seiten angezeigt. Es ist also in Ihrem Interesse, präzise Seitentitel einzugeben.
358
Die Fehler-Checkliste
Wechseln Sie in die Berichtsansicht und lassen Sie sich alle Dateien anzeigen. Wählen Sie dazu das Menü ANSICHT | BERICHTE | DATEIEN| ALLE DATEIEN. Diese Ansicht gibt einen Überblick über alle im Web gespeicherten Dateien. Hyperlinks werden dabei außer Acht gelassen. Die Spalte „Titel“ zeigt die Inhalte des -Tags jeder Seite an. Spalten anpassen Ist eine Spalte nicht breit genug, um den gesamten Text darzustellen, bewegen Sie die Maus über den rechten Rand der Spaltenüberschrift. Der Mauszeiger verändert sich in einen Balken mit zwei horizontalen Pfeilen. Sie können nun die Spaltenbreite anpassen. Die Sortierung können Sie ändern, indem Sie auf den Spaltentitel klicken. Die Inhalte der Spalte werden dann alphabetisch, nach Größe oder Datum sortiert. Klicken Sie noch einmal auf den Spaltenkopf, wird die Reihenfolge umgekehrt. Seitentitel ändern Klicken Sie mit der rechten Maustaste auf eine der hier angezeigten HTMLSeiten, können Sie über die Option EIGENSCHAFTEN aus dem Kontextmenü den Seitentitel ändern. Auf der Registerkarte ALLGEMEIN tragen Sie im Feld TITEL den gewünschten Titel ein. Schneller geht es, wenn Sie in der Spalte „Titel“ auf den bisherigen Titel klicken. Nach einer kurzen Verzögerung wandelt sich die Darstellung, und der Titel wird editierbar. Achtung: Sie können nur für HTML-Dokumente einen Titel angeben. Grafiken oder Textdateien können nicht mit einem Titel versehen werden. Ändern Sie den Inhalt der „Seitentitel“-Spalte für andere Dokumente als HTML-Seiten, wird die Datei umbenannt!
9.1.6
Funktionieren alle Hyperlinks?
Verweist ein Hyperlink auf eine Seite, die verschoben oder umbenannt wurde oder schlichtweg nicht vorhanden ist, landen die Besucher bei einem Klick auf den Link auf einer Seite, die darauf hinweist, dass die Seite nicht gefunden werden konnte. Prüfen Sie vor der Veröffentlichung genau, ob die Ziele der Hyperlinks auf Dateien in Ihrem Web auch tatsächlich existieren. Über das Menü ANSICHT | BERICHTE | PROBLEME | FEHLERHAFTE HYPERLINKS werden alle fehlerhaften Links angezeigt.
359
9 FrontPage-Webs veröffentlichen Abbildung 9.6: Bericht über unterbrochene Hyperlinks
Die Spalte „Hyperlink“ zeigt die Zieladresse der verknüpften Seite, und die Spalte „In Seite“ listet die Namen der Seiten auf, die fehlerhafte Links aufweisen. Ein zerbrochenes Kettenglied kennzeichnet einen unterbrochenen Link, ein Fragezeichen einen Hyperlink, der noch nicht überprüft wurde. Klicken Sie in der Liste mit der rechten Maustaste darauf und wählen Sie aus dem Kontextmenü SEITE BEARBEITEN. Die Datei wird geöffnet und der Hyperlink markiert. Sie können nun den Hyperlink entfernen oder korrigieren. Um nicht die Seite öffnen zu müssen, wenn Sie einen Hyperlink verändern möchten, klicken Sie doppelt auf den Link oder wählen Sie HYPERLINK BEARBEITEN... aus dem Kontextmenü. Das Dialogfenster HYPERLINK BEARBEITEN wird angezeigt. Abbildung 9.7: Editierfenster für Hyperlinks
360
Die Fehler-Checkliste
Hier ist im Feld HYPERLINKS ERSETZEN DURCH die alte URL angegeben. Tragen Sie die neue ein, oder wählen Sie die richtige Datei über DURCHSUCHEN aus. Ist ein Hyperlink nicht nur in der ausgewählten Datei enthalten, werden in der Liste am unteren Rand des Fensters alle Seiten angezeigt, von denen aus auf dieses Ziel verwiesen wird. Markieren Sie die gewünschten oder alle Seiten in dieser Liste und wählen Sie die Option IN AUSGEWÄHLTEN SEITEN ÄNDERN, um alle Hyperlinks zu berichtigen. Klicken Sie auf ERSETZEN. Diese Funktion können Sie auch nutzen, um webübergreifend einen Hyperlink zu ändern, auch wenn dieser zuvor nicht unterbrochen war. Wählen Sie aus dem Kontextmenü ALLE SEITEN ANZEIGEN, um auch korrekte Hyperlinks einzublenden, mit denen Sie dann genau so verfahren können wie oben beschrieben. Prüfung über die Hyperlinkansicht Eine andere, wenngleich nicht so komfortable Variante zur Kontrolle der Hyperlinks bietet die Hyperlinkansicht, die Sie über den Button HYPERLINKS in der Ansichtenleiste oder über das Menü ANSICHT | HYPERLINKS erreichen. Werden in der Ansicht keine Hyperlinks dargestellt, lassen Sie die Ordnerliste über ANSICHT | ORDNERLISTE anzeigen und markieren die Seite, deren Verknüpfungen Sie prüfen möchten. Fehlerhafte Hyperlinks werden hier mit einer unterbrochenen Linie dargestellt. Externe Hyperlinks Hyperlinks, die auf Seiten außerhalb des Webs verweisen, in der Regel also andere Websites, werden von FrontPage nach dem gleichen Muster behandelt. Sind Sie während der Prüfung nicht mit dem Internet verbunden, können diese Hyperlinks nicht kontrolliert werden. Stellen Sie dazu eine Verbindung zum Internet her und lassen Sie die Prüfung erneut über ANSICHT | AKTUALISIEREN oder (F5) durchführen.
9.1.7
Welche Schwachpunkte hat Ihr Web?
FrontPage zeigt in der Normalansicht die zu erwartende Download-Dauer einer Seite an. Der dort angegebene Wert wird nach der Größe der Seite und der mit ihr verbundenen Grafiken und sonstigen Elemente in Abhängigkeit vom Anbindungstyp des Betrachters kalkuliert. Die Faktoren wie Leistungsfähigkeit des Providers, Serverauslastung, Netzbelastung zu Stoßzeiten werden dabei nicht berücksichtigt. Insofern handelt es sich hierbei nur um Richtwerte, die Sie bei der Entwicklung zum Großteil nicht beeinflussen können. Gerade bei wichtigen Seiten Ihres Webs aber lohnt es sich, vor der Veröffentlichung noch einmal die zu erwartende Ladedauer zu testen, um Schwachpunkte in einzelnen Dateien aufzuspüren. Sie müssen dazu aber nicht er-
361
9 FrontPage-Webs veröffentlichen
neut jede Seite aufrufen, sondern können die Berichtsfunktion von FrontPage nutzen. Öffnen Sie die Berichtsansicht für langsame Seiten über das Menü ANSICHT | BERICHTE | PROBLEME | LANGSAME SEITEN. Abbildung 9.8: Die Berichtsansicht für langsame Seiten
Wird in der Berichtsansicht nun nichts angezeigt, kann das zweierlei heißen: Entweder sind Ihre Seiten so schlank, dass mit einer zu langen DownloadZeit nicht zu rechnen ist, oder aber die Einstellungen für die Berechnung langsamer Seiten sind zu hoch angesetzt. Im ersten dieser Fälle brauchen Sie nichts weiter zu tun. Die Seiten werden schnell geladen und angezeigt. Als Standardeinstellung weist FrontPage solche Dokumente als langsam aus, deren Download länger als 30 Sekunden dauert. Abbildung 9.9: Die Optionen für die Berichtsansicht
362
Die Fehler-Checkliste
Anderenfalls können Sie dieses Maß ändern, indem Sie das Menü EXTRAS | OPTIONEN auswählen. Wechseln Sie auf die Registerkarte BERICHTSANSICHT. Unter LANGSAME SEITEN BRAUCHEN ZUM DOWNLOADEN MINDESTENS haben Sie die Möglichkeit, den Wert anzupassen. Obwohl 30 Sekunden eine angemessene Zeit sind, kann es sich für Sie lohnen, die Grenze etwas herabzusetzen. Allerdings sollten Sie keine Angabe unter 20 Sekunden machen, da sonst zu viele Seiten als langsam markiert werden, die es nicht tatsächlich sind. Ausschlaggebend für den kalkulierten Wert ist die ANGENOMMENE MODEMGESCHWINDIGKEIT, die Sie ebenfalls auf der Registerkarte einstellen können. Die standardmäßige Geschwindigkeit von 28,8 kBit, von der FrontPage ausgeht, sollten Sie beibehalten. Nur wenn Sie für ein Intranet entwickeln, dessen Rechner über eine LAN-Verbindung gekoppelt sind, ist es sinnvoll, den Wert höher zu setzen. Haben Sie die Änderungen vorgenommen, klicken Sie auf OK und aktualisieren Sie die Ansicht, um das Web erneut auf langsame Seiten zu überprüfen. Benutzen Sie dazu den Menüpunkt ANSICHT | AKTUALISIEREN oder die Taste (F5). Sie können nun doppelt auf jede der angezeigten Seiten klicken, um sie zu öffnen und dort eventuell nicht benötigten Ballast zu entfernen oder die Bildgrößen zu optimieren. Abweichungsfaktoren Doch nicht allein die Dateigrößen haben Einfluss auf die Geschwindigkeit der Anzeige. Tabellen etwa werden von Browsern unterschiedlich schnell aufgebaut, da herkömmlicherweise alle Inhalte geladen sein müssen, bis die Breiten und Höhen aller Tabellenzellen berechnet werden können. Erst neuere Internet-Browser passen die Tabellendimensionen während des Aufbaus an. Damit kann sich die Anzeige noch verzögern. Ein weiterer Faktor ist die Anzahl der Bilder auf einer Seite. Viele kleine Grafiken werden langsamer geladen als eine große Bilddatei – auch wenn die Datenmenge nicht höher ist. Dies liegt daran, dass ein Internet-Browser zunächst die Seite auswertet, dann eine Abfrage an den Server sendet, der die Dateien bereitstellt. Diese Verzögerungspausen können den Download stark verzögern. Bedenken Sie auch, dass Seiten, deren Inhalte dynamisch generiert werden, wie etwa Gästebücher oder Inhaltsverzeichnisse von Diskussionsforen, mit der Zeit immer größer werden. Daher sollten Sie schon bei der Entwicklung darauf achten, auf diesen Seiten so wenig wie möglich aufwendige Grafiken oder Layouts einzusetzen.
363
9 FrontPage-Webs veröffentlichen
9.1.8
Wie stellen Browser das Web dar?
Jedes System stellt Internet-Seiten unterschiedlich dar. Dies liegt zum einen an den abweichenden Hardware- und Systemkonfigurationen, vor allem aber am Browsertyp. Fehler können dabei nur mit großer Erfahrung vorausgesehen werden. Testen Sie umfassend!
Sicher arbeiten Sie mit Ihrem Lieblingsbrowser, und FrontPage setzt in der internen Vorschau den Internet Explorer ein, der über eine sehr große Funktionsvielfalt verfügt und auch fehlerhaften HTML-Code teilweise recht nachsichtig betrachtet und korrekt darstellt. Dies ist nicht bei allen Browsern so. Daher sollten Sie zumindest die gebräuchlichsten Internet-Browser, die verfügbar sind, auf Ihrem System installiert haben. Da die meisten Browser kostenlos und auf vielen Heft-CDs der Computerzeitschriften zu finden sind, sollte es kein Problem darstellen, sich mit den aktuellsten Versionen zu versorgen. Auch wenn die Mehrheit der Internet-Nutzer heute Internet Explorer und Netscape Navigator in den Versionen 4.0 oder höher einsetzt, ist für Webentwickler ein Test der Seiten mit verschiedenen, auch älteren Browsern, ein Muss. Sicher wird es nicht möglich sein, auf allen Browsern identische Darstellungen zu erzielen, aber es sollten zumindest keine Fehler auftreten oder Seiten gar nicht dargestellt werden. Auf die Unterschiede der Darstellung von Webseiten mit verschiedenen Betriebssystemen und Internet-Browsern geht Kapitel 7 ein. Einen Vorgeschmack auf die möglichen Resultate geben die Abbildungen 9.10 bis 9.12.
Abbildung 9.10: Eine Beispielseite im Netscape Navigator 4.6 unter Windows
364
Die Fehler-Checkliste Abbildung 9.11: Dieselbe Seite im Java-Browser Sun HotJava 3.0
Abbildung 9.12: WebTV zeigt diese Seite so an...
9.1.9
Sind die Seiten bereit für Suchmaschinen?
Einstiegspunkt Nummer eins für neue Besucher auf Ihrer Website sind die Suchmaschinen und Webkataloge wie Google, AltaVista, Yahoo, Lycos, Web.de oder Fireball. Sind Sie dort gut platziert, werden Sie sich über einen regen Zustrom von Surfern freuen können. Gerade bei einem neuen Angebot ist es wichtig, leicht gefunden zu werden, wenn es sich noch nicht herumgesprochen hat, dass Ihre Website besuchenswert ist.
365
9 FrontPage-Webs veröffentlichen
Ausschlaggebend für die Platzierung sind die richtigen Schlagwörter. Diese Begriffe sollten im Seitentitel, im Text der Seite und in den Meta-Tags auftauchen. Kapitel 7 zeigt deren richtigen Einsatz. Möchten Sie Internet-Nutzer anlocken, die beispielsweise Gebrauchtwagen suchen, sollten Sie sich in diese potenziellen Besucher hineinversetzen. Wonach suchen sie, welche Wörter werden sie verwenden? Hier ist Fantasie gefragt, um alle Möglichkeiten auszuschöpfen. Die möglichen Suchbegriffe könnten hier die ganze Bandbreite von „Gebrauchte Automobile“ bis hin zu „Billige Schrottkarren“ umfassen. Wer etwas sucht, muss allerdings nicht zwangsläufig schon vor der Suche wissen, was er finden will. Vielleicht sind Schlagwörter wie „Kurbelwelle gebrochen“ oder „Autodiebstahl“ interessant, also Begriffe, die nach einer Lösung verlangen und nicht schon den gesuchten Begriff beinhalten. Denken Sie auch daran, dass mit falsch geschriebenen Wörtern gesucht wird. Es kann lohnenswert sein, typische Tippfehler in die Schlagwortliste aufzunehmen.
9.1.10
Was sagen andere zu Ihrem Web?
Weil vier Augen mehr als zwei sehen, bitten Sie Freunde und Bekannte, die vielleicht auch gar nichts vom Internet oder Ihrem Angebot verstehen, sich Ihr Web anzuschauen, bevor es online geht. Fällt es den Besuchern leicht, mit der Navigation umzugehen? Finden sie alle Inhalte, verstehen sie, was die Website transportieren soll? Gefällt das Design, und interessiert es überhaupt jemanden, was Sie in Ihrem Web zum Besten geben? Lassen Sie fremde Personen unkommentiert Ihr Web durchforsten, erfahren Sie schnell, wo Schwierigkeiten auftauchen. Ein solcher Betatest kann Fehler aufzeigen, die Sie als Entwickler nicht mehr erkennen können, weil Sie schon zu tief in der Materie stecken.
9.2
Seiten für die Veröffentlichung auswählen
Was aber, wenn Sie zwar alle Fehler im Web bereinigt haben, aber Ihr Web noch nicht fertig stellen konnten oder nur einen Teil des Webs publizieren möchten? FrontPage ist auch dafür gerüstet. Das Dialogfenster zum Veröffentlichen Ihres Webs finden Sie unter DATEI | WEB VERÖFFENTLICHEN. Sie können vor der Veröffentlichung auswählen, welche Dateien Sie auf den Server übertragen möchten und welche nicht. Dabei können Sie jederzeit Seiten zur Veröffentlichung kennzeichnen oder dabei auslassen.
366
Seiten für die Veröffentlichung auswählen
Haben Sie Seiten mit FrontPage-Komponenten in Ihrem Web erstellt und wurden diese auf dem Server verändert, wie dies bei Diskussionsforen und Gästebüchern der Fall ist, würden bei der nächsten Veröffentlichung der lokalen Seiten die Dateien auf dem Server überschrieben und die Informationen dort verloren gehen. Solche Dateien sollten daher von der Veröffentlichung ausgenommen werden.
9.2.1
Synchronisierung
Die Seitenkennzeichnung lässt sich aber auch dazu nutzen, Aufwand und Verbindungskosten bei der Aktualisierung des Webs zu sparen, indem nur diejenigen Dateien veröffentlicht werden, die sich geändert haben. FrontPage prüft dann, welche Dateien sich seit der letzten Veröffentlichung auf dem lokalen System verändert haben, und veröffentlicht nur diese. Aktivieren Sie dazu im Veröffentlichungsfenster die Option NUR GEÄNDERTE SEITEN VERÖFFENTLICHEN. Anderenfalls werden alle Dateien im lokalen Web veröffentlicht und die auf dem Server vorhandenen Seiten durch die neu veröffentlichten ersetzt. Bei der Veröffentlichung eines Webs prüft FrontPage, auch wenn Sie nur bestimmte Dateien übertragen, welche Veränderungen Sie auf dem lokalen Web vorgenommen haben, und aktualisiert das Web auf dem Server dementsprechend.
9.2.2
Seiten zur Veröffentlichung kennzeichnen
Standardmäßig veröffentlicht FrontPage alle Dateien. Möchten Sie einzelne Dateien bei der Veröffentlichung ausschließen, markieren Sie diese. Wählen Sie dazu das Menü ANSICHT | BERICHTE | WORKFLOW |VERÖFFENTLICHUNGSSTATUS. Dieser Bericht zeigt an, welche Dateien veröffentlicht werden. Abbildung 9.13: Veröffentlichungsstatus
367
9 FrontPage-Webs veröffentlichen
Markieren Sie in der Liste die Datei, die Sie nicht mit veröffentlichen möchten, und klicken Sie mit der rechten Maustaste darauf. Wählen Sie aus dem Kontextmenü EIGENSCHAFTEN, und wechseln Sie dann auf die Registerkarte ARBEITSGRUPPE. Klicken Sie das Kontrollkästchen DIESE SEITE BEIM VERÖFFENTLICHEN DES WEBS AUSSCHLIEßEN an, um die Datei bei der Veröffentlichung nicht mit einzubeziehen.
9.3
Das Web veröffentlichen
Nach diesem Vorbereitungs- und Kontrollmarathon können Sie nun beruhigten Gewissens das Web auf den Server übertragen.
9.3.1
Die Daten des Webservers
Wählen Sie nun das Menü DATEI | WEB VERÖFFENTLICHEN. Abbildung 9.14: Web veröffentlichen
Tragen Sie im Feld „nach:“ die URL Ihres Webservers ein. Es wird bei der Übertragung auf einen Server mit Servererweiterungen das HTTP-Protokoll verwendet, das sonst nur für die Anzeige von Seiten eingesetzt wird. Informationen zur Veröffentlichung auf Servern ohne Servererweiterungen entnehmen Sie bitte den Abschnitten 9.3.4 und 9.4. Die Option UNTERWEBS EINSCHLIEßEN bezieht auch die Unterwebs des aktuellen Webs in die Veröffentlichung ein. Abschnitt 6.8 erklärt das Prinzip der Unterwebs. Auswahl eines Providers Sollten Sie sich noch nicht um einen Internet-Provider bemüht haben, seien Ihnen die Computer- und Internetzeitschriften empfohlen, die in regelmäßigen Abständen Provider testen und über sie berichten. Der Preiskrieg in diesem Segment ist enorm, so dass es sich lohnen kann, auch im Internet selbst etwas herumzustöbern und zu vergleichen.
368
Das Web veröffentlichen
9.3.2
Optionen für die Veröffentlichung
Um weitere Vorgaben für die Veröffentlichung festzulegen, klicken Sie auf OPTIONEN, wo Sie verschiedene Einstellungen vornehmen können, welche die Veröffentlichung beeinflussen. Abbildung 9.15: Optionen für die Veröffentlichung
Zunächst können Sie auswählen, ob alle oder nur veränderte Seiten übertragen werden sollen. Kapitel 9 erläutert Vor- und Nachteile beider Varianten. Dateien, die Sie mit „Nicht veröffentlichen“ gekennzeichnet haben, werden in beiden Fällen nicht veröffentlicht.
9.3.3
Server mit Servererweiterungen
Ist Ihr Server startklar, mit den Servererweiterungen ausgestattet und steht Ihre Internetverbindung, klicken Sie auf VERÖFFENTLICHEN, um den Veröffentlichungsprozess zu starten. FrontPage sucht nun den Server und löst den Servernamen in eine IPAdresse auf. Dieser Vorgang kann je nach Geschwindigkeit Ihrer Anbindung und Ihres Servers bis zu einer Minute in Anspruch nehmen. Abbildung 9.16: Verbindungsaufnahme zum Server
Sie werden nun aufgefordert, den Benutzernamen und das Passwort für Ihren Zugang zum Server einzugeben. Nach der erfolgreichen Anmeldung am Server werden die Dateien übertragen. FrontPage kopiert dabei alle zur Veröffentlichung gekennzeichneten Dateien. Bei einem umfangreichen Web kann dieser Vorgang sehr lange dauern.
369
9 FrontPage-Webs veröffentlichen Abbildung 9.17: Dateien werden zum Web übertragen
Die FrontPage-Komponenten, Webindizes und Hyperlinks werden immer in Abhängigkeit von der Adresse des Stammwebs errechnet. FrontPage aktualisiert das Web nach der Übertragung aller Seiten auf dem Server, was wiederum einige Minuten in Anspruch nehmen kann. Abbildung 9.18: Aktualisierung der Webindizes
Nach der erfolgreichen Veröffentlichung und Webaktualisierung wird das Abschlussfenster angezeigt. Sie können durch einen Klick auf den Hyperlink Ihren Internet-Browser starten, um sofort das Web anzuzeigen und zu prüfen, ob tatsächlich alle Dateien korrekt veröffentlicht wurden. Abbildung 9.19: Veröffentlichung abgeschlossen
9.3.4
Server ohne Servererweiterungen
Um Ihr Web veröffentlichen zu können, ist zwar ein Server mit Servererweiterungen empfehlenswert, aber nicht unbedingt notwendig. Verfügt Ihr Server nicht über die Erweiterungen, verfahren Sie wie bisher beschrieben. Ein separates Programm wie der Web-Publishing-Assistent, der in älteren Versionen von FrontPage eingesetzt wurde, um Webs unabhängig von Servererweiterungen zu publizieren, ist nun nicht mehr notwendig. Dessen Funktionen sind nun so integriert, dass Sie unter derselben Oberfläche auch zu FTP-Servern veröffentlichen können.
370
Das Web veröffentlichen
Geben Sie als URL des Servers, auf dem das Web veröffentlicht werden soll, die FTP-Adresse an, die Sie von Ihrem Internet-Provider genannt bekommen haben. Das FTP-Protokoll dient der Übertragung von Dateien und wird in diesem Fall für die Veröffentlichung verwendet. Abbildung 9.20: Veröffentlichung des Webs auf einem FTP-Server
Arbeiten mit dem Office-FTP-Client Um die Adresse und Anmeldeoptionen an einem FTP-Server auf Ihrem Rechner speichern und FTP-Sites komfortabel verwalten zu können, besitzen die Anwendungen der Microsoft-Office-Familie einen eingebauten FTPClient, das heißt ein Programm, das die Ausführung von FTP-Befehlen auf einem Server ermöglicht. Die Benutzeroberfläche wird hierbei in den Windows-Explorer eingebunden. Sie können FTP-Server verwalten, indem Sie in FrontPage im Dialogfenster ADRESSE FÜR VERÖFFENTLICHUNG wählen, zu erreichen über ÄNDERN im Dialogfenster WEB VERÖFFENTLICHEN, auf DURCHSUCHEN... klicken und im Feld SUCHEN IN aus der Adressenliste den Punkt „FTP-Adressen“ auswählen. Klicken Sie auf FTP-ADRESSEN HINZUFÜGEN/ÄNDERN. Im Dialogfenster FTP-ADRESSEN HINZUFÜGEN/ÄNDERN tragen Sie im Feld „Name der FTP-Site“ die URL des FTP-Servers (ohne ftp://) ein. Wählen Sie, ob Sie sich bei der Anmeldung am Server authentifizieren müssen. Ist dies wie üblicherweise der Fall, klicken Sie auf „Benutzer“, und tragen Sie hier Ihren Zugangsnamen und im Feld „Kennwort“ Ihr Passwort ein. Klicken Sie schließlich auf HINZUFÜGEN, um den Server in Ihre Liste der FTP-Sites einzutragen, und bestätigen Sie mit OK.
371
9 FrontPage-Webs veröffentlichen
Wollen Sie später Daten ändern oder den Server aus der Liste streichen, kehren Sie in dieses Fenster zurück und wählen Sie ÄNDERN oder ENTFERNEN, nachdem Sie den entsprechenden Server in der Site-Liste markiert haben. Nun können Sie mit dem FTP-Server so wie mit einem separaten Laufwerk arbeiten, wobei die vom Windows-Explorer bekannten Funktionen nur in beschränktem Maße eingesetzt werden können. Einschränkungen auf Servern ohne Servererweiterungen Auf einem Webserver ohne Servererweiterungen können Sie bestimmte Funktionen nicht ausführen. Dazu zählen die meisten der FrontPage-Komponenten, die serverseitige Dokumentenerstellung voraussetzen, wie etwa das Diskussionsforum, das Gästebuch oder die Suche. Sie werden von FrontPage benachrichtigt, wenn Ihr Web Komponenten enthält, welche die Servererweiterungen benötigen. Abbildung 9.21: Warnung bei Seiten mit FrontPageKomponenten
Beachten Sie, dass die FrontPage-Sicherheitsfunktionen ebenfalls nicht zur Verfügung stehen. Damit verlieren geschützte Webs ihre Fähigkeiten, den Zugriff auf registrierte Nutzer zu beschränken. Daten, die Sie geheim halten möchten, sind damit frei zugänglich!
9.4
Andere Veröffentlichungswege
Wenn Ihnen die „Bordmittel“ von FrontPage nicht ausreichen, um Seiten auf einen Server zu übertragen, können Sie statt dessen auch separate Programme einsetzen, die Ihnen die Arbeit erleichtern.
372
Andere Veröffentlichungswege
9.4.1
Der Windows-FTP-Client
Obwohl Windows standardmäßig über einen eingebauten FTP-Client verfügt, wird er nur selten eingesetzt. Dies liegt sicher vor allem an der unkomfortablen Kommandozeilenbedienung. Dennoch kann er nützlich sein, wenn Sie mit den FTP-Befehlen vertraut sind und schnell und ohne viel Aufwand auf einen FTP-Server zugreifen wollen. Sie starten das FTP-Programm über die Funktion AUSFÜHREN im STARTmenü. Geben Sie als Adresse ftp ein. Windows sucht dann in den Systemverzeichnissen nach dem Programm FTP.exe. Ein DOS-Fenster erscheint. Abbildung 9.22: Der FTP-Client von Windows 2000
Der FTP-Befehl zum Aufruf eines Servers lautet: open server
Dabei muss server durch die Adresse Ihres Servers ersetzt werden. Der Server wird aufgerufen und fragt Sie gegebenenfalls nach Ihrer Benutzerkennung. Die wichtigsten Befehle, die von den meisten FTP-Servern beherrscht werden, zeigt Tabelle 9.1. Befehl
Funktion
?
Listet alle verfügbaren Befehle auf ? befehl zeigt die Funktionen eines Befehls an
ascii
Schaltet in den ASCII-Übertragungsmodus um, der für Textdateien (beispielsweise .txt oder .htm) verwendet wird
binary
Schaltet in den Übertragungsmodus für Binärdateien um (beispielsweise Grafiken oder Programme)
cd
cd verzeichnis wechselt in das angegebene Verzeichnis
Tabelle 9.1: Die wichtigsten FTP-Befehle
373
9 FrontPage-Webs veröffentlichen
Befehl
Funktion
close
Schließt die FTP-Verbindung
get
“Holt” eine Datei vom Server auf das lokale System
ls
Zeigt den Inhalt des aktuellen Verzeichnisses an
mkdir
mkdir verzeichnis erstellt ein neues Verzeichnis mit diesem Namen
open
open servername stellt die Verbindung zu einem Server her
put
„Schiebt“ eine Datei vom lokalen System auf den Server
quit
Schließt das FTP-Programm
rename
rename namealt nameneu benennt eine Datei oder ein Verzeichnis von „namealt“ zu „nameneu“ um
rmdir
rmdir verzeichnis löscht ein Verzeichnis auf dem Server
9.4.2
Andere FTP-Programme
Windows bietet die Möglichkeit an, FTP-Server als Netzwerkressourcen einzubinden. Unter EXTRAS | NETZWERKLAUFWERK VERBINDEN im Dialogfenster NEUES VERÖFFENTLICHUNGSZIEL können Sie auch eine FTP-Adresse angeben. Melden Sie sich an dieser Ressource an, werden Sie zur Authentifizierung aufgefordert und können dann wie auf ein Netzwerklaufwerk auf den Server zugreifen. Es sei an dieser Stelle auch auf eine Reihe von Programmen verwiesen, die eine grafische Benutzeroberfläche für den FTP-Transfer bieten. Die bekanntesten von ihnen heißen WS_FTP, FTP Voyager, CuteFTP oder FTPExplorer. Im Anhang finden Sie eine Reihe von Webadressen der Hersteller.
9.5
Veröffentlichung auf dem lokalen System
Dass eine Veröffentlichung auch auf dem lokalen System, also Ihrer Festplatte oder Ihrem Netzwerk, durchgeführt werden kann, haben wir bereits in Abschnitt 6.8 am Beispiel der Unterwebs erläutert. Aber nicht nur zur Erweiterung eines bestehenden Webs lässt sich diese Funktion nutzen. Bearbeiten Sie ein Web auf einem Server und möchten Sie das Web auf Ihr lokales System oder Netzwerk übertragen, können Sie dazu auch statt der Importfunktion die Veröffentlichung nutzen. Dies mag paradox klingen, kann
374
Nach der Veröffentlichung
aber durchaus der schnellste Weg zu einer lokalen Kopie sein, wenn Sie das Web bereits geöffnet haben. Auch zur Sicherung Ihrer Daten können Sie das Web veröffentlichen. Wird eine Sicherheitskopie auf herkömmlichem Wege erstellt, indem Sie im Windows-Explorer den Ordner, der das Web enthält, an einen anderen Ort kopieren, werden die Hyperlink- und Textindizes nicht aktualisiert. Dies kann zwar beim nächsten Aufruf des Webs im neuen Ordner korrigiert werden, dieser Schritt wird Ihnen aber hiermit sofort abgenommen. Wählen Sie das Menü DATEI | WEB VERÖFFENTLICHEN und tragen Sie im Feld „nach:“ den Ordner ein, zu dem das Web übertragen werden soll. Über ÄNDERN... und DURCHSUCHEN... können Sie den Ort für den Zielordner aus der Verzeichnisstruktur auswählen oder neu anlegen.
9.6
Nach der Veröffentlichung
Hat FrontPage die erfolgreiche Veröffentlichung bestätigt, gibt es noch einiges zu tun, um sicherzugehen, dass Ihre Besucher auch tatsächlich in den vollen Genuss kommen.
9.6.1
Site-Check
Nehmen Sie sich die Zeit, nun noch einmal die gesamte Website auf Fehler zu kontrollieren. Gehen Sie alle Schritte der Fehler-Checkliste aus Kapitel 9 noch einmal durch und geben Sie vor allem Acht auf die Hyperlinks. Haben Sie bei der Prüfung auf unterbrochene Hyperlinks absolute Pfade übersehen, die sich auf Dateien auf Ihrer Festplatte beziehen, können diese auf dem Server nicht mehr gefunden werden. Aber Achtung: Von Ihrem eigenen Rechner aus wird ein absoluter Link zu einer lokalen Datei dennoch gefunden! Haben Sie nur einen Rechner, können Sie eventuell das lokale Verzeichnis zeitweise umbenennen, um hier ganz sicherzugehen.
9.6.2
Anmeldung bei Suchmaschinen
Haben Sie Ihre Seiten für Suchmaschinen vorbereitet, kommt nun der mühsame Teil der Anmeldung Ihrer Seiten. Zwar durchsuchen die meisten Suchmaschinen das gesamte Internet und indizieren die gefundenen Server, aber auch diese Suchroboter können nur dann auf Ihre Seiten gelangen, wenn sie einen Hyperlink darauf finden, was bei einer neuen Seite nicht der Fall sein wird.
Anmelden macht Mühe
Jede Suchmaschine und jeder Webkatalog verfährt nach anderen Regeln. Kapitel 4 erläutert Besonderheiten der wichtigsten Suchmaschinen.
375
9 FrontPage-Webs veröffentlichen
Ist Ihnen die manuelle Anmeldung zu mühsam, können Sie auch eines der Programme nutzen, welche die Anmeldung automatisieren. Kapitel 15 beschreibt einige dieser Werkzeuge.
376
III Fortgeschrittene Webs erstellen Die Teile 1 und 2 haben Sie mit den Grundprinzipien der Arbeit mit FrontPage vertraut gemacht und den Weg von der leeren Seite bis zum fertig gestalteten und funktionstüchtigen Web auf dem Server gezeigt. Die Internetseiten waren bislang recht simpel und nicht sonderlich funktional. Was man noch aus FrontPage-Webs machen kann, und wie Sie Zusatzfunktionen mit FrontPage in Internetseiten integrieren, zeigt Ihnen der dritte Teil des Buches.
10
Layout und Interaktion
10.1 Tabellen Tabellen sind das wichtigste Layoutwerkzeug in HTML. Da HTML bis zur Version 3.2 keine absolute Positionierung für einzelne Seitenelemente erlaubte, mussten sich Webdesigner bislang mit mehr oder weniger komplizierten Tabellenkonstruktionen helfen. Da noch immer viele Internetbenutzer mit Internet-Browsern wie Internet Explorer 3.0, Netscape Navigator 3.0 oder Opera surfen, bleiben die Tabellen auch heute noch das meist einzige allgemein brauchbare Mittel für die Gestaltung und das Layout von Seiten. Im Verlauf dieses Kapitels werden wir Ihnen zeigen, das Tabellen durchaus flexibel sind und auch unregelmäßige Platzierung von Elementen auf einer Seite ermöglichen. Darüber hinaus können in Internetseiten natürlich auch Tabellen angelegt werden, um Daten zu strukturieren und nach Kategorien zu ordnen.
10.1.1
Anlegen einer Tabelle
Eine Tabelle baut sich aus Zeilen und Spalten auf. In HTML werden allerdings Spalten nur indirekt angelegt, nämlich durch die Zellen, die innerhalb einer Zeile nebeneinander liegen. Eine Tabelle hat durchgängig die gleiche Anzahl von Spalten, auch wenn in einzelnen Zeilen Zellen miteinander verbunden werden. Kapitel 5 zeigt, wie Tabellen in HTML angelegt werden und welche Tags dabei zum Einsatz kommen. In FrontPage kann eine Tabelle auf mehreren Wegen erzeugt werden. Die präziseste Möglichkeit, eine Tabelle anzulegen, bietet das Menü TABELLE | EINFÜGEN | TABELLE Im Fenster TABELLE EINFÜGEN, das daraufhin angezeigt wird, können alle Eigenschaften der Tabelle schon im vorhinein definiert werden. Die Anzahl der ZEILEN und SPALTEN werden im Bereich GRÖßE festgelegt. FrontPage erzeugt dann die angegebenen Zeilen sowie die entsprechenden Zellen. Auch eine Tabelle mit nur einer Zeile und einer Spalte kann erzeugt werden. Arbeiten Sie zu Layoutzwecken mit mehreren Tabellen auf einer Seite, lassen sich mit solchen Tabellen (besser: freistehende Zellen) Elemente flexibel horizontal und vertikal auf der Seite ausrichten. Im Bereich LAYOUT wird definiert, wie die Tabelle formatiert wird. Die horizontale AUSRICHTUNG der Tabelle sollte nur dann angegeben werden, wenn
379
10 Layout und Interaktion
Text die Tabelle umfließen soll. Ist dies nicht der Fall, kann die Tabelle einfacher über die herkömmlichen Absatzformatierungsoptionen, beispielsweise die Schaltflächen für links- und rechtsbündige oder zentrierte Ausrichtung in der Symbolleiste FORMAT ausgerichtet werden. Ob eine Tabelle einen Rahmen hat, spezifizieren Sie im Feld RAHMENSTÄRKE. Geben Sie den Wert Null an, um keinen Rahmen anzuzeigen. Dies ist besonders für Layouttabellen geeignet. Weitere Formatierungsoptionen des Rahmens können Sie später über die Tabelleneigenschaften festlegen. HTML-Tabellen bieten zwei Optionen für die Abstandsbestimmung einzelner Zellen und derer Inhalte. Über ZELLENABSTAND legen Sie den Freiraum zwischen Zellenrändern fest. Nutzen Sie Rahmen, wirkt dieser Abstand als ein flacher breiter Rahmen, während die Darstellung des Rahmens selbst immer abhängig vom Browser ist. So können verschiedenartige Rahmendesigns erzeugt werden. Der Textabstand definiert den Raum zwischen Zellenrand und dem Inhalt, sei es nun Text, Bilder oder eine andere Tabelle. Setzen Sie Rahmen ein, sollte hier immer ein geringer Abstand von etwa zwei Pixeln angegeben werden, damit der Text lesbar bleibt und nicht mit dem Rahmen verschmilzt. Die Breite der Tabelle ist standardmäßig abhängig von ihren Inhalten. Fügen Sie ein Bild in eine Tabellenzelle ein, entspricht deren Breite mindestens der des Bildes. Geben Sie für die Breite der Tabelle einen Wert in Prozent an, wird die Tabelle relativ zur Fensterbreite angepasst. Auch Werte über 100 Prozent sind möglich. Dann muss jedoch horizontal gescrollt werden. FrontPage erlaubt beim Anlegen der Tabelle noch nicht, die Höhe zu definieren, obwohl dies möglich ist, jedoch von älteren Browsern nicht unterstützt wird. Um eine Höhe für die Tabelle anzugeben, klicken Sie in der Normalansicht rechts auf die bereits eingefügte Tabelle, um das Kontextmenü anzuzeigen. Dort ist die Möglichkeit gegeben, die Tabellenhöhe zu bestimmen, ohne HTML editieren zu müssen. Weiter unten wird detailliert auf die Tabelleneigenschaften eingegangen. Abbildung 10.1: Einfügen einer Tabelle
380
Tabellen
Haben Sie die Tabelle über OK eingefügt, wird sie nach Ihren Vorgaben angezeigt. Standardmäßig werden alle Zelleninhalte linksbündig und vertikal mittig ausgerichtet. Abbildung 10.2 zeigt ein Beispiel einer zweispaltigen und zweizeiligen Tabelle ohne Rahmen sowie ohne Text- und Zellenabstand mit einer Breite von 100 Prozent. Der Grund, warum die Zelle nicht tatsächlich über die gesamte Breite des Fenster läuft, ist die Eigenschaft aller Browser, einen kleinen Rahmen an den Fensterrändern zu erzeugen, um die Lesbarkeit zu verbessern. Diese Werte können über die Seiteneigenschaften, Registerkarte RÄNDER auf Null zurückgesetzt werden. Erstellen Sie ein gesamtes Seitenlayout mit Tabellen, lässt sich dieser Rand flexibler über die Tabelleneigenschaften bestimmen. Abbildung 10.2: Eine einfache Tabelle
Eine Tabelle zeichnen Klicken Sie mit der rechten Maustaste auf eine Symbolleiste, und wählen Sie aus dem Kontextmenü TABELLE, um die Symbolleiste Tabelle einzublenden. Klicken Sie auf das Stiftsymbol, um das Zeichenwerkzeug für Tabellen aufzurufen. Alternativ rufen Sie das Menü TABELLE | TABELLE ZEICHNEN auf. Klicken Sie mit dem Mauszeiger, der zu einem Stift geworden ist, in das Editorfenster, halten Sie die Maustaste gedrückt, und ziehen Sie die Tabelle auf die gewünschte Breite auf. Es wird eine Tabelle mit einer Zelle und der angegebenen Breite und Höhe erzeugt. Um den Zeichenvorgang abzuschließen, klicken Sie noch einmal auf das Stiftsymbol, wodurch das Werkzeug deaktiviert wird.
381
10 Layout und Interaktion Abbildung 10.3: Das Zeichenwerkzeug für Tabellen
Tabellen über die Standardsymbolleiste erzeugen Schließlich können Tabellen eingefügt werden, indem Sie in der Symbolleiste STANDARD auf das Tabellensymbol klicken. Ein Tabellenraster wird aufgeklappt, das Sie mit der Maus weiter aufziehen können. So können Sie die gewünschte Anzahl von Zeilen und Spalten schnell angeben. Die Breite und Höhe jeder Zelle dieser neuen Tabelle entspricht einem Zeichen in der Standardschriftart. Abbildung 10.4: Das Tabellenwerkzeug in der Standardsymbolleiste
382
Tabellen
10.1.2
Tabellen bearbeiten
Segmente markieren Sie können einzelne Zellen, ganze Spalten oder Zeilen oder auch die gesamte Tabelle markieren, um diese zu manipulieren. Bewegen Sie die Maus auf den Tabellenrand, bis sich der Mauszeiger in einen kleinen Pfeil verwandelt. Klicken Sie mit der linken Maustaste, wird die Spalte oder Zeile, in deren Richtung der Pfeil zeigt, markiert. Möchten Sie mehrere Zeilen oder Spalten markieren, halten Sie die Maustaste gedrückt, und bewegen Sie die Maus über die anderen Spalten oder Zeilen, die Sie markieren möchten. Lassen Sie die Maustaste los, werden diese markiert. Mehrere Zellen markieren Sie, indem Sie in die erste der zu markierenden Zellen klicken und mit gehaltener Maustaste die Maus in die anderen Zellen ziehen. Alternativ wählen Sie im Menü TABELLE | MARKIEREN die Optionen, TABELLE, ZELLE, ZEILE oder SPALTE aus, um den gewählten Bereich zu markieren. Zellen teilen Haben Sie eine Tabelle angelegt, und wollen Sie weitere Spalten und Zeilen einfügen, ist meist das Zeichenwerkzeug das übersichtlichste Mittel zum Zweck. Dabei werden Zellen geteilt. Eine Erweiterung der Tabelle nach außen ist nicht möglich. 1. Aktivieren Sie über die Symbolleiste TABELLE das Zeichenwerkzeug. 2. Klicken Sie in der Zelle, die Sie teilen möchten, an den Punkt, an dem eine neue Zelle erzeugt werden soll. 3. Ziehen Sie von einem horizontalen Rand eine Linie in vertikaler Richtung, um eine neue Spalte zu generieren. 4. Ziehen Sie von einem vertikalen Rand eine Linie in horizontaler Richtung, um eine neue Zeile zu generieren. 5. In beiden Fällen wird nur die aktuelle Zelle geteilt, nicht aber die gesamte Tabelle. Ziehen Sie die Linie über die gesamte Tabellenbreite oder höhe, um entlang dieser Achse eine Teilung vorzunehmen. 6. Schließen Sie den Vorgang ab, indem Sie das Zeichenwerkzeug in der Symbolleiste wieder deaktivieren. Über das Menü TABELLE | ZELLEN TEILEN oder das Symbol ZELLEN TEILEN in der Symbolleiste TABELLE wird ein Dialogfeld aufgerufen, das es erlaubt, die Zelle, in der sich die Einfügemarke befindet, in Spalten oder Zellen mehrfach aufzuteilen. Geben Sie im Feld ANZAHL DER SPALTEN (oder ANZAHL DER ZEILEN) die gewünschte Anzahl der neu zu erstellenden Spalten oder Zeilen an, und bestätigen Sie mit OK. Markieren Sie mehrere Zellen, um diese in einem Arbeitsgang zu teilen.
383
10 Layout und Interaktion Abbildung 10.5: Einfügen von Zellen mit dem Zeichenwerkzeug
Abbildung 10.6: Zellen teilen
Spalten und Zeilen einfügen Eine Zeile oder Spalte zu teilen fügt de facto neue Zeilen oder Spalten ein. Sie können aber auch weitere Zellen einfügen, indem Sie in der Symbolleiste TABELLE auf SPALTEN EINFÜGEN oder ZEILEN EINFÜGEN klicken. Links beziehungsweise oberhalb der Zelle, in der sich die Einfügemarke befindet, wird die neue Spalte oder Zeile eingefügt. Komfortabler geht es, wenn Sie das Menü TABELLE | EINFÜGEN | ZEILEN oder SPALTEN aufrufen. Im Dialogfeld, das sich daraufhin öffnet, können Sie die Anzahl der Spalten oder Zeilen festlegen, die Sie einfügen möchten. Wählen Sie aus, ob die neuen Zeilen ober- oder unterhalb der Markierung, beziehungsweise die neuen Spalten links oder rechts neben der Auswahl eingefügt werden sollen, indem Sie das entsprechende Optionsfeld aktivieren. Zellen verbinden Haben Sie versehentlich zu viele Zellen angelegt, oder möchten Sie eine unregelmäßige Zellenstruktur erstellen, können Zellen miteinander verbunden werden. Möchten Sie eine oder mehrere Zellen verbinden, nutzen Sie das Radiererwerkzeug. 1. Aktivieren Sie das Radierersymbol in der Symbolleiste TABELLE. 2. Klicken Sie mit dem Radierer in die Zelle über oder neben der Zelle, deren Trennbalken Sie auflösen möchten.
384
Tabellen
3. Halten Sie die linke Maustaste gedrückt, und ziehen Sie den Radierer in die andere Zelle. Der Trennbalken wird farbig markiert. 4. Lassen Sie die Maustaste los, um die ausgewählten Zellen miteinander zu verbinden. 5. Schließen Sie den Vorgang ab, indem Sie das Radiererwerkzeug in der Symbolleiste wieder deaktivieren. Abbildung 10.7: Das Radiererwerkzeug für Tabellen
Alternativ dazu können Sie auch Zellen verbinden, indem Sie die zu verbindenden Zellen mit der Maus markieren und dann in der Symbolleiste TABELLE auf ZELLEN VERBINDEN klicken oder das Menü TABELLE | ZELLEN VERBINDEN auswählen. Abbildung 10.8: Zeilen verbinden
385
10 Layout und Interaktion
10.1.3
Die Grö ß e von Zellen verändern
Insbesondere wenn Sie Tabellen zeichnen, wird nicht immer auf Anhieb die gewünschte Breite oder Höhe einer Zelle erreicht. Wenn Sie am Layout weiterarbeiten, kann es sich auch ergeben, dass eine Zelle breiter oder schmaler werden soll. Mit der Maus kann nicht nur die Größe der Tabelle, sondern auch jeder Zeile oder Spalte angepasst werden. Bewegen Sie den Mauszeiger über einen Tabellen- oder Zellenrahmen. Der Mauszeiger verändert sich zu einem Doppelpfeil. Klicken Sie nun mit der linken Maustaste, um die Spalten- oder Zeilenachse zu verschieben. Möchten Sie die Größe der Tabelle selbst verändern, klicken Sie auf den Tabellenrand, und ziehen Sie ihn mit der Maus soweit Sie möchten. Die Größe wird dabei in Pixeln angepasst. Beachten Sie, dass dabei stets die Spalte oder Zeile über die gesamte Tabelle hinweg verschoben wird. Möchten Sie nur eine einzelne Zelle verändern, bleibt Ihnen nichts übrig, als die Zelle zu teilen, die alten Zellen miteinander zu verbinden und die neue Achse zu verschieben. Abbildung 10.9: Manuelles Verändern von Zellengröß en
Haben Sie manuell die Zellengrößen verändert und möchten diese pixelgenaue Formatierung wieder aufheben, wählen Sie in der Tabellen-Symbolleiste oder dem Menü TABELLE die Option ANPASSEN. Die Breitendefinitionen werden dann gelöscht. Um vielen Zellen eine gleichmäßige Höhe und Breite zu geben, wählen Sie in der Tabellen-Symbolleiste oder im Menü TABELLE die Option GLEICHMÄßIG VERTEILEN für Spalten oder Zeilen.
386
Tabellen
10.1.4
Tabellen formatieren
Zellen formatieren Jede Zelle einer Tabelle kann separat formatiert werden. Klicken Sie mit der rechten Maustaste in eine Zelle, und wählen Sie aus dem Kontextmenü die Option ZELLENEIGENSCHAFTEN. In den Feldern HORIZONTALE AUSRICHTUNG und VERTIKALE AUSRICHTUNG stellen Sie ein, wie Zelleninhalte in der Zelle ausgerichtet werden. Standardmäßig wird der Inhalt linksbündig und in der Mitte ausgerichtet. Verschiedene Ausrichtungen demonstriert Abbildung 10.12. Die Breite und Höhe der Zelle kann in Pixeln oder prozentual zur Gesamtgröße der Tabelle angegeben werden. Geben Sie keine Maße an, entscheidet die Breite und Höhe des Zelleninhaltes über die Größe der Zelle. Ist der Inhalt größer als über Zellenbreite und -höhe angegeben, wird die Zelle an den Inhalt angepasst. Dies kann schwerwiegende Folgen für das Gesamtlayout der Tabelle haben, wenn Sie mit Bildern arbeiten, die scheinbar nahtlos ineinander übergehen sollen. Die Zeilen- und Spaltenerstreckung definiert, ob die Zelle über mehrere Spalten oder Zeilen laufen soll. In Abbildung 10.12 erstrecken sich die Zellen rechts oben und links unten jeweils über zwei Spalten beziehungsweise Zeilen. Soll Text in der Zelle fett gesetzt werden, weil es sich dabei um eine Überschrift oder um einen hervorzuhebenden Text handelt, aktivieren Sie die Option ENTHÄLT UMBRUCH. Abbildung 10.10: Die Zelleneigenschaften
387
10 Layout und Interaktion
Mit der Option KEIN UMBRUCH legen Sie fest, dass Text in dieser Zelle nicht automatisch an Leerzeichen oder Bindestrichen umbrochen wird. Allerdings müssen Sie dann manuelle Umbrüche an geeigneten Stellen einfügen, damit bei längerem Text die Zelle nicht zu breit wird. Die Einstellungen für Rahmen und Hintergründe können für jede Zelle einzeln festgelegt werden. Der nächste Abschnitt erläutert die Einstellungsmöglichkeiten. Tabellen formatieren Die Darstellung von Tabellen wird über das Tabelleneigenschaftenfenster angepasst, das Sie über das Kontextmenü einer Tabelle erreichen. Die Einstellungen für Ausrichtung, Textfluss, Abstände und Größenangaben haben wir bereits erläutert. Im Bereich RAHMEN können Sie für die gesamte Tabelle eine Rahmendicke angeben. Wie Rahmen farblich dargestellt werden, ist stark abhängig vom Internet-Browser des Betrachters. Internet Explorer erlaubt über die Farbe des Rahmens hinaus auch, einen – oder keinen – 3D-Effekt zu erzielen, indem die obere und linke Seite des Rahmens (HELLER RAHMEN) farblich anders als die rechte und untere Seite der Balken (DUNKLER RAHMEN) gestaltet werden können. Soll eine Tabelle mit einer durchgängigen Hintergrundfarbe oder sogar mit einem Hintergrundbild versehen werden, können Sie dies im Bereich HINTERGRUND einstellen. Ältere Browser unterstützen insbesondere die Hintergrundbild-Funktion nicht. Abbildung 10.11: Die Tabelleneigenschaften
388
Tabellen
Abbildung 10.12 verdeutlicht einige der Einstellungsmöglichkeiten, die hier beschrieben wurden. Zwar kann das Bild nicht alle Optionen wiedergeben, aber experimentieren Sie mit verschiedenen Einstellungen, und betrachten Sie sich immer die Darstellung in verschiedenen Browsern, da gerade Tabellen nicht überall identisch angezeigt werden. Möchten Sie eine schnelle Vorschau der Tabelle ohne die Hilfslinien erhalten, wechseln Sie in die Vorschauansicht. Abbildung 10.12: Darstellungsoptionen in Tabellen
10.1.5
Umwandlung von Tabellen und Text
FrontPage erlaubt die Umwandlung von Text in Tabellen und umgekehrt. Für mehrere Szenarien könnten diese Funktionen von Nutzen sein. 왘 Sie haben bereits eine Tabelle oder ein Datenblatt vorliegen, die Sie in
Ihre Internetseite übernehmen möchten. 왘 Sie haben Text eingegeben, der nun als Tabelle formatiert werden soll. 왘 Sie möchten eine Tabelle auflösen, ohne deren Inhalte zu verlieren. 왘 Sie möchten Text exportieren.
In jedem dieser Fälle könnten Sie die Zelleninhalte ausschneiden und an der gewünschten Position einfügen, oder aber Sie überlassen FrontPage die Arbeit. Tabelle in Text umwandeln Um eine Tabelle in Text umzuwandeln, setzen Sie die Einfügemarke in die umzuwandelnde Tabelle, und rufen Sie das Menü TABELLE | UMWANDELN | TABELLE IN TEXT auf. Die Zelleninhalte werden von links oben nach rechts oben in einzelne Absätze umgewandelt.
389
10 Layout und Interaktion
Text in Tabelle umwandeln 1. Trennen Sie die Textteile, die Sie in einzelne Zellen umwandeln möchten, jeweils mit einheitlichen Trennzeichen. Erlaubt sind 왘 Absatzmarken. Text ist durch Umbrüche in einzelne Zeilen aufgeteilt
und wird in eine einspaltige Tabelle umgewandelt. 왘 Tabstopps. Text ist durch Tabstopps voneinander getrennt und wird
in eine einzeilige Tabelle umgewandelt, sofern nicht weitere Absätze mit denselben Trennzeichen markiert ist. 왘 Kommata. Text ist durch Kommata voneinander getrennt und wird in
eine einzeilige Tabelle umgewandelt, sofern nicht weitere Absätze mit denselben Trennzeichen markiert sind. 왘 Beliebige Zeichen. Text ist durch beliebige Zeichen, die Sie angeben
können, voneinander getrennt und wird in eine einzeilige Tabelle umgewandelt, sofern nicht weitere Absätze mit denselben Trennzeichen markiert sind. 왘 Keine. Markierter Text wird in eine einzellige Tabelle eingefügt.
2. Markieren Sie den umzuwandelnden Text. 3. Rufen Sie das Menü TABELLE | UMWANDELN | TEXT IN TABELLE auf. 4. Geben Sie an, welche Trennzeichen Sie verwenden, und bestätigen Sie mit OK. 5. Die Tabelle wird erstellt und die Trennzeichen werden gelöscht.
10.1.6
Dokumentvorlagen für Tabellen
FrontPage bietet eine Reihe von Dokumentvorlagen, die vorgefertigte Tabellen enthalten. Sie sind für das Layout einer ganzen Seite gedacht. Die Vorlagen rufen Sie über das Menü DATEI | NEU | SEITE ODER WEB, Link SEITENVORLAGEN auf. Wählen Sie die gewünschte Vorlage aus, und bestätigen Sie mit OK, um eine neue Seite auf Basis dieser Vorlage zu generieren. Zunächst fällt auf, dass einige Tabellenvorlagen eine große Bildschirmauflösung erfordern, um sinnvolle Aufteilungen der Tabellenspalten zu gewährleisten. Oft erinnert das Layout dieser Tabellen auch stark an klassische Seitenaufteilungen von Büchern. Breite Spalten sind dafür vorgesehen, viel Text zu fassen. Dies ist im Internet nur selten sinnvoll, da der Bildschirm sich nicht für das Lesen langer Texte eignet. Prüfen Sie daher genau, ob die Vorlagen tatsächlich ihren Zweck erfüllen. Die Vorlage in Abbildung 10.13 hat den Namen „Zwei Spalten für Text, Inhaltsverzeichnis, Randleiste“ und dient hier als schlechtes Beispiel für eine Seite, die mit Text überladen ist.
390
Formulare Abbildung 10.13: Eine FrontPageDokumentvorlage
10.2 Formulare Im Titel dieses Kapitels war von Interaktion die Rede. „Interaktiv“ heißt, dass der Betrachter einer Website etwas tut, woraufhin etwas geschieht, das durch diese Aktion des Benutzers ausgelöst wird. Auf die Aktion des Benutzers hin muss daher im Hintergrund ein Programm die Eingabe bearbeiten und die Reaktion erzeugen. Dieses Programm kann ein einfaches Skript in der Seite sein, das beispielsweise ein Bild gegen ein anderes austauscht oder Text anzeigt, meist wird aber eine Serverapplikation diese Verarbeitung übernehmen und dann eine neue Seite unter Verwendung der eingegangenen Daten erzeugen. Die Dateneingabe durch den Benutzer erfolgt dabei zumeist über Formulare. Wie ihre Vorbilder auf Papier basieren Sie auf einer mehr oder minder klaren Struktur und umfassen mehrere verschiedenartige Felder, in die unterschiedliche Daten eingetragen werden können. Um das Formular auszuwerten, muss es „abgeschickt“ werden, das heißt die eingegebenen Daten müssen an das auswertende Programm versandt werden. Programme auf einem Server werden zumeist über das Common Gateway Interface (CGI) angesprochen. Kapitel 12 erläutert, was CGI bedeutet. Um ein solches Programm auszuführen, muss es erstens gekauft, zweitens angepasst und drittens auf dem Server installiert werden. Jeder dieser Schritte bedeutet hohen Entwicklungsaufwand, und viele Internetprovider gestatten aus Sicherheitsgründen oder Gründen der Serverbelastung nicht, dass Kunden eigene Skripte installieren. Glücklicherweise umfassen die Servererweiterungen mehrere solcher Programme für verschiedene Zwecke. Ist Ihr Server
391
10 Layout und Interaktion
also mit den Servererweiterungen ausgestattet, sind Sie bestens gerüstet, um nicht nur Formulare einzusetzen, sondern Sie auch vielseitig auszuwerten. Besonders nützlich ist die Gültigkeitsprüfung von Formularinhalten.
10.2.1
Formulare erzeugen
Ein neues Formular legen Sie über das Menü EINFÜGEN | FORMULAR | FORMULAR an. FrontPage erzeugt an der Einfügemarke ein Formular, das Sie an der gestrichelten Linie erkennen. Diese Linie wird nur in der Normalansicht, nicht aber im Internet-Browser angezeigt. Formularfelder müssen sich innerhalb dieses Formularbereiches befinden, um in das Formular einbezogen zu werden. Weitere Felder können Sie nur innerhalb des Bereiches einfügen. FrontPage erzeugt zwei typische Felder, die in den meisten Formularen vorhanden sind. Die Schaltfläche ABSCHICKEN dient der Übermittlung der Formulardaten, über ZURÜCKSETZEN kann ein Benutzer die eingegebenen Daten im Formular löschen. Abbildung 10.14: Ein neues Formular
10.2.2
Formulare anpassen
Die Formulareigenschaften rufen Sie über das Kontextmenü in einem Formular auf. Legen Sie hier fest, wie die Ergebnisse des Formulars weiterverarbeitet oder versandt werden, wenn der Benutzer das Formular absendet. Die Option SENDEN AN speichert die Daten in einer Datei, die Sie über DURCHSUCHEN auswählen können. Um die Daten versteckt zu speichern, wählen Sie eine Datei aus, die im Ordner _private liegt. Webbesucher haben dann keinen Zugriff auf die Daten. Geben Sie eine E-Mail-Adresse an, um die Formularergebnis per E-Mail zu versenden. So werden Sie jedes Mal davon unterrichtet, wenn ein Besucher ein Formular abgeschickt hat. Dies ist besonders bei dringenden Anfragen oder Kontaktwunsch wichtig, damit Sie schnell handeln können.
392
Formulare
Beide Optionen können auch parallel genutzt werden. Abbildung 10.15: Speichern der Formularresultate in einer Datei oder Versand per E-Mail
Die Übergabe der Formulardaten an eine Datenbank wird in Kapitel 14 erläutert. Soll eine Serveranwendung wie ein CGI-Skript oder eine Formularbehandlungsroutine aufgerufen werden, um die Formulardaten auszuwerten, wählen Sie hier die entsprechende Anwendung aus. Im Feld FORMULAREIGENSCHAFTEN tragen Sie einen Namen für das Formular ein, wenn Sie mehrere Formulare in einer Seite verwenden, oder um das Formular über ein JavaScript anzusprechen. Setzen Sie Frames ein, können Sie hier auch einen Zielframe definieren. Abbildung 10.16: Aufruf einer Formularbehandlungsroutine oder eines Skriptes
Wollen Sie ein ISAPI-, NSAPI-, CGI- oder ASP-Skript aufrufen, wählen Sie unter ANDERER EMPFÄNGER den entsprechenden Listeneintrag aus, und klicken Sie auf OPTIONEN. Geben Sie dort den Namen der Aktion, also die URL des Skriptes ein, das aufgerufen werden soll. Zusätzlich kann ein Codierungstyp angegeben werden.
393
10 Layout und Interaktion
Als Methode stehen zwei Übermittlungsmethoden zur Verfügung, die je nach CGI-Skript angegeben werden müssen. Alle Formulardaten werden beim Aufruf der Aktion zu einer Zeichenkette zusammen gefasst. 왘 POST. Die vom Formular erstellte Zeichenkette wird über die Standard-
eingabe an das Skript übergeben. Die Länge der Zeichenkette wird dabei in eine Umgebungsvariable gespeichert. Diese Methode eignet sich zur Übertragung längerer Zeichenketten. 왘 GET. Über diese Methode wird die Zeichenkette vom CGI-Skript ge-
trennt und in einer Umgebungsvariablen gespeichert. Dabei ist die Länge der Zeichenkette begrenzt. Abbildung 10.17: Angabe der Formularaktion
Die Behandlungsroutine des Diskussionsformulars In Diskussionsforen können Benutzer Beiträge erstellen und veröffentlichen. Alle Beiträge stehen dann in einer Liste bereit, können von allen Besuchern gelesen und beantwortet werden. In Kapitel 6 wurde der Webassistent für Diskussionsforen vorgestellt, der alle notwendigen Komponenten einrichtet und die Formulare erstellt. Abbildung 10.18: Anpassen der Diskussion
394
Formulare
Sie können jedoch auch selbst ein Diskussionsformular erstellen. Wählen Sie dazu in den Formulareigenschaften unter ANDERER EMPFÄNGER die „Formularbehandlungsroutine für Diskussion“ aus. Um sie zu konfigurieren, klicken Sie auf OPTIONEN. Auf der Registerkarte DISKUSSION geben Sie den Titel und Ordner der Diskussion an. Legen Sie im Bereich LAYOUT DES INHALTSVERZEICHNISSES die gewünschten Formularfelder, die angezeigt werden sollen, fest und stellen Sie ein, in welcher chronologischen Reihenfolge die Beiträge sortiert werden sollen. Auf der Registerkarte BEITRAG formatieren Sie die Seite, in der Beiträge angezeigt werden. Legen Sie fest, ob Seiten als Kopf- und Fußzeilen des Beitrags eingeschlossen werden sollen. Legen Sie ebenfalls fest, ob neben dem Beitragstext auch Datum, Uhrzeit, der Name der Maschine, von dem aus der Benutzer den Beitrag versandte und dessen Anmeldenamen angezeigt werden sollen. Abbildung 10.19: Anpassen der Darstellung des Beitragsformulars
Soll, nachdem der Autor eines Beitrages diesen abgeschickt hat, eine Bestätigungsseite eingeblendet werden, geben Sie auf der Registerkarte BESTÄTIGUNGSSEITE deren URL an. Sie können auch eine angepasste „Gültigkeitsprüfungsfehlerseite“ hinzufügen, die immer dann aufgerufen wird, wenn Felder unvollständig oder fehlerhaft ausgefüllt wurden.
395
10 Layout und Interaktion Abbildung 10.20: Spezifizierung einer Bestätigungsseite
Die Behandlungsroutine des Registrierungsformulars Die FrontPage-Komponente REGISTRIERUNG dient der Anmeldung eines Benutzers bei einem geschützten Web. Sie hilft, Administrationsaufwand zu senken und unterstützt Sie bei der Sammlung von Daten über die Benutzer Ihrer Website. Wählen Sie in den Formulareigenschaften unter ANDERER EMPFÄNGER die FORMULARBEHANDLUNGSROUTINE FÜR REGISTRIERUNG aus. Um sie zu konfigurieren, klicken Sie auf OPTIONEN. Auf der Registerkarte Registrierung geben Sie den Namen des Webs, sowie die Feldnamen für den Benutzernamen und das Kennwort an. Sollen die Benutzer „sichere Kennwörter“ verwenden, erwartet die Routine Kennwörter von mindestens sechs Zeichen Länge, die nicht mit dem Benutzernamen übereinstimmen. Sie können auch eine angepasste „Registrierungsfehlerseite“ hinzufügen, die immer dann aufgerufen wird, wenn Felder unvollständig oder fehlerhaft ausgefüllt wurden. Auf der Registerkarte Dateiergebnisse geben Sie ein Datei an, die alle Formularergebnisse speichert. Um sie vor Missbrauch zu schützen, sollte die Datei auf jeden Fall in einen versteckten Ordner (_private) gespeichert werden. Legen Sie im Feld DATEIFORMAT fest, wie die Formularfelder voneinander getrennt werden sollen, damit gegebenenfalls ein Import in eine Datenbank möglich ist. Sollen nicht nur die Ergebnisse, sondern auch die Feldnamen gespeichert werden, aktivieren Sie die Option FELDNAMEN EINSCHLIEßEN. Im Feld NEUESTE ERGEBNISSE AM ENDE werden die zuletzt empfangenen Formulardaten hinter die bisherigen gespeichert.
396
Formulare Abbildung 10.21: Anpassung der Registrierungsinformationen
Sofern Sie es wünschen, können Sie auch eine zweite Datei erzeugen, die ein beliebiges Format haben kann. Abbildung 10.22: Speicherung der Formularergebnisse
Wechseln Sie auf die Registerkarte GESPEICHERTE FELDER, um festzulegen, welche Formularfelder in welcher Reihenfolge gespeichert werden sollen. Geben Sie jeden Feldnamen, den Sie speichern möchten, in eine separate Zeile ein.
397
10 Layout und Interaktion Abbildung 10.23: Festlegung der zu speichernden Informationen
Verborgene Felder einfügen Sollen zusätzlich zu den von den Besuchern eingetragenen Daten verborgene Informationen übermittelt werden, die beispielsweise auch von Skripten ausgewertet werden können, kommen verborgene Felder zum Einsatz. Diese sind natürlich nicht unsichtbar, denn sie sind im Quelltext einer HTML-Seite zu lesen, aber werden nicht im Internet-Browser angezeigt. Klicken Sie in den Formulareigenschaften auf ERWEITERT, und tragen sie über HINZUFÜGEN die gewünschten Namen der Felder und deren Werte ein. Abbildung 10.24: Verborgene Felder eines Formulars
398
Formulare
10.2.3
Die Formularfelder im Überblick
Bislang enthält das Formular nur den ABSCHICKEN- und den ZURÜCKSETZENSchaltknopf. Um Informationen einzugeben, bietet HTML verschiedene Typen von Feldern, die beliebig oft in ein Formular eingefügt werden können. Jedes Feld trägt einen eindeutigen Namen, der es für die Weiterverarbeitung durch Skripte identifiziert. Die Angabe eines Namens ist daher notwendig. Felder können über das HTML-Tag label mit einer Beschriftung versehen werden. Das label-Tag formatiert Text nicht, sondern kennzeichnet ihn über das Attribut for als zu einem Feld zugehörig. Im Folgenden werden alle Feldtypen vorgestellt. Der Übersichtlichkeit halber stellen wir alle Optionen in Tabellenform vor. So haben Sie schnellen Überblick über die Feldoptionen, die Sie in den Feldeigenschaften anpassen können. Jedes der Formularfelder fügen Sie über das Menü EINFÜGEN | FORMULAR... ein. Die Feldeigenschaften erreichen Sie über das Kontextmenü eines Feldes Textfeld HTML-Tag
Typ
Einzeiliger Text.
Anfangswert
Text, der zu Beginn im Textfeld steht.
Breite
Breite des Textfeldes in Zeichen (abhängig von der Standardschriftart des Browsers/Betriebssystems).
Aktivierreihenfolge
Felder können im Browser über die (ÿ)-Taste erreicht werden. Über diese Option kann festgelegt werden, welches Feld als nächstes mit dieser Taste erreicht werden kann.
Kennwortfeld
Ist diese Option mit „Ja“ gekennzeichnet, wird der eingegebene Text im Browser durch Sternchen angezeigt.
Tabelle 10.1: Optionen von Textfeldern
Gültigkeitsoptionen Namen anzeigen
Geben Sie hier einen vollständigen Namen ein, der in der Gültigkeitsfehlerseite angezeigt wird, um auf Fehler in diesem Feld hinzuweisen
Datentyp
Wählen Sie aus, ob im Feld TEXT, eine ganze Zahl oder eine Nummer eingegeben werden muss.
Textformat
Stellt die erforderlichen Eigenschaften für einzugebenden Text ein.
Zahlenformat
Stellt die erforderlichen Eigenschaften für einzugebende ganze Zahlen oder Nummern ein.
399
10 Layout und Interaktion
HTML-Tag
Datenlänge
Legt fest, ob eingegebener Text oder Zahlen eine Mindest- oder Maximallänge haben müssen.
Datenwert
Feldinhalte werden auf Übereinstimmung mit festzulegenden mathematischen Regeln geprüft
Abbildung 10.25: Das Formularfeld „Textfeld“
Textbereich mit Bildlauf Tabelle 10.2: Optionen von Textfeldern mit Bildlauf
HTML-Tag
<% SET banner = Server.CreateObject("MSWC.AdRotator") %> <% = banner.GetAdvertisement("banner.txt")%> Willkommen auf unserer Webseite!
Das Geheimnis liegt weniger in diesem einen Aufruf der Methode GetAdvertisement, sondern im Parameter der Methode. Die Datei BANNER.TXT steuert die Inhalte, die dargestellt werden. Wenn Sie das Beispiel aufrufen, drücken Sie im Browser mehrfach (NEU_LADEN). Achten Sie auf die wechselnden Banner. Die Steuerdatei
518
Die Steuerdatei BANNER.TXT ist eine reine Textdatei (ASCII), die Sie mit jedem einfachen Editor erstellen und bearbeiten können. Sie enthält Informationen, wann und unter welchen Bedingungen was dargestellt wird. Das betrifft zum einen die Bildinformationen der von den Werbetreibenden gelieferten Banner. Zum anderen betrifft es aber auch die Anzeigehäufigkeit. Hier eine typische Datei:
Übersicht Bibliotheken
REDIRECT banner.asp WIDTH 300 HEIGHT 60 BORDER 0 * banner1.gif http://www.meineseite.de Der Werbe-Spezialist 75 http://localhost/beispiele/bilder/banner2.gif http://www.meinsql.de Das zeigt das Banner als ALT-Text an 25
Die Datei enthält neben den Informationen über die Banner auch Steueranweisungen: 왘 REDIRECT
Ein Klick auf das Banner führt auf die angegebene Seite. 왘 WIDTH und HEIGHT
Die Maße der Banner; alle Banner werden auf diese Größe gebracht. Um keine unglücklichen Bildverzerrungen zu erhalten, sollten alle Werbekunden ihre Banner auf diese Maße bringen. Werden keine Werte festgelegt, werden die Bilder auf 440 x 60 Pixel gebracht (Standardformat). 왘 BORDER
Ein Rand um das Banner. Da HTML per Standard zwei Pixel Rand um jedes Bild legt, das als Hyperlink agiert, sollten Sie immer den Wert explizit auf 0 setzen. Das Sternchen „*“ dient als Trennzeichen. Danach beginnt die Steuerinformation. Jede einzelne Position hat vier Zeilen mit festgelegter Bedeutung: 1. Adresse und Name des Banners. 2. Die URL, die beim Anklicken des Banners angesprungen werden kann, meist die Homepage des Auftraggebers. 3. Den alternativen Text der Grafik. . 4. Den relativen Anzeigewert des Banners in Prozent der Gesamt-Hitzahl. Jetzt werden Sie sich fragen, warum es eine URL gibt, zu der beim Anklicken gesprungen wird, und eine URL, die beim Klick auf das Banner benutzt wird? Es ist doch nur ein einziger Sprung möglich. Nun, es reicht nicht aus, einfach nur die Banner zu zeigen und die Nutzer weiterzuleiten. Sie wollen schließlich auch wissen, wer wann warum die Banner angeklickt hat.
519
15 Programmierung von Webseiten
Rotierender Werbetext (ContentRotator) Viel Grafik ist nicht immer beliebt, und Werbung kann man mit HTML auch machen, zumal die Eigenschaften von dynamischem HTML und CSS schon recht beeindruckend sind. Es gibt viele Anwendungsmöglichkeiten, bei denen statt Banner einfach HTML-Code eingeblendet wird. Darüber hinaus kann mit dieser Komponente aber auch die Bannerwerbung selbst raffinierter gestaltet werden. ChooseContent
Die wichtigste Methode ist ChooseContent: <TITLE>Werbung mit Text <% SET banner = Server.CreateObject("MSWC.ContentRotator") %> <% = banner.ChooseContent("werbung.txt") %>
Die Steuerdatei
Das Geheimnis liegt auch hier wieder in einer Steuerdatei, welche die Inhalte und entsprechende Steuerinformationen enthält. Die Datei ist eine reine Textdatei (ASCII), die Sie mit jedem einfachen Editor erstellen und bearbeiten können. Größere Flexibilität erreichen Sie, wenn Sie die Datei mit den TextStream-Objekten bearbeiten. Eine typische kleine Steuerdatei könnte folgendermaßen aussehen: %%#80 // Der erste Eintrag Besuchen Sie unseren Shop! %%#20 // Der zweite Eintrag Unsere Sonderangebote diese Woche: Erotik CD der Extraklasse, ab 9.99 DM Doom III jetzt nur noch 89.00 DM Mehr Grafik mit 3D Grafikkarten: Tolle Auswahl
Die Datei besteht aus beliebig vielen Blöcken dieser Art, die immer mit dem doppelten Prozentzeichen %% eingeleitet werden. Dahinter folgen dann das Doppelkreuz # und eine Zahl. Diese Zahl bestimmt die Wichtung der Anzeige. Die Wichtung ist ein relativer Wert, der sich aus der Summe aller Werte der Steuerdatei und dem Verhältnis des Einzelwertes dazu ergibt. Sie müssen übrigens keine Wichtung angeben. Dann erscheinen alle Texte gleich oft. Wann aber erscheint der Text? Diese Komponente nutzt einen Zufallsgenerator für die Steuerung und blendet ihn entsprechend ein. Das ist der eigentliche Mehrwert gegenüber der AdRotator-Komponente. GetAllContent
520
Die Komponente kennt zusätzlich die Methode GetAllContent. Damit werden alle Inhalte hintereinander ausgegeben. Mögliche Anwendungen wären die Fehlersuche (wenn Sie die Datei per ASP automatisch erstellt haben)
Übersicht Bibliotheken
oder die Anzeige aller Alternativen, wenn Sie rotierende Banner steuern und der Werbekunde sich einen Überblick über seine Banner verschaffen möchte. Seitenzähler (PageCounter) Oft ist es wichtig zu wissen, wie viele Hits eine Seite hatte. Jeder Abruf der Seite wird vom Webserver registriert. Man kann die Werte auch aus den Protokolldateien filtern. Für jede einzelne Seite können Sie leicht einen Hitzähler erstellen, der den Zählerwert direkt anzeigt. Siehe dazu das folgende Listing: <TITLE>Hits zählen <% SET treffer = Server.CreateObject("MSWC.PageCounter") treffer.PageHits %> Diese Seite hat schon <% = treffer.Hits %> !
Das ist recht einfach. Die drei Methoden, die Sie anwenden können, sind: 왘 Hits
Hits zeigt den neuen Wert an. 왘 PageHit
setzt den Hitzähler einen Schritt weiter. 왘 Reset
setzt den Zähler wieder auf Null. Diese Methode ist kein offizieller Bestandteil der Active Server Pages. Sie wird von Microsoft angeboten, aber nicht unterstützt. Falls bei Ihnen die Komponente fehlt, können Sie bei Microsoft nach PAGECNT.DLL suchen. Für viele Fälle sollte das ausreichen. Besser und komfortabler können Sie allerdings mit dem Hitzähler zählen. Zähler (Counters) Die Komponente Zähler ist eine universelle Zählfunktion. Sie können damit vielfältige Zählvorgänge steuern. Gegenüber anderen Komponenten ist es wichtig zu wissen, dass Sie nur eine Instanz der Komponente erzeugen können. Dieses Objekt kann dann beliebig viele Zähler für die verschiedensten Zwecke bereitstellen. Es ist eine gute Idee die Instanz in der Datei GLOBAL.ASA zu erzeugen. Da Seitenzähler unabhängig von Sessions arbeiten müssen, wird das Objekt mit dem Sichtbereich „Applikation“ erstellt.
521
15 Programmierung von Webseiten
Der einzige wählbare Parameter heißt ID. Sie können Ihre Zählerinstanz frei benennen. Einmal erzeugt, können Sie die Zähler überall verwenden. Wo wird der Zähler gespeichert? Viele Eigenschaften gehen verloren, wenn der Webserver heruntergefahren wird. Beim Zähler tritt dieses Problem nicht auf, denn die Werte werden in der Datei COUNTERS.TXT gespeichert, und die Zähler laufen nach einem Neustart normal weiter. Im Praxisteil wird eine eigene Implementierung eines Zählers mit vergleichbaren Eigenschaften gezeigt. Diese Variante ist leicht erweiterbar und relativ einfach zu implementieren. Auf Browser reagieren (BrowserCapabilities) Wenn Sie schon erste Erfahrungen mit HTML gesammelt haben, kennen Sie sicher das größte Ärgernis für jeden Designer. Die ohnehin sehr sparsame Seitenbeschreibungssprache HTML schafft es nicht eine Seite in allen Browsertypen gleich darzustellen. Seit der Streit um die Vorherrschaft der Browser richtig entbrannt ist, stechen sich Netscape und Microsoft gegenseitig mit immer neuen und besseren, aber auch inkompatibleren Tags aus. Leider geschieht das sehr zum Nachteil der Nutzer und – vor allem – der Entwickler. Denn eigentlich müsste man jede Webseite doppelt entwickeln. In letzter Zeit hat sich der Marktanteil immer mehr angenähert: Mitte 2001 habe ich auf meinen Seiten bei Auswertungen einen Durchschnittsanteil von annähernd 80 Prozent für den Marktführer Internet Explorer ermittelt. Die Schlussfolgerung aus dieser Übersicht ist recht einfach. Sie können keine Seite entwickeln, die nur auf einem der beiden Browser läuft. Sie schließen damit praktisch die Hälfte aller Internet-Nutzer aus. Entweder auf HTML 3.2 und einfachstes Layout zurückgreifen, oder alles zumindest teilweise in doppelter Ausführung entwickeln. Und dann stellt sich immer noch die Frage, welchen Browser die Nutzer denn eigentlich verwenden und welche Eigenschaften er hat. Wenn Ihre Entwicklungskapazitäten es zulassen, dann sollten Sie es allen recht machen. Bieten Sie eine einfache Textversion, eine komplexe Internet Explorer-Version und eine Netscape-Version. Der eigentliche Aufwand steckt sowieso in den Inhalten, und die sind bei allen Varianten gleich. Die technische Antwort auf all diese Fragen ist die Komponente BrowserCapabilities. Damit werden die Eigenschaften des abfragenden Browsers ermittelt. Ein ASP-Skript kann darauf reagieren und die richtige Version anbieten. Aber die Komponente kann mehr als das. Die Browsereigenschaften
Wer bist du? Was kannst du? Stellen Sie diese Frage einfach jedem Browser, der Ihre Seiten besucht. Die Komponenten sind sehr flexibel und erweiterbar. Folgende Abfragen stehen immer zur Verfügung: 왘 Browser
Der Typ des Browsers, also Internet Explorer oder Netscape Navigator.
522
Übersicht Bibliotheken 왘 Version
Die vollständige Versionsnummer, beispielsweise 4.03. 왘 Majorver
Der Teil der Versionsnummer vor dem Punkt, hier: 4 왘 Minorver
Der Teil der Versionsnummer hinter dem Punkt, hier: 03. 왘 Frames
Der Browser unterstützt Frames. 왘 Tables
Der Browser unterstützt Tabellen. 왘 Cookies
Der Browser unterstützt Cookies. 왘 Backgroundsounds
Der Browser unterstützt die Microsoft-Erweiterung , mit der eine Sounddatei im Hintergrund abgespielt wird. 왘 Vbscript
Der Browser kann clientseitig VBScript ausführen. 왘 Javascript
Der Browser unterstützt JavaScript. 왘 Javaapletts
Der Browser unterstützt JAVA. 왘 ActiveXControls
Der Browser unterstützt clientseitig ActiveX-Controls. 왘 Beta
Der Browser ist noch eine Betaversion, (sollte unserer Meinung nach immer wahr sein!). 왘 Platform
Das Betriebssystem, auf dem der Browser läuft, beispielsweise Windows 95 oder Macintosh Power PC oder CP/M. 왘 Win16
Der Browser läuft auf einer Windows 16-Bit-Umgebung, also unter Windows 3.1, oder in einer 16-Bit-Version unter Windows 95 oder Windows NT. Alle neueren Betriebssysteme wie Windows 2000/XP verarbeiten mindestens 32 Bit parallel.
523
15 Programmierung von Webseiten
Um diese Komponenten zu verwenden, müssen Sie zuerst eine Instanz erzeugen: <% SET Browser = Server.CreateObject("MSWC.BrowserType") %>
Das folgende kleine Programm zeigt alle ermittelten Werte an: <TITLE> Browser Typ: <%=Browser.Browser %> Version: <%=Browser.version %> Cookies: <%=Browser.cookies %> Frames: <%=Browser.frames %> Javascript: <%=Browser.javascript %> VBScript: <%=Browser.vbscript %> Plattform: <%=Browser.platform %>
Die Inhaltsverbindungs-Komponente (NextLink) Die Inhaltsverbindungs-Komponente (NextLink) dient der eleganten Verbindung mehrerer Seiten. Im Gegensatz zum WebBot Navigation, der prinzipiell dieselbe Aufgabe übernimmt, sind keine FrontPage-Erweiterungen nötig. Die Programmierung ist allerdings nicht grafisch gestützt. Wie schon bei der BrowserType-Komponente wird zur Kontrolle der Komponente eine einfache Textdatei eingesetzt. Sie bauen also die Links nicht in die Seiten, sondern in eine zusätzliche Datei ein. Im Prinzip ähnelt der Vorgang der Arbeitsweise mit Frames, im Unterschied dazu liegt die Steuerung aber ausschließlich beim Server. Die Textdatei heißt Content Linking List File und wird mit einem normalen Texteditor (ASCII) erstellt. Sie können die Datei frei benennen. Eine Beispieldatei finden Sie im folgenden Listing: answer/entry.asp Willkommen bei unserer Präsentation answer/company.asp Wir stellen unsere Firma vor answer/prod1.asp Unsere Produktpalette (Übersicht) answer/product1.asp Baumaschinen answer/product2.asp Handbaugeräte answer/product3.asp Kleinteile und Werkzeuge answer/partner.asp Unsere Vertriebspartner answer/index.asp Zurück zur Homepage
524
Übersicht Bibliotheken
Die Datei ist in zwei Spalten, die durch einen Tabulator getrennt werden, aufgebaut. Links stehen die zu verbindenden Dateien, rechts die Beschreibungen. Speichern Sie die Datei unter dem Namen bindex.txt in einem Unterverzeichnis /Show, um die folgenden Beispiele ausführen zu können. Achten Sie bei den Pfadangaben darauf, dass diese relativ zur Position der steuernden ASP-Datei sind. Beginnen Sie mit einem Schrägstrich „/“, wird ab der Root des Webservers nach den Dateien gesucht (c:\inetpub\wwwroot\). Sie können dann eine Indexseite erzeugen, die alle Schritte anzeigt und die passenden Links erzeugt: <TITLE>Content Linking Komponente Willkommen bei der Ernst Baumaschinen AG <% SET index = Server.CreateObject("MSWC.NextLink") %> Bitte lassen Sie sich durch unsere Show führen: <% FOR i=1 TO index.GetListCount("index.txt") -1 %> "> <% = index.GetNthDescription("index.txt",i) %> <% NEXT %>
Nun wird Ihnen der Quelltext auf den ersten Blick nicht wesentlich einfacher erscheinen als bei der Auflistung der sieben URLs in HTML. Denken Sie aber daran, dass Sie nur eine Textdatei ändern müssen, um 20 oder 100 Links so zu verwalten, und dass die Komponenten auf jeder Seite Ihrer Applikation ohne Änderungen benutzt werden können. Drei weitere Methoden kommen häufig zum Einsatz: 왘 Mit der Methode GetListCount wird die Anzahl der Einträge in der Liste
ermittelt. 왘 Mit GetNthURL (deutsch: hole die n-te URL) wird der erste Spalteneintrag
geholt. 왘 Zuletzt wird der zweite Spalteneintrag mit GetNthDescription angezeigt.
Hier die Übersicht aller Methoden der Komponente: 왘 GetListCount(datei)
Gibt die Anzahl der Einträge der Liste zurück. 왘 GetListIndex(datei)
Die aktuelle Position in der Liste.
525
15 Programmierung von Webseiten 왘 GetNextDescription(datei)
Beschreibung des nächsten Eintrags der Liste (rechter Wert). 왘 GetNextURL(datei)
Die Linkanweisung des nächsten Eintrags der Liste (linker Wert). 왘 GetNthDescription(datei, index)
Gibt die Beschreibung des durch index gewählten Eintrags zurück (rechter Wert). 왘 GetNthURL(datei, index)
Gibt die URL des durch index ausgewählten n-ten Wertes zurück. 왘 GetPreviousDescription(datei)
Beschreibung des vorherigen Eintrags der Liste (rechter Wert). 왘 GetPreviousURL(datei)
Die Linkanweisung des vorherigen Eintrags der Liste (linker Wert).
15.3 Datenspeicherung Dieser Abschnitt beschreibt die Anwendung der Bibliotheken Scripting. FileSystemObject zum Zugriff auf das Dateisystem und Scripting.Dictionary zur Bildung von Kollektionen als temporärer Datenspeicher.
15.3.1 Das DictionaryObjekt Scripting.Dictionary
Kollektionen mit Scripting.Dictionary
Ein Objekt vom Typ Dictionary dient dem Speichern von Wertepaaren in einer Kollektion. Im Gegensatz zum zweidimensionalen Array ist es einfacher zu benutzen und durch die schon vorhandenen Methoden sehr komfortabel. Das folgende Beispiel speichert einige bekannte Albumtitel und gibt sie wieder aus: <% Dim album Set album = CreateObject("Scripting.Dictionary") ' Hier können Sie beliebig viele Werte eingeben album.Add "0", "The Wall" album.Add "1", "Animals" album.Add "2", "Ummagumma" album.Add "3", "Atom Heart Mother" album.Add "4", "Meddle" album.Add "5", "Wish You Were Here" album.Add "6", "The Final Cut"
526
Datenspeicherung
album.Add "7", "The Division Bell" album.Add "8", "The Dark Side Of The Moon" FOR EACH i IN album response.write("Album: " & album.Item(i) & " ") NEXT %>
Mit Hilfe des Server-Objekts wird eine neue Instanz des Objekts Dictionary erzeugt, hier mit dem Namen album. Zwei Methoden werden zur Bedienung eingesetzt. Mit Add fügen Sie weitere Datensätze hinzu, mit Item wird ein Wert zurückgeholt. Generell besteht ein Dictionary immer aus dem Schlüssel und dem eigentlichen Inhalt. Auf diese beiden Werte können Sie die nachfolgend beschriebenen Methoden anwenden. Die folgenden Methoden können Sie mit diesem Objekt einsetzen: 왘 Add Schlüssel, Inhalt
Fügt ein Wertepaar hinzu. Der erste Parameter wird automatisch zum Schlüssel. 왘 Exists Schlüssel
Prüft, ob ein bestimmter Schlüssel vorhanden ist, und gibt einen booleschen Wert zurück (TRUE oder FALSE). 왘 Items
Gibt alle Inhalte (nicht die Schlüssel!) als Array zurück. 왘 Remove(Schlüssel)
Entfernt das durch Schlüssel spezifizierte Wertepaar. 왘 Keys
Gibt alle Schlüssel als Array zurück. 왘 RemoveAll
Entfernt alle Wertepaare, entspricht dem Löschen des Objektes. Einige Eigenschaften ergänzen dieses einfache Objekt: 왘 CompareMode
Bestimmt, wie die Filterung nach Schlüsseln stattfindet. Details finden Sie in der Referenz. Für normale Skripten sollte der Standardwert ideal sein. 왘 Count
Gibt die Anzahl der Wertepaare als numerischen Wert aus.
527
15 Programmierung von Webseiten 왘 Item(Schlüssel)
Gibt den durch Schlüssel spezifizierten Inhalt zurück. Wird auf der Zuweisungsseite einer Gleichung benutzt, um einen neuen Wert an einem schon vorhandenen Schlüssel zu binden. 왘 Key(Schlüssel)
Setzt einen Schlüsselwert neu. Der zugeordnete Inhalt bleibt unverändert.
15.3.2
Dateizugriff
Die Dateizugriffskomponente besteht aus vier Basisobjekten, aus denen weitere Objekte abgeleitet werden, und einer ganzen Palette zugehöriger Methoden: Das Objekt FileSystemObject enthält die grundlegenden Methoden zum Zugriff auf Dateien und Ordner. Sie können Dateien und Ordner löschen, umbenennen, kopieren und auf Laufwerke zugreifen. Die folgenden drei Objekte werden aus FileSystemObject abgeleitet: 왘 Das Objekt TextStream dient dem Erzeugen, Schreiben und Lesen von
Textdateien. 왘 Das Objekt File organisiert den unmittelbaren Dateizugriff. 왘 Das Objekt Folder ist das korrespondierende Objekt für den Zugriff auf
Ordner. Folder-Objekte (Ordner) und File-Objekte (Dateien) können Kollektionen enthalten.
Dateien lesen und schreiben Sollten Nutzer aus dem Internet via ASP Zugriff auf das Dateisystem des Webservers haben? Es gibt viele sinnvolle Anwendungen, beispielsweise Protokolldateien, Ablage von Formularinhalten oder einfache Datenquellen. Aus Sicherheitsgründen sollten jedoch nur Dateien, die Sie in Ihren Skripten festlegen, geschrieben werden können. Da Nutzer keinen Zugriff auf die Skripten selbst haben, sondern diese nur ausführen können, sind auch Manipulationen nicht möglich. Achten Sie aber darauf, dass keine Dateinamen frei angegeben werden können (beispielsweise in Formularfeldern). Möglicherweise könnten sich dann Sicherheitslücken ergeben. Zum erstmaligen Erzeugen und Beschreiben einer Textdatei werden zwei Objekte verwendet – FileSystemObject und TextStream. Da es sich um reguläre Objekte handelt, muss zuerst eine Instanz des Objekts erzeugt werden. Mit dieser Instanz können Sie dann arbeiten. Zwei Methoden werden dazu verwendet – CreateTextFile zum Erzeugen eines TextStream-Objekts und CreateObject zum Erzeugen eines FileSystemObject. WriteLine wird zum Schreiben einer Textzeile in ein TextStream-Objekt benutzt. Das folgende Bei-
528
Datenspeicherung
spiel erzeugt eine neue Protokolldatei und schreibt Datum und Uhrzeit hinein: <% SET LogObjekt = Server.CreateObject("Scripting.FileSystemObject") SET TextLog = LogObjekt.CreateTextFile ("d:\inetpub\wwwroot\beispiele\protokoll.txt") TextLog.WriteLine(Date&" "&Time) TextLog.Close %>
Das Ergebnis können Sie sich sofort nach der Ausführung ansehen. Beachten Sie beim Testen, dass das Beispiel für sich allein funktioniert, aber keinerlei Ausgabe im Browser erzeugt. Die vollständige Pfadangabe ist notwendig, die Angabe des Dateinamens allein erzeugt die Datei im Windows-Systemordner. Es gibt verschiedene Funktionen, den Rootpfad des Webservers automatisch zu ermitteln, dazu später mehr. Wichtig ist auch, dass der Pfad existiert. Die Methode legt zwar eine neue Datei an, kann aber keine Pfade erzeugen. Ist der Pfad fehlerhaft, kommt es zu einem Laufzeitfehler. Vergessen Sie bei solchen Applikationen nicht die Close-Methode, sonst wird die Datei bis zum nächsten Neustart des Systems offengehalten. Damit werden Systemressourcen verschwendet. Zum Verständnis des Beispiels ist es wichtig zu wissen, wie die Objekte intern verknüpft sind. Auf den ersten Blick ist TextStream nicht beteiligt. Intern wird aber von der Methode Create TextObject ein Objekt vom Typ TextStream zurückgegeben, von dem mit dem Schlüsselwort SET eine neue Instanz erzeugt wird, die über alle Methoden und Eigenschaften eines TextStream-Objekts verfügt. Das folgende Beispiel zeigt, wie Sie aus einem relativen (virtuellen) Pfad den von der Methode geforderten physischen Pfad machen: <% CONST conVirtualPath = "protokoll.txt" strPhysPath = Server.MapPath(conVirtualPath) ... %>
Beachten Sie, dass die Methode CreateTextFile nur Dateien, nicht aber fehlende Ordner erzeugt. Wenn Sie eine Fehlermeldung erhalten, ist möglicherweise der Ordner falsch benannt. Die Methode hat noch zwei weitere Parameter, die optional angegeben werden können und die hier nicht verwendet wurden. Die drei insgesamt möglichen Parameter sind: 왘 Dateiname
Gibt den Dateinamen mit einem vollständigen Pfad an. Verzeichnisse im Pfad müssen bereits existieren, die Datei selbst nicht.
529
15 Programmierung von Webseiten 왘 Überschreiben
Ein Boolescher Wert, der normalerweise auf TRUE steht und das Überschreiben einer bereits existierenden Datei erlaubt. Nur wenn Sie nicht überschreiben wollen, tragen Sie hier FALSE ein. 왘 Unicode
Auch dieser Wert ist wahlweise anwendbar und steht ohne Angabe auf FALSE. Wenn Sie TRUE eintragen, schreibt ASP statt einer Textdatei (ASCII) eine Datei im 16-Bit-Unicode-Format. Das ist sinnvoll für andere Alphabete oder fremdsprachliche Anwendungen. Write, WriteLine, WriteBlankLines, Close
Das erzeugte TextStream-Objekt repräsentiert die Textdatei. Um damit umgehen zu können, sind einige Methoden notwendig: 왘 Write(Zeichenkette)
Schreibt die übergebene Zeichenkette ab der aktuellen Position in die Datei. 왘 WriteLine(Zeichenkette)
Wie Write, aber mit einem abschließenden Zeilenumbruch. 왘 WriteBlankLines(Anzahl)
Schreibt die angegebene Menge leerer Zeilen durch Einfügen von Zeilenumbrüchen. 왘 Close
Schließt die Datei. Weitere Eigenschaften, die beim Lesen von Dateien benutzt werden können, sind: 왘 AtEndOfLine
Wenn das Ende einer Zeile erreicht wurde, ist diese Eigenschaft TRUE. 왘 AtEndOfStream
Das Ende der Datei wurde erreicht, wenn diese Eigenschaft TRUE wird. 왘 Column
Die Position des nächsten zu lesenden Zeichens in einer Zeile. 왘 Line
Die Zeile, vom Dateianfang gezählt, innerhalb der Datei. Zeilen enden immer mit einem Zeilenumbruch und Wagenrücklauf (CRLF). Beim Schreiben von Texten erzeugt man diesen Code mit der (¢)-Taste. Um sich Zeichen für Zeichen durch eine Datei zu bewegen, kann man die Methode ReadLine nicht verwenden. Dafür gibt es Read. Als Parameter übergeben Sie Read einen Zahlenwert, der die Anzahl der zu lesenden Zeichen nennt. Um aus einem Textobjekt gezielt lesen zu können, führt das Objekt ei-
530
Datenspeicherung
nen Zeiger mit, der auf eine bestimmte Position zeigt. Line und Column enthalten die Position des Zeigers, Read, ReadLine und Skip setzen den Zeiger weiter. Nach dem Erzeugen des Objekts steht der Zeiger am Anfang. Dateien kopieren, verschieben und löschen Für den Umgang mit Dateien gibt es zwei Wege. Der einfachste ist die Nutzung des Objekts FileSystemObject. Außerdem kann auf einzelne Dateien mit der Methode File und auf Ordner mit der Methode Folder zugegriffen werden. FileSystemObject ist praktisch ein übergeordnetes Objekt, das mehrere Eigenschaften vereint. File und Folder sollten Sie nur verwenden, wenn die Funktion explizit auf Dateien oder Ordner zugeschnitten ist. Damit wird die Lesbarkeit des Quelltextes verbessert. Drei Methoden des Objekts FileSystemObject stehen zur Verfügung, um die Manipulation der Dateien direkt ausführen zu können:
Copy, Move, Delete
왘 CopyFile Quelle, Ziel, [überschreiben]
Diese Funktion kopiert eine oder mehrere Dateien von der Quelle zum Ziel. Sie können Platzhalter verwenden, um mehrere Dateien zu kopieren. Der Parameter überschreiben ist ein Boolescher Wert, der festlegt, ob das Überschreiben von Dateien erlaubt ist. Geben Sie TRUE oder FALSE an. 왘 MoveFile Quelle, Ziel
Diese Funktion kopiert eine oder mehrere Dateien von der Quelle zum Ziel. Sie können Platzhalter verwenden, um mehrere Dateien zu kopieren. Existiert die Datei im Ziel bereits, wird ein Laufzeitfehler erzeugt. 왘 DeleteFile Dateiname
Löscht eine Datei oder, bei der Verwendung von Platzhalterzeichen, mehrere Dateien. Wenn Sie Platzhalter angeben und trotzdem keine Datei gefunden wurde, wird ein Laufzeitfehler erzeugt. Vor der Nutzung der Funktionen muss eine Instanz des Objekts erzeugt werden. Sie können statt FileSystemObject auch das abgeleitete Objekt File verwenden. Es funktioniert ähnlich wie das Objekt FileSystemObject, lediglich die Methoden haben andere Namen und verlangen andere Parameter: 왘 Copy Ziel, [überschreiben]
Diese Funktion kopiert eine Datei zum Ziel. Sie können Platzhalter verwenden, um mehrere Dateien zu kopieren. Der Parameter überschreiben ist ein Boolescher Wert, der festlegt, ob das Überschreiben von Dateien erlaubt ist. Geben Sie TRUE oder FALSE an. 왘 Move(Ziel)
Diese Funktion kopiert eine Datei zum Ziel. Sie müssen der Zieldatei einen Namen geben. Platzhalter sind nicht erlaubt. Existiert die Datei im Ziel bereits, wird ein Laufzeitfehler erzeugt.
531
15 Programmierung von Webseiten 왘 Delete schreibschutz
Löscht die Datei. Ist der Parameter schreibschutz auf TRUE gesetzt, wird auch eine Datei mit dem Attribut SCHREIBSCHUTZ gelöscht. Der Parameter ist optional, der Standardwert ist FALSE. GetFile
Die Instanz eines File-Objekts ist einfach mit der Methode GetFile aus dem FileSystemObject zu erzeugen: <% CONST delete = FALSE CONST conSourcePath = "logdateien/protokoll.txt" CONST conTargetPath = "logbackup/copy_of_protokoll.txt" %> <TITLE>File Objekt Test <% strPhysSourcePath = Server.MapPath(conSourcePath) strPhysTargetPath = Server.MapPath(conTargetPath) SET FileObjekt=Server.CreateObject("Scripting.FileSystemObject") SET OneFile=FileObjekt.GetFile(strPhysSourcePath) IF NOT delete THEN OneFile.Move(strPhysTargetPath) ELSE OneFile.Delete(FALSE) END IF %> Fertig...
Beachten Sie, dass GetFile nicht nur einen Pfad, sondern eine eindeutige Dateibezeichnung benötigt. Platzhalter sind nicht erlaubt. Bei den Methoden fehlen die Quellenangaben, denn das Objekt ist schon eindeutig an eine Quelle gebunden. Wenn Sie das Beispiel mehrfach ausführen, werden verschiedene Laufzeitfehler auftreten, die auf nicht vorhandene oder bereits vorhandene Dateien hinweisen. FileExists
Die meisten Funktionen reagieren mit einem Laufzeitfehler, wenn die Datei nicht existiert, auf die sich die Aktion bezieht. Mit ON ERROR RESUME NEXT könnte der Laufzeitfehler abfangen werden. Besser ist es jedoch, vor der Dateioperation die Existenz der Datei zu prüfen. Mit der Methode FileExist kann ein Boolescher Wert ermittelt werden, der TRUE wird, wenn die spezifizierte Datei existiert.
Dateiattribute ermitteln
Oft kann es sinnvoll sein, sich genauer über die Parameter einer Datei zu informieren. Dazu bietet das File-Objekt einige Eigenschaften, die angefragt werden können. Die Eigenschaft Attributes kann auch gesetzt werden. Folgende Eigenschaften stehen zur Verfügung:
532
Datenspeicherung 왘 Attributes
Gibt die Dateiattribute der Datei an. Benutzt wird ein Bytewert. Mögliche Werte finden Sie in Tabelle 15.1. 왘 DateCreated
Gibt Datum und Uhrzeit an, wann die Datei erzeugt wurde. 왘 DateLastAccess
Gibt Datum und Uhrzeit an, wann zuletzt auf die Datei zugegriffen wurde. 왘 DateLastModified
Gibt Datum und Uhrzeit an, wann die Datei zuletzt verändert wurde. 왘 Name
Diese Eigenschaft gibt den Namen der Datei zurück. 왘 ParentFolder
Der Name des übergeordneten Ordners (der Ordner, in dem die Datei sich selbst gerade befindet). 왘 Path
Der komplette Pfad der Datei. 왘 Size
Die Größe der Datei in Byte. 왘 Type
Der Typ der Datei anhand der MIME-Einstellungen; Dateien mit der Endung .TXT werden als „Text Document“ bezeichnet usw. Die Flags zeigen eine Zahl an, die einen Bytewert darstellt. Jedes Bit hat darin eine bestimmte Zuordnung zu einem Flag (Tabelle 15.1). Flag
Dezimaler Wert Bitwert = 1
Normal
0
Alle 0
Read-Only (Schreibgeschützt)
1
1
Hidden (Versteckt)
2
2
System (Systemdatei)
4
3
Volume (ist ein Laufwerk)
8
4
Directory (ist ein Verzeichnis/Ordner)
16
5
Archive (Archivbit ist gesetzt)
32
6
Alias (Verknüpfung)
64
7
Compressed (Datei ist komprimiert)
128
8
Tabelle 15.1: Bitwerte der Dateiattribute, welche die AttributesEigenschaft zurückgibt
533
15 Programmierung von Webseiten
Das folgende Skript zeigt die Eigenschaften einer Datei an: <TITLE>Dateieigenschaften anzeigen <% strPhysExistFile = Request.ServerVariables("PATH_TRANSLATED") SET FileObjekt=Server.CreateObject("Scripting.FileSystemObject") SET LogFile=FileObjekt.GetFile(strPhysExistFile) %> Name: <% = LogFile.Name %> Pfad: <% = LogFile.Path %> Laufwerk: <% = LogFile.Drive %> Größe: <% = LogFile.Size %> Typ: <% = LogFile.Type %> Flags: <% = LogFile.Attributes %> Erzeugt: <% = LogFile.DateCreated %> Letzter Zugriff: <% = LogFile.DateLastAccessed %> Letzte Änderung: <% = LogFile.DateLastModified %> LaufwerkMethode
Auch die Laufwerke des Servers können direkt angesprochen werden. Die Kollektion besteht aus jeweils einem Drive-Objekt, eines für jedes Laufwerk mit einem Buchstaben. Das ist eine wichtige Einschränkung, denn Netzwerklaufwerke, denen lokal (hier ist der Webserver gemeint) kein Laufwerksbuchstabe zugeordnet wurde, erscheinen nicht in der Kollektion. Für Laufwerke sind folgende Methoden des Objekts FileSystemObject verfügbar: 왘 DriveExists(DriveName)
Wenn das angegebene Laufwerk existiert, wird TRUE zurückgegeben. 왘 Drives
Gibt die Drives-Kollektion zurück. Die einzelnen Objekte der Kollektion haben wieder eigene Methoden und Eigenschaften. 왘 GetDrive(DriveName)
Gibt ein einzelnes Drive-Objekt zurück. 왘 GetDriveName(Pfad)
Gibt einen String zurück, der die Laufwerksbezeichnung für den angegebenen Pfad enthält. Aus der Kollektion oder direkt aus dem Objekt FileSystemObject kann das Objekt Drive abgeleitet werden. Durch Bildung einer Instanz des Objekts erhalten Sie Zugriff auf diese Eigenschaften. Der einfachste Weg zu einem Laufwerksobjekt ist die Methode GetDrive des Objekts FileSystemObject. Die folgende Übersicht bietet eine Liste der verfügbaren Eigenschaften:
534
Datenspeicherung 왘 AvailableSpace
Gibt den frei verfügbaren Speicherplatz auf dem Laufwerk zurück. 왘 DriveLetter
Gibt den vom Betriebssystem zugeordneten Laufwerksbuchstaben zurück. Netzwerklaufwerke werden nur erkannt, wenn ein virtueller Laufwerksbuchstabe zugeordnet wurde. Die zurückgegebene Zeichenkette besteht aus dem Buchstaben und einem Doppelpunkt (C:, F: usw.). 왘 DriveType
Gibt einen numerischen Wert zurück, der den Laufwerkstyp repräsentiert. Die exakten Werte finden Sie in der Referenz. 왘 FreeSpace
Gibt den freien Speicherplatz zurück. Derselbe Wert wie AvailableSpace, wenn unter Windows 2000/XP ohne aktivierte Kontingentüberwachung betrieben. 왘 IsReady
Gibt TRUE zurück, wenn das Laufwerk bereit ist. Diese Eigenschaft ist interessant für Laufwerke mit Wechselmedien, in denen sich möglicherweise kein Medium befindet. 왘 Path
Pfad des Laufwerks bei Netzwerklaufwerken. 왘 SerialNumber
Gibt die bei der Formatierung vergebene Seriennummer des Laufwerks zurück. 왘 ShareName
Gibt den Namen zurück, unter dem das Laufwerk im Windows NTNetzwerk freigegeben wurde. 왘 TotalSize
Gibt den gesamten Speicherplatz des Laufwerks in Byte zurück. Achten Sie bei der Umrechnung in KB oder MB darauf, mit den 2er-Potenzen zu rechnen (1 KB = 210 = 1 024 Byte, 1 MB = 220 = 1 048 576 Byte). Die Angaben werden sonst verfälscht. 왘 VolumeName
Ergibt den Namen des Laufwerks oder des eingelegten Mediums. Die Eigenschaften FreeSpace und AvailableSpace unterscheiden sich, wenn das Betriebssystem standardmäßig (Windows 2000) oder durch Zusatzsoftware (Windows NT 4) Diskquotas kennt.
535
15 Programmierung von Webseiten Mit Ordnern arbeiten
Oft werden nicht nur Dateien, sondern ganze Ordner bewegt oder verändert. Um nicht jede Datei anfassen zu müssen, die in einem Ordner liegt, besteht die Möglichkeit, Dateioperationen auch auf Ordner anzuwenden. Es gibt, wie bei den Laufwerken und Dateien, eine Kollektion (Folder-Kollektion) und ein Objekt (Folder-Objekt). Bestimmte Operationen lassen sich nur auf dieses Objekt anwenden. Sie erzeugen es mit einer speziellen Methode aus der Kollektion. Kollektionen sind in diesem Kontext zusammenhängende Ordner. Das Objekt FileSystemObject selbst bietet bereits einige Methoden, mit denen Verzeichnisoperationen durchgeführt werden können: 왘 CopyFolder Quelle, Ziel, [überschreiben]
Kopiert Ordner komplett an einen anderen Ort. Platzhalter sind zulässig. Normalerweise werden am Ziel vorhandene gleichnamige Dateien überschrieben. Wenn Sie das nicht wünschen, tragen Sie für überschreiben den Wert FALSE ein. 왘 CreateFolder OrdnerName
Erzeugt einen neuen Ordner mit dem angegebenen Namen. 왘 DeleteFolder OrdnerName
Löscht den benannten Ordner. Sie können Platzhalter einsetzen. Der Inhalt des Ordners (Dateien) wird mit gelöscht. 왘 FolderExists(OrdnerName)
Gibt TRUE zurück, wenn der Ordner existiert, sonst FALSE. 왘 GetFolder(OrdnerName)
Gibt ein Folder-Objekt zurück, das den benannten Ordner enthält. 왘 GetParentFolderName(Pfad)
Gibt einen String zurück, der den übergeordneten Ordner zu dem angegebenen Pfad bezeichnet. 왘 MoveFolder Quelle, Ziel
Verschiebt einen Ordner. Platzhalter können verwendet werden. Aus den folgenden Methoden, die sich auf eine Folder-Kollektion beziehen, die direkt aus dem Objekt FileSystemObject entsteht, können Sie leicht auf die korrespondierenden Methoden für das Folder-Objekt schließen. 왘 Copy Ziel, [überschreiben]
Kopiert den Ordner komplett an einen anderen Ort. Normalerweise werden am Ziel vorhandene gleichnamige Dateien überschrieben. Wenn Sie das nicht wünschen, tragen Sie für Überschreiben den Wert FALSE ein. 왘 DeleteFolder
Löscht den Ordner. Der Inhalt des Ordners (Dateien) wird mitgelöscht.
536
Datenspeicherung 왘 MoveFolder Quelle, Ziel
Verschiebt einen Ordner. Platzhalter können verwendet werden. 왘 IsRootFolder
Gibt TRUE zurück, wenn der Ordner die Root (das Stammverzeichnis) des Laufwerks repräsentiert (beispielsweise „c:\“), sonst FALSE. 왘 Files
Gibt eine File-Kollektion, die die im Ordner liegenden Dateinamen enthält, zurück. 왘 ParentFolder
Gibt eine Zeichenkette zurück, der den übergeordneten Ordner bezeichnet. 왘 Name
Der Name des Ordners. 왘 Size
Der von einem Ordner belegte Speicherplatz, inklusive aller darin enthaltenen Dateien und Unterordner. 왘 SubFolders
Gibt eine weitere Folder-Kollektion zurück, welche die untergeordneten Ordner enthält. Um eine Instanz des Folder-Objekts zu erzeugen, wird die Methode GetFolder verwendet.
Dateiorganisation mit SSI Bei komplexen Projekten werden zwei Probleme auffällig: Die Anzahl der Skripten ist schwer zu verwalten, und Änderungen führen schnell zu mehr oder minder großen Störungen. Gegen beide Probleme helfen die hier vorgestellten Methoden. Mit Server Side Includes können Sie Skripten modularisieren, mit Redirect-Methoden Nutzer zwangsweise um- oder weiterleiten. Es ist sehr einfach möglich andere HTML- oder ASP-Dateien in eine Skriptdatei einzufügen. Vor allem für gut strukturierte und modular aufgebaute Programme bietet sich diese Vorgehensweise an. Der Befehl #INCLUDE ist eine sogenannte Serverdirektive, die nicht als Bestandteil des ASP-Skripts geführt wird. Sie können den Befehl an jeder Stelle in einer Datei unterbringen. Bei der Ausführung werden zuerst die Direktiven abgearbeitet, und nach der erfolgten Zusammenführung der Dateien wird das gesamte Skript ausgeführt. Das folgende Beispiel fügt ein Werbebanner ein:
Wie es funktioniert
<TITLE>Test Werbebanner
537
15 Programmierung von Webseiten
Willkommen auf unserer Homepage!
Die Direktive wird in einem HTML-Kommentar versteckt. Mit dem Schlüsselwort FILE wird auf eine absolute Pfadangabe hingewiesen. Das gilt auch für Dateien im selben Verzeichnis. Das Schlüsselwort VIRTUAL zeigt dagegen an, dass es sich um die Pfadangabe eines virtuellen Verzeichnisses handelt. Alternativ können Sie FILE verwenden, um einen absoluten Pfad zu definieren. Laufwerksangaben beziehen sich natürlich auf den Webserver. Beachten Sie das auch, wenn die Programmierung der Skripten auf einem Entwicklungssystem stattfindet, auf dem andere Pfade verwendet werden.
15.4 Webserver-Bibliothek 15.4.1
Die Objekte Request und Response
Jeder Datenaustausch zwischen Webserver und Browser besteht aus den Prozessen Request (Anforderung) und Response (Antwort), bei denen interne Informationen ausgetauscht werden. Wann immer Daten übertragen werden, wird auf diese beiden Objekte und deren Methoden und Eigenschaften zugegriffen. Man kann beide Objekte eigentlich nicht trennen, denn die Prozesse gehören häufig zusammen. Antwortkontrolle mit Response
Das Objekt Response ist ein klassisches Objekt mit Kollektionen, Methoden und Eigenschaften. Durch diese Methoden und Eigenschaften werden viele Funktionen des Webservers direkt kontrollierbar. Zum erfolgreichen Einsatz ist die Kenntnis des Protokolls HTTP sinnvoll. Eine Beschreibung finden Sie im Abschnitt 3.1.3. Die Grundeigenschaft des Objekts Response ist die Übermittlung von Daten an den Webserver, der diese Informationen direkt an den Browser weiterleitet. Normalerweise senden Webserver Informationen, die sie erhalten, sofort weiter. Manchmal kann sich eine Seite unter Umständen auch deshalb langsam aufbauen, weil der Server mit der Berechnung beschäftigt ist und die Seite regelrecht zusammenbaut. Testen Sie das folgendes Skript: <TITLE>Buffer Beispiel <% FOR i = 1 TO 50 Response.Write(i) FOR j = 1 TO 1000 %>.<% NEXT
538
Webserver-Bibliothek
Response.Write(" ") NEXT %>
Sie sehen praktisch in Echtzeit, wie die Schleife arbeitet und Wert für Wert im Browser erscheint. Die innere Schleife bremst etwas und gibt Punkte aus, um die Ausgabe besser zu veranschaulichen. Mit dem Beispiel kennen Sie schon die erste Methode des Objekts: Write. Spannend ist immer die Abfrage von Servervariablen, teilweise werden wertvolle Informationen vom Browser geliefert. Versuchen Sie: <% = Request.ServerVariables("Variable") %>
Setzen Sie für „variable“ eine der folgenden Zeichenketten ein. Nicht alle Werte werden für die praktische Programmierarbeit wirklich benötigt. Die wichtigsten sind: 왘 HTTP_REFERER
Wenn Ihre Seite durch Anklicken eines Hyperlinks auf einer anderen Seite erreicht wurde, enthält diese Variable die URL der Seite, von der der Nutzer kam. Oft sind es Suchmaschinen wie YAHOO!. Die Auswertung gibt wertvolle Hinweise, wer Ihre „heimlichen Werbeträger“ sind. 왘 HTTP_USER_AGENT
Der Typ des Browsers wird angezeigt. Sie können auswerten, welche Browser Ihre Nutzer bevorzugen, und die Gestaltung der Seiten daraufhin ausrichten. 왘 REMOTE_ADDR
Dieses Feld enthält die IP-Adresse, mit der der Browser die Verbindung hergestellt hat. Daraus können Sie mit Hilfe eines Domainname-Servers (DNS) die Domain rekonstruieren. Bedenken Sie aber, dass große Onlinedienste und Provider IP-Adressen dynamisch vergeben und derselbe Nutzer jeden Tag eine andere Nummer haben kann. Sie können aber die Class-B- und -C-Netze auswerten und feststellen, ob häufiger von T-Online oder AOL aus zugegriffen wird. 왘 QUERY_STRING
Diese Variable enthält die Zeichenkette nach dem Fragezeichen, dem Trennzeichen für die Übertragung von Parametern zum Server. Die Verwendung lernen Sie bei der Übergabe von Formulardaten kennen. 왘 SCRIPT_NAME
Dies ist der virtuelle (relative) Pfad der aktuellen ASP-Seite. Damit können Sie Seiten automatisch mit sich selbst referenzieren, ohne den Stand-
539
15 Programmierung von Webseiten
ort zu kennen. Diese Funktion ist wertvoll, wenn Sie Skripten schreiben, die Sie verkaufen möchten und die auf jedem Webserver ohne Änderungen arbeiten sollen. 왘 SERVER_NAME
Der Name des Webservers oder die IP-Adresse. 왘 PATH_TRANSLATED
Der physische Pfad des ASP-Skripts auf der Festplatte des Webservers.
15.4.2
Daten aus einem Formular entnehmen
Der einzig mögliche direkte Weg in HTML, über den Informationen vom Nutzer zu Ihrer Datenbank gelangen, führt über HTML-Formulare. Erinnern Sie sich an die Art und Weise, wie HTML die Formulare verarbeitet. Die Elemente eines Formulars bestehen aus einem Typ (Texteingabefeld, Kontrollkästchen usw.), einem Namen des Elements und einem bestimmten Wert, der vorgegeben wird und vom Nutzer verändert werden kann. Das Abfragen der Felder eines Formulars kann in FrontPage 2002 mit dem WebBot BESTÄTIGUNGSFELD erfolgen. Allerdings ist die Funktion primitiv und auf FrontPage-Erweiterungen im Server angewiesen. Wie kann man nun den Inhalt von HTML-Formularen mit Active Server Pages auswerten? Nach dem Erstellen des Formulars geben Sie im -Tag das Skript an, mit dem die Auswertung erfolgt. In FrontPage wählen Sie im Dialogfeld FORMULAREIGENSCHAFTEN die Schaltfläche OPTIONEN... Im Formular fügen Sie ein Feld mit dem Namen „Vorname“ ein. Der Umgang mit Formularfeldern selbst ändert sich bei der Nutzung von Skripten nicht, Sie können die FrontPage-Funktionen wie gewohnt einsetzen. Abbildung 15.1: ASP-Skript zur Auswertung eines Formulars angeben
540
Webserver-Bibliothek
Benutzt werden die bereits vorgestellten Request-Objekte. Das Übertragen des Formulars mittels HTTP nutzt den Prozess Request (Anforderung) dieses Protokolls. Das ASP-Objekt Request enthält eine Kollektion, mit deren Hilfe sich die Daten leicht auswerten lassen. Die Kollektion besteht immer aus einem Wertepaar. Im Fall der hier benutzten Formkollektion besteht das Paar aus dem Namen des Elements und seinem Inhalt. In der HTML-Ansicht können Sie sich davon überzeugen, ob der Befehl korrekt eingetragen wurde:
Testen Sie den folgenden Quelltext als „Antwortseite“ (ANTWORT.ASP): <TITLE>Willkommen! Hallo <% = Request.Form("VorName") %>. Danke für die Registrierung!
Grundsätzlich besteht jedoch keine Möglichkeit Daten mit dieser Methode auf einer Seite einzugeben und dann sofort auszuwerten. Formulare müssen immer gesendet und dann der nächsten Seite übergeben werden. Manchmal kann es stören, die Abfrage der Inhalte auf so direktem Wege vornehmen zu müssen. Andererseits beeindruckt die Einfachheit, mit der Informationen übertragen werden können. Felder mit mehreren Werten Oft können Dialoge stark vereinfacht werden, wenn die Nutzer mehrere Optionen gleichzeitig auswählen können. Ein beliebtes Beispiel ist die Auswahl aus einem Listenfeld. Der folgende Quellcode zeigt mögliche Eintragungen eines Newsdienstes, von denen einer oder auch mehrere Einträge ausgewählt werden können. Schauen Sie sich zunächst das Formular an, mit dem die Daten abgefragt werden: <TITLE> Bestellung Newsservice mit Listbox Bestellung Newsservice <SELECT name=dienst size=5 MULTIPLE> Sportinformationen Regionalinfo Börsenticker Internet Nachrichten Klatsch und Tratsch
541
15 Programmierung von Webseiten
Die Auswertung ist sehr einfach, denn Sie können die Methoden der Formkollektion anwenden. Jedes multiple Element bildet eine solche Kollektion. Hier ist der Quellcode für das Skript register.asp: <TITLE>Ihre Bestellung Vielen Dank für Ihre Bestellung. Sie haben <% = Request.Form("dienst").Count %> Dienste abonniert: <% FOR EACH feld IN Request.Form("dienst") Response.Write(" " & feld) NEXT %>
Es werden die in den -Tags übergebenen Werte ausgegeben. Wenn Sie keine direkte Ausgabe planen, benötigen die Werte zur weiteren Verarbeitung in Variablen keine langen Beschreibungen. Textfelder abfragen Sehr häufig werden Formulare mit einem allgemeinen Textfeld beendet, in dem der Nutzer einen Kommentar zu Ihrer Webseite unterbringen kann. Auch Anzeigensysteme nutzen das HTML-Element zur Erfassung längerer Texte. Die Übertragung solcher Elemente nach VBScript ist sehr einfach, denn VBScript kennt keine enge Begrenzung der Zeichenkettenlänge. Theoretisch können Zeichenketten bis zu 2 Milliarden Zeichen (2 GByte) enthalten – sicher genug, um auch riesige Textfelder aufzunehmen. Bitte schreiben Sie uns Ihre Meinung:
Daten per Formular übertragen Wenn Formulare aufgebaut werden, können Sie die Gelegenheit nutzen und andere im Skript erzeugte Daten übertragen. Vor allem bei komplexen Anwendungen können Skripten so von mehreren anderen Stellen aus aufgerufen werden. Die Übergabe bestimmter Variablen steuert dann die Skripten. Da auch globale Variablen sich nur auf den aktuellen Skript beziehen und Datenbanken nicht immer sinnvoll oder möglich sind, ist eine solche Alternative gefragt, die kleinere Datenmengen leicht überträgt.
542
Webserver-Bibliothek
In HTML gibt es dafür den Tag . Dieses Feld wird nicht angezeigt, der darin festgeschriebene Wert wird trotzdem wie jeder andere Feldname übertragen. Sie können solche Felder im Dialog FORMULAREIGENSCHAFTEN erzeugen. Klicken Sie auf die Schaltfläche ERWEITERT... und geben Sie Namen und Werte für das Feld ein. Statt der Werte können Sie im Quellcode später Skriptfragmente einbauen. Abbildung 15.2: Versteckte Felder bequem per Dialog erzeugen
Erzeugt wird mit diesem Dialog HTML-Code, der etwa folgendermaßen aussieht:
Der folgende Code zeigt eine umfangreichere Anwendung: <TITLE>Woher haben Sie von uns gehört? Sagen Sie uns, wie Sie auf uns aufmerksam wurden: Zeitungsanzeige Fernsehspot Trikotwerbung
Im Beispiel wird der Wert „advertising“ dem Feld survey zugewiesen. Landen mehrere Formularseiten auf der gleichen Antwortseite, können Sie die Herkunft damit unterscheiden. Zusätzlich lassen sich so auch anderswo im Skript erzeugte Daten zwischen den Seiten übertragen. Die Auswertung erfolgt mit der normalen Abfrage von Formularfeldern, wie zuvor schon beschrieben – nutzen Sie das bereits gezeigte Skript register.asp.
543
15 Programmierung von Webseiten
Die Übertragung der Formularwerte und -namen findet im HTTP-Header statt. Die verantwortliche Methode in HTML heißt „post“ (deutsch: veröffentlichen im Sinne von senden); sie wird über gestartet. Um die Zeichen auch unabhängig von den Formular- und Request-Befehlen codieren und decodieren zu können, kennt VBScript spezielle Funktionen. Dies gilt auch für die zweite Methode, GET, mit der Daten an die URL angehängt werden.
15.4.3 Server .HTMLEncode
Daten mit Hilfe des URL übertragen
Wenn Sie HTML-Codes anzeigen möchten, können Sie die Methode Server.HTMLEncode benutzen. Als Parameter wird eine Zeichenkette erwartet, die umgewandelt zurückgegeben wird. Die Anwendung ist immer dann gegeben, wenn Sie erwarten, dass die Zeichenkette HTML-Tags enthält, diese Tags auf dem Browser jedoch nicht ausgeführt werden sollen. Das folgende Listing zeigt eine entsprechende Anwendung: <% a = "Dieser Text ist fett " %> Ausgabe 1: <% = a %> Ausgabe 2: <%= Server.HTMLEncode(a) %>
Server .URLEncode
Ganz ähnlich arbeitet die Methode Server.URLEncode, mit der die Codes so erzeugt werden, als würde die Zeichenkette über die URL übertragen werden. Damit ist es möglich, auch Werte aus normalen Variablen mit zu übertragen und auszuwerten. Der folgende Abschnitt erklärt, wie Daten auch ohne Formulare zwischen Webseiten ausgetauscht werden können. Auch hier werden Methoden des Objekts Request benutzt.
Einfache Variablen-/Wertepaare
Formulare sind auffällige Erscheinungen auf einer Webseite. Manchmal ist ein Hyperlink zur Navigation sinnvoller oder technisch einfach unumgänglich. Der folgende Hyperlink wurde um Variablen-/Wertpaare verlängert: http://www.seite.de/scripte.asp?variable1=Wert1&variable2=Wert2
Drei spezielle Zeichen finden dabei Verwendung. Das Trennungszeichen zwischen dem URL und den angehängten Parametern ist das Fragezeichen. Jedes einzelne Wertepaar wird mit einem &-Zeichen getrennt. Zwischen Variable und Wert steht ein Gleichheitszeichen. Sie können theoretisch beliebig viele Werte übertragen. Beachten Sie aber, dass die Browser ganz unterschiedliche Längen für die komplette URL akzeptieren. Der Internet Explorer akzeptiert ca. 2.000 Zeichen. Request.QueryString
544
Die Auswertung wird mit der Methode Request.QueryString vorgenommen. Diese Methode extrahiert die einzelnen Werte aus dem URL. Schauen Sie sich ein kleines Beispiel an, das zur Bestellung von Büchern dient (Haben Sie den Schriftsteller erkannt?):
Webserver-Bibliothek
<TITLE>Was möchten Sie bestellen? Willkommen in unserem Buchladen Ihre Bestellung bitte: Der Unbesiegbare
Der Schnupfen
Sterntagebücher
Eden
Jeder Link führt auf die Seite weiter.asp, wo die Bestellung ausgewertet wird. Den Quelltext finden Sie hier:
<TITLE>Ihre Bestellung Willkommen in unserem Buchladen Sie haben das Buch <% SELECT CASE Request.QueryString("artikel") CASE 1 Response.Write("Der Unbesiegbare") CASE 2 Response.Write("Der Schnupfen") CASE 3 Response.Write("Sterntagebücher") CASE 4 Response.Write("Eden") END SELECT %> von Stanislaw Lem bestellt. Vielen Dank!
Wenn Sie beliebige Werte übertragen möchten, muss jeder einzelne Wert in die URL-Form gebracht werden. Das erste Beispiel arbeitet auch ohne URL Encode, denn es werden keine speziellen Zeichen übermittelt. Um Fehlern vorzubeugen, sollten Sie aber immer mit URLEncode arbeiten.
15.4.4
Weiterleitung (Redirection)
Suchmaschinen versuchen heutzutage alles, um jede greifbare Information zu bekommen. Dazu werden so genannte Robots oder Spider verwendet, kleine Programme, die HTML-Seiten durchsuchen und indizieren. Solche Programme verfolgen auch Links und nehmen normalerweise Ihr gesamtes Web auf. Dabei kann es vorkommen, dass Seiten im Index der Suchmaschine
Response.Redirect
545
15 Programmierung von Webseiten
stehen, die potenzielle Nutzer eigentlich auf so direktem Wege nie erreichen sollten. Sie müssen dann dafür sorgen, dass der verlorene Surfer wieder auf den rechten Pfad zurückgeführt wird. Mit ASP ist das sehr einfach. Wenn Sie eine Registrierungsseite haben und jemand zufällig auf der Antwortseite zur Registrierung landet, dann senden Sie ihn direkt zum eigentlichen Formular zurück: <% IF Request.Form("VorName")="" THEN Response.Redirect "register.asp" %> <TITLE>Registrierung erfolgreich Danke <% = Request.Form("VorName") %> für die Registrierung!
Beachten Sie, dass die Anweisung zum Umleiten noch vor dem ersten HTML-Befehl steht. Sie können mit diesem Befehl auch jede andere Seite im Internet erreichen. Normalerweise sollte das so funktionieren, dass der Nutzer die Umleitung nicht bemerkt.
15.4.5
Wie Sie Sessions benutzen können
Wann Sessions angewandt werden Neben der reinen Interaktivität, das heißt der Reaktion des Webservers auf Eingaben der Nutzer, sind oft auch länger zurückliegende Informationen über die Surfer sinnvoll zu gebrauchen. So könnte eine intelligente Webseite die persönlichen Interessensgebiete speichern und News entsprechend auswählen. Der Besucher wird stärker an das Angebot gebunden, wenn er bei seinen Besuchen persönlich angesprochen wird. Ein anderes Problem ist die statistische Auswertung der Bewegung der Surfer über Ihre Seiten. Auch diese Informationen lassen sich mit der Hilfe von Sessions speichern. Der Vorteil, vor allem für kleinere Projekte, ist der mögliche Verzicht auf Datenbanken. Prinzipiell funktionieren alle diese Anwendungen auch oder besser mit Datenbanken; nur für die Speicherung der Lieblingsfarbe ist der Aufwand und die daraus resultierende Serverbelastung nicht gerechtfertigt. Warum Sessions sinnvoll sind
546
Sessions haben ihren Ursprung in Begrenzungen des HTTP-Protokolls. Dieses Protokoll, dass die Verbindung von Webserver und Browser steuert, ist ein so genanntes verbindungsloses oder statusloses Protokoll. Für jedes einzelne Objekt, jede Seite, jedes Plug-In wird immer wieder erneut eine Verbindung aufgebaut. Der Webserver kann also in größeren Abständen zugreifende Nutzer nicht wieder zuordnen. Er liefert nur Daten an irgend-
Webserver-Bibliothek
welche immer wieder und irgendwann anfordernde Browser. Alle Interaktionen beruhen auf einem primitiven Frage-Antwort-Spiel (Request and Response). Sessions lösen dieses Problem, indem Sie einen Status über mehrere Webseiten mitführen und die von HTTP nicht unterstützten Informationen speichern. Gelegentlich werden Sie Berichte finden, in denen vor der Verwendung von Sessions gewarnt wird. Deshalb möchte ich hier die technischen Hintergründe erläutern, um die Entscheidung für oder wider Sessions transparent zu machen. Das Session-Objekt, auf dem alle Methoden und Eigenschaften aufbauen, kann selbst keine Daten speichern. Sessions nutzen Cookies zur Speicherung der Informationen. Cookies werden im folgenden Abschnitt ausführlich erklärt, denn ihr Verständnis ist für den Umgang mit dem Objekt Session sinnvoll.
Pro und Contra Sessions
Cookies als Informationsspeicher Cookies (deutsch: Kekse) haben einen völlig irreführenden, harmlosen Namen. Aber sie sind bekannt und oft verteufelt als der Angriffspunkt des bösen Hackers aus dem Web, der sich an den privaten Dateien der Surfer zu schaffen machen will. Cookies wurden von Netscape erfunden und sind seit der ersten Version ihres Browsers Navigator dabei. Später wurde daraus ein Standard, der auch vom World Wide Web Consortium W3.ORG unterstützt wird. Die meisten Browser unterstützen heute Cookies.
Wo kamen die Cookies her?
Cookies sind eine oder mehrere Dateien, die der Browser anlegt und in denen (und nur in denen) der Server auf Wunsch Informationen unterbringen und wieder auslesen kann. Der Sinn von Cookies ist die Wiedererkennung des Nutzers bei einer späteren Session. Cookies lösen also ein gravierendes Problem des HTTP-Protokolls. Cookies können temporär sein, also am Ende einer Session wieder gelöscht werden, andere sind permanent und werden nie oder sehr viel später gelöscht. Cookies werden zwischen Server und Browser durch HTTP-Header übertragen. Durch Senden eines Set-Cookie-Headers wird ein Cookie in der CookieDatei erzeugt. Soll beispielsweise der Name eines Nutzers gespeichert werden, sieht der zugehörige Header folgendermaßen aus:
Die Technik der Cookies
Set-Cookie: UserName=Roger+Waters; path=/ ; domain=comzept.de; expires=Tuesday, 01-Jan-99 00:00:01 GMT
Der neue Eintrag in der Cookie-Datei wird jetzt erstellt. Das Pluszeichen zwischen Vor- und Zuname deutet darauf hin, dass die Datei URL-codiert ist. Die Variable path schränkt die Rückgabe des Eintrages auf Seiten ein, die von dem benannten Pfad aus anfragen. Mit domain wird die Rückgabe auf die angegebene Domain eingeschränkt. Server, die aus anderen Domains das Cookie abfragen, erhalten keine Antwort. Das ist auch der Grund, warum fremde Server Einträge wirklich nicht lesen können. expires gibt das Datum an, an dem der Eintrag ungültig und vom Browser gelöscht wird. Aller-
547
15 Programmierung von Webseiten
dings kann der Browser den Eintrag auch schon früher löschen, wenn die Datei zu groß wird. Der Cookie wird, wenn Domain und Pfadangabe stimmen, nun in jede Anfrage eingebaut, die der Browser an den Server stellt. Für jedes Verzeichnis im Webserver können Sie also eigene Cookies erzeugen. Cookies erzeugen und lesen
Cookies werden direkt von ASP unterstützt. Das Response-Objekt enthält eine Kollektion Cookies; daraus kann ein Cookie-Objekt und ein CookieDictionary erzeugt werden. Dictionaries sind Speicherobjekte vom Typ Dictionary, die Paare aus Schlüssel und Wert speichern: <% Response.Cookies("UserName")="Roger Waters" Response.Cookies("UserName").Expires="Jan 1, 1999" Response.Cookies("UserName").Path="\" Response.Cookies("UserName").Domain="comzept.de" %>
Response.Cookies
Die etwas abenteuerlich anmutende Schreibweise zum Setzen des Verfallsdatums und der anderen Eigenschaften resultiert aus der Tatsache, dass der Eintrag (das Cookie) selbst ein Objekt, Expires die entsprechende Eigenschaft ist. Sie müssen das Datum nur dann angeben, wenn das Cookie länger als eine Session gespeichert werden soll. Für eine Warenkorbfunktion wäre es also nicht unbedingt erforderlich. Cookies werden über HTTP-Header übertragen. Es ist deshalb notwendig, diesen Code an den Anfang des Skripts vor der ersten Ausgabe zu stellen. Folgende Eigenschaften können Sie benutzen: 왘 Path
Damit wird angegeben, wann der Browser das Cookie sendet. Wenn Sie ein Unterverzeichnis /SCRIPTS haben und der Aufruf von einer Seite in diesem Verzeichnis kommt, wird der Cookie gesendet, sonst nicht. 왘 Domain
Damit wird die Domain angegeben, aus welcher der Aufruf kommen darf. Damit wird das Auslesen fremder Cookies verhindert. 왘 Expires
Gibt das Verfallsdatum des Cookies an. 왘 Secure
Wenn der Webserver den Secure Socket Layer (SSL) unterstützt, wird die Transaktion mit einer sicheren Übertragung ausgeführt. Sie können ein Cookie leicht wieder lesen. Dazu wird das schon bekannte Request-Objekt benutzt: <%= Request.Cookies("UserName")%>
548
Webserver-Bibliothek
Wie bei allen regulären Objekten, die eine Kollektion bilden, kann auch hier wieder mit einer Schleife auf alle Cookies zugegriffen werden. Wollen Sie sich über den Begriff Cookie keine Gedanken machen, verwenden Sie besser die in ein eigenes Modell integrierten Sessions. Wegen der komfortablen Arbeitsweise sind Sessions immer vorzuziehen. Indes dürfen Sie nicht vergessen, dass Session-Objekte intern auf Cookies zurückgreifen. Manchmal sind Cookies nicht erwünscht. ASP Session-IDs benutzen generell Cookies, also auch dann, wenn Sie gar keine Variablen gesetzt haben. Wenn ein Benutzer die Sicherheitseinstellungen im Browser so gewählt hat, dass vor eintreffenden Cookies gewarnt wird, kann dies ausgesprochen lästig sein. Möglicherweise verlieren Sie Benutzer. Sie können die folgende Serverdirektive verwenden, um die Anwendung von Sessions und damit die Verwendung von Cookies grundsätzlich zu verbieten. Sie müssen diesen Eintrag auf jeder Seite vornehmen: <%@ ENABLESESSIONSTATE = FALSE %>
Darüber hinaus beschleunigt die Verwendung dieses Befehls die Abarbeitung der Skripte. Auch wenn es keine Rolle spielt, ob Cookies verwendet werden oder nicht, ist es sinnvoll, die Verarbeitung zu unterdrücken, wenn Sie die Funktion nicht ausdrücklich benötigen. Wenn Sie bisher HTML-Seiten mit JavaScript programmieren, werden Sie auch dort vielleicht bereits mit Cookies gearbeitet haben. Die von JavaScript browserseitig generierten Cookies unterscheiden sich grundlegend von den vom Server gesetzten und lassen sich nicht austauschen oder gegenseitig beeinflussen. Ereignisse beim Start und Ende von Anwendung und Sitzung Windows-Programmierer mögen sich vielleicht schon gefragt haben, wo denn die Ereignissteuerung stattfindet. Die Interaktion findet nicht über Ereignisse statt, sondern über Protokolle. Trotzdem gibt es zwei Ereignisse, die stattfinden und die auch ausgewertet und bedient werden können, wenn sie ausgelöst werden: der Beginn und das Ende einer Session. In jedem Web, das heißt in jedem virtuellen Server, gibt es die Möglichkeit, diese Ereignisse mit einem besonderen Skript zu steuern. Der Status wird auch dadurch deutlich, dass diese Skriptdatei eine spezielle Endung hat. Sie heißt GLOBAL.ASA. Wenn Sie Datenbankkomponenten in FrontPage einfügen, wird die Datei GLOBAL.ASA automatisch erzeugt und mit den entsprechenden Werten geladen. Diese Datei hat die folgende Struktur, wenn Sie noch keine eigenen Befehle eingetragen haben:
Die Datei GLOBAL.ASA
<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Session_OnStart End Sub
549
15 Programmierung von Webseiten
Sub Session_OnEnd End Sub Sub Application_OnStart End Sub Sub Application_OnEnd End Sub
Am Beginn einer Session wird die Prozedur Session_OnStart aufgerufen, die enthaltenen Befehle werden ausgeführt. Die Bedeutung der Prozeduren Application_OnStart und Application_OnEnd werden im nächsten Abschnitt zum Thema Applikationen erklärt. Beachten Sie, dass die Prozeduren in der Datei GLOBAL.ASA keine Ausgaben erzeugen können. Sie dürfen weder HTML-Code noch Response.Write-Methoden enthalten. Das gilt, obwohl der HTML-Tag <SCRIPT> benutzt wird. Sie können außer VBScript auch JScript verwenden. Alle anderen Schlüsselwörter, Objekte und Funktionen können Sie jedoch verwenden. Eine typische GLOBAL.ASA, wie sie von FrontPage 2002 automatisch erzeugt wird, sehen Sie hier: <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart '==FrontPage Generated – startspan== Dim FrontPage_UrlVars(1) '--Project Data Connection Application("CD-Shop_ConnectionString") = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=URL=fpdb/cdshop.mdb" FrontPage_UrlVars(0) = "CD-Shop_ConnectionString" Application("CD-Shop_ConnectionTimeout") = 15 Application("CD-Shop_CommandTimeout") = 30 Application("CD-Shop_CursorLocation") = 3 Application("CD-Shop_RuntimeUserName") = "" Application("CD-Shop_RuntimePassword") = "" '-Application("FrontPage_UrlVars") = FrontPage_UrlVars '==FrontPage Generated – endspan== End Sub Sub Session_OnStart FrontPage_StartSession '==FrontPage Generated== End Sub Sub FrontPage_StartSession On Error Resume Next if Len(Application("FrontPage_VRoot")) > 0 then Exit Sub ' discover the VRoot for the current page; ' walk back up VPath until we find global.asa Vroot = Request.ServerVariables("PATH_INFO") strG1 = "global.asa" strG2 = "Global.asa"
550
Webserver-Bibliothek
iCount = 0 do while Len(Vroot) > 1 idx = InStrRev(Vroot, "/") if idx > 0 then Vroot = Left(Vroot,idx) else ' error; assume root web Vroot = "/" end if if FrontPage_FileExists(Server.MapPath(Vroot & strG1)) then exit do if FrontPage_FileExists(Server.MapPath(Vroot & strG2)) then exit do if Right(Vroot,1) = "/" then Vroot = Left(Vroot,Len(Vroot)-1) iCount = iCount + 1 if iCount > 100 then ' error; assume root web Vroot = "/" exit do end if loop ' map all URL= attributes in _ConnectionString variables Application.Lock if Len(Application("FrontPage_VRoot")) = 0 then Application("FrontPage_VRoot") = Vroot UrlVarArray = Application("FrontPage_UrlVars") for i = 0 to UBound(UrlVarArray) if Len(UrlVarArray(i)) > 0 then FrontPage_MapUrl(UrlVarArray(i)) next end if Application.Unlock End Sub Sub FrontPage_MapUrl(AppVarName) ' convert URL attribute in conn string to absolute file location strVal = Application(AppVarName) strKey = "URL=" idxStart = InStr(strVal, strKey) If idxStart = 0 Then Exit Sub strBefore = Left(strVal, idxStart – 1) idxStart = idxStart + Len(strKey) idxEnd = InStr(idxStart, strVal, ";") If idxEnd = 0 Then strAfter = "" strURL = Mid(strVal, idxStart) Else strAfter = ";" & Mid(strVal, idxEnd + 1)
551
15 Programmierung von Webseiten
strURL = Mid(strVal, idxStart, idxEnd – idxStart) End If strOut = strBefore & Server.MapPath(Application("FrontPage_VRoot") & strURL) & strAfter Application(AppVarName) = strOut End Sub Function FrontPage_FileExists(fspath) On Error Resume Next FrontPage_FileExists = False set fs = CreateObject("Scripting.FileSystemObject") Err.Clear set istream = fs.OpenTextFile(fspath) if Err.Number = 0 then FrontPage_FileExists = True istream.Close end if set istream = Nothing set fs = Nothing End Function
15.4.6
Applikationen
Bislang wurden Skripte immer so aufgebaut, dass jeder einzelne Prozess zu der vom Nutzer sichtbaren Seite passt. Praktisch entspricht diese Vorgehensweise der Kopplung von Oberfläche und zugehörigem Programmcode. Moderne Software-Entwicklungssysteme wie Visual Basic oder Delphi arbeiten ähnlich. All diese Systeme haben jedoch eine gemeinsame Zone im Hintergrund zu Eigen, die alle Prozesse zusammenführt – das Fenster. Mit dem Application-Objekt wird eine solche Zusammenführung auch in ASP möglich, obwohl auf dem Webserver kein Fenster erzeugt wird. Als Applikation wird hier die Zusammenfassung mehrerer Skripten verstanden. Das in Abschnitt 14.1 Datenbankpraxis gezeigte Projekt ist eine solche Applikation. Natürlich sind Applikationen nicht nur eine Sammlung von Skripten. Es gibt eine ganze Reihe interessanter Funktionen, die zur Entwicklung großer Projekte nötig sind und bisher gefehlt haben: 왘 Daten können zwischen Skripten ausgetauscht werden. 왘 Daten können auch zwischen Nutzern ausgetauscht werden. 왘 Am Beginn und am Ende einer Applikation werden spezielle Ereignisse
ausgelöst und können behandelt werden. 왘 Mit Hilfe der Managementkonsole können Applikationen unterschiedli-
che Eigenschaften zugewiesen werden, beispielsweise ein Timeout-Wert.
552
Webserver-Bibliothek 왘 Applikationen können in eigenen Adressräumen unter Windows NT ar-
beiten und sind damit voneinander getrennt. 왘 Eine Applikation, die abstürzt oder gestoppt wird, zieht andere nicht in
Mitleidenschaft. Ein Web kann mehrere Applikationen haben, jeder virtuelle Server sollte eine eigene Applikation (oder viele) haben, und jedes Programm, das für sich abgeschlossene Aufgaben ausführt, sollte eine eigene Applikation sein. Sie können Applikationen auch benutzen, um Nutzern Funktionen zur Verfügung zu stellen. So können Sie eine Shopapplikation betreiben, die von verschiedenen Webs auf dem Computer benutzt wird und trotzdem unterschiedliche Darstellungen hat. Für jede Applikation muss mit der Managementkonsole ein Basisverzeichnis (engl. Root Directory) festgelegt werden. Die Applikation besteht dann aus dem zum Basisverzeichnis erklärten Ordner und allen Unterordnern und den darin enthaltenen Dateien. Definieren Sie einen der Unterordner erneut als Basisverzeichnis, fällt er aus der Struktur der übergeordneten Applikation heraus. Zwei Applikationen können sich nicht überlappen und einen Ordner teilen. Nach der ersten Installation der Active Server Pages ist eine so genannte Standardapplikation schon erstellt. Diese bezieht sich auf das Stammverzeichnis des Webservers.
Eine Applikation wird definiert
Die Definition einer neuen Applikation führt immer über die Managementkonsole. Starten Sie die Konsole, wählen Sie den IIS und anschließend dort die STANDARDWEBSITE aus (in der englischen Version DEFAULT WEBSITE). Abbildung 15.3: Die StandardWebSite ist die erste, schon von der Installationsroutine eingerichtete Applikation
553
15 Programmierung von Webseiten
Wenn Sie auf dem Entwicklungssystem arbeiten, werden Sie normalerweise nur mit Unterverzeichnissen in Berührung kommen. Auf einem Webserver im Netz können Applikationen natürlich auch virtuellen Servern mit eigener IP zugeordnet werden. Das Applikations-Objekt (Application) Zur Steuerung und Verwaltung der Applikationen dient ein eingebautes Objekt, das Objekt Application. Die Arbeitsweise ist dem Session-Objekt sehr ähnlich. Der einzige Unterschied ist die Position des Objekts. Die Applikation bezieht sich auf alle laufenden Skripten, die aus dem Verzeichnis der Applikation gestartet werden. Die definierten Variablen stehen also auch allen Skripten zur Verfügung. Dadurch können Sie Daten zwischen Skripten und zwischen Nutzern austauschen. Die Variablen des ApplicationObjekts
Die Variablen des Objekts Application können von allen Skripten und Nutzern gesehen werden – sie sind global. Von den Sessionvariablen unterscheiden sich Applikationen durch drei Eigenschaften: 왘 Applikationsvariablen basieren nicht auf Cookies. 왘 Der Webserver muss keine Session mitführen, um mit der Applikations-
variablen zu arbeiten. 왘 Die Verwendung ist risikolos und mit allen Browsern kompatibel. Applikationsvariablen erzeugen und nutzen
Eine neue Variable ist schnell erzeugt. Übergeben Sie dem Objekt einfach die Variable und den zu speichernden Wert: <TITLE>Mit Applikationsvariablen arbeiten <% Application("GrussDesTages") = "Willkommen!" %>
Wurde die Variable einmal definiert, kann sie auf jeder anderen Seite von jedem Nutzer gelesen werden, wie im folgenden Listing gezeigt: <TITLE>Applikationen nutzen <% = Application("GrussDesTages") %>
Es spielt keine Rolle, welcher Nutzer diese Seite aufruft, wann er dies tut und ob er zwischen dem Seitenwechsel die Sitzung beendet.
554
Webserver-Bibliothek
Einmal definierte Variablen lassen sich nicht wieder löschen. Sie bleiben erhalten, bis der Webserver heruntergefahren wird oder die Applikation mit der Managementkonsole entfernt wird. Das ist bei der Planung der Skripten wichtig zu wissen, denn wenn Sie immer wieder neue Variablen mit Zufallsgeneratoren erzeugen (was sich bei den Sessions noch anbot), wird der Server belastet. Variablen brauchen Speicherplatz und kosten Rechenleistung.
Applikationsvariablen löschen
Die Applikationsereignisse Die Ereignissteuerung wurde bereits beim Objekt Session angesprochen. Ganz ähnlich funktioniert die Ereignissteuerung bei einer Applikation. Auch diese Ereignisse werden mit Skripten bedient, die sich in der Datei global.asa befinden. Jede Applikation hat eine eigene global.asa-Datei. Die beiden darin untergebrachten applikationsbezogenen Prozeduren starten, wenn die erste Seite der Applikation, beispielsweise index.asp, das erste Mal aufgerufen wird. Der erste Nutzer, der nach dem Start des Webservers die Seite besucht, löst das Ereignis aus. Jeder weitere Nutzer löst nur die Session-Prozeduren Session_OnStart und Session_OnEnd aus. Nach der ersten Initialisierung der Applikationsvariablen stehen diese nun immer zur Verfügung. Die Skripten innerhalb der Prozeduren Application_OnStart und Application_OnEnd sind einigen Einschränkungen unterworfen. So dürfen keine Ausgaben in irgendeiner Form erfolgen, HTML-Code darf nicht enthalten sein, und Sie sollten keine Absprünge auf andere Seiten programmieren (mit Response.Redirect). Die Skripten werden automatisch vor der ersten Seite gestartet und wieder verlassen.
Applikationsereignisse steuern
Eine gute Anwendung ist ein Hitzähler für Ihre Webseite. Damit der Zähler auch exakt arbeitet, ist es sinnvoll über die interne Arbeitsweise nachzudenken. Der Webserver liefert Seiten an Nutzer, wann immer diese die Seiten anfordern. So entstehen parallel laufende Prozesse. Da alle Prozesse Zeit brauchen, um ausgeführt zu werden, ergibt sich möglicherweise ein Problem. Wenn zwei Nutzer gleichzeitig eine Seite aufrufen, werden die Werte parallel verarbeitet. Wenn der Ursprungswert der Variablen 4 ist, schreibt Nutzer 1 mit seiner Sitzung den Wert 5 zurück. Bis dahin hat aber auch Nutzer 2 die Seite gestartet, ebenfalls den Wert 4 ermittelt und 5 zurück geschrieben. Danach steht der Zähler auf 5 und nicht, wie es richtig wäre, auf 6. Denken Sie daran, dass ein Multitasking-Betriebssystem Prozesse parallel ausführt. Wenn sich die Ergebnisse beeinflussen müssen, sind besondere Maßnahmen angebracht. Das Application-Objekt kennt deshalb zwei besondere Methoden, die dazu gedacht sind andere Prozesse vorübergehend zu stoppen – Lock und UnLock. Eine gute GLOBAL.ASA-Anwendung ist der im nächsten Listing vorgestellte, fehlerfrei arbeitende Hitcounter. Der FrontPage-Counter ZÄHLER arbeitet auch fehlerfrei, ist aber auf die FrontPage-Erweiterungen angewiesen.
Application .Lock Application. Unlock
<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart Application("HitCounter") = 0 End Sub
555
15 Programmierung von Webseiten
Sub Session_OnStart Application.Lock Application("HitCounter") = Application("HitCounter") + 1 Application.UnLock End Sub
Jede Session, die startet, ruft die Prozedur Session_OnStart auf. Als erstes wird die gesamte Applikation verriegelt (engl. Lock), sodass andere Prozesse nicht ausgelöst werden können. Dann wird der Wert der Variablen erhöht und die Applikation wieder freigegeben. Die in dieser Zeit aufgelaufenen Anfragen gehen nicht verloren oder werden mit Fehlermeldungen abgeschmettert. Die Prozesse warten einfach und werden dann nacheinander abgearbeitet. Wenn 50 Nutzer gleichzeitig zugreifen, wird sich der Hitzähler korrekt um 50 erhöhen. Die Zeit, die der letzte Nutzer warten muss, ist gering. Eine Addition benötigt nur wenige Millisekunden, 50 Additionen benötigen vielleicht eine halbe Sekunde. Wenn Sie auch in anderen Skripten intensiv mit Application.Lock arbeiten, sollten Sie bedenken, dass längere Blockierungen die Gesamtleistung des Webservers drastisch reduzieren können.
15.5 Datenbankzugriff Um in ASP eine leistungsstarke Datenbankumgebung zur Verfügung zu stellen, liefert Microsoft die ActiveX-Data-Objekte (ADO) mit aus. Diese ermöglichen den Zugriff auf ODBC-Datenbanken direkt aus VBScript und JScript heraus. Insgesamt gibt es sieben Objekte, welche die Datenbankanbindung leicht und einfach unterstützen. Außerdem können Sie SQL zur Abfrage der Daten verwenden.
15.5.1
Einführung in ADO
Übersicht ADO-Objekte Die folgenden Objekte gehören alle zur Klasse ActiveX-Data-Object Database (ADODB): 왘 CONNECTION
Stellt eine Verbindung mit einem SQL-Server her. 왘 RECORDSET
Stellt die Datenschnittstelle zu den Tabellen der Datenbank her. 왘 STREAM
Zugriff auf sequenzielle Daten und XML.
556
Datenbankzugriff 왘 RECORD
Lokale Speicherung eines einzelnen Datensatzes. 왘 FIELD
Erlaubt den Zugriff auf ein einzelnes Feld. 왘 COMMAND
Sendet einzelne Kommandos an einen SQL-Server oder startet gespeicherte Prozeduren. 왘 PARAMETER
Erlaubt den Zugriff auf die Rückgabewerte oder Parameter einer gespeicherten Prozedur. 왘 PROPERTY
Ermöglicht den Zugriff auf Eigenschaften der SQL-Datenbank. 왘 ERROR
Ein Objekt zur Behandlung von Fehlermeldungen. Das Objektmodell ADO basiert auf einem einfachen Objektmodell, in dem bestimmte Objekte in Abhängigkeit zu anderen Objekten stehen. Einige Objekte bilden Kollektionen, deren Elemente wiederum Objekte bilden. Abbildung 15.4 zeigt die Verknüpfungen der Objekte untereinander.
Die „Nordwind“Datenbank ist Bestandteil von Office 2002
Abbildung 15.4: Das ADO-Objektmodell in der Übersicht
557
15 Programmierung von Webseiten
Jedes Objekt kann verschiedene Eigenschaften enthalten, deren Abhängigkeiten die folgende Abbildung zeigt. Abbildung 15.5: Eigenschaften werden aus allen Objekten abgeleitet
Die folgenden Beispiele gehen davon aus, dass eine Datenbankdatei unter der ODBC-Steuerung von Windows unter dem Namen nordwind.dsn aktiviert ist. Erscheinen bei der Ausführung der Beispiele Fehler, liegt ein Problem mit der Konfiguration vor.
15.5.2
Einführung in SQL
Die folgende Einführung zeigt die Grundzüge der Abfragesprache SQL. Die konkrete Anwendung hängt von der vorhandenen Datenbank ab. SQL ist eine Datenbankabfragesprache. Der große Vorteil ist, dass Sie mit der Kenntnis dieser Sprache viele Datenbanken benutzen können, die mit SQL kompatibel sind. Dadurch werden Ihre Datenbankanwendungen unabhängig von einer bestimmten Datenbank eines einzelnen Herstellers. Im deutschen Sprachraum hat es sich übrigens eingebürgert, die drei Buchstaben auch deutsch und einzeln auszusprechen, wenn von SQL die Rede ist. Technisch sind SQL-Abfragen kleine Befehlszeilen oder Tags, die an den Server gesendet werden. Die Befehle sind in englischer Sprache gehalten und sollten den Sinn der Abfrage erkennen lassen. Sie können in SQL auch kleine Programme schreiben. Allerdings ist SQL ganz streng auf die Bedienung von Datenbanken ausgerichtet. SQL alleine bringt wenig. Sinnvoll ist die Integration in eine Programmier- oder Skriptsprache, eben VBScript. Welche Programme werden verwendet? Fast alle modernen Datenbank verstehen SQL
558
Das einfachste SQL-fähige Programm besitzen Sie vielleicht schon. In Office XP ist auch die Datenbank Access 2002 enthalten. Prinzipiell ist Access SQLfähig und könnte eingesetzt werden. Allerdings hat Access Probleme, meh-
Datenbankzugriff
rere Prozesse parallel zu bearbeiten. Sie sollten Access auf keinen Fall für einen Webserver einsetzen. Eine bessere – und teurere – Wahl ist der Microsoft SQL Server 2000. Unabhängig davon gibt es eine ganze Reihe guter SQL-Datenbanken wie Informix, Oracle oder Sybase. In diesem Buch wird im Wesentlichen der SQL Server 2000 und Access 2000 vorgestellt, sodass Sie sowohl ein Entwicklungssystem als auch einen Produktionsserver nutzen können. Was ist eine Datenbank? Wenn Sie noch keine klare Vorstellung davon haben, was eine Datenbank eigentlich ist, lesen Sie die folgende kurze Einführung. Ansonsten springen Sie zum nächsten Abschnitt ADO praktisch verwenden ADO praktisch verwenden.
Eine Datenbank fasst Daten zusammen
Datenbanken dienen der Speicherung von Daten. Das können Namen, Adressen, Zahlen, Zeichenketten usw. sein. Daten stehen auch untereinander in Beziehung. So sind die Teile einer Adresse eine zusammengehörende Einheit. Eine solche Einheit nennt man Datensatz (engl. record). Die Teile eines Datensatzes bilden die Felder (engl. fields). Jedes Feld hat zwei grundlegende Eigenschaften – einen Namen und einen Datentyp. Wenn Sie Adressen speichern, könnten die Felder und Datentypen so aussehen:
Felder und Datensätze
FIRMA, String(80) STRASSE, String(80) ORT, String(50) PLZ, Integer
Die Bedeutung dieser Ausgaben ist leicht zu verstehen. Das Feld FIRMA kann Zeichenketten mit bis zu 80 Zeichen aufnehmen, das Feld PLZ (Postleitzahl) kann ganzzahlige Werte aufnehmen usw. Um viele Daten übersichtlich anzeigen zu können, hat sich die Tabellenform als besonders praktisch erwiesen. Dabei bildet jede Spalte ein Feld ab, jede Zeile enthält einen Datensatz. Mehrere Tabellen bilden eine Datenbank. FIRMA
STRASSE
ORT
PLZ
Silicon Projects GmbH
Ostendstraße 1
Berlin
12459
Yoolia AG
Mariannenstraße 31-32
Berlin
10999
Tabelle 15.2: Die Darstellung in Tabellenform hat sich bewährt.
Die Spaltenbreite und andere „Anzeigewerte“ spielen innerhalb der Tabelle natürlich keine Rolle. Wie kann nun ein bestimmter Datensatz ermittelt werden? Intern läuft immer ein so genannter Index mit. Jeder Datensatz hat einen Indexwert – eine ID. Damit ist der Datensatz auch dann eindeutig und einmalig, wenn der gesamte Inhalt mit einem anderen Datensatz identisch ist.
559
15 Programmierung von Webseiten
Das alles ist für die Praxis nicht ausreichend. Die Firmen in unserem Beispiel haben mehrere Mitarbeiter, die als Ansprechpartner zu verwalten sind. Eine mögliche Feldstruktur wäre: NAME, String(60) EMAIL, String(60) TELEFON, String(60) GEBURTSTAG, Datum
Sie können dann die folgenden Mitarbeiter in der neuen Tabelle anordnen: Tabelle 15.3: Eine einfache Tabelle mit vier Spalten
Beziehungen zwischen Datenbanktabellen herstellen
Tabelle 15.4: Die Tabelle wird mit einem Schlüsselfeld ergänzt
NAME
EMAIL
TELEFON
GEBURTSTAG
Jörg Krause
[email protected]
030/ 56301030
26.05.1964
Andreas Hoffmann
[email protected]
030/ 61103211
23.09.1972
Arnd Schwierholz
[email protected]
030/ 61103212
10.02.1971
Das scheint recht einfach. Wie kann aber die Zuordnung der Mitarbeiter zu den Firmen aus der ersten Tabelle erfolgen? Sicher wäre eine Lösung, jedem Datensatz in der ersten Tabelle wieder eine Tabelle mit allen Ansprechpartner zuzuordnen. Aber bei 1.000 Firmen hätten wir dann 1.000 Tabellen mit Ansprechpartnern, in denen meist nur ein einziger Datensatz vorhanden ist. Für die Arbeit mit Datenbanken ist das sehr unpraktisch. Deshalb baut man eine Beziehung (engl. relationship) zwischen Tabellen auf. Datenbanksysteme, die so arbeiten, nennt man deshalb auch relationale Datenbanken. Dazu wird die erste Tabelle einfach mit einem so genannten Schlüssel (engl. key) ergänzt. Der Schlüssel wird auch in der zweiten Tabelle eingesetzt. Die Tabelle sieht dann folgendermaßen aus: F_KEY
FIRMA
STRASSE
ORT
PLZ
1
Silicon Projects GmbH
Ostendstraße 1
Berlin
12451
2
Yoolia AG
Mariannenstraße 31-32
Berlin
10999
Die zweite Tabelle wird jetzt mit der ersten verbunden. Dazu wird auch diese Tabelle mit den Schlüsseln aus der nächsten Tabelle ergänzt. Damit wir zu jedem Ansprechpartner weitere Informationen hinzufügen können, erhält auch diese Tabelle eigene Schlüsselwerte. Diese führenden Schlüssel bilden den Index der Tabelle. Indizes haben bei der Abfrage mit SQL noch eine besondere Bedeutung. Die zweite Tabelle, ergänzt um die Schlüssel, sehen Sie nachfolgend:
560
Datenbankzugriff
KEY
NAME
EMAIL
TELEFON
GEBURTSTAG
P_ KEY
1
Jörg Krause
[email protected]
030/ 56301030
26.05.1964
1
2
Andreas Hoffmann
[email protected]
030/ 61103211
23.09.1972
2
3
Arnd Schwierholz
[email protected]
030/ 61103212
10.02.1971
1
Tabelle 15.5: Verknüpfung zweier Tabellen durch Schlüsselfelder
Sie sehen anhand des Schlüssels der letzten Tabelle, welcher Ansprechpartner zu welcher Firma gehört. Die Nummer im Feld p_key ist mit der Nummer im Indexfeld f_key der vorhergehenden Tabelle verknüpft. Für die folgenden Beispiele wollen wir unseren beiden Tabellen noch einen netten Namen geben. Jede Abfrage kann sich dann auf den Namen beziehen. Die erste Tabelle soll firmen heißen, die zweite partner. Eine Datenbank entsteht, wenn Sie viele Tabellen mit oder ohne solche Verknüpfungen zusammenfassen und gemeinsam anordnen. Physisch werden aus diese Weise mehrere Tabellen in einer Datei gemeinsam untergebracht. Datenbankdateien können Sie nicht mit Texteditoren betrachten. Zum einen befinden sich in der Datenbank fast immer mehrere Tabellen, zum anderen komprimieren moderne Datenbanken die Daten. Wenn Sie für die Namen 80 Zeichen festlegen, werden Sie dies kaum bei allen Namen ausnutzen. Moderne SQL-Datenbanken speichern nicht die gesamte Länge, sondern nur den wirklich belegten Speicherplatz. Trotzdem haben SQL-Datenbanken eine bestimmte Basisgröße, auch ohne Daten. Alle Angaben über Tabellen- und Feldstrukturen werden immer mitgespeichert. Um SQL zu verstehen, müssen Sie eine grundsätzliche Eigenschaft kennen. SQL ist eine Abfragesprache, die davon ausgeht, dass Sie bestimmte Datensätze selektieren, auswählen oder filtern möchten. Davon geht jede Abfrage aus. Es gibt keinen Befehl der Art „TABELLE ANZEIGEN“. Es gibt Befehle der Art „ZEIGE email IN Tabelle 1 MIT name=krause“. Datensätze werden nach ihren Inhalten und Verknüpfungen behandelt. Normalerweise gehen Sie davon aus, dass die Datensätze durchnummeriert sind und Sie einfach Datensatz eins bis zehn anzeigen lassen. SQL kennt eine solche Zählung nicht. Es gibt keinen Datensatz eins oder zehn bzw. einen ersten oder letzten Datensatz. Wenn Sie Zahlen zur Verwaltung brauchen, dann fügen Sie ein Feld hinzu; nennen Sie es MEINENUMMER und nummerieren Sie jeden neuen Datensatz mit einer aufsteigenden Zahl. Dann können Sie nach MEINENUMMER=1 oder MEINENUMMER<10 selektieren. Apropos selektieren: Der erste echte SQL-Befehl, den Sie kennen lernen, ist SELECT.
561
15 Programmierung von Webseiten
Die einfachen SQL-Befehle Der folgende Abschnitt bietet eine straffe, theoretische Einführung, ein Abschnitt mit praktischen Übungen schließt sich an. Die Aussagen sind deshalb allgemein gültig, also unabhängig von dem tatsächlichen Datenbankmanagementsystem. Tabellen mit SELECT abfragen SELECT ... WHERE
Datenbankabfragen oder allgemein Abfragen (engl. query; bzw. queries) kennen Sie sicher. Jede Anfrage an die Suchmaschinen Alta Vista oder Yahoo löst eine Datenbankabfrage aus. Viele dieser Abfragefelder kennen Boolesche (logische) Operatoren, UND (engl. and), ODER (engl. or), NICHT (engl. not) usw. So können Sie in Alta Vista nach „Active Server Pages AND SQL“ suchen. Nur die Datensätze werden ausgegeben, die „Active Server Pages“ UND „SQL“ im Suchtext hatten. In SQL schreiben Sie die Abfrage, bezogen auf unsere Mustertabellen, folgendermaßen: SELECT email FROM partner WHERE name="krause"
Der Befehl besteht aus drei Schlüsselworten. Das Schlüsselwort SELECT (dt. Auswahl) leitet den Befehl ein, FROM (dt. aus) wählt die angesprochene Tabelle (wir haben noch eine zweite Tabelle!) und WHERE (dt. wo, wobei) ist die Bedingung (Abfragen nach Datensatznummern gibt es ja nicht!). Hinter WHERE können Sie wie mit dem IF-Befehl aus VBScript logische Bedingungen formulieren. Variablen gibt es hier allerdings nicht, sondern nur Feldnamen. Jeder Feldname kann verwendet werden, beachten Sie bei Vergleichen aber den Datentyp. Wenn Sie mehrere Angaben benötigen, werden einfach alle Felder angegeben: SELECT firma, ort, plz FROM firmen SELECT * FROM
Lassen wir die Bedingung weg, werden alle Datensätze ausgegeben. Wenn alle Felder benötigt werden, wird es wieder einfacher: SELECT * FROM firmen
Diese Form ist die häufigste aller Abfragen. Da SELECT nicht gerade durch Einfachheit glänzt, ist es am Anfang oft besser, alle Felder abzurufen und dann in VBScript zu selektieren. Profis verwenden natürlich komplexe Variationen des SELECT-Kommandos, denn es ist unübertroffen leistungsstark. Sie können auch mehrere Tabellen abfragen. Wir haben zwei Tabellen und möchten alle Namen der Ansprechpartner und alle Firmennamen wissen: SELECT name, firma FROM firmen, partner SELECT...WHERE
562
Das Ergebnis ist nicht besonders sinnvoll. Die Ergebnisse sind bunt gemischt und eine Zuordnung zwischen den Tabellen partner und firmen ist nicht zu erkennen. Jetzt kommen endlich die WHERE-Bedingung und unsere schon eingebauten Schlüsselwerte zum Einsatz:
Datenbankzugriff
SELECT firma, name FROM firmen, partner ↵ WHERE partner.key = firmen.idx
Dann erscheinen die Firmen mit den passenden Ansprechpartnern. So einfach ist das! All diese Beispiele wählen nach Reihen, also Datensätzen, aus. Es gibt aber auch Befehle, die spaltenweise arbeiten. Spaltenweise arbeiten Sehen Sie sich die folgende Tabelle mit dem Namen Artikel an. Sie enthält einige Artikel: IDX
ARTIKEL
TEXT
PREIS
AB
KEY
1
W2K Server
Netzwerkbetriebssystem
2500
24.02.2000
1
2
Mercur
Mailserver
1000
15.03.1999
2
3
Windows 98
Spielzeugbetriebssystem
400
30.06.1998
1
Tabelle 15.6: Eine Artikeltabelle entsteht.
Sie können sich nun alle Preise mit und ohne Mehrwertsteuer ansehen: SELECT artikel, preis "netto", preis*1,16 "brutto" FROM artikel
Die Ausgabe ist recht einfach: artikel Netto Brutto ----------------------------NT Server 1500 1740 Mercur 1000 1160 Windows 98 400 464
Für größtmögliche Übersicht können Sie die Ausgabe sortieren lassen: SELECT artikel, preis FROM artikel ORDER BY artikel DESC
ORDER BY…DESC ORDER BY…ASC
Mit DESC (von descend) wird absteigend sortiert und mit ASC (von ascend) können Sie auch aufsteigend sortieren. Sortiert wird nach dem ersten Feld, hier also artikel. Normalerweise ist das Sortieren nicht besonders sinnvoll. Selten wird die gesamte Datenbank ausgegeben und wenn Sie einen Index nach den Anfangsbuchstaben aufgebaut haben, ist eine einfache Selektion schneller. Das Sortieren großer Datenbanken beansprucht den Server stark. Manchmal sind Datensätze oder Teile davon doppelt. So gibt es in der Tabelle partner eine Telefonnummer zwei Mal. Wenn Sie die Firma anrufen möchten, brauchen Sie dieselbe Telefonnummer nicht doppelt. Das Schlüsselwort DISTINCT hilft weiter:
DISTINCT
SELECT DISTINCT telefon FROM partner WHERE key=1
Auch dieser Befehl braucht mehr Leistung von der Datenbankmaschine. Setzen Sie ihn nicht extensiv ein.
563
15 Programmierung von Webseiten
Tabellen erzeugen Bislang wurde einfach von irgendwelchen Tabellen gesprochen. Aber wie kommen die Tabellen in die Datenbank? CREATE TABLE
Die Artikeltabelle können Sie leicht anlegen: CREATE TABLE artikel (artikel VARCHAR(60), text TEXT, preis MONEY, ab DATETIME )
Schon haben wir eine neue Tabelle. So einfach funktioniert SQL! Trotzdem werde ich diesen Vorgang noch genauer erklären, denn der Teufel steckt im Detail. Hinter jedem Feldnamen steht die Datentypbezeichnung. Diese sollten Sie genau kennen. Sie unterscheiden sich von den Datentypen in VBScript. SQL nimmt, im Gegensatz zu VBScript, Verletzungen der Typen richtig übel. Sie können einem Feld vom Typ INT keine Buchstaben zuweisen und denken, das wird dann eine Zeichenkette (wie in VBScript). Der Grund ist einfach: Alle Felder müssen einen identischen Datentyp haben, sonst kann der SELECT-Befehl nicht funktionieren. Datentypen für Zeichenketten: VARCHAR CHAR
Häufig werden die Zeichenkettentypen benötigt. Es gibt zwei: 왘 VARCHAR(länge). Zeichenkette mit mindestens 0 und höchstens länge Zei-
chen. länge darf nicht mehr als 255 Zeichen betragen. 왘 CHAR(länge). Zeichenkette mit genau länge Zeichen. Maximal 255 Zeichen
sind möglich. Der Unterschied liegt in der Ausgabe der Länge der Zeichenkette. Während sich VARCHAR dem Inhalt anpasst, liefert CHAR immer die definierte Länge – auch wenn nichts drin ist. 255 Zeichen sind nicht besonders viel. Sie können deshalb immer den Typ TEXT verwenden, der keine Begrenzung hat (das stimmt nicht ganz: Zwei
GByte passen pro Feld hinein, aber das sollte für die nächsten Jahre reichen). Nummerische Datentypen: INT SMALLINT TINYINT NUMERIC MONEY SMALLMONEY
Umfangreicher sind die nummerischen Datentypen: 왘 INT. Wertebereich -2.147.483.646 bis +2.147.483.647, nur ganzzahlige
Werte (32 Bit Integer). 왘 SMALLINT. Wertebereich -32.767 bis +32.768, nur ganzzahlige Werte (16 Bit
Integer). 왘 TINYINT. Wertebereich von 0 bis 255 (1 Byte). Negative Werte werden nicht
unterstützt. 왘 NUMERIC(int, frac). Gleitkommazahlen von -1038 bis 1038. Der Parameter
int gibt die Anzahl der Stellen vor dem Komma an, frac die Anzahl der Dezimalstellen.
564
Datenbankzugriff 왘 MONEY. Planen Sie große Geschäfte, speichern Sie damit Ihre Kontostände.
Der Wertebereich reicht von -922.337.203.685.477,5808 +922.337.203.685.477,5807 (922 Billionen).
bis
왘 SMALLMONEY. Knapp für den Heimgebrauch reicht der Wertebereich von
-214.748,3648 bis +214.748,3648. Auch logische bzw. Boolesche Werte lassen sich speichern. SQL legt einfach ein Bitfeld an, das ein Bit enthält. 0 ist FALSE (in VBScript), 1 ist TRUE. Das Schlüsselwort dafür ist BIT.
Bitdatentypen: BIT
Zwei weitere Datentypen dienen der Speicherung von Datum und Zeit:
Zeit- und Datumstypen: DATETIME SMALLDATETIME
왘 DATETIME. Daten ab dem 1.1.1753 bis zum 31.12.9999 und darin Zeiten in
Schritten zu einer Millisekunde lassen sich speichern. Das klingt besser, als es tatsächlich ist. Falls Sie die Geschichte des Christentums in einer SQL-Datenbank erfassen wollen, werden Sie schnell bemerken, dass Computer nicht bibelfest sind. 왘 SMALLDATETIME speichert vom 1.1.1900 bis 6.6.2079.
Nicht alle SQL-Server oder -Treiber unterstützen alle Datentypen. Wenn Sie mit den Excel- oder Text-Jet-Treibern arbeiten, werden nur die folgenden Basisdatentypen unterstützt: Bit, Byte, Char, Currency, Date, Float, Int, LongChar, Short, Single. In VBScript war an einigen Stellen von Nullwerten die Rede. Das sind Werte, die eigentlich noch nicht definiert worden sind. Die Zahl 0 ist ja ein Wert, der im ASCII-Zeichensatz eine Nummer hat (#48). Das Leerzeichen ist auch schon ein richtiger Wert (#32). Aber wenn das Feld NICHTS enthält, hat es den Wert NULL. Sie können jedem Feld sagen, ob es NULL werden darf oder nicht:
CREATE [NOT] NULL
CREATE TABLE artikel (artikel VARCHAR(60) NOT NULL, text TEXT NULL, preis NUM NOT NULL, ab DATETIME NULL )
Sie werden sich fragen, welchen Sinn das hat. Mit VBScript können Sie leicht verhindern, dass Nullwerte geschrieben werden. Aber es gibt einen guten Grund. Beim Erstellen komplexer Programme hilft Ihnen die Fehlermeldung der Datenbank, Fehler in Ihren Skripten zu finden. Wenn NULL nicht erlaubt ist, dann wird jede fehlerhafte Zuweisung zu einem Laufzeitfehler führen.
565
15 Programmierung von Webseiten DEFAULT
Damit bei neuen Feldern nichts schief geht, können Sie auch gleich einen Standardwert zuweisen. Wird kein Inhalt geliefert, trägt sich die Tabelle eben selbst einen Wert ein. CREATE TABLE artikel (artikel VARCHAR(60), text TEXT, preis NUM, ab DATETIME DEFAULT 01.01.1998 )
IDENTITY
Am Anfang wurden die Schlüssel eingeführt, um Tabellen zu verknüpfen. Es gibt ein ganz wichtiges Kriterium für solche Schlüssel. Sie müssen eindeutig sein. Das Schlüsselwort IDENTITY erzwingt diese Bedingung, indem es für das betroffene Feld prüft, ob der Inhalt schon einmal vorhanden ist. CREATE TABLE firmen (key NUMERIC(10) IDENTITY ...
Achten Sie auf den Datentyp. Er muss einen ausreichenden Wertebereich für alle Datensätze haben, TINYINT wäre hierfür kaum geeignet. Tabellen ändern, löschen und zerstören DROP TABLE
Wenn Sie eine Tabelle nicht mehr benötigen, sollten Sie sie zerstören. Sie sparen mit diesem Befehl Speicherplatz und Systemleistung: DROP TABLE temporaer
TRUNCATE TABLE
Wollen Sie nur die Datensätze löschen, verwenden Sie diesen Befehl: TRUNCATE TABLE temporaer
ALTER TABLE
Manchmal kann es später notwendig sein, Änderungen an der Feldstruktur vorzunehmen. Der Befehl: ALTER TABLE artikel ADD farbe VARCHAR(10) NULL
führt notwendige Änderungen an der Feldstruktur aus. Sie können mit ALTER keine neue Tabelle erzeugen, wenigstens eine Spalte (ein Feld) muss vorhanden sein. Datensätze eintragen und löschen INSERT INSERT INTO
Alle bisherigen Befehle gingen davon aus, dass schon Daten vorhanden sind. Neue Daten müssen aber in die Tabelle aufgenommen werden können. Sie benutzen dazu das Kommando INSERT (dt. einfügen). Wie und wo SQL die Daten einfügt, können Sie nicht beeinflussen. INSERT INTO artikel (artikel, preis) VALUES ("Windows 2000",650)
Sie können also Daten in jede Tabelle eingeben und dabei gezielt die einzelnen Felder ansprechen. So ist praktisch jedes Feld in der Tabelle direkt erreichbar. In jedem Fall wird ein neuer Datensatz angelegt. Das Schlüsselwort INTO (dt. in) ist optional und dient nur der besseren „Sprache“. Die Auflis-
566
Datenbankzugriff
tung der Felder (in runden Klammern) kann entfallen, wenn Sie alle Felder ansprechen. Bei der Definition der Tabellenspalten wurden einige Eigenschaften festgelegt, die das Schlüsselwort INSERT betreffen. 왘 Sie haben versucht in ein Feld zu schreiben, das einen Standardwert defi-
niert hat. Dann wird der Standardwert überschrieben. 왘 Sie haben ein Feld nicht beschrieben, das einen Standardwert hat. Dann
wird der Standardwert eingetragen. 왘 Sie haben ein Feld nicht beschrieben, das keinen Standardwert hat. Dann
bekommt das Feld den Wert NULL. Ist NULL erlaubt, geschieht nichts. Ist NULL nicht erlaubt, wird ein SQL-Fehler erzeugt und das Kommando INSERT bleibt wirkungslos. 왘 Hat das Feld die Eigenschaft IDENTITY, wird der Wert ignoriert, den Sie
versucht haben zuzuweisen. SQL wird automatisch einen eindeutigen Wert ermitteln und zuweisen. Das Einfügen von Daten mit INSERT ist recht umständlich, wenn viele ähnliche Datensätze erzeugt werden sollen. Es gibt eine Kombination aus INSERT und SELECT, die hier eine deutliche Erleichterung bringt. Dabei werden Daten von einer Tabelle auf eine andere übertragen:
INSERT ( ) SELECT
INSERT bestellung (artikel, preis) SELECT artikel, preis FROM artikel WHERE lagerstand<10
Die Schreibweise über mehrere Zeilen ist nicht nur hier für den Druck, sondern auch bei der direkten Eingabe von SQL-Befehlen im Query Analyzer (SQL Server 7) oder in Access erlaubt. SQL ignoriert zusätzliche Leerzeichen zwischen den Befehlen. Sie schließen die Befehle nie mit (¢), sondern immer mit einem zusätzlichen Befehl zum Ausführen ab. Manchmal ist es sinnvoll, eine komplette Tabelle zu übernehmen. Dann kann direkt das Schlüsselwort SELECT mit INTO ergänzt werden:
SELECT * INTO
SELECT * INTO artikelexport FROM artikel
Hier ist INTO nicht optional. Die WHERE-Bedingung ist natürlich trotzdem zulässig und schränkt die zu kopierenden Datensätze ein. Mit dem Sternchen wird angezeigt, dass alle Felder übertragen werden. Sie können solche Übertragungen benutzen, um die Datentypen eines Feldes zu ändern. Das Schlüsselwort ALTER kann nur neue Felder hinzufügen, aber keine entfernen oder den Datentyp ändern. Sie können aber mit SELECT * INTO alle Datensätze in eine neue Tabelle anderer Struktur übertragen. Soweit Datentypen umwandelbar sind, werden die Felder neu mit Daten belegt. Andererseits gilt diese Vorgehensweise nur in der Experimentierphase. Fertige Skripte,
567
15 Programmierung von Webseiten
die Datensätze und Felder anlegen, werden ausgiebig getestet und nur mit den richtigen Datentypen freigegeben. Performance-Tipp: Versuchen Sie, wenn möglich, SQL-Befehle direkt auszuführen. Es ist bedeutend schneller, eine Tabellenoperation mit einem starken SQL-Befehl auszulösen als mit einer Schleife in VBScript und einem primitiven Lesebefehl. DELETE FROM
Fast ebenso einfach ist es möglich, Zeilen aus der Tabelle zu löschen. Sie erinnern sich: Es ist nicht bekannt, welche „Zeilennummer“ eine Zeile der Tabelle hat. Wie bei SELECT wird auch hier die Bedingung WHERE zur Auswahl des zu löschenden Datensatzes benutzt: DELETE FROM artikel WHERE preis<1000
Das Schlüsselwort FROM ist wieder optional und dient der besseren Verständlichkeit. Danach folgen die Tabelle und die Bedingung. Ergibt die Bedingung eine Übereinstimmung in mehreren Datensätzen, werden alle selektierten Datensätze gelöscht. Sie können auch alle Datensätze löschen. Wenn Sie gezielt alle Datensätze löschen möchten, ist TRUNCATE besser, denn dieser Befehl ist deutlich schneller. UPDATE ...SET UPDATE …WHERE
Löschen und neu eintragen ist natürlich zu umständlich, um effektiv mit Tabellen zu arbeiten. Sie können deshalb Datensätze auch gezielt ändern oder um Daten ergänzen, die bei INSERT noch nicht angegeben wurden. UPDATE artikel SET ab="02.05.1998" WHERE preis<1000
Auch das Schlüsselwort UPDATE benötigt zur Auswahl der richtigen Zeile die Bedingung WHERE. Die Zuweisung mit SET kann auch eine komplette Operation sein. So können Sie mit UPDATE leicht alle Bruttopreise errechnen lassen und diese fest speichern. Zuerst muss unsere Mustertabelle artikel jedoch einen neuen Datensatz erhalten. ALTER artikel ADD brutto MONEY UPDATE artikel SET brutto=preis*1.16 WHERE entfällt hier, also wird die Operation auf alle Datensätze der Tabelle angewendet. Hinter SET sind mehrere Operationen in einem Durchgang er-
laubt; eine solche Liste wird einfach durch Kommata getrennt. Mit SQL Berechnungen ausführen Die AggregatFunktionen
Mit fünf einfachen Rechenoperationen kann auch spaltenweise gearbeitet werden. Die Auswahl beginnt wieder mit dem Schlüsselwort SELECT, dem eine Funktion nachgestellt wird. Die Anwendung ist nur für numerische Felder sinnvoll. Hier sind die möglichen Funktionen: 왘 AVG. Average. Der Durchschnitt der Felder. 왘 COUNT. Count. Die Anzahl der Felder. 왘 SUM. Summary. Die Summe der Felder (Addition).
568
Datenbankzugriff 왘 MAX. Maximum. Das Feld mit dem größten Wert bestimmt das Ergebnis. 왘 MIN. Minimum. Das Feld mit dem kleinsten Wert bestimmt das Ergebnis.
Am häufigsten werden Sie mit COUNT arbeiten und damit den Wert erzeugen, der in VBScript dann die Schleifen steuert.
COUNT
SELECT COUNT(preis) FROM artikel
Warum wird hier ein Feld ohne WHERE-Bedingung angegeben? SQL gibt die Anzahl der Datensätze zurück, die im Feld preis einen Eintrag haben. Nicht gezählt werden Datensätze, deren Feld preis den Wert NULL enthält. Sie können natürlich auch alle Datensätze zählen, auch die mit NULL-Werten:
COUNT(*)
SELECT COUNT(*) FROM artikel
Oder Sie ermitteln die Anzahl der Datensätze, die einer bestimmten Bedingung gehorchen: SELECT COUNT(preis) FROM artikel WHERE preis>1000
Bei dieser Auswahl sollte Sie vielleicht an eine Preissenkung denken. Ganz ähnlich funktioniert die Bildung des Durchschnittswertes. Vor allem bei Protokolldateien, die in SQL-Datenbanken geschrieben werden, sind solche Auswertungen sinnvoll. Wie viele Hits hatte unsere Seite durchschnittlich?
AVG
SELECT AVG(hits) FROM logdata
Ganz ähnlich werten Sie aus, wie viele Hits insgesamt registriert wurden:
SUM
SELECT SUM(hits) FROM logdata
Den besten und den schlechtesten Tag (bei täglicher Auswertung) finden Sie mit den letzten beiden hier vorgestellten Funktionen:
MIN, MAX
SELECT MIN(hits) FROM logdata SELECT MAX(hits) FROM logdata
Alle SELECT-Befehle mit Rechenfunktionen lassen sich natürlich um die Bedingung WHERE ergänzen. Im folgenden Abschnitt wird WHERE ausführlich vorgestellt. In der Referenz und der Microsoft-Hilfe zum SQL-Server finden Sie diese Funktionen unter Aggregate-Funktionen (dt. etwa: Mengenfunktionen). Weitere Formen von Bedingungsabfragen Sie können mit WHERE logische Bedingungen angeben. Wollen Sie durch eien Abfrage ein bestimmtes Preisfenster ermitteln, was bei den beliebten OnlineReisebüros angeboten wird, eignet sich folgende Abfrage.
WHERE
SELECT reise FROM flugreisen WHERE preis>1000 AND preis<5000
... AND ...
569
15 Programmierung von Webseiten
SQL als Sprache der vierten Generation (4GL-Sprache) stellt einen Versuch dar, menschenfreundlich zu sprechen. Sehen Sie sich den folgenden Befehl an: ... BETWEEN …
SELECT reise FROM flugreisen WHERE preis BETWEEN 1000 AND 5000
Die Schreibweise mit BETWEEN (dt. zwischen) ist zu der oben genutzten Form äquivalent. ... OR ...
Als Nächstes wollen Sie eine bestimmte Reise und eine Alternative auswählen. Die einfache Abfrage lautet: SELECT reise FROM flugreisen WHERE name="USA" OR name="Mallorca"
... IN ...
Alle Datensätze werden ermittelt, die im Feld name die Zeichenkette „USA“ oder „Mallorca“ haben. Gleichwertig ist der folgende Befehl: SELECT reise FROM flugreisen WHERE name IN ("USA","Mallorca")
Um die Auswahl zu negieren, ist das Schlüsselwort NOT erlaubt. Bei logischen Bedingungen mit AND und OR kennen Sie das schon vom VBScript-Befehl IF...THEN. Auch die Schlüsselworte BETWEEN und IN lassen sich mit NOT kombinieren: ... NOT IN … ... NOT BETWEEN …
SELECT reise FROM flugreisen WHERE name NOT IN ("Europa") SELECT reise FROM flugreisen WHERE preis NOT BETWEEN 500 AND 1000
Typumwandlungen Wann immer es geht, wird der SQL-Server Datentypen stillschweigend umwandeln und seine Umwelt nicht mit Fehlermeldungen traktieren. Sie können die korrekte Umsetzung aber unterstützen, wenn Sie ein paar Befehle kennen, die zur Umwandlung herangezogen werden. CONVERT
Oft ist es für die Ausgabe notwendig, den Datentyp zu ändern. Wenn Sie die Änderung nicht global für alle Felder (mit ALTER TABLE) vornehmen möchten, setzen Sie die Funktion CONVERT ein, die nur den selektierten Bereich konvertiert: SELECT CONVERT(CHAR(5), preis) + " EURO" FROM artikel
Der Befehl CONVERT wandelt das betreffende Feld vom Typ MONEY in den Typ CHAR um. Die Länge, die CHAR hinzugefügt wird, ist fünf Zeichen. Der Platz muss ausreichen, um den Preis und das Wort „Euro“ aufzunehmen, das bei dieser Gelegenheit gleich angehängt wurde. So wird Ihre Datenbank eurotauglich. Manchmal müssen Sie umwandeln, manchmal schafft es SQL intern. Die Umwandlung eines Feldes vom Typ BIT in eine Zeichenkette funk-
570
Datenbankzugriff
tioniert nicht. Sie müssen in diesem Fall CONVERT verwenden. Dieser Befehl lässt sich so nicht ausführen: SELECT "Anzahl der Fehler: " + fehler FROM logdata
Das Problem ist nicht der etwas „wilde“ Einbau der Zeichenkette. Das ist durchaus erlaubt. Das Problem ist, dass das Feld fehler (Typ BIT) nicht automatisch gewandelt wird. Es funktioniert folgendermaßen: SELECT "Anzahl der Fehler: " + CONVERT(CHAR(1),fehler) FROM logdata
Mit Zeichenketten arbeiten In den meisten Fällen werden Zeichenketten (engl. strings) verarbeitet. SQL unterstützt die Arbeit mit Zeichenketten deshalb. So ist es leicht möglich, einen Teilstring zur Selektierung anzugeben, der in allen Feldern an allen Positionen getestet wird. Das Schlüsselwort dafür ist LIKE:
LIKE
SELECT reise FROM flugreisen WHERE beschreibung LIKE "%warm%"
Dabei wird hinter das Schlüsselwort LIKE der Suchstring gestellt. Die Prozentzeichen sind Platzhalter (engl. wildcards), die in diesem Fall beliebige andere Zeichen vor und nach dem Wort „warm“ zulassen. Alle Reisen in warme Länder sollten angezeigt werden. Eine der häufigsten Fehlerquellen in SQL ist die Verwechslung der Platzhalter mit den von DOS oder Windows bekannten „*“ und „?“. Achten Sie unbedingt darauf, welche Platzhalterzeichen wo verwendet werden.
blitz.tif
Hier eine Übersicht über die möglichen Angaben: 왘 %. Steht für keines oder beliebig viele Zeichen ohne irgendwelche Ein-
schränkung. Hier zwei Beispiele für die Anwendung: 왘 A%. Alle Worte, die mit A beginnen (Andorra, Albanien). 왘 %flug. Alle Worte, die mit dem Wort flug enden (Rundflug, Hinflug). 왘 [A-E]%. Alle Worte, die mit den Buchstaben A bis E (A, B, C, D, E) begin-
nen. Nur sinnvoll zusammen mit dem %-Zeichen. Damit können Indizes sehr flexibel gehalten werden. Sehr dynamische Datenbanken machen eine strenge Auswahl nach dem Alphabet oft schwierig. So sind die Buchstaben X oder Y kaum belegt, A und E quellen über. Beispiele: 왘 [A]n%. Worte, die mit An anfangen. 왘 [A-EG]%. Worte die mit A, B, C, D, E oder G anfangen. 왘 [XY]%. Worte, die mit X oder Y anfangen. 왘 [^U]. Worte, die nicht mit U beginnen. Damit lassen sich bestimmte Berei-
che ausschließen.
571
15 Programmierung von Webseiten
_. Der Unterstrich ist das Ersatzzeichen für genau ein beliebiges Zeichen. Ein
Beispiel für die Anwendung auf zwei Zeichen lautet: 왘 "M_ _er" findet diese Schreibweisen: Meier, Meyer, Maier. Aber es fin-
det auch: Mauer. Nicht gefunden wird dagegen: Maurer. Wenn Sie nach den drei Sonderzeichen („%“, „_“ und „-“) suchen müssen, können Sie diese Zeichen so verpacken: [%] ist ein richtiges Prozentzeichen, [_] ein richtiger Unterstrich. Suchen Sie Prozentzeichen irgendwo, schreiben Sie: "%[%]%". Die Klammer selbst können Sie auch mit [[]suchen. DIFFERENCE SOUNDEX
An dem Problem mit „Meier“ sehen Sie eine häufige Schwierigkeit bei Datenbankabfragen. Phonetische Unterschiede machen die Suche oft zum Geduldsspiel. Die Funktionen DIFFERENCE und SOUNDEX erlauben die eine phonetische Suche. Dabei ermittelt SQL einen fiktiven Schlüsselwert, der die phonetische Struktur des Wortes repräsentiert. Der Vergleich dieser Strukturen ergibt dann eine Ähnlichkeit. SELECT name FROM partner WHERE DIFFERENCE(name,"Meier")>2
Das könnte funktionieren. Mit SOUNDEX geben Sie den Schlüsselwert aus, der zur Beurteilung verwendet wird. Das Schlüsselwort hat vier Stellen. Mit dem Vergleich DIFFERENCE > Wert oder DIFFERENCE < Wert wird die zulässige Abweichung festgelegt. Hier ein paar Vergleiche: Microsoft Macrosoft Yahoo Mahoo Nanosoft Megasoft
Mcrsft Mcrsft Yh Mh Nnsft Mgsft
M262 M262 Y000 M000 N521 M221
(stimmen immer überein) (stimmen bei DIFFERENCE>3) (stimmen bei DIFFERENCE>2)
Wie arbeitet SOUNDEX intern? Zuerst wird der erste Buchstabe beider Zeichenketten als Basis verwendet. Stimmt dieser überein, steht das erste Zeichen fest. Dann geht es mit den nächsten Konsonanten weiter. Vokale werden ignoriert (das Y zählt als Vokal!), es sei denn, der Vokal steht an erster Stelle (Yahoo). Performance-Tipp: Die Verwendung dieser Funktionen ist recht sinnvoll, wenngleich die meisten SQL-Datenbanken Probleme mit der Leistung haben. Eine hohe Belastung der Datenbank kann auch gute Server in die Knie zwingen. RTRIM LTRIM
Aus VBScript kennen Sie die Funktionen LTRIM und RTRIM zum Beseitigen überflüssiger Leerzeichen. SQL kennt diese Funktionen auch: SELECT RTRIM(name) FROM partner
572
Datenbankzugriff
SELECT LTRIM(name) FROM partner
Sie können diese Funktionen auch miteinander verschachteln, denn die dritte Funktion TRIM gibt es nicht: SELECT LTRIM(RTRIM(name)) FROM partner
Die Anwendung ist dann sinnvoll, wenn Sie statt VARCHAR mit CHAR als Datentyp arbeiten. SQL füllt Felder vom Typ CHAR mit Leerzeichen auf, bis die gewünschte Länge erreicht wird. Bei der Ausgabe kann das lästig sein. Die Trim-Funktionen bringen eine Zeichenkette wieder in die richtige Form. Daten und Zeiten Die einfachste Funktion ist das Äquivalent zum VBScript-Befehl DATE. In SQL fragen Sie das aktuelle Datum und die aktuelle Zeit mit GETDATE ab. Auch hier dient die Systemuhr des Servers als Basis. Sie können diese Funktion benutzen, um bei Datumsfeldern einen variablen Standardwert zu setzen:
GETDATA
CREATE TABLE logdata ( name VARCHAR(50), date DATETIME DEFAULT GETDATA() )
Sie können die Ausgabe des Datums vielfältig beeinflussen. Am einfachsten ist wieder die Funktion CONVERT, die als dritten Parameter einen Code enthalten kann, der die Formatierung des Datums und der Zeit bestimmt. Code
Standard
Ausgabeformat
0
Vorauswahl
mon dd yyyy hh:mi[AM|PM]
1
USA I
mm/dd/yy
2
ANSI
yy.mm.dd
3
England
dd/mm/yy
4
Deutschland
dd.mm.yy
5
Italien
dd-mm-yy
6
Tabelle 15.7: Stylecodes für die Funktion CONVERT
dd mm yy
7
England, Brief
mon dd, yy
8
Zeit
hh:mi:ss
9
Millisekunde
mon dd yyyy hh:mi:ss:iii[AM|PM]
10
USA II
mm-dd-yy
11
Japan
yy/mm/dd
12
ISO
yymmdd
573
15 Programmierung von Webseiten
Code
Standard
Ausgabeformat
13
Europa mein
14
Zeit Europa
allge- dd mon yyyy hh:mi:ss:iii(24) hh:mi:ss:iii(24)
Anmerkungen: Die Codes 0, 9 und 13 geben das Jahr immer vierstellig zurück. Ansonsten können Sie zum Code 100 addieren, also statt 4 einfach 104 schreiben, um das Datum vierstellig zu machen. Nur die Codes 13 und 14 können die Uhr in unserem 24-Stunden-Format anzeigen. Die Zeichen bedeuten im Einzelnen: iii = Millisekunden, dreistellig, ss = Sekunden, mi = Minuten, hh = Stunden [AM|PM] = entweder AM (vormittag) oder PM (nachmittag), (24) = 24-Stunden-Format dd = Tag, mm = Monat in Ziffernform, mon = Monat als Abkürzung (Jan, Feb, Nov usw.) yy = Jahr in zweistelliger Form, yyyy = Jahr in vierstelliger Form DATEPART
Damit Sie gezielt Teile von Zeitangaben aus der Funktion DATETIME ziehen können, bietet SQL die Funktion DATEPART: SELECT name DATEPART(mm, login) FROM logdata
Statt „mm“ können Sie einen der Codes in der folgenden Tabelle verwenden: Tabelle 15.8: Die Abkürzungen für die Steuerung der Funktion
DATEPART
DATENAME
574
Code
Name
Beschreibung
Wertebereich
yy
Year
Jahr
1753-9999
qq
Quarter
Quartal
1-4
mm
Month
Monat
1-12
dy
Day of year
Tag im Jahr
1-366
dd
Day
Tag
1-31
wk
Week
Woche
1-53
dw
Weekday
Wochentag
1-7 (Sonntag =1 bis Samstag)
hh
Hour
Stunde
0-23
mi
Minute
Minute
0-59
ss
Second
Sekunde
0-59
ms
Millisecond
Millisekunde
0-999
Ergänzend sei noch die Funktion DATENAME erwähnt, die genauso wie die Funktion DATEPART eingesetzt wird. Allerdings werden Zeichenketten statt Zahlen zurückgegeben. Für die Codes „mm“ und „dw“ ergibt sich die Ausgabe des Monatsnamens (January, December) und des Wochentages (Monday, Friday). Die Sprache ist vom Produkt abhängig; In der Regel wird es Englisch sein.
Datenbankzugriff
Berechnungen mit Daten können recht aufwändig sein. Auch hier hilft SQL weiter und stellt zwei weitere Funktionen zur Verfügung: DATEDIFF und DATEADD. Ähnlich wie VBScript werden damit Differenzen berechnet bzw. ein Zieldatum ermittelt. Die Tabelle Registrierung soll Kunden speichern, die für vier Wochen ein Abonnement bezahlt haben. Sie können das Ablaufen des Abos einfach auf der Basis des Datumsfeldes abostart ermitteln:
DATEDIFF DATEADD
SELECT name DATEADD(mm,1,abostart) FROM registrierung
15.5.3
ADO praktisch verwenden
Datensätze lesen und schreiben Das folgende Beispiel zeigt den Zugriff auf die Beispieldatenbank nordwind, das Schreiben eines Datensatzes mit INSERT und das Lesen eines Datensatzes mit SELECT. Dann fügt dieses Skript einen Datensatz an und gibt den ersten (schon vorhandenen) aus. <TITLE>ADO Beispiel <% SET nameConn = Server.CreateObject("ADODB.Connection") nameConn.Open "DSN=nordwind" nameConn.Execute "INSERT INTO artikel (Artikelname) _ VALUES ('Original Clausthaler alkoholfrei')" SET RS = nameConn.Execute("SELECT * FROM artikel") Response.Write(RS("Artikelname")) nameConn.Close %>
Die Methoden Open, Execute und Close werden benutzt. Die Methode Open eröffnet eine Verbindung zu einem SQL-Server via ODBC. Mit Execute werden SQL-Befehle direkt an den SQL-Server gesendet. Sie können hier alles verwenden, was unter SQL erlaubt ist. Mit Close wird die Verbindung wieder geschlossen. Verbindungen öffnen und schließen Mit diesem Objekt eröffnen Sie die Verbindung zu einer Datenbank und schließen sie wieder. Jede Kommunikation mit einer Datenbank kann nur stattfinden, wenn die Verbindung eröffnet wurde. So können Sie SQL-Befehle nur nutzen, wenn eine SQL-Datenbank auch von ASP aus erreicht werden kann.
575
15 Programmierung von Webseiten Connection .Open Connection .Close
Um die Verbindung zu eröffnen, wird eine Instanz des Objekts Connection erzeugt. Die Methode Open eröffnet die Verbindung: <% SET nameConn = Server.CreateObject("ADODB.Connection") nameConn.Open "DSN=nordwind"
Dann können Sie mit der Datenbank arbeiten: nameConn.Execute "INSERT artikel (Artikelname) _ VALUES ('Original Clausthaler alkoholfrei')" SET Result = nameConn.Execute("SELECT * FROM artikel") Response.Write(Result("Artikelname"))
Als letzter Schritt wird die Verbindung geschlossen: nameConn.Close %>
Das ist recht umständlich, wenn Sie an 126 Stellen die Verbindung zur Datenbank herstellen. Da jeder Nutzer seine eigene Verbindung öffnet, bietet sich eine Sessionvariable für die Speicherung des Pfades zur Datenbank an. Öffnen Sie dazu die Datei GLOBAL.ASA, und definieren Sie eine Sessionvariable in der Prozedur Session_OnStart: Session("db_pfad") = "DSN=nordwind"
Der häufig benutzte Objektname RS steht für Recordset (dt. Datensatz). Sie benötigen das Datensatzobjekt, weil der SQL-Server seine Daten zunächst „irgendwohin“ produziert. Die Methode Execute hat zwei weitere Parameter, die folgende Bedeutung haben: 왘 RecordsAffected
Dieser Parameter steht als nächster nach dem SQL-Befehl und enthält nach der Ausführung des Kommandos die Anzahl der betroffenen Datensätze. 왘 Options
Für diesen Parameter darf eine von vier Konstanten eingesetzt sein. Die Übergabe erlaubt es ADO, effizienter zu arbeiten. Die Parameter sind aber optional und haben folgende Bedeutung: 왘 adCMDTable
Der Parameter ist der Name einer Tabelle. 왘 adCMDText
Kommando in Textform. Das ist die normale Form. 왘 adCMDStoredProc
Der erste Parameter ist der Name einer gespeicherten SQL-Prozedur. 왘 adCMDUnknown
Nicht bekannt; das ist der Wert, den ASP annimmt, wenn Sie gar nichts angeben.
576
Datenbankzugriff
Um die Konstanten auch nutzen zu können, müssen Sie eine spezielle Datei einschließen, welche die Definitionen enthält:
Bei einer Standardinstallation finden Sie die Datei unter C:\PROGRAMME\ GEMEINSAME PROGRAMME\SYSTEM\ADO. Das Datensatzobjekt Jedes SELECT-Kommando unter SQL gibt einen oder mehrere Datensätze zurück. Die normale Anwendung wird Daten in einem ganz bestimmten Layout benötigen. Sie möchten auch keine einfachen Listen, sondern Listen mit Links, mit farbig hinterlegten Tabellen, mit Bildern und Daten aus mehreren Tabellen. Alle diese Funktionen basieren auf der Nutzung des Datensatzobjekts. Das Datensatzobjekt ist ganz ähnlich einer SQL-Tabelle aufgebaut. Es muss prinzipiell auch in der Lage sein, eine komplette Tabelle aufzunehmen. Es gibt zwei Methoden, ein neues Objekt vom Typ RecordSet zu erzeugen. Vielleicht ohne es bemerkt zu haben, wurde in den vorangegangenen Beispielen das Objekt bereits erzeugt und verwendet. Wie alle anderen Objekte kann es nur als Instanz existieren. Als Pfad zur Testdatenbank wird wieder die Sessionvariable db_pfad genutzt (nächstes Listing).
Das implizite Datensatzobjekt
<% SET nameConn = Server.CreateObject("ADODB.Connection") nameConn.Open Session("db_pfad") SET RS = nameConn.Execute("SELECT * FROM artikel") RS.Close nameConn.Close %>
Jede Anwendung der Methode Execute mit Parameterrückgabe erzeugt ein Datensatzobjekt. Das Objekt wird in der Literatur meist, basierend auf der Microsoft-Dokumentation, RS getauft. Es repräsentiert den aktuellen Datensatzbereich. In Übereinstimmung mit anderen Quellen habe ich diesen Objektnamen übernommen, auch wenn Sie in der Wahl des Namens frei sind.
Execute
Datensatzobjekte besitzen mehrere Methoden. Eine wurde bereits gezeigt: Close. Sie können damit das Objekt schließen und den belegten Speicher freigeben. Ein wichtiger Parameter ist EOF, der mit TRUE das Ende der Datei anzeigt, das heißt, der letzte Datensatz im Datensatzobjekt wurde erreicht. Eine weitere wichtige Methode ist MoveNext, die weiter vorn bereits ohne Erläuterung benutzt wurde:
MoveNext
<% SET nameConn = Server.CreateObject("ADODB.Connection") nameConn.Open Session("db_pfad") SET RS = nameConn.Execute("SELECT * FROM artikel")
577
15 Programmierung von Webseiten
WHILE NOT RS.EOF Response.Write(" ") RS.MoveNext WEND RS.Close nameConn.Close %>
Hier sehen Sie nun endlich den mit INSERT am Anfang eingefügten Datensatz, der erwartungsgemäß am Ende erscheint. Die WHILE...WEND-Schleife arbeitet, bis das Ende der Tabelle mit EOF erreicht worden ist. Der Datenbankzeiger (engl. Cursor), der auf den jeweils aktuellen Eintrag im Datensatzobjekt zeigt, wird mit MoveNext weiterbewegt. Zu Beginn der Erzeugung der Instanz weist der Zeiger auf den ersten Datensatz. Vergessen Sie nie die Methode MoveNext! Sonst würde die Schleife endlos durchlaufen und der Webserver hoch belastet werden; möglicherweise reagiert Ihr System auch nicht mehr. Die Methode Response.Write im Beispiel würde dann unendlich oft -Tags ausgeben. Das Datensatzobjekt hat selbst auch eine Kollektion, die Feldkollektion. Damit besteht ein einfacher Zugriff mit FOR EACH...NEXT auf die Felder des Objektes. So ergeben sich mehrere Wege Datensätze aus dem Datensatzobjekt anzuzeigen: RS("au_lname") RS(0) RS.Fields.("name") RS.Fields.Item("name") RS.Fields.Item(0)
Die Auswahl kann also implizit oder explizit durch Wahl der Methoden der Kollektion erfolgen. Die Felder sind mit Null beginnend nummeriert, neben der Auswahl über den Namen ist auch der Zugriff über die Spaltennummer möglich. Das explizite Datensatzobjekt
Für einen komfortablen Umgang mit Datensätzen reicht diese einfache Methode nicht immer aus. Das implizit mit einem SELECT-Kommando erzeugte Datensatzobjekt lässt sich auch direkt erzeugen. Es stehen dann zusätzliche Parameter und Methoden zur Verfügung: <% SET nameConn = Server.CreateObject("ADODB.Connection") SET RS = Server.CreateObject("ADODB.RecordSet") nameConn.Open "DSN=northwind" RS.Open "SELECT * FROM authors", nameConn, adOpenDynamic RS.Close
578
Datenbankzugriff
nameConn.Close %>
Der Unterschied zu dem vorangegangenen Beispiel liegt in der Methode Open und den damit verbundenen Parametern. Die ersten beiden sind relativ klar: In Form einer Zeichenkette wird der SQL-Befehl übergeben und dann die Datenverbindung, auf die sich das Kommando bezieht. Der letzte Parameter bezeichnet den Typ des Datensatzzeigers (engl. Cursor Type). Die angegebene Konstante ist in der Datei adovbc.inc definiert, die vorher mit einem INCLUDE-Kommando eingefügt werden muss.
Der Datensatzzeiger
Die folgenden Datensatzzeiger können Sie angeben: 왘 adOpenForwardOnly
Mit diesem Zeiger können Sie sich nur vorwärts durch das Datensatzobjekt bewegen. Dies ist der Standardzeiger, der benutzt wird, wenn Sie keinen speziellen Wert angeben. 왘 adOpenKeySet
Sie können sich in beide Richtungen im Datensatzobjekt bewegen. Durch eine Verbindung mit der Tabelle wird angezeigt, wenn Sie auf einen einzelnen Datensatz zeigen, der von einem anderen Nutzer gelöscht oder verändert wurde. Neu hinzugefügte Datensätze werden dagegen an dieser Stelle nicht angezeigt. 왘 adOpenDynamic
Sie können sich in beide Richtungen im Datensatzobjekt bewegen. Durch eine Verbindung mit der Tabelle wird angezeigt, wenn Sie auf einen einzelnen Datensatz zeigen, der von einem anderen Nutzer gelöscht oder verändert oder neu hinzugefügt wurde. 왘 adOpenStatic
Sie können sich in beide Richtungen im Datensatzobjekt bewegen. Änderungen, die in dieser Zeit erfolgen, werden nicht wiedergegeben. Neben der Auswahl des Datensatzzeigers kann auch das Verhalten der angesprochenen Tabelle gegenüber gleichzeitigen Änderungen durch andere Nutzer gesteuert werden. Es ist sehr wichtig darüber nachzudenken, welche Aktionen durch andere Nutzer in möglicherweise anderen Skripten in der Tabelle erfolgen können. Denken Sie daran, dass eine gut besuchte Seite gleichzeitig von mehreren Personen benutzt wird. Das folgende Beispiel zeigt, wo der zusätzliche Parameter eingesetzt wird: <% SET nameConn = Server.CreateObject("ADODB.Connection") SET RS = Server.CreateObject("ADODB.RecordSet") nameConn.Open Session("db_pfad") RS.Open "SELECT * FROM artikel", nameConn, adOpenDynamic, _ adLockPessimistic
579
15 Programmierung von Webseiten
RS.Close nameConn.Close %>
Auch diese Konstanten werden in der Datei ADOVBS.INC definiert, die vorher eingeschlossen werden muss. Dann stehen die folgenden Werte zur Steuerung zur Verfügung: 왘 adLockReadOnly
Sie können die Datensätze nicht ändern. Das ist der Standardwert, der benutzt wird, wenn Sie keine anderen Parameter angeben. 왘 adLockPessimistic
Ein Datensatz, der geändert wird, wird sofort für andere Nutzer oder Prozesse blockiert. 왘 adLockOptimistic
Ein Datensatz, der geändert wird, wird erst dann blockiert, wenn die UPDATE-Methode gestartet wird. 왘 adLockBatchOptimistic
Damit wird gekennzeichnet, dass die Änderungen in einer Batchdatei erfolgen. Kommandotypen
Der letzte Parameter, der angefügt werden kann, spezifiziert das Kommando näher, das als erster Wert erscheint. Damit kann das ADO-Objekt schneller arbeiten. Folgende Optionen sind verfügbar: 왘 adCMDTable
Die Zeichenkette enthält den Namen einer Tabelle. 왘 adCMDText
Ein Kommando in Textform wird übertragen. 왘 adCMDStoredProc
Der Name, der übertragen wird, ist der Aufruf einer gespeicherten Prozedur (SQL-Prozedur, engl. Stored Procedure). 왘 adCMDUnknown
Die Zeichenkette wird nicht weiter erklärt. Dies ist auch der Standardwert. Für das bereits bekannte Beispiel bietet sich die Option adCMDText an: <% SET nameConn = Server.CreateObject("ADODB.Connection") SET RS = Server.CreateObject("ADODB.RecordSet") nameConn.Open Session("db_pfad")
580
Datenbankzugriff
RS.Open "SELECT * FROM artikel", nameConn, adOpenDynamic, _ adLockPessimistic, adCMDText RS.Close nameConn.Close %>
Wie in den Beispielen zum Lesen der Datenbanktabelle angedeutet, besteht auch die Möglichkeit, Werte in die Tabelle zu schreiben. Unterstützt wird das durch mehrere Methoden, die einen komfortablen Umgang mit SQL erlauben. Hier eine Übersicht:
Erweiterte Methoden
왘 AddNew
Fügt dem Datensatzobjekt einen neuen Datensatz hinzu. 왘 CancelBatch
Wenn das Datensatzobjekt im Batch-Modus ist, wird der Stapellauf damit unterbrochen. 왘 CancelUpdate
Macht alle Änderungen rückgängig, die am Datensatzobjekt bis zur Ausführung der UPDATE-Methode vorgenommen wurden. 왘 Delete
Löscht einen Datensatz vom Datensatzobjekt. 왘 Update
Speichert alle Änderungen, die am Datensatzobjekt vorgenommen wurden. 왘 UpdateBatch
Speichert alle Änderungen, die an einem oder mehreren Datensätzen vorgenommen wurden, wenn mit Batchprogrammen gearbeitet wird. Beachten Sie, dass die ADO-Methoden etwas langsamer sind als die direkte Verwendung von SQL. Wenn Sie SQL beherrschen, nutzen Sie bevorzugt den direkten Weg! Ein einfaches Navigationsinstrument wurde bereits erläutert, die Methode MoveNext. Damit bewegen Sie den Datenbankzeiger einen Datensatz (Zeile) weiter. Nach dem Öffnen der Tabelle steht der Zeiger auf der ersten Position, und die Abarbeitung endet mit dem Erreichen des Dateiendes, EOF wird TRUE. Für eine komfortable und vor allem schnelle Abfrage reicht das aber nicht aus. Die wichtigsten einfachen Navigationsbefehle bewegen den Datensatzzeiger komfortabler:
Einfache Navigationsinstrumente
왘 Move anzahl
Bewegt den Datensatzzeiger um anzahl Positionen weiter Richtung Datenbank-Ende (positive Werte) oder Anfang (negative Werte).
581
15 Programmierung von Webseiten 왘 MoveFirst
Setzt den Datenbankzeiger wieder auf die erste Zeile. 왘 MoveNext
Bewegt den Datensatzzeiger eine Position weiter. 왘 MovePrevious
Bewegt den Datensatzzeiger eine Position zurück. 왘 MoveLast
Setzt den Datenbankzeiger wieder auf die letzte Zeile. Bedenken Sie, dass einige dieser Methoden einen ganz bestimmten Typ des Datensatzobjekts benötigen. So können Sie mit dem Parameter adOpenFor wardOnly kreierte Objekte nicht benutzen, um durch MovePrevious einen Datensatz zurück zu gelangen. Direkte Positionierung
Mit einigen Eigenschaften können Sie Ihre Navigationsskripte ebenfalls gut unterstützen: 왘 AbsolutePosition
Setzt den Datensatzzeiger auf eine bestimmte Position oder gibt die Position des Datensatzzeigers aus. 왘 BOF
Ist TRUE, wenn der Datensatzzeiger am Beginn des Datensatzobjekts steht, also in der ersten Zeile der Tabelle. 왘 EOF
Ist TRUE, wenn der Datensatzzeiger am Ende des Datensatzobjekts steht, also in der letzten Zeile der Tabelle. 왘 RecordCount
Gibt die Anzahl der Datensätze in der Tabelle zurück. Wenn gegenüber der Original-SQL-Tabelle im Datensatzobjekt nur eine Auswahl steht (beispielsweise durch die WHERE-Bedingung eingeschränkt), werden nur die wirklich im Datensatzobjekt befindlichen Datensätze gezählt. Das nächste Beispiel zeigt unter Verwendung verschiedener Navigationsmethoden, wie die Tabelle rückwärts ausgegeben werden kann: <TITLE>Tabelle von hinten anzeigen <% SET nameConn = Server.CreateObject("ADODB.Connection") nameConn.Open Session("db_pfad") SET RS = Server.CreateObject("ADODB.RecordSet") RS.Open "SELECT * FROM artikel", nameConn, adOpenStatic RS.MoveLast
582
Datenbankzugriff
%> <% FOR i = 0 TO RS.Fields.Count -1 %> <% = RS(i).Name %> <% NEXT %> <% WHILE NOT RS.BOF %> <% FOR i = 0 TO RS.Fields.Count -1 %> <% = RS(i) %> <% NEXT %> <% RS.MovePrevious WEND RS.Close nameConn.Close %>
Beachten Sie den Parameter adOpenStatic, der das Bewegen des Datensatzzeigers in beide Richtungen erlaubt. Das Kommandoobjekt Das Kommandoobjekt ergänzt auf sinnvolle und abschließende Weise die grundlegenden Datensatzobjekte. Während die bisher vorgestellten Methoden zeigen, wie mit den Mitteln von VBScript und ADO-Datenbanken abgefragt und beschrieben wird, wendet sich Command an die Programmierer, die ohnehin mit SQL umgehen können. Kurz gesagt, das Kommandoobjekt sendet alle Arten von SQL-Befehlen an die Datenbank. Sie benötigen dieses Objekt immer dann, wenn Sie nicht implizit eine andere Funktion ansprechen möchten. So können Sie mit Open prinzipiell jeden SQLBefehl absetzen, erzeugen aber immer eine neue Instanz des Datensatzobjekts. Ebenso funktioniert die Methode Execute, die auf der Instanz eines Verbindungsobjekts aufbaut.
Command
Die Anwendung – wieder in der üblichen Objektform – funktioniert folgendermaßen: <% SET nameConn = Server.CreateObject("ADODB.Connection") SET kommando = Server.CreateObject("ADODB.Command") nameConn.Open "DSN=nordwind"
583
15 Programmierung von Webseiten
SET kommando.ActiveConnection = nameConn kommando.CommandText = "DELETE FROM authors WHERE au_lname='Krause'" kommando.CommandType = adCMDText kommando.Execute nameConn.Close %>
Dieser SQL-Befehl benötigt keine Ausgabe auf dem Bildschirm und muss auch nichts zurückmelden. Ein Datensatzobjekt wird also nicht benötigt. Das Fehlerobjekt Mit dem Fehlerobjekt haben Sie direkten Zugriff auf die Fehlermeldungen des Datenbank-Providers1 . Die Auswertung macht Sinn, wenn Sie die Fehlermeldungen in VBScript mit ON ERROR RESUME NEXT explizit unterdrückt haben, aber mit dem Auftreten von Fehlern rechnen. Sie haben Zugriff auf folgende Eigenschaften: 왘 Description
Eine verbale Beschreibung des Fehlers. 왘 HelpContext
ID eines Hilfstextes (muss nicht vorhanden sein). 왘 HelpFile
Verknüpfung mit einem Hilfetext, beispielsweise einer HLP-Datei. 왘 NativeError
Der originale Fehlerwert des Providers. 왘 Number
Die originale Fehlernummer. 왘 Source
Die Quelle des Fehlers, so wie es der Provider beschreibt. 왘 SQLState
Der Status nach dem ANSI-SQL-Standard.
15.6 Die FrontPage-Skriptbibliotheken FrontPage 2002 fügt zwar bei der Nutzung der Datenbankfunktionen WebBots ein, dies sind aber nur Design-Time-Controls. Zur Laufzeit entstehen daraus ASP-Skripte. Deshalb ist die Kenntnis von ASP so wichtig, Sie können teilweise in fertige Skripte eingreifen, um sie Ihren Vorstellungen entsprechend anzupassen.
584
Die FrontPage-Skriptbibliotheken
15.6.1
Übersicht FrontPage-Skriptbibliotheken
FrontPage verwendet intern vier Bibliotheken, die Standardfunktionen beinhalten. Diese werden nachfolgend vorgestellt. Sie finden die Bibliotheken im Unterverzeichnis _fpclass eines jeden FrontPage-Webs, das Datenbankfunktionen verwendet. Die Dateien enden auf *.INC und können mit jedem ASCII-Editor bearbeitet werden. Besonders geeignet ist der in Abschnitt 15.7 vorgestellte Scripteditor.
Das Verzeichnis _fpclass
Die vier Bibliotheken in der Übersicht: 왘 FPDBFORM.INC
Hier finden Sie Funktionen zur Bearbeitung von Formularen. 왘 FPDBLIB.INC
Allgemeine Funktionen für die Datenbankabfrage. 왘 FPDBRGN1.INC
Funktionen zur Eröffnung einer Datenbankverbindung (am Anfang eines Skripts). 왘 FPDBRGN1.INC
Funktionen zum Schließen von Datenbankverbindungen (am Ende eines Skripts). Wesentliche Bedeutung hat auch die Datei GLOBAL.ASA, in der die Verbindungsoptionen zur Datenbank gespeichert werden. Alle Dateien werden nachfolgend ausführlich besprochen. Sie finden die Bibliotheken im Verzeichnis _FPCLASS des jeweiligen Web.
15.6.2
Die Datei
GLOBAL.ASA
eines FrontPage-Webs
Die Datei GLOBAL.ASA enthält die Verbindungszeichenfolgen für die Datenbank. Auf die hier angelegten Applikationsvariablen greifen alle anderen Skripten zurück. Jedes Web hat eine eigene Datei GLOBAL.ASA, innerhalb eines Webs kann die Datei jedoch nur einmal existieren. Sie finden die Datei im Stammverzeichnis des Webs. Der folgende Abdruck enthält aus Platzgründen nicht die von FrontPage generierten Kommentarzeilen.
GLOBAL.ASA
eines FrontPage-Webs
Die Prozedur Application_OnStart wird einmalig zum Start der Applikation durch den ersten Nutzer aufgerufen. Die mit Application("var") definierten Variablen stehen in allen Skripten zur Verfügung und gelten global. Der wichtigste Eintrag ist Application("CD_ConnectionString"). Hier wird die Verbindungszeichenfolge definiert. Dabei steht CD für den Namen eines benutzerdefinierten, datenbankbasierten Webs, ist also ein frei gewählter Namensbestandteil, der in jedem Web neu vergeben wird. Sie können anstatt eines nativen Treibers (wie im Beispiel) auch eine DSN angeben.
585
15 Programmierung von Webseiten
<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart Dim FrontPage_UrlVars(1) Application("CD_ ConnectionString") = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=URL=fp db/cdshop.mdb" FrontPage_UrlVars(0) = "CD_ConnectionString" Application("CD_ConnectionTimeout") = 15 Application("CD_CommandTimeout") = 30 Application("CD_CursorLocation") = 3 Application("CD_RuntimeUserName") = "" Application("CD_RuntimePassword") = "" Application("FrontPage_UrlVars") = FrontPage_UrlVars End Sub Sub Session_OnStart FrontPage_StartSession End Sub
Die Prozedur FrontPage_StartSession wird bei jedem Start einer neuen Sitzung (Verbindung eines Nutzers mit dem Server) ausgeführt. Mit dieser Funktion werden die Pfade so gesetzt, dass der Fundort der Datei GLOBAL.ASA das Stammverzeichnis markiert. Das stellt sicher, dass Sie sich bei der Speicherung der Skripten in irgendwelchen Unterverzeichnissen keine Gedanken über die Platzierung machen müssen. Sub FrontPage_StartSession On Error Resume Next if Len(Application("FrontPage_VRoot")) > 0 then Exit Sub Vroot = Request.ServerVariables("PATH_INFO") strG1 = "global.asa" strG2 = "Global.asa" iCount = 0 do while Len(Vroot) > 1 idx = InStrRev(Vroot, "/") if idx > 0 then Vroot = Left(Vroot,idx) else Vroot = "/" end if if FrontPage_FileExists(Server.MapPath(Vroot & strG1)) then exit do if FrontPage_FileExists(Server.MapPath(Vroot & strG2)) then exit do if Right(Vroot,1) = "/" then Vroot = Left(Vroot,Len(Vroot)-1) iCount = iCount + 1 if iCount > 100 then Vroot = "/" exit do
586
Die FrontPage-Skriptbibliotheken
end if loop Application.Lock if Len(Application("FrontPage_VRoot")) = 0 then Application("FrontPage_VRoot") = Vroot UrlVarArray = Application("FrontPage_UrlVars") for i = 0 to UBound(UrlVarArray) if Len(UrlVarArray(i)) > 0 then FrontPage_MapUrl(UrlVarArray(i)) next end if Application.Unlock End Sub Sub FrontPage_MapUrl(AppVarName) ' convert URL attribute in conn string to absolute file location strVal = Application(AppVarName) strKey = "URL=" idxStart = InStr(strVal, strKey) If idxStart = 0 Then Exit Sub strBefore = Left(strVal, idxStart – 1) idxStart = idxStart + Len(strKey) idxEnd = InStr(idxStart, strVal, ";") If idxEnd = 0 Then strAfter = "" strURL = Mid(strVal, idxStart) Else strAfter = ";" & Mid(strVal, idxEnd + 1) strURL = Mid(strVal, idxStart, idxEnd – idxStart) End If strOut = strBefore & Server.MapPath(Application("FrontPage_ VRoot") & strURL) & strAfter Application(AppVarName) = strOut End Sub
Die Hilfefunktion FrontPage_FileExists stellt fest, ob eine Datei an einem gegebenen Verzeichnis existiert.
FrontPage_ FileExists
Function FrontPage_FileExists(fspath) On Error Resume Next FrontPage_FileExists = False set fs = CreateObject("Scripting.FileSystemObject") Err.Clear set istream = fs.OpenTextFile(fspath) if Err.Number = 0 then FrontPage_FileExists = True istream.Close end if set istream = Nothing
587
15 Programmierung von Webseiten
set fs = Nothing End Function
15.6.3
Die Formularbibliothek fpdbform.inc
Die erste Funktion, FP_SaveFormFields, löst Felder mit mehreren Daten auf. Prinzipiell können Felder mehrfach auftreten, vor allem <SELECT>-Listen mit gesetztem multiple-Attribut führen zu solchen Varianten. <% Function FP_SaveFormFields(rs, rgFormFields, rgDBFields) On Error Resume Next Err.Clear Dim i For i = 0 To UBound(rgFormFields) FP_SaveFormField rs, rgFormFields(i), rgDBFields(i) Next Err.Clear End Function
Die Funktion FP_SaveFormField ruft die Felder direkt mit der Methode Request.Form ab. Leere Felder werden nicht bearbeitet. Die Speicherung erfolgt dann mit der Methode FP_SaveFieldToDB. Function FP_SaveFormField(rs, strField, strDBField) On Error Resume Next Err.Clear If (Request.Form(strField)) = "" And rs(strDBField).Type <> adBoolean Then Exit Function End If FP_SaveFieldToDB rs, Request.Form(strField), strDBField Err.Clear End Function FP_SaveFormField
In FP_SaveFormField erfolgt zunächst die Analyse des Datentyps und eine Umwandlung der Formulardaten in den entsprechenden Datentyp. Das ist notwendig, da HTML nur Textfelder kennt. Außerdem werden so einige Eingabefehler korrigiert. Die umgewandelten Werte werden dem globalen Datensatzobjekt rs zugewiesen. Function FP_SaveFieldToDB(rs, strField, strDBField) On Error Resume Next Err.Clear Select Case rs(strDBField).Type Case adInteger Or adBigInt Or adUnsignedTinyInt Or adUnsignedSmallInt Or adUnsignedInt Or adUnsignedBigInt rs(strDBField) = CInt(strField)
588
Die FrontPage-Skriptbibliotheken
Case adSingle Or adDecimal Or adNumeric rs(strDBField) = CSng(strField) Case adDouble rs(strDBField) = CDbl(strField) Case adCurrency rs(strDBField) = CCur(strField) Case adBoolean rs(strDBField) = CBool(strField) Case adDate Or adDBDate Or adDBTime or adDBTimeStamp rs(strDBField) = CDate(strField) Case Else rs(strDBField) = CStr(strField) End Select strError = "Cannot save value """ & strField & """ to database field """ & strDBField & """" FP_DumpError strErrorUrl, strError Err.Clear End Function
Die FP_FormConfirmation generiert ein Antwortformular, das die übergebenen Daten nochmals anzeigt. Sie können hier einen anderen Text eingeben, wenn Sie die Meldung modifizieren möchten. Fügen Sie einfach weitere Zeilen mit Response.Write hinzu.
FP_Form Cofirmation
Function FP_FormConfirmation(szCharset, szTitle, szmsg1, szUrl, szMsg2) Response.Write "" & vbCrLf Response.Write "" & vbCrLf Response.Write "<meta http-equiv=""ContentType"" content=" & szCharSet & ">" & vbCrLf Response.Write " " & szTitle & " " & vbCrLf Response.Write "" & vbCrLf Response.Write "" & vbCrLf Response.Write " " & szTitle & " " & vbCrLf Response.Write " " & szMsg1 &"
" & vbCrLf Response.Write "" & vbCrLf For Each item in Request.Form If item <> "VTI-GROUP" Then Response.Write "" & item & " b>" & ": " & Request.Form(item) & " " & vbCrLf End If Next Response.Write "
" & vbCrLf Response.Write " " & szMsg2 & "
" & vbCrLf Response.Write "" & vbCrLf Response.Write "" & vbCrLf Response.End End Function
589
15 Programmierung von Webseiten FP_DumpError
Sinnvoll ist auch die Bearbeitung der Fehlerausgabe in der Funktion FP_ DumpError: Function FP_DumpError(strErrorUrl, strMsg) If Err.Number <> 0 Then fp_conn.Close If strErrorUrl <> "" Then Response.Redirect strErrorUrl Else Response.Write " " & strMsg & " " Response.Write "Fehlerbeschreibung: " & Err.Description & "
" Response.Write "Fehlernummer: " & Err.Number & "
" Response.Write "Fehlerquelle: " & Err.Source & "
" Response.End End If End if End Function %>
15.6.4
Die Datenbankbibliothek fpdblib.inc
Die Bibliothek FPDBLIB.INC beinhaltet verschiedene Hilfsfunktionen, auf die automatisch generierte Skripte zurückgreifen. Die Kenntnis ist wichtig, wenn Sie fertige Seiten verändern möchten. FP_FieldVal
FP_FieldVal wandelt Feldinhalte so um, dass die Ausgabe in einer HTMLSeite erfolgen kann. Leere Zeichenketten werden in ein hartes Leerzeichen ( ) gewandelt. <% Function FP_FieldVal(rs, fldname) FP_FieldVal = Server.HTMLEncode(FP_Field(rs, fldname)) if FP_FieldVal = "" then FP_FieldVal = " " End Function
FP_Field
FP_Field holt Daten aus dem Datensatzobjekt rs, binäre Daten werden nur als Zeichenfolge [#BINARY#] angezeigt. In Access gespeicherte Hyperlinks sind mit #-Zeichen markiert, diese werden zur Ausgabe entfernt. Function FP_Field(rs, fldname) If Not IsEmpty(rs) And Not (rs Is Nothing) and Not IsNull(rs(fldname)) Then Select Case rs(fldname).Type Case 128, 204, 205 ' adBinary, adVarBinary, adLongVarBinary FP_Field = "[#BINARY#]" Case 201, 203 ' adLongVarChar, adLongVarWChar if rs(fldname).DefinedSize > 255 then fp_strVal = rs(fldname) fp_idxHash1 = InStr(LCase(fp_strVal),"#http://")
590
Die FrontPage-Skriptbibliotheken
if fp_idxHash1 > 0 then fp_idxHash2 = InStr(fp_idxHash1+1,fp_strVal,"#") if fp_idxHash2 > 0 then fp_strVal = Mid(fp_strVal,fp_idxHash1+1) if Right(fp_strVal,1) = "#" then fp_strVal = Left(fp_strVal,Len(fp_strVal)-1) end if end if end if FP_Field = fp_strVal else FP_Field = rs(fldname) end if Case Else FP_Field = rs(fldname) End Select Else FP_Field = "" End If End Function FP_FieldHTML stellt Inhalte HTML-gerecht dar, FP_FieldURL decodiert URLs. FP_FieldLink ersetzt Leerzeichen in Links durch den URL-Code %20 (Pro-
FP_FieldHTML FP_FieldLink
zentzeichen und Hexadezimalwert, Hex 20 entspricht Dez 32 = Space). Function FP_FieldHTML(rs, fldname) FP_FieldHTML = Server.HTMLEncode(FP_Field(rs, fldname)) End Function Function FP_FieldURL(rs, fldname) FP_FieldURL = Server.URLEncode(FP_Field(rs, fldname)) End Function Function FP_FieldLink(rs, fldname) FP_FieldLink = Replace(FP_Field(rs, fldname), " ", "%20") End Function
Die Prozedur FP_OpenConnection öffnet eine Datenbankverbindung mit der Methode oConn.Open:
FP_ OpenConnection
Sub FP_OpenConnection(oConn, sAttrs, sUID, sPWD, fMSAccessReadOnly) Dim sTmp Dim sConnStr Dim fIsAccessDriver fIsAccessDriver = (InStr(LCase(sAttrs), "microsoft access driver") > 0) sConnStr = FP_RemoveDriverWithDSN(sAttrs) sTmp = sConnStr On Error Resume Next
591
15 Programmierung von Webseiten
If fMSAccessReadOnly And fIsAccessDriver Then sTmp = sTmp & ";Exclusive=1;ReadOnly=1" Err.Clear oConn.Open sTmp, sUID, sPWD If Err.Description = "" Then Exit Sub End If Err.Clear oConn.Open sConnStr, sUID, sPWD End Sub FP_ RemoveDriverWithDSN
Die Funktion FP_RemoveDriverWithDSN wird von der Prozedur FP_OpenConnec tion aufgerufen. Hier werden native Treiber (mit driver=) entfernt, wenn eine DSN (dsn=) angegeben wurde. Function FP_RemoveDriverWithDSN(sAttrs) FP_RemoveDriverWithDSN = sAttrs sDrv = "driver=" sDSN = "dsn=" sLC = LCase(sAttrs) if InStr(sLC, sDSN) < 1 then exit function idxFirst = InStr(sLC, sDrv) if idxFirst < 1 then exit function idxBeg = idxFirst + Len(sDrv) if Mid(sLC,idxBeg,1) = "{" then idxEnd = InStr(idxBeg, sLC, "}") if idxEnd > 0 and Mid(sLC,idxEnd+1,1) = ";" then idxEnd = idxEnd + 1 end if else idxEnd = InStr(idxBeg, sLC, ";") end if if idxEnd < 1 then idxEnd = Len(sLC) FP_RemoveDriverWithDSN = Left(sAttrs,idxFirst-1) & Mid(sAttrs,idxEnd+1) End Function
FP_OpenRecordset
FP_OpenRecordset öffnet das Datensatzobjekt rs. Sub FP_OpenRecordset(rs) On Error Resume Next rs.Open End Sub
FP_ReplaceQuoteChars
Kritisch sind bei Datenbankprogrammen Prozentzeichen, da diese auch als Platzhalter (Wildcards) eingesetzt werden. Die Funktion FP_ReplaceQuoeChars ersetzt Prozentzeichen durch eine spezielle Zeichenfolge. Function FP_ReplaceQuoteChars(sQry) Dim sIn Dim sOut
592
Die FrontPage-Skriptbibliotheken
Dim idx sIn = sQry sOut = "" idx = InStr(sIn, "%%") Do While (idx > 0) sOut = sOut & Left(sIn, idx – 1) sIn = Mid(sIn, idx + 2) if (Left(sIn,1) = "%") And (Left(sIn,2) <> "%%") then sIn = Mid(sIn, 2) sOut = sOut & "%" end if sOut = sOut & "::" idx = InStr(sIn, "%%") if idx > 0 then sOut = sOut & Left(sIn, idx – 1) sIn = Mid(sIn, idx + 2) sOut = sOut & "::" if (Left(sIn,1) = "%") And (Left(sIn,2) <> "%%") then sIn = Mid(sIn, 2) sOut = sOut & "%" end if end if idx = InStr(sIn, "%%") Loop sOut = sOut & sIn FP_ReplaceQuoteChars = sOut End Function
Die Funktion FP_Close schließt ein Objekt (Datenbankverbindung oder Datensatzobjekt). FP_SetCursorProperties setzt den Status des Datenbankzeigers, sodass das Datensatzobjekt rs in beide Richtungen durchlaufen werden kann. Sub FP_Close(obj) On Error Resume Next obj.Close End Sub Sub FP_SetCursorProperties(rs) On Error Resume Next rs.CursorLocation = 3 ' adUseClient rs.CursorType = 3 ' adOpenStatic End Sub %>
593
15 Programmierung von Webseiten
15.6.5
Die Datenbankbibliothek fpdbrgnX.inc
Die Variable fp_iPageSize bestimmt, ob die Navigationsleiste angezeigt werden soll oder nicht. Die Navigationsleiste hat standardmäßig folgendes Aussehen: <% if fp_iPageSize > 0 then fp_fShowNavbar = True else fp_fShowNavbar = False end if fp_sPagePath = Request.ServerVariables("PATH_INFO") fp_sEnvKey = fp_sPagePath & "#fpdbr_" & fp_iRegion fp_sFormName = "fpdbr_" & CStr(fp_iRegion) fp_sFormKey = fp_sFormName & "_PagingMove" fp_sInputs = fp_sDefault
Die folgenden Variablen bestimmen, was auf der Navigationsleiste angezeigt wird. Sie können hier auch Worte einsetzen, wie beispielsweise „Erster“ und „Letzter“. fp_sFirstLabel fp_sPrevLabel fp_sNextLabel fp_sLastLabel fp_sDashLabel
= = = = =
" " " " "
|< < > >| --
" " " " "
if not IsEmpty(Request(fp_sFormKey)) then fp_sMoveType = Request(fp_sFormKey) else fp_sMoveType = "" end if fp_iCurrent=1 fp_fError=False fp_bBlankField=False Set fp_dictInputs = Server.CreateObject("Scripting.Dictionary") fp_sQry = FP_ReplaceQuoteChars(fp_sQry)
Der folgende Abschnitt setzt die Ersatzzeichenfolge „::“ wieder zurück. Do While (Not fp_fError) And (InStr(fp_iCurrent, fp_sQry, "::") <> 0) fp_iStart = InStr(fp_iCurrent, fp_sQry, "::") fp_iEnd = InStr(fp_iStart + 2, fp_sQry, "::") If fp_iEnd = 0 Then fp_fError = True Response.Write "Database Results Error:
594
Die FrontPage-Skriptbibliotheken
mismatched parameter delimiters " Else fp_sField = Mid(fp_sQry, fp_iStart + 2, fp_iEnd – fp_iStart – 2)
Der Abruf der Daten erfolgt aus dem Formular mit Request.Form; wenn dort nichts gefunden wurde, wird mit Request.QueryString die URL überprüft: fp_sValue = Request.Form(fp_sField) if len(fp_sValue) = 0 then _ fp_sValue = Request.QueryString(fp_sField) If (len(fp_sValue) = 0) Then fp_iStartField = InStr(fp_sDefault, fp_sField & "=") if fp_iStartField > 0 then fp_iStartField = fp_iStartField + len(fp_sField) + 1 fp_iEndField = InStr(fp_iStartField,fp_sDefault,"&") if fp_iEndField > 0 then fp_sValue = Mid(fp_sDefault, fp_iStartField, fp_iEndField – fp_iStartField) else fp_sValue = Mid(fp_sDefault,fp_iStartField) end if end if End If if not fp_dictInputs.Exists(fp_sField) then fp_dictInputs.Add fp_sField, fp_sValue end if
Der folgende Abschnitt verdoppelt einfache und doppelte Anführungszeichen, sodass Access oder ein anderer SQL-Server diese wieder als einzelne interpretieren kann. If (Mid(fp_sQry, fp_iStart – 1, 1) = """") Then fp_sValue = Replace(fp_sValue, """", """""") ElseIf (Mid(fp_sQry, fp_iStart – 1, 1) = "'") Then fp_sValue = Replace(fp_sValue, "'", "''") End If If (len(fp_sValue) = 0) Then fp_bBlankField = True fp_sQry = Left(fp_sQry, fp_iStart – 1) & fp_sValue & Right(fp_sQry, Len(fp_sQry) – fp_iEnd – 1) fp_iCurrent = fp_iStart + Len(fp_sValue) End If Loop
Dieser Abschnitt gibt zusätzliche Fehlerhinweise aus. Die Anzeige sollte nur in der Testphase erfolgen, eine funktionierende Applikation darf die Fehler nicht anzeigen. Wenn Sie die englischen Beschreibungen stören, können Sie diese hier ersetzen.
595
15 Programmierung von Webseiten
' establish connection If Not fp_fError Then if Application(fp_sDataConn & "_ConnectionString") = "" then Err.Description = "The database connection named '" & fp_sDataConn & "' is undefined. " Err.Description = Err.Description & "This problem can occur if: " Err.Description = Err.Description & "* the connection has been removed from the web " Err.Description = Err.Description & "* the file 'global.asa' is missing or contains errors " Err.Description = Err.Description & "* the root folder does not have Scripting permissions enabled " Err.Description = Err.Description & "* the web is not marked as an Application Root " fp_fError = True end if
Sind keine Fehler aufgetreten, erfolgt nun die Erstellung eines Datenbankverbindungsobjekts (fp_conn) und die Öffnung der Verbindung zur Datenbank mit Hilfe der Funktion FP_OpenConnection, die weiter oben bereits definiert wurde. Datenbankverbindungsobjekt
if Not fp_fError then set fp_conn = Server.CreateObject("ADODB.Connection") fp_conn.ConnectionTimeout = Application(fp_sDataConn & "_ConnectionTimeout") fp_conn.CommandTimeout = Application(fp_sDataConn & "_CommandTimeout") fp_sConn = Application(fp_sDataConn & "_ConnectionString") fp_sUid = Application(fp_sDataConn & "_RuntimeUserName") fp_sPwd = Application(fp_sDataConn & "_RuntimePassword") Err.Clear FP_OpenConnection fp_conn, fp_sConn, fp_sUid, fp_sPwd, Not(fp_fCustomQuery) if Err.Description <> "" then fp_fError = True end if
Wurde die Verbindung erfolgreich geöffnet, wird ein Kommandoobjekt (fp_cmd) und ein Datensatzobjekt (fp_rs) erstellt. Das Kommandoobjekt enthält später die SQL-Befehle. Kommandoobjekt
596
if Not fp_fError then set fp_cmd = Server.CreateObject("ADODB.Command") fp_cmd.CommandText = fp_sQry fp_cmd.CommandType = fp_iCommandType set fp_cmd.ActiveConnection = fp_conn
Die FrontPage-Skriptbibliotheken
set fp_rs = Server.CreateObject("ADODB.Recordset") set fp_rs.Source = fp_cmd If fp_iCommandType = 4 Then fp_cmd.Parameters.Refresh Do Until Len(fp_sInputs) = 0 fp_iLoc = InStr(fp_sInputs,"=") if fp_iLoc = 0 then exit do fp_sKey = Left(fp_sInputs,fp_iLoc – 1) fp_sInputs = Mid(fp_sInputs,fp_iLoc + 1) fp_iLoc = InStr(fp_sInputs,"&") if fp_iLoc = 0 then fp_sInpVal = fp_sInputs fp_sInputs = "" else fp_sInpVal = Left(fp_sInputs,fp_iLoc – 1) fp_sInputs = Mid(fp_sInputs,fp_iLoc + 1) end if fp_sVal = Request.Form(fp_sKey) if len(fp_sVal) = 0 then _ fp_sVal = Request.QueryString(fp_sKey) if len(fp_sVal) = 0 then fp_sVal = fp_sInpVal fp_pType = fp_cmd.Parameters(fp_sKey).Type select case fp_pType case 129, 200, 201, 130, 202, 203 ' adChar, adVarChar, adLongVarChar, ' adWChar, adVarWChar, adLongVarWChar fp_cmd.Parameters(fp_sKey).Size = Len(fp_sVal) + 1 case else ' nichts tun end select ' Namen und Werte der Abfrage erneut holen if not fp_dictInputs.Exists(fp_sKey) then fp_dictInputs.Add fp_sKey, fp_sVal end if fp_cmd.Parameters(fp_sKey) = fp_sVal Loop End If If fp_iMaxRecords <> 0 Then fp_rs.MaxRecords = fp_iMaxRecords FP_SetCursorProperties(fp_rs) FP_OpenRecordset(fp_rs) end if
Hier erfolgt die Ausgabe der Fehler, wenn welche aufgetreten sind: If Err.Description <> "" Then if fp_fTableFormat then
Ausgabe der Fehler
597
15 Programmierung von Webseiten
Response.Write "
" end if Response.Write "" Response.Write "Database Results Error " if Not fp_fError then Response.Write "Description: " & Err.Description & " " Response.Write "Number: " & Err.Number & " (0x" & Hex(Err.Number) & ") " Response.Write "Source: " & Err.Source & " " else Response.Write Err.Description end if if fp_bBlankField Then Response.Write " One or more form fields were empty." Response.Write " You should provide default values for all form fields that are used in the query." End If Response.Write " " if fp_fTableFormat then Response.Write " " end if fp_fError = True Else ' Keine Datensätze vorhanden if fp_rs.State <> 1 then fp_fError = True Response.Write fp_sNoRecords ElseIf fp_rs.EOF And fp_rs.BOF Then fp_fError = True Response.Write fp_sNoRecords end if end if end if
Die Navigation zwischen Datensätzen mit Hilfe der Navigationsleiste muss von der Datenbank (dem Datenbank-Provider) unterstützt werden. Wenn diese Unterstützung gegeben ist, kann die Leiste angezeigt werden, andernfalls wird sie unterdrückt: if not fp_fError then if IsObject(fp_rs) and not(fp_rs.Supports(&H00004000)) then fp_iPageSize = 0 fp_fShowNavbar = False end if end if
598
Die FrontPage-Skriptbibliotheken
Der folgende Abschnitt steuert die Navigation. Die aktuelle Position wird in einer Sessionvariable fp_sEnvKey gespeichert (intern sind Sessionvariablen Cookies). Diese Funktionen funktionieren nur mit Cookies. if not fp_fError then if fp_iPageSize > 0 then fp_iAbsPage = 1 fp_sVal = Session(fp_sEnvKey) if fp_sVal <> "" then fp_iAbsPage = CInt(fp_sVal) end if fp_rs.PageSize = fp_iPageSize if fp_iAbsPage > fp_rs.PageCount then _ fp_iAbsPage = fp_rs.PageCount fp_rs.AbsolutePage = fp_iAbsPage if fp_rs.PageCount = 1 then fp_fShowNavbar = False select case fp_sMoveType case "" ' nichts tun case fp_sFirstLabel ' Erste Seite fp_rs.AbsolutePage = 1 case fp_sPrevLabel ' Seite zurück if fp_rs.AbsolutePage > 1 then _ fp_rs.AbsolutePage = fp_rs.AbsolutePage – 1 case fp_sNextLabel ' Seite weiter if fp_rs.AbsolutePage < fp_rs.PageCount then _ fp_rs.AbsolutePage = fp_rs.AbsolutePage + 1 case fp_sLastLabel ' Letzte Seite fp_rs.AbsolutePage = fp_rs.PageCount case else ' nichts tun end select fp_iAbsPage = fp_rs.AbsolutePage Session(fp_sEnvKey) = fp_iAbsPage ' Cookie neu setzen end if end if
Navigation
if fp_fError then fp_fShowNavbar = False
Der nächste Abschnitt ermittelt die Anzahl der Datensätze der Datenbankabfrage: fp_iCount = 0 Do if fp_fError then exit do
599
15 Programmierung von Webseiten
if fp_rs.EOF then if fp_iPageSize > if fp_iMaxRecords fp_fShowNavbar exit do end if
exit do 0 And fp_iCount >= fp_rs.PageSize then exit do > 0 And fp_iCount >= fp_iMaxRecords then = False
%>
An dieser Stelle endet die Datei FPDBRGN1.INC und FPDBRGN2.INC beginnt. Der erste Teil (bis zum Befehl Loop) gehört noch zur Datensatzzählung. fpdbrgn2.inc
<% ' Close the loop iterating records fp_iCount = fp_iCount + 1 fp_rs.MoveNext Loop
Wenn die Navigationsleiste angezeigt werden soll, wird eine kleine Tabelle erzeugt, in der die Schaltflächen dargestellt werden. Sie können die Anzeigeform hier ändern: if fp_fShowNavbar then if fp_fTableFormat then if fp_iDisplayCols < 1 then fp_iDisplayCols = 16 Response.Write "" end if
Die Schaltflächen benötigen ein Formular. Beachten Sie das Attribut Target=_ self, dadurch wird sichergestellt, dass das Formular immer wieder aufgerufen wird. Response.Write "" if fp_iAbsPage > 1 then fp_sType = "Submit" fp_sLabel = fp_sFirstLabel else fp_sType = "Button" fp_sLabel = fp_sDashLabel end if Response.Write " " if fp_iAbsPage > 1 then fp_sLabel = fp_sPrevLabel Response.Write " " if fp_iAbsPage < fp_rs.PageCount then fp_sType = "Submit" fp_sLabel = fp_sNextLabel
600
Der Microsoft Skript-Editor
else fp_sType = "Button" fp_sLabel = fp_sDashLabel end if Response.Write " " if fp_iAbsPage < fp_rs.PageCount then fp_sLabel = fp_sLastLabel Response.Write " " Response.Write " [" & fp_iAbsPage & "/" & fp_rs.PageCount & "] " ' Alle anderen Werte werden in versteckten Feldern untergebracht for each fp_sKey in fp_dictInputs fp_sVal = fp_dictInputs.Item(fp_sKey) Response.Write " " next Response.Write " " if fp_fTableFormat then Response.Write " " end if end if
Wenn ein Datensatzobjekt existierte, wird es hier geschlossen: if IsObject(fp_rs) then FP_Close(fp_rs) FP_Close(fp_conn) end if set set set set %>
fp_dictInputs = Nothing fp_rs = Nothing fp_cmd = Nothing fp_conn = Nothing
15.7 Der Microsoft Skript-Editor Der Skript-Editor eignet sich vor allem für die Entwicklung umfangreicher ASP-Skripte. Er ergänzt Frontpage für den aktiven Programmierer. Als Ersatz für den HTML-Editor ist der Skripteditor weniger geeignet.
15.7.1
Übersicht über die Entwicklungsumgebung
Der Skript-Editor steht als Werkzeug in allen Office XP-Programmen zur Verfügung. Von FrontPage aus wird er mit der Tastenkombination (Alt)+ (ª)+(F11) aufgerufen, alternativ unter EXTRAS | MAKRO | MICROSOFT
601
15 Programmierung von Webseiten
SKRIPT-EDITOR. Der Skript-Editor lädt automatisch die aktuell in FrontPage angezeigte Datei. Abbildung 15.6: Der Skript-Editor mit den wichtigsten Bearbeitungsansichten
Der Skripteditor entstammt der Microsoft Entwicklungsumgebung Visual Studio und stellt praktisch eine leicht abgerüstete Version von Visual Studio 7.0 dar. Die interne Versionsnummer der mit FrontPage 2002 bzw. Office XP gelieferten Variante ist 10.0. Aufbau des Skripteditors Der Skripteditor bietet vier grundlegende Ansichten: 왘 Bearbeitungsfenster 왘 Werkzeugleisten bzw. Dokumentgliederung 왘 Projekt-Explorer (Standardmäßig verdeckt) 왘 Eigenschaften Das Bearbeitungsfenster
Das Bearbeitungsfenster kann nur den Quelltext bearbeiten. Um eine Vorschau der Seite zu sehen, müssen Sie diese im Browser starten. Klicken Sie mit der rechten Maustaste im Dokument und wählen Sie dann im Kontextmenü IN BROWSER ANZEIGEN.
Der ProjektExplorer
Der Projekt-Explorer zeigt alle zu einem Projekt gehörenden Dateien an. Sie können dieses Fenster mit der Tastenkombination (Strg)+(Alt)+(L) aufrufen.
602
Der Microsoft Skript-Editor
Die Werkzeugleisten finden Sie in der Standardansicht links. Angezeigt werden HTML-Elemente oder die Struktur der bearbeiteten Datei. Die Struktur kann nach den enthaltenen HTML-Codes oder nach dem Skriptcode analysiert werden. HTML-Elemente fügen Sie per Drag&Drop ein. Die folgende Abbildung zeigt die HTML-Werkzeugleiste.
Die Werkzeugleisten
Abbildung 15.7: Ansicht der HTMLWerkzeugleiste
Wenn Sie die Ansicht DOKUMENTGLIEDERUNG (Abbildung 15.8) wählen, können Sie Skriptfragmente leicht erstellen und auswählen. Das Fenster dient vor allem der schnellen Navigation im Quellcode umfangreicher Dokumente. Wenn Sie diese beiden Ansichten nicht in der Werkzeugleiste sehen, können Sie auch über ANSICHT | ANDERE FENSTER darauf zugreifen.
Ansichten
603
15 Programmierung von Webseiten Abbildung 15.8: Gliederung eines HTML-Dokuments
15.7.2
Seiteneigenschaften: Einstellungen für ASP
Wenn Sie in der Ansicht SKRIPTGLIEDERUNG Skripte hinzufügen, sind die Grundeinstellungen der betreffenden Seite wichtig. Standardmäßig stehen alle Einstellungen für Skripte auf VBScript. Das ist zumindest für clientseitige Skripte nicht sinnvoll. Sie sollten auf jeden Fall JavaScript einstellen, um browserunabhängig arbeiten zu können. Abbildung 15.9 zeigt das Eigenschaftenfenster, das Sie unter ANSICHT | EIGENSCHAFTENFENSTER oder mit (ª)+(F4) aktivieren. Wenn Sie mit ASP programmieren, sind die folgenden Einstellungen besonders wichtig: 왘 Transaktionen aktivieren
Diese Option aktivieren Sie, wenn mit dem Microsoft Transaction Server gearbeitet werden soll. Der Server muss dies unterstützen. Wird die Option aktiviert, fügt der Editor <% @ Transaction = requiered %> ein. 왘 Sitzungslose ASP-Seite
Diese Option fügt den Befehl <% @ EnableSessionState=False %> am Anfang des Skripts ein. Sie unterdrücken damit die automatische Verwendung von Cookies für die Sitzungsverfolgung, müssen nun aber selbst dafür Sorge tragen, beispielsweise mit einer Session-ID.
604
Der Microsoft Skript-Editor Abbildung 15.9: Einstellungen für die Skriptprogrammierung
왘 Standardskriptsprache
Hier können Sie die Standardskriptsprache für Client und Server einstellen. Wählen Sie für den Server VBScript und für den Client JavaScript, um komaptible Anwendungen erstellen zu können. Die übrigen Optionen beziehen sich auf die Gestaltung der Seite in HTML.
605
V Anhang
A
Die FrontPage-Werkzeuge
Viele der Werkzeuge, die in FrontPage enthalten sind, können Sie über die Menüs erreichen. Menüs erklären meist ihre Funktion von selbst, und die vorangehenden Kapitel haben Ihnen alle Werkzeuge von FrontPage vorgestellt. Was sich aber hinter den Symbolen versteckt, die wesentlich schneller zu erreichen und mit einiger Übung zu merken sind, sollen Ihnen die folgenden Seiten zeigen. In der Funktionsreferenz finden Sie nicht nur die Schaltflächen aller Symbolleisten aus FrontPage, Image Composer und GIF Animator, sondern auch die zugehörigen Tastaturkürzel. Legen Sie das Buch einfach neben die Tastatur, und ohne viel blättern zu müssen finden Sie den schnellsten Weg zu allen Funktionen.
A.1
FrontPage 2002
A.1.1
Standard (Kapitel 1, 6 und 7) Beschreibung
Tasten
Neue Datei erstellen Über die Auswahlliste können auch neue Webs, Ordner und Aufgaben erstellt werden
(Strg)+(N)
Datei öffnen Über die Auswahlliste können auch bestehende Webs geöffnet werden
(Strg)+(O)
Datei speichern
(Strg)+(S)
Web veröffentlichen Ordnerliste einblenden Seite drucken
(Strg)+(P)
Vorschau im externen Internet-Browser
(Strg)+(ª)+(B)
609
A Die FrontPage-Werkzeuge
Beschreibung
Tasten
Rechtschreibprüfung
(F7)
Auswahl in die Zwischenablage ausschneiden
(Strg)+(X)
Auswahl in die Zwischenablage kopier
(Strg)+(C)
Inhalt der Zwischenablage einfüge
(Strg)+(V)
Format übertragen Letzte Arbeitsschritte rückgängig machen
(Strg)+(Z)
Änderungen wieder herstellen
(Strg)+(Y)
FrontPage-Komponente einfügen Tabelle einfügen Bild aus Datei einfügen Hyperlink erstellen
(Strg)+(K)
Seite aktualisieren
(F5)
Aktualisierung abbrechen
(Esc)
Alle Zeichen anzeigen Hilfe
610
(F1)
FrontPage 2002
A.1.2
Format (Kapitel 7) Beschreibung
Tasten
Auswahlliste der Absatzformatierungen und Formatvorlagen (CSS) Schriftarten festlegen Schriftgrad festlegen Zeichen fett setzen
(Strg)+(ª)+(F)
Zeichen kursiv setzen
(Strg)+(ª)+(K)
Zeichen unterstrichen darstellen
(Strg)+(ª)+(U)
Absatz linksbündig formatieren Absatz zentriert ausrichten Absatz rechtsbündig ausrichten Nummerierung Aufzählung Einzug verkleinern Einzug vergrö ß ern Text andersfarbig hervorheben Schriftfarbe bestimmen
611
A Die FrontPage-Werkzeuge
A.1.3
Berichte (Kapitel 6) Beschreibung Berichte aus der Auswahlliste aufrufen Hyperlinks bearbeiten Hyperlinks überprüfen
A.1.4
DHTML-Effekte (Abschnitt 11.4) Beschreibung Ereignis für DHTML-Effekt festlegen DHTML-Effekt auswählen Effektoptionen einstellen Effekt entfernen Effektmarkierungen ein- und ausblenden
A.1.5
Formatvorlage (Kapitel 11) Beschreibung Formatvorlage für markiertes Element festlegen
612
FrontPage 2002
A.1.6
Grafik (Kapitel 8) Beschreibung Bild aus Datei einfügen Bild mit Text versehen Auto-Miniaturansicht erzeugen Absolut positionieren Bild in den Vordergrund rücken Bild in den Hintergrund rücken Bild gegen den Uhrzeigersinn um 90° kippen Bild mit dem Uhrzeigersinn um 90° kippen Bild vertikal spiegeln Bild horizontal spiegeln Kontrast verstärken Kontrast vermindern Helligkeit vergrö ß ern Helligkeit vermindern Bild beschneiden Transparente Farbe im GIF-Bild festlegen
613
A Die FrontPage-Werkzeuge
Beschreibung Schwarzweiß-Grafik erzeugen Bild weichzeichnen (Verwaschen) Abgeschrägten Rand erzeugen Bilddatei den Manipulationen anpassen (Erneut einlesen) HotSpot aktivieren und verschieben Rechteckigen HotSpot erzeugen Runden HotSpot erzeugen Unregelmä ß igen HotSpot erzeugen HotSpots im Bild markieren Bild nach Manipulationen wiederherstellen
A.1.7
Navigation (Kapitel 6) Beschreibung Zoom einstellen Navigationsansicht im Hoch- oder Querformat anzeigen Externen Hyperlink erstellen Seite in Navigationsleisten einschließen Nur Unterbaum der ausgewählten Seite anzeigen
614
FrontPage 2002
A.1.8
Positionierung (Kapitel 11) Beschreibung Ausgewähltes Element absolut positionieren Linken Ausrichtungspunkt definieren Oberen Ausrichtungspunkt definieren Breite des Containers festlegen Höhe des Containers festlegen Element auf der Z-Achse anordnen Element in den Vordergrund rücken Element in den Hintergrund rücken
615
A Die FrontPage-Werkzeuge
A.1.9
Tabellen (Abschnitt 10.1)
Beschreibung Tabelle zeichnen Zellen mit dem Radiererwerkzeug verbinden / Rahmen auflösen Zeilen einfügen Spalten einfügen Markierte Zellen löschen Zellen teilen Markierte Zellen verbinden Zelleninhalt oben ausrichten Zelleninhalt mittig ausrichten Zelleninhalt unten ausrichten Zeilenhöhen gleichmä ß ig verteilen Spaltenbreiten gleichmä ß ig verteilen Zelle oder Tabelle mit andersfarbigem Hintergrund versehen Zellenbreiten und -höhen den Inhalten anpassen
616
B
HTML-Referenz
B.1
HTML 3.2
B.1.1
HTML 3.2-Elemente
Die Dokumentstruktur verwendet folgende Elemente: 왘 Dokumententyp 왘 HEAD 왘 BODY 왘 Kommentare
Im Kopf (HEAD) einer HTML-Seite dürfen folgende Elemente verwendet werden: 왘 TITLE 왘 ISINDEX 왘 META – Metainformation 왘 LINK 왘 BASE 왘 SCRIPT 왘 STYLE – Styleinformation
Im Körper (BODY) einer HTML-Seite sind die folgenden Elemente erlaubt: 왘 H1 ... H6 왘 UL und LI 왘 OL und LI 왘 DIR 왘 MENU 왘 DL, DT, DD 왘 P 왘 PRE 왘 BLOCKQUOTE
617
B HTML-Referenz 왘 ADDRESS 왘 DIV 왘 CENTER 왘 FORM. Das Element FORM darf die folgenden Elemente enthalten: 왘 INPUT 왘 TEXTAREA 왘 SELECT und OPTION 왘 HR 왘 TABLE. Das Element TABLE kann die folgenden Elemente enthalten: 왘 CAPTION 왘 TH 왘 TR 왘 TD
Textbezogene Elemente formatieren oder strukturieren Text oder die Dokumentstruktur: 왘 EM 왘 STRONG 왘 DFN 왘 CODE 왘 SAMP 왘 KBD 왘 VAR 왘 CITE 왘 TT 왘 I 왘 B 왘 U 왘 STRIKE 왘 BIG 왘 SMALL 왘 SUB 왘 SUP 왘 A
618
HTML 3.2 왘 BASEFONT 왘 FONT 왘 BR
Einige Elemente binden externe Objekte ein: 왘 IMG 왘 APPLET und PARAM 왘 MAP und AREA, ISMAP und USEMAP
B.1.2
Übersicht und Einteilung
Diese Referenz ist nach der Anwendung der Elemente eingeteilt. Um die Suche nach bestimmten Tags zu erleichtern, finden Sie zuerst eine alphabetische Liste der Elemente. Die neuen Elemente in HTML 4 werden im Anschluss beschrieben. Soweit sich gravierende Unterschiede ergeben, wird auf die Besonderheiten der Browser von Netscape und Microsoft hingewiesen. Die Informationen basieren auf den Veröffentlichungen der W3.ORG auf ihren Webseiten und wurden frei übersetzt. Die HTML-Befehle können in drei Abteilungen eingeteilt werden: 왘 Steuerung im Kopf der HTML-Seite 왘 Steuerung des Körpers der HTML-Seite 왘 Textbereich
B.1.3
HTML 3.2-Elemente
Dokumentstruktur Dokumententyp
Jedes HTML-Dokument sollte mit dem -Tag beginnen und auf den Dokumententyp hinweisen. HTML stammt aus der Gruppe der Textbeschreibungssprachen, zu denen als Obergruppe SGML gehört und neu auch XML (Extensible Markup Language). Das Tag wird trotzdem selten genutzt und erscheint nur, wenn Editoren es automatisch einsetzen. Syntax:
Anwendung:
Enthält das Datum, an dem das Dokument ungültig wird.
"Reply-to"
Enthält eine E-Mail-Adresse des Autors.
"Keywords"
Enthält Schlüsselwörter, die im Header erscheinen.
"Refresh
Enthält eine Zeit in Sekunden und eine URL, zu der nach Ablauf der Zeit gesprungen wird (CONTENT="5; nextside.html")
NAME =
CONTENT =
"generator"
Names des Programmes, mit dem die HTML-Seite erzeugt wurde. Wird vom Programm selbst gesetzt.
"author"
Der Autor, wird vom Generator gesetzt.
"description"
Eine Beschreibung, wird nur von Suchmaschinen verwendet.
"keywords"
Enthält Schlüsselworte, die von Suchmaschinen indiziert werden.
Enthält:
nichts
LINK LINK LINK definiert Beziehungen zwischen Dokumenten.
Syntax:
Attribute:
REL=string, REV=string, HREF=URL, TITLE=string
621
B HTML-Referenz 왘 REL=string
Beziehung zu einem anderen Dokument. Neuere Browser können das auswerten und daraus Navigationshilfen erzeugen. 왘 REV=string Inverse Beziehung, das andere Dokument verweist zurück auf dieses. 왘 HREF=URL Beziehung zu einem Dokument an anderer Stelle. 왘 TITLE=titel. Das referenzierte Dokument wird neu benannt. Die Attribute REL und REV dürfen sein: REL = oder REV =
Beschreibung
"home"
Die Startseite
"toc"
Table of Contents, das Inhaltsverzeichnis
"index"
Der Index, beispielsweise alphabetisch
"glossary"
Ein Glossar mit Erklärungen
"copyright"
Ein Ursprungshinweis
"up"
Das logisch übergeordnete Dokument
"next"
Das logisch folgende Dokument der Ebene
"previous"
Das logisch vorgehende Dokument
"help"
Die Hilfeseite
Enthält:
nichts
BASE BASE
Gibt Informationen über die wirkliche Position des Dokumentes. Es ist dann interessant, wenn mit Spiegel- oder Sicherungsservern gearbeitet wird und der Browser das Original kennen muss, weil mit relativen Pfadangaben zugegriffen wird.
622
Syntax:
Attribute:
HREF=URL
Enthält:
nichts
HTML 3.2
SCRIPT SCRIPT
Enthält Skriptbefehle einer Skriptsprache, die im Browser interpretiert wird. Es ist außerdem empfehlenswert, den Inhalt mit den Kommentarzeichen einzuschließen, da einige Browser den <SCRIPT>-Tag nicht verstehen. Syntax:
<SCRIPT>
Attribute:
language=string, src=url.
Dabei bedeuten: 왘 Language=string
Die Skriptsprache („Javascript“, „VBScript“) 왘 Src=url
Enthält:
Die Quelle einer Skriptdatei („/cgi-bin/script.js“) Gültige Skriptbefehle der gewählten Sprache
Styleinformationen STYLE
Beginn einer Styledefinition. Zur Verwendung stehen derzeit nur CSS (Cascading Style Sheets) zur Verfügung. Syntax:
<STYLE>
Attribute:
TYPE=string
Art der Styles Enthält:
Text, der die Styles definiert
Körperelemente Diese Elemente dürfen nur innerhalb der -Tags auftreten. Hier eine Übersicht: H1 .. H6
Header. Überschriften, die in einer bestimmten Grö ß e dargestellt werden. Die wirklichen Formatierungen sind vom Browser abhängig. H1 ist die grö ß te Überschrift, H6 die kleinste. Syntax:
, , , ,
Attribute:
ALIGN=left | right | center
Enthält:
Text und alle Textformatelemente
UL und LI
Unordered List. List Element. Eine unsortierte Liste, die Absätze einrückt und mit Symbolen markiert. Syntax:
623
B HTML-Referenz
Listenelement 1 Listenelement 2 ...
Attribute:
TYPE=disc|square|circle, COMPACT
Enthält:
OL und LI Ordered List, List Element. Eine sortierte Liste, die Absätze einrückt und mit Ziffern oder Buchstaben markiert.
Syntax:
Listenelement 1 Listenelement 2 ...
Attribute:
TYPE=1|a|A|i|I, START=n, COMPACT.
Dabei bedeuten die Typzeichen: 왘 1: 1, 2, 3, 4, ... 왘 a: a, b, c, d, ... 왘 A: A, B, C, D, ... 왘 i: Römische Ziffern, i, ii, iii, iv, v, vi, ... 왘 I: Römische Ziffern, I, II, III, IV, V, VI, ... 왘 START=n. Startwert (nicht alle Browser!)
Enthält:
DIR Directory. Eine Liste mit kurzen Einträgen. Die meisten Browser stellen exakt wie dar.
Syntax:
Attribute:
COMPACT
Enthält:
MENU Menu. Eine Liste, ähnlich . Die führenden Zeichen des Elementes entfallen, und die Liste ist etwas kompakter.
624
Syntax:
<MENU>
Attribute:
COMPACT
Enthält:
HTML 3.2
DL, DT, DD
Definition List, Definition Term, Definition Definition. Dieses Element dient dem Aufbau eines Glossars. Es bildet eine Liste, die jeweils Paare von und - Elementen enthält. Syntax:
Wort Erklärung Wort 2 Erklärung 2
Attribute:
COMPACT
Enthält:
, , Text
P
Paragraph. Bildet einen neuen Absatz. Die Attribute geben die Ausrichtung des gesamten Absatzes an. Der Absatz wird in
eingeschlossen. Ein voller Zeilenabstand ohne Inhalt wird mit einem einzelnen erzeugt. Syntax:
, [
]
Attribute:
ALIGN=left | center | right
Enthält:
Textelemente und Text
PRE
Preformatted. Normalerweise wird Text an den Fenstergrenzen des Browsers umbrochen, und überflüssige Leerzeichen werden entfernt. Dieser Tag lässt den enthaltenen Text völlig unverändert. Normalerweise wird auch eine nichtproportionale Schrift verwendet. Das Attribut gibt die Breite in Zeichen vor, so dass der Browser einen passenden Font wählen kann. Syntax:
Attribute:
WIDTH=n
Enthält:
Textelemente und Text
BLOCKQUOTE
Erstellt ein Zitat. Vergessen Sie Copyright und Quellenhinweis nicht. Dieser Tag war ursprünglich nicht dazu gedacht, um einfach einzurücken, wird jedoch inzwischen auch von HTML-Werkzeugen wie FrontPage zu eben diesem Zweck gebraucht. Syntax:
Attribute:
keine
Enthält:
Textelemente und Text
625
B HTML-Referenz
ADDRESS
Erstellt eine Adresse. Rückt ein und schreibt den enthaltenen Text kursiv. Nutzen Sie dieses Element nur für Adressen, nicht um einfachen Text zu formatieren. Syntax:
Attribute:
keine
Enthält:
Textelemente und Text
DIV
Logical Division. Teilt Textabschnitt in logische Teile. Dient der horizontalen Ausrichtung eines Absatzes und der Formatierung mit Hilfe von Cascading Stylesheets. Syntax:
Attribute:
ALIGN=left | right | center
Enthält:
Textelemente und Text
CENTER
Zentriert Text. Entspricht exakt . Syntax:
Attribute:
keine
Enthält:
Textelemente und Text
Formulare FORM
Formular. Definiert ein Formular, in dem sich Eingabefelder und spezielle Eingabeelemente (
) befinden können. Jedes Formular auf einer HTML-Seite sollte genau ein Submit-Element haben (
oder
). Syntax:
Attribute:
ACTION=URL, METHOD=get|post, ENCTYPE=string
Dabei bedeutet: 왘 ACTION=URL
Name eines Skripts, Programms oder Befehls, die zum Ausführen des Formulars benutzt werden sollen. 왘 METHOD=get | post Methode (HTTP-Methode), die beim Absenden des Formulars benutzt wird. GET sendet die Elemente in der URL mit, POST nutzt den Datenteil des HTTP-Headers.
626
HTML 3.2 왘 ENCTYPE=string
Enthält:
Die Zeichenkette definiert den Inhalt des Formulars in Form des MIME-Typs, beispielsweise „text/plain“. Textelemente und Text, Formularelemente (siehe
) Diese Elemente sind speziell für Formulare entwickelt und funktionieren nur, wenn sie von einem
-Paar umgeben werden. Diese Elemente sind zulässig:
INPUT
Syntax:
Attribute:
TYPE=text|password|checkbox|radio|file|hidden TYPE=submit|reset|image, NAME=string, VALUE=string, CHECKED, SIZE=n, MAXLENGTH=n, SRC=URL, ALIGN=top|middle|bottom|left|right
Beschreibung der Elemente: 왘 TYPE=element 왘 왘 왘
왘
왘
왘
왘 왘 왘 왘
Art des Formularelements text Einzeiliges Texteingabefeld. Password Wie text mit verdeckter Eingabe (Sternchen). Checkbox Checkbox für Mehrfachauswahl. Gruppen werden durch gemeinsamen Namen gebildet. Radio Radiobutton für optionale Auswahl. Gruppen werden durch gemeinsamen Namen gebildet. File Dateieingabefeld, erzeugt zusätzlich einen „Browse“Schalter, der das Suchen auf Festplatte erlaubt (betriebssystemabhängig). Hidden Verstecktes Feld ohne Eingabemöglichkeit, wird zur Datenübergabe zwischen Seiten benutzt. Image Bild, ersetzt den Submit-Schalter. Submit Schalter, der das Formular absendet. Reset Schalter, der alle Elemente in den Urzustand stellt. NAME=string Name des Schalters, gleiche Namen bilden Gruppenelemente.
627
B HTML-Referenz 왘 VALUE=string
Enthält:
Wert, bei radio, hidden und file der zu sendende Text, bei text der Wert, der im Feld erscheint und überschrieben werden kann. Bei Checkbox nicht benutzt, bei submit, reset und button der Text, der auf dem Schalter steht. 왘 SIZE=n Die Ausdehnung in Standardzeichen. 왘 MAXLENGTH=n Die maximale Länge des Textfeldes. Wenn SIZE=n grö ß er als MAXLENGTH ist, scrollt das Textfeld horizontal. 왘 SRC=URL Quelle bei image. 왘 ALIGN=top|middle|bottom|left|right Ausrichtung des Elementes gegenüber dem umliegenden Text. nichts
TEXTAREA
Elemente zum Erfassen längerer Texte in einem mehrzeiligen Feld. Die Tags können einen Text umschließen, der als Standardwert im Textfeld erscheint. Syntax:
Attribute:
NAME=string, ROWS=n, COLS=n. Dabei bedeutet: 왘 NAME=string
Name des Textfeldes 왘 ROWS=n
Enthält:
Anzahl der Reihen (Zeilen) 왘 COLS=n Anzahl der Spalten in Standardzeichen Text als Vorauswahl (Standard)
SELECT und OPTION
Erlaubt eine Auswahl aus einer Liste von Elementen. Kann ein DropdownMenü bilden oder eine einfache Liste. Syntax:
<SELECT>
<SELECT>
Attribute:
Für <SELECT>: NAME=string, SIZE=n, MULTIPLE Dabei bedeutet: 왘 NAME=string
Name des Feldes.
628
HTML 3.2 왘 SIZE=n
Anzahl der Zeilen, die gleichzeitig sichtbar sind. Hat das Feld mehr Elemente, wird ein Rollbalken angezeigt. 왘 MULTIPLE Erlaubt die Mehrfachauswahl mit den entsprechenden Tasten, die das Betriebssystem dafür vorsieht (unter Windows (ª) und (Strg) mit linker Maustaste). Für : VALUE=string, SELECTED Dabei bedeutet: 왘 VALUE=string
Enthält:
Wert, der bei der Selektion des Feldes übergeben wird. 왘 SELECTED Feld ist von vornherein schon markiert. innerhalb <SELECT>. Text nach jedem -Tag, schließendes Tag optional.
HR
Horizontal Rule. Horizontale Linie als optische Trennung zwischen Elementen. Syntax:
Attribute:
ALIGN=left|right|center, NOSHADE, SIZE=n, WIDTH=n|p%
Dabei bedeutet: 왘 ALIGN=left | right | center
Enthält:
Ausrichtung 왘 NOSHADE Das Element nicht dreidimensional schattieren 왘 SIZE=n Dicke in Pixeln 왘 WIDTH=n|p% Breite in Pixeln oder Breite in % des Browserfensters nichts
Tabellen und Tabellenelemente TABLE
Definiert eine neue Tabelle. Die Tabelle muss mit Reihenelementen und Zellenelementen komplettiert werden, die im folgenden beschrieben werden. Tabellen dürfen verschachtelt werden, das heißt, innerhalb einer Zelle kann wieder eine komplette Tabelle erzeugt werden. Syntax:
Attribute:
ALIGN=left|right|center, CELLSPACING=n, CELLPADDING=n,
629
B HTML-Referenz
BORDER=n, SIZE=n, WIDTH=n|p%
Dabei bedeutet: 왘 ALIGN=left | right | center
Ausrichtung 왘 BORDER=n
Rand um die gesamte Tabelle in Pixeln 왘 CELLPADDING=n
Enthält:
Abstand des Textes in einer Zelle vom Rand der Zelle 왘 CELLSPACING=n Abstand der Zellen voneinander 왘 WIDTH=n|p% Breite in Pixeln oder Breite in % des Browserfensters nichts Die folgenden Elemente erscheinen nur innerhalb einer Tabellendefinition .
CAPTION
Schreibt eine Überschrift über oder unter die Tabelle, in der das Tag steht. Dieses Tag sollte direkt hinter stehen, noch vor dem ersten oder . Syntax:
Attribute:
ALIGN= top|bottom
Ausrichtung der Überschrift oben oder unten. Enthält:
Text und Textelemente
TH
Table Header. Bildet die Überschrift einer Tabelle. Funktioniert wie , schreibt den enthaltenen Text fett. Syntax:
Attribute:
ROWSPAN=n, COLSPAN=n, NOWRAP, ALIGN=left|right|center, VALIGN=top|middle|bottom, WIDTH=n, HEIGHT=n
Die Beschreibung der Attribute finden Sie bei . Enthält:
TR Table Row. Bildet die Reihe einer Tabelle. Sie können beliebig oft verwenden. erscheint nur hinter und oder als erstes Element hinter .
630
Syntax:
Attribute:
ALIGN=left|right|center, VALIGN=top|middle|bottom
HTML 3.2
Beschreibung der Attribute: 왘 ALIGN=left|right|center
Ausrichtung des Textes links, rechts, mittig 왘 VALIGN=top|middle|bottom
Vertikale Ausrichtung des Textes oben, mittig, unten. Enthält:
TD Table Cell Definition. Bildet die Zellen innerhalb einer Reihe der Tabelle. Sie können beliebig oft verwenden. Achten Sie darauf, dass Sie in jeder Reihe die gleiche Anzahl Zellen definieren oder Zellen mit den SPAN-Attributen so zusammenfassen, dass die gleiche logische Anzahl Zellen angegeben wird.
Syntax:
Attribute:
ROWSPAN=n, COLSPAN=n, NOWRAP, ALIGN=left|right|center, VALIGN=top|middle|bottom, WIDTH=n, HEIGHT=n
Beschreibung der Attribute: 왘 ROWSPAN=n
Enthält:
Verbindet die aktuelle Zelle über n Reihen zu einer großen Zelle 왘 COLSPAN=n Verbindet Zellen der aktuellen Reihe über mehrere Spalten 왘 NOWRAP Kein automatischer Zeilenumbruch des enthaltenen Textes 왘 ALIGN=left|right|center Ausrichtung des Textes links, rechts, mittig 왘 VALIGN=top|middle|bottom Vertikale Ausrichtung des Textes oben, mitte, unten 왘 WIDTH=n Breite der Reihe in Pixeln (Minimum) 왘 HEIGHT=n Höhe der Reihe in Pixeln (Minimum)
Textbezogene Elemente Mit diesen Elementen kann Text vielfältig formatiert und strukturiert werden. Die Einteilung kann in drei Klassen vorgenommen werden: Hervorhebungen mit logischer Bedeutung (auf die Struktur bezogen):
631
B HTML-Referenz 왘 EM – Hervorhebung 왘 STRONG – Starke Hervorhebung 왘 DFN – Definition 왘 CODE – Code 왘 SAMP – Beispieltext 왘 KBD – Taste 왘 VAR – Variable 왘 CITE – Kurzzitat
Physische Formatierung des Textes: 왘 TT – Unformatiert 왘 I – Kursiv 왘 B – Fett 왘 U – Unterstrichen 왘 STRIKE – Durchgestrichen 왘 BIG – Groß 왘 SMALL – Klein 왘 SUB – Tiefgestellt 왘 SUP – Hochgestellt
Spezialmarkierungen zur Navigation 왘 A – Anker 왘 BASEFONT – Standardfont 왘 IMG – Bild 왘 APPLET – Java Applet 왘 PARAM – Parameter für Applets 왘 FONT – Font (Schriftart- und -form) 왘 BR – Zeilenumbruch 왘 MAP – Bild mit Navigationsinformationen 왘 AREA – Gebiet mit Navigationsinformationen im Bild
EM
Emphasized. Text hervorheben, in den meisten Browser kursiv. Dieses Element ist ein strukturelles Element und sollte nicht verwendet werden, wo aus optischen Gründen kursiv geschrieben wird. Benutzen Sie besser .
632
HTML 3.2
Syntax:
<EM>
STRONG Strongly emphasized. Text stärker hervorheben als mit <EM>. Wird meist durch fette Schrift dargestellt. Um nur aus optischen Gründen fett zu schreiben, ist besser zu verwenden.
Syntax:
<STRONG>
DFN Definition. Eine Definition, beispielsweise einer Abkürzung, wenn diese das erste Mal benutzt wird. Meist kursiv, siehe Hinweise bei <EM>.
Syntax:
CODE Nutzt einen nichtproportionalen Font für die Hervorhebung von Programmcode. Wenn der Text über mehrere Zeilen läuft, ist besser geeignet.
Syntax:
SAMP Beispieltext, meist ein nichtproportionaler Font für die Hervorhebung von Fehlermeldungen.
Syntax:
<SAMP>
KBD Ebenso eine Kennzeichnung, diesmal für Tastatureingaben (ENTER, STRG etc.). Bei den meisten Browsern kein Effekt.
Syntax:
VAR Ebenso eine Kennzeichnung, diesmal für Variablen (a, name, x etc.). Bei den meisten Browsern kursiv.
Syntax:
CITE Ebenso eine Kennzeichnung, diesmal für Zitate (RFC 1845 etc.). Bei den meisten Browsern erfolgt die Darstellung kursiv.
Syntax:
TT Schreibt in einem nichtproportionalen Font, beispielsweise für die Darstellung von Bildschirmausgaben. Im Gegensatz zu werden überzählige Leerzeichen entfernt und ein normaler Zeilenumbruch benutzt.
Syntax:
633
B HTML-Referenz
I
Formatiert Text kursiv. Syntax:
B Formatiert Text fett.
Syntax:
U Formatiert Text mit Unterstrich. Sollten Sie mit Vorsicht verwenden, da normalerweise Links unterstrichen erscheinen und sich Nutzer davon irritiert fühlen könnten, da unterstrichene Passagen nicht verlinkt sind.
Syntax:
STRIKE Streicht Text durch.
Syntax:
<STRIKE>
BIG Formatiert Text eine Stufe grö ß er als der Grundfont. Siehe auch .
Syntax:
SMALL Formatiert Text eine Stufe kleiner als der Grundfont. Siehe dazu auch .
Syntax:
<SMALL>
SUB Stellt Text tiefer (Beispiel: C2H5OH)
Syntax:
<SUB>
SUP Stellt Text höher (Beispiel: m2)
Syntax:
<SUP>
A Anchor. Anker-Tag. Das wichtigste Tag für Hypertext. Damit werden Marken im Text definiert, zu denen gesprungen werden kann, und damit werden auch die eigentlichen Hyperlinks definiert.
634
Syntax:
Attribute:
Entsprechen dem Tag . Siehe dort.
Enthält:
Text, der als Hyperlink formatiert erscheint und anklickbar
HTML 3.2
ist BASEFONT
Stellt den Standardfont für das gesamte Dokument ein. Es ist zu empfehlen, statt FONT oder BASEFONT Style Sheets zu benutzen. Syntax:
Attribute:
SIZE=n. Grö ß e in Werten von 1 bis 7
IMG
Einbindung eines Bildes in die Seite. Standardmäß ig werden GIF und JPEG von allen Browsern unterstützt. Syntax:
Attribute:
SRC=URL, ALT=string, ALIGN=left|right|top|middle|bottom, HEIGHT=n, WIDTH=n, BORDER=n, HSPACE=n, VSPACE=n, USEMAP=URL, ISMAP.
Dabei bedeuten im Einzelnen: 왘 SRC=URL
Position der Bildquelle als URL 왘 ALT=string
왘
왘
왘
왘
왘
왘
Alternativer Text, wenn das Bild nicht angezeigt wird, und bei neueren Browsern als Hilfstext, wenn die Maus über dem Bild schwebt. ALIGN= Ausrichtung des Bildes auf der Seite oder innerhalb des umgebenden Containers. HEIGHT=n Höhe in Pixeln. Der Wert ist endgültig, anders formatierte Bilder werden gestaucht oder gestreckt. WIDTH=n Breite in Pixeln. Der Wert ist endgültig, anders formatierte Bilder werden gestaucht oder gestreckt. BORDER=n Rand (blau) rund um das Bild. Bilder, die als Link (innerhalb ) benutzt werden, haben immer einen 2Pixel-Rand, der mit BORDER=0 unterdrückt werden kann. Alle anderen Bilder haben keinen Rand. HSPACE=n Horizontaler Abstand in Pixeln, der links und rechts vom Bild erscheint. VSPACE=n. Vertikaler Abstand in Pixeln, der oben und unten vom Bild erscheint.
635
B HTML-Referenz 왘 USEMAP=URL. ISMAP.
Siehe unter MAP. APPLET und PARAM
Einbindung eines Java- oder ActiveX-Applets. Syntax:
<APPLET> ...
Attribute:
CODEBASE=URL, CODE=string, NAME=string, ALT=string, ALIGN=left|right|top|middle|bottom, HEIGHT=n, WIDTH=n, HSPACE=n, VSPACE=n.
Dabei bedeuten: 왘 CODEBASE=URL
Die Position des Applets 왘 CODE=string
Angesprochene Klasse im Applet 왘 NAME
Name des Applets 왘 ALT=string Alternativer Text, wenn das Applet nicht angezeigt wird, weil der Browser keinen Interpreter hat. 왘 ALIGN= Ausrichtung des Applets auf der Seite oder innerhalb des umgebenden Containers. 왘 HEIGHT=n Höhe in Pixeln. Der Wert ist endgültig, anders formatierte Bilder werden gestaucht oder gestreckt. 왘 WIDTH=n Breite in Pixeln. Der Wert ist endgültig, anders formatierte Bilder werden gestaucht oder gestreckt. 왘 HSPACE=n Horizontaler Abstand in Pixel, der links und rechts vom Bild erscheint. 왘 VSPACE=n Vertikaler Abstand in Pixel, der oben und unten vom Bild erscheint. Für die Parameter : 왘 NAME=string
Name des Parameters (vom Applet abhängig). 왘 VALUE=string
Wert des Parameters (vom Applet abhängig).
636
HTML 3.2
FONT
Änderungen der Darstellung des Schriftfonts. Syntax:
Attribute:
SIZE=string, COLOR=#RRGGBB, FACE=string
Dabei bedeuten die Attribute im einzelnen: 왘 SIZE=string
Grö ß e des Fonts in Einheiten 1..7 왘 COLOR=#RRGGBB Farbe in RGB-Einheiten oder Standardfarbwerten, beispielsweise COLOR=red. 왘 FACE=Schriftart (nicht offiziell HTML 3.2). Nicht von allen Browsern unterstützt. Font muss lokal vorhanden sein. Sie können mehrere Schriften, durch Kommata getrennt, angeben. BR
Break. Einfacher Zeilenumbruch. Syntax:
Attribute:
CLEAR=left|all|right|none
Hat nur Gültigkeit, wenn der Text um ein Bild herum fließt und mit formatiert wird. Dann stellt das Attribut sicher, wie der Zeilenumbruch sich am Bild verhält. Mit CLEAR wird der Zeilenumbruch so gesetzt, dass der Text unterhalb des Bildes weitergeführt wird. MAP und AREA, ISMAP und USEMAP
Definition und Kontrolle eines Navigationsfeldes. Einem Bild werden zusätzliche Informationen unterlegt, so dass die Maus über diesem Bild auf Gebiete reagiert und der Browser Links ausführt. Syntax:
<MAP>
Attribute:
NAME=string
Name des Navigationsfeldes. Für : SHAPE=rect|circle|poly|default, COORDS=string, NOHREF|HREF=URL, ALT=string. Es gilt: 왘 SHAPE=
Gebiet in Pixeln auf dem Bild, das den Link unter HREF ausführt. Kann mit den entsprechenden COORDS-Werten sein:
637
B HTML-Referenz 왘 ="Rect" COORDS="xl,yl,xr,yr"
Rechteck 왘 ="Circle" COORD="x,y,radius"
Kreis 왘 ="Poly" COORD="x,y x2,y2 x3,y3, x4,y4"
Polygon (Vieleck) mit mehreren Wertepaaren. Der letzte Wert wird mit dem ersten verbunden.
638
HTML 4 왘 ="Point" COORD=x",y"
Eizelner Punkt; ziemlich sinnlos. 왘 Default
Standard, kein besonderes Gebiet, sondern die angegebene HREF wirkt auf alle nicht erfassten Gebiete. Hinweise zu ISMAP und USEMAP. Der im angegebene Name bezieht sich auf ein Unterstützungsprogramm auf dem Server. Der Name in <MAP name=karte> wird verwendet, um mit darauf zuzugreifen.
B.1.4
Liste der Elemente
Neue strukturelle Elemente in HTML 4 sind: 왘 ABBR und ACRONYM 왘 DEL 왘 INS 왘 SPAN
Auch um gestalterische Elemente wurde HTML 4 erweitert: 왘 COL, COLGROUP, THEAD, TBODY, TFOOT, TABLE 왘 BDO 왘 FRAMESET, FRAME, IFRAME und NOFRAME 왘 OBJECT 왘 Q 왘 S
Zusätzliche Formularelemente in HTML 4: 왘 BUTTON 왘 FIELDSET, LEGEND 왘 OPTGROUP (SELECT, OPTION)
B.2
HTML 4
B.2.1
HTML 4 – Einführung
Hier werden nur die Elemente beschrieben, die es in HTML 3.2 noch nicht gab oder die grundlegend verändert wurden. Zuerst eine alphabetische Übersicht. Die Versionsnummer der HTML-Norm (3 bzw. 4) korrespondiert nicht mit denen der Browser. So beherrschen die Browser der Version 2 fast HTML 3.2, die Version 3-Browser einen Teil der HTML 4-Spezifikation (wie Frames) und die Version 4-Browser beherrschen HTML 4 mit vielen individuellen Erweiterungen und teilweise auch Einschränkungen. Die Browser der Version 5 beherrschen fast alle HTML 4-Elemente.
639
B HTML-Referenz
B.2.2
Liste der Elemente
Hier ist eine Liste aller neuen Tags. Die meisten Tags erlauben außerdem die Angabe von Styleattributen (siehe CSS), ohne dass dies bei jedem Tag immer wieder erwähnt wurde. Hier eine alphabetische Liste: 왘 ABBR – Abkürzung 왘 ACRONYM – Akronym 왘 BDO – Wechsel der Schreibrichtung 왘 BUTTON – Schalter 왘 COL – Spalte 왘 COLGROUP – Spaltengruppe bei Tabellen 왘 DEL – Gelöschter Text 왘 FIELDSET – Gruppierung von Elementen bei Formularen 왘 FRAME – Frame 왘 FRAMESET – Frameset 왘 IFRAME – Eingebetteter Frame 왘 INS – Eingefügter Text 왘 LABEL – Marke in Formularen 왘 LEGEND – Überschrift eines FIELDSET 왘 NOFRAMES – Bereich ohne Frames 왘 NOSCRIPT – Alternative zu Script 왘 OBJECT – Objekt 왘 OPTGROUP – Optionsgruppe (SELECT) 왘 Q – Kurzes Zitat 왘 S – Durchgestrichener Text 왘 SPAN – Generischer Container 왘 TBODY – Tabellenkörper 왘 TFOOT – Tabellenfuß 왘 THEAD – Tabellenkopf
640
HTML 4
B.2.3
Neue strukturelle Elemente in HTML 4
ABBR und ACRONYM
Abbreviation, Acronym. Abkürzung und Akronym (aussprechbare Abkürzung wie „Laser“). Dient nur zur strukturellen Aufarbeitung. Browser zeigen nur den Text zwischen den Tags an. Syntax:
Attribute:
TITLE=string Ausgeschriebene Abkürzung
DEL
Deleted. Kennzeichnet Text als gelöscht. Der Text erscheint oft durchgestrichen und kann mit zusätzlichen Attributen markiert werden. Suchmaschinen und andere Indizes sollten den Text nicht mehr berücksichtigen. Syntax:
[]
Attribute:
왘 CITE=grund
Grund der Löschung 왘 DATETIME=Zeitangabe Datum der Löschung INS
Inserted. Kennzeichnet Text als eingefügt. Der Text erscheint oft unterstrichen und kann mit zusätzlichen Attributen markiert werden. Suchmaschinen und andere Indizes sollten berücksichtigen, dass der Text neu ist. Syntax:
[ ]
Attribute:
왘 CITE=grund
Grund der Einfügung 왘 DATETIME=Zeitangabe
Datum der Einfügung SPAN SPAN hat selbst keine Funktion, außer einen generischen Container für Cascading Style Sheets und allgemeine Attribute wie LANG oder DIR zu bilden.
Syntax:
<SPAN>
Attribute:
keine
Gestalterische Elemente in HTML 4 COL, COLGROUP, THEAD, TBODY, TFOOT, TABLE
Definition einer Spalte und einer Gruppe von Spalten innerhalb einer Tabelle. Kann nur in auftreten. Mit werden Spalten zu Gruppen zusammengefasst, Inhalt können nur -Tags sein. Das Tag muss nach stehen (wenn verwendet) und vor . Der Kopf-
641
B HTML-Referenz
bereich einer Tabelle kann nun mehrere Zeilen umfassen und wird mit umfasst. enthält die eigentlichen Reihen mit Daten. Sie können mehrfach anwenden. Am Ende der Tabelle kann eine Gruppe von Reihen mit umfasst werden. Der Sinn ist eine Zuweisung von Styleinformationen zu logischen Tabelleneinheiten, anstatt zu jeder einzelnen Tabelle. Syntax:
Attribute:
Mehrere Attribute für COL und COLGROUP mit folgender Bedeutung: 왘 SPAN=zahl
Anzahl der zusammengefassten Spalten 왘 WIDTH=pixel|% Breite der Spalte Die folgenden Attribute gelten für COL, COLGROUP und THEAD, TBODY und TFOOT: 왘 ALIGN=[left|center|right|justify|char]
Ausrichtung des Textes in der Spalte 왘 CHAR=zeichen
Zeichen, nach dem ausgerichtet wird 왘 CHAROFF=zahl Abstand, auf das Ausrichtungszeichen bezogen 왘 VALIGN=[top|middle|bottom|baseline] Vertikale Lage des Textes in der Spalte
642
HTML 4
BDO
Bidirectional Override. Ändert die Schreibrichtung. Deutsch verläuft normal von links nach rechts, Hebräisch von rechts nach links. Dieses Tag ändert die Richtung. Syntax:
Attribute:
DIR=ltr|rtl. Richtung, ltr=left to right, rtl=right to left LANG=Sprachcode. en, de usw.
Elemente für Frames FRAMESET, FRAME, IFRAME und NOFRAME
Ein Frameset definiert eine Gruppe von Frames. Frames sind rechteckige Unterteilungen des Browserfensters. Jede Unterteilung hat eine eigene Datenquelle (HTML-Datei oder Skriptdatei). Syntax:
...
Attribute:
Folgende Attribute sind in möglich: 왘 ROWS=liste
Liste mit Werten, die Anzahl und Grö ß e der Reihen dieses Sets definieren. Möglich sind Pixelwerte, Prozentwerte oder * für den Rest. Für jeden Wert der Liste muss ein definiert werden. Kann nicht gleichzeitig mit COLS auftreten. 왘 COLS=liste Liste mit Werten, die Anzahl und Grö ß e der Spalten dieses Sets definieren. Möglich sind Pixelwerte, Prozentwerte oder * für den Rest. Für jeden Wert der Liste muss ein definiert werden. Kann nicht gleichzeitig mit ROWS auftreten. 왘 ONLOAD=script Skript wird ausgeführt, wenn alle Frames geladen wurden. 왘 ONUNLOAD=script Skript wird ausgeführt, wenn alle Frames entladen wurden.
643
B HTML-Referenz
Jedes -Tag und <IFRAME>-Tag kennt diese Attribute: 왘 NAME=name
Name des Rahmens, dient als Referenz für TARGET (siehe unten). 왘 SRC=URL Quelle, URL der HTML-Datei, die im Rahmen dargestellt werden soll. 왘 LONGDESC=string Ausführliche Beschreibung. 왘 MARGINWIDTH=pixel Breite des Randes (links, rechts) im Inneren des Frames zum Text. 왘 MARGINHEIGHT=pixel Höhe des Randes (oben, unten) im Inneren des Frames zum Text. 왘 NORESIZE Der Frame kann nicht in seiner Grö ß e verändert werden. Andernfalls können die Ränder mit der Maus angefasst und gezogen werden. 왘 SCROLLING=[yes|no|auto] Verhalten beim Scrollen. Wenn der Text zu groß für das Fenster ist, erscheinen Rollbalken (auto). Bei yes erscheinen diese Balken immer, bei no niemals. 왘 hat keine Attribute. Besonderheiten des Internet Explorers (ab Version 4): 왘 FRAMESPACING=pixel
Abstand zwischen den Frames 왘 FRAMEBORDER=[1|0] Mit oder ohne Rand Besonderheiten bei Netscape: 왘 <IFRAME>
wird nicht unterstützt 왘 BORDER=pixel
Rand in Pixel 왘 BORDERCOLOR=#RRGGBB
Randfarbe Einige Elemente, die Links steuern (, , , ) kennen nun das Attribut TARGET=frame. Damit können Links gezielt in ein bestimmtes, benanntes Frame eines Framesets zeigen.
644
HTML 4
OBJECT OBJECT wurde vor allem eingeführt, um die proprietären Erweiterungen (IExplorer) und <EMBED> (NS2, IE3) zu vereinheitlichen. Ebenso können aber auch die Spezial-Tags und <APPLET> ersetzt werden.
Syntax:
...
Attribute:
Die folgenden Attribute sind für zulässig:
Attribut
Beschreibung
CLASSID=URL
Klassen –ID
ARCHIVE=daten
Komprimierte Archivdatei
CODEBASE=URL
Basisadresse für CLASSID, DATA, ARCHIVE
WIDTH=pixel
Breite
HEIGHT= pixel
Höhe
NAME=string
Name für Referenzen
USEMAP=URL
MAP für anklickbare Bereiche
TYPE=type
Typ
CODETYPE=inhalt
Codetyp
STANDBY=string
Text während der Ladezeit
TABINDEX=zahl
Index für den Tabulator
DECLARE
Nicht instanziiertes Objekt
ALIGN=[top | middle | bottom | left | right]
Ausichtung
BORDER=pixel
Randbreite
HSPACE=pixel
Horizontaler Leerraum
VSPACE=pixel
Vertikaler Leerraum hat nur zwei Attribute: 왘 NAME=string
Name des Parameters (vom Objekt abhängig) 왘 VALUE=string Wert des Parameters (vom Objekt abhängig) Q
Quotation. Die kurze Form des Tags , vor allem für den Gebrauch innerhalb eines fließenden Textes. Syntax:
Attribute:
CITE=URL Quelle des Zitates (Woher der Text stammt)
645
B HTML-Referenz
S
Strike. Durchgestrichener Text. Besser unterstützt ist <STRIKE>, eine Netscape-Erweiterung, die auch alle anderen Browser unterstützen. Kann benutzt werden, um auch Browser zu bedienen, die nicht unterstützen. Syntax:
<S>
Attribute:
keine
Formularelemente in HTML 4 BUTTON
Das Element stellt einen Schalter dar. Syntax:
Attribute:
Mehrere Attribute mit folgender Bedeutung:
NAME=CDATA VALUE=CDATA TYPE=[ submit | reset | button ] DISABLED ACCESSKEY=Character TABINDEX=Number
(ÿ)
ONFOCUS=Script ONBLUR=Script FIELDSET, LEGEND
Definiert eine Gruppe von Formularfeldern, die logisch zusammengehören und durch einen gemeinsamen Namen bedient werden sowie von einem Rahmen umgeben sind. Erscheint nur innerhalb . Sie können für Felder und Label das Attribut ACCESSKEY verwenden. Syntax:
....
Attribute:
FIELDSET selbst hat keine Attribute. Die Benennung jeder einzelnen Gruppe erfolgt mit dem Tag . Die Attribute für im Einzelnen: 왘 ALIGN=top|bottom|left|right
Ausrichtung des Feldnames relativ zum . Die Attribute für :
646
Cascading Style Sheets - CSS 왘 FOR=name
Der name assoziiert das Feld mit dem Label. 왘 ONFOCUS=Script
Skript, das ausgeführt wird, wenn der Schalter den Fokus bekommt. 왘 ONBLUR=Script Skript, das ausgeführt wird, wenn der Schalter den Fokus verliert. Dieses Attribut gilt für und : 왘 ACCESSKEY=zeichen
Ein Zeichen, das in Kombination mit der (Alt)-Taste den Fokus auf die Gruppe oder das Feld setzt. OPTGROUP (SELECT, OPTION)
Dieses Element ist eine Erweiterung des <SELECT>-Tags. Es lassen sich jetzt auch innerhalb von Listen Gruppen bilden. Vorher wurden oft Blindeinträge gesetzt und mit JavaScript herausgefiltert. Syntax:
<SELECT>
Attribute:
Folgende Attribute sind innerhalb des Elements zulässig. Neu sind beide Attribute auch für das Element : 왘 LABEL=string
Name der Gruppe 왘 DISABLED Eintrag gesperrt
B.3
Cascading Style Sheets - CSS
B.3.1
CSS – Klassenübersicht
왘 Font-Eigenschaften 왘 Eigenschaften der Farben und Hintergründe 왘 Text-Eigenschaften 왘 Box-Eigenschaften 왘 Klassifizierungs-Eigenschaften
647
B HTML-Referenz 왘 Positionierungs-Eigenschaften 왘 Druck-Eigenschaften 왘 Filter-Eigenschaften 왘 Pseudoklassen und andere Eigenschaften
B.3.2
Die CSS-Referenztabellen
Diese Übersicht über CSS listet alle zulässigen Attribute und deren Abhängigkeiten auf. Für die Anwendung finden Sie in Kapitel 5 Hinweise. Hinweis
Styleanweisungen, die in den folgenden Tabellen kursiv gesetzt sind, ersetzen Sie durch einen entsprechenden Wert, beispielsweise family-name durch „Sans Serif“. Nichtkursive Anweisungen sind dagegen unverändert als Parameter zu verwenden. Font-Eigenschaften Diese Elemente kontrollieren die Typografie: Vererbbar?
Attribute
Zulässige Werte
Beispiel
Wirkt auf
fontfamily
[ [ family-name | genericfamily ], ]* [ family-name | generic-family ]
{ font-family: Verdana, „MS Sans Serif“; }
alle Elemente
Ja
font-style
normal | italic
{ font-style:italic; }
alle Elemente
Ja
fontvariant
normal | small-caps
{ font-variant:small-caps: }
alle Elemente
Ja
font-weight
normal | bold
{ font-weight:bold; }
alle Elemente
Ja
fontsize
[ xx-large | x-large | large { font-size:12pt; } | medium | small | x-small | xx-small ] | [ larger | smaller ] | percentage | length
alle Elemente
Ja
font
[ font-style || font-variant || font-weight ] ? fontsize [ / line-height ] ? font-family
{ font: bold 12pt Arial; }
alle Elemente
Ja
@font-face
font-family: font-family; src:url(url)
@font-face { font-family: CoolFont; src:url (http:// myserver.com /CoolFont.eot); }
alle Elemente
-
648
Cascading Style Sheets - CSS
Eigenschaften der Farben und Hintergründe Diese sieben Eigenschaften kontrollieren die Farben der Elemente und steuern den Hintergrund: Vererbbar?
Attribute
Zulässige Werte
Beispiel
Wirkt auf
Color
color
{ color:salmon; }
alle Elemente
Ja
Backgroundcolor
color | transparent
{ backgroundcolor:crimson; }
alle Elemente
Nein
Backgroundimage
url | none
{ backgroundimage:url(bgWood.jpg); }
alle Elemente
Nein
Backgroundrepeat
repeat | repeat-x | repeat-y | Nein-repeat
{ background-repeat:Neinrepeat; }
alle Elemente
Nein
Backgroundattachment
scroll | fixed
{ background-attachment:fixed; }
alle Elemente
Nein
Backgroundposition
[ position | length ] | {1,2} | [ top | center | bottom ] || [ left | center | right ]
{ background-position: top center;}
block-level und ersetzte Elemente
Nein
Background
transparent | color || url || repeat || scroll || position
{ background: silver alle url(bgRock.jpg) repeat-y } Elemente
Nein
Text-Eigenschaften Ausrichtung, Abstände und Formatierung von Text werden mit diesen Elementen gesteuert:
Wirkt auf
Vererbbar?
Attribute
Zulässige Werte
Beispiel
letter-spacing
normal | length
{ letter-spacing:2pt; }
Ja
text-decoration
none | underline | overline | line-through
{ text-decoration: underline; }
Nein
verticalalign
sub | super |
{ vertical-align:sub; }
inline elements
Nein
text-transform
capitalize | uppercase | lowercase | none
{ text-transform: lowercase; }
alles
Ja
text-align
left | right | center | ju- { text-align:center; } stify
block-level elements
Ja
text-indent
length | percentage
{ text-indent:20px; }
alles
Ja
line-height
normal | number | length | percentage
{ line-height:5pt; }
alles
Ja
649
B HTML-Referenz
Box-Eigenschaften Boxen oder Blöcke lassen sich als Einheit betrachten und mit diesen 32 Elementen kontrollieren:
Zulässige Werte
margin-top
length | percentage | auto { margin-top:5px; }
block-level and replaced elements
Nein
marginright
length | percentage | auto { margin-right:5px; }
block-level and replaced elements
Nein
marginbottom
length | percentage | auto { margin-bottom:1em; }
block-level and replaced elements
Nein
margin-left
length | percentage | auto { margin-left:5pt; }
block-level and replaced elements
Nein
margin
length | percentage | auto {1,4}
{ margin: 10px 5px 10px 5px; }
block-level and replaced elements
Nein
padding-top
length | percentage
{ padding-top:10%; }
block-level and replaced elements
Nein
paddingright
length | percentage
{ padding-right:15px; }
block-level and replaced elements
Nein
paddingbottom
length | percentage
{ padding-bottom:1.2em; }
block-level and replaced elements
Nein
paddingleft
length | percentage
{ padding-left:10pt; }
block-level and replaced elements
Nein
padding
length | percentage {1,4}
{ padding: 10px 10px 10px 15px; }
block-level and replaced elements
Nein
border-topwidth
thin | medium | thick | length
{ border-top-width:thin; }
block-level and replaced elements
Nein
borderright-width
thin | medium | thick | length
{ border-rightwidth:medium; }
block-level and replaced elements
Nein
borderbottomwidth
thin | medium | thick | length
{ border-bottomwidth:thick; }
block-level and replaced elements
Nein
borderleft-width
thin | medium | thick | length
{ border-left-width:15; }
block-level and replaced elements
Nein
borderwidth
thin | medium | thick | length {1,4}
{ border-width: 3 5 3 5; }
block-level and replaced elements
Nein
border-topcolor
color
{ border-topcolor:navajowhite; }
block-level and replaced elements
Nein
borderright-color
color
{ border-rightcolor:WhiteSmoke; }
block-level and replaced elements
Nein
650
Beispiel
Wirkt auf
Vererbbar?
Attribute
Cascading Style Sheets - CSS
Vererbbar?
Attribute
Zulässige Werte
Beispiel
Wirkt auf
borderbottomcolor
color
{ border-bottomcolor:black; }
block-level and replaced elements
Nein
borderleft-color
color
{ border-leftcolor:#C0C0C0; }
block-level and replaced elements
Nein
bordercolor
color {1,4}
{ border-color: green red white blue; }
block-level and replaced elements
Nein
border-topstyle
none | dotted | dashed | solid | double | groove | ridge | inset | outset
{ border-topstyle:dashed; }
block-level and replaced elements
Nein
borderright-style
none | dotted | dashed | solid | double | groove | ridge | inset | outset
{ border-rightstyle:double; }
block-level and replaced elements
Nein
borderbottomstyle
none | dotted | dashed | solid | double | groove | ridge | inset | outset
{ border-bottomstyle:groove; }
block-level and replaced elements
Nein
borderleft-style
none | dotted | dashed | solid | double | groove | ridge | inset | outset
{ border-leftstyle:dotted; }
block-level and replaced elements
Nein
borderstyle
none | dotted | dashed | solid | double | groove | ridge | inset | outset
{ border-style:ridge; }
block-level and replaced elements
Nein
border-top
border-width | borderstyle | border-color
{ border-top: medium outset red; }
block-level and replaced elements
Nein
borderright
border-width | borderstyle | border-color
{ border-right: thick inset maroon; }
block-level and replaced elements
Nein
borderbottom
border-width | borderstyle | border-color
{ border-bottom: 10 ridge gray; }
block-level and replaced elements
Nein
border-left
border-width | borderstyle | border-color
{ border-left: 1 dotted red; }
block-level and replaced elements
Nein
border
border-width | borderstyle | border-color
{ border: thin solid blue; }
block-level and replaced elements
Nein
float
none | left | right | both
{ float:both; }
DIV, SPAN, and replaced elements
Nein
clear
none | left | right | both
{ clear:left; }
Alles
Nein
651
B HTML-Referenz
Klassifizierungs-Eigenschaften
Attribute
Zulässige Werte
Beispiel
Wirkt auf
Display
none
{ display:none; }
list-item elements list-item elements
list-style-type disk | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none list-styleurl | none image list-styleinside | outside position list-style keyword || position || url
{ list-style-type:upperalpha; }
{ list-styleimage:url(icFile.gif); } { list-styleposition:inside; } { list-style: square outside url(icFolder.gif); }
list-item elements list-item elements list-item elements
Vererbbar? Nein Ja
Ja Ja Ja
Positionierungs-Eigenschaften Neun Elemente zur Positionierung von Elementen auf der Seite:
Attribute
Zulässige Werte
Beispiel
Wirkt auf
Vererbbar?
clip
shape | auto
alles
Nein
height
length | auto
{ clip:rect(0 200 200 0); } { height:200; }
Nein
left
length | percentage | auto
{ left:0; }
overflow position
none | clip | scroll absolute| relative | static length | percentage | auto
{ overflow:scroll; } { position:absolute; }
DIV, SPAN and replaced elements absolutely and relatively positioned elements alles alles
visible | hidden | inherit length | percentage | auto Auto | integer
{ visibility:visible; }
top
visibility width z-index
652
{ top:0; }
{ width:80%; } { z-index:-1; }
absolutely and relatively positioned elements alles DIV, SPAN and replaced elements absolutely and relatively positioned elements
Nein
Nein Nein Nein
Nein Nein Nein
Cascading Style Sheets - CSS
Druck-Eigenschaften Haben Sie sich schon immer geärgert, dass ein Ausdruck der Webseite nicht em Layout entspricht? Diese Elemente kontrollieren den Druck: Vererbbar?
Attribute
Zulässige Werte
Beispiel
Wirkt auf
page-break-before
auto | always || left | right auto | always || left | right
{ page-breakbefore:always; } { page-breakbefore:auto; }
block-level elements block-level elements
page-break-after
Nein Nein
Filter-Eigenschaften Die folgenden Filter verbergen Elemente in Abhängigkeit von Eigenschaften. Die Anwendung ist nur im Zusammenhang mit Skripten sinnvoll.
Attribute
Zulässige Werte
Beispiel
Wirkt auf
Vererbbar?
Visual Filter
filtername(fparameter1,fparameter2 …) revealTrans(duration= duration, transition= transitionshape blendTrans(duration= duration)
{ filter:FlipH(enable=1) }
alles
Nein
{ filter: revealTrans ( duration=1.0, transition= 12); } { filter: blendTrans (duration = 1.5) }
alles
Nein
alles
Nein
Reveal Transition Filter Blend Transition Filter
Pseudoklassen und andere Eigenschaften @import attribute importiert ein externes Style in ein existierendes. Cursor kontrolliert den Mauszeiger und !important überschreibt die Standardkaskadierung der Styles.
Attribute
Zulässige Werte
Beispiel
@import
url(url)
@import url(mystyles.css);
cursor
auto | crosshair | default | hand | move | e-resize | neresize | nw-resize | n-resize | se-resize | sw-resize | sresize | w-resize | text | wait | help
{ cursor:hand; }
Wirkt auf style sheets alles
Vererbbar? -Ja
653
Attribute
Zulässige Werte
Beispiel
!important
!important
{ font-weight:bold!important }
active, hover, link, visited
N/A
A:hover { color:red; }
B.3.3
Wirkt auf style sheets alles
Vererbbar? -Ja
Weitere Informationen
왘 Microsoft Typography: http://www.microsoft.com/typography/ 왘 W3C Style Sheets (http://www.w3.org/Style/css) 왘 Hilfe für Webdesigner wird unter dieser Internet-Adresse versprochen:
http://www.mcp.com/hayden/internet/style/table.html.
C
Angebote im Internet
Wir hoffen, Ihnen mit diesem Buch viele Anregungen und Tipps vermittelt zu haben, die Ihnen bei der Entwicklung professioneller Websites mit FrontPage helfen. Weiterführende Informationen sind im Internet zu finden, auf die wir hier hinweisen möchten. Aufgrund der sich schnell ändernden Strukturen im Internet können sich Adressen ändern und interessante neue Seiten hinzugekommen sein. Auf der Begleit-Website zum Buch finden Sie aktuelle Links und zusätzliche Informationen, Skripte und Hilfe. Die Adresse lautet: http://www.frontpage.comzept.de
Die Website des Addison-Wesley-Verlags finden Sie unter: http://www.addison-wesley.de
C.1
Offizielle Web Sites
Die Homepage von FrontPage 2000 bei Microsoft lautet: http://www.eu.microsoft.com/germany/office/office2000/frontpage2000/default.htm
oder http://www.eu.microsoft.com/frontpage/
Die zentrale Adresse für Office-Produkte, Software-Updates und ServiceLeistungen ist: http://officeupdate.microsoft.com
C.2
Newsgroups zu FrontPage
Die Usenet-Newsgroups zu FrontPage geben Ihnen die Möglichkeit, mit anderen FrontPage-Nutzern über FrontPage zu diskutieren, Fragen zu stellen, Wissen auszutauschen oder gute FrontPage-Bücher zu empfehlen ;-): news://msnews.microsoft.com/microsoft.public.de.frontpage news://msnews.microsoft.com/microsoft.public.frontpage.client
Newsgroups zu Internet Information Server (IIS) und den Office ServerErweiterungen: news://msnews.microsoft.com/microsoft.public.frontpage.extensions.windowsnt news://msnews.microsoft.com/microsoft.public.frontpage.extensions.unix news://msnews.microsoft.com/microsoft.public.inetserver.iis
655
C Angebote im Internet
C.3
Tipps & Tricks
Angebote anderer Web-Sites mit Hinweisen, Tipps und Tricks rund um FrontPage: http://www.akademie.de/tips_tricks/index.html?thema=18 http://www.teamx.de
C.4
Englische Web Sites zum Thema
왘 FrontPage World
http://www.frontpageworld.com 왘 YCOLN FrontPage® Tips, FAQs and Solutions
http://www.ycoln-resources.com/frontpage/index.htm 왘 Venus Designs FrontPage Resources
http://www.venusdesigns.net/frontpage/ 왘 FrontPage User Group
http://www.fpug.com 왘 FrontPage Resources
http://nav.webring.com/cgi-bin/navcgi?ring=fpres;list 왘 FrontPage Stars
http://nav.webring.com/cgi-bin/navcgi?ring=fpstars;list 왘 Access FP – FrontPage Resource Centre
http://members.tripod.com/promotebusiness/ 왘 Paul’s FrontPage Resources
http://www.vineburg.com.au/paulsfpresources/Default.htm 왘 Site Crafters FrontPage Resources
http://www.sitecrafters.com/support 왘 Dynamic Net
http://www.dynamicnet.net/support/frontpage.htm
C.5
Themes (FrontPage-Designs)
http://www.themepak.com http://www.pixelmill.net http://www.dpasoftware.com http://captivations.com/theme/frontpage.htm
656
FrontPage-Add-ins
C.6
FrontPage-Add-ins
왘 Webs Unlimited – jBots 2000
http://www.websunlimited.com 왘 DPA Software – FrontLook
http://www.dpasoftware.com 왘 JustAddCommerce – E-Commerce-Tool für FrontPage
http://www.justaddcommerce.com 왘 alpha ware Michael Vorburger – KISSfp, MenuPlus
http://www.kissfp.ch 왘 StoreFront – E-Commerce Add-On
http://www.storefront.net 왘 Add-In-World – Office-Add-ins
http://www.add-in-world.com
C.7
Newsgroups zu Internet-Themen
Die folgenden Usenet-Newsgroups, die sich mit Themen dieses Buches beschäftigen, können Sie über die meisten öffentlichen Newsserver erreichen.
C.7.1
Deutschsprachige Newsgroups
de.comp.datenbanken.misc de.comp.graphik de.comp.lang.java de.comp.lang.javascript de.comp.perl de.comp.lang.perl.cgi de.comp.office-pakete.misc de.comp.os.ms-windows.misc de.comp.os.ms-windows.nt
C.7.2
Englischsprachige Newsgroups
alt.html alt.html.dhtml alt.html.editors.enhanced-html comp.infosystems.www.authoring.html comp.lang.javascript
657
C Angebote im Internet
C.8
Bildarchive
C.8.1
Online-Anbieter
http://www.digitalvisiononline.co.uk http://www.fontshop.de http://www.imagebank.com http://www.photodisc.de http://www.tonystone.de
C.8.2
Anbieter von Clip-Art-Sammlungen
http://www.corel.ca http://www.hemera.com http://www.imsi.de
C.9
Online-Recht
Rechtsanwalt Tobias Strömer – Sammlung zu Gesetzestexten, Urteilen, Kommentaren. http://www.netlaw.de
Rechtsanwalt Michael Schneider, Anwalt des eco-Forums und ICTF-Anwalt. http://www.anwalt.de
Weitere Websites http://www.tuebingen.netsurf.de/~pmayer/faq.htm http://www.thur.de/ulf/politik
C.9.1
Newsgroups
Die folgenden Usenet-Newsgroups können Sie über die meisten öffentlichen Newsserver erreichen. de.soc.zensur de.soc.netzwesen de.org.ccc
658
Suchmaschinen und Verzeichnisse
C.10 Suchmaschinen und Verzeichnisse http://www.altavista.de (auch .com) http://www.crawler.de http://www.excite.de (auch .com) http://www.eule.de http://www.fireball.de http://www.goto.com http://www.hotbot.com http://www.infoseek.com http://www.kolibri.de http://www.lycos.de (auch .com) http://www.northernlight.com http://www.web.de http://www.webcrawler.com http://www.yahoo.de (auch .com)
C.11 Software und Services Adobe – Adobe Acrobat, ImageReady, GoLive, Photoshop http://www.adobe.de AlienSkin Software – Plug-Ins Xenofex, EyeCandy http://www.alienskin.com Allaire – ColdFusion, HomeSite http://www.allaire.com Bitstream – TrueDoc Dynamic Fonts http://www.truedoc.com Browsers.com – Internet-Browser-Archiv http://www.browsers.com Business Interactive – Internet-Marketing http://www.kso.co.uk Corel Corporation – Corel Draw, PhotoPaint, Xara http://www.corel.ca CyberspaceHQ – AddWeb (Anmeldungssoftware für Suchmaschinen) http://www.cyberspacehq.com
659
C Angebote im Internet
Download.com – Shareware-Archiv http://www.download.com Fritz-Service – Anmeldung und Optimierung für Suchmaschinen http://www.fritz-service.com FTP Voyager http://www.ftpvoyager.com Globalware – CuteFTP http://www.cuteftp.com Helios Software – TextPad Text-Editor http://www.textpad.com HexMac Software Systems – Typograph (TrueDoc-Generator) http://www.hexmac.com IPswitch WS_FTP http://www.ipswitch.com Knoware – Internet Neighborhood (FTP-Client) http://www.knoware.com Macromedia – Authorware, Director, Dreamweaver, Fireworks, Flash http://www.macromedia.com/de/ MetaCreations – Kais Power Tools, Soap, Dabbler, Painter http://www.metacreations.com/de Microsoft http://www.eu.microsoft.com/germany Microsoft Typography – Schriften, OpenType, WEFT http://www.microsoft.com/typography MSW – Submit Wolf (Anmeldungssoftware für Suchmaschinen) http://www.msw.com.au Netscape Communications – Netscape Navigator http://www.netscape.com Opera Software – Opera Internet Browser http://www.opera.no PiCo http://pico.i-us.com/ Alfs Plug-In Head http://pluginhead.i-us.com Trellian Software – EuroPromote http://www.trellian.com Tucows – Shareware-Archiv http://www.tucows.com WinFiles – Shareware-Archiv http://www.winfiles.com
660
D
Die Autoren
Für Fragen und Anregungen zum Buch, aber auch für Kritik und Hinweise auf Fehler stehen Ihnen die Autoren gern zur Verfügung. Sie können auch für Vorträge, Seminare und Veranstaltungen können Sie die Autoren gern ansprechen. Steffen Kepper ist Geschäftsführer einer Berliner Online-Agentur. Zuvor arbeitete er als Projektmanager für eine der führenden Multimedia-Agenturen in Europa. Jörg Krause ist Spezialist für Anwendungssoftware und Datenbanken. Er arbeitet als freier Autor in Berlin und hat bereits zahlreiche Fachbücher veröffentlicht. Fragen und Anregungen zum Buch, aber auch für Kritik und Hinweise auf Fehler stehen sind sehr willkommen. Darüber hinaus kommen wir gerne als Referenten auf Vorträgen und Seminaren zu Ihnen. Die Autoren erreichen sie unter: 왘 http://www.joerg.krause.net 왘 http://www.epistar.com
Informieren Sie sich auf den Webseiten über weitere Angebote und praktische Unterstützung bei der Entwicklungen professioneller Webanwendungen, Datenbankprogrammierung und Design.
661
Stichwortverzeichnis :Symbole
_fpclass 585
:A
A HREF= 132 Absatzformatierung 277 Ausrichtung 277 Silbentrennung 279 Zeilenumbruch 279 Zeilenwechsel 277 Absolute Positionierung 435 Active Server Pages 41 ActiveX 40 ActiveX-Steuerelemente 464 Adobe Acrobat 328 Alternativ-Text 339 American Registry for Internet Numbers 72 Anchor 134 Anführungszeichen 117 Anker 134 Ansichtenliste 198 Anti-Aliasing 321 Antonyme 291 APNIC 72 AREA 159 ARIN 72 ARPANET 62 ASCII 313 Asia-Pacific Network Information Center 72 ASP -> siehe Active Server Pages Aufbau des Internets 59 Aufgabenverwaltung 477 Auflösung 318 Aufzählungen 147, 419 Aufzählungszeichen 419 Auschecken 247 Ausrichtung in Tabellen 387 AVI-Video 463
:B
Backslash 133 Bannernetzwerke 108 Bannertauschprogramme 107 BASEFONT 126 Basisadresse 35 Basisfont 126 Befreiungslink 100 Behinderte 317
Benutzervariablen -> siehe Meta-Informationen Benutzerwörterbuch 289 Berichte Alle Dateien 359 Ältere Seiten 352 Spalten anpassen 359 Spaltenbreite anpassen 359 Unterbrochene Hyperlinks 359 Unverknüpfte Dateien 357 Veröffentlichungsstatus 367 Betatest 366 Betriebssysteme Amiga 310 BeOS 310 DOS 311 erlaubte Zeichen 311 FreeBSD 237 Linux 237 MacOS 310 MS-DOS 311 OS/2 310 Unix 237 Windows 310 Windows 3.11 311 BIG 128 Bilddatenbanken 337 Bildeditoren konfigurieren 339 Bildeigenschaften 338 Bilder 135 Abstände 340 ausrichten 339 beschneiden 345 Bildgröße einstellen 340 Farben anpassen 344 in FrontPage bearbeiten 341 kippen 343 Miniaturvorschau 342 mit Texten versehen 341 nach Zeitplan einschließen 451 rotieren 343 Seitenverhältnis 340 Übergangseffekte 452 umwandeln 338 vorbereiten 336 Bildlaufleisten 416 Bildschirmauflösung 318 Bildschirmtastatur 317 Body 254 BR 122 Broadcast 71
664
Broadcast-Adresse 71 Browser HotJava 315 Internet Explorer 315 Lynx 317 Opera 315 Browserprobleme 175
:C
Cache 265 CAPTION 152 Cascading Stylesheets 166, 423 case-sensitive 311 ccTLD 63 CENTER 123 CGI 57, 442 Chat 110 ClipArt-Sammlungen 337 Common Gateway Interface -> siehe CGI CompuServe 330 Corporate Design 320 Country Code Top-Level Domain 63 CSS -> siehe Cascading Stylesheets
:D
Dateien ein- und auschecken 248 in Webs importieren 235 löschen 197 umbenennen 197 verborgene 242 verschieben 197 Dateiformate, andere 462 Dateinamen, Groß- und Kleinschreibung 258 Dateitypen 259 Datenbankfunktionen 584 Definitionen 421 Department of Defense 62 Designregeln 99 Designs anpassen 346 Design-Time-Controls 584 DHTML -> siehe Dynamic HTML Digitalkamera -> siehe Scannen Dithering 136, 320 DIV 176 DoD 62 Downloaddauer 322 Draft 66 Dynamic Fonts 312 Embeddable OpenType 312 TrueDoc 312 Dynamic HTML 424 Dynamisches HTML 178
Stichwortverzeichnis
:E
Einchecken 247 Eingabehilfen 317 Electronic-Mail 60 E-Mail 60 E-Mail-Protokolle, POP3 90 Entwurfszeit-Steuerelemente 466 Ersetzen, webweit 352 ESMTP 87 Excite 106 Experimental 66 Extranet 62
:F
Fallen in HTML 117 FAQ 211 Farbcodierung 28 Farbe 120 auswählen 283 Hexadezimalcode 284 Text 282 websichere Farben 283 Farbmodell 284 Farbtiefe 319 Fehler-Checkliste 351 File Transfer Protocol 60, 81 Authentifizierung 82 Datenstruktur 84 Kommandos 81 Statuscodes 84 File Transfer Protocol -> s. FTP Firmenpräsenzweb 213 FONT 126 FORM 140 Formulare 139, 391 Behandlungsroutinen 393 Beschriftung 399 Bild 407 Dropdownmenü 404 Kontrollkästchen 401–402 Optionsfeld 403 Schaltfläche 405–406 Skripte aufrufen 393 Textfeld mit Bildlauf 400 Textfelder 399 Verborgene Felder 398 fpdbform.inc 585 fpdblib.inc 585 fpdbrgn1.inc 585 Frames 161 Abstand 417 ältere Browser 414 Eigenschaften 415 Framesseite 417 Grö ß e 415
Stichwortverzeichnis
Hyperlinks 417 Rahmen 417 Zielframes 417 FRAMESET 164 Frameset 411 FrontPage_StartSession 586 FrontPage-Designs 346 FrontPage-Erweiterungen Sharepoint-Verwaltung 47 Virtueller Server 45 Vorbereitung 43 FrontPage-Komponenten 39, 441–442 ActiveX 40 Anzeigenwechsler 451 ASP 41 Datum und Uhrzeit 458 Eigenschaften anpassen 443 Entwurfszeit 41 Ersetzen 457 Hoverschaltfläche 452 HTML 41 HTML-Markup 460 Inhaltsverzeichnis 443 Java 40 Kommentar 457 Nach Zeitplan einschließen 450 Navigationsleisten 446 Office Chart 455 Office-Komponenten 453 Pivot Table 455 Seiten einschließen 449 Seitenbanner 448 Suchformular 445 Übersicht 39 Zugriffszähler 456 FTP 60, 81, 305 Passiver Modus 84 Transfer-Modus 84
:G
Gästebücher 110 Gemeinsame Randbereiche 449 General-Header-Fields 79 Geschachtelte Nachrichten 96 GIF 135, 330 animierte 332 Farbpalette 331 Interlacing 331 Transparenz 331 Transparenz festlegen 345 unsichtbare 138 Glätten 321 global.asa 585 gopher 305 Graphic Interchange Format -> siehe GIF
665
Grundbegriffe 58 Gateways 59 Internet 59 PoP 59 Provider 59 Router 59 Gültigkeitsprüfung 392
:H
H1...H6 129 Handys 311 Hauptbenutzernamensliste 479 Head 254 Hilfslinien 389 Hintergrund, Eigenschaften 262 Hintergrundbilder 137 Hintergrundsound 261 Hits 325 HR 125 HTML 60, 115 Code strukturieren 273 Einführung 115 Farbcodierung 28 Version 3.2 253 HTML pur 119 HTML-Formulare 139 HTML-Tags Attribute 254 blink 288 blockquote 278 body 254 br 277 Definition 253 Head 254 p 277 tt 288 Überschriften 280 HTML-Tags -> siehe Tags HTTP 76 Hyperlinkansicht 207 Hyperlinks 132, 306 absolute 256 externe 361 relative 256 unterbrochene 209 webübergreifend ersetzen 361 Hypertext 252 Hypertext Transfer Protocol 76 Message-Header 78 Statuscodes 78
:I
IANA 63, 72 ICANN 63 Image Maps 159 Importliste 236
666
Indexseite 99 Inhaltsverzeichnis 443–444, 451 INPUT 142 International Organization for Standardization 63 Internet Assigned Number Authority 63 Internet Assigned Numbers Authority 72 Internet Corporation for Assigned Names and Numbers 63 Internet Protocol Broadcast 69 Datagramm 68 Fragmentierung 68 Multicast 69 Subnetze 70 Unicast 69 Internet Protocol Suite 62 Internet Protocol Version 4 69 Internet Protocol Version 6 70 Internet Relay Chat 61 Internetzugang DSL 321 Geschwindigkeit 321 Intranet 61 IP 75 IP-Adressen, Adressversionen 69 IPS 62 IPv4 69 IPv6 70 IRC 61 ISAPI 58 ISO 63 ISO/OSI-Referenzmodell 63
:J
Java-Applets 461 JavaScript 242 Joystick 317 JPEG 136, 333 Optimierungsdurchläufe 339 progressive 334 Qualität 339
:K
Kategorien 478 erstellen 479 Laufschrift 459 verwalten 479 Klasse-A-Netz 71 Klasse-B-Netz 71 Klasse-C-Netz 71 Klasse-D-Netz 71 Kodak PhotoCD -> siehe PhotoCD Kommentar 224 Kundenbindung 109
Stichwortverzeichnis
:L
Layer 435 Leerzeichen 273 LI 148 Linien 125 horizontale 125 Links 132, 252 Listen 147, 418 Aufzählungen 419 Definitionen 421 geordnete 419 Nummerierungen 420 ungeordnete 419 Lizenzbestimmungen 337 Lizenzen 355 Loopback 71
:M
Mailinglisten 109 Markenrecht 355 Marketing-Mix 102 Masterkategorienliste 479 Mehrautorenumgebung 479 Mehrbenutzersystem 247 Meta-Informationen 264, 271 Generator 264 ProgId 264 META-Tags 99 MIME 92 MIME-Typen 92 Miniaturvorschau 342 Modemgeschwindigkeit 321, 363
:N
Navigation Baumstruktur 447 lineare 447 Navigationsansicht 202 Seiten löschen 223 Übersicht 475 Navigationsleiste 203 Network News Transfer Protocol 96 Netzwerkklassen 70 News, Threadverfolgung 98 NNTP 96 NNTP-Protokoll -> siehe Usenet News Normalansicht 195 NSAPI 58 Nummerierungen 420
:O
Oberfläche anpassen 25 Oktett 69 OL 149 Online-Marketing 101
Stichwortverzeichnis
Online-Verkauf 102 Optimieren für Behinderte 317 für Browser 314 Hardware 318 Seitengrö ß e 321 Websites 310 Ordner im Web verschieben 238 in Webs importieren 235 löschen 197 neu erstellen 197 umbenennen 197 verborgene 242 vereinheitlichen 194 verschieben 197 Ordneransicht 193
:P
P 123 Palmtops 311 PDF 335 PDF -> s. Adobe Acrobat Perl 57 PhotoCD 336 Plug-Ins 462 PNG 335 Port 73 Port- und Protokollnummern 73 Portbezeichnung 74 Positionierung 435 PRE 123 Proposed Standard 66 Protokoll, verbindungsloses 76 Protokollnummern 75
:Q
Quellcodekontrolle 247 Quellenverweis 355
:R
Randbereiche 449 Rasterung 136 Rechtliche Aspekte 355 Rechtschreibprüfung Benutzerwörterbuch 290 manuelle 290 während der Eingabe 289 webweite 356 Relative Positionierung 435 Request For Comments 66 Stufen 66 Request-Header-Fields 79 Reseau IP Europeens 72 Reservierte Adressen 71 Response-Header-Fields 79
667
RFC 66 RFC 1036 98 RFC 1350 81 RFC 1939 90 RFC 1945 76 RFC 1957 90 RFC 2045 92 RFC 2046 92 RFC 2077 94 RFC 2236 71 RFC 2821 87 RFC 2980 96 RFC 822 92 RFC 850 98 RFC 913 81 RFC 959 81 RFC 977 96 RGB-Format 121 RIPE NCC 72 Robot 100 Rollover 303
:S
Scannen 336 Schichtenmodell 64 Schlüsselworte 99 Schrift Dynamic Fonts 312 Farben 282 formatieren 126 plattformübergreifend 312 Schriftarten 281 Schriftgrade 282 Schriftschnitte 282 Sonderzeichen 313 TrueDoc 312 Seiten Dateinamen 258 für verschiedene Plattformen 310 kennzeichnen 367 neu erstellen 196, 257 speichern 258 Titel 258 Seitenabrufe -> siehe Hits Seitenbanner 448 Seitencodierung 243 Seiteneigenschaften 417 allgemeine 261 Codierung 269 Farben 268 Hintergrund 262 Sprache 269 übernehmen 269 Variablen 271 Seitenoptionen 26 SELECT 142
668
Selektoren 427 Server Side Includes -> s. SSI Server, Startseite 195 SharePoint-Verwaltungssite 47 Shockwave 318 Simple Mail Transfer Protocol 87 Sitzungslose ASP-Seiten 604 Skriptcodes, Farbcodierung 28 Skript-Editor 601 Skriptgliederung 603 Skriptingplattformen 36 Skriptsprache 242 Slideshows 265 SMALL 128 SMTP 87 Socket 73, 75 Sonderordner 248 Sonderzeichen 131, 313 geschütztes Leerzeichen 274 NBSP 274 Spalten 379 SPAN 176 Spider 265 Spracheinstellung 289 Sprachen 289 festlegen 289 SSI 442 Standard-ASCII-Tabelle 131 Standardweb 195 Startseite, Standardnamen 358 STRIKE 129 Strukturbaum 205 STYLE 166 Stylesheets 423 anpassen 430 definieren 428 eingebettete 427 externe 426 Inline-Stylesheets 427 Positionierung 435 Selektoren 427 Typen 426 verknüpfen 426 SUB 130 Subnetze 70 Subnetzmaske 70 Suchbegriffe anpassen 366 Suche, webweite 352 Suchfunktion 445 Suchmaschinen 105 SUP 130 Symbolleisten 22 anpassen 23 Synonyme 291 Systemvariablen -> s. Meta-Informationen
Stichwortverzeichnis
:T
Tabelle 150 Abstände 380 anlegen 379 bearbeiten 383 Dokumentvorlagen 390 Eigenschaften 388 einfügen 379 formatieren 388 markieren 383 Rahmen 380 umwandeln 389 zeichnen 381 Zellen formatieren 387 Zellen verbinden 384 Tabellenattribute 155 Tabellenüberschrift 152 TABLE 151 Tabstopp 273 Tags 253 Tastatureinstellung 243 TCP, Kapselung der Daten 65 TCP/IP 75 TD 151 Telnet 60, 305 Text aus anderen Anwendungen 276 ausschneiden 275 einfügen 276 in Tabellen umwandeln 390 kopieren 276 löschen 275 markieren 275 verschieben 276 Text und Ausrichtungen 121 TEXTAREA 143 Textfelder 143 Textmarken #top 306 Textstrukturierung 154 TH 151 Thesaurus 291 Thread (NNTP) 98 TIFF 335 Tippfehler 366 TR 151 Transaktionen aktivieren 604 Transmission Control Protocol Multiplexing 73 Typografie 328
:U
Überschriften 280 UL 148 Umlaute 131 Unterbaum 477
Stichwortverzeichnis
Unterschneidung -> siehe Zeichenabstand Unterwebs 199 veröffentlichen 238 Urheberrecht 355 Usenet News 305
:V
VBScript 242 Vektorgrafiken ClipArt 293 WMF 294 Versteckte Felder 145 Verzeichnisstruktur 248 Video 463 Virtuelle Server 112 Visual InterDev 20, 602 Vorschauansicht 195 Vorschaumodus 212
:W
wais 305 Web-Assistenten 213 WebBots -> siehe FrontPage-Komponenten Webcrawler 107 Webimport-Assistent 231 Web-Management 471 Webs als Unterwebs importieren 237 Assistenten 213 Dateien importieren 235 Diskussionsweb 225 erstellen 190 Firmenpräsenzweb 213 FrontPage-Ordner 193 konfigurieren 240 konvertieren 199
669
Kundenunterstützungs-Web 210 Optionen 241 Ordner importieren 235 Parameter 244 planen 471 schließen 200 Seiten importieren 231 Struktur 193 strukturieren 476 synchronisieren 367 Unterwebs 199 veröffentlichen 368 Verzeichnisstruktur 248 Vorlagen 200 Webseitengestaltung 99 WebTV 311 Webvorlagen 200 Leeres Web 201 Persönliches Web 201 Wechsel 277 Werbenetzwerke 108 Werbung 105 Windows Meta File -> siehe Vektordateien World Wide Web 60 WWW 60
:Y
Yahoo 107
:Z
Zeichenabstand 431 Zeilen 379 Zellen 386 Zielobjekt 209 Z-Ordnung 435 Zugriffsberechtigungen 246