Einladungen

Eine Einladung bringt die Menschen absichtlich ins Portal: Die Mitarbeiter entscheiden, wer sie erhält und welche Rollen sie vergibt, und jeder Empfänger erhält einen eigenen Link per E-Mail. Danach erstellt man seinen Login auf den bereits vorhandenen Kontakt – mit Passwort oder externer Anmeldung – oder, falls bereits vorhanden, fügt er die Rollen hinzu. So bringt ein Portal, das keine Registrierung von Fremden erlaubt, seine Nutzer dazu.

Wie eine Einladung reist

Eine Einladung wird als Entwurf geschrieben, und das Versenden ändert nichts außer ihrem Status. Der eigene zeitgesteuerte Prozess des Portals – der in jeder Portalinstanz alle fünf Minuten läuft – bemerkt sie, berechnet die Empfänger und schickt jedem einen Link mit eigenem Code per E-Mail. Nur der Hash des Codes wird gespeichert, sodass das Lesen der Tabelle niemandem einen funktionierenden Link liefert.

  1. Entwurf – entscheide , wer es erhält, welche Rollen es vergibt, sein Ablaufdatum und die E-Mail, in die es verschickt wird.
  2. Bereit zum Senden — Senden wurde gedrückt; das Portal erfasst es innerhalb weniger Minuten.
  3. Gesendet – die Empfänger existieren und ihre Links funktionieren, bis es abläuft (30 Tage nach dem Versand, es sei denn, du setzt ein Datum).
  4. Abgelaufen oder storniert – die Links funktionieren nicht mehr.

Wer es erhält.

Eine Einladung geht an einen Kontakt, an ein Konto – an jeden aktiven Kontakt, den es hat – oder an die Kriterien , die mit der FetchXML Query Builder-Rückgabe formuliert wurden. Die Empfänger werden beim Versand der Einladung mit Zugang der Person ausgearbeitet, und das erneute Senden erreicht später den Passenden, der sie bis dahin nicht erhalten hat, ohne jemandem zweimal eine E-Mail zu schreiben. Kontakte ohne E-Mail-Adresse werden übersprungen und so, sofern die Einladung nichts anderes sagt, Kontakte, die bereits einen Portal-Login haben.

Wer es empfängt, wird nach dem Senden festgelegt

Sobald eine Einladung den Entwurf verlässt, können sich der Empfänger und die vergebenen Rollen nicht mehr ändern – die Rollen werden gelesen, wenn jemand zustimmt, sodass eine Änderung verändert, was bereits einen Link besitzt. Ihr Ablaufdatum kann sich weiterhin verschieben. Jeder Empfänger kann einen neuen Link erneut erhalten oder selbst widerrufen werden.

Die E-Mail

Das Portal überlässt sich selbst und sendet seine eigene E-Mail aus seiner Lokalisierung (app.email-templates.invitation). Um eigene zu schreiben, erstellen Sie eine Kontakt- oder globale E-Mail-Vorlage in Dataverse, geben {{invitation-link}} Sie an, wo der Link hingehört, und wählen Sie sie in der Einladung aus. Eine Vorlage ohne Platzhalter versagt beim Empfänger, anstatt eine E-Mail zu senden, auf die niemand reagieren kann.

Akzeptieren

Der Link öffnet sich /Account/Invitation. Jemand ohne Login erstellt dort einen – die eigene E-Mail-Adresse des eingeladenen Kontakts, mit Passwort oder einer konfigurierten externen Anmeldung – selbst wenn die Anmeldung deaktiviert ist. Jemand mit Login meldet sich an und akzeptiert; jemand, der als andere Person angemeldet ist, wird gebeten, sich abzumelden. Einem Link zu folgen, der an die Adresse gemailt wird, gilt als Bestätigung, daher folgt keine Bestätigungs-E-Mail. Ein Code, der unbekannt, benutzt, widerrufen, abgelaufen oder für ein anderes Portal ist, sagt alle dasselbe.

Die öffentliche Ansprache

Der zeitgesteuerte Prozess arbeitet außerhalb jeder Anfrage und liest also die Adresse, von PowerPortalsPro:PublicUrl der das Portal erreicht wird – erforderlich, für jedes Portal. Seine Links zeigen dorthin, und es ist die Adresse, auf die die Lizenz des Portals geprüft wird, wenn entschieden wird, welche Einladungen ihre eigenen sind. Stellen Sie es pro Umgebung so ein, dass die UAT-Links auf UAT zeigen; in Azure App Service ist es die PowerPortalsPro__PublicUrl Anwendungseinstellung, die als Bereitstellungs-Slot-Einstellung markiert ist. Ein Portal, das auf localhost läuft, sendet keine Einladungen, es sei denn PowerPortalsPro:Invitations:DevelopmentWebsiteId , sie nennt den Website-Datensatz, als der sie operieren soll.

Verkabeln

InvitationAdmin listet die Einladungen mit Senden und Stornieren auf; InvitationForm bearbeitet eine, mit den Empfängern darunter. Sperre die Seite auf der Portal-Administrator-Kontrolle, wie auf den anderen Admin-Seiten, und gib dem Formular eine eigene Seite: Die Kriterien werden mit dem FetchXML-Abfragegenerator geschrieben, der den Raum benötigt. Jede Änderung erfolgt als angemeldetes Mitarbeiter, daher gilt die Dataverse-Sicherheit hier genauso wie in der modellgesteuerten App.

React Blazor

EinladungAdmin

Reagieren Blazor

InvitationAdmin Baureihe

Parameter

Name
Typ
Default
Beschreibung
InvitationUrlstring?
Wo eine Einladung bearbeitet wird, zum Beispiel als URL, deren {0} ihre ID ist – zum Beispiel 'EinladungAdmin/Einladung/{0}'. Setzen Sie es, erstellen und öffnen, navigieren Sie dorthin, mit neu anstelle des Ausweises für eine neue; wenn sie nicht gesetzt werden, öffnen sie eine Seitenklappe.
Name: InvitationUrl
Typ: string?
Beschreibung: Wo eine Einladung bearbeitet wird, zum Beispiel als URL, deren {0} ihre ID ist – zum Beispiel 'EinladungAdmin/Einladung/{0}'. Setzen Sie es, erstellen und öffnen, navigieren Sie dorthin, mit neu anstelle des Ausweises für eine neue; wenn sie nicht gesetzt werden, öffnen sie eine Seitenklappe.

Einladungsformular

Reagieren Blazor

InvitationForm Baureihe

Eigenschaften

Name
Typ
Default
Beschreibung
RecordTableRecord?
Die Einladung wird bearbeitet.
Name: Record
Typ: TableRecord?
Beschreibung: Die Einladung wird bearbeitet.