<#ftl output_format="JSON"> <#-- The macro for generating template metadata for a new Process Model --> <#macro newProcessModel request recipeObjectId uuid name description displayFieldUuid pmFolderUuid recordUuid interfaceUuid interfaceName interfaceRuleInputs processModelNodes processVariables cancelledLabel actionCreateUpdateId="" adminGroups="" viewerGroups="" replaceable=true triggers="" createProcessDisplayName="" deleteProcessDisplayName="" updateProcessDisplayName="" hasNext=false> { <#-- recipe section --> "version": 2, "objectType": "PROCESS_MODEL", "replaceable": ${replaceable?c}, "recipeObjectId": "${recipeObjectId}", "templateForCreate": "ix/v2/recordActionsCombinedProcessModel_v2.ftlx", "selectedObjectIndex": 0, "isVisible": true, <#if triggers?has_content> "triggers": ${triggers}, <#-- the set of new and reused objects --> "objects": [ { "objectStatus": "NEW", "templateObjectId": "${recipeObjectId}-0", "objectIndex": 0, <#-- bindings section --> "uuid": "${uuid}", "versionUuids": ["${request.generateUuid("PROCESS_MODEL")}"], "pmFolderUuid": "${pmFolderUuid}", "interfaceUuid": "${interfaceUuid}", "interfaceName": "${interfaceName}", "language": "${request.getDefaultLocale().getLanguage()}", "country": "${request.getDefaultLocale().getCountry()!""}", "recordUuid": "${recordUuid}", <#if adminGroups?has_content> "adminOwnerGroups": ${adminGroups}, <#if viewerGroups?has_content> "viewerGroups": ${viewerGroups}, "isReadersInherit": false, "isAuthorsInherit": false, "isAdministratorsInherit": false, <#if deleteProcessDisplayName?has_content> "displayNameContents": "recordActionsDeleteDisplayName_v2.ftlx", <#elseif actionCreateUpdateId="create"> "displayNameContents": "recordActionsCreateDisplayName_v2.ftlx", <#elseif actionCreateUpdateId="update"> "displayNameContents": "recordActionsUpdateDisplayName_v2.ftlx", <#else> "displayNameContents": "recordActionsCreateUpdateDisplayName_v2.ftlx", "displayFieldUuid": "${displayFieldUuid}", "baseRecordUuid": "${request.getTargetObject().uuid}", <#-- nodes section --> "processModelNodes": ${processModelNodes}, "processVariables": ${processVariables}, "interfaceRuleInputs": ${interfaceRuleInputs}, "lanes": "recordActions/recordActionsLanes_v2.ftlx", "actionCreateUpdateId": "${actionCreateUpdateId}", <#if deleteProcessDisplayName?has_content> "startForm": "recordActions/recordActionsStartForm_v2.ftlx", <#else> "startForm": "recordActions/recordActionsCombinedStartForm_v2.ftlx", <#-- i18n section --> <#if createProcessDisplayName?has_content> "createProcessDisplayName": "${createProcessDisplayName?json_string}", <#if deleteProcessDisplayName?has_content> "deleteProcessDisplayName": "${deleteProcessDisplayName?json_string}", <#if updateProcessDisplayName?has_content> "updateProcessDisplayName": "${updateProcessDisplayName?json_string}", "name": "${name?json_string}", "description": "${description?json_string}", "cancelledLabel": "${cancelledLabel?json_string}" } ] }<#if hasNext>,