Getting Started With Data Flow Nodes

Getting Started With Data Flow Nodes

This article provides the information and resources to support the task of working with data flow nodes.

The data flow system supports a wide variety of nodes, with more being added regularly. 

We always welcome feedback or ideas on new nodes that would make the data flow system easier to use!

  • Sources, Transitions, And Sinks
  • Transforms
    • Transform Input And Bindings
    • Transform Behavior
  • List Of Node Types

Sources, Transitions, And Sinks

Each node in the MFGx data flow system is assigned one of three responsibilities: source, transition, or sink.

  • Source nodes introduce new messages into the flow.

    • Source nodes do not have an input port.

    • Examples include the Debug Source and Subscribe nodes. 

  • Transition nodes operate on the payload as it moves through the flow.

    • Transition nodes have an input port and one or more output ports. 

    • Most of the nodes in the data flow system are transition nodes.

  • Sink nodes terminate a flow, performing an action which produces no usable output. 

    • Sink nodes have an input port, but no output ports.

Transforms

Many nodes have fields for MFGx Scripting Language (MSL) transforms. 

These transforms are MSL scripts with full access to the function bindings and features of the MFGx Scripting system, including the features and functions of JSONata, the data transformation language upon which MSL is built.

Transform Input And Bindings

All transforms in the data flow system are executed with the primary payload of the message passed as the value ($). 

All transforms are executed with an additional binding ($state), which contains the full state of the message traveling through the flow. 

This $state binding is an object with several properties that may be useful to transforms:

  • mesageId: A unique ID tied to this flow execution

  • context: The context of the flow execution, set via Context nodes

  • payload: The payload of the message (the same value passed to the transform as $)

Transform Behavior

Some nodes also have a field for Transform Behavior

This field affects the available function bindings in the related MSL transform. 

There are two behavior options for transforms:

  • Read-only

    • Destructive function bindings (including $mutate and $integrate) are not available to be called. 

    • This ensures transforms written in read-only mode will not accidentally change data in MFGx or external systems.

  • Destructive

    • All function bindings are available.

List Of Node Types

  • Conditional Data Flow Node Types

  • MFGx Data Flow Node Types

  • Integration Data Flow Nodes

  • Flow Control Data Flow Nodes

  • Event Data Flow Nodes

  • Context Data Flow Nodes

  • Debugging Data Flow Node Types

  • IIOT Data Flow Nodes

    • Related Articles

    • Data Flow Design Standards

      This article provides the information and resources to support the task of deploying a data flow in Fuuz. The standards and requirements must be completed prior to deploying a Data Flow in Fuuz. Depending on the version, most of these validations may ...
    • Data Flow Event Nodes

      Open the Fuuz app. Select Fuuz → System → Orchestration → Data Flow Event Nodes dropdown menu. Or Type Data into the Search Bar: From here, is possible to perform the following task or tasks. Search for a data flow event node. Create a data flow ...
    • Custom Fuuz Only JSONata Library

      These are customized bindings/functions that have been developed for use only within the Fuuz Platform. Type Category Name Signature Description Example Frontend Clipboard $writeToClipboard() $writeToClipboard(data) Write data to clipboard ...
    • Getting Started With Flow Designer

      This article provides the information and resources to support the task of using the flow designer. What Is A Data Flow? Data Flow Designer Toolbox Diagram Editor Panel Console Deploying Flows Importing and Exporting Flows Flow Designer Settings Node ...
    • Getting Started with Fuuz Scripting

      This article provides an introduction to Fuuz scripting and its relevant training resources. Fuuz Scripting Language Fuuz Scripting Windows Fuuz Scripting Language Fuuz's scripting language is an extension of the JSONata transformation language. Fuuz ...