BPMN 2.0用户任务表单的可移植性



我在BPMN 2.0可移植性方面遇到了障碍。我们一直在使用Activiti Eclipse插件来编辑方案,在某种程度上它工作得很好。然后我们遇到了一个问题,即不能在Activiti Eclipse插件编辑器中添加边界错误事件。所以,我们尝试使用Camunda Eclipse插件,我们能够添加错误边界事件。

我们使用Activiti引擎实际执行这些场景。

现在,使用这两个编辑器,我注意到它们表示用户任务表单的方式是不同的:

<userTask id="usertask3" activiti:formKey="choice" name="handle error">
  <extensionElements>
    <!-- This is produced by Activiti Eclipse plug-in editor. -->
    <activiti:formProperty id="ut" name="ut" type="string" variable="ut">
      <activiti:value id="u0" name="u0"/>
      <activiti:value id="u1" name="u1"/>
      <activiti:value id="u2" name="u2"/>
    </activiti:formProperty>
    <!-- This is produced by Camunda Eclipse plug-in editor.  -->
    <activiti:formData>
      <activiti:formField id="nextAction" label="Next action" type="string">
        <activiti:properties>
          <activiti:property id="task1" value="task1"/>
          <activiti:property id="task2" value="task2"/>
          <activiti:property id="task3" value="task3"/>
        </activiti:properties>
      </activiti:formField>
    </activiti:formData>
  </extensionElements>
  <incoming>_5</incoming>
  <incoming>_10</incoming>
  <incoming>_12</incoming>
  <outgoing>_8</outgoing>
</userTask>

在我看来,Activiti引擎忽略了Camunda Eclipse插件编辑器保存的内容。

我很困惑,为什么有两种不同的表示用户表单?这不是标准化的吗?

用户表单不是BPMN标准的一部分。

您可以看到,与表单相关的标记位于extensionElements标记下,并且属于带有前缀activiti的特定名称空间。

extensionElements标签是BPMN标准的一部分(参见BPMN标准2.0.2或XML模式的8.2.3节),其目的是允许供应商特定的标准扩展(如表单)。

Camunda是activity的一个分支,我猜想他们可能在那些特定的扩展点上做了一些修改,导致了一些不兼容。

最新更新