Flowable 6.5 formengine issues empty formproperties


We are converting from Activiti 5.15 to Flowable 6.5 and we use the legacy form properties not Flowable forms. We use to grab form properties using the method
processEngine.getFormService().getTaskFormData(taskId) which now returns empty formproperties.

Comparing the source code between Activiti 5.15 and flowable 6.5 - I see
convertJsonToFormProperties(JsonNode objectNode, BaseElement element) method has changed

It does below lookup ( JsonNode propertiesArray = formPropertiesNode.get(“formProperties”)) which is null, and hence form properties are not set while the process definition is deployed and hence
processEngine.getFormService().getTaskFormData(taskId) return empty form properties.

Not sure its a bug or could you please suggest a better way to query legacy form properties. Also given we use legacy form properties, do we really need to set the formengine using form configurator.
(Infact I did went ahead and tried that too based on some of your posts but those tables generated by form engine are empty and query like taskService.getTaskFormModel(“taskId”)
.allFieldsAsMap(); return no form keys found.

Code from 6.5 which fails to grab formproperties

JsonNode formPropertiesNode = getProperty(PROPERTY_FORM_PROPERTIES, objectNode);
if (formPropertiesNode != null) {
formPropertiesNode = BpmnJsonConverterUtil.validateIfNodeIsTextual(formPropertiesNode);
JsonNode propertiesArray = formPropertiesNode.get(“formProperties”);
if (propertiesArray != null)

Thanks in advance!

This code is part of the JSON conversion from Flowable Modeler -> xml.

This is different from the getTaskFormData, which works on a deployed process.
So, can you elaborate what exactly you’re trying to achieve? Is it about importing/exporting a process model with form properties in Flowable Modeler? Or is it the step later, after deployment that the form properties can’t be found?

@joram Sorry missed the thread. Basically we used to use activiti bpmn json convertor to convert bpmnmodel to json model within our repository(separate database) before deploying in activiti (one of the reasons we did this was we used a editor which required the input to be as JSON model). So all worked fine until we upgraded to flowable wherein some of the code has been changed in org.flowable.editor.language.json.converter.BaseBpmnJsonConverter#convertJsonToFormProperties line 718 to be “formProperties” instead of “items” and similar changes to child nodes.

With this change all our existing process definitions which were stored in old json format within our repository could not be fetched with new flowable bpmn json library (well it could be fetched but form property node were empty) and when we deployed the same in flowable engine those were empty causing downstream problems which fetching task etc.

We fixed it by migrating our old process definitions within our repository in new json format.