What are the JSON versions of the BPMN in the Apps used for?

I keep the apps exported from my dev environment unzipped in git, then stage them to test and prod. Is there a need to keep the bpmn-models/*.json? Are they used by Flowable?

I’m asking because I recently made a patch directly in prod, and when importing the resulting app back in git, the changes to the bpmn are easy to track (using xmldiff). The json however seems to have changed all over the place.

In other words, if two apps have identical bpmn files (but possibly diverging json versions of these) can I assume they are identical?

Hi Zwets,

Json model representations are used in the modeler. Before the process (case, dmn) deployment, models are converted to xml (in this case bpmn20.xml). So when deployed model’s xml is the same and the code which was used for the deployment is the same definition must be the same too.
Forms use json representations in the definition too.

Martin

In other words, if two apps have identical bpmn files (but possibly diverging json versions of these) can I assume they are identical?

Yes. The json is indeed modeler only (as Martin correctly states above), the xml is all that matters when it comes to execution.

1 Like