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
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:
In der aktuellen Sitzung ist ein Gastbenutzer (s. Gastbenutzer und ggf. Mailadresse Gastbenutzer) angemeldet.
Der Wertauflöser wird nicht (direkt oder indirekt) innerhalb einer Ausführen als-Ereignisaktion ausgeführt, die als Benutzer der Session explizit und temporär einen vollwertigen Benutzer (s. Benutzer) definiert.
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. |
|
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:
►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. |
|
Die Darstellung rechts zeigt den für das Beispiel konfigurierten Regel-Listen Resolver im Detail:
►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. |
|