The Business Central GUI provides a process diagram for running processes. The expected behavior is that active nodes are marked with a red border and completed nodes with a gray background. This works as expected the first time the process is started. After sending a signal event to the process the node that is supposed to be in waiting status turned from red to grey. This is just a display issue. The process is executing fine. It does make it harder for an operator to know which step a process is executing though.
Created attachment 1132904 [details] screen shots for the issue
Created attachment 1132905 [details] reproducer including the source code
I've attached the screen shots that could visually show the issue. I've also attached a reproducer that demonstrate the issue. The steps to reproduce the issue: 1. unzip the attached reproducer project and built it. Please edit the file bpms-app/bpms-workitemhandlers/src/main/resources/config/DEV/bpms-rest-api.properties to match your bpm server adminName=your_admin adminPassword=your_password. Please make sure this business central admin is also granted the role "rest-all" so that the user could run the rest api to deploy/start/signal the remote process. 2. upload the generated kjar bpms-bpmn2-1.0.0.2.jar under bpms-bpmn2 to bpms 6.2 instance via the business central GUI. 3. drop the generated bpms-workitemhandlers-1.0.0.2.jar under bpms-workitemhandlers to business-central.war/WEB-INF/lib 4. Try registering the work item handler in business-central.war/WEB-INF/classes/META-INF/kie-wb-deployment-descriptor.xml <work-item-handler> <resolver>mvel</resolver> <identifier>new com.digitalglobe.workitemhandlers.CommandWorkItemHandler(ksession)</identifier> <parameters/> <name>Command</name> </work-item-handler> 5. make sure the bpms 6.2 instance is up and running and run the java program bpms-app/bpms-workitemhandlers/src/test/java/com/digitalglobe/workitemhandlers/DeployPost.java this will deploy the kjar uploaded to the bpms server in step #2. 6. after the deployment in step #5 is successful, run the java program bpms-app/bpms-workitemhandlers/src/test/java/com/digitalglobe/workitemhandlers/HttpStartPost.java this will start the process defined in the kjar. open the process model image from business central workbench designer, you should see the "ErrorHandler" node in the process diagram shows red border as showed the first image in the attached screen shot doc. 7. run the java program /bpms-app/bpms-workitemhandlers/src/test/java/com/digitalglobe/workitemhandlers/SignalPost.java This program hard coded the process instance id "1": String url ="http://localhost:8080/business-central/rest/runtime/com.digitalglobe:bpms-bpmn2:1.0.0.2/process/instance/1/signal" +"?signal=ErrorHandlerEvent&event=" + event; please make the change if needed. You could run this step manually without executing the java program. Just click the "signal" button and fill signal as "ErrorHandlerEvent" and event as "retry". You should see the same behavior. After sending the signal event and check the process model image again you would see the "ErrorHandlers" turns into grey. This is not the expected behavior. The grep indicates the status is "complete" but the the node is supposed to be in "waiting" status.
The workbench sends the completed and active nodes info to designer and it blindly follows by coloring them as its stated. do we need to add a new state like waiting with it's own color? If so this has to come from the workbench so assigning to that now and when it's done please feel free to assign back to designer so that work can be completed as well. thanks.
we were able to correct this inside designer master PR: https://github.com/droolsjbpm/jbpm-designer/pull/175 6.4.x PR: https://github.com/droolsjbpm/jbpm-designer/pull/176
master commit: https://github.com/droolsjbpm/jbpm-designer/commit/9e139fdb0a7af958eeb160c55f5d4684819a42e1 6.4.x commit : https://github.com/droolsjbpm/jbpm-designer/commit/b62c51ef7f9b34f6925cf5bfa80c594c8237ccbd
Looks good. 6.3.0.ER2