Praktikum an der Universität Leipzig, Fakultät für Mathematik und Informatik

14.03.2011 bis 25.03.2011

David Geistert

Thema: Entwicklung eines Web-Programms zur datenbankgestützten Verwaltung von Publikationen

Einleitung

Bisher wurden die Publikationen manuell in mehreren Tex-Dateien verwaltet, wobei eine Datei sämtliche Publikationen für eine bestimmte Publikationsliste (z.B. Algebra, Theoretische Informatik, usw.) enthielt (Abb. 1).
Da eine Publikation u.U. in mehreren Listen enthalten ist, existieren für sie mehrere Einträge in verschiedenen Dateien. Bei Änderungen eines Publikationseintrages müssen dementsprechend Einträge in mehreren Dateien modifiziert werden. Diese Redundanz erschwerte folglich die Aufrechterhaltung der Konsistenz der Daten. Deshalb sollte ein Publikationsverwaltungssystem modelliert und implementiert werden.
Abbildung 1
Abb. 1 Bisherige Publikationsverwaltung

Durchführung

Nach der Definition eines Datenbankschemas waren existierende Publikationseinträge aus den Tex-Dateien zu extrahieren. Anschließend wurde eine Duplikatbereinigung durchgeführt und die verbleibenden Einträge in einer Datenbank zu materialisiert. Als Datenbanksystem kam dabei MySQL Server 5.1 zum Einsatz.
Im Anschluss daran, wurde ein Template Editor realisiert, welcher die Definition der Layouts der einzelnen Publikationslisten sowie eine Zuordnung von Publikationen zu Publikationslisten ermöglicht.
Um ein komfortables Einfügen, Bearbeiten und Löschen von Publikationseinträgen zu ermöglichen, musste ein Publikationseditor erstellt werden. Eine weitere realisierte Funktionalität ist die Suche in dem Publikationsdatensatz. Dazu mussten aus den einzelnen Datensätzen u.a. das Publikationsjahr mittels regulären Ausdrücken extrahiert werden.
Zur Weiterverwendung wurde abschließend ein Publikationslistenexport im Tex- sowie im PDF-Format realisiert. Das Publikationsverwaltungssystem wurde mittels PHP umgesetzt.

Anwendungsbeschreibung

Entry Editor
Über die Eingabe-Maske im Entry Editor (Abb. 2) wird im Feld „Eintrag“ der Publikationstitel und die Publikationsdetails erfasst und im Feld „Jahr“ wird das Erscheinungsjahr vermerkt. Im Feld „Kategorie“ kann die Kategorie und Unterkategorie der Publikation mittels Drop-Down-Menü ausgewählt werden. Die Eingabe wird in der Datenbank gespeichert.

Abbildung 2
Abb. 2 Eingabe Maske im Entry Editor

Die unter der Eingabe-Maske aufgezählten Kategorien können einzeln angewählt und geöffnet werden (Abb. 3).
Abbildung 3
Abb. 3 Auswahl der zu öffnenden Kategorie (rot)

Die in der jeweiligen Kategorie/ Publikationsliste hinterlegten Publikationstitel und – details werden sichtbar und können bearbeitet werden (Abb. 4). Mittels „Submit“ können Änderungen gespeichert und durch „Delete“ können Einträge gelöscht werden.
Abbildung 4
Abb. 4 geöffnete Kategorie mit hinterlegten Publikationen



Template Editor
Im Template Editor (Abb. 5) können Templates neu erstellt oder bereits erstellte Templates bearbeitet oder gelöscht werden. Ein Template definiert die Dokumentenstruktur der generierten PDF-Publikationsliste.

Abbildung 5
Abb. 5 Eingabe Maske im Template Editor

Mittels Drop-Down-Menü können bereits erstellte Templates ausgewählt, bearbeitet oder gelöscht werden (Abb. 6).
Abbildung 6
Abb. 6 Drop-Down-Menü im Template Editor

Nach der Wahl des entsprechenden Templates (Abb. 7) kann die hinterlegte Publikationsliste als LATEX-Dokument (TEX-Symbol) oder als PDF-Dokument (PDF-Symbol) geöffnet werden (Abb. 8).

Abbildung 7
Abb. 7 Wahl des Templates

Abbildung 8
Abb. 8 Anzeige der Publikationsliste als LATEX – bzw. als PDF-Dokument

Desweiteren kann das gewünschte Template durch Anwahl des Buttons „Bearbeiten“ bearbeitet werden. In diesem Fall wird der Template-Name und der Inhalt des Templates angezeigt (Abb. 9).

Abbildung 9
Abb. 9 Anzeige des Template-Namens und -Codes

Nach Auswahl des Templates „pubs_alg_cs_de_2005.tex“ und Auswahl des Erscheinungsjahres der Publikationen im Drop-Down-Feld „Jahr“ (Abb. 10), können alle Publikationen des ausgewählten Erscheinungsjahres als LATEX- oder PDF-Dokument angezeigt werden.

Abbildung 10
Abb. 10 Auswahl des Templates und des Erscheinungsjahres



Dateien
Unter dem Menüpunkt „Dateien“ sind alle erstellten Templates bzw. Publikationslisten hinterlegt (Abb. 11) Durch Anklicken des PDF-Symbols in der Spalte „Show“ wird die gewünschte Publikationsliste/ Template geöffnet und im PDF-Format angezeigt (Abb. 12).

Abbildung 11
Abb. 11 Templates/Publikationslisten unter „Dateien“

Abbildung 12
Abb. 12 Geöffnete Publikationsliste „pubs_alg_cs_eng.tex“ im pdf.-Format

Durch Anwählen des PDF-Symbols oder TEX-Symbols in der Spalte „Download“ wird die gewünschte Publikationsliste/Template geöffnet und als PDF-Dokument gedownloadet oder als LATEX-Dokument geöffnet.

Zusammenfassung

Nach Implementierung des entwickelten Publikationsverwaltungssystems werden die einzelnen Publikationen in einer Datenbank verwaltet (Abb. 13). Bei Änderungen eines Publikationseintrages ist nun die Modifikation nur einer Datei notwendig und damit kann die Aufrechterhaltung der Konsistenz der Daten gewährleistet werden.

Abbildung 13
Abb. 13 Publikationsverwaltung nach Modellierung und Implementierung des Verwaltungssystems

Danksagung

An dieser Stelle möchte ich mich besonders bedanken bei:

• Herrn Aumüller, für die kompetente Betreuung während des Praktikums
• Herrn Kolb, für die Unterstützung in PHP
• Frau Dr. Meiler, für das Organisieren des Praktikumsplatzes

Praktikum I - Praktikum II - Praktikum III