Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
AskI Onlinefragebogen
FH Zittau/Görlitz - Fachbereich Informatik Dozent: Lars Rönisch D. Israel, D. Winter, C. Schäfer, M. Kohlsche
2
Agenda System – Allgemein Backend Workflow Mail-Versand PDF-Erzeugung
Chart-Erzeugung Frontend GUI Demo
3
System - Allgemein
4
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
5
Anforderungen Ausfüllung des Fragebogens Online
Durch Passwort zu schützen Auswertung Durch angemeldete Manager (Passwortschutz) Mittels Diagrammen Sonstiges -Versandt von Einladungen Einladungen als PDF-Dokument
6
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
7
Backend
8
Workflow I 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
9
Workflow II States der Umfrageausführung
Start – Begrüßungsseite, evtl. Eingabemöglichkeit für Ticket-Passwort Zwischenstates - Eingabeseiten für jede Kategorie (1-6) Ende – Abschlusseite
10
E-Mail-Versand 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
11
PDF-Erzeugung I PDF-Erzeugung mit iText ausgelagert in extra Klasse
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
12
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();
13
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
14
PDF-Erzeugung IV
15
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
16
Chart-Erzeugung II DataSet wird erzeugt DataSet wird gefüllt
DefaultCategoryDataset dataset = new DefaultCategoryDataset(); for(String key : keySet) { double value = values.get(key) / allValues * 100; dataset.addValue(value, key, ""); } DataSet wird gefüllt
17
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
18
Chart-Erzeugung IV
19
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
20
Fehlermeldungen II Standard-Fehlermeldungen von Grails
treffen allgemeine Aussagen über die Fehler sind ungeeignet für den normalen Nutzer zu spezifisch zu viele Informationen
21
Fehlermeldungen III Fehlermeldungen angepasst
anlegen eines neuen Verwalters oder Login Problem: Anpassung der Fehlermeldungen im Workflow
22
Frontend
23
Mockups I Erste Entwürfe als HTML von allen Team-Mitgliedern
24
Mockups II
25
Mockups III Zusammenfassung aller Ideen
> 3 Mockups als Inspiration / Anregung
26
Oberfläche Standard Grails Layout Anpassung der Grails Styles mit CSS
27
AskI Oberfläche Navi Progressbar Frage-abschnitte I18n-buttons
28
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
29
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“
30
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ß
31
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
32
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)
33
Einsatz von Ajax III Zu implementierende Teile: In GSP:
In UmfrageController: Ander libs: dojo yahoo ui
34
Hilfe-System Erreichbar von jeder Seite, da in main.gsp
Erklärung der Umfrage/ des Admin-Bereichs Angelehnt an *.CHM Hierarchischer Aufbau Navigation über „Bücher“ und Step-Bar
35
Hilfe-System II Erklärung der Elemente für nicht versiertere Benutzer
Erörterung der Navigation und der Vorgänge während des Ausfüllens der Umfrage
36
Hilfe-System III „How-to“ für die Administration des Systems
Erörterung der ersten Schritte
37
Schlussbemerkungen Weitestgehend Browserunabhängig
W3C-valider HTML und CCS-Code Skalierbar Optimiert für Firefox und IE Workaround für min-width und visibility performant, da kaum Grafiken Dafür ca. 80 CSS-Klassen
38
!Demo!
39
VIELEN DANK FÜR IHRE AUFMERKSAMKEIT
ENDE VIELEN DANK FÜR IHRE AUFMERKSAMKEIT
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.