flowsforapex / apex-flowsforapex

Flows for APEX - Model and run process flows all within Oracle APEX!
https://flowsforapex.org
Other
83 stars 42 forks source link

Support json payloads in MessageFlow #756

Open commi235 opened 1 month ago

commi235 commented 1 month ago

With message flow typically involving a JSON payload, now that we have json process variables it seems like we should support CLOB payloads.

Problem is that we have a legacy from 23.1 of CLOB payloads - although customer adoption of 23.1 message flow is probably limited.

Desired Solution:

Modeler would need to add an input item for Payload Variable Type for all message catch events - so:

All current models have to be assumed to be CLOB, but ideally default for new models should be JSON.

Parser would need to parse out Payload Type and store in the key: objt.objt_attributes."apex"."payloadVariableType"

If we don't want to handle the model migration & UI issues we could implement using extension elements with syntax of objt.objt_attributes."apex"."extensionElements"."payloadVariableType"

requiring user to add following syntax into the extension elements item for any receiving task / event: {"payloadVariableType":"JSON"}

Migration Script:

Model Migration. If modeler default is to be json, we would need to migrate XML on parsing so that any model containing key "apex:payloadVariable" adds a new key "apex:payloadVariableType"="CLOB" immediately below it.

Regression Testing - Add new tests for the new payload types

Open Issues: