Utilizzare connettori personalizzati con il controllo timeline

La funzionalità relativa ai connettori personalizzati fornisce agli sviluppatori un modo per visualizzare informazioni come righe di tabella Dataverse, origini dati esterne e così via, come voci di record nel componente TimelineWallControl. Consente una serie più ampia di scenari oltre alle note, ai post e agli impegni predefiniti.

Per informazioni sulla configurazione e sull'utilizzo della sequenza temporale, vedi i seguenti argomenti:

I record configurati all'interno di connettori personalizzati sono una risorsa Web JavaScript conforme all'interfaccia IRecordSource. Il nome di una risorsa Web, insieme al costruttore (nome che include lo spazio dei nomi) e il percorso della risorsa Web JSON facoltativo, possono essere aggiunti come configurazione del parametro UClientRecordSourcesJSON all'interno di FormXML.

<UClientRecordSourcesJSON>
  {"recordSources": [{
    "name": "new_SecondaryRecordSource", 
    "constructor": "SampleNamespace.SecondaryRecordSource"}]
  }
</UClientRecordSourcesJSON>

È previsto che TimelineWallControl carichi la risorsa Web JavaScript e quindi crei l'istanza di IRecordSource dal costruttore configurato.

Viene quindi inizializzato IRecordSource (init), con una richiesta di pagine di record (getRecordsData), una richiesta di dettagli di filtro (getFilterDetails) e una richiesta della rappresentazione UX di un singolo record (getRecordUX).

La risposta dalla richiesta di record viene mantenuta per ridurre al minimo il numero di richieste di record che si verificano in scenari multisessione.

Configurare il connettore personalizzato per il comando della sequenza temporale

Puoi aggiungere o modificare il tuo connettore personalizzato per il controllo della sequenza temporale configurandolo nell'esperienza dell'autore.

  1. Nel controllo timeline, seleziona il modulo per il quale desideri aggiungere o modificare il connettore personalizzato.

  2. Completa una delle seguenti opzioni:

    • Per aggiungere un nuovo connettore personalizzato, nel riquadro Proprietà per la tabella della sequenza temporale, in Connettori personalizzati, seleziona Aggiungi connettore. Viene visualizzato il riquadro Nuovo connettore personalizzato.

      Aggiungi un connettore personalizzato.

    • Per modificare un connettore personalizzato esistente che hai già caricato, nel riquadro Proprietà per l'entità sequenza temporale, seleziona il connettore personalizzato, quindi seleziona Modifica. Viene visualizzato il riquadro Modifica connettore personalizzato.

      Modifica le proprietà del connettore personalizzato.

  3. Modifica la pagina, quindi seleziona Salva.

Supporto per filtri

Il supporto per filtri di connettori personalizzati include le seguenti capacità.

  • Aggiungere un nuovo tipo di filtro al gruppo di filtri esistente
  • Aggiungere un nuovo gruppo di filtri
  • Aggiornare il numero di tipi di filtro esistenti
  • Filtrare in base a una chiave di ricerca

I connettori personalizzati devono utilizzare le informazioni sul fuso orario di UserSettings dal contesto passato in init() per essere coerenti con il rendering della sequenza temporale.

Ambito

La funzionalità relativa ai connettori personalizzati è supportata in moduli di tabella a sessione singola e multisessione nelle app modello client Unified Interface.

Fuori ambito

La seguente funzionalità non è disponibile per la funzionalità dei connettori personalizzati:

  • Offline e scenari offline predefiniti
  • Dashboard
  • Posizioni in cui TimelineWallControl non è disponibile (come app convergenti, app canvas, Power Pages, pagine personalizzate e così via)

Limitazioni note

Le risorse Web configurate non vengono dichiarate formalmente come dipendenze nel modulo. Ciò significa che l'esportazione di un modulo non esporterà automaticamente le risorse Web che dovranno essere aggiunte manualmente all'esportazione. Inoltre, può essere facile eliminare accidentalmente queste risorse web.

Sviluppare un'origine record

Quando sviluppi un'origine record, assicurati di seguire queste procedure:

  • Assicurati di recuperare i dati in modo sicuro. Il modello di sicurezza Unified Interface considera le risorse Web JS e JSON come non attendibili e, pertanto, tali risorse non dovrebbero contenere token o segreti, poiché verrebbero archiviate in testo normale.
  • Se i dati sono in Dataverse, usa l'oggetto contesto dal comportamento init per effettuare richieste in Dataverse. Con le chiamate in Dataverse dal contesto, le richieste vengono inviate tramite proxy in un iframe sicuro. Questo è il modo in cui le origini record predefinite all'interno di TimelineWallControl recuperano i dati.
  • Se i dati sono al di fuori di Dataverse, utilizza i meccanismi esistenti della piattaforma per recuperare i dati esterni.
  • Testa le modifiche in locale utilizzando Fiddler. Migliora l'agilità di sviluppo e debug delle risorse Web JavaScript utilizzando Fiddler AutoResponder. Altre informazioni: Sviluppo di risorse Web dello script usando Fiddler AutoResponder.
  • Ridurre il rischio di attacchi XSS: il rischio di attacchi XSS si verifica quando si aggiunge/si associa HTML al DOM. Usa il testo normale quando possibile per ridurre questo rischio. Se è richiesto HTML, è necessario sanificare questo contenuto prima di aggiungerlo al record.
  • Segui le procedure consigliate generali per gli script client. Maggiori informazioni: Script client in app basate su modello
  • Garantisci procedure di progettazione inclusive, compreso l'utilizzo di strumenti di test automatizzati come Informazioni dettagliate accessibilità.

Esempio di soluzione

Puoi iniziare con un esempio di soluzione di connettori personalizzati che ha la risorsa web "SecondaryRecordSource", che è configurata per i moduli "Account per esperienze interattive" e "Account per esperienze multisessione".

Vedi anche

Utilizzare la sequenza temporale
Configurare la sequenza temporale

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).