使用具有時間表控制項的自訂連接器
自訂連接器功能可讓開發人員將 Dataverse 資料表資料列、外部資料來源等資訊顯示為 TimelineWallControl 元件中的記錄項目。 除了現有的現成附註、貼文和活動之外,它還允許更廣泛的案例集。
有關設定和使用時間表的資訊,請參閱以下主題:
在自訂連接器中設定的記錄是符合 IRecordSource 介面的 JavaScript Web 資源。 Web 資源的名稱以及建構函式 (包括命名空間的名稱) 和選擇性 JSON Web 資源路徑可以新增為 FormXML 中的 UClientRecordSourcesJSON 參數設定。
<UClientRecordSourcesJSON>
{"recordSources": [{
"name": "new_SecondaryRecordSource",
"constructor": "SampleNamespace.SecondaryRecordSource"}]
}
</UClientRecordSourcesJSON>
TimelineWallControl 應載入 JavaScript Web 資源,然後從設定的建構函式建立 IRecordSource 的執行個體。
然後初始化 (init) IRecordSource,要求記錄頁面 (getRecordsData)、要求篩選詳細資料 (getFilterDetails),並要求單一記錄的 UX 表示方式 (getRecordUX)。
要求記錄的回覆將保持不變,以最大程度地減少多工作階段案例中發生的記錄要求數。
設定時間表控制項的自訂連接器
您可在製作者體驗下進行設定,以新增或編輯時間表控制項的自訂連接器。
在時間表控制項中,選取您要為其新增或編輯自訂連接器的表單。
完成下列其中一個選項:
若要新增自訂連接器,請在時間表資料表的屬性窗格中,選取自訂連接器中的新增連接器。 新增自訂連接器窗格隨即顯示。
若要編輯您已上傳的現有自訂連接器,請在時間表實體的屬性窗格中選取自訂連接器,然後選取編輯。 編輯自訂連接器窗格隨即顯示。
編輯頁面,然後選取儲存。
篩選支援
自訂連接器篩選支援包括下列功能。
- 將新的篩選類型新增至現有的篩選群組
- 新增篩選群組
- 更新現有的篩選類型計數
- 在搜尋索引鍵上篩選
自訂連接器必須使用 init() 所傳遞之內容中的 UserSettings 時區資訊,才能與時間表呈現一致。
範圍
整合介面用戶端模型應用程式中的單一工作階段和多工作階段資料表表單支援自訂連接器功能。
超出範圍
以下功能不適用於自訂連接器功能:
- 離線和預設離線案例
- 儀表板
- TimelineWallControl 不可使用的位置 (例如交集應用程式、畫布應用程式、Power Pages、自訂頁面等)
已知限制
設定的 Web 資源未正式聲明為表單的相依性。 這代表匯出表單不會自動匯出 Web 資源,需要手動將它們新增到該匯出中。 此外,很容易意外刪除這些 Web 資源。
開發記錄來源
開發記錄來源時,請務必遵循以下做法:
- 確保您正在安全地擷取資料。 整合介面安全性模型將 JS 和 JSON Web 資源視為不受信任,所以此類資源不應包含權杖或密碼,因為它們將以純文字形式儲存。
- 如果資料位於 Dataverse 中,請使用 init 行為中的內容物件向 Dataverse 發出要求。 從內容呼叫 Dataverse 具有透過安全 iFrame 進行 Proxy 處理的要求。 這就是 TimelineWallControl 中現成的記錄來源擷取資料的方式。
- 如果資料位於 Dataverse 的外部,則使用平台中的現有機制來擷取外部資料。
- 使用 Fiddler 在本機測試變更:使用 Fiddler AutoResponder 提高 JavaScript Web 資源開發和偵錯的靈活度。 詳細資訊:使用 Fiddler AutoResponder 撰寫 Web 資源開發指令碼。
- 降低 XSS 攻擊的風險:XSS 攻擊的風險發生在將 HTML 新增/繫結至 DOM 時。 盡量使用純文字以降低此風險。 如果需要 HTML,則必須先清理此內容,然後再將其新增到記錄中。
- 遵循用戶端指令碼的一般最佳做法。 詳細資訊:模型導向應用程式中的用戶端指令碼
- 確保內含設計做法,包括使用協助工具見解等自動化測試工具。
解決方案範例
您可以從具有「SecondaryRecordSource」Web 資源的自訂連接器解決方案範例開始,該資源設定為「互動體驗帳戶」和「多工作階段體驗帳戶」表單。