========================================================== Virtuelles Unix Labor - Kursengine - Hubert Feyrer ========================================================== 1. Ablauf public_html/user/: home/index.php Uebersicht -> userdata/index.html Benutzerdaten -> buchen/index.php Buchung vornehmen -> buchungen/index.php Buchungen einsehen -> ueben/fwconfig.php Firewall freischalten -> ueben/countdown.php Countdown zum Uebungsstart -> ueben/start.php Übungsbeginn! (vgl. "design" #2.3) -> ueben/ende.php übungsende 2. Details Siehe auch Kapitel 2.3 "Kurs-Engine" des "Design"-Dokuments des Virtuellen Unix Labors. 2.1 Firewall freischalten (fwconfig.php) - Aufgerufen von user/home/index.php - Uebernimmt "buchungs_id", "login" - Sanity check: firewall frei? nein -> Contact admin! - Eingabe/Bestaetigung IP-Nummer (und ggf. Netzbits?) - Weiter zu countdown.php, uebergibt login, buchungs_id, ip, start, dauers 2.2 Countdown zum Übungsstart (countdown.php) - Uebernimmt buchungs_id, login, ip, start, dauer - Gibt Anweisungen zum Zugriff auf die Übungsrechner aus - Zaehlt Minuten bis zum offiziellen übungsstart runter (am besten per automatischem Refresh, fuer'n anfang mit manuellem reload :/) - Weiter zu start.php, uebergibt login, buchungs_id, ip 2.3 Übungsbeginn (start.php) - Uebernimmt buchungs_id, login, ip - Ruft firewall(wrapper?)-script auf => firewall offen - Gibt Übungstext (HTML) aus DB:uebungen:text aus (PHP "include"?) - Warten - "Fertig"-Button oder Refresh nach Dauer der Uebung - Weiter zu ende.php, uebergibt buchungs_id, login, ip 2.4 Übungsende (ende.php) Offizielles Übungsende vom User erreicht (per "Fertig"-Klick oder timeout) - Uebernimmt buchungs_id, login, ip - Script "uebung_ende" für Übungsende (Siehe 2.6) manuell aufrufen (Parameter: buchungs_id) - Text "uebung fertig, auswertung via menue, danke" ausgeben 2.6 Script für Übungsende (uebung_ende) - Gestartet via "at" von "deploy" (-> I:DE:SC:1) oder manuell von ende.php - ip aus DB:buchungen:ip auslesen - Firewall zumachen - At-Job end_at_id aus DB:buchungen:at_id_end auslesen - at_id_end canceln (at -r) - Endzeit in DB:buchungen:endzeit eintragen - Firewall schliessen - Auswertung machen (siehe "design", 5.4) - DB:buchungen:freigegeben = "nicht-mehr" - Auswertung anstossen und in DB eintragen -- $Id: kursengine,v 1.7 2012-12-21 23:32:18 feyrer Exp $