WISE 1.2 R2: Workflow

Funktionalität:

Der Workflow ist ein WISE Objekttyp, mit dem es möglich ist Objekten einen vordefinierten Ablauf mitzugeben. Diesen Objekten können selbst erstellte Stati, Federführende, Zuarbeiter und Abonnenten zugeordnet werden. Wir nutzen dieses Workflow als “Tasker” zur Abarbeitung von Aufgaben mit mehreren Be- und Zuarbeitern. Diese sind dann als Abonnenten eingetragen und werden bei Veränderungen an der Aufgabe oder neuen Zuarbeiten über Ihren Lotus-Notes Account benachrichtigt.

Änderungswürdige Funktionalitäten:

Der Workflow hat soweit fehlerfrei funktioniert, es gab nur zwei Punkte, die sich während des Betriebs dieses Objekttypen als verbesserungswürdig herauskristallisiert haben.
Zum einen wurde durch mehrfaches Anklicken des “Next”-Buttons, z.B. bei der Erstellung eines neuen Kommentars zu einer Aufgabe, dieser Kommentar mehrfach erstellt. Das Formular, welches zur Erstellung des Kommentars vom WISE eingestezt wird, kann nicht unterscheiden, ob das Formular schon einmal versendet wurde oder nicht. So kam es bei zeitlich längeren Versende-Aktionen dazu, dass der Ersteller des Kommentars ein weiteres mal auf “Next” geklickt hat, da sich für ihn das Bild zeigte, als würde das System seine Anfrage nicht verarbeiten.
Zum anderen hatten wir für jeden Status Abonnenten zugeordnet, der Workflow-Objekttyp bot aber nicht die Möglichkeit, sich die Adressaten irgendwo anzeigen zu lassen. Die einzige Möglichkeit herauszubekommen wer alles ein Abonnent ist, war sich den Adressatenkreis in der automatisch zugestellten Mail bei Änderungen an der Aufgabe anzusehen.

Script – Veränderungen:

Wir haben zur Behebung des ersten Problems (die Mehrfachversendung des Erstellformulars) in der Funktionsweise des WISE geforscht, welches Formular diese Daten übermittelt. Dabei haben wir herausgefunden, dass WISE nur ein Formular zur Versendung von Daten verwendet und in dieses Formular modular die speziellen Daten zu den jeweiligen Verwendungen einbindet. D.h. es wird immer das “Wizard”-Formular geladen und je nach gewünschter Funktionalität das spezielle Erklärungs- und Hilfeunterformular eingebunden. Dieses Wizard-Formular wurde nun so abgewandelt, dass nach dem Absenden des Formulars ein weiteres Versenden nicht möglich ist. Statt dessen wird der Nutzer in einem Informationsdialog darauf hingewiesen, dass die Verarbeitung seiner Anfrage bereits begonnen hat. Die geänderte Datei heisst Wizard.py und ist hier im ZIP-Archiv (Workflow) abgelegt. Die vorhandene Wizard.pyc Datei ist umzubenennen (z.B. in Wizard_original.pyc) und die Wizard.py in dieses Verzeichnis zu kopieren. Danach muss WISE einmal gestoppt und wieder gestartet werden. Es wird beim WISE-Start aus der Wizard.py eine Wizard.pyc erstellt. Nun ist die neue Funktionalität im Workflow eingebunden.
Bei der Anzeige der Abonnenten eines Status müssen mehrere Dateien abewandelt werden. Erstens die state_subscriptions.dtml, diese wird ausgeführt, wenn im WISE im Workflow auf subscriptions geklickt wird. Es werden auf dem ersten Bildschirm die persönlichen Nutzerangaben abgefragt, oder wenn vorhanden aus dem Cookie ausgelesen. Danach wird abgefragt, ob ein State oder ein Item abonniert werden soll(Mail bei Statuswechsel oder Mail zu jeder Änderung einer Aufgabe). Nach Anwählen von State wird mit der geänderten Datei nicht nur angezeigt wofür man ein Abo hat/will, sondern wer alles ein Abo für welchen Status hat. Zum zweiten muss die scrub-emails.dtml abgeändert werden. Diese Änderung bewirkt, dass bei der Auswahl von Remove Subscription im Managemodus des Workflows eine Liste der Abonnenten mit angezeigt wird. Somit kann die Adresse einfach aus der Anzeige kopiert und in die Löschliste eingetragen werden. Damit diese beiden Dateien eine vernünftige Anzeige liefern, muss als letztes noch die Subscription.py abgeändert werden. Hier wird eine neue Methode eingebunden, die die formatierte Ausgabe der Abonnenten generiert. Diese drei Dateien finden Sie ebenfalls in dem hier hinterlegten ZIP-Archiv (Workflow). Mit den Original-Dateien ist ebenso wie mit der Original-Wizard.pyc zu verfahren. Die Original-Dateien sind umzubennen (beachte: das Original der Subscription.py heisst Subscription.pyc) und die geänderten Dateien an die Speicherorte der Originale zu kopieren. Nach einem Neustart des WISE sind die Funktionalitäten aktiv.

About gordenschollbach

Nun wird es Zeit ein wenig über mich preiszugeben. Ich bin 32 Jahre alt/jung (wie man es sehen will), habe drei Kinder und bin verheiratet. Ich bin bei der Bundeswehr in der Informationstechnikschiene eingestiegen und auch dabei geblieben. Meine Weiterentwicklung geht in die Richtung, dass ich mich jetzt weniger mit der Hardware befasse sondern mehr mit der Software. Seit meiner Versetzung auf meinen aktuellen Dienstposten beschäftige ich mich hauptsächlich mit dem Informationsmanagement und spezialisiere mich auf die technische Umsetzung von "visionären" Ideen. Wir betreiben das Informationsportal des Flottenkommandos und versuchen es so benutzerfreundlich wie möglich aufzubohren. Ich scripte mit JavaScript und PHP. Die Programmiersprachen, die ich nicht nur gehört sondern auch schon mal benutzt habe, sind: Asembler, Basic, TurboPascal, HTML, Java2 und C++. Wobei Java2 und HTML die noch am frischesten sind und die ich deshalb bevorzuge. Da ich schon als Datenbankentwickler und -administrator eingestzt war, behaupte ich mich auch mit MS-Access und PostgreSQL auszukennen. Derzeit will ich mich ein wenig weiterbilden und lerne deshalb noch Python. Ajax ist dann das nachfolgende Projekt. Meine Hobbies begrenzen sich momentan ausschließlich auf meine Familie. Ich wünsche allen Besuchern von Mickey's Blog viel Spass und möget ihr die Informationen finden, nach denen ihr suchet.
This entry was posted in deutsch, DTML-Stuff, Product Hacks. Bookmark the permalink.

Leave a Reply