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
Nächste Überarbeitung Beide Seiten der Revision
software:tim:timer:signalbymailreply [2017/12/07 16:36]
Philipp Deycke [Ablauf]
software:tim:timer:signalbymailreply [2017/12/07 17:07]
Philipp Deycke [Parameter]
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 werdenum eine konsistente Funktionsweise des Timer gewährleisten zu können.</​note>​
  
 == 5. moveFolder == == 5. moveFolder ==
Zeile 73: Zeile 73:
 == 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:
  
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 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 133: Zeile 133:
 ==== Ablauf ==== ==== Ablauf ====
  
-Zuerst wird auf das im Timer angegeben ​Postfach geöffnet 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.\\ 
-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.\\ 
-Lässt sich keine InstanzId ​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 findenwird die Nachricht ignoriert.\\ 
-Im nächsten Schritt wird mit der Absende-Email ein TIM-User gesucht. ​Wird kein USer 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 ​gesucht. Ist eine Name gefundenwird geprüft, ob die gefundene Prozessinstanz von der übergebenen [[:​software:​tim:​timer:​signalbymailreply#​pdname|Prozessdefinition]] stammt. ​Ist dies nicht der Fall war 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üft, ob die gefundene Prozessinstanz von der übergebenen [[:​software:​tim:​timer:​signalbymailreply#​pdname|Prozessdefinition]] stammt. ​Sollte ​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 wurde bekommt der Absender eine entsprechende Nachricht.\\+Sollte ​dieser Timer für die Mail zuständig ​sein, wird geprüft, ob 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ü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.\\
-Nun wird geprüft, ob es mehrere ​Folgeaktivitäten ​gibt. Sollte nur eine vorhanden sein, 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üft, ob 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üft, ob 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. Falls [[:​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, falls vorhanden, 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 Mail, die den Prozess weitergeschickt hat wird in den [[:​software:​tim:​timer:​signalbymailreply#​movefolder|konfigurierten]] Ordner verschoben.
software/tim/timer/signalbymailreply.txt · Zuletzt geändert: 2021/07/01 09:52 (Externe Bearbeitung)