Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
software:tim:timer:signalbymailreply [2017/12/07 16:58] Philipp Deycke [Ablauf] |
software:tim:timer:signalbymailreply [2017/12/08 08:10] Philipp Deycke [Ablauf] |
||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
==== Beschreibung ==== | ==== Beschreibung ==== | ||
- | Dieser Timer prüft Postfächer und schickt Instanzen weiter, wenn dort Antwort-Emails 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 36: | Zeile 36: | ||
==== Parameter ==== | ==== Parameter ==== | ||
- | **alte Version:** | + | //alte Version:// |
email,password,port,host,limit,moveFolder,piIdRegExp,pDName,NodeNameRegExp,firstline,box,decisionRegExp,signalSuccessMail,processVariable,transitions | email,password,port,host,limit,moveFolder,piIdRegExp,pDName,NodeNameRegExp,firstline,box,decisionRegExp,signalSuccessMail,processVariable,transitions | ||
\\ | \\ | ||
Zeile 43: | Zeile 43: | ||
== 1. email == | == 1. email == | ||
- | Email, 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 == | ||
Zeile 61: | Zeile 61: | ||
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>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 werden um eine konsistente Funktionsweise des Timer gewährleisten zu können.</note> | + | <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> |
== 5. moveFolder == | == 5. moveFolder == | ||
Zeile 73: | Zeile 73: | ||
== 7. nodeNameRegExp == | == 7. nodeNameRegExp == | ||
- | NodeNameRegExp, eine Regular Expression die angibt wie der Nodename gefunden wird. Es wird im Mailtext und im Betreff danach gesucht. | + | NodeNameRegExp ist eine Regular Expression, die 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: | ||
Zeile 92: | Zeile 92: | ||
== 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 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 |
- | 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 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 |
---- | ---- | ||
Zeile 133: | Zeile 133: | ||
==== Ablauf ==== | ==== Ablauf ==== | ||
- | 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.\\ | + | 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.\\ |
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.\\ | 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.\\ | ||
Lässt sich keine Prozessinstanz-ID oder zu der ID keine Prozessinstanz in TIM finden, wird die Nachricht ignoriert.\\ | Lässt sich keine Prozessinstanz-ID oder zu der ID keine Prozessinstanz in TIM finden, wird die Nachricht ignoriert.\\ |