next up previous contents index
Next: Anlegen eines neuen Workflows Up: Aufbau der verschiedenen Modultypen Previous: Module vom Typ 'end'

Module vom Typ 'loop'

Loop-Schritte enthalten Module vom Typ ``loop'' (kurz Loop-Modul), die die Steuerung einer Schleife innerhalb eines Subworkflows verrichten.

Loop-Module haben die Modulfunktion ``main'' (gleiche $control_args wie bei normalen Modulen, keine Rückgaben), die normalerweise aufgerufen wird, wenn der Loop-Schritt der aktuelle Workflow-Schritt ist. Status des Loop-Schrittes und der Schleife kann mit Funktionen wie 'wf_step_status', 'wf_step_active', 'wf_steps_in_loop', etc. abgefragt werden. Ein neuer Durchlauf der Schleife, d.h. das Zurücksetzen des 'erledigt'-Status aller Mitglieder der Schleife des Loop-Schrittes auf 'offen', sollte mittels Global-Action (z.B. über die Funktion 'wf_globalaction_form_element' in einem Formular, siehe [*]) angestoßen werden, um inkonsistente Anzeigen über 'offene' und 'erledige' Schritte auszuschließen. Andernfalls kann die Aktion auch direkt über 'wf_loop_iterate($loopstep)' angestoßen werden. Weiter kann ein Loop-Modul z.B. Links zu den Mitglieder-Schritten seiner Schleife oder den Status der Mitglieder-Schritte anzeigen. Auch Loop-Schritte sollten darauf achten, ob der Parameter $control_args[subworkflow_mode_old] gleich 'true' ist oder nicht. Falls dieser gleich 'true' ist, wird ein früherer Durchlauf des Subworkflow des Loop-Schrittes bearbeitet und der Loop-Schritt sollte keine Änderung, d.h. keinen neuen Schleifen-Durchlauf, erlauben.

Weiterhin sollte ein Loop-Modul noch eine Modulfunktion ``main_strict_deps'' haben, die die gleichen $control_args wie die Modulfunktion ``main'' erwartet. Diese wird statt ``main'' für alle Loop-Module eines Schrittes aufgerufen, falls der Schritt aufgrund strikter Abhängigkeiten (siehe [*]) als nicht bearbeitbar erkannt wird. Hierin kann das Loop-Modul den Zustand der Schleife und evtl. Links zu Mitglieder-Schritten der Schleife auch unter diesen verschärften Bedingungen nach eigenem Belieben anbieten.

Auch Loop-Schritte können eigene, temporäre Daten über die 'wf_temp_data...'-Funktionen verwalten. Sie können auch weitere Modulfunktionen zum Aufbau ganzer HTML-Seiten durch diese einzige Modulfunktion ($param[wf_step_position]=''Modulpage'', siehe [*]) enthalten.


next up previous contents index
Next: Anlegen eines neuen Workflows Up: Aufbau der verschiedenen Modultypen Previous: Module vom Typ 'end'
Copyright Munich Network Management Team