next up previous contents index
Next: Der Eintrag 'new_tupel' im Up: Submodule für die Steuerung Previous: Übergeben von Werten an

Die Einträge 'insert' und 'check' im Detail

 Im Parameter-Array für die Funktion 'modul_extmod' gibt es die Schlüssel 'insert' und 'check'. Unter ihnen werden die Details übergeben, die zur Erzeugung von Views notwendig sind. In 'insert' können mehrere Views, in 'check' nur ein View definiert werden. Die Insert-Views sind für neue Tupel gedacht, deren Daten beispielsweise über ein HTML-Formular eines externen Moduls/Skripts eingegeben wurden. Die Namen der Views werden durch Komma getrennt in einem String zusammengefasst und unter dem Variablennamen table_insert_list in der Relation 'workflow_extmod_param' gespeichert. Für die Insert-Views muss festgelegt werden, welche der eingegebenen Werte in welche Views gelangen sollen. Dazu dient ein String, der unter dem Schlüssel 'get_attrib' für jeden Insert-View abgelegt werden muss. Der String enthält durch Komma getrennt eine Liste der Feldnamen. Da unter Umständen die Attributnamen des Views von den Namen der eingegeben Werte abweichen, kann im String die Notation 'attributname:wertname' benutzt werden. Die Strings werden in der DB unter dem Namen 'table_get_attrib[viewname]' abgelegt. Für jeden View enthält die DB einen solchen String.

Der Check-View ist geeignet, um eingegebene Werte mit Daten in der Datenbank zu vergleichen. Der Name des Views wird in der Relation 'workflow_extmod_param' unter 'table_check' gespeichert. In der Tabelle [*] sind die Bestandteile des 'insert'- und 'check'-Array zusammengefasst.


 
Tabelle:  Bestandteile des 'insert'- und 'check'-Array
english Schlüssel german english insert german english check german english Beschreibung german
english viewid german english ja german english ja german english String, mandatory. Mit Hilfe dieser ID werden die Views identifiziert. Die IDs müssen innerhalb eines Workflows eindeutig sein. Die eigentlichen Namen der Views werden von der Anwendung generiert und haben die Form: view<aktuelle_zeit>. german
english query german english ja german english ja german english Array, mandatory. Das Array hat die in Abschnitt beschriebene Struktur. Mit diesem Query wird der View definiert. german
english leittabelle german english ja german english ja german english String, mandatory. Name der Leittabelle, auf die sich der View beziehen soll. Zwar können im View durch Joins mehrere Tabellen der Datenbank zusammengefasst werden, Updates und Inserts haben jedoch nur Auswirkung auf die Leittabelle. german
english rechte german english ja german english ja german english String oder Array. Die hier definierten Rechte werden für den View gesetzt. Bei der ersten Variante werden die Rechte für den unter 'user' (siehe Abschnitt [*]) eingetragenen Benutzer gesetzt. Bei der Array-Variante werden die Benutzernamen als Schlüssel und die zugeordneten Rechte als Werte eingetragen. Die Rechte sind in beiden Varianten durch Komma getrennt. german
english req german english ja german english nein german english Array. Das Array hat als Schlüssel Attributnamen der Leittabelle und dazu passende Werte. Wird durch einen View ein Tupel in die Leittabelle neu eingefügt, werden für die entsprechenden Attribute diese Werte verwendet. Dadurch kann beispielsweise sichergestellt werden, dass nur neue Tupel für den aktuellen Workflow erstellt werden. german
english get_attrib german english ja german english nein german english String. Durch Komma getrennte Liste von Attributnamen des Views. Beschreibung siehe Text. german

Bemerkungen:

Im folgendem Beispiel wird von diesem Szenario ausgegangen: Über ein Web-Formular kann sich ein Student über seine Matrikelnummer und den Uniname für eine Vorlesung (Vorlesungsnummer = 10) anmelden. Dabei muss er außerdem auswählen, ob und an welchen Übungen er teilnehmen möchte. Dazu sind zwei Insert-Views nötig. Über den ersten wird die Anmeldung in die Relation 'student_besucht_vorlesung', über den zweiten in die Relation 'student_besucht_uebung' übernommen. Über den Check-View wird sichergestellt, dass der Student in der DB existiert. Außerdem wird über den Check-View der Primärschlüssel 'studentnummer' bestimmt, der in 'student_besucht_vorlesung' und 'student_besucht_uebung' als Fremdschlüssel gebraucht wird.
next up previous contents index
Next: Der Eintrag 'new_tupel' im Up: Submodule für die Steuerung Previous: Übergeben von Werten an
Copyright Munich Network Management Team