08.12.2012 Aufrufe

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!