Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

AskI Onlinefragebogen

Ähnliche Präsentationen


Präsentation zum Thema: "AskI Onlinefragebogen"—  Präsentation transkript:

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


Herunterladen ppt "AskI Onlinefragebogen"

Ähnliche Präsentationen


Google-Anzeigen