Custom user task

Hi there,

first off thanks for taking your time for reading this question.

We have successfully integrated flowable in our system as a microservice. Now as part of the development we want to do what follows:

  1. Using listeners we should be able to be notified when a new USER TASK is created
  2. Upon the user task is instantiated we will create using webservices the actual task in our business domain miscroservice (Notice that Tasks can be created manually or the BPM can create them as part of a flow that’s why we use the BPM just to orchestrate the creation but the task is “replicated” in our business domain microservice to let coexist the manually created tasks and BPM created tasks)
  3. When the task is completed in our Business Domain microservice, we will notify the BPM about the task completion to let the BPM complete the task an continue with the flow

Said that, we have the need of being able of extending the USER TASK to be able to define some properties in the designer itself which we should be able to retrieve them at run time when the USER TASK is instantiated so we send that variables to the business domain microservice.

It seems to be possible but honestly we are a bit lost because we are not sure if we should go with : Data objects, Custom extensions, forking the code … There are several possibilities but we would like to take the best decision for the good of the project and avoid re-inventing the wheel or make the same mistake that’s other might have done in the past.

Which implementation/solution would you take? We would like to ease user’s life (and ours by giving them a self-service solution so they don’t need to call us every time they need a change). Any documentation, tutorial, … Something that would give us light on this technical decision?