The add-on allows you to describe business process steps right in the application using the integrated BPMN 2.0 modeler. Being a part of the application, it enables seamless integration with the runtime application parts and visual process customizing. For example, to specify which service method should be invoked at a particular process step, you just need to select a Spring bean name and a method from a dropdown list.
Users may interact with running process instances using process forms. For simple cases, you can declare input dialogs right in the modeler. Also, you can use screens based on CUBA Generic UI to create process forms of any complexity.
Features
The embedded light-weight Flowable (https://flowable.org) runtime engine. You are free to use the Flowable API directly, or you may use an API layer provided by the BProc add-on.
Hello,
bumped into some errors when added an additional datastore to a project, looks like the cause lurks here: ExecutionListenerModel in registered in web-metadata.xml twice (lines 36 and 37). The error goes:
java.lang.IllegalStateException: Entity cannot belong to more than one store: com.haulmont.addon.bproc.web.entities.model.ExecutionListenerModel
Hi, here in UserTaskCompletedEventListener the call to taskEntity.getAssignee() might return null, which leads to the NPE. Shall we lift the assignee up to optional immediately?
When the task’s id gets changed and there are gateways’s flows depending on this tasks’s outcomes (based on old task’s id), the BPM editor fails with NPE when clicking on any of affected flows.
java.lang.NullPointerException
at com.haulmont.addon.bproc.web.screens.modeler.properties.sequenceflow.SequenceFlowPropertiesFragment.initConditionDetailsFieldsVisibility(SequenceFlowPropertiesFragment.java:217)
at com.haulmont.addon.bproc.web.screens.modeler.properties.sequenceflow.SequenceFlowPropertiesFragment.onModelElementSet(SequenceFlowPropertiesFragment.java:123)
at com.haulmont.addon.bproc.web.screens.modeler.properties.sequenceflow.SequenceFlowPropertiesFragment.onModelElementSet(SequenceFlowPropertiesFragment.java:36)
at com.haulmont.addon.bproc.web.screens.modeler.properties.AbstractElementPropertiesFragment.setModelElement(AbstractElementPropertiesFragment.java:13)
at
ProcessFormUiControllerDependencyInjector treats all frame owners as screens and fails with the class cast exception in line 49 when encounters a fragment