创建、编辑和验证订阅

通过导航到目标视点并选择要订阅到的源视点来创建订阅。当在源视点中提交更改时,会生成在目标视点中执行相同更改的请求。

最佳做法

创建节点类型转换器时,最佳做法是将源节点类型转换为目标视点中的单一节点类型。如果将源节点类型转换为多个目标节点类型,订阅请求可能变得不明确,而该记录可能被跳过。

提示:

创建订阅后,使用视点检查器中的“世系”选项卡可视化视点作为源和目标的订阅。请参阅“查看视点世系”。

订阅的先决条件

为了能够创建订阅,必须满足以下条件:

  • 源视点和目标视点都必须处于“活动”状态

  • 订阅创建者以及默认接受者和备用接受者必须具有足够权限和数据访问权限。请参阅“请求的安全性”。

  • 如果源视点和目标视点都具有层次类型节点集,那么这两个层次集不能相同,且这两个视点之间必须至少拥有一个等效的节点类型。也就是说,源视点和目标视点必须在同一个应用程序中拥有相同的节点类型,否则必须设置节点类型转换器将源节点类型转换为目标节点类型。

  • 如果源视点具有列表类型节点集,而目标视点具有层次类型节点集,那么这两个视点之间必须至少有一个等效的节点类型。也就是说,源视点和目标视点必须在同一个应用程序中拥有相同的节点类型,否则必须设置节点类型转换器将源节点类型转换为目标节点类型。

  • 如果源视点和目标视点都具有列表类型节点集,或源视点具有层次类型节点集而目标视点具有列表类型节点集,那么这两个视点之间必须至少有一个不同的节点类型,且必须设置节点类型转换器以将源节点类型转换为目标节点类型。

注意事项

  • 在源视点具有列表类型节点集而目标视点具有层次类型节点集的情况下,对于添加或插入节点的订阅操作,可以为每个请求操作计算层次视点中父代的值。管理员必须定义计算父代值的表达式。请参阅“计算和存储属性”。
  • 对于使用计算节点名称的订阅,将在源视点中计算节点名称,生成的名称将传递给目标视点。如果要在目标视点中计算名称,必须在节点类型转换器中设置属性转换,以将名称属性转换为空白值或计算名称关键字之一。请参阅“计算名称和订阅”。
  • 在生成订阅请求的请求项时,将对源层次视点中的顶级节点运行节点类型转换器中的父代转换。这样,就可以将源视点中添加的顶级节点放置在目标层次视点中的不同父代下。
  • 对于使用名称转换的目标节点,如果目标节点链接到源节点,可以通过使用节点链接信息标识目标节点,从目标视点中移除或删除目标节点。

    注:

    使用订阅同步节点时,从比较创建请求项时,或匹配和合并节点时,会建立节点链接(请参阅“关于节点链接”)。如果目标视点中存在使用名称转换但未链接到源节点的节点(例如,它们不是从具有订阅的源视点创建或更新的),则无法从使用订阅的目标视点中移除或删除它们。
  • 如果目标视点名称超过 30 个字符,那么必须创建有 30 个字符或更少字符的标签。订阅请求文件中将使用标签而不是视点名称。请参阅“检查视点”。

  • 无法创建以设置了时间标签的视点作为源视点或目标视点的订阅。

创建订阅

一个目标视点可订阅多个源视点。要创建订阅:

  1. 视图中,打开包含目标视点的视图。

  2. 选择目标视点。

  3. 将光标置于视点名称的右侧,单击 菜单图标,然后选择检查

  4. 选择订阅选项卡,然后单击创建

  5. 创建订阅对话框中,执行以下操作:

    1. 选择要订阅的源视点。

      注:

      仅会显示与“订阅的先决条件”中的条件匹配的视点供您选择。

    2. 可选:输入订阅的名称和描述。默认情况下,订阅名称为“{源视图名称} | {源视点名称}”。
    3. 单击创建

单击创建后,订阅将显示在订阅检查器中。您可以在此处编辑订阅设置。

编辑、启用、禁用或删除订阅

要编辑订阅:

  1. 视图中,打开包含目标视点的视图。

  2. 选择目标视点。

  3. 将光标置于视点名称的右侧,单击 菜单图标,然后选择检查

  4. 选择订阅,然后单击您要编辑的订阅的名称。

    此时订阅将显示在订阅检查器中。

  5. 可选:在“常规”选项卡上,单击编辑,然后修改订阅名称或描述。
  6. 定义选项卡上,单击编辑,然后执行操作:

    • 接受者中,选择默认请求接受者和备用请求接受者。请参阅“分配订阅请求”。

      注:

      只有对目标视点中的维至少具有参与者(写入)权限的用户可供选择。“信封”图标表示用户已配置电子邮件地址,能够接收请求通知。

    • 可选:在工作流中,选择以下一个或多个选项:

      字段 描述
      已启用 启用订阅。创建订阅时,默认禁用此选项。必须定义了默认接受者或备用接受者才能启用订阅。

      还可以从视点检查器的“订阅”选项卡启用和禁用订阅。请参阅下面的要启用、禁用或删除订阅

      注:

      禁用了订阅时,不会针对目标视点生成任何订阅请求或请求项。
      创建独立请求 指定此订阅始终创建单独的请求。它不会与具有相同视图和接受者的其他请求组合。
      协作 将没有为其分配请求的备用接受者添加为请求的协作者。这样,即使没有为备用接受者分配请求时,他们也可以对请求项进行更改,以及添加注释或附件。

      请参阅“协作处理请求”。

      自动提交 允许系统在订阅通过验证且满足以下任一条件时自动提交订阅:
      • 未跳过任何项
      • 跳过状态为“不需要更新”或“已处理了具有相同键的行”的项。

      如果跳过任何其他状态的项(即使跳过同一请求中具有上述两种状态之一的其他项),则不会提交整个订阅请求。

      绕过审批 允许系统对自动提交的请求绕过审批

      注:

      此选项仅在选择了自动提交时可用。
  7. 可选:在复制节点中,使用订阅检查器的“定义”选项卡上的复制操作和(可选)要匹配的属性字段,指定复制或模仿操作(请参阅“通过订阅执行复制和模仿操作”)。
  8. 可选:如果您不想订阅整个视点,可以在筛选器选项卡上添加顶级节点筛选器(仅限层次视点中的订阅)。使用顶级节点筛选器,您可以选择源视点中要订阅的分支。请参阅“向订阅中添加筛选器和条件
  9. 单击保存

注:

无法编辑订阅来更改要订阅的源视点。要更改源视点,请删除现有订阅,并创建一个带有所需源视点的新订阅。

要启用、禁用或删除订阅:

  1. 检查包含要启用、禁用或删除的订阅的视点。请参阅“检查视点”。
  2. 在“订阅”选项卡上,单击编辑
  3. 在要对其执行操作的订阅的操作列中,单击 菜单图标,然后选择一个选项:
    • 启用(仅当禁用了订阅时可用)
    • 禁用(仅当启用了订阅时可用)
    • 删除
  4. 单击进行确认,然后单击保存

验证订阅

创建订阅时,系统会确保其满足上述先决条件。但是,创建订阅后,视点的配置和用户可能会更改,这可能会导致无效订阅。导航到订阅面板时,系统将验证视点的所有现有订阅是否都满足订阅规则。如果订阅无效,可采取措施解决这个问题。

解决验证错误

以下示例展示了常见的订阅验证错误以及解决这些错误的措施。

如果源视点和目标视点没有共同的节点类型,或如果在源视点和目标视点之间没有设置节点类型转换器,那么系统会显示以下错误:


源视点必须至少有一个与目标视点共同的等效节点类型

要解决这个问题,请创建节点类型转换器,将源节点类型转换为目标节点类型,请参阅“使用节点类型转换器”。

如果订阅接受者缺少最低限定的权限(即对源视点的参与者(读取)权限以及对目标视点的参与者(写入)权限),系统将显示以下错误:


接受者必须在目标视点上至少具有数据管理员权限

要解决这个问题,应确保订阅接受者至少具有对源视点的参与者(读取)权限和对目标视点中应用程序的参与者(写入)权限,请参阅“分配应用程序权限”和“分配视图权限”。

如果源视点或目标视点不再处于活动状态,系统将显示以下错误:


视点必须处于活动状态才能成为订阅的源

要解决视点不活动的错误,请将已存档视点的状态更改回“活动”。请参阅“了解数据对象和数据链的生命周期”。