<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Support for declaring DataObjects in BPMN XML with default values in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/support-for-declaring-dataobjects-in-bpmn-xml-with-default/m-p/166169#M119788</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is a follow up regarding an earlier discussion that took place in the following thread and JIRA issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.activiti.org/content/explicit-variables-process-definitions" rel="nofollow noopener noreferrer"&gt;http://forums.activiti.org/content/explicit-variables-process-definitions&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://jira.codehaus.org/browse/ACT-620" rel="nofollow noopener noreferrer"&gt;http://jira.codehaus.org/browse/ACT-620&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are in the initial phases of evaluating the possibility of migrating our existing (non-bpmn) workflow engine to Activiti. One of the issues that we are running into is the lack of support for declaring DataObjects in the BPMN XML since our current engine provides supports for it. Based upon ACT-620 it appears there is no plan to add support to Activiti for this feature at this time. Leaving us with extending Activiti as the only option of to meet our requirements.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I spent some time evaluating what extensions are needed to support declared DataObjects in the Activiti engine. Here is a list of steps I came up with as well as a patch file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) New Constant for "dataObject" element (which would normally reside in org.activiti.bpmn.constants.BpmnXMLConstants).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2) New model class "DataObject" (which would normally reside in org.activiti.bpmn.model).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3) New Converter "DataObjectXmlConverter" (which would normally reside in org.activiti.bpmn.converter).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4) Add DataObjectXmlConverter to static initializer block in org.activiti.bpmn.converter.BpmnXMLConverter.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5) New ParseHandler: DataObjectParseHandler (which would normally reside in org.activiti.engine.impl.bpmn.parser.handler).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6) Add DataObjectParseHandler to the ProcessEngineConfiguration as a postBpmnParseHandler (which I have done via spring).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;All of the items listed can be done without modifying the Activiti source code which is a big plus since we are hoping to consume activiti as a third party jar without modifying the source. However, step 4 does require us to extend the org.activiti.bpmn.converter.BpmnXMLConverter with a custom class so that we can access the static maps (convertersToBpmnMap,convertersToBpmnMap) to add the DataObjectXmlConverter. Not ideal but still workable. For example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-java line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;public class BpmnXMLConverter extends org.activiti.bpmn.converter.BpmnXMLConverter {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public BpmnXMLConverter() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addConverter(DataObjectXmlConverter.getXMLType(), DataObjectXmlConverter.getBpmnElementType(), DataObjectXmlConverter.class);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void addConverter(String elementName, Class&amp;lt;? extends BaseElement&amp;gt; elementClass,&amp;nbsp; Class&amp;lt;? extends BaseBpmnXMLConverter&amp;gt; converter) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;convertersToBpmnMap.put(elementName, converter);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;convertersToXMLMap.put(elementClass, converter);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Some questions:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1) Is this the best approach to add support for declared DataObjects in the engine?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2) Should the addConverter method in org.activiti.bpmn.converter.BpmnXMLConverter class be declared public instead of private so that new converters can be added from outside the BpmnXMLConverter without having to extend the class? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3) Does it make sense to consider adding the classes in the patch file to the Activiti codebase so that extending Activiti to support declared DataObjects in the BPMN XML is done in a standardized way going forward?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Sep 2013 14:21:07 GMT</pubDate>
    <dc:creator>rhafner</dc:creator>
    <dc:date>2013-09-19T14:21:07Z</dc:date>
    <item>
      <title>Support for declaring DataObjects in BPMN XML with default values</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/support-for-declaring-dataobjects-in-bpmn-xml-with-default/m-p/166169#M119788</link>
      <description>This is a follow up regarding an earlier discussion that took place in the following thread and JIRA issue.http://forums.activiti.org/content/explicit-variables-process-definitionshttp://jira.codehaus.org/browse/ACT-620We are in the initial phases of evaluating the possibility of migrating our exist</description>
      <pubDate>Thu, 19 Sep 2013 14:21:07 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/support-for-declaring-dataobjects-in-bpmn-xml-with-default/m-p/166169#M119788</guid>
      <dc:creator>rhafner</dc:creator>
      <dc:date>2013-09-19T14:21:07Z</dc:date>
    </item>
    <item>
      <title>Re: Support for declaring DataObjects in BPMN XML with default values</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/support-for-declaring-dataobjects-in-bpmn-xml-with-default/m-p/166170#M119789</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I work on the same team and have attempted to extend Modeler to support Data Objects, as well as the XML and runtime modules. I have documented it here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://jira.codehaus.org/browse/ACT-1847" rel="nofollow noopener noreferrer"&gt;http://jira.codehaus.org/browse/ACT-1847&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Perhaps you can consider this prototype as a seed for Activiti extension support for Data Objects. Regardless, we are new to Activiti, so all feedback is welcome and encouraged.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Nov 2013 19:37:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/support-for-declaring-dataobjects-in-bpmn-xml-with-default/m-p/166170#M119789</guid>
      <dc:creator>lsmall</dc:creator>
      <dc:date>2013-11-08T19:37:40Z</dc:date>
    </item>
  </channel>
</rss>

