Voll der Assi

VOLL DER ASSI
Der alte Assistent
2
Der alte Assistent
2
Der alte Assistent
2
Der alte Assistent
2
Der alte Assistent
2
Der alte Assistent
2
Der alte Assistent
3
Rike / pixelio.de
Ein neuer Assistent
Kurz
Modular
Dynamisch
4
Helene Souza / pixelio.de
Aufbau
• „Rahmencontroller“
• Lädt
course/wizard.php
alle erforderlichen Schritte und steuert die Datenverarbeitung
• Daten
werden in der Session zwischengespeichert
➜ temporäre ID zur Identifikation
$_SESSION['coursewizard'][<temp_id>] = array(
'<Step1Classname>' = array(<values>),
'<Step2Classname>' = array(<values>),
);
5
Wichtige Actions
6
Wichtige Actions
$temp_id): Lädt Schritt
$number und füllt die View mit den evtl. vorhandenen Werten
zur $temp_id
• step_action($number,
6
Wichtige Actions
$temp_id): Lädt Schritt
$number und füllt die View mit den evtl. vorhandenen Werten
zur $temp_id
• step_action($number,
$temp_id): Verarbeitet
das POST-Request zum Schritt $number und speichert die
Werte in die Session unter $temp_id
• process_action($number,
6
Wichtige Actions
$temp_id): Lädt Schritt
$number und füllt die View mit den evtl. vorhandenen Werten
zur $temp_id
• step_action($number,
$temp_id): Verarbeitet
das POST-Request zum Schritt $number und speichert die
Werte in die Session unter $temp_id
• process_action($number,
• ajax_action(): Endpunkt
für AJAX-Calls, bekommt per
Request die Schrittnummer, die aufzurufende Methode und
deren Parameter
6
Erzeugen einer Veranstaltung
• Lege
ein leeres Course-Objekt an
• Speichern
➜ ID
• Übergebe
$course an alle durchgeführten
Schritte und befülle mit Daten
• Speichere
Objekt
7
Viktor Mildenberger / pixelio.de
Verwaltung vorhandener Schritte
CourseWizardStepRegistry
Admin → System → Anlegeassistent
8
Wie funktioniert ein Schritt?
• Interface
CourseWizardStep
• Einbindung
über API oder GUI
• Reihenfolge
9
der Schritte beachten
Klicker / pixelio.de
Wichtige Methoden
10
Wichtige Methoden
• isRequired($values): Ist
der aktuelle Schritt abhängig
von den übergebenen Werten erforderlich?
➜ Studienbereiche, je nach Veranstaltungstyp
10
Wichtige Methoden
• isRequired($values): Ist
der aktuelle Schritt abhängig
von den übergebenen Werten erforderlich?
➜ Studienbereiche, je nach Veranstaltungstyp
• alterValues($values): Erlaubt
Buttonklicks oder AJAXAufrufe, um vorhandene Werte zu bearbeiten oder neue
hinzuzufügen
➜ Lehrende hinzufügen
10
Noch wichtigere Methoden
11
Rainer Sturm / pixelio.de
Noch wichtigere Methoden
• getStepTemplate($values,
$stepnumber, $temp_id): Lädt das
passende Flexitemplate und füllt es mit evtl. bereits
vorhandenen Werten
11
Rainer Sturm / pixelio.de
Noch wichtigere Methoden
• getStepTemplate($values,
$stepnumber, $temp_id): Lädt das
passende Flexitemplate und füllt es mit evtl. bereits
vorhandenen Werten
$values): Erhält
ein bestehendes Course-Objekt, setzt die nötigen
Werte für diesen Schritt und gibt das CourseObjekt wieder zurück
• storeValues($course,
11
Rainer Sturm / pixelio.de
Der Rest
• validate($values): Überprüft, ob
die gegebenen Werte
gültig und vollständig sind und liefert entsprechende
Fehlermeldungen
12
Der Rest
13
Der Rest
• validate($values): Überprüft, ob
die gegebenen Werte
gültig und vollständig sind und liefert entsprechende
Fehlermeldungen
$values): Setzt die nötigen Werte
dieses Schritts unter Berücksichtigung der zu kopierenden
Veranstaltung
• copy($course,
14
Auch für Plugins!
• Schrittklasse, die
CourseWizardStep implementiert
• Registrieren, z.B. in
Pluginmigration
• Beim
Speichern müssen die Daten nicht notwendigerweise
beim $course landen!
15
Paul-Georg Meister / pixelio.de
Auch für Plugins!
16
17
Lisa Spreckelmeyer / pixelio.de