cancel
Showing results for 
Search instead for 
Did you mean: 

Will Activiti Design catch up with latest Activiti features soon?

andrealuciano71
Champ in-the-making
Champ in-the-making
Hi,

   browsing the content of Activiti Designer's plugin site (i.e. http://www.activiti.org/designer/update/), it comes out that the software has not been updated for quite a lot, but what I'm missing more is the cool feature regarding async parallel/inclusive gateways introduced in Activiti as of release 5.16:

   http://bpmn20inaction.blogspot.it/2014/07/activiti-516-feature-preview.html

   Now, the problem is that if I edit the .bpm file to manually add the activiti:async and/or activiti:exclusive attributes they are not preserved in Activiti Designer.

    Any plan to release an update of Activiti Desiner soon?

   Thanks,

   Andrea Luciano
17 REPLIES 17

jbarrez
Star Contributor
Star Contributor
The current plan is to have a new Designer version by the end of this week (if all goes well).

andrealuciano71
Champ in-the-making
Champ in-the-making
Can't wait 🙂

b_schnarr
Champ in-the-making
Champ in-the-making
I noticed that the BPM roundtrip between Designer and modeler is not working. Steps to reproduce:
1. Model a process in the Eclipse Plugin.
2. Import this model in the new Web-Modeler (5.17)
3. Export the BPMN-File
4. When you try to import the changed model in the Eclipse Plugin again, you get an error.

In addition, the information about candidate starters gets lost when exporting the BPMN-Model from the Web-Modeler.

Are those issues known? Will thos issues be fixed?

Thanks and best regards
Ben

trademak
Star Contributor
Star Contributor
Hi Ben,

Can you add the error message?
It would also be good to have the BPMN XML file so we can reproduce it as well.

Best regards,

b_schnarr
Champ in-the-making
Champ in-the-making
Hi Tijs, I modeled the following process in the Eclipse Plugin:
<code>
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlnsSmiley Surprisedmgdc="http://www.omg.org/spec/DD/20100524/DC" xmlnsSmiley Surprisedmgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://activiti.org/bpmn20">
  <process id="activitiReview" name="Dokumentreview" isExecutable="true" activiti:candidateStarterGroups="activiti_profi">
    <documentation>Dieser Prozess dient dazu, Dokumente von einem Sachbearbeiter prüfen und freigeben zu lassen.</documentation>
    <endEvent id="endevent1" name="End"></endEvent>
    <startEvent id="startevent1" name="Start" activiti:initiator="initiator"></startEvent>
    <userTask id="usertask1" name="Formular ausfüllen" activiti:assignee="${initiator}" activiti:formKey="http://10.120.40.24:8080/orbeon/fr/Activiti/Dokumentfreigabe/new">
      <documentation>Bitte geben Sie den zuständigen Sachbearbeiter für die Dokumentfreigabe an.</documentation>
      <extensionElements>
        <activiti:formProperty id="approver" type="string" variable="approver" required="true"></activiti:formProperty>
        <activiti:formProperty id="duedate" type="date" variable="duedate" required="true"></activiti:formProperty>
        <activiti:formProperty id="instructions" type="string" variable="instructions"></activiti:formProperty>
      </extensionElements>
    </userTask>
    <userTask id="usertask3" name="Dokumentfreigabe von ${approver}" activiti:assignee="${initiator}" activiti:formKey="http://10.120.40.24:8080/orbeon/fr/Activiti/Freigabeergebnis/new">
      <documentation>${approver} hat Ihre Anfrage bearbeitet. Das Dokument wurde freigegeben.</documentation>
      <extensionElements>
        <activiti:formProperty id="approver" type="string" variable="approver"></activiti:formProperty>
        <activiti:formProperty id="duedate" type="date" variable="duedate"></activiti:formProperty>
        <activiti:formProperty id="instructions" type="string" variable="instructions"></activiti:formProperty>
        <activiti:formProperty id="approved" type="string" variable="approved"></activiti:formProperty>
        <activiti:formProperty id="motivation" type="string" variable="motivation"></activiti:formProperty>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <userTask id="usertask4" name="Überarbeitete Version bereitstellen" activiti:assignee="${initiator}" activiti:formKey="http://10.120.40.24:8080/orbeon/fr/Activiti/Ueberarbeiten/new">
      <documentation>${approver} hat Ihre Anfrage abgelehnt.</documentation>
      <extensionElements>
        <activiti:formProperty id="commentNew" type="string" variable="commentNew"></activiti:formProperty>
        <activiti:formProperty id="motivation" type="string" variable="motivation"></activiti:formProperty>
      </extensionElements>
    </userTask>
    <subProcess id="subprocess1" name="Dokumentprüfung">
      <userTask id="usertask2" name="Dokumentfreigabe für ${initiator}" activiti:assignee="${approver}" activiti:dueDate="${duedate}" activiti:formKey="http://10.120.40.24:8080/orbeon/fr/Activiti/Dokumentgenehmigung/new">
        <documentation>${initiator} hat ein Dokument zur Freigabe angelegt. </documentation>
        <extensionElements>
          <activiti:formProperty id="approved" type="string" variable="approved" required="true">
            <activiti:value id="true" name="Freigeben"></activiti:value>
            <activiti:value id="false" name="Ablehnen"></activiti:value>
          </activiti:formProperty>
          <activiti:formProperty id="motivation" type="string" variable="motivation"></activiti:formProperty>
          <activiti:formProperty id="approver" type="string" variable="approver"></activiti:formProperty>
          <activiti:formProperty id="duedate" type="date" variable="duedate"></activiti:formProperty>
          <activiti:formProperty id="instructions" type="string" variable="instructions"></activiti:formProperty>
        </extensionElements>
      </userTask>
      <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
      <sequenceFlow id="flow2" sourceRef="usertask2" targetRef="exclusivegateway1"></sequenceFlow>
      <endEvent id="errorendevent1" name="ErrorEnd">
        <errorEventDefinition></errorEventDefinition>
      </endEvent>
      <endEvent id="endevent2" name="End"></endEvent>
      <sequenceFlow id="flow3" name="abgelehnt" sourceRef="exclusivegateway1" targetRef="errorendevent1">
        <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approved == 'false'}]]></conditionExpression>
      </sequenceFlow>
      <sequenceFlow id="flow4" name="genehmigt" sourceRef="exclusivegateway1" targetRef="endevent2">
        <conditionExpression xsi:type="tFormalExpression"><![CDATA[${approved == 'true'}]]></conditionExpression>
      </sequenceFlow>
      <startEvent id="startevent2" name="Start"></startEvent>
      <scriptTask id="scripttask1" name="Formular initialisieren" scriptFormat="javascript" activiti:autoStoreVariables="false">
        <script>execution.setVariable('motivation', '');
if(commentNew){
execution.setVariable('instructions', commentNew);
execution.setVariable('commentNew', '')
}</script>
      </scriptTask>
      <sequenceFlow id="flow13" sourceRef="startevent2" targetRef="scripttask1"></sequenceFlow>
      <sequenceFlow id="flow14" sourceRef="scripttask1" targetRef="usertask2"></sequenceFlow>
    </subProcess>
    <sequenceFlow id="flow5" sourceRef="usertask1" targetRef="subprocess1"></sequenceFlow>
    <sequenceFlow id="flow6" sourceRef="subprocess1" targetRef="usertask3"></sequenceFlow>
    <sequenceFlow id="flow7" sourceRef="usertask3" targetRef="endevent1"></sequenceFlow>
    <boundaryEvent id="boundaryerror1" name="Error" attachedToRef="subprocess1">
      <errorEventDefinition></errorEventDefinition>
    </boundaryEvent>
    <sequenceFlow id="flow12" sourceRef="usertask4" targetRef="subprocess1"></sequenceFlow>
    <sequenceFlow id="flow15" name="falls abgelehnt" sourceRef="boundaryerror1" targetRef="usertask4"></sequenceFlow>
    <dataObject id="commentNew" name="commentNew" itemSubjectRef="xsd:string"></dataObject>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_activitiReview">
    <bpmndi:BPMNPlane bpmnElement="activitiReview" id="BPMNPlane_activitiReview">
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="1022.0" y="190.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="60.0" y="188.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
        <omgdc:Bounds height="83.0" width="111.0" x="140.0" y="164.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
        <omgdc:Bounds height="80.0" width="111.0" x="862.0" y="168.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask4" id="BPMNShape_usertask4">
        <omgdc:Bounds height="80.0" width="111.0" x="580.0" y="359.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="subprocess1" id="BPMNShape_subprocess1">
        <omgdc:Bounds height="231.0" width="501.0" x="310.0" y="90.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
        <omgdc:Bounds height="82.0" width="111.0" x="540.0" y="167.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
        <omgdc:Bounds height="40.0" width="40.0" x="680.0" y="187.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="errorendevent1" id="BPMNShape_errorendevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="760.0" y="153.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent2" id="BPMNShape_endevent2">
        <omgdc:Bounds height="35.0" width="35.0" x="760.0" y="227.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="startevent2" id="BPMNShape_startevent2">
        <omgdc:Bounds height="35.0" width="35.0" x="330.0" y="190.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask1" id="BPMNShape_scripttask1">
        <omgdc:Bounds height="82.0" width="111.0" x="400.0" y="167.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundaryerror1" id="BPMNShape_boundaryerror1">
        <omgdc:Bounds height="30.0" width="30.0" x="700.0" y="300.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="95.0" y="205.0"></omgdi:waypoint>
        <omgdi:waypoint x="140.0" y="205.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="651.0" y="208.0"></omgdi:waypoint>
        <omgdi:waypoint x="680.0" y="207.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
        <omgdi:waypoint x="700.0" y="187.0"></omgdi:waypoint>
        <omgdi:waypoint x="698.0" y="170.0"></omgdi:waypoint>
        <omgdi:waypoint x="760.0" y="170.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="16.0" width="56.0" x="980.0" y="217.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
        <omgdi:waypoint x="700.0" y="227.0"></omgdi:waypoint>
        <omgdi:waypoint x="698.0" y="244.0"></omgdi:waypoint>
        <omgdi:waypoint x="760.0" y="244.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="16.0" width="60.0" x="980.0" y="350.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
        <omgdi:waypoint x="365.0" y="207.0"></omgdi:waypoint>
        <omgdi:waypoint x="400.0" y="208.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
        <omgdi:waypoint x="511.0" y="208.0"></omgdi:waypoint>
        <omgdi:waypoint x="540.0" y="208.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
        <omgdi:waypoint x="251.0" y="205.0"></omgdi:waypoint>
        <omgdi:waypoint x="310.0" y="205.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
        <omgdi:waypoint x="811.0" y="205.0"></omgdi:waypoint>
        <omgdi:waypoint x="862.0" y="208.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
        <omgdi:waypoint x="973.0" y="208.0"></omgdi:waypoint>
        <omgdi:waypoint x="1022.0" y="207.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
        <omgdi:waypoint x="580.0" y="399.0"></omgdi:waypoint>
        <omgdi:waypoint x="559.0" y="398.0"></omgdi:waypoint>
        <omgdi:waypoint x="560.0" y="321.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
        <omgdi:waypoint x="715.0" y="330.0"></omgdi:waypoint>
        <omgdi:waypoint x="714.0" y="397.0"></omgdi:waypoint>
        <omgdi:waypoint x="691.0" y="399.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="16.0" width="83.0" x="730.0" y="349.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
</code>

1. Import this in the Web Modeler.
2. Export it again from the web modeler.
3. When I try to drag and drop the exported process into my Eclipse Plugin, I simply get displayed a red cross. I cannot see the grafical representation and no XML.

When I open the bpmn-file in an editor, I can see that <code>activiti:candidateStarterGroups="activiti_profi"</code> get lost. The web modeler simply ignores this information.

Thanks and best regards
Ben

b_schnarr
Champ in-the-making
Champ in-the-making
Can you reproduce it?

laurents59
Champ in-the-making
Champ in-the-making
Hi everyone,
Just to catch up with the initial subject, could you tell me if the new eclipse plugin will be available soon ?
Thanks Smiley Happy

b_schnarr
Champ in-the-making
Champ in-the-making
Sorry for confusing you. The roundtrip is working. What I did not know was:
1. the exported BPMN-file must be saved in the corresponding eclipse-workspace and at no other place.
2. The .bmpn-file must not get renamed during the roundtrip.

Then, everything works fine except one bug:
The candidate-starters of the process instance are removed from the Web-modeler and therefore, this information gets lost during the roundtrip. Is this on your fix-plan?

Thanks and best regards
Ben

laurents59
Champ in-the-making
Champ in-the-making
Any news on the eclipse plugin update ? any beta available ?
Thanks
Laurent