Skip to main content

Connect nodes: Execution Flow and Data Flow

Nodes can be part of two different types of flows: Execution Flow and Data Flow.

Execution Flow

  • What it represents: The order of operations—i.e., when and in what sequence nodes are executed.
  • Visual cue: Nodes connected by blue lines are part of the Execution Flow. Square-shaped ports are used.
  • Execution logic: Nodes are executed from left to right, following the sequence of connections.
  • Example: The Remove Logical Structure node, set as the start node, triggers the Remove Annotations node, which in turn triggers the Add Logical Structure node.

Data Flow

  • What it represents: The movement of data between nodes—i.e., what information is passed and where it goes.
  • Visual cue: Nodes connected by green lines are part of the Data Flow. Circle-shaped ports are used.
  • Execution logic: Nodes are executed based on input dependencies. The system traverses the graph to identify all required inputs and executes the dependent nodes in the correct order—starting from the nodes without further dependencies and continuing up to the originally triggered node.
  • Example: A Select Shapes node outputs a list of shapes, which is passed as input to a Sort Vertically node. The data flow carries the actual shape data.

Some nodes, such as Add Logical Structure, support both execution and data flow connections. In such cases, both flows are combined.

Important

When both flows are present, Data Flow takes precedence and is always executed before the Execution Flow.

Connection rules

  • You can only connect ports of the same type (circle to circle, square to square).
  • To connect nodes:
    Click and hold the output port (circle or square), drag the line to a compatible input port on another node, and release.
  • For circle-shaped outputs (Data Flow), you can connect one output to multiple inputs.
    However, multiple outputs cannot connect to the same input.
  • To disconnect nodes:
    • Execution Flow (blue line):
      Click and drag the square-shaped input port until the line detaches, then release.
    • Data Flow (green line):
      Click and drag the circle-shaped output port until the line detaches, then release.