Freigeben über


Verwenden Sie angepasste Konnektoren mit dem Steuerelement für die Zeitleiste

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.

  1. Wählen Sie im Zeitachsensteuerelement das Formular aus, für das Sie den benutzerdefinierten Verbinder hinzufügen oder bearbeiten möchten.

  2. 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.

      Fügen Sie einen benutzerdefinierten Connector hinzu.

    • 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 benutzerdefinierten Connectoreigenschaften.

  3. 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.

Siehe auch

Zeitachse verwenden
Zeitachse konfigurieren