Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Aski Onlinefragebogen
Fachhochschule Zittau/Görlitz Fachbereich Informatik Denny Israel, Daniel Winter Christian Schäfer, Michael Kohlsche Dozent: Lars Rönisch
2
Aski - Einleitung Web-Anwendung zur Durchführung einer Befragung
Befragung zum Thema Kinder mir Downsyndrom Erstellt von René Hofmann Umsetzung des Systems mit Grails Web-Framework Basiert auf Sprache Groovy
3
Aski - Anforderungen Aufüllung des Fragebogens Auswertung Sonstiges
Online Durch Passwort zu schützen Auswertung Durch angemeldete Manager (Passwortschutz) Mittels Diagrammen Sonstiges -Versandt von Einladungen Einladungen als PDF-Dokument
4
Aski - System Nutzung der von Grails vorgegebenen Projektstruktur
MVC-Pattern Datenmodell durch Domain-Klassen Logik durch Controller Oberfläche durch Grails- Server-Pages (vgl. JSP) Programmierung in Groovy, Unterstützt durch Java
5
Aski - Workflow Umfrageausführung als Web-Flow
Grails Web-Flow System, basiert auf Spring Web Flow Festlegung Start-, End- und Zwischenstates Web Flow System kontrolliert Ablauf, ein „Mittenrein“- Springen ist somit unmöglich → sichert Datenkonsistenz Eingabenkontrolle beim Absenden einer Maske Speicherung der Ergebnisse am Ende des Flows
6
Aski - Workflow States der Umfrageausführung
Start – Begrüßungsseite, evtl. Eingabemöglichkeit für Ticket-Passwort Zwischenstates - Eingabeseiten für jede Kategorie (1- 6) Ende – Abschlusseite
7
Aski - Mail Nutzung der Java-Mail-API Versandt über SMTP
Daten für SMTP werden in der Konfiguration gespeichert und sind im Admin-Bereich einstellbar Nutzung für das Versenden von Einladungen Einladungstext ist ebenfalls in der Konfig. einstellbar Nutzung auch für Versandt zurückgesetzter Passwörter der Manager
8
PDF-Erzeugung I PDF-Erzeugung mit iText
mächtiges Open-Source Framework für Java um PDF- Dateien zu erstellen und zu erweitern ausgelagert in extra Klasse PDF erhält kurzen Text, URL und ein Ticket
9
PDF-Erzeugung II neues Dokument wir erstellt
Document document = new Document(); Ränder werden gesetzt document.setMargins(75, 75, 75, 75); Paragraphen werden hinzugefügt Paragraph paragraph = new Paragraph(); Font font = new Font(); Schriftgröße, Style font.setSize(14); font.setStyle(Font.BOLD); paragraph.setFont(font); paragraph.add(subject); document.add(paragraph); Dokument wird geschlossen document.close();
10
PDF-Erzeugung III PDF-Datei wird nicht auf die Festplatte geschrieben
als Byte-Array weiter gegeben und verarbeitet ByteArrayOutputStream output = new ByteArrayOutputStream(); PdfWriter.getInstance(document, output); ... return output.toByteArray(); übernimmt die Änderungen und füllt Stream gibt Stream als Byte-Array zurück
11
PDF-Erzeugung IV
12
Chart-Erzeugung I Chart-Erzeugung mit JFreeChart
sehr populäres Open-Source Framework für Java um Diagramme zu erstellen für jede Frage kann ein BarChart erzeugt werden zeigen die Antworten in % an
13
Chart-Erzeugung II DataSet wird erzeugt
DefaultCategoryDataset dataset = new DefaultCategoryDataset(); for(String key : keySet) { double value = values.get(key) / allValues * 100; dataset.addValue(value, key, ""); } DataSet wird gefüllt
14
Chart-Erzeugung III Chart wird erzeugt
CategoryDataset dataset = createDataSet(values); JFreeChart chart = ChartFactory.createBarChart( "" +question, // chart title "", // domain axis label "%", // range axis label dataset, // data PlotOrientation.VERTICAL, // orientation true, // include legend true, // tooltips false // URLs ); setzen das DataSet
15
Chart-Erzeugung IV
16
Fehlermeldungen I Fehlermeldungen wichtig für den User
um zu erkennen was er falsch gemacht hat! und wie er es richtig machen kann! falsche Fehlermeldungen verwirren nur
17
Fehlermeldungen II Standard-Fehlermeldungen von Grails
treffen allgemeine Aussagen über die Fehler sind ungeeignet für den normalen Nutzer zu spezifisch zu viele Informationen
18
Fehlermeldungen III Fehlermeldungen angepasst
anlegen eines neuen Verwalters oder Login Problem: Anpassung der Fehlermeldungen im Workflow
19
Mockups I Erste Entwürfe als HTML von allen Team-Mitgliedern
20
Mockups II
21
Mockups III Zusammenfassung aller Ideen
> 3 Mockups als Inspiration / Anregung
22
Oberfläche Standard Grails Layout Anpassung der Grails Styles mit CSS
23
AskI Oberfläche Navi Progressbar Frage-abschnitte I18n-buttons
24
Aufbau der GSPs I Grundlayout für alle GSPs in main.gsp
Definition von immer sichtbaren Bereichen CSS-Includes, Locale-Auswahl, Kopf- und Fußzeilen Die eigentlichen Inhalte werden zur Laufzeit mit <g:layoutBody /> eingefügt GSPs die nicht auf main.gsp basieren > startUmfrage > endUmfrage
25
Aufbau der GSPs II Folgender Markup steht im Bodytag eines gewöhnlichen HTML-Grundgerüsts: SubmitButton veranlasst action Möglichst wenig hart gecodete Texte Verwenden von messages für i18n Kapseln von markup mit taglib Wird erstellt mit „grails create-tag-lib“
26
Einfühung einer TagLib
Kapselt Markup Verbessert Lesbarkeit Steigerung der Wiederverwendbarkeit Verhinderung von duplicated Code >Taglib für ProgressBar >Current step und vorhergende steps werden gefärbt >Andere steps sind weiß
27
Einsatz von Ajax I Problem:
Abhängig von Auswahl eines Listen-Items soll andere Liste gefüllt werden Klick zum Aktualisieren der zweiten Liste dem Nutzer möglichst ersparen
28
Einsatz von Ajax II Lösung: Einsatz von Ajax
Füllen der 2. Liste bei onChange()-Event Gute Unterstützung durch Grails einfache Umsetzung Unstützte JavaScript Bibliotheken: Prototype Dojo Yahoo UI Library (YUI)
29
Einsatz von Ajax III Zu implementierende Teile: In GSP:
In UmfrageController: Ander libs: dojo yahoo ui
30
Aski - Demo DEMO – Aski 0.9
31
VIELEN DANK FÜR IHRE AUFMERKSAMKEIT
ENDE VIELEN DANK FÜR IHRE AUFMERKSAMKEIT
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.