Embedded forms are not migrating to new version when a deployment is created directly in the Database

Hi,

I am exploring camunda to modify and update an existing process (BPMN file) in camunda database directly without server deployment. To update the process in database I created a new deployment id in [dbo].[ACT_RE_DEPLOYMENT], created BPMN file byte code in [dbo].[ACT_GE_BYTEARRAY] with new deployment id and new proc def id in [dbo].[ACT_RE_PROCDEF] with new version. After updating above tables I could see the updated process in camunda cockpit but the embedded forms are not loading in tasklist when I try to start/view the process. I did not do any changes in the embedded form but still the forms are not loading in Tasklist.

I have attached the files before and after modification.

loan-approval - before Modification.bpmn (3.8 KB)

Sorry I could not upload BPMN file to be modified in database in my previous post.

loan-approval - After modification.bpmn (4.6 KB)

Hi @pradii34,

if you want to modify an existing process, I would recommend creating a new deployment with the changed process. If you did not change the id of the process-definition, this will create a new version of the existing process. Is there a reason why you want to work directly on the database?

Best regards
Sebastian

Thanks for your reply Sebastian.

We are creating a user application using camunda. In that app, users should be able to create process flows and they should be able to trigger the created process once it is created. Process creation should done in run time . To achieve this I tried to save the process by creating entries in camunda table.

When I saved the process directly in camunda table, the updated process reflected in the application except embedded forms. If any UserTask with form key is saved then it keeps on loading. Is there any links followed between forms and process deployment in camunda?

Regards,
Pradeepa

Hi Pradeepa,

there are APIs that allow you to create new deployments with new or updated process definitions. Are your users interacting with your backend using a website? Then the Post Deployment REST-API endpoint might be interesting for you. Of course you can also create new deployments using the Java API. Using these documented APIs is definitely the way I would recommend creating new processes in the system.

Best regards
Sebastian