Hallo,
für ein Kundenprojekt ist eine Art Iterator auf basis von AJAX gewünscht. Das Projekt basiert auf Yii und JQuery.
Der Kunde möchte ein Verhalten wie es bspw. bei Windows-Setups der Fall ist. Man sieht welche Dateien gerade installiert werden und wie weit die Installation ist.
Ich habe mir folgendes ausgedacht:
1. Es wird eine Task-Action ausgeführt. In dieser Action wird eine Task Chain in die Datenbank geschrieben. Diese führt eine View aus darin wird das Javascript geladen. Im javascript findet ein Ajaxaufruf an der Ajax Action statt. Es wird ein Task und ein Token übergeben.
2. Die Ajax-Action fragt den Token ab ob dieser verwendet werden darf und aktuell ist. (Dies ist bereits in eine Komponente ausgelagert). Ist beides True, dann wird der aktuelle Task abgefragt. Es wird eine JSON-Ausgabe gemacht. Davor wird der aktuelle Task als fertig makiert so das der nächste ausgeführt wird. In der JSON-Ausgabe wird eine Property 'iterate' : 'next' und ein Object ajax: { data : 'task=taskid&token=md5token'} gesetzt. Data wird an die ajax property Data gesendet.
3. Ist kein Task mehr verfügbar dann wird in der JSON-Ausgabe die Property iterate auf complete gesetzt und das data-Object bleibt leer.
Die Iterator Methoden Rewind, current, key, next und valid werden nicht im Javascript verwendet. Die Logik findet ausschlielich im controller statt. Im Javascript wird nur ausgeführt.
Meine frage an euch habe ich da irgendwas vergessen bzw. ist da ein Denkfehler? Ist dieses Konzept soweit schlüssig?
MfG
für ein Kundenprojekt ist eine Art Iterator auf basis von AJAX gewünscht. Das Projekt basiert auf Yii und JQuery.
Der Kunde möchte ein Verhalten wie es bspw. bei Windows-Setups der Fall ist. Man sieht welche Dateien gerade installiert werden und wie weit die Installation ist.
Ich habe mir folgendes ausgedacht:
1. Es wird eine Task-Action ausgeführt. In dieser Action wird eine Task Chain in die Datenbank geschrieben. Diese führt eine View aus darin wird das Javascript geladen. Im javascript findet ein Ajaxaufruf an der Ajax Action statt. Es wird ein Task und ein Token übergeben.
2. Die Ajax-Action fragt den Token ab ob dieser verwendet werden darf und aktuell ist. (Dies ist bereits in eine Komponente ausgelagert). Ist beides True, dann wird der aktuelle Task abgefragt. Es wird eine JSON-Ausgabe gemacht. Davor wird der aktuelle Task als fertig makiert so das der nächste ausgeführt wird. In der JSON-Ausgabe wird eine Property 'iterate' : 'next' und ein Object ajax: { data : 'task=taskid&token=md5token'} gesetzt. Data wird an die ajax property Data gesendet.
3. Ist kein Task mehr verfügbar dann wird in der JSON-Ausgabe die Property iterate auf complete gesetzt und das data-Object bleibt leer.
Die Iterator Methoden Rewind, current, key, next und valid werden nicht im Javascript verwendet. Die Logik findet ausschlielich im controller statt. Im Javascript wird nur ausgeführt.
Meine frage an euch habe ich da irgendwas vergessen bzw. ist da ein Denkfehler? Ist dieses Konzept soweit schlüssig?
MfG
Kommentar