Project

General

Profile

Actions

QFQ Introduction » History » Revision 5

« Previous | Revision 5/10 (diff) | Next »
Carsten Rose, 08.07.2021 13:41


Einfuehrung in QFQ

Für Praktikanten und Lehrlinge

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 > Programming > DataGrip` (Zuvor mit UZH Mailadresse eine Jetbrains EDU Account erstellen).

Vorkenntnisse Web-Entwicklung

CMS / Typo3

Eine Einfuehrung in Typo3 sollte abdecken:

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

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.

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).

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.

QFQ

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

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

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.

Kleinprojekt

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

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)

Konzept

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

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.

Testen

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

Updated by Carsten Rose over 2 years ago · 5 revisions