将自定义连接器与时间线控件结合使用

自定义连接器功能为开发人员提供了一种方法来将诸如 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)。

请求记录的响应将保留,以最大限度地减少多会话场景中发生的记录请求的数量。

配置 timeline 控件的自定义连接器

您可以通过在制作者体验中配置 timeline 控件来添加或编辑控件的自定义连接器。

  1. 在 timeline 控件上,选择要为其添加或编辑自定义连接器的窗体。

  2. 完成以下选项之一:

    • 要添加新的自定义连接器,在时间线表的属性窗格中,在自定义连接器中,选择添加连接器。 将显示新建自定义连接器窗格。

      添加自定义连接器。

    • 要编辑已上载的现有自定义连接器,在时间线实体的属性窗格中,选择自定义连接器,然后选择编辑。 将显示编辑自定义连接器窗格。

      编辑自定义连接器属性。

  3. 编辑此页面,然后选择保存

筛选器支持

自定义连接器筛选器支持包括以下功能。

  • 向现有筛选器组添加新筛选器类型
  • 添加新筛选器组
  • 更新现有筛选器类型计数
  • 对搜索关键字进行筛选

自定义连接器必须使用 init() 中传递的上下文中的 UserSettings 时区信息,以与时间线呈现保持一致。

作用域

统一接口客户端模型应用中的单会话和多会话表窗体支持自定义连接器功能。

超出范围

以下功能不能用于自定义连接器功能:

  • 离线和默认离线场景
  • 仪表板​​
  • TimelineWallControl 不可用的位置(如聚合应用、画布应用、Power Pages、自定义页面等)

已知限制

配置的 Web 资源不会正式声明为窗体的依赖项。 这意味着导出窗体不会自动导出 Web 资源,需要手动将它们添加到导出中。 此外,很容易意外删除这些 Web 资源。

开发记录源

开发记录源时,请确保采取以下做法:

  • 确保安全地检索数据。 统一接口安全模型将 JS 和 JSON Web 资源视为不受信任,因此,此类资源不应包含令牌或密码,因为它们将以纯文本形式存储。
  • 如果数据在 Dataverse 内,请使用来自 init 行为的上下文对象向 Dataverse 发起请求。 从上下文调用 Dataverse 将发起通过安全 iframe 代理的请求。 这是 TimelineWallControl 中现成可用的记录源检索数据的方式。
  • 如果数据在 Dataverse 之外,请使用平台中的现有机制来检索外部数据。
  • 使用 Fiddler 在本地测试更改:使用 Fiddler AutoResponder 提高开发和调试 JavaScript Web 资源的敏捷性。 详细信息:使用 Fiddler AutoResponder 编写 Web 资源开发脚本
  • 降低 XSS 攻击的风险:XSS 攻击的风险发生在向 DOM 添加/绑定 HTML 时。 请尽可能使用纯文本以降低此风险。 如果需要 HTML,则必须先清理此内容,然后再将其添加到记录中。
  • 请按照客户端脚本编写的一般最佳实践操作。 详细信息:模型驱动应用中的客户端脚本编写
  • 确保设计时采取包容性的做法,包括使用自动化测试工具,如 Accessibility Insights。

解决方案示例

您可以从具有“SecondaryRecordSource”Web 资源的自定义连接器解决方案示例开始,该示例针对“交互式体验的客户”和“多会话体验的客户”窗体进行配置。

另请参见

使用时间线
配置时间线

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。