AnsweredAssumed Answered

Custom node drop-ins supporting both Designer and Explorer

Question asked by ekolesnikov on Feb 20, 2014
Hi everyone,

We're extensively using Activiti and planning to increase the use of it within our company. However, what we found out is that adding custom nodes is a bit of a painful process - extending AbstractCustomServiceTask and implementing a JavaDelegate will only work for Eclipse plugin, and then there's a whole lot of work to make it work in web editor - extend BaseBpmnJsonConverter, register it properly, modify stencilset.json, add icon and svg file to /editor/stencilsets etc. That does not look like very extensible solution - we're basically running forked and customised Activiti explorer app merged with Activiti-REST.

What we're looking at is to extend Activiti to support some sort of self-contained jar files that would work as drop-in deployments in both eclipse and web editor as well as Activiti core. We have no problem contributing our work back to Activiti, but before we commit our resources, we'd like to make sure this will benefit Activiti as well as our team.

So what we have in mind is to start with existing money-tasks example and add a few things into it, so the resulting jar file would look like this:

/src/main/java/org/acme/palette/ - no change
/src/main/java/org/acme/servicetasks - no change
/src/main/java/org/acme/json - here goes class extending BaseBpmnJsonConverter

/src/main/resources/icons - no change
/src/main/resources/stencilsets - here goes the SVG file and .stencil.json file that will get merged with stencilset.json in runtime.

We will also have to modify activiti-explorer, activiti-json-converter and probably a couple of others to support these extensions, so here's a bunch of questions we would like to see answered before we go any futher:
- Is there an interest in this from Activiti/Alfresco community side?
- Are there any plans to provide similar functionality or maybe there are someone already working on that, so we just join existing development?
- This may result in significant refactoring of BpmnJsonConverter to support pluggability - are you guys comfortable with that at all?

Many thanks in advance.