Benutzer-Werkzeuge

Webseiten-Werkzeuge


Plugin installed incorrectly. Rename plugin directory 'swiftmail.backup' to 'swiftmail'.
software:tim:timer:signalbymailreply

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:tim:timer:signalbymailreply [2017/12/07 15:56]
Philipp Deycke [Beschreibung]
software:tim:timer:signalbymailreply [2021/07/01 09:52] (aktuell)
Zeile 3: Zeile 3:
 ==== Beschreibung ==== ==== Beschreibung ====
  
-Dieser Timer prüft Postfächer und schickt Instanzen weiter, wenn dort Antwort-E-Mails ​sind die Instanzen weiter signallen können. Er muss mit einem [[:​software:​tim:​actionhandler:​variabledecisionhandler|VariableDecisionHandler]] auf einer Node benutzt werden, wenn nach dem Signal eine Entscheidung getroffen werden soll. Der Absender wird, falls der Signal erfolgreich ist, als Actor auf allen Tasks der aktuellen Node gesetzt. Des Weiteren werden alle eingegangenen Mails, wenn Sie einer passenden Aktivität zugeordnet werden können, als Notiz an die Aktivität angehängt. Ein per [[:​software:​tim:​timer:​signalbymailreply#​reasonregexp|RegExp]] bestimmbarer Teil der erfolgreichen Mail wird als Variable (mit dem Namen //​Nodename//​-answer_successful) im Prozess gesetzt.\\+Dieser Timer prüft Postfächer und schickt Instanzen weiter, wenn dort Antwort-Emails ​sind, welche ​Instanzen weiter signallen können. Er muss mit einem [[:​software:​tim:​actionhandler:​variabledecisionhandler|VariableDecisionHandler]] auf einer Node benutzt werden, wenn nach dem Signal eine Entscheidung getroffen werden soll. Der Absender wird, falls der Signal erfolgreich ist, als Actor auf allen Tasks der aktuellen Node gesetzt. Des Weiteren werden alle eingegangenen Mails, wenn Sie einer passenden Aktivität zugeordnet werden können, als Notiz an die Aktivität angehängt. Ein mit [[:​software:​tim:​timer:​signalbymailreply#​reasonregexp|RegExp]] bestimmbarer Teil der erfolgreichen Mail wird als Variable (mit dem Namen //​Nodename//​-answer_successful) im Prozess gesetzt.\\
 Im Mailtext muss die betreffende Prozessinstanz in der Form Im Mailtext muss die betreffende Prozessinstanz in der Form
  
Zeile 37: Zeile 37:
 ==== Parameter ==== ==== Parameter ====
  
-email,​password,​port,​host,​limit,​moveFolder,​piIdRegExp,​pDName,​NodeNameRegExp,​firstline,​box,​decisionRegExp,​signalSuccessMail,​processVariable,​transitions +//alte Version:// ​email,​password,​port,​host,​limit,​moveFolder,​piIdRegExp,​pDName,​NodeNameRegExp,​firstline,​box,​decisionRegExp,​signalSuccessMail,​processVariable,​transitions\\ 
-\\ neue Version: +**neue Version:** username,​password,​port,​host,​moveFolder,​pDName,​NodeNameRegExp,​signalSuccessMail,​processVariable,​transitions,​decisionRegExp
-\\ username,​password,​port,​host,​moveFolder,​pDName,​NodeNameRegExp,​signalSuccessMail,​processVariable,​transitions,​decisionRegExp +
 == 1. email == == 1. email ==
  
-E-Mail, die komplette ​Emailadresse ​von der die Mails abgerufen werden sollen.+Email, die komplette ​Email-Adresse ​von der die Mails abgerufen werden sollen.
  
 == 2. password == == 2. password ==
  
-Password, das Passwort des E-Mailaccounts.+Password, das Passwort des Email-Accounts.
  
 == 3. port == == 3. port ==
  
-Port, passend zur E-Mailadresse ​und dem Host. +Port, passend zur Email-Adresse ​und dem Host. Häufige Ports: 110 //Pop// 995 //Pop mit Verschlüsselung//​ 143 //IMAP// 993 //IMAP mit Verschlüsselung//​
-Häufige Ports: +
-110 //​Pop// ​ +
-995 //Pop mit Verschlüsselung// ​ +
-143 //​IMAP// ​ +
-993 //IMAP mit Verschlüsselung//​+
 == 4. host == == 4. host ==
  
-Host, z.B. pop3.gmail.com oder imap.gmail.com (Meist etwas mit pop, pop3 oder imap. smtp ist normalerweise falsch.) ​<note important>​Wichtig:​ Sollen Mails in andere Ordner verschoben werden, so ist ein IMAP Postfach notwendig. Grundsätzlich hängt der Einsatz des Protokolls vom Postfach ab. Sollten beide Protokolle unterstützt werden, so ist IMAP zu bevorzugen.</​note>​+Host, z.B. pop3.gmail.com oder imap.gmail.com (Meist etwas mit pop, pop3 oder imap. smtp ist normalerweise falsch.)
  
-<note important>​ Grundsätzlich sollte pro Timer und Prozessdefinition ein separates Postfach verwendet werden um eine konsistente Funktionsweise des Timer gewährleisten zu können.</​note>​+<note important>​Wichtig:​ Sollen Mails in andere Ordner verschoben werden, so ist ein IMAP Postfach notwendig. Grundsätzlich hängt der Einsatz des Protokolls vom Postfach ab. Sollten beide Protokolle unterstützt werden, so ist IMAP zu bevorzugen.</​note>​ 
 + 
 +<note important>​ Grundsätzlich sollte pro Timer und Prozessdefinition ein separates Postfach verwendet werdenum eine konsistente Funktionsweise des Timer gewährleisten zu können.</​note>​
  
 == 5. moveFolder == == 5. moveFolder ==
Zeile 73: Zeile 68:
 == 7. nodeNameRegExp == == 7. nodeNameRegExp ==
  
-NodeNameRegExpeine Regular Expression die angibt wie der Nodename gefunden wird. Es wird im Mailtext und im Betreff danach gesucht. +NodeNameRegExp ​ist eine Regular Expressiondie angibt wie der Nodename gefunden wird. Es wird im Mailtext und im Betreff danach gesucht. z.B. ++(.+)++ Dabei ist das gesuchte Element hier die der NodeName in Klammern zu schreiben. Beispiel:
-z.B. ++(.+)++ Dabei ist das gesuchte Element hier die der NodeName in Klammern zu schreiben. Beispiel:+
  
 <​code>​ <​code>​
Zeile 84: Zeile 78:
 == 8. signalSuccessMail == == 8. signalSuccessMail ==
  
-Bei true wird auch bei erfolgreichem Signal eine Antwortmail an den Absender geschickt. Die Antwort kann mit Variablen im Prozess konfiguriert werden. Siehe [[:​software:​tim:​timer:​signalbymailreply#​variablen|unten]].+Bei //true// wird auch bei erfolgreichem Signal eine Antwortmail an den Absender geschickt. Die Antwort kann mit Variablen im Prozess konfiguriert werden. Siehe [[:​software:​tim:​timer:​signalbymailreply#​variablen|unten]].
  
 == 9. processVariable == == 9. processVariable ==
Zeile 92: Zeile 86:
 == 10. leavingTransitions == == 10. leavingTransitions ==
  
-Wie wird der Prozessweg gefunden wenn nach der aktuellen Aktivität mehrer Aktivitäten folgen können? Transitionen werden im Timer als Parameter mit angegeben - mit Mapping, welche Begriffe alle für diese Transition gelten. Nur eine Transition muss auch funktionieren - auch hier muss einer der korrekten Begriffe in der Mail stehen Beispiel: freigabe:​ok-okay-ja-j-freigegeben-freigabe-akzeptiert-von mir aus-angenommen-i.o.-i. o.- io-in ordnung-i. ordnung-in o.;​abgelehnt:​nok-nichtok-nicht okay-nein-n+Wie wird der Prozessweg gefundenwenn nach der aktuellen Aktivität mehrer Aktivitäten folgen können? Transitionen werden im Timer als Parameter mit angegeben - mit Mapping, welche Begriffe alle für diese Transition gelten. Nur eine Transition muss auch funktionieren - auch hier muss einer der korrekten Begriffe in der Mail stehenBeispiel: freigabe:​ok-okay-ja-j-freigegeben-freigabe-akzeptiert-von mir aus-angenommen-i.o.-i. o.- io-in ordnung-i. ordnung-in o.;​abgelehnt:​nok-nichtok-nicht okay-nein-n
  
-Die Transitionen der Node sind: freigabe und abgelehnt Für freigabe z.B. kann auf die Mail mit ok, okay, usw. geantwortet werden. Für abgelehnt sind es nok, nichtok, ​"nicht okay", nein und n+Die Transitionen der Node sind: 'freigabe' ​und 'abgelehnt'​. ​Für 'freigabe' ​z.B. kann auf die Mail mit 'ok''okay', usw. geantwortet werden. Für 'abgelehnt' ​sind es 'nok''nichtok''nicht okay''nein' ​und 'n'.
  
 == 11. reasonRegExp == == 11. reasonRegExp ==
  
-Die Entscheidung in der Mail die den Prozess gesignaled hat soll für den weiteren Prozessverlauf gespeichert werden. Hier kann angegeben werden wie diese im Mailtext gesucht wird. Wenn die Entscheidung ein Ergebnis, das über mehrere Zeilen geht, liefern soll dann muss die RegExp mit ?s enden. z.B. (.*?​)Antwortet:?​s+Die Entscheidung in der Maildie den Prozess gesignaled hatsoll für den weiteren Prozessverlauf gespeichert werden. Hier kann angegeben werden wie diese im Mailtext gesucht wird. Wenn die Entscheidung ein Ergebnis, das über mehrere Zeilen geht, liefern soll dann muss die RegExp mit ?s enden. z.B. (.*?​)Antwortet:?​s
  
 ---- ----
Zeile 110: Zeile 104:
 found-no-node-for-signal-by-mail-reply\\ found-no-node-for-signal-by-mail-reply\\
 signal-done-for-signal-by-mail-reply\\ signal-done-for-signal-by-mail-reply\\
-found-no-processinstance-for-signal-by-mail-reply//​Hier ist nur die Konfiguration über die loom.properties möglich.\\+found-no-processinstance-for-signal-by-mail-////reply//Hier ist nur die Konfiguration über die loom.properties möglich.\\
 Die Korrekte Antwort wird unter\\ Die Korrekte Antwort wird unter\\
 //​signal-successful-signal-by-mail-reply//​ \\ //​signal-successful-signal-by-mail-reply//​ \\
Zeile 127: Zeile 121:
 >> //​lastUserNameLast//,​ Nachname des Users der die Node beendet hat. Nur bei Signal-versuchen die nach Abschluss der Node versucht werden >> //​lastUserNameLast//,​ Nachname des Users der die Node beendet hat. Nur bei Signal-versuchen die nach Abschluss der Node versucht werden
 >> //​lastUserNameFirst//,​ Vorname des Users der die Node beendet hat. Nur bei Signal-versuchen die nach Abschluss der Node versucht werden >> //​lastUserNameFirst//,​ Vorname des Users der die Node beendet hat. Nur bei Signal-versuchen die nach Abschluss der Node versucht werden
-Nach dem Signal sind folgende Variablen ​Verfügbar: //​nodename//​-lastActor //​nodename//​-signalDateTime (Format: "​yyyy-MM-dd HH:​mm:​ss"​)+Nach dem Signal sind folgende Variablen ​verfügbar: //​nodename//​-lastActor //​nodename//​-signalDateTime (Format: "​yyyy-MM-dd HH:​mm:​ss"​)
  
 ---- ----
 +
  
 ==== Ablauf ==== ==== Ablauf ====
  
-Zuerst wird auf das im Timer angegeben ​Postfach geöffnet und die Mails abgeholt. Standardmäßig wird der Ordner //Inbox// abgeholt, ​was aber in den loom.properties mit dem Parameter //​inbox-name-signal-by-mail-reply//​ konfiguriert werden ​kann.\\ +Zuerst wird das Postfach geöffnet, welches im Timer hinterlegt wurde, ​und die Mails abgeholt. Standardmäßig wird der Ordner //Inbox// abgeholt, ​dies kann aber in den loom.properties mit dem Parameter //​inbox-name-signal-by-mail-reply//​ konfiguriert werden.\\ 
-Dann werden die ersten 5 gefunden Mails abgearbeitet. Die Anzahl kann über den Parameter //​inbox-name-signal-by-mail-reply//​ in den loom.properties konfiguriert werden. In jeder Mail wird zuerst im Inhalt und dann im Betreff nach einem Text in der Form —–(1234)—– gesucht. Dabei handelt es sich um die TIM-Prozessinstanz-ID.\\ +Danach ​werden die ersten 5 gefunden Mails abgearbeitet. Die Anzahl kann über den Parameter //​inbox-name-signal-by-mail-reply//​ in den loom.properties konfiguriert werden. In jeder Mail wird zuerst im Inhalt und dann im Betreff nach einem Text in der Form wie —–(1234)—– gesucht. Dabei handelt es sich um die TIM-Prozessinstanz-ID.\\ 
-Wird keine Instanzid gefunden ​oder zu der Id keine Prozessinstanz in TIM gefundenWird die Nachricht ignoriert.\\ +Lässt sich keine Prozessinstanz-ID ​oder zu der ID keine Prozessinstanz in TIM findenwird die Nachricht ignoriert.\\ 
-Im nächsten Schritt wird mit der Absende-E-Mail ​ein TIM-User gesucht. ​Wird keiner ​gefunden, erhält der Absender eine entsprechende Mail.\\ +Im nächsten Schritt wird mit der Absende-Email ein TIM-User gesucht. ​Sollte kein User gefunden ​werden, erhält der Absender eine entsprechende Mail.\\ 
-Nun wird mit der [[:​software:​tim:​timer:​signalbymailreply#​nodenameregexp|NodeNameRegExp]] ​der Name einer Aktivität im Mailtext und dann im Betreff ​gesuchtWird eine Name gefundenwird geprüft ob die gefundene Prozessinstanz von der übergebenen [[:​software:​tim:​timer:​signalbymailreply#​pdname|Prozessdefinition]] ​istIst das nicht der Fall Ist die Mail nicht für diesen Timer bestimmt und auch diese Nachricht wird ignoriert. Es gibt keine Antwortmail.\\ +Nun sucht der Timer mit der [[:​software:​tim:​timer:​signalbymailreply#​nodenameregexp|NodeNameRegExp]] ​nach dem Namen einer Aktivität im Mailtext und darauf ​im Betreff. ​Ist ein Name gefunden ​worden ​wird geprüftob die gefundene Prozessinstanz von der übergebenen [[:​software:​tim:​timer:​signalbymailreply#​pdname|Prozessdefinition]] ​stammtSollte dies nicht der Fall sein war die Mail nicht für diesen Timer bestimmt und auch diese Nachricht wird ignoriert. Es gibt keine Antwortmail.\\ 
-Ist dieser Timer für diese Mail zuständig, wird geprüft ob der Prozess an der richtigen Aktivität steht. Ist das der Fall wird die Mail als Notiz an die Aktivität angehängt. Wenn der Prozess schon weitergeleitet ​ist bekommt der Absender eine entsprechende Nachricht.\\ +Sollte ​dieser Timer für die Mail zuständig ​sein, wird geprüftob der Prozess an der richtigen Aktivität steht. Ist dies der Fallwird die Mail als Notiz an die Aktivität angehängt. Wenn der Prozess schon weitergeleitet ​wurde bekommt der Absender eine entsprechende Nachricht.\\ 
-Jetzt wird geprüft ob der TIM-User der die E-Mail geschickt hat, für eine der Tasks auf der aktuellen Aktivität zuständig ist. Ist das nicht der Fall wird er informiert.\\ +Jetzt wird geprüftob der TIM-User der die E-Mail geschickt hat, für eine der Tasks auf der aktuellen Aktivität zuständig ist. Ist das nicht der Fall wird er informiert.\\ 
-Nun wird geprüft ob es mehrere ​Folgeaktivitäten ​gibt. Ist es nur eine vorhanden, wird der User als Actor auf den Aufgaben der Aktivität gesetzt. Gibt es mehrere Möglichkeiten den Prozess fortzusetzen wird geprüft ob die Mail eine [[:​software:​tim:​timer:​signalbymailreply#​leavingtransition|Entscheidung]] dazu enthält.\\ +Nun wird geprüftob es mehrere ​Folge-Aktivitäten ​gibt. Sollte ​nur eine vorhanden ​sein, wird der User als Actor auf die Aufgaben der Aktivität gesetzt. Gibt es mehrere Möglichkeiten den Prozess fortzusetzen wird geprüftob die Mail eine [[:​software:​tim:​timer:​signalbymailreply#​leavingtransition|Entscheidung]] dazu enthält.\\ 
-Dann wird auch in diesem Fall der User Actor auf den Task. Jetzt werden Prozessvariablen gesetzt und der Prozess weiter geschickt. ​Wenn [[:​software:​tim:​timer:​signalbymailreply#​signalsuccessmail|gewünscht]] wird auch dann eine Antwort verschickt.\\ +Dann wird auch in diesem Fall der User Actor auf den Task. Jetzt werden Prozessvariablen gesetzt und der Prozess weiter geschickt. ​Falls [[:​software:​tim:​timer:​signalbymailreply#​signalsuccessmail|gewünscht]] wird auch dann eine Antwort verschickt.\\ 
-Alle Mails die beantwortet wurden, werden, ​wenn er vorhanden ​ist, in den Ordner errorMessages verschoben. Die Mail die den Prozess weitergeschickt hat wird in den [[:​software:​tim:​timer:​signalbymailreply#​movefolder|konfigurierten]] Ordner verschoben.+Alle Mails die beantwortet wurden, werden, ​falls vorhanden, in den Ordner errorMessages verschoben. Die Maildie den Prozess weitergeschickt hat wird in den [[:​software:​tim:​timer:​signalbymailreply#​movefolder|konfigurierten]] Ordner verschoben.
  
-<note important>​Derjenige der auf die Email antwortet, muss entweder direkter Bearbeiter der Aufgabe sein oder sich in der aktuell eingetragenen Gruppe befinden.</​note>​+<note important>​Derjenigeder auf die Email antwortet, muss entweder direkter Bearbeiter der Aufgabe sein oder sich in der aktuell eingetragenen Gruppe befinden.</​note>​
  
 ---- ----
software/tim/timer/signalbymailreply.1512658584.txt.gz · Zuletzt geändert: 2021/07/01 09:59 (Externe Bearbeitung)