Add variable copy to call activity

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-20-2011 12:48 PM
I currently asked Tom:
–
Is it possible to add own extensions in the activiti-bpmn-extensions-5.0.xsd? Or when is that allowed?
Or do we have to work with the existing ones?
–
Depending on that answer we can define, how the XML configuration should look like.
- Labels:
-
Archive
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2011 03:49 AM
There was even already an issue for it: http://jira.codehaus.org/browse/ACT-354
The BPMN spec has a way of defining the variable mapping, but involves all the ioSpecification stuff, which we didnt do yet because it is too cumbersome.
So a shortcut for this cumbersome XML is indeed wanted in this case.
Is it possible to add own extensions in the activiti-bpmn-extensions-5.0.xsd? Or when is that allowed?The rule here is that when a new element is added in a certain release, you must create a newer xsd (ie activiti-bpmn-extensions-5.2.xsd).
Or do we have to work with the existing ones?
The give a ping, so I can upload it to activiti.org.
So if you are to implement the feature you would need (besides the code):
- How the XML would look like (preferably discussed here in the forum)
- Tests added to the CallActivityAdvancedTest
- documentation

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2011 04:29 AM
Thanks for the quick answer. Damn it, I quickly searched for an issue but missed it 😉 I marked it as duplicate. Then we will propose an XML structure, I agree that we should have shortcut XML way for doing this (the standard way could be added later on as alternative I think).
Quick proposal for the XML:
<callActivity id="callCheckCreditProcess" name="Check credit" calledElement="checkCreditProcess">
<extensionElements>
<activiti:dataInput name="x" expression="#{myVar.x}" />
<activiti:dataInput name="y" stringValue="test" />
<activiti:dataInput name="z" variable="z" />
</extensionElements>
</callActivity>
x,y & z would be the variables in the subprocess. What do you think?
The dataOutput (return values) is still missing, I will add that if we can somehow agree on the basics…
Thanks
Bernd

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2011 05:45 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2011 05:49 AM
* sub processes
* task properties
* activity/scope local variables
i guess there are more situations. just don't remember it right now. any one else an idea which other situations we might need similar things?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2011 06:02 AM
This is a shortcut we already have for webservices:
<dataInputAssociation>
<sourceRef>NewCounterValueVariable</sourceRef>
<targetRef>value</targetRef>
</dataInputAssociation>
And this is the longer version:
<ioSpecification>
<dataInput itemSubjectRef="tns:setToRequestItem" id="dataInputOfServiceTask" />
<inputSet>
<dataInputRefs>dataInputOfServiceTask</dataInputRefs>
</inputSet>
<outputSet />
</ioSpecification>
<dataInputAssociation>
<sourceRef>dataInputOfProcess</sourceRef>
<targetRef>dataInputOfServiceTask</targetRef>
<assignment>
<from>${dataInputOfProcess.newCounterValue}</from>
<to>${dataInputOfServiceTask.value}</to>
</assignment>
</dataInputAssociation>
Both snippets do the same. Both are spec compliant, however the first one is stretching it a bit.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2011 07:49 AM
Adding the extra parsing as a second step should be easy then afterwards, and I don't want to risk the code freeze date for that?
So this is it?
<dataInputAssociation>
<sourceRef>counter</sourceRef>
<targetRef>newCounter</targetRef>
</dataInputAssociation>
<dataOutputAssociation>
<sourceRef>newCounter</sourceRef>
<targetRef>counter</targetRef>
</dataOutputAssociation>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2011 07:55 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2011 08:07 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2011 04:55 AM
There is one downside of this shortcut, we have to turn schema validation of, since it expects IDREF for sourceRef and targetRef, which we do not have. In think then the shortcut gets ugly! And we misuse the BPMN elements. Wouldn't it be better to got for an clear own extension instead then?
Cheers
Bernd
