Project

General

Profile

QFQ Introduction » History » Revision 6

Revision 5 (Carsten Rose, 08.07.2021 13:41) → Revision 6/7 (Carsten Rose, 08.07.2021 13:42)

p<. *Einfuehrung in QFQ* 

 p<. Für Praktikanten und Lehrlinge 

 {{toc}} 

 h1(wiki-class-western). Vorkenntnisse SQL 

 Kurze Einfuehrung in phpmyadmin als GUI auf die mysql DB, Sublime Text mit SQL Syntax highlighting. Danach sollen an einer Test DB selbststaendig Aufgaben geloest werden, welche die folgenden Keywords abdecken: 

 * SELECT … FROM … WHERE … GROUP BY … ORDER BY 
 ** CONCAT 
 ** IF 

 * JOIN (oder: mehrere Tabellen FROM) 
 ** LEFT JOIN 

 * GROUP_CONCAT 
 * INSERT 
 * UPDATE 
 * DELETE 

 Im Anschluss noch spezifisch zu unserer Arbeit im Zusammenhang mit SQL: 

 * Foreign Keys und dass wir diese fast nie einsetzen 
 * Ggroup & Group Member als ‘Tag-System’ 
 ** kleine Uebung – Anlegen einer neuen Ggroup und SELECT Statement 

 Option: Hinweis auf ??Applications `Applications > Programming > DataGrip?? DataGrip` (Zuvor mit UZH Mailadresse eine Jetbrains EDU Account erstellen). 

 h1(wiki-class-western). Vorkenntnisse Web-Entwicklung 

 h2(wiki-class-western). CMS / Typo3 

 Eine Einfuehrung in Typo3 sollte abdecken: 

 * Was ist ein CMS? 
 * Pages, PageContent 
 * FeUser, BeUser 
 * Berechtigungen 

 h2(wiki-class-western). HTML Grundlagen 

 Anschliessend an die T3-Einfuehrung soll eine Aufgabe die HTML-Kenntnisse auffrischen. Der Fokus soll ganz klar auf Page Content und nicht auf Seitenlayout (kein float, grid, usw.) liegen. 

 So soll ein typischer Page Content statisch mit HTML erstellt werden. Zu denken waere eine Tabelle mit Spaltenueberschriften, sowie ‘new’ und ‘edit’ Buttons, da dieses ‘Layout’ bei uns oft vorkommt. 

 h2(wiki-class-western). CSS / Bootstrap 

 Falls keine CSS-Grundlagen vorhanden sind, dann macht eine kurze CSS-Einfuehrung Sinn, ansonsten kann dies weggelassen werden. 

 Der zuvor erstellte Page Content soll jetzt durch Bootstrap aufgehuebscht werden. Ziel waere, dass die Seite danach den typischen QFQ-Look hat – es ist aber immer noch alles statisch. Bootstrap Klassen sollen mindestens verwendet werden fuer: 

 * Tabelle 
 * Buttons 

 Im Anschluss kann die Bootstrap Doku noch im Selbststudium durchforstet werden. Ansprechende Komponenten oder Styles sollen ausprobiert werden! 

 Insbesondere ein Bootstrap-Formular soll erstellt werden, welches die Datenerfassung und Manipulation fuer die bestehende Tabelle ermoeglichen soll. (Nur ‘im Prinzip’, Formular submit muss nichts machen). 

 h2(wiki-class-western). JavaScript / jQuery 

 Javascript und jQuery können kurz angeschnitten werden im Zusammenhang mit dem zuvor erstellten Formular. In einem einfachen Beispiel soll ein Formularelement abhängig vom value einer Checkbox ein- oder ausgeblendet werden. Dies sollte auch zum späteren Verständnis von Dynamic Update beitragen. 

 h1(wiki-class-western). QFQ 

 QFQ wird alles zuvor Gelernte zusammenbringen. Kurze Einfuehrung: Was ist QFQ, was kann QFQ? 

 h2(wiki-class-western). Einfuehrung Report 

 Einfuehrung in die Report-Syntax, Tabelle aus vorheriger Uebung mit QFQ nachbauen. 

 * Sql, head, tail, shead, stail, rend, renr, fbeg, fend 
 * AS _pagen, pagee, paged, link 

 h2(wiki-class-western). Einfuehrung Forms 

 Einfuehrung in das Form-Formular zum Erstellen von Forms. Das Formular aus der vorherigen Uebung soll jetzt mit QFQ nachgebaut werden. Das Resultat sollte sein, dass neue Eintraege in der Tabelle erscheinen, wenn diese ueber das Form erfasst wurden. 

 h2(wiki-class-western). Kleinprojekt 

 Der/die Lernende soll moeglichst selbststaendig ein QFQ Projekt bewaeltigen. Gegeben sind nur die Anforderungen. Denkbar waere auch Durchfuehrung nach IPERKA. 

 h3(wiki-class-western). Anforderungen 

 Es kann ein generischen Beispiel, z.B. Studenten mit Vorlesungen, gewählt werden. Damit sollte eine Aufgabenstellung formuliert werden, die nach folgenden Features verlangt: 

 * Erfassen / bearbeiten / loeschen von Datensaetzen 
 * Subrecord oder Template Group 
 * File Upload (pdf) 
 * Emailversand 
 * Download (pdf) 

 h3(wiki-class-western). Konzept 

 * Erstellen eines Mockups, z.b. mit draw.io, balsamiq, von Hand… 
 * Erstellen eines Datenbankschemas 

 h3(wiki-class-western). Implementierung 

 Der/die Lerndende soll das selbst erstellte Konzept nach Rücksprache mit der Betreuungsperson so eigenständig wie möglich implementieren. Fuer spezifische Probleme (z.B. File Upload, Subrecord, Email versenden…) werden Links auf die spezifischen Stellen in der QFQ Dokumentation gegeben. 

 h3(wiki-class-western). Testen 

 Testfaelle werden aus den Anforderungen abgeleitet. Ein Testprotokoll soll erstellt werden und anschliessend sollen die Tests durchgeführt werden.