2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Drag&Drop-Funktionalität und verschiedene UI-Kontrollelemente, die das übliche HTML-<br />
Arsenal erweitern. Für die Implementierung des PVS waren vor allem die<br />
Autovervollständigungs-Funktionalität von Script.aculo.us von großem Nutzen, die zur<br />
Realisierung der automatischen Vervollständigung von Autoren- und Editorendaten im<br />
Publikationsformular eingesetzt wurde.<br />
Neben den beiden von Rails unterstützten JavaScript-Bibliotheken kam mit LiveValidation<br />
eine weitere JS-Bibliothek zum Einsatz. Hier ist der Name Programm - es werden zahlreiche<br />
Live-Validierungs-Methoden zur Verfügung gestellt, von denen für die clientseitige<br />
Validierung des Publikationsformulars extensiver Gebrauch gemacht wurde.<br />
7.2 Eingebundene Software und Rails-Erweiterungen<br />
Einige der Funktionalitäten, die das PVS zur Verfügung stellt, wurden nicht selbst<br />
implementiert, sondern durch externe Software und Komponenten realisiert. An erster Stelle<br />
ist hier der BibTeX-Parser zu nennen, der zur Realisierung des Anwendungsfalls 'BibTeX-<br />
Import' in die Anwendung eingebettet wurde. Bei der Software-Recherche, die zur<br />
Vorbereitung der Implementierungsarbeit für das PVS durchgeführt wurde, konnte nur ein frei<br />
verfügbarer und in Ruby geschriebener BibTeX-Parser ausfindig gemacht werden, nämlich<br />
rbibtex von Brian Amberg 66 . Nach Aussage des Autors unterstützt seine Bibliothek nicht das<br />
gesamte BibTeX-Format, sondern nur einen Ausschnitt desselben. Bei Tests, die mit Hilfe der<br />
BibTeX-Dateien für die am PST-Lehrstuhl verfassten Publikationen der letzten Jahre<br />
durchgeführt wurden, lieferte der Parser jedoch gute Resultate. Deswegen erschien es<br />
sinnvoll, auf diese Lösung zurückzugreifen, anstatt die Funktionalität selbst zu<br />
implementieren.<br />
Weiterhin wurden zur Implementierung des PVS auf sogenannte Plugins für Ruby on Rails<br />
zurückgegriffen. Rails-Plugins sind Erweiterungen des Framework-Kerns, die verschiedene in<br />
sich abgeschlossene Funktionalitäten zur Verfügung stellen und je nach Bedarf in eine Rails-<br />
Anwendung integriert werden können. Für das PVS wurden zwei Plugins genutzt:<br />
attachment_fu stellt Funktionalität zur Verfügung, welche die Verwaltung von Datei-Uploads<br />
vereinfacht. Es wurde für die Validierung und Speicherung von Publikationstexten im<br />
Dateisystem des <strong>Web</strong>servers verwendet, die der PVS-Nutzer beim Erzeugen und Editieren<br />
von Publikationen hochladen kann. will_paginate ist ein Plugin zur Pagination der<br />
Darstellung großer Datenmengen. Anstatt z.B. alle Einträge einer langen Publikationsliste auf<br />
einer einzigen Seite anzuzeigen, ist es sinnvoller, die Darstellung auf mehrere Seiten zu<br />
verteilen, zwischen denen mit 'Vor'- und 'Zurück'-Schaltflächen hin- und hergesprungen<br />
werden kann. Beim Einsatz dieses Plugins werden zudem nur diejenigen Ergebnisse einer<br />
Datenbanksuche auf Objektebene materialisiert, die in der aktuellen Paginations-Seite<br />
anzuzeigen sind. Dadurch kann der Gesamtaufwand einer Datenbankrecherche vermindert<br />
werden.<br />
Abbildung 48: Pagination von Publikationslisten im PVS<br />
66 Siehe [31]<br />
79