处理客户端人员服务中的数据更改

在实例详细信息和任务 UI 中,数据可以由用户在本地更改,或者由另一个用户或服务进行远程更改。远程更改必须传播到用户的浏览器,从而使 UI 中的数据保持最新。但是,用户可能有未保存的更改,这些更改需要与入局服务器更新进行协调。使用数据更改事件处理程序可对远程数据更改作出反应并予以处理。

关于此任务

数据更改事件处理程序通过以下方式检查是否对客户端人员服务的输入变量进行了远程更改。对于实例 UI,可以对任何输入变量进行更改。对于任务 UI,更改只限于对作为共享业务对象的变量进行的更改。
  • 按照基于系统计时器的设置的固定时间间隔。有关更多信息,请参阅更改 Process Portal 的定制属性
  • 如果数据更改事件处理程序绑定到 coach 视图(例如,“刷新按钮”coach 视图),那么由用户显式进行。
检测到更改时,将启动数据更改事件处理程序,并触发其子流。事件处理程序在运行时,您可以使用 tw.system.coachUtilstw.system.dataChangeUtils JS API 来访问本地和远程更改。如果您在数据更改事件处理程序完成之后要使用数据更改,例如,用于解决本地和远程更改之间的冲突,请将您需要的数据复制到本地变量。
提示: 要减少浏览器中的内存消耗并为用户提供更好的体验,请最大限度减少客户机保留的信息量。 因此,仅复制您的用例需要的信息。

数据事件处理程序执行完成时,控制权将返回到事件处理程序启动时正在运行的 coach。

案例类型 UI 的人员服务自动包括缺省数据更改处理程序。对于 BPD,如果您从“实例详细信息 UI 服务”模板为实例 UI 生成了客户端人员服务,那么该服务包含具有参考实施的数据更改处理程序。 例如,您可以定制此模板提供的参考实施,以便实例 UI 在用户单击“刷新”按钮时进行刷新。有关该模板的更多信息,请参阅实例详细信息 UI 服务模板

来自 IBM® BPM V8.5.5 和更早版本的 BPD 和案例类型不包含数据更改事件处理程序。您可以为这些 BPD 和案例类型升级人员服务,从而通过添加和实施数据更改事件处理程序来处理数据更改。

过程

以下过程描述如何将数据更改事件处理程序添加到人员服务。如果以下某种情况适用,请执行该过程中的所有步骤:

如果您要定制参考实施,请转至步骤 5

  1. 打开 Process Designer 桌面编辑器。
  2. 打开要处理的客户端人员服务。
  3. 在“”视图中,将事件处理程序 事件处理程序工具 拖到画布上。 缺省情况下,事件处理程序是一个“错误”事件处理程序。
  4. 通过将错误节点重命名为数据更改并在实施选项卡的事件触发器下选择数据更改事件来将缺省“错误”事件处理程序更改为数据更改事件处理程序。
    提示: 数据更改事件处理程序仅可用于在 BPD 或案例类型的上下文中运行的客户端人员服务。一个客户端人员服务只能拥有一个数据更改事件处理程序。案例类型的人员服务自动包含已实施的数据更改事件处理程序。
  5. 实施数据更改事件处理程序。
    1. 可选: 指定可触发数据更改事件处理程序的边界事件。 缺省情况下,事件处理程序定期检查服务器以查找更新的数据。 要指定边界事件,请在实施选项卡的行为下指定触发事件处理程序的 coach 边界事件。

      例如,您可以向 UI 添加“刷新按钮”控件,以便用户可以手动刷新数据。在数据更改事件处理程序属性中,为“刷新按钮”控件添加用于触发刷新的边界事件。

    2. 通过双击数据更改节点,添加用于对数据更改作出反应的逻辑。 若干 tw.system.coachUtilstw.system.dataChangeUtils JavaScript API 可用于检测服务器上的数据更改并将其应用于客户机。有关更多信息,请参阅用于客户机端人员服务开发的 JavaScript API
  6. 单击全部保存,保存客户机端人员服务的配置。