Dokumentation Web – Interface

Werbung
Dokumentation Web – Interface
Komplexe Softwaresysteme
Lars Weger, Bastian Kirchner
Fachbereich Informatik
Universität Rostock
Eingereicht am 02.9.2003
Inhaltsverzeichnis
1.
Allgemeines
1.1. Einführung, Vorbereitung, Anforderungen, Kontext
1.2. Umsetzung
1.2.1. Hard- und Software
1.2.2. Applikation
2.
Nutzerdokumentation
2.1. Anmeldung
2.2. Nutzerdatenbank
2.3. Modul Abkürzungsdatenbank
2.4. Modul Personendatenbank
2.5. Modul Glossardatenbank
3.
Entwicklerdokumentation
3.1. Sicherheit
3.2. Modulspezifikationen
3.2.1. Anmeldung
3.2.2. Abkürzungsdatenbank
3.2.3. Glossardatenbank
3.2.4. Personendatenbank
3.3. Datenbankspezifikation
3.4. Layout
3.5. Dateiliste
2
1. Allgemeines
1.1. Einführung, Vorbereitung und Anforderungen
Das Projekt WWR (Wissenswerkstatt Rechensysteme) hat als Zielstellung die Erstellung von
ca. 150 multimedialen, multidimensionalen Lehr- und Lernmodulen aus dem Bereich der
technischen Informatik. Bei dem Vorhaben handelt es sich um ein Verbundprojekt des BMBF
(Bundesministerium für Bildung und Forschung), an dem 12 deutsche Hochschulen beteiligt
sind.
Die zu erstellenden Module sollen sich dabei in den drei Dimensionen
•
Intensität,
•
Ausgabemedium und
•
Zielgruppe
skalieren lassen.
Hinsichtlich der Intensität sind eine einführende (Basis-), eine erweiterte sowie eine
vertiefende (Experten-) Version vorgesehen. Als Ausgabemedium werden eine OnlineVariante auf Grundlage von XHTML für Selbstlerner, eine druckfähige Fassung (Skript) im
PDF-Format sowie Folien für die Präsenzlehre im MS-Powerpoint-Format abgedeckt. Die
Zielgruppe umfasst Lernende und Lehrende mit ihren spezifischen Anforderungen.
Für Selbstlerner-Szenarien existiert eine flexible, austauschbare didaktische Struktur, um den
Lehrstoff optimal an dieses Einsatzgebiet anzupassen.
Zur Umsetzung der oben genannten Aspekte wurde eine auf XML basierende Sprache
entwickelt, die es erlaubt, alle Dimensionen eines Moduls innerhalb einer einzelnen
Beschreibung seiner selbst zu formulieren.
Die Realisierung der konkreten Ausprägung eines Moduls mit den gesetzten Parametern
Intensität, Ausgabemedium und Zielgruppe erfolgt halbautomatisch überwiegend unter
Verwendung der XSL (Extensible Stylesheet Language), einer Sprache zur Umwandlung von
XML - Formaten in andere textbasierte Ausgabeformate, z.B. HTML.
Im Zusammenhang mit der Umsetzung der Ausgabe der WWR-Lehr-/Lernmodule werden
unterschiedliche Datenbanken benötigt. Konkret sind dies eine Personen-, eine Abkürzungsund eine Glossar-Datenbank. Diese dienen dazu, die korrespondierenden Verzeichnisse
3
(Personen-, Abkürzungs- und Glossarverzeichnis) in der Modulausgabe automatisch zu
generieren. Aufgrund der großen Anzahl der Modulersteller sollen durch die zentrale
Datenhaltung Redundanzen vermieden sowie durch Wiederverwendung bereits vorhandener
Einträge die Umsetzung der Module effizienter gestaltet werden.
Die Verwaltung der gehaltenen Daten soll auf einfachem Wege über einen Web Browser
möglich sein.
Im Rahmen des KSWS-Praktikums waren zu diesem Zweck folgende Teilaufgaben zu lösen:
1. Realisierung eines Datenbankentwurfs für die genannten Datenbanken,
2. Konzipierung und Realisierung einer einfach zu bedienenden Benutzerschnittstelle auf
Grundlage von HTML-Formularen zur Datenerfassung,
3. Konzipierung und Implementierung der web-server-seitigen Software-Komponenten
zur Datenbankanbindung sowie zur Verwaltung der Datenbestände.
Für die Datenverwaltung sind im Einzelnen folgende Funktionen bereitzustellen:
•
Anzeigen von Datensätzen,
•
Einfügen neuer Datensätze,
•
Ändern von Datensätzen,
•
Löschen von Datensätzen.
Um eine gewisse Grundsicherheit des Systems zu gewährleisten und beabsichtigte sowie
unbeabsichtigte Manipulationen einzuschränken, sind eine Nutzerauthentifikation und ein
Session Management zu implementieren. Des Weiteren soll eine einfache Rechteverwaltung
in der Weise umgesetzt werden, dass authentifizierte Nutzer lediglich ihre eigenen Daten
ändern oder löschen können.
Für die Durchführung der Aufgabe soll die folgende Software verwendet werden:
•
Apache Web Server,
•
MySQL als Datenbank-Server,
•
PHP als Apache-Modul oder per CGI eingebunden zur Datenbankanbindung, zur
dynamischen Generierung der Seiten der Nutzerschnittstelle sowie zur Umsetzung
der weiteren Programmlogik.
4
1.2. Umsetzung
1.2.1. Hard- und Software
Im Rahmen des KSWS–Praktikums wurde ein Webinterface für eine Abkürzungs-, Glossarund Personendatenbank als Client–Server–Applikation entwickelt. Als Webserver kam ein
Apache Webserver Version 2.0.46 mit PHP Version 4.3.2 und MYSQL Version 3.23.38 zum
Einsatz. Andere Versionen dieser Software konnten im Rahmen des Praktikums nicht getestet
werden. Es wurden HTML, Java Script sowie CSS verwendet. Zu Entwicklungs- und
Testzwecken wurde der Webserver auf folgenden Umgebungen eingesetzt:
•
Intel Pentium 4, 1.8 GHz, 640 MB RAM, Windows XP Home Edition
•
Intel Pentium 4, 2.5 GHz, 512 MB RAM , Windows XP Professional Edition
•
Intel Pentium 3, 500 MHz, 256 MB RAM, Windows 2000
•
Intel Pentium 4, 2 GHz, 1 GB RAM, Windows 2000
•
AMD Athlon, 1.2 GHz, 256 MB RAM, Windows 2000
Als User–Frontend wurden eingesetzt:
•
Microsoft Internet Explorer Version 5
•
Microsoft Internet Explorer Version 6
•
Netscape Communicator 7
•
Mozilla 1.4
1.2.2. Applikation
Das Web-Interface bietet einen Datenbankzugriff, der auf Einzel-User-Rechten basiert.
Für Standard-User sind alle Datenbanken mit Ausnahme der Datenbank der
Webinterfacenutzer sichtbar. Der Administrator erhält zusätzlich Vollzugriff auf die
Nutzerdatenbank. Schreib- und Leserechte werden vom Administrator vergeben. Es gibt
genau einen Administrator. Er besitzt den Benutzernamen „admin“.
Jede Veränderung der Datenbank durch einen Benutzer wird in Logdateien protokolliert,
anhand derer jede Aktion eindeutig nachvollzogen werden kann. Neben der Protokollierung
nach Datum und Uhrzeit erfolgt auch eine separate Aufzeichnung der Aktionen jedes Nutzers.
Eine Auflistung und Beschreibung der Module des Web-Interface befindet sich in Teil 3
dieser Dokumentation.
5
2. Nutzerdokumentation
2.1. Startscreen und Einloggen
Nach Aufruf des Webinterfaces erscheint der Anmeldebildschirm (Bild 1).
Bild 1: Anmeldebildschirm
Nachdem Benutzername und Passwort korrekt eingegeben und der Button „Anmelden“
betätigt wurde, erscheint der Willkommensbildschirm (Bild 2).
Bei falschem Benutzernamen / Passwort werden die Eingabefelder gelöscht und die Eingabe
kann wiederholt werden. Die Anzahl der Versuche wurde nicht eingeschränkt.
Bild 2: Willkommenbildschirm Standartbenutzer
Der Benutzer wird über seine Zugriffsrechte auf die Datenbanken informiert. Über die linke
Navigationsleiste kann nun eine Datenbank angewählt werden. Je nach Rechten kann ein
Eintrag hinzugefügt, nach einem Eintrag gesucht oder der Inhalt angezeigt werden. Dies wird
ausführlich in den folgenden Abschnitten beschrieben.
6
2.2. Nutzerdatenbank (nur für den Administrator)
Dem Administrator wird nach dem Einloggen das Interface der Nutzerdatenbank angezeigt
(Bild 3). Von hier aus kann er Nutzer anlegen, löschen oder deren Rechte verändern.
Der Startbildschirm des Nutzerdatenbank-Interfaces zeigt neben der Gesamtanzahl die Rechte
der in der Datenbank gespeicherten Nutzer an. Es werden höchstens fünf Einträge pro Seite
angezeigt. Weiterhin sind jedem Nutzer die Symbole
Pfeilsymbole
und
zugeordnet. Über die
kann bei Bedarf beliebig vor und zurück geblättert werden.
Bild 3: Willkommensbildschirm Administrator
Neuen Nutzer anlegen
Mittels des Symbols
kann ein neuer Nutzer angelegt werden. Es erscheint ein
entsprechender Dialog, in welchem Nutzername, Passwort sowie die Rechte für jede einzelne
Datenbank einzugeben sind.
Nutzer entfernen
Über das ihm zugehörige Symbol
wird der entsprechende Nutzer gelöscht.
Nutzerrechte verändern
Mit Hilfe des Symbols
können die Rechte eines Nutzers sowie dessen Name verändert
werden. Es wird ein entsprechender Dialog angezeigt.
7
2.3. Abkürzungsdatenbank
Mittels der linken Navigationsleiste kann auf die Abkürzungsdatenbank zugegriffen werden.
Abhängig von den durch den Administrator vergebenen Rechten ist es möglich, den Inhalt der
Abkürzungsdatenbank anzeigen zu lassen (Bild 4), nach einer bestimmten Abkürzung zu
suchen (Bild 5) und einen neuen Begriff sowie Erklärungen in die Abkürzungsdatenbank
einzutragen.
Bild 4: Abkürzungsdatenbank anzeigen
Falls der Benutzer Schreibzugriff auf die Abkürzungsdatenbank besitzt, so werden ihm neben
den eingetragenen Begriffen und deren Bedeutungen zusätzlich jeweils eine Checkbox und
die Symbole
bearbeitet (
,
sowie
angezeigt. Über sie kann das jeweilige Element gelöscht (
),
) oder ein neues hinzugefügt werden ( ). Mittels der jeweiligen Checkboxen
können ein oder mehrere, mit dem Button „Alle Einträge Markieren“ alle Einträge markiert
werden. Der Button „Keine Einträge Markieren“ hebt die Markierung aller Einträge auf. Alle
markierten Einträge können mittels des Buttons „Ausgewählte Löschen“ entfernt werden.
Alle Nutzer haben die Möglichkeit, die Anzahl der auf einer Seite angezeigten Einträge über
die Combobox zu verändern. Über die Pfeilsymbole
zurück geblättert werden. Das Symbol
Abkürzungsdatenbank, das Symbol
über das obere rechte Symbol
kann bei Bedarf beliebig vor und
öffnet den Suchdialog für die
öffnet ggf. das Ergebnis einer vorherigen Suche und
kann, falls der Nutzer über Schreibrechte verfügt, eine neue
Abkürzung hinzugefügt werden. Je nach verwendetem Browser kann durch Klicken auf das
Symbol
der Schlüssel der entsprechenden Abkürzungserklärung in die Zwischenablage
8
des Betriebssystems kopiert werden. Wird diese Funktion vom Browser nicht unterstützt, so
kann auf den Schlüssel über das zugehörige Textfeld zugegriffen werden.
Bild 5: Abkürzungsdatenbank durchsuchen
Die Suche in der Abkürzungsdatenbank kann auf Abkürzungen oder Erklärungen beschränkt
werden. Über den Button „Anzeigen“ werden alle Datensätze der Datenbank angezeigt (Bild
4).
Bild 6: Suchergebnisse der Abkürzungsdatenbank
Neben jedem Suchergebnis befindet sich das Symbol
. Darüber gelangt man zu dem
entsprechenden Eintrag der Abkürzungsdatenbank (Bild 6). Das Symbol
öffnet den
Suchdialog erneut und über das Symbol
kann, falls der Nutzer über Schreibrechte verfügt,
eine neue Abkürzung hinzugefügt werden.
Bild 7: Begriff Hinzufügen
9
2.4. Personendatenbank
Mittels der linken Navigationsleiste kann auf die Personendatenbank zugegriffen werden.
Abhängig von den durch den Administrator vergebenen Rechten ist es möglich, den Inhalt der
Personendatenbank anzeigen zu lassen (Bild 8), nach einer bestimmten zu suchen und eine
Person einzutragen.
Falls der Benutzer Schreibzugriff auf die Personendatenbank besitzt, so werden ihm neben
den Personeneinträgen zusätzlich jeweils eine Checkbox und die Symbole
angezeigt. Über sie kann die jeweilige Person gelöscht (
) oder bearbeitet (
und
) werden.
Mittels der jeweiligen Checkboxen können ein oder mehrere, mit dem Button „Alle Einträge
Markieren“ alle Einträge markiert werden. Der Button „Keine Einträge Markieren“ hebt die
Markierung aller Einträge auf. Alle markierten Einträge können mittels des Buttons
„Ausgewählte Löschen“ entfernt werden.
Bild 8: Personendatenbank anzeigen
Alle Nutzer haben die Möglichkeit, die Anzahl der auf einer Seite angezeigten Einträge über
die Combobox zu verändern. Über die Pfeilsymbole
zurück geblättert werden. Das Symbol
das Symbol
kann bei Bedarf beliebig vor und
öffnet den Suchdialog für die Personendatenbank,
öffnet ggf. das Ergebnis einer vorherigen Suche und über das obere rechte
10
Symbol
kann, falls der Nutzer über Schreibrechte verfügt, eine neue Person hinzugefügt
werden. Je nach verwendetem Browser kann durch Klicken auf das Symbol
der Schlüssel
der entsprechenden Person in die Zwischenablage des Betriebssystems kopiert werden. Wird
diese Funktion vom Browser nicht unterstützt, so kann auf den Schlüssel über das zugehörige
Textfeld zugegriffen werden.
Jeder Person kann ein Bild zugeordnet werden. Dieses muss im GIF - oder JPEG – Format
vorliegen und sollte eine Auflösung von 120 mal 80 Pixeln besitzen. Anderenfalls wird das
Bild verzerrt dargestellt. Durch einen Klick auf das Bild wird es in einem separaten
Browserfenster angezeigt.
Bild 9: Person hinzufügen
Zu den Personenangaben können jeweils beliebig viele Adressen, Telefonnummern, E-Mailund Internetadressen hinzugefügt werden.
11
Bild 10: Person hinzufügen
12
2.5. Glossardatenbank
Die Benutzung der Glossardatenbank ist identisch zu der der Abkürzungsdatenbank.
13
3. Entwicklerdokumentation
3.1. Sicherheit
Neben dem in Abschnitt 1 dieser Dokumentation beschriebenen Zugriff auf die Datenbanken
sowie der Rechtevergabe durch den Administrator sind weitere Sicherheitsmerkmale
implementiert worden. Die Passwörter wurden mit dem MD5-System verschlüsselt. Dabei
steht anstelle des Klartextes ein Hash-Wert des Passwortes in der Nutzerdatenbank. Vor
jedem Datenbankzugriff werden die Rechte des Benutzers geprüft. Das Cachen von HTMLSeiten im Browser wurde in sicherheitskritischen Bereichen deaktiviert. Die Navigation
erfolgt ausschließlich über die im Webinterface bereitgestellten Symbole und Hyperlinks.
Temporäre Daten werden nicht in Cookies sondern in PHP-Sessionvariablen gespeichert.
Zum Nachverfolgen von Änderungen in einzelnen Datenbanken werden nutzer- und
datumsbezogene Logdateien angelegt (siehe Abschnitt 1).
3.2. Modulspezifikation
Flussdiagramme des Webinterfaces;
Anmeldung, Interface für jede Datenbank
14
3.2.1. Spezifikation Anmeldung
Abschicken
Login Screen
Login
korrekt?
Nein
Ja
Welcome Screen
Anzeige: Welche Rechte in welchen Datenebanken
Falls Nutzer = Admin: Anzeige Nutzerdatenbank
"löschen"
"hinzufügen"
"ändern"
Nutzerdatenbank
Hinzufügen Screen
Ändern Screen
"hinzufügen" /
"zurück"
"hinzufügen" /
"zurück"
15
3.2.2. Spezifikation Abkürzungsdatenbank
16
3.2.3. Spezifikation Glossardatenbank
Glossardatenbank
Hinzufügen
Neue Suche
Suchen
Anzeigen
Suchergebnis Screen
Suchen
Suchen Screen
Anzeigen Screen
Begriff Ändern
Erkl. Hinzufügen
Löschen
Begriff Hinzufügen Screen
Eintragen
Eintragen
Begriff Ändern Screen
Begriff Hinzufügen
Eintragen
Eintragen
Erkl. Ändern
Erklärung Ändern Screen
Erklärung Hinzufügen Screen
17
3.2.4. Spezifikation Personendatenbank
18
3.3. Datenbankspezifikation
Die Datenbank wurde mit MySQL Version 3.23.38 erstellt. Sie trägt den Namen KSWS und
enthält folgende Tabellen:
Tabellen
+----------------+
| Tables_in_ksws |
+----------------+
| abk
|
| abk_erkl
|
| glo
|
| glo_erkl
|
| nutzer
|
| pers
|
| pers_adr
|
| pers_http
|
| pers_mail
|
| pers_telefon
|
+----------------+
Die Feldbezeichner in den Tabellen wurden so gewählt, dass sie zunächst mit der Tabelle
beginnen, in der sie sich befinden, gefolgt von einem Unterstrich und weiteren Zeichen die
die Bedeutung kurz wiederspiegeln sollen.
abk
+-------------+------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+-------------+------------+------+-----+---------+----------------+
| abk_id
| bigint(20) |
| PRI | NULL
| auto_increment |
| abk_abk
| char(30)
|
| UNI |
|
|
| nutzer_name | char(20)
|
|
|
|
|
+-------------+------------+------+-----+---------+----------------+
abk_id
abk_abk
nutzer_name
Schlüssel zur Identifizierung der Abkürzung,
autom. von MySQL vergeben
Die Abkürzung als String, Schlüsselattribut, d.h. es darf jede
Abkürzung nur einmal in der Datenbank vorkommen
Nutzer, der die Abkürzung erstellt hat
abk_erkl
+--------------+------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+--------------+------------+------+-----+---------+----------------+
| abk_erkl_id | bigint(20) |
| PRI | NULL
| auto_increment |
| abk_id
| bigint(20) |
|
| 0
|
|
| abk_erkl
| char(80)
| YES |
| NULL
|
|
| nutzer_name | char(20)
|
|
|
|
|
| abk_erkl_key | char(10)
| YES | MUL | NULL
|
|
+--------------+------------+------+-----+---------+----------------+
19
abk_erkl_id
abk_id
abk_erkl
abk_erkl_key
nutzer_name
Schlüssel zur Identifizierung der Erklärung,
autom. von MySQL vergeben
Schlüssel der zur Erklärung zugehörigen Abkürzung
Erklärungstext an sich
Zweitschlüssel textbasierend für einfachere Suche
(setzt sich aus der Abkürzung und einer Zahl zusammen)
Nutzer, der die Erklärung erstellt hat
glo
+-------------+------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+-------------+------------+------+-----+---------+----------------+
| glo_id
| bigint(20) |
| PRI | NULL
| auto_increment |
| glo_glo
| char(30)
|
| UNI |
|
|
| nutzer_name | char(20)
|
|
|
|
|
+-------------+------------+------+-----+---------+----------------+
glo_id
glo_glo
nutzer_name
Schlüssel zur Identifizierung des Glossareintrags,
autom. von MySQL vergeben
Glossareintrag an sich, Schlüsselattribut
Nutzer, der den Glossareintrag erstellt hat
glo_erkl
+--------------+------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+--------------+------------+------+-----+---------+----------------+
| glo_erkl_id | bigint(20) |
| PRI | NULL
| auto_increment |
| glo_id
| bigint(20) |
|
| 0
|
|
| glo_erkl
| char(80)
| YES |
| NULL
|
|
| nutzer_name | char(20)
|
|
|
|
|
| glo_erkl_key | char(10)
| YES | MUL | NULL
|
|
+--------------+------------+------+-----+---------+----------------+
glo_erkl_id
glo_id
glo_erkl
glo_erkl_key
nutzer_name
Schlüssel zur Identifizierung der Bedeutung,
autom. von MySQL vergeben
Schlüssel des zur Bedeutung zugehörigen Glossareintrags
Bedeutung an sich
Zweitschlüssel textbasierend für einfachere Suche
nach Glossareinträgen
Nutzer, der die Bedeutung erstellt hat
20
nutzer
+-----------------+----------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-----------------+----------+------+-----+---------+-------+
| nutzer_name
| char(20) |
| PRI |
|
|
| nutzer_passwort | char(20) | YES |
| NULL
|
|
| abk_read
| int(2)
|
|
| 1
|
|
| abk_write
| int(2)
|
|
| 0
|
|
| pers_read
| int(2)
|
|
| 1
|
|
| pers_write
| int(2)
|
|
| 0
|
|
| glo_read
| int(2)
|
|
| 1
|
|
| glo_write
| int(2)
|
|
| 0
|
|
+-----------------+----------+------+-----+---------+-------+
nutzer_name
nutzer_passwort
abk_read
abk_write
pers_read
pers_write
glo_read
glo_write
Kennung des Nutzers, Schlüsselattribut
md5 Wert des vom Nutzer angegebenen Passwortes
Bestimmt Leserechte des Nutzers in der Abkürzungsdatenbank
0-Kein Leserecht; 1-Leserecht
Bestimmt Schreibrechte des Nutzers in der Abkürzungsdatenbank
0-Kein Schreibrecht; 1-Einfaches Schreibrecht; 2-Admin Schreibrecht
Bestimmt Leserechte des Nutzers in der Personendatenbank
0-Kein Leserecht; 1-Leserecht
Bestimmt Schreibrechte des Nutzers in der Personendatenbank
0-Kein Schreibrecht; 1-Einfaches Schreibrecht; 2-Admin Schreibrecht
Bestimmt Leserechte des Nutzers in der Glossardatenbank
0-Kein Leserecht; 1-Leserecht
Bestimmt Schreibrechte des Nutzers in der Glossardatenbank
0-Kein Schreibrecht; 1-Einfaches Schreibrecht; 2-Admin Schreibrecht
pers
+-------------+-------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+-------------+-------------+------+-----+---------+----------------+
| pers_id
| bigint(20) |
| PRI | NULL
| auto_increment |
| pers_name
| varchar(50) |
|
|
|
|
| pers_vname | varchar(50) |
|
|
|
|
| pers_titel | varchar(50) | YES |
| NULL
|
|
| pers_geb
| date
| YES |
| NULL
|
|
| pers_llauf | blob
| YES |
| NULL
|
|
| nutzer_name | varchar(20) |
|
|
|
|
| pers_key
| varchar(10) | YES | MUL | NULL
|
|
+-------------+-------------+------+-----+---------+----------------+
pers_id
pers_name
pers_vname
pers_titel
pers_geb
pers_llauf
nutzer_name
pers_key
Schlüssel zur Identifizierung der Person, autom. von MySQL vergeben
Name der Person
Vorname der Person
Titel der Person
Geburtsdatum der Person
Lebenslauf der Person (wird als String in das BLOB hineingeschrieben)
Nutzer, der die Person erstellt hat
Zweitschlüssel textbasierend für einfachere Suche nach Personen
(je 2 Buchstaben aus Vor- und Nachname und eine Zahl)
21
pers_adr
+--------------+------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+--------------+------------+------+-----+---------+----------------+
| pers_adr_id | bigint(20) |
| PRI | NULL
| auto_increment |
| pers_id
| bigint(20) |
|
| 0
|
|
| pers_adr_str | char(50)
| YES |
| NULL
|
|
| pers_adr_nr | char(10)
| YES |
| NULL
|
|
| pers_adr_plz | char(10)
| YES |
| NULL
|
|
| pers_adr_ort | char(50)
| YES |
| NULL
|
|
| nutzer_name | char(20)
|
|
|
|
|
+--------------+------------+------+-----+---------+----------------+
pers_adr_id
pers_id
pers_adr_str
pers_adr_nr
pers_adr_plz
pers_adr_ort
nutzer_name
Schlüssel zur Identifizierung der Adresse, autom. von MySQL vergeben
Schlüssel des Person, zu welcher die Adresse gehört
Strassenname der Adresse
Hausnummer der Adresse
Postleitzahl der Adresse
Ortsangabe der Adresse
Nutzer, der die Adresse erstellt hat
pers_telefon
+-----------------+------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+-----------------+------------+------+-----+---------+----------------+
| pers_telefon_id | bigint(20) |
| PRI | NULL
| auto_increment |
| pers_id
| bigint(20) |
|
| 0
|
|
| pers_telefon
| char(50)
| YES |
| NULL
|
|
| nutzer_name
| char(20)
|
|
|
|
|
+-----------------+------------+------+-----+---------+----------------+
pers_telefon_id
pers_id
pers_telefon
nutzer_name
Schlüssel zur Identifizierung der Telefonnummer,
autom. von MySQL vergeben
Schlüssel der Person, zu welcher die Telefonnummer gehört
die Telefonnummer an sich
Nutzer, der die Telefonnummer erstellt hat
pers_mail
+--------------+------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+--------------+------------+------+-----+---------+----------------+
| pers_mail_id | bigint(20) |
| PRI | NULL
| auto_increment |
| pers_id
| bigint(20) |
|
| 0
|
|
| pers_mail
| char(50)
| YES |
| NULL
|
|
| nutzer_name | char(20)
|
|
|
|
|
+--------------+------------+------+-----+---------+----------------+
pers_mail_id
pers_id
pers_mail
nutzer_name
Schlüssel zur Identifizierung der E-Mail Adresse,
autom. von MySQL vergeben
Schlüssel der Person, zu welcher die E-Mail Adresse gehört
die E-Mail Adresse an sich
Nutzer, der die E-Mail Adresse erstellt hat
22
pers_http
+--------------+------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+--------------+------------+------+-----+---------+----------------+
| pers_http_id | bigint(20) |
| PRI | NULL
| auto_increment |
| pers_id
| bigint(20) |
|
| 0
|
|
| pers_http
| char(80)
| YES |
| NULL
|
|
| nutzer_name | char(20)
|
|
|
|
|
+--------------+------------+------+-----+---------+----------------+
pers_http_id
pers_id
pers_http
nutzer_name
Schlüssel zur Identifizierung der Web Adresse,
autom. von MySQL vergeben
Schlüssel der Person, zu welcher die Web Adresse gehört
die Web Adresse an sich
Nutzer, der die Web Adresse erstellt hat
23
3.4. Layout
Zur Gestaltung Layouts der Bildschirmelemente des Webinterfaces wurde folgende CSS –
Datei erstellt:
CSS - Style
.body
{
Verwendung
Grundlegendes Seitenlayout
background-color:#fffff0;
font-family:
Verdana,Arial,Helvetica,sansserif;
font-size:11px;
scrollbar-base-color:#fffff0;
}
.topicbox
{
margin:10px 15px 10px 0px;
padding:5px 5px;
font-size:12px;
background-color:#f1e2cb;
border: 3px #e3cba5 solid;
font-family: Arial, Helvetica,
sans-serif; font-style: normal;
font-weight: bold;
}
Layout des Rahmens der Überschrift
.topictext
{
margin-left: 10px; margin-top:
0px;
margin-right: 0px;
margin-bottom: 0px;
text-align:justify;
Layout des Textes der Überschrift
}
.text
{
Sonstiges Textlayout
margin:20px 0px;
text-align:justify; font-family:
Arial, Helvetica, sans-serif;
font-size: 11px
}
.dialogbox
{
margin:10px 15px 10px 0px;
background-color:#dce6f0; bordercolor:#c1cdd9; border-width:3px;
border-style:solid;
}
Layout des Rahmens von Dialogen
.beschriftung
{
margin:10px 15px 10px 0px;
font-size:12px; border: #e8e8d4
none; font-weight: bold
}
Layout des Beschriftungstextes in den
Dialogen
.options
{
margin:10px 15px 10px 0px;
font-size:12px; border: #e8e8d4
none;font-weight: normal
}
24
.info
{
Layout der oberen Informations- und
Optionsleiste
margin:10px 15px 10px 0px;
font-size:12px; border: #e8e8d4
none; font-weight: normal
}
.table
{
Layout der Tabellen der Datensätze
font-size:10px;
vertical-align:top; border:
#000000; border-style: solid;
border-top-width: 1px; borderright-width: 1px; border-bottomwidth: 1px; border-left-width: 1px
}
.tablecell1
{
background-color: #FFFFFF; fontfamily: Arial, Helvetica, sansserif; font-size: 10px; fontweight: normal;
}
Layout der Tabellenzellen der Zeilen mit
gerader laufender Nummer
.tablecell2
{
background-color: #f9f9d9; fontfamily: Arial, Helvetica, sansserif; font-size: 10px; fontweight: normal;
}
Layout der Tabellenzellen der Zeilen mit
ungerader laufender Nummer
.table-cell-header-row
{
background-color: #c1cdd9; fontfamily: Arial, Helvetica, sansserif; font-size: 12px; fontweight: bold; text-indent: 4pt
Spaltenüberschriften der Tabellen der
Datensätze
}
25
3.5. Übersicht der verwendeten Dateien
Hauptverzeichnis
Dateiname
Endung
Zweck
abksearch
htm
abkstart
php
adminwelcome
php
datetools
php
doLogin
php
doLogout
php
glosearch
htm
glostart
php
index
html
left
htm
logfile
login
logout
php
htm
htm
main
html
menu
personensearch
htm
htm
personenstart
php
Server
ini
welcome
php
Stellt komplexes Formular zum Suchen in AbkDB
zur Verfügung
Startscreen zur AbkDB, zeigt Rechte an und Links
zum Suchformular, Anzeigenseite, neue DS
erfassen
Startscreen für den Admin, zeigt die
Nutzerdatenbank an
Tools zur Formatkonvertierung von
Datumseingaben in und aus MySQL
Registrieren der Sessionvariablen, Auswerten von
Nutzername und Passwort
Belegen der Sessionvariablen mit entsprechenden
Werten
Auslesen der Server.ini, Weiterleitung auf Welcome
Screen
Löschen der Session, Weiterleitung auf Login
Screen
Stellt komplexes Formular zum Suchen in
GlossarDB zur Verfügung
Startscreen zur GlossarDB, zeigt Rechte an und
Links zum Suchformular, Anzeigenseite, neue DS
erfassen
Frameset, vor dem Login, stellt links die left.htm und
rechts die login.htm da
Wird vor dem Login im linken Frame angezeigt
(Dummyseite)
Tools zur Ausgabe der Logdateien
Formular zum Einloggen
Wird von doLogout.php aufgerufen, leitet weiter zu
index.html
Frameset, nach dem Login, stellt links die
Menüleiste und rechts den Welcome-Screen dar
Stellt das Navigationsmenü im linken Frame dar
Stellt komplexes Formular zum Suchen in
PersonenDB zur Verfügung
Start-Screen zur PersonenDB, zeigt Rechte an und
Links zum Suchformular, Anzeigenseite, neue DS
erfassen
Textdatei, sichert den zu verwendenden MySql
Server, Port und den Datenbanknamen
Welcome-Screen, zeigt den angemeldeten
Nutzernamen und die Rechte für jede Datenbank
./abkuerzung
Dateiname
Endung
Zweck
AddAbkuerzung
php
AddAbkuerzungen
php
AenderAbkuerzung
php
Fügt neue Abk mit Erkl oder nur Erkl hinzu, Testen
der Rechte, Weiter nach ShowAbkuerzungen.php
Formular zum Hinzufügen von Abk und Erkl oder
Erkl zu vorhandener Abk
Formular zum Ändern von Abkürzungen
26
AenderErklaerung
DeleteAbkuerzung
DeleteAbkuerzungErklaerung
DeleteAbkuerzungErklaerungen
php
php
php
php
DoAenderAbkuerzung
php
DoAenderErklaerung
ShowAbkuerzungen
php
php
Suche
php
Formular zum Ändern von Erklärungen
Löscht eine Abkürzung mit allen Erklärungen
Löscht eine Erklärung
Löscht mehrere Erklärungen (markierte
Erklärungen)
Ändert eine Abkürzung, legt sie neu an und
überträgt Erklärungen des Nutzers auf sie
Ändert eine Erklärung
Übersicht über die Abkürzungen
die GET Variablen "von" und "anz" bestimmen,
welche DS angezeigt werden
sind sie nicht angegeben werden die entspr.
Sessionvariablen genutzt
Anzeige der Suchergebnisse in Tabellenform.
Die Suche wird in den Sessionvariablen "suchfelda"
und "suchtexta" gesichert.
Die GET bzw. Session Variablen "von" und "anz"
bestimmen welche Datensätze angezeigt werden.
./glossar
Dateiname
Endung
Zweck
AddAbkuerzung
php
AddAbkuerzungen
php
AenderAbkuerzung
AenderErklaerung
DeleteAbkuerzung
DeleteAbkuerzungErklaerung
DeleteAbkuerzungErklaerungen
php
php
php
php
php
DoAenderAbkuerzung
php
DoAenderErklaerung
ShowAbkuerzungen
php
php
Suche
php
Fügt neuen GloEintrag mit Erkl oder nur Erkl hinzu,
Testen der Rechte, Weiter nach
ShowAbkuerzungen.php
Formular zum Hinzufügen von GloEintrag und Erkl
oder Erkl zu vorhandenem GloEintrag
Formular zum Ändern von GloEinträgen
Formular zum Ändern von Erklärungen
Löscht einen GloEintrag mit allen Erklärungen
Löscht eine Erklärung
Löscht mehrere Erklärungen (markierte
Erklärungen)
Ändert einen GloEintrag, legt ihn neu an und
überträgt Erklärungen des Nutzers auf ihn
Ändert eine Erklärung
Übersicht über die GloEinträge
die GET Variablen "von" und "anz" bestimmen,
welche DS angezeigt werden
sind sie nicht angegeben werden die entspr.
Sessionvariablen genutzt
Anzeige der Suchergebnisse in Tabellenform.
Die Suche wird in den Sessionvariablen "suchfeldg"
und "suchtextg" gesichert.
Die GET bzw. Session Variablen "von" und "anz"
bestimmen welche Datensätze angezeigt werden.
./nutzer
./nutzer/log_by_date
./nutzer/log_by_user
Logfiles nach Datum geordnet
Logfiles geordnet nach Nutzerrn
Dateiname
Endung
Zweck
AddNutzer
DeleteNutzer
DoAddNutzer
php
php
php
Formular zum Hinzufügen und Ändern von Nutzern
Entfernen eines Vorhandenen Nutzers
Hinzufügen eines Nutzers zur NutzerDB
27
DoAenderNutzer
php
Ändern eines Nutzers in der NutzerDB
./personen
./personen/pic
Bilder der Personendatenbank
Dateiname
Endung
Zweck
AddAdresse
php
AddAdressen
php
AddEmail
php
AddEmails
php
AddHttp
php
AddHttps
php
AddPerson
php
AddPersonen
php
AddTelefon
php
AddTelefone
php
AenderAdresse
AenderHttp
AenderMail
AenderPerson
AenderTelefon
DeleteAdresse
DeleteHttp
DeleteMail
DeletePerson
DeletePersonen
php
php
php
php
php
php
php
php
php
php
DeleteTelefon
ShowDetails
php
php
ShowPersonen
php
Suche
php
Fügt eine Adresse zu einer vorhandenen Person
hinzu
Formulare zum Erfassen, Ändern und Löschen der
Adressen einer Person
Fügt eine Email-Adresse zu einer vorhandenen
Person hinzu
Formulare zum Erfassen, Ändern und Löschen der
E-Mail-Adressen einer Person
Fügt eine Webadresse zu einer vorhandenen
Person hinzu
Formulare zum Erfassen, Ändern und Löschen der
Webadressen einer Person
Fügt eine neue Person in die PersonenDB ein;
Kopieren des Bildes auf den Server
Formulare zum Erfassen einer neuen oder ändern
einer vorhandenen Person
Fügt eine Telefonnummer zu einer vorhandenen
Person hinzu
Formulare zum Erfassen, Ändern und Löschen der
Telefonnummern einer Person
Ändern einer Adresse der AdressDB
Ändern einer WebAdresse der HttpDB
Ändern einer Email-Adresse der MailDB
Ändern einer Person der PersonenDB
Ändern einer Telefonnummer der TelefonDB
Löscht eine Adresse aus der AdressDB
Löscht eine WebAdresse aus der HttpDB
Löscht eine Email-Adresse aus der MailDB
Löscht eine Person aus der PersonenDB
Löscht mehrer Person aus der PersonenDB
(markierte Einträge)
Löscht eine Telefonnummer aus der TelefonDB
Anzeige der Detaileigenschaften (Bild, Adressen,
Telefonnummern...) zu einer Person
Links zu Formularen zum Bearbeiten der Details
Ubersicht über die Personen, Darstellung der
wichtigsten Eigenschaften und des Bildes;
die GET Variablen "von" und "anz" bestimmen,
welche Datensätze angezeigt werden;
sind sie nicht angegeben werden die entspr.
Sessionvariablen genutzt
Anzeige der Suchergebnisse in Tabellenform.
Die Suche wird in den Sessionvariablen "suchfeldp"
und "suchtextp" gesichert.
Die GET bzw. Session Variablen "von" und "anz"
bestimmen welche Datensätze angezeigt werden.
./wwr_css
./wwr_images
ksws.css Layout
Verwendete Icons
28
Herunterladen