我遇到了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插件编辑器保存的内容。
我很困惑为什么用户表单有两种不同的表示形式?这不标准化吗?
答案 0 :(得分:2)
用户表单不是BPMN标准的一部分。
正如您所见,与表单相关的标记位于extensionElements
标记下,属于与前缀activiti
一起使用的特定命名空间。
extensionElements
标记是BPMN标准的一部分(参见BPMN标准2.0.2或XML schema的第8.2.3节),其目的是允许特定于供应商的标准扩展(例如表单)
Camunda是Activiti的一个分支我假设他们可能在那些导致某些不兼容性的特定扩展点上做了一些修改。