Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Angepasste Konnektoren sind eine Funktion, die es Entwicklern ermöglicht, Informationen wie Dataverse-Tabellenzeilen, externe Datenquellen usw. als Datensätze in der Komponente TimelineWallControl anzuzeigen. Es lässt eine breitere Palette von Szenarien zu, zusätzlich zu den bestehenden „Out-of-Box“-Notizen, -Posts und -Aktivitäten.
Informationen zum Konfigurieren und Verwenden der Zeitachse finden Sie in den folgenden Themen.
Datensätze, die in benutzerdefinierten Connectors konfiguriert werden, fungieren als JavaScript-Webressource, die der IRecordSource-Schnittstelle entspricht. Der Name einer Webressource zusammen mit dem Konstruktor (Name einschließlich Namespace) und optionalem JSON-Webressourcenpfad kann als UClientRecordSourcesJSON-Parameterkonfiguration in FormXML hinzugefügt werden.
<UClientRecordSourcesJSON>
{"recordSources": [{
"name": "new_SecondaryRecordSource",
"constructor": "SampleNamespace.SecondaryRecordSource"}]
}
</UClientRecordSourcesJSON>
Es wird erwartet, dass TimelineWallControl die JavaScript-Webressource lädt und dann die Instanz von IRecordSource aus dem konfigurierten Konstruktor erstellt.
Die IRecordSource wird dann initialisiert (init), mit einer Anforderung für Seiten von Datensätzen (getRecordsData), einer Anforderung für Filterdetails (getFilterDetails) und einer Anforderung für die UX-Darstellung eines einzelnen Datensatzes (getRecordUX).
Die Antwort der Datensatzanforderung wird gespeichert, um die Anzahl der Datensatzabfragen zu reduzieren, die in Mehrfachsitzungs-Szenarien auftreten.
Konfigurieren Sie den benutzerdefinierten Verbinder für die Zeitachsensteuerung.
Sie können Ihren benutzerdefinierten Connector für das „timeline“-Steuerelement hinzufügen oder bearbeiten, indem Sie ihn in der Umgebung für Ersteller konfigurieren.
Wählen Sie im Zeitachsensteuerelement das Formular aus, für das Sie den benutzerdefinierten Verbinder hinzufügen oder bearbeiten möchten.
Führen Sie eine der folgenden Optionen aus:
Um einen neuen benutzerdefinierten Verbinder hinzuzufügen, wählen Sie im Eigenschaftenbereich für die Zeitachsentabelle unter Benutzerdefinierte Verbinder die Option Verbinder hinzufügen aus. Der Bereich "Neuer benutzerdefinierter Verbinder " wird angezeigt.
Um einen vorhandenen benutzerdefinierten Connector zu bearbeiten, den Sie bereits hochgeladen haben, wählen Sie im Eigenschaftenbereich für die Zeitachsenenentität den benutzerdefinierten Connector und dann "Bearbeiten" aus. Der Benutzerdefinierte Verbinderbereich bearbeiten wird angezeigt.
Bearbeiten Sie die Seite, und wählen Sie dann "Speichern" aus.
Filterunterstützung
Unterstützung für benutzerdefinierte Connectorfilter umfasst die folgenden Fähigkeiten.
- Hinzufügen eines neuen Filtertyps zu einer vorhandenen Filtergruppe
- Neue Filtergruppe hinzufügen
- Aktualisieren der anzahl vorhandener Filtertypen
- Nach Suchschlüssel filtern
Benutzerdefinierte Konnektoren müssen UserSettings-Zeitzoneninformationen aus dem in init() übergebenen Kontext verwenden, um mit dem Rendern der Zeitachse konsistent zu sein.
Umfang
Die angepasste Konnektorfunktion wird innerhalb von Single-Session- und Multi-Session-Tabellenformularen in Client-Modell-Apps für Einheitliche Oberfläche unterstützt.
Außerhalb des Gültigkeitsbereichs
Die folgende Funktionalität ist für das Feature für benutzerdefinierte Connectors nicht verfügbar:
- Offline- und Offline-by-default-Szenarien
- Dashboards
- Speicherorte, an denen TimelineWallControl nicht verfügbar ist (z. B. zusammengeführte Apps, Canvas-Apps, Power Pages, benutzerdefinierte Seiten usw.)
Bekannte Einschränkungen
Die konfigurierten Webressourcen werden nicht formell als Abhängigkeiten für das Formular deklariert. Dies bedeutet, dass das Exportieren eines Formulars die Webressourcen nicht automatisch exportiert, und sie müssen diesem Export manuell hinzugefügt werden. Darüber hinaus kann es einfach sein, diese Webressourcen versehentlich zu löschen.
Entwickeln Sie eine Datensatz-Quelle
Achten Sie bei der Entwicklung einer Datensatz-Quelle darauf, diese Praktiken zu befolgen:
- Stellen Sie sicher, dass Sie Daten sicher abrufen. Das Unified Interface-Sicherheitsmodell berücksichtigt JS- und JSON-Webressourcen als nicht vertrauenswürdig und daher sollten solche Ressourcen keine Token oder geheimen Schlüssel enthalten, da sie in Nur-Text gespeichert werden.
- Wenn sich die Daten in Dataverse befinden, verwenden Sie das Kontextobjekt aus dem Init-Verhalten, um Anforderungen an Dataverse zu senden. Bei Aufrufen von Dataverse aus dem Kontext werden die Anfragen durch einen sicheren Iframe geleitet. So rufen Out-of-Box-Datenquellen innerhalb von TimelineWallControl Daten ab.
- Wenn sich die Daten außerhalb von Dataverse befindet, verwenden Sie vorhandene Mechanismen von der Plattform, um externe Daten abzurufen.
- Lokal testen Sie Änderungen mithilfe von Fiddler: Verbessern Sie die Flexibilität der Entwicklung und des Debuggens von JavaScript-Webressourcen mithilfe von Fiddler AutoResponder. Weitere Informationen: Skriptwebressourcenentwicklung mit Fiddler AutoResponder.
- Verringern Sie das Risiko von XSS-Angriffen: Das Risiko von XSS-Angriffen tritt beim Hinzufügen/Binden von HTML zum DOM auf. Verwenden Sie, wenn möglich, Klartext, um dieses Risiko zu reduzieren. Wenn HTML erforderlich ist, müssen Sie diesen Inhalt sanitieren, bevor Sie ihn dem Datensatz hinzufügen.
- Befolgen Sie allgemeine bewährte Methoden für Client-Scripting. Weitere Informationen: Clientskripting in modellgesteuerten Apps
- Stellen Sie inklusive Designpraktiken sicher, einschließlich der Verwendung automatisierter Testtools wie Accessibility Insights.
Lösungsbeispiel
Sie können mit einem benutzerdefinierten Connectors-Lösungsbeispiel beginnen, das über die Webressource "SecondaryRecordSource" verfügt, die für die Formulare "Account for Interactive Experiences" und "Account for Multisession Experiences" konfiguriert ist.