Renders a fully interactive Cytoscape.js workflow editor that supports creating, editing, and deleting nodes, branches, gates, calculations, services, alerts, notifications, SMS, channels, and arbitrary table inserts.
EDITWORKFLOW — set as ReportType in def_report.
def Render(self, Param1="", Param2="", Param3="") -> str:
Param1 (via self.Param1) is the workflow name (uppercased). Returns an HTML fragment with the Cytoscape graph, a calculation-group editor panel, and the full JavaScript initialisation. All workflow node types (API, CALC, CLASSIFICATION, DATASTORE, EMAIL, FEATURESTORE, FORM, etc.) are rendered with their respective glyph icons.
RPC methods delegate to ObjWorkflowEdit from factory.core/extend.edit:
RpcNewnode(data) / RpcEditnode(data) / RpcDeletenode(data)Create, update, or remove a workflow node.
RpcAddbranch(data) / RpcEditgate(data)Add a branch between nodes or update gate branch SQL.
RpcEditcalculation(data) / RpcAddcalculation(data) / RpcDeletecalculation(data) / RpcGetcalculationgroup(data) / RpcUpdatecalculationgroup(data)Manage calculation groups and individual calculations.
RpcEditservice(data) / RpcEditalert(data) / RpcEditnotify(data) / RpcEditsms(data) / RpcEditchannel(data)Edit supporting workflow components.
RpcCreateworkflow(data) / RpcCreateservice(data) / RpcCreatecalculation(data)Insert new top-level records into def_workflow, def_service, or def_calculations.
RpcInsert(data)Generic transactional insert into any table; validates the table name against information_schema and resolves allowed columns at runtime.
Extends ObjReportEditTree.Report with static = False and layout = "straight". Node type list is populated at runtime from list_workflow_nodes. The FEATURESTORE node type is always appended if not already present. Requires ObjWorkflowEdit from factory.core/extend.edit.