Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Beschreibung

Der SignalByMailReply-Timer prüft Postfächer auf E-Mails und leitet Instanzen weiter, wenn E-Mails beantwortet werden müssen, damit weitere Instanzen generiert werden können. Der Timer muss in Kombination mit einem DE VariableDecisionHandler bei einer Aktivität, wenn nach dem Empfang eines Signals eine Entscheidung getroffen werden muss. Der Sender wird als Akteur allen Aufgaben der aktuellen Aktivität zugewiesen, sobald das Signal erfolgreich übertragen wurde. Darüber hinaus werden alle eingehenden E-Mails als Notiz an Aktivitäten angehängt, sofern sie einer bestimmten Aktivität zugeordnet werden können. RegExp wird verwendet, um einen Teil einer erfolgreichen E-Mail auszuwählen, der als Variable in den Prozess einbezogen wird (mit dem angegebenen Namen). Knotenname-answer_successful).

...

Code Block
-----[Reply: ]-----

...

Webservice-Name

Code Block
ProcessInstanceManager

Webservice-Methode

Code Block
signalByMailReply

Parameter

Parameter

Beschreibung

Gültige Beispiele

email

Dabei handelt es sich um die vollständige E-Mail-Adresse, aus der weitere E-Mails generiert werden.

  • ${name_of_variable}

  • ${Instanzname}

password

Das Kennwort, das für den Zugriff auf das gewünschte E-Mail-Konto verwendet wird.

  • 123456

port

Dies liefert Informationen über den Port, der der E-Mail-Adresse und dem Host entspricht. Häufig verwendete Ports sind 110 Pop 995 Pop inklusive Verschlüsselung 143 IMAP 993 IMAP mit Verschlüsselung.

  • 995

host

Host, z. B. pop3.gmail.com oder imap.gmail.com (Sehr oft beinhaltet dies entweder pop oder pop3 oder IMAP. SMTP ist weit weniger verbreitet!). Ein IMAP-Postfach ist erforderlich, wenn alle E-Mails in andere Ordner verschoben werden. Die Art des zu verwendenden Protokolls hängt von der verwendeten Mailbox ab. Wenn beide gängigen Protokolle vom Webservice unterstützt werden, sollte IMAP als bevorzugtes Protokoll ausgewählt werden.

Note

Wenn der Benutzer E-Mails in andere Ordner verschieben möchte, ist ein IMAP-Postfach erforderlich. Grundsätzlich hängt die Verwendung des Protokolls vom Postfach ab. Wenn beide Protokolle unterstützt werden, ist IMAP zu bevorzugen.

Note

Es wird dringend empfohlen, für jeden Zeitgeber und jede Prozessdefinition ein separates Postfach zu verwenden.

moveFolder

Dies ist kein Pflichtfeld, wenn es aktiviert ist. Dies ist der Name des Ordners, in den erfolgreich verarbeitete E-Mails zur Signalisierung verschoben werden sollen.

  • Weiterverarbeitet

pDName

Name der Prozessdefinition.

  • MyProcessDefiniton

nodeNameRegExp

NodeNameRegExp ist ein regulärer Ausdruck, der Hinweise darauf gibt, wie der Name einer Aktivität gefunden wird. Der Textinhalt von E-Mails sowie entsprechende Betreffüberschriften werden auf diesen Ausdruck hin gescannt. z.B. ++(.+)++ Das Element, das gesucht werden muss, wäre der in Klammern enthaltene nodeName.

  • Code Block
    ++Wait++

signalSuccessMail

Wenn der Wert "true" ist, wird auch eine E-Mail als Antwort an den Absender gesendet, die den erfolgreichen Empfang eines Signals bestätigt. Die Antwort kann innerhalb des Prozesses mithilfe von Variablen konfiguriert werden.

  • true

  • false

processVariable

Der Wert einer Prozessvariablen wird auf den ausgewählten Übergang gesetzt, wodurch dann die DE VariableDecisionHandler am XOR-Gateway, um eine Entscheidung zu treffen.

  • nameOfVariable

leavingTransitions

Wie wird der richtige Weg für den Prozess gefunden, wenn nach der aktuellen Aktivität mehrere Optionen vorhanden sind? Übergänge werden als Parameter in den Timer aufgenommen, indem zugeordnet wird, welche genauen Terme durch diesen Übergang erkannt werden sollen. Mindestens ein Übergang muss einwandfrei funktionieren, was wiederum bedeutet, dass mindestens einer der richtigen Begriffe im Text einer E-Mail enthalten sein muss. Zum Beispiel:

  • Genehmigung: ok-O.K.-okay-ja-y-zu-genehmigen-Genehmigung-akzeptieren-akzeptieren-übernehmen-alles-richtig-in Ordnung zustimmen-zustimmen

  • Ablehnung:-nicht-okay-nicht-ok-nicht-O.K.-nein-nie-inakzeptabel

Die Übergänge danach sind Zustimmung und Ablehnung. Um eine Genehmigung zu signalisieren, kann eine Antwort auf die E-Mail ok, okay, O.K. usw. beinhalten. Alternativ würden zum Signalisieren eine Ablehnung Wörter wie "nicht okay", nein, nie usw. verwendet.

  • Genehmigung: ok-O.K.-okay

  • Ablehnung:Nein-nicht

reasonRegExp

Die in der E-Mail enthaltene Entscheidung, die signalisiert, dass der Prozess für den Zugriff in einer späteren Phase des Prozesses gespeichert werden soll. An dieser Stelle können die Begriffe, die verwendet werden sollen, durch Durchsuchen des Textes der E-Mail bestimmt werden. Wenn die Entscheidung ein Ergebnis liefern soll, das sich über mehrere Zeilen erstreckt, muss die RegExp die Endung '?s' verwenden, zum Beispiel (.*?) Antworten:?s

Code Block
(.*?)writ ?s

alte Version: email,password,port,host,limit,moveFolder,piIdRegExp,pDName,NodeNameRegExp,firstline,box,decisionRegExp,signalSuccessMail,processVariable,transitions
Neue Version: Benutzername,Kennwort,Port,Host,moveFolder,pDName,NodeNameRegExp,signalSuccessMail,processVariable,transitions,decisionRegExp

Verfahren

Zuerst wird das vom Timer angegebene Postfach geöffnet, um eingehende E-Mails zu empfangen. Als Standardeinstellung wird der Ordner Posteingang abgerufen werden. Diese Einstellung kann geändert werden, indem Sie loom.properties mit dem Parameter inbox-name-signal-by-mail-reply.
Im zweiten Schritt werden die ersten fünf gefundenen E-Mails verarbeitet. Diese Anzahl von E-Mails kann angepasst werden, indem loom.properties mit dem Parameter inbox-name-signal-by-mail-reply. Mit jeder E-Mail wird eine Suche durchgeführt, um einen Text in der Form —–(1234)—– zuerst im Textinhalt und dann in der Betreffzeile zu finden. Dieser Text stellt die Identifikationsnummer (ID) der Systemprozessinstanz dar.
Die Meldung wird ignoriert, wenn weder eine ID noch eine entsprechende Prozessinstanz im System gefunden werden kann.
Im nächsten Schritt wird beim Senden einer E-Mail ein Benutzer gesucht. Der Absender erhält eine E-Mail, wenn kein Benutzer identifiziert werden kann.
Im folgenden Schritt wird der Name einer Aktivität sowohl im Inhalt als auch in der Betreffzeile der E-Mail gesucht, indem Sie NodeNameRegExp Parameter. Falls ein Name gefunden wird, wird geprüft, ob sich diese Prozessinstanz auf die bereitgestellte Prozessdefinition Parameter. Ist dies nicht der Fall, soll diese E-Mail diesem Timer nicht zugeordnet werden. Diese E-Mail würde dann ebenfalls ignoriert und keine E-Mail als Antwort gesendet.
Wenn dieser Timer der richtige für diese bestimmte E-Mail ist, wird eine Untersuchung gestartet, um sicherzustellen, dass sich der Prozess auch auf die richtige Aktivität konzentriert. Wenn dies der Fall ist, wird die E-Mail als Hinweis an eine Aktivität angehängt. Zusätzlich erhält der Absender eine entsprechende Nachricht.
Nun wird der Benutzer, der die E-Mail gesendet hat, überprüft, um sicherzustellen, ob er mindestens für eine der Aufgaben im Zusammenhang mit der aktuellen Aktivität verantwortlich ist. Dieser Nutzer wird dann wiederum informiert, wenn dies nicht der Fall ist.
Als nächstes erfolgt eine Überprüfung auf Folgeaktivitäten. Wenn nur eine Aktivität vorhanden ist, wird dem Benutzer der Status eines Akteurs zugewiesen, der für alle Aufgaben verantwortlich ist. Es gibt mehrere Möglichkeiten, den Prozess fortzusetzen und zu prüfen, ob die Mail eine entsprechende Entscheidung nach sich zieht.
Anschließend erhält der Benutzer den Status eines der Aufgabe zugeordneten Akteurs. Anschließend werden Prozessvariablen generiert und der Prozess weitergeleitet. Auf Wunsch wird auch eine E-Mail gesendet.
Alle E-Mails, die beantwortet wurden, werden in den Ordner errorMessages verschoben, wenn dieser Ordner bereits vorhanden ist. Die erste E-Mail, die den gesamten Prozess weitergeleitet hat, wird in den konfigurierten Ordner verschoben.

Variablen

Die Antworten auf ungültige Nachrichten können entweder mithilfe einer Variablen oder der Datei loom.properties eingerichtet werden:

...

Beispiel

...

Parameter:

Code Block
johndoe@yourcompany.com,123456,993,imap.gmail.com,,SignalByMailReply mk4,-+{(Wait.*)}-+,true,decision,no:rejected-no-nok;jo:approved-ok-yes,(.*?)wrote ?s

...