Mailadresse Benutzer

Wertauflöser - Kurzfassung

Zweck: Durchsucht die Kommunikationsinformation-Attribute in der Adresse des angemeldeten oder eines explizit ausgewählten Benutzers nach Einträgen für den Kommunikationstyp "E-Mail" mit dem angegebenen Kontext und gibt eine Liste der gefundenen E-Mail-Adressen zurück.

Siehe auch: Mailadresse Gastbenutzer-Wertauflöser

images/download/attachments/91131936/image2022-1-20_15-2-23-version-1-modificationdate-1642687343666-api-v2.png

Der Mailadresse Benutzer-Wertauflöser durchsucht die Kommunikationsinformation-Attribute in der Adresse eines bestimmten Benutzerkontos nach Einträgen für den Kommunikationstyp "E-Mail" (EMAIL) mit einem bestimmten "Kontext".

  • Sofern der Parameter Benutzer auf ein bestimmtes Benutzerkonto (s. Benutzer) verweist, wird dessen Adresse (Feld address) ausgewertet.

  • Besteht keine Auswahl für den Benutzer, dann wird die Auswertung für den Benutzer der Session ausgeführt, der innerhalb einer Ausführen als-Ereignisaktion vom tatsächlichen Anmeldekontext abweichen kann.

  • Der Eingabewert ist für diesen Wertauflöser unerheblich.

Der Rückgabewert des Wertauflösers ist im Erfolgsfall eine Liste von Strings (string[]), die alle nicht-leeren Werte von Kommunikationsinformation-Attributen der durchsuchten Adresse enthält, deren "Kontext" (communicationContext) mit dem Wert im Parameter Kontext Kommunikationsinfo exakt (inkl. Groß- und Kleinschreibung) übereinstimmt.

HINWEIS◄ Auch ein einzelner Treffer wird als Element einer Liste zurückgegeben, so dass ggf. ein Wertauflöser (z. B. Listenwert oder Regel-Listen Resolver) verwendet werden muss, um direkt auf den einzelnen Wert zuzugreifen. Im typischen Einsatzumfeld innerhalb einer E-Mail-Versand-Ereignisaktion spielt das allerdings keine Rolle, da dort beim Adressieren von E-Mails (in den Parametern "Empfänger", "CC" und "BCC" wahlweise Strings oder Listen von Strings akzeptiert werden.

Der Rückgabewert des Wertauflösers lautet dagegen "Kein Wert" (null) sofern mindestens eine der folgenden Bedingungen zutrifft:

  • Für den Parameter Benutzer wurde keine Auswahl getroffen und im Kontext des Wertauflösers verweist der Benutzer der Session auf einen Gastbenutzer. Das ist der Fall, wenn alle der nachfolgenden Bedingungen erfüllt sind:

  • Es besteht ein Bezug zu einem Benutzerkonto (über den Parameter Benutzer, die Sitzung oder eine explizite Auswahl in einer Ausführen als-Ereignisaktion im direkten oder indirekten Ausführungskontext des Wertauflösers), aber die in diesem Benutzerkonto verfügt über kein Kommunikationsinformation-Attribut, das alle der nachfolgenden Bedingungen erfüllt:

    • Das Attribut verweist im Feld "Typ" (communicationType) auf den Kommunikationstyp "E-Mail" (EMAIL).

    • Das Attribut verweist im Feld "Kontext" (communicationContext) exakt auf den Wert im Parameter Kontext des Wertauflösers.

    • Das Attribut definiert im Feld "Wert" (communicationValue) einen beliebigen Text.
      HINWEIS◄ Ob dieser Text formalen Kriterien für eine E-Mail-Adresse entspricht, wird nicht untersucht. Allerdings demonstriert das "Beispiel" unten, wie "angebliche E-Mail-Adressen" nachträglich plausibilisiert werden können.

ANMERKUNG◄ Die Auswertung des Adresse des Benutzerkontos durch den Mailadresse Benutzer-Wertauflöser erfolgt ohne Rücksicht auf Zugriffsbeschränkungen, die im Ausführungskontext (Rolle der Session, Firma der Session, Ausführen als) für das betreffende Benutzerkonto gelten. Der Wertauflöser kann also auch auf die Kommunikationsinformationen von Benutzern zugreifen, die z. B. in einer Suche oder Übersicht mit denselben Anmeldedaten nicht erscheinen.

Konfiguration

Der Parameter Kontext Kommunikationsinfo muss als Pflichtfeld mit einem beliebigen statischen Text gefüllt werden. Der Wertauflöser liefert nur Werte aus Kommunikationsinformationen, deren "Kontext" (communicationContext) exakt (inkl. Groß-/Kleinschreibung) mit dem hier angegeben Wert übereinstimmt.

HINWEIS◄ Da der Parameter nicht "leer" bleiben kann, berücksichtigt der Wertauflöser Kommunikationsinformationen ohne Kontext kategorisch nicht.


Der optionale Parameter Benutzer ermöglicht eine Einfachauswahl aus der Liste der Benutzer. Wie im Bild zu sehen, unterstützt das Auswahlfeld/Combobox-Element eine Suchfunktion.

Ist kein Benutzer ausgewählt, dann bezieht sich die Auswertung auf den im Kontext des Wertauflösers gültigen Benutzer der Session, sofern es sich nicht um einen Gastbenutzer handelt.

WICHTIG◄ Beim Konfigurieren erscheinen im Dropdown nur Benutzer für die in der aktuellen Sitzung mindestens Lesezugriff besteht. Falls eine bestehende Konfiguration auf einen Benutzer verweist, für den in der aktuellen Sitzung kein Lesezugriff besteht, erscheint als Label "hidden - User". Für das Verhalten zur Laufzeit spielt der Lesezugriff keine Rolle.

images/download/attachments/91131936/image2022-1-20_17-11-30-version-1-modificationdate-1642695090815-api-v2.png

Beispiel

Ein Zuordnungskriterium (s. Zuordnungskriterien) soll prüfen, ob im Konto des aktuell angemeldeten Benutzers mindestens eine Kommunikationsinformation vom Kommunikationstyp "E-Mail" EMAIL hinterlegt ist, für die der Kontext "registration" lautet und deren "Wert" (communicationValue) gewisse formale Kriterien für eine E-Mail-Adresse erfüllt.

Konfiguration:

Das Zuordnungskriterium wird wie rechts abgebildet konfiguriert:

  • Die äußere Objekt-Feld-Regel verwendet den Ist leer-Vergleichstyp in Verbindung mit einer Negation, um festzustellen, ob die darin enthaltene Verkettung von Wertauflösern eine "akzeptable" E-Mail-Adresse im Konto des angemeldeten Benutzers gefunden hat. Diese Auswertung bestimmt, ob das Zuordnungskriterium insgesamt als "bestanden" oder "nicht bestanden" gilt.

  • Innerhalb der Verkettung wird zunächst der Mailadresse Benutzer-Wertauflöser eingesetzt, um in der Adresse des angemeldeten Benutzers (Parameter Benutzer bleibt leer) nach E-Mail-Adressen für den Kontext registration zu suchen. Falls solche Kommunikationsinformationen existieren, gibt der Wertauflöser deren Werte als Liste von Strings an den verketteten Nachfolger weiter.

  • Der verkettete Regel-Listen Resolver prüft die "E-Mail-Adressen" - sofern überhaupt eine Liste und nicht "Kein Wert" (null) übergeben wird - mit einer weiteren Objekt-Feld-Regel, die im folgenden Abschnitt genauer gezeigt wird. Da die Option Alle Werte als Liste abgewählt ist, bricht die Suche beim ersten "Treffer" ab und gibt diesen zurück, so dass die äußere Objekt-Feld-Regel "nicht-leer" ist und das Zuordnungskriterium als "bestanden" gilt.

  • Falls keine relevanten Kommunikationsinformationen gefunden werden, oder keine der dort eingetragenen E-Mail-Adressen den nachfolgend beschriebenen formalen Test besteht, gilt das Zuordnungskriterium als "nicht bestanden".

ANMERKUNG◄ Verweist der Benutzer der Session im Ausführungskontext des Wertauflösers auf einen Gastbenutzer (s. Gastbenutzer) gibt der Mailadresse Benutzer-Wertauflöser immer "Kein Wert" (null) zurück. Dann gilt das Zuordnungskriterium als "nicht bestanden". Die konfigurierte Regel impliziert also die Prüfung, ob ein "vollwertiger" Benutzer als Benutzer der Session gilt.

images/download/attachments/91131936/image2022-1-20_18-12-51-version-1-modificationdate-1642698771313-api-v2.png

Die Darstellung rechts zeigt den für das Beispiel konfigurierten Regel-Listen Resolver im Detail:

  • Auf der linken Seite der Objekt-Feld-Regel wird der zu prüfende Listenwert - die angebliche E-Mail-Adresse - einer zweistufigen Textersetzung unterzogen, die dazu dient, dass ein Text der als "akzeptabler" Wert für eine E-Mail-Adresse gewertet wird durch die willkürlich gewählte Zeichenfolge @EMAIL@ ersetzt wird. Gegen dieselbe Zeichenfolge (s. statischer Text rechts) prüft der Ist Gleich-Vergleichstyp.

  • Der Sonderfall, dass diese Zeichenfolge @EMAIL@ anstelle einer validen E-Mail-Adresse direkt im Benutzerkonto angegeben wurde, wird durch den ersten Text ersetzen-Wertauflöser (links) abgefangen, der diesen Text durch eine leere Zeichenfolge ersetzt.

  • Der verkettete zweite Text ersetzen-Wertauflöser verwendet einen "Regulären Ausdruck" als Suchtext, der den Text komplett durch das "Schlüsselwort" @EMAIL@ ersetzt, sofern er den gewünschten Prüfkriterien für das E-Mail-Schema entspricht.

ANMERKUNG◄ Der im Beispiel als Suchtext verwendete Reguläre Ausdruck ist bewusst primitiv angelegt und entsprechend "fehlbar", was die Abgrenzung zwischen akzeptablen und inakzeptablen E-Mail-Adressen angeht. Er kann durch jeden eigenen Ausdruck ersetzt werden, der konkrete Anforderungen präziser abdeckt. Insbesondere die Kontrolle für zulässige Zeichen für Benutzername und Domäne zwischen den zwingend eingeforderten Bestandteilen ("@" und ".") sollte strenger gehandhabt werden. Aktuell werden nur Leerzeichen ("\s") und das @-Symbol ("@") ausgeschlossen.

images/download/attachments/91131936/image2022-1-21_9-20-7-version-1-modificationdate-1642753208025-api-v2.png