Inhaltsverzeichnis 1 Einleitung iii 2 Umgebung 3 3 Funktionsweise von Servlets 5 4 Benutzung des KommVor 7 4.1 Studenten-Servlet . . . . . . . . . . . . . . . . . . . . . . 4.2 Institute-Servlet . . . . . . . . . . . . . . . . . . . . . . . 10 4.3 8 4.2.1 Die Formulare . . . . . . . . . . . . . . . . . . . . 10 4.2.2 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . 15 Admin-Servlet . . . . . . . . . . . . . . . . . . . . . . . . 18 4.3.1 Die Formulare . . . . . . . . . . . . . . . . . . . . 18 4.3.2 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . 24 5 Implementierung des KommVor 27 5.1 Die Dateien . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.2 Die Datenbank . . . . . . . . . . . . . . . . . . . . . . . 30 6 Ausblick 35 A Literatur und WWW-Quellen 37 i ii INHALTSVERZEICHNIS Kapitel 1 Einleitung Das kommentierte Vorlesungsverzeichnis der Informatik enthält zu allen Lehrveranstaltungen von oder für Informatiker die Beschreibung der organisatorischen Daten und darüber hinaus weitere Informationen über den Inhalt der Lehrveranstaltungen. Das kommentierte Vorlesungsverzeichnis hilft den Studenten, sich in ihrem Studium nach persönlichen Interessen auszurichten. Bisher wurde das kommentierte Vorlesungsverzeichnis jedes Jahr von der Fachgruppe neu erstellt. Dabei traten einige Probleme auf, so z.B. unzureichende Unterstützung von Seiten der Institute, insbesondere in den Nebenfächern. Daraus entstand die Aufgabenstellung für diese Studienarbeit. Das kommentierte Vorlesungsverzeichnis sollte die Eingabe der Lehrveranstaltungen möglichst komfortabel gestalten, wiederkehrende Eingaben sollten einfach kopierbar sein. Im Vordergrund stand also die Forderung, daß das kommentierte Vorlesungsverzeichnis die Akzeptanz der Institute von selbst fördert. Dazu muß das kommentierte Vorlesungsverzeichnis möglichst viele Aufgaben automatisch übernehmen. Es muß auf jedem üblichen Betriebssystem laufen. Zusätzlich sollte es jederzeit und und auf jedem Rechner abrufbar sein. Um im Internet jeden Browser zu unterstützen, darf das kommentierte Vorlesungsverzeichnis nur reine Html-Befehle enthalten. Trotzdem sollte das kommentierte Vorlesungsverzeichnis immer aktuiii iv KAPITEL 1. EINLEITUNG ell sein, also sowohl bei der Eingabe als auch bei der Ausgabe direkt auf eine Datenbank zugreifen, die die Einträge der Lehrveranstaltungen enthält. Auf schwerwiegende Fehlerfälle soll das kommentierte Vorlesungsverzeichnis automatisch mit einer Email-Benachrichtigung des Benutzers bzw. des Administrators reagieren. Der Administrator soll automatische Emails an die Institute erzeugen können. Diese Studienarbeit verwendet für die Implementierung des kommentierten Vorlesungsverzeichnisses eine Datenbank von MySQL. Die Internetseiten werden von Javaservlets generiert, die in Kapitel 3 genauer erklärt werden. Die Javaservlets laufen auf einem Apacheserver. Der Datenbankzugriff der Javaservlets wird von der Java-JDBC-API unterstützt und die Email-Funktionen werden von der Java-Mail-API bereitgestellt. Die in dieser Studienarbeit erwähnten Software- und Hardwarebezeichnungen sind in den meisten Fällen auch eingetragene Markenzeichen und unterliegen als solche den gesetzlichen Bestimmungen. Beschreibung der Kapitel Kapitel 2 beschreibt die benutzten Softwareversionen. Kapitel 3 beschreibt die externe und interne Funktionsweise von Servlets. Kapitel 4 ist in Form eines Benutzerhandbuchs zur Verwendung der KommVor-Servlets geschrieben. Dieses Kapitel kann somit den Instituten in ausgedruckter Form (oder auch online) zur Verfügung gestellt werden. Kapitel 5 erklärt Besonderheiten der Implementation. Dazu sei auch auf die mittels des Java-Documentation-Tools javadoc erstellten HtmlSeiten zu den einzelnen Servlets auf der CD verwiesen: Admin.Html, Institute.Html und Studenten.Html Kapitel 6 enthält Anregungen zur Verbesserung des kommentierten Vorlesungsverzeichnisses, die über den Rahmen dieser Studienarbeit hinausgingen. Im Anhang ist der komplette Quellcode ausgedruckt. Dieser und alle 1 anderen das kommentierte Vorlesungsverzeichnis betreffende Texte sind auf der beiliegenden CD enthalten. Die CD ist im Microsoft Windows Dateiformat gebrannt. Ebenso enthält sie die benutzte Java-Version JDK 1.1.5, die Java-APIs Servlet, JDBC, Mail und Activation. 2 KAPITEL 1. EINLEITUNG Kapitel 2 Umgebung Für die Realisierung des kommentierten Vorlesungsverzeichnisses wurden folgende Softwareversionen eingesetzt: • Unix-Solaris 2.5.1 • MySQL 3.21 • Java JDBC-Api 1.0 • Apache Web Server 1.3.12 • Html 3.0 • Die Browser Netscape 4.7 und Microsoft Internet Explorer 5.0 • Java JDK 1.1.5 • Java Servlet-Api 2.0 • Java Mail-Api 1.0 • Java Activation-Api 1.0.1 Mit MySQL wurden die beiden Datenbanken erstellt. Das Administrationsprogramm wird mit xmysqladmin aufgerufen. MySQL stellt darüber hinaus einen Treiber zur Verfügung, mit dem Java-Programme über die Java JDBC-Api auf das Datenbanksystem zugreifen können. 3 4 KAPITEL 2. UMGEBUNG Der Apache Webserver stellt mit der Jserv-Servlet-Engine die Möglichkeit bereit, Servlets auf diesem Server laufen zu lassen und aus dem Internet auf diesem Server aufzurufen. Alle Internet-Seiten werden von den Servlets dynamisch erzeugt und enthalten HTML 3.0 Code, um möglichst viele Browser zu unterstützen. Somit sollten die meisten Browser die Internet-Seiten anzeigen können. Die zum Testen verwendeten Browser sind der Vollständigkeit halber aufgeführt. Die Programme wurden für die Java JDK (Java Development Kit) Version 1.1.5 geschrieben und mit ihr übersetzt. Falls diese Version auf den Instituts-Rechnern gewechselt wird, sollte man davon ausgehen, das aufgrund von Inkompatibilitäten bei der nächsten Änderung des kommentierten Vorlesungsverzeichnisses auch Änderungen hinsichtlich der neuen Version vorzunehmen sind. Die Java Servlet-Api ist für diese Studienarbeit die wichtigste Software. Die meisten Programmzeilen benutzen diese Api. Die Api ermöglicht es Java-Programmen, als Servlet in einem Webserver zu laufen. Die Java Mail-Api stellt Methoden zur Verfügung, Mails über den SMTP-Server zu verschicken. Das kommentierte Vorlesungsverzeichnis empfängt keine Mails. Deswegen mußten keine Treiber für den POP3-Server zum Empfangen von Mails installiert werden. Die JavaActivation-Api wird für die Mail-Api benötigt. Sie hat keine weitere Bedeutung für diese Studienarbeit. Kapitel 3 Funktionsweise von Servlets Servlets sind spezielle Java-Programme, die mittels einer ServletEngine, in unserem Fall ist das Jserv des Apache-Webservers, von dem Webserver, in unserem Fall ist das der Apache-Webserver, gestartet werden können. Wenn aus dem Internet eine Anfrage an den das Servlet bezeichnenden URL zum Server kommt, so startet dieser das Servlet, indem er dessen Methode init(ServletConfig) aufruft. Dieses Servlet bleibt nun so lange am Laufen, bis der Server es durch Aufruf der Methode destroy() beendet. Dieser Fall tritt z.B. beim Herunterfahren des Servers auf. Ansonsten bleibt das Servlet am Laufen, und bei jeder Anfrage aus dem Internet an das Servlet ruft der Server die Methode service(ServletRequest, ServletResponse) des Servlets auf. Diese Methode behandelt die jeweilige Anfrage. Es können mehrere Anfragen gleichzeitig bearbeitet werden. Für HTTP-spezifische Anfragen stellt das Servlet-Api eine eigene Klasse zur Verfügung: javax.servlet.http.HttpServlet. Leitet man sein Programm von dieser Klasse ab, so ist die Methode service(ServletRequest, ServletResponse) bereits implementiert. Sie hat dann die Aufgabe, die Anfrage auszuwerten und, falls es sich um eine korrekte HTTP-Anfrage handelt, die dieser Anfrage entsprechende Methode aufzurufen. In dieser Studienarbeit wurden jeweils die Methoden doGet(HttpServletRequest, HttpServletResponse) und doPost(HttpServletRequest, HttpServletResponse) implementiert. Somit verstehen die Servlets die HTTP-Befehle GET, POST, HEAD, OPTIONS und TRACE. Letztere Befehle werden von der Ober5 6 KAPITEL 3. FUNKTIONSWEISE VON SERVLETS klasse definiert. Wenn also ein HTTP-Befehl GET an die dem jeweiligen Servlet entsprechende URL gesendet wird, so wird die Methode doGet(. . . ) aufgerufen. Analog wird bei POST die Methode doPost(. . . ) aufgerufen. Die Servlets bearbeiten dann diese Anfragen und schicken die Antwort als reinen Html-Code an den Client im Internet zurück. Das kommentierte Vorlesungsverzeichnis schickt fast immer Html-Formulare zurück. Wenn nun der Benutzer dieses Formular ausfüllt und wieder an den Server schickt, dann muß das Servlet erkennen, um welchen Benutzer es sich handelt. Die KommVor-Servlets machen das, indem sie bei jeder Antwort an den Client eine sogenannte JservsessionID mitschicken. Diese ID wird dann vom Client wieder mitzurückgeschickt, und so erkennt das Servlet, zu welcher Session diese Anfrage gehört. Diese URLRewriting genannte Methode ist für die KommVor-Servlets Institute und Admin zwingend notwendig, da sich dort alle Benutzer zuerst mit einem Passwort identifizieren müssen. Danach müssen alle Anfragen dieses Benutzers seinen vorigen Anfragen richtig zugeordnet werden. Der Benutzer muß sich nicht abmelden. Auch wenn die Netzwerkverbindung unterbrochen wird, entsteht kein Schaden am kommentierte Vorlesungsverzeichnis. Ebenso können mehrere Benutzer gleichzeitig auf das kommentierte Vorlesungsverzeichnis zugreifen. Kapitel 4 Benutzung des KommVor Dieses Kapitel soll den Instituten ausgedruckt und den Benutzern des kommentierten Vorlesungsverzeichnisses online verfügbar gemacht werden. Daher wird hier der Benutzer direkt angesprochen. Da sich die manchmal recht langen Html-Formulare schlecht abdrucken lassen, ist hier auf die Abbildung der Html-Seiten verzichtet worden. Es wird davon ausgegangen, daß der Leser beim Lesen dieses Kapitels gleichzeitig die Html-Seiten aufruft und die entsprechenden Verweise und Knöpfe mitverfolgt. Das online verfügbare kommentierte Vorlesungsverzeichnis besteht aus drei Java-Servlets, die auf einem Apache-Server laufen. Es ist im Internet mit allen üblichen Browsern abrufbar, da die Servlets Internetseiten generieren, die nur aus Html-Befehlen bestehen. Allerdings werden manche Html-Befehle von einigen Browsern unterschiedlich interpretiert. So ist das Aussehen des kommentierten Vorlesungsverzeichnisses nicht auf allen Browsern identisch. Die Adresse der Startseite des kommentierten Vorlesungsverzeichnisses ist als Verweis (Link) auf der Homepage der Informatik (www.cs.tu-bs.de ) angegeben und lautet: www.iti.cs.tu-bs.de/KommVor/Studenten . Bei dem Wort KommVor bitte auf Großschreibung achten. Damit wird das Studenten-Servlet gestartet. Dieses Servlet zeigt die Sicht der Studenten auf das kommentierte Vorlesungsverzeichnis. Fast alle Seiten des kommentierten Vorlesungsverzeichnisses haben oben auf der Seite ein Kopffeld und auf der linken Seite eine Navigationsleiste mit allen KommVor-spezifischen Verwei7 8 KAPITEL 4. BENUTZUNG DES KOMMVOR sen. Unten in dieser Navigationsleiste stehen auch die Verweise zu den beiden anderen Servlets des kommentierten Vorlesungsverzeichnisses. Das Institute-Servlet beschreibt die Sicht der Institute auf das kommentierte Vorlesungsverzeichnis: www.iti.cs.tu-bs.de/KommVor/Institute . Hier können also die Lehrveranstaltungen eingegeben und gewartet werden. Das Admin-Servlet dient dem Administrator zum Warten und Aktualisieren des kommentierten Vorlesungsverzeichnisses: www.iti.cs.tu-bs.de/KommVor/Admin . 4.1 Studenten-Servlet Bei Aufruf des Studenten-Servlets werden die Titel aller Lehrveranstaltungen des aktuellen Semesters in der Übersicht angezeigt. Sie erreichen diese Übersicht auch immer durch das Anklicken des Verweises Aktuelles KommVor in der Navigationsleiste. Mit den Verweisen oberhalb der Übersicht lassen sich innerhalb der ziemlich langen Übersicht die Teilbereiche der Informatik schnell finden. Vor jeder Lehrveranstaltung wird eine Checkbox angezeigt. Für jede Lehrveranstaltung, zu der Sie die Detailinformationen sehen möchten, aktivieren Sie diese Checkboxen. Wenn Sie alle interessanten Lehrveranstaltungen ausgewählt haben, klicken Sie auf einen der ganz oben oder ganz unten auf der Seite zu findenden Ausgewählte Lehrveranstaltungen anzeigen -Knöpfe. Dadurch wird eine Seite angezeigt, die zu allen ausgewählten Lehrveranstaltungen die bereitgestellten Informationen enthält. Diese Seite hat keine Kopf- und Navigationsleisten, damit sie sich in jedem Browser gut speichern und ausdrucken läßt. Zurück zur Übersicht kommen Sie hier mit dem Zurück - oder Back -Knopf des Browsers. Bei manchen Browsern müssen Sie danach noch auf den neu laden -, Aktualiseren - oder Reload -Knopf klicken. Das liegt daran, daß diese Browser Formulare nicht zwischenspeichern. Wenn Sie sich alte kommentierte Vorlesungsverzeichnisse bzw. evtl. schon eingegebene Daten des nächsten Semesters anschauen möchten, so können Sie dieses Semester mit den Auswahlfenstern in der Navigationsleiste einstellen und auf den dazugehörigen Go -Knopf klicken. In der Navigationsleiste befindet sich darunter ein Feld, in das Sie 4.1. STUDENTEN-SERVLET 9 ein Wort eingeben können. Durch Anklicken des dazugehörigen Go Knopfes können Sie dieses Wort im kommentierten Vorlesungsverzeichnis suchen lassen. Logisch verknüpfte Suchbegriffe unterstützt dieses Programm nicht. Sie können jedoch auch Suchbegriffe eingeben, die länger als ein Wort sind. Das Leerzeichen wird dann wie ein normaler Buchstabe behandelt. Der Suchbegriff wird in allen Feldern der Datenbank gesucht. Dabei ist die Groß / Kleinschreibung irrelevant und der Begriff kann auch nur Teil eines Wortes sein. Werden eine oder mehrere Lehrveranstaltungen des aktuellen Semesters gefunden, die in einem beliebigen Feld den gesuchten Begriff enthalten, so werden deren Titel analog zur Übersicht mit vorangestellter Checkbox angezeigt. Dann suchen Sie sich eine oder mehrere Lehrveranstaltungen durch Aktivieren der Checkboxen aus und lassen sie sich mit dem Ausgewählte Lehrveranstaltungen anzeigen -Knopf anzeigen. Möchten Sie den Begriff in allen Semestern (also der gesamten Datenbank) suchen, so lassen Sie den Begriff erst normal suchen und klicken dann unten auf der Seite auf den In allen Semestern suchen -Knopf. Die Titel derLehrveranstaltungen werden dann sortiert nach Semestern und innerhalb der Semester absteigend sortiert nach Instituten angezeigt. Manche Browser können auch ein Lesezeichen auf das kommentierte Vorlesungsverzeichnis mit übergebenem Suchbegriff speichern. Zum Beispiel findet der Aufruf von http://www.iti.cs.tu-bs.de/KommVor/Studenten?Such1=prog alle Lehrveranstaltungen des aktuellen Semesters, die den Begriff prog enthalten. Dabei ist die Groß / Kleinschreibung irrelevant und der Begriff kann auch nur Teil eines Wortes sein. Es wird also auch z.B. Programmieren gefunden. Um in allen Semestern zu suchen geben Sie folgendes ein: http://www.iti.cs.tu-bs.de/KommVor/Studenten?Such1=prog&Suchen2=x . Genauso kann man auch die Übersicht für ein bestimmtes Semester anfordern bzw. als Lesezeichen speichern: http://www.iti.cs.tu-bs.de/KommVor/Studenten?Jahr=2000&Saison=WS . 10 4.2 KAPITEL 4. BENUTZUNG DES KOMMVOR Institute-Servlet Im ersten Teil dieses Abschnittes werden alle Formulare des InstituteServlets erklärt. Im zweiten Teil finden Sie Aufgabenstellungen, die sich für Sie ergeben können, und deren Lösungen in Form einer FAQ (frequently asked questions). 4.2.1 Die Formulare Wenn Sie das Institute-Servlet aufrufen, so erhalten Sie als erstes das Login-Formular. Falls Sie mal Ihre ID/Passwort-Kombination nicht mehr wissen, so können Sie sich diese zumailen lassen. Dazu klicken Sie auf den Identifikation zumailen lassen -Knopf. Danach suchen Sie Ihr Institut aus und klicken auf den Mail senden -Knopf vor dem Namen Ihres Instituts. Es wird dann eine Mail an die in der Datenbank eingetragenen berechtigten Personen Ihres Instituts gesendet. Achtung: Ihr Institut kann zweimal in der Liste vorhanden sein, einmal für Hauptstudium-Lehrveranstaltungen und einmal für NebenfachLehrveranstaltungen. Zum Benutzen des Institute-Servlets benötigen Sie eine User-ID und ein Passwort. Dies ist erforderlich, da die Institute die Datenbank nur für Lehrveranstaltungen ihres Instituts ändern können sollen. Bitte geben Sie diese ID/Passwort-Kombination in die Felder des LoginFormulars ein und bestätigen Sie sie mit dem Login -Knopf. Wenn die ID/Passwort-Kombination stimmt, wird ein Menu angezeigt, das automatisch die Ihrem Institut entsprechenden Daten für das aktuelle Semester enthält. Oben auf der Seite wird Ihnen die Möglichkeit gegeben, das Passwort Ihres Instituts zu ändern. Dazu geben Sie das alte Passwort und zweimal das neue Passwort ein und klicken auf Passwort ändern . Wenn das neue Passwort akzeptiert und in die Datenbank eingetragen wurde, so wird automatisch eine Mail an alle berechtigten Personen Ihres Instituts erzeugt, welche über die Änderung des Passwortes informiert. Im Bereich darunter werden Ihnen für das Eingabe-Semester alle bereits eingegebenen Lehrveranstaltungen angezeigt. Das Eingabe-Semester 4.2. INSTITUTE-SERVLET 11 wird vom Administrator des kommentierten Vorlesungsverzeichnisses bestimmt. Es ist im Normalfall im Wintersemester das folgende Sommersemester und im Sommersemester das folgende Wintersemester. Hat Ihr Institut noch keine Lehrveranstaltungen eingetragen, so ist dieser Bereich leer. Möchten Sie eine der eingegebenen Lehrveranstaltungen ändern oder löschen, so klicken Sie auf den Ändern -Knopf. Sie gelangen dann in das Eingabeformular, welches weiter unten erklärt wird. Darunter befindet sich der Knopf Neu . Benutzen Sie ihn bitte, wenn Sie eine Lehrveranstaltung eingeben möchten, die noch nie in das kommentierte Vorlesungsverzeichniseingetragen wurde. Auch hier gelangen Sie in das Eingabeformular. Wenn Sie eine Lehrveranstaltung eingeben möchten, die bereits in einem vorhergehenden Semester in das kommentierte Vorlesungsverzeichniseingetragen wurde (gleich von welchem Institut), so stellen Sie bitte im Menu ganz unten auf der Seite mit den Auswahlfenstern das Semester ein, in dem die gewünschte Lehrveranstaltung gehalten wurde, und klicken Sie auf Übernahme einer Lehrveranstaltung dieses Semesters . Sie können dann in der Übersicht der Lehrveranstaltungen dieses Semesters die gewünschte Lehrveranstaltung auswählen, indem Sie auf den Übernehmen -Knopf klicken. Die Daten werden nicht geändert, sondern Sie legen mit dieser Aktion eine zweite Lehrveranstaltung an. Einige Daten der Lehrveranstaltung werden dabei automatisch aktualisiert. So wird das aktuelle Semester und die Zugehörigkeit zu Ihrem Institut eingesetzt. Die restlichen Daten werden im Eingabeformular angezeigt und können von Ihnen geändert oder einfach übernommen werden. Eingabeformular Im Eingabeformular geben Sie die Daten der Lehrveranstaltungen ein bzw. ändern diese Daten. Geben Sie alle gewünschten Daten ein. Sie können die meisten Felder auch leer lassen. Sie erscheinen dann nicht in der Anzeige für die Studenten. Falls Sie die Eingabe abbrechen wollen, ohne daß die Datenbank verändert wird, so klicken Sie bitte auf 12 KAPITEL 4. BENUTZUNG DES KOMMVOR den Abbrechen und zurück zur Übersicht -Knopf. Sie gelangen dann wieder in das Hauptmenu des Instituteservlets. Nachdem Sie alle Daten eingegeben haben, klicken Sie auf den Ausführen -Knopf. Dadurch werden die Daten auf Integrität geprüft und bei Erfolg sofort in die Datenbank geschrieben. Sie sind nun sofort aus der Sicht der Studenten zu sehen. Wenn Sie prüfen wollen, ob Ihre Daten aus der Studentensicht in Ordnung sind, so wählen Sie in der Navigationsleiste auf der linken Seite das Semester und klicken Sie auf den Go -Knopf. Wenn das aktuelle Semester mit dem Semester, für das Sie die Daten eingeben, übereinstimmt, dann können Sie selbstverständlich auch auf den Verweis Aktuelles Semester klicken. Suchen Sie dort in der Übersicht Ihre Lehrveranstaltung und aktivieren Sie die davorstehende Checkbox. Mit dem Ausgewählte Lehrveranstaltungen anzeigen -Knopf können Sie nun die Daten Ihrer Lehrveranstaltung einsehen. Mit zweimaligem Betätigen des Zurück - oder Back -Knopfes Ihres Browsers (bei Netscape danach noch Neu Laden , Aktualisieren oder Reload ) kommen Sie zurück ins Instituteservlet, ohne daß Sie sich neu identifizieren müssen. Wenn Sie die Lehrveranstaltung, die Sie gerade bearbeiten, löschen möchten, dann klicken Sie auf den Diese Lehrveranstaltung aus der Datenbank löschen -Knopf. Sie werden dann nochmal gefragt, ob Sie die Lehrveranstaltung tatsächlich komplett löschen wollen. Falls Sie auch dies bestätigen, so wird die Lehrveranstaltung aus der Datenbank gelöscht. Es folgt die Beschreibung der einzelnen Felder. Die Zahl in Klammern bedeutet dabei immer die maximale Länge des Eingabetextes. Name der Lehrveranstaltung (max. 100 Zeichen) der Name der Lehrveranstaltung Typ der Lehrveranstaltung (50) z. B.: Vorlesung + Übung, oder: Praktikum Diese Lehrveranstaltung ist für (vorgegeben) Hier klicken Sie auf das Auswahlfeld. Manchmal werden hier nur zwei oder eine Möglichkeit angeboten. Mögliche Angaben sind hier: Informatik 4.2. INSTITUTE-SERVLET 13 Grundstudium, Informatik Hauptstudium, Informatik Nebenfach oder Nicht-Informatiker. Dozent(in) (50) Der Name des Dozenten / der Dozentin. Dozent(in)-Email (50) Die Email-Adresse des Dozenten / der Dozentin. Dozent(in)-Telefon (30) Die Telefonnummer des Dozenten / der Dozentin. Dozent(in)-Sprechzeit (50) Die Sprechzeit des Dozenten / der Dozentin. Assistent(in) (50) Der Name des Assistenten / der Assistentin bzw. Übungsleiter(in). Assistent(in)-Email (50) Die Email-Adresse des Assistenten / der Assistentin bzw. Übungsleiter(in). Assistent(in)-Telefon (30) Die Telefonnummer des Assistenten / der Assistentin bzw. Übungsleiter(in). Assistent(in)-Sprechzeit (50) Die Sprechzeit des Assistenten / der Assistentin bzw. Übungsleiter(in). Zeit und Ort der Lehrveranstaltung (beliebig) z.B.: Mo., 11.30 13.00, Mi., 8.00 - 9.30 (jeweils SN 19.2) Datum der ersten Veranstaltung (20) z.B.: Mo., 16.10.2000 LVA-Dauer (z.B.:4+2) (10) Bitte geben Sie hier unbedingt die Zahl der VL-Stunden und der Übungsstunden an. Dieser Wert wird auch in der vorzeitig veröffentlichten tabellarischen Übersicht verwendet. Deswegen halten Sie bitte auch das Format ein. Z.B.: 4+2 Semester (15) Auch hier klicken Sie bitte auf das Auswahlfeld und wählen einen der vorgegebenen Werte. Mögliche Angaben sind: 1. Semester, 2. Semester, 3. Semester, 4. Semester oder Hauptstudium. 14 KAPITEL 4. BENUTZUNG DES KOMMVOR empfohlenes Semester (20) Dieses Feld sollte nur belegt werden, wenn die Studenten einen Vorteil dadurch haben, wenn sie die Lehrveranstaltung in einem bestimmten Semester hören. Scheinerwerb (50) Führen Sie hier bitte die Bedingungen auf, unter denen man einen Schein bekommt, falls welche vergeben werden. Hörerkreis (beliebig) Bitte geben Sie hier die Zielgruppe der Lehrveranstaltung ein Voraussetzungen (beliebig) Falls die Studenten das Wissen aus einer anderen Lehrveranstaltung oder Scheine zum Hören dieser Lehrveranstaltung benötigen, geben Sie diese Voraussetzungen bitte hier ein. Inhalt (beliebig) Bitte geben Sie in diesem Feld unbedingt zumindest kurz an, welchen Inhalt die Lehrveranstaltung hat. Nach den Angaben in diesem Feld orientieren sich manche Studenten bei der Vertiefungsfachwahl. Bemerkungen (beliebig) Dieses Feld steht zur freien Verfügung. Literatur (beliebig) Falls Sie Ihren Studenten die Möglichkeit geben wollen bereits vor der ersten Vorlesung die Bücher in der UB zu reservieren. Sonstiges (beliebig) Dieses Feld steht zur freien Verfügung. Link zur Online-Beschreibung der Lehrveranstaltung (80) Falls Sie die Lehrveranstaltungbereits auf der Homepage Ihres Instituts zeigen, können Sie hier den Link dorthin eintragen. leeres Feld (30) Hier können Sie ein Feld anlegen, dessen Namen Sie selbst eingeben können. leer (beliebig) leer (30) Ein zweites frei definierbares Feld. leer (beliebig) 4.2. INSTITUTE-SERVLET 4.2.2 15 FAQ Frage: Was macht man, wenn man das Passwort vergessen hat? Antwort: Rufen Sie das Institute-Servlet auf und klicken Sie auf Identifikation zumailen lassen . Suchen Sie Ihr Institut aus und klicken Sie auf den Mail senden -Knopf vor Ihrem Institut. Es wird dann eine Mail an die in der Datenbank eingetragenen berechtigten Personen Ihres Instituts gesendet. Achtung: Ihr Institut kann zweimal in der Liste vorhanden sein, einmal für Hauptstudium-Lehrveranstaltungen und einmal für Nebenfach-Lehrveranstaltungen. Frage: Wie gibt man eine ganz neue Lehrveranstaltung ein? Antwort: Klicken Sie nach dem Login im Menu auf den Neu -Knopf. Geben Sie die Daten ein und klicken Sie auf den Ausführen -Knopf. Frage: Wo sieht man, daß die eingegebenen Daten der Lehrveranstaltung korrekt wiedergegeben werden? Antwort: Wählen Sie in der Navigationsleiste mit den Auswahlfenstern das Semester aus und klicken sie auf Go . Suchen Sie die Lehrveranstaltung in der Übersicht, aktivieren Sie die Checkbox und klicken Sie ganz oben oder ganz unten auf Ausgewählte Lehrveranstaltungen anzeigen . Frage: Wie kommt man von der Ansicht der Lehrveranstaltungen zurück ins Institute-Servlet? Antwort: Wenn Sie vorher schon im Instituteservlet eingeloggt waren, können Sie mehrfach den Zurück - oder Back -Knopf Ihres Browsers benutzen. Dies ist nur bei formularspeichernden (Internet Explorer) Browsern wirklich sinnvoll, da Sie sonst noch im richtigen Moment die Seite neu laden müssen. Sie können sich auch neu einloggen. Frage: Wie korrigiert / ändert man Lehrveranstaltungen? Antwort: Klicken Sie im Menu auf den Ändern -Knopf vor der betreffenden Lehrveranstaltung. Ändern Sie die Daten und klicken Sie auf Ausführen . Frage: Wie löscht man Lehrveranstaltungen? Antwort: Klicken Sie im Menu auf den Ändern -Knopf vor der betreffenden Lehrveranstaltung. Klicken Sie nun ganz unten auf der Seite 16 KAPITEL 4. BENUTZUNG DES KOMMVOR auf Diese Lehrveranstaltung aus der Datenbank löschen . Sie müssen das Löschen dann nochmal bestätigen. Frage: Wie kann man die Daten eigener oder fremder Lehrveranstaltungen kopieren bzw. übernehmen? Antwort: Wählen Sie im Menu ganz unten auf der Seite mit den Auswahlfenstern das Semester, in dem die gewünschte Lehrveranstaltung gehalten wurde, und klicken Sie auf Übernahme einer Lehrveranstaltung dieses Semesters . Sie können dann die Lehrveranstaltung auswählen, indem Sie auf Übernehmen klicken. Die Daten werden nicht geändert, sondern Sie legen mit dieser Aktion eine zweite Lehrveranstaltung an. Einige Daten der Lehrveranstaltung werden dabei automatisch aktualisiert. So wird das aktuelle Semester und die Zugehörigkeit zu Ihrem Institut eingesetzt. Frage: Wie trägt man Lehrveranstaltungen für das Grundstudium ein? Antwort: Sie können solche Lehrveranstaltungen nur eintragen, wenn Sie die Berechtigung dazu besitzen. Wählen Sie bei der Eingabe der Lehrveranstaltung im Feld Diese Lehrveranstaltung ist für den Wert Informatik Grundstudium aus. Wählen Sie im Feld Semester einen der Werte: 1. Semester , 2. Semester , 3. Semester oder 4. Semester . Ansonsten geben Sie die Daten normal ein. Frage: Wie trägt man Lehrveranstaltungen für das Hauptstudium ein? Antwort: Sie können solche Lehrveranstaltungen nur eintragen, wenn Sie die Berechtigung dazu besitzen. Wählen Sie bei der Eingabe der Lehrveranstaltung im Feld Diese Lehrveranstaltung ist für den Wert Informatik Hauptstudium aus. Wählen Sie im Feld Semester den Wert Hauptstudium aus. Ansonsten geben Sie die Daten normal ein. Frage: Wie trägt man Lehrveranstaltungen als Nebenfach ein? Antwort: Sie können solche Lehrveranstaltungen nur eintragen, wenn Sie die Berechtigung dazu besitzen. Wählen Sie bei der Eingabe der 4.2. INSTITUTE-SERVLET 17 Lehrveranstaltung im Feld Diese Lehrveranstaltung ist für den Wert Informatik Nebenfach aus. Im Feld Semester können Sie ein beliebiges Semester eintragen. Ansonsten geben Sie die Daten normal ein. Frage: Wie trägt man Lehrveranstaltungen für NichtInformatiker ein? Antwort: Sie können solche Lehrveranstaltungen nur eintragen, wenn Sie die Berechtigung dazu besitzen. Wählen Sie bei der Eingabe der Lehrveranstaltung im Feld Diese Lehrveranstaltung ist für den Wert Nicht-Informatiker aus. Im Feld Semester können Sie ein beliebiges Semester eintragen. Ansonsten geben Sie die Daten normal ein. Frage: Wie ändert man Lehrveranstaltungen vergangener Semester? Antwort: Sie können keine Lehrveranstaltungen vergangener Semester ändern. Welches Semester gerade für die Eingabe aktuell ist, wird vom Administrator festgelegt. Selbstverständlich kann der Administrator alle Lehrveranstaltungen ändern. Bei Fragen schicken Sie eine E-Mail an den Administrator des kommentierten Vorlesungsverzeichnisses. Sie finden die Adresse des Administrators in der Navigationsleiste unter E-Mail: Verwalter . Frage: Was macht man, wenn ein Fehler aufgetreten ist? Antwort: Bitte schicken Sie eine E-Mail an den Administrator des kommentierten Vorlesungsverzeichnisses. Sie finden die Adresse des Administrators in der Navigationsleiste unter E-Mail: Verwalter . 18 KAPITEL 4. BENUTZUNG DES KOMMVOR 4.3 Admin-Servlet Auch hier werden im ersten Teil dieses Abschnittes alle Formulare des Admin-Servlets erklärt. Im zweiten Teil finden Sie wieder Aufgabenstellungen, die sich für den Administrator ergeben können und deren Lösungen in Form einer FAQ (frequently asked questions). 4.3.1 Die Formulare Nachdem Sie das Admin-Servlet unter www.iti.cs.tu-bs.de/KommVor/Admin aufgerufen haben, müssen Sie sich mit dem Administrator-ID und Passwort authentifizieren. Danach gelangen Sie in das Hauptmenu des Admin-Servlets. Hier stehen Ihnen folgende Optionen zur Verfügung: • Eine LVA editieren • Eine LVA-Vorschau erstellen • Eigenschaften des KommVor ändern • Ein neues Institut anlegen • Daten eines Instituts ändern • Mail-Menu • DB mit SQL-Monitor bearbeiten Eine LVA editieren Wählen Sie erst das entsprechende Semester und betätigen Sie den betreffenden Knopf. Sie gelangen dann in das Studenten-Servlet, wo Sie die zu ändernde Lehrveranstaltung mit dem Edit -Knopf auswählen. Sie werden ins Institute-Servlet weitergeleitet und sehen dort die gewählte Lehrveranstaltung im Eingabeformular. Sie können nun die Änderungen vornehmen und mit Ausführen in die Datenbank schreiben. Danach sind Sie automatisch wieder im Hauptmenu des AdminServlets. 4.3. ADMIN-SERVLET 19 Eine LVA-Vorschau erstellen Wählen Sie erst das entsprechende Semester und betätigen Sie den betreffenden Knopf. Es wird dann eine Html-Seite angezeigt, die eine Kurzübersicht mit allen eingetragenen Lehrveranstaltungen enthält. Diese Html-Seite enthält kein Kopffeld, keine Navigationsleiste und auch keine Menuknöpfe, damit sie sich so speichern und ausdrucken läßt, daß sie auch in Aushängen verwendet werden kann oder sich als Htmlseite in Webpages einbinden läßt. Deswegen gibt es hier auch keinen Knopf, der zurück ins Hauptmenu führt. Sie müssen also den Back - oder Zurück -Knopf Ihres Browsers benutzen. Falls der Browser keine Seiten zwischenspeichert, so müssen Sie noch Aktualisieren/Neu laden bzw. Reload betätigen. Eigenschaften des KommVor ändern Alle Eigenschaften des kommentierten Vorlesungsverzeichnisses sind in der Datenbank in der einzeiligen Tabelle MetaDaten gespeichert. Wenn Sie die Eigenschaften ändern wollen, dann ändern sie diese Tabelle. Nachdem Sie im Hauptmenu den Knopf Eigenschaften des KommVor ändern angeklickt haben, zeigt das folgende Formular alle Felder dieser Tabelle mit ihren aktuellen Werten an. Sie können diese Werte ändern. Achten Sie dabei aber darauf, daß die Werte konsistent zueinander bleiben. Es folgt die Beschreibung der einzelnen Felder. Die Zahl in Klammern bedeutet dabei immer die maximale Länge des Eingabetextes. InstitutsServlet Login Wenn der Eintrag offen gewählt ist, ist alles normal, ist gesperrt gewählt, so können die Institute sich derzeit nicht im Institute-Servlet anmelden, es ist also kein Zugriff auf ihre Daten möglich. Startjahr der DB Das älteste Jahr des Online-KommVor, welches man sich anzeigen lassen kann. Dieser Wert sollte irgendwann (z.B. ab 2020) erhöht werden, um die Auswahlfenster nicht zu lang werden zu lassen. D.h., der Wert sollte nicht um mehr als 20 Jahre vom Endjahr differieren. 20 KAPITEL 4. BENUTZUNG DES KOMMVOR Endjahr der DB Dieses Jahr entspricht dem aktuellsten, anzeigbaren Jahr des Online-KommVor und sollte im Regelfall gleich mit Aktuellesjahr sein. Der Wert darf nicht kleiner als der Wert des Startjahres sein. Aktuelles Jahr für Eintragungen der Institute Dieses Jahr (Semester) bestimmt, für welches Semester die Institute Eintragungen machen können. Aktuelle Saison für Eintragungen der Institute SS / WS Aktuelles Jahr für die Ausgabe für die Studenten Dieses Jahr (Semester) bestimmt, welches Semester in der Navigationsleiste und beim ersten Aufruf des kommentierten Vorlesungsverzeichnisses als aktuelles Semester gilt. Aktuelle Saison für die Ausgabe für die Studenten SS WS oder LetzteVLNummer Dieser Wert wird intern zum Sortieren verwendet und sollte daher nur vom Programmierer zum Testen verändert werden. Admin Username (8) Sie können hier Ihren eigenen Administratoren-Benutzernamen ändern. Admin Passwort (8) Sie können hier Ihr eigenes AdministratorenPasswort ändern. Admin Email (beliebig) Falls Fehler im kommentierten Vorlesungsverzeichnis bezüglich der Eingabe von Lehrveranstaltungen auftreten, die das Programm bemerkt, so wird an diese Adresse eine Mail versendet. Ebenso erscheint diese Mail-Adresse als Adresse des Verwalters des kommentierten Vorlesungsverzeichnisses in der Navigationsleiste. Admin Reply-Email (80) Falls das KommVor-Programm automatische Mails versendet, so wird diese Adresse im FROM-Feld der Mail eingetragen. 4.3. ADMIN-SERVLET 21 Autor Email (80) Falls Fehler im kommentierte Vorlesungsverzeichnisbezüglich der Programmierung auftreten, die das Programm bemerkt, so wird an diese Adresse eine Mail versendet. Ebenso erscheint diese Mail-Adresse als Adresse des Autors des KVs in der Navigationsleiste. TitelRundschreiben1-7 (50) Sie können hier den Rundschreiben aus dem Mail-Menu Titel geben, die dort angezeigt werden. Wenn Sie die Werte aktualisiert haben, schreiben Sie sie mit Ausführen in die Datenbank. Ein neues Institut anlegen Daten eines Instituts ändern In diesen beiden Menupunkten haben Sie die Möglichkeit, die Daten der Institute zu verändern. Die Felder : [Name des Instituts] Der eigene Name des Instituts. [Fachname] Der Name des entsprechenden Prüfungsfaches aus der Prüfungsordnung. [Kürzel des Instituts] Dieses Kürzel muß nicht dem gebräuchlichem Kürzel des Instituts entsprechen, sollte aber. Es sollte unbedingt 4 Zeichen lang sein, deswegen bitte den vierten bzw. dritten und vierten Buchstaben mit 1 auffüllen, bzw. bei mehreren Abteilungen innerhalb eines Institutes diese per Nummer unterscheiden. [Sortiernummer des Instituts] Diese Nummer ist zum richtigen Sortieren der Lehrveranstaltungen wichtig. Deswegen bitte folgende Konventionen beachten: 200-299: Theoretische Informatik 300-399: Praktische Informatik 400-499: Technische Informatik 500-599: Mathematik-Lehrveranstaltungen als Pflichtfach 22 KAPITEL 4. BENUTZUNG DES KOMMVOR 600-899: Nebenfächer (auch Mathematik) Diese Nummer sollte, nachdem das Institut Lehrveranstaltungen eingetragen hat, niemals wieder geändert werden. [Link zur Homepage des Inst.] Wird derzeit nicht verwendet. [Email des Administrators des Inst.] An diese Adresse werden Mails des kommentierten Vorlesungsverzeichnisses automatisch durch den Administrator verschickt. Hier können auch mehrere Email-Adressen der Mitarbeiter des Instituts durch Kommas getrennt eingetragen werden. [Email für Beschwerden (Professor)] Wird derzeit nicht verwendet. [Username] Der Benutzername des Instituts (derzeit unverschlüsselt). [Passwort] Das Passwort des Instituts (derzeit unverschlüsselt). [Login] Normalerweise offen . Wenn Sie hier gesperrt setzen, dann kann sich dieses Institut nicht im Institute-Servlet anmelden und so keine Daten ändern. [Eintragung von LVA für das Grundstudium sind] [Eintragung von LVA für das Hauptstudium sind] [Eintragung von LVA als Nebenfach sind] [Eintragung von LVA für Nicht-Informatiker sind] erlaubt oder nicht erlaubt . Diese Eintragung bestimmt, welche Arten von Lehrveranstaltungen dieses Institut eintragen darf. Wenn Sie die Werte eingegeben haben, schreiben Sie sie mit Ausführen in die Datenbank. Wenn Sie die Daten eines Instituts ändern, dann gibt es in dem Formular auch die Möglichkeit dieses Institut zu löschen. Wählen Sie diese Option bitte mit Bedacht aus, da nach dem Löschen eines Instituts, die Lehrveranstaltungen dieses Instituts auch bei dem Aufruf eines alten KommVors nicht mehr angezeigt werden. Es ist für die nächste Überarbeitung des kommentierten Vorlesungsverzeichnisses ein anderes System vorgesehen. Sie können hier derzeit ein Institut mit oder ohne den Lehrveranstaltungen dieses Instituts löschen. 4.3. ADMIN-SERVLET 23 Mail-Menu Dieses Menu dient dazu, daß Sie den Instituten zu bestimmten Anlässen vorgefertigte Emails schicken können. Sie wählen als erstes, welches Rundschreiben Sie bearbeiten und / oder verschicken möchten. Dieses Rundschreiben wird Ihnen dann angezeigt. Jedes Rundschreiben besteht aus drei Teilen. Zwei beliebig lange Textteile und ein vom Programm erzeugten Zwischenteil, der das Institut über seine aktuelle Benutzeridentifikation informiert. Sie können den Text ändern. Wenn Sie den Text nur für diese Mail ändern wollen, so versenden Sie die Mail nach der Änderung einfach. Der geänderte Text wird dann nicht gespeichert. Wenn Sie den Text jedoch für zukünftige Benutzungen ändern wollen, so aktivieren Sie unten im Formular die Checkbox Änderungen am Text permanent speichern und klicken dann auf einen der weiterführenden Knöpfe. Bitte klicken Sie in diesem Fall nicht auf zurück zum Hauptmenu . Sie können mit an alle Institute eine Email an alle im kommentierten Vorlesungsverzeichnis vorhandenen Institute senden. Mit dem Knopf Institute selektieren können Sie erst auswählen, an welche im kommentierten Vorlesungsverzeichnis vorhandenen Institute die Email versendet wird. Und mit dem Knopf an alle Institute, die keine Einträge vorgenommen haben können Sie eine Email an diejenigen Institute senden, die noch keine Lehrveranstaltungen für das aktuelle Semester eingegeben haben. Bei allen Optionen werden Sie, bevor die Email tatsächlich versendet wird, nochmal gefragt, ob Sie die Email tatsächlich versenden wollen. DB mit SQL-Monitor bearbeiten In diesem Menu haben Sie die Möglichkeit, die Datenbank völlig frei von Restriktionen durch Konsistenzprüfungen der KommVor-Servlets zu manipulieren. Sie können mit dem Monitor auf alle Felder aller Tabellen des kommentierten Vorlesungsverzeichnisses sowohl lesend, löschend als auch schreibend zugreifen. Sie können entweder ein komplettes SQLKommando im ersten Formular (hier Alternative genannt) eingeben und ausführen lassen. Grundsätzlich wird Ihnen das Kommando vom 24 KAPITEL 4. BENUTZUNG DES KOMMVOR Monitor nochmal gezeigt, bevor Sie es ausführen. Im zweiten Formular können Sie das SQL-Kommando per Menus zusammenstellen. In den Menus werden Ihnen jeweils nur sinnvolle Optionen zur Auswahl angeboten. Im dritten Formular stellen Sie das SQL-Kommando in einem Formular zusammen. Mit dem Monitor lassen sich z.B. verlorengegangene Lehrveranstaltungen suchen und wieder zu einem Institut zuordnen. Oder falls sich z.B. das Institutskürzel ändern soll, so kann man hier leicht alle Datensätze gleichzeitig manipulieren und so auch diese Aufgabe erledigen. 4.3.2 FAQ Frage: Welche Aufgaben sind am Anfang eines neuen Semesters zu erledigen? Antwort: In den Eigenschaften des kommentierten Vorlesungsverzeichnisses müssen die Jahreszahlen und Semester aktualisiert werden. Danach müssen die entsprechenden Emails an die Institute versendet werden. Frage: Wo steht das Administratoren-ID/Passwort? Antwort: Wenn Sie sich anmelden können, so können Sie sich unter Eigenschaften des kommentierten Vorlesungsverzeichnisses ändern ID und Passwort anzeigen lassen und sie dort verändern. Ansonsten bleibt nur der Weg direkt über die MySQL-Datenbank. Dort steht die Identifikation in der Datenbank KommVor in der Tabelle MetaDaten unter SuperUsername und SuperPasswort. Frage: Ein Institut fragt nach seinem ID / Passwort. Antwort: Sie können das Passwort unter Daten eines Instituts ändern lesen und ändern oder es direkt im MailMenu an dieses Institut senden. Frage: Wie wird die ID / das Passwort eines Instituts geändert? Antwort: Sie können das Passwort unter Daten eines Instituts ändern lesen und ändern oder es direkt im MailMenu an dieses Institut senden. Frage: Ein neues Institut soll angelegt werden. 4.3. ADMIN-SERVLET 25 Antwort: Derzeit muß nur der Menupunkt ein neues Inst. anlegen aufgerufen und die Daten dort eingetragen werden Frage: Ein Institut soll gelöscht werden. Antwort: Denken Sie daran, daß die Lehrveranstaltungen dieses Instituts vielleicht noch zum Übernehmen durch andere Institute gebraucht werden. Deswegen soll in der nächsten Version des kommentierten Vorlesungsverzeichnisses eine verbesserte Speicherung von geschlossenen Instituten verwirklicht werden. Ansonsten geht das Löschen über den Menupunkt Daten eines Instituts ändern und dort mit dem Knopf Dieses Institut aus der Datenbank löschen . Frage: Ein KommVor-berechtigter Mitarbeiter verläßt ein Institut. Antwort: Die Administratoren-Email-Adresse dieses Institut muß geändert werden. Danach muß das Passwort neu gesetzt werden und dem Institut eine Email mit der neuen Identifikation zugesendet werden. Frage: Ein Institut hat einen neuen KommVor-berechtigten Mitarbeiter. Antwort: Auch hier bitte die Email ändern und die Identifikation zur Sicherheit noch einmal zusenden. Frage: Wie kann man eine Lehrveranstaltung zwischen zwei Instituten verschieben, z.B. zwischen dem Institut zu seinem Nebenfachinstitut? Antwort: Als Ziel-Institut einloggen und die Lehrveranstaltung übernehmen. Falls die Lehrveranstaltung gar nicht mehr zu sehen ist, muß man mit dem SQL-Monitor die Sortiernummer und das Institutskürzel ändern. Trotzdem sollte man danach diese Lehrveranstaltung nochmal übernehmen, damit die interne Suchnummer automatisch aktualisiert wird. Frage: Wie kann man ein Backup der DB anlegen? Antwort: Der DV-Administrator kann die Datenbank kopieren. Die Datenbank wird derzeit automatisch mit gesichert, wenn ein Institutsbackup läuft. Frage: Was macht man, wenn ein schwerer Fehler aufgetreten ist? 26 KAPITEL 4. BENUTZUNG DES KOMMVOR Antwort: Evtl. kann man den Fehler beheben, indem man den Server (Apache) neu startet und somit die Servlets neu gestartet werden. Ansonsten hilft vielleicht eine Email an den Autor? Kapitel 5 Implementierung des KommVor Die Dokumentaion der einzelnen Servlets ist auf der beiliegenden CD in Form von Html-Seiten im Java-Documentation-Format zu finden. Die Dateien heißen Studenten.html, Institute.hmtl und Admin.html. 5.1 Die Dateien Als erstes werden alle Dateien, die das kommentierte Vorlesungsverzeichnis darstellen, aufgeführt und erklärt. Die drei wichtigsten Dateien sind die drei Servlets: Studenten.java, Institute.java und Admin.java. Diese Dateien existieren in zwei Versionen. Die normalen Versionen bilden das Realsystem, welches das tatsächliche KommVor darstellt. Die Dateien StudentenTS.java, InstituteTS.java und AdminTS.java bilden das Testsystem. Sie werden nur zum Testen von neuen Versionen des kommentierten Vorlesungsverzeichnisses gebraucht. Dabei greifen Sie auf eine gesonderte Datenbank KommVorTS zu, so daß beim Testen keine wichtigen Daten verlorengehen können. Änderungen am kommentierten Vorlesungsverzeichnis werden also nur an diesen Dateien vorgenommen. Diese werden dann getestet. Nach erfolgreichem Test werden dann diese Dateien umgewandelt und über die Realsystemdateien kopiert. 27 28 KAPITEL 5. IMPLEMENTIERUNG DES KOMMVOR Bevor man die Dateien umwandelt, sollte man die vorgenommenen Änderungen im Kopf der Datei dokumentieren. Um ein Servlet vom Testsystem ins Realsystem zu übernehmen muß man erst die Dateien kopieren. Z.B.: cp StudentenTS.java Studenten.java Dann muss der Klassenname angepaßt werden: StudentenTS wird zu: Studenten Dann müssen die folgenden Konstanten umkommentiert werden, so daß die Konstanten des Realsystems unkommentiert sind und die des Testsystems kommentiert sind: /* RealSystem */ protected static final String StudentenServletUrl = ... ... /* */ /* TestSystem protected static final String StudentenServletUrl = ... ... */ Nun müssen die Servlets nur noch neu kompiliert werden. Die Dateien Studenten.class, Institute.class und Admin.class stellen dann die lauffähigen Servlets dar. Wenn Sie bereits im Browser ein Servlet gestartet hatten, dann müssen Sie es nun neu starten, indem Sie es in der Navigationsleiste einfach anklicken und sich evtl. neu identifizieren. Weitere Dateien : [Kopfleiste.html] Wird in fast jeder erzeugten Html-Datei als erstes eingefügt und beinhaltet die Struktur der Tabelle, aus der jede erzeugte Html-Seite besteht, und den Inhalt der ersten Zeile dieser Tabelle, nämlich das Kopffeld mit dem TU-Logo und die Überschrift. 5.1. DIE DATEIEN 29 [Navigationsleiste.html] Wird auch in fast jeder erzeugten Html-Datei eingefügt. Sie beinhaltet die linke Spalte in der zweiten (und letzten) Zeile der Haupttabelle. Dadurch wird auf diesen Seiten links die Navigationsleiste angezeigt. [NavigationTeil1.html] [NavigationTeil2.html] Aus diesen beiden Teilen und einem automatisch erzeugten Zwischenstück wird die Navigationsleiste neu zusammengesetzt, wenn der Administrator das Startjahr oder das Endjahr des kommentierten Vorlesungsverzeichnisses verändert. [NavigationsleisteTS.html] [NavigationTeil1TS.html] [NavigationTeil2TS.html] Das Pendant im Testsystem. Hier sind nur die Verweise (Links) anders — sie zeigen ins Testsystem. [Rundschreiben. . . ] Die einzelnen Teile der gespeicherten Rundschreiben. Sie können auch direkt im Verzeichnis geändert werden. [RundschreibenLigHinweise] Diese Datei kann man mit dem Steuercode ‘$$Hinweise‘ in die Rundschreiben einfügen. Diese Datei kann nur hier im Verzeichnis direkt geändert werden. [kommvor.properties] steht im Oberverzeichnis und legt einige Serverseitige Eigenschaften der Servlets fest. [index.html] Eine Homepage des kommentierten Vorlesungsverzeichnisses, die aber derzeit nicht genutzt wird. [classpfad, MenuCodes.txt, MySQL.txt, Datensammlung] Dokumentations- und Hilfsdateien. [Studenten.html, Institute.hmtl und Admin.html] Die Dokumentaion zu den Servlets. 30 5.2 KAPITEL 5. IMPLEMENTIERUNG DES KOMMVOR Die Datenbank Wie schon oben erwähnt, gibt es zwei Datenbanken. Die Datenbank KommVor ist die tatsächlich benutzte und die Datenbank KommVorTS ist die vom Testsystem benutzte Datenbank. Sie sind von der Struktur her genau identisch, so daß sie hin- und herkopiert werden können. So kann man die KommVor-DB zu bestimmten Zeiten über die KommVorTS-DB kopieren und sich so ein zweites Backup anlegen. Außerdem kann man so die neuen Änderungen im Testsystem an aktuellen Daten testen. Die Datenbank besteht aus drei Tabellen. Die Tabelle Metadaten enthält nur eine Zeile und beschreibt die Eigenschaften des kommentierten Vorlesungsverzeichnisses. Die Felder der Tabelle MetaDaten wurden in Kapitel 4.3.1 beschrieben, die Tabelle Institute in Kapitel 4.3.1 und die Tabelle Vorlesungen in Kapitel 4.2.1. Deswegen werden die Felder hier nur mit ihrer SQL Struktur und ihren Typen aufgeführt. NN bedeutet Not Null und heißt, daß dieser Wert unbedingt einen Wert erhalten muß. Tabelle MetaDaten (Dimension: 1 Zeile) [Startjahr] INT ist der Schlüssel der Tabelle [Endjahr] INT NN [Aktuellesjahr] INT NN [AktuelleSaison] CHAR(2) NN [AktuellesJahrFuerStudis] INT NN [AktuelleSaisonFuerStudis] CHAR(2) NN [LetzteVLNummer] INT NN [SuperUsername] CHAR(8) NN [SuperPasswort] CHAR(8) NN [AdminEmail] TEXT NN [AdminReplyEmail] CHAR(80) NN [AutorEmail] CHAR(80) NN 5.2. DIE DATENBANK 31 [InstitutsServletLogin] CHAR(10) NN [TitelRundschreiben1] CHAR(50) [TitelRundschreiben2] CHAR(50) [TitelRundschreiben3] CHAR(50) [TitelRundschreiben4] CHAR(50) [TitelRundschreiben5] CHAR(50) [TitelRundschreiben6] CHAR(50) [TitelRundschreiben7] CHAR(50) [TitelRundschreiben8] CHAR(50) [TitelRundschreiben9] CHAR(50) Tabelle Institute (Dimension: derzeit 28 Zeilen) [Kurz] CHAR(4) ist der Schlüssel der Tabelle [InstNr] INT NN UNIQUE (darf nur einmal benutzt werden) [Name] CHAR(150) NN [Fachname] CHAR(100) NN [LinkZurHomepage] CHAR(50) [AdminEmail] TEXT NN [EmailFuerBeschwerden] CHAR(100) [DBUsername] CHAR(8) NN UNIQUE [DBPasswort] CHAR(8) NN UNIQUE [Login] CHAR(10) NN [LVAfuerGrund] CHAR(15) [LVAfuerHaupt] CHAR(15) [LVAfuerNeben] CHAR(15) [LVAfuerNicht] CHAR(15) 32 KAPITEL 5. IMPLEMENTIERUNG DES KOMMVOR Tabelle Vorlesungen (Dimension: ca. 120 Zeilen * Anzahl Semester) [Id] CHAR(25) ist der Schlüssel der Tabelle [VLName] CHAR(100) NN [LVATyp] CHAR(50) [Jahr] INT NN [DBUsername] CHAR(8) [DBPasswort] CHAR(8) [InstKurz] CHAR(4) NN ist Schlüssel in der Tabelle Institute [LinkVLInfoInst] CHAR(80) [DozentName] CHAR(50) NN [DozentEmail] CHAR(50) [DozentTelefon] CHAR(30) [DozentSprechzeit] CHAR(50) [AssiName] CHAR(50) [AssiEmail] CHAR(50) [AssiTelefon] CHAR(30) [AssiSprechzeit] CHAR(50) [VLZeitOrt] TEXT [UEZeitOrt] TEXT [StartDatum] CHAR(20) [LVADauer] CHAR(10) [Saison] CHAR(2) [Semester] CHAR(15) [empfSemester] CHAR(20) [Hoererkreis] TEXT [Voraussetzungen] TEXT [Scheinerwerb] CHAR(50) [Inhalt] TEXT 5.2. DIE DATENBANK [Bemerkungen] TEXT [Literatur] TEXT [Sonstiges] TEXT [Extra1Name] CHAR(30) [Extra1Wert] TEXT [Extra2Name] CHAR(30) [Extra2Wert] TEXT [InstNr] INT [LVAfuer] CHAR(25) 33 34 KAPITEL 5. IMPLEMENTIERUNG DES KOMMVOR Kapitel 6 Ausblick • Die Eingabe und Ausgabe soll auch aus bzw. in anderen Dateiformaten möglich sein. So soll die Ausgabe wahlweise als Postscript oder Adobe PDF möglich sein. Des weiteren wurde angeregt, daß die Eingabe aus bestehenden Datenbanken oder Html-Seiten kopierbar sein könnte. Das wäre möglich, wenn man dem KommVor die benötigte Berechtigung und die Daten in Parameterform in der URL übergeben kann. • Es soll eine Hilfeseite bzw. mehrere kontextabhängige Hilfeseiten zur Verfügung gestellt werden. • Die Navigationsleiste soll durch ein Extrafenster ersetzt werden, welches immer ganz oben auf dem Bildschirm zu sehen ist (always on top) und alle Links enthält, evtl. sogar mit Kontextmenu. • Verallgemeinerung zu einem TU-weiten KommVor • Es soll eine englischsprachige Version erstellt werden. Dazu könnte man die Texte in Sprachdateien auslagern, so daß die Entwicklung einer französisch- oder anderssprachigen Version erleichtert würde. • Die Passwörter sollen in der Datenbank verschlüsselt gespeichert werden (Einweg-Verschlüsselung). Dabei wird das eingebene Wort verschlüsselt und mit dem DB-Eintrag verglichen. 35 36 KAPITEL 6. AUSBLICK • Es soll ein besseres System für Institute, die derzeit zwei Accounts benötigen, entwickelt werden.. • Zum einfachen Backup der Datanbank soll es einen Knopf im Admin-Servlet geben. • Ein neues Feld in die Tabelle Vorlesungen einfügen: Diese Vorlesung ist mit folgenden Lehrveranstaltungen zum Vertiefungsfach verknüpfbar. • Ein neues Feld in die Tabelle Vorlesungen einfügen: Freigabe. Dieses Feld kann bei der Eingabe der Lehrveranstaltung (de)aktiviert werden, so daß andere Institute diese Lehrveranstaltung (nicht) übernehmen können. • Änderung in der Institute-Tabelle: Felder für das erste Semester des Instituts im KommVor und für das letzte Semester im KommVor anlegen (neue bzw. geschlossene Institute). Dadurch entfällt dann das Löschen von Instituten und neue Institute müssen nicht mehr in alten KommVors erscheinen. • Die Institute sollen das Senden der ID/Passwort-Kombination an ihr Institute per Knopf im Institute-Servlet selbst ermöglichen und sperren können. Anhang A Literatur und WWW-Quellen Auch wenn es eine Menge Bücher gibt, die sich mit den Themen ServerClient-Kommunikation im Internet, Java-Servlets, Java-JDBC usw. befassen, von denen ich einige durchgeblättert habe, seien hier nur diejenigen aufgeführt, die mich auch wirklich weitergebracht haben und deren Inhalte in dieser Studienarbeit wiederzufinden sind. Das größte Problem stellt nicht die Information an sich da, sondern die Selektion der benötigten Information. 1. Peter Roßbach, Hendrik Schreiber Java Server und Servlets Addison-Wesley, 1999 Das Buch besteht aus drei Teilen. Der erste Teil erklärt die Funktionsweise von Servlets. Hier wird auf 80 Seiten das grundlegende Wissen gut vermittelt. Der zweite und dritte Teil enthält komplizierte Programmbeschreibungen eines Programms mit ServletBenutzung der Autoren. Website zum Buch: www.webapp.de 2. Jason Hunter, William Crawford JAVA Servlet Programming O‘Reilly, 1998 Standardwerk. 37 38 ANHANG A. LITERATUR UND WWW-QUELLEN 3. Norman Hendrich Java für Fortgeschrittene Springer, 1998 4. David Flanagan Java in a nutshell O‘Reilly, 1998 5. Rainer Klute JDBC in der Praxis Addison-Wesley-Longman, 1998 6. Stefan Münz, Wolfgang Nefzger HTML 4.0 Handbuch Franzis-Verlag, 1998 Leichtverständliche HTML-Einführung 7. Rames Abdelhamid Das Vieweg LATEX-Buch Vieweg, 1993 Spitzen-Buch für Einsteiger in LATEX. Beschreibt kurz und prägnant, aber verständlich alles Wichtige. 8. Helmut Kopka LATEX – eine Einführung Addison-Wesley, 1991 Standardwerk. 9. Java-Homepage der Firma Sun Microsystems Hier findet man alle Java-Versionen und Zusatz-Module (API) incl. Dokumentationen zum Herunterladen. Ebenso sind OnlineDokumentionen zu allen bisherigen Java-Versionen verfügbar. Homepage: www.java.com bzw.: java.sun.com Homepage der Dokumentation: http://java.sun.com/docs/index.html Online-Dokumentation (evtl. die Verisonsnummer 1.1 durch eine aktuelle Nummer ersetzten): http://java.sun.com/products/jdk/1.1/docs/api/packages.html Diese Dokumentation ist meistens auch lokal auf der Festplatte mit dem Java-Development-Kit (JDK) zusammen installiert, 39 z.B.: /Programme/java/jdk1.2.1/docs/api/index.html 10. Java-Servlet-Seiten der Firma Sun Microsystems: Homepage: http://java.sun.com/products/servlet/index.html Die Seite der benutzten Version: http://java.sun.com/products/servlet/2.2/javadoc/index.html Eine Kurzeinführung (Tutorial) zu Servlets: http://java.sun.com/docs/books/tutorial/servlets/index.html 11. Java-JDBC-Seiten der Firma Sun Microsystems: http://java.sun.com/products/jdbc/index.html 12. Java-Mail-Api der Firma Sun Microsystems: http://java.sun.com/products/javamail/index.html Hierzu wird noch die Java-Activation-API benötigt: http://java.sun.com/beans/glasgow/jaf.html 13. Html-Dokumentationen: z.B.: http://www.teamone.de/selfaktuell/ 14. MySQL Homepage http://www.mysql.com/ 15. Apache-Server Homepage: http://www.apache.org/ bzw.: http://java.apache.org/ 16. Java-Seiten und GNU-Software rund um Java: http://www.oio.de/links.htm 17. Weitere Internet-Seiten-Sammlung auf meiner Homepage: http://www.tu-bs.de/~meschner