 
 
 
 
 
 
 
 
 
 
Ein Modul vom Typ 'normal' beinhaltet keinerlei Workflow-Steuerungsfunktionalität. Es wird z.B. zur Verwaltung von Anwendungsdaten (z.B. Räume, Studenten einer Vorlesung) oder zum Ausführen bestimmter Aktionen bzgl. der eigentlichen Anwendung (z.B. Übungs-Scheine erstellen, Mail verschicken) verwendet.
Ein solches Modul muss nur eine ``main''-Modulfunktion enthalten. Hierbei wird unterschieden, ob das Modul für einen Workflow-Schritt oder eine Extrapage aufgerufen wird (boolscher Parameter 'isextrapage' in $control_args).
Falls es in einem Workflow-Schritt aufgerufen wird, so kann es im
Array $control_args auf folgende Parameter zugreifen (vgl. ![[*]](http://www.nm.informatik.uni-muenchen.de/common/icons/latex2html-97.1/cross_ref_motif.gif) ):
):
![[*]](http://www.nm.informatik.uni-muenchen.de/common/icons/latex2html-97.1/cross_ref_motif.gif) )
die eigenen temporären Daten zu finden oder auch um eindeutige Bezeichner
in eigenen Form-Variablen zu wählen .
)
die eigenen temporären Daten zu finden oder auch um eindeutige Bezeichner
in eigenen Form-Variablen zu wählen .
![[*]](http://www.nm.informatik.uni-muenchen.de/common/icons/latex2html-97.1/cross_ref_motif.gif) ).
Für Module vom Typ ``normal'' unwichtig.
).
Für Module vom Typ ``normal'' unwichtig.
![[*]](http://www.nm.informatik.uni-muenchen.de/common/icons/latex2html-97.1/cross_ref_motif.gif) ).
Hier werden die für einen bestimmten Subworkflow-Durchlauf relevanten
Daten, wie z.B. die Nummer der aktuellen Klausur, übergeben.
).
Hier werden die für einen bestimmten Subworkflow-Durchlauf relevanten
Daten, wie z.B. die Nummer der aktuellen Klausur, übergeben.
Prinzipiell kann jedes Modul, wenn es für einem Workflow-Schritt aufgerufen
wird, jede in ![[*]](http://www.nm.informatik.uni-muenchen.de/common/icons/latex2html-97.1/cross_ref_motif.gif) bis
 bis ![[*]](http://www.nm.informatik.uni-muenchen.de/common/icons/latex2html-97.1/cross_ref_motif.gif) beschriebene Funktion aufrufen, die Informationen über den Status
ihres Schrittes ermittelt. Bei Modulen vom Typ ``normal'' ist
dies aber i.a. nicht notwendig, da sie sich nicht mit der Workflow-Steuerung
befassen. Aber die Funktionen zum Zugriff auf temporäre Daten, wie
z.B. 'wf_temp_data_get', 'wf_temp_data_set', sind auch dafür
gedacht von normalen Modulen benutzt zu werden.
beschriebene Funktion aufrufen, die Informationen über den Status
ihres Schrittes ermittelt. Bei Modulen vom Typ ``normal'' ist
dies aber i.a. nicht notwendig, da sie sich nicht mit der Workflow-Steuerung
befassen. Aber die Funktionen zum Zugriff auf temporäre Daten, wie
z.B. 'wf_temp_data_get', 'wf_temp_data_set', sind auch dafür
gedacht von normalen Modulen benutzt zu werden.
Wird ein Modul vom Typ 'normal' jedoch für eine Extrapage aufgerufen($control_args[isextrapage]='true'),
so enthält $control_args nur die Parameter 'isextrapage' (hier gleich
'true'), step_nr (ist hier als Extrapagenummer aufzufassen) und step_name
(als Name der Extrapage) (vgl. ![[*]](http://www.nm.informatik.uni-muenchen.de/common/icons/latex2html-97.1/cross_ref_motif.gif) ).
Auch sollte dann nicht versucht werden Workflow-Status des Schrittes
$control_args[step_nr] zu ermitteln, da der Parameter 'step_nr'
eine Extrapagenummer und nicht die Schrittnummer eines Workflow-Schrittes
bezeichnet.
).
Auch sollte dann nicht versucht werden Workflow-Status des Schrittes
$control_args[step_nr] zu ermitteln, da der Parameter 'step_nr'
eine Extrapagenummer und nicht die Schrittnummer eines Workflow-Schrittes
bezeichnet.
Darüberhinaus kann ein Modul vom Typ 'normal', wie auch jedes Modul
anderen Typs, weitere Modulfunktionen enthalten, die die gesamte HTML-Seite
selbst erzeugen, um mit $param[wf_step_position]=''Modulepage''
allein auf einer HTML-Seite dargestellt zu werden (siehe ![[*]](http://www.nm.informatik.uni-muenchen.de/common/icons/latex2html-97.1/cross_ref_motif.gif) ).
).
 
 
 
 
 
 
 
 
