Custom elements in BPM

CUBA BProc has custom elements which are not available in Jmix BPM: Custom Elements in Model Designer - CUBA Platform. BPM subsystem
I only found this issue: https://github.com/jmix-framework/jmix/issues/670

bpmn.js has an example: https://github.com/bpmn-io/bpmn-js-example-custom-elements

Are custom elements on the Jmix roadmap?

Hello,
I don’t know about the roadmap, but would like to clarify few things.
The link you posted about the custom elements in CUBA concerns a deprecated CUBA BPM addon that was replaced by CUBA BPROC. Jmix BPM is same as BPROC in CUBA, a commercial addon.
.
The difference is that CUBA BPM used Activiti process engine, while CUBA BPROC is using Flowable.
I can only speculate about the reasons for the switch, but it may be related to Alfresco (document management) buying Acitviti and changing the focus. Important Activiti developers then went to Flowable, which is a fork of Activiti. Acitiviti is a fork of JBPM (commercial version is Red Hat Process Automation Manager) which is the root project for that family of process engines.

Hi,
Custom elements are not scheduled to any release. We haven’t think much about the feature design yet. It would be great if you shed some light on your use cases. How would you use custom elements, what functionality should they provide, etc.?

There are many service tasks that call an API. I would like to prepare specialized service task elements for often used API calls. This way business analysts wouldn’t have to know API details. It would also prevent errors in manually configured service tasks.

Old CUBA also has examples: Custom Elements in Model Designer - CUBA Platform. BPM subsystem

Just to understand - why were Custom Elements removed from newer versions of CUBA and Jmix?

Okay, thanks. So your use case is “preconfigured service tasks”.

Well, I wouldn’t say they were removed, they are rather not implemented on another technology stack yet:)

Hello, I would like to jump in and say a few words.
I agree with Borut about “preconfigured service tasks”, but here are some more use cases and thoughts.

“eye candy”
If you look at the no code/low code solutions around, that are using some BPMN engine or other, you can see that indeed they have “preconfigured tasks” with custom icons. For the end user, its cool to have a task with mail icon, because its easier on their cognitive load to use the functionality. Another reason is “eye candy”, users like it. More eye candy assures user that it is powerful product that even if he use 10%, he feels good knowing that he would use if needed ever.

“Haulmont commercial”
CUBA/Jmix at current stage is a product that is used to make such products. BPM is a commercial addon that is one of the Haulmont revenue streams so the Jmix development can go on. More capabilities makes more powerful product that then attracts new customers.

“preconfigured user tasks”
Like preconfigured service tasks, only with predefined variables and extension properties and custom element icon. Example is customer details, like name, phone, e-mail, address … not badly needed as preconfigured service tasks, but cool to have. Maybe this 2 use cases can be merged into just one"preconfigured task" where you can predefine variables and extension properties, and service call and its parameters.

Some sort of customizable folders would be needed for this. CUBA BPM had them, but imo they made too much, BPMN elements should be in one folder … would like to extension properties for the entire process, or start task.

3 Likes

Hi,
thank you for sharing your thoughts!

Could you please explain which folders did you mean here? I didn’t quite understand it.

image
image

The Elements are grouped. In the first picture, I don’t like the button caption “Add Group” because there are already user groups elsewhere so the word “group” is already used. “Folder” is nowadays associated with grouping menu items. (or should at least be “Add menu group”)
In the first picture, there seems to be an accordion menu, while in the second one it looks like a tree.
It is important that one can however make its own groupings - folders and manage them.

Another remark I had was that standard BPMN elements are dispersed over too many folders and that they should have been in only one folder - like BPROC has now. IMO this should be at least default if the items can be custom rearranged because an inexperienced user would see all the standard BPMN elements in one look instead of looking for them around (he would need to have enough BPMN knowledge to know that they exist). Some people like such dispersion, but have then a feature of completely arranging the elements menu so everyone is happy.

1 Like