Skip to content
Nick O'Leary edited this page Aug 23, 2014 · 8 revisions

A subflow is a set of connected nodes that can be easily referenced and reused within a larger flow.

A subflow is represented as a single node in the workspace which can be opened up in a tab to see the underlying flow.

A subflow can be used in one of two modes: (this is tbd. Might just stick with singleton for v1)

  1. Singleton : only one copy of the flow exists.
  2. Instance : each reference to the subflow is its own copy.

Creating a subflow

  1. User selects some existing nodes.
  2. Selects 'convert to subflow' option.
  3. Dialog opens to name the subflow.
  4. Nodes are removed from workspace and replaced by a subflow node.
  5. Subflow node added to palette

Questions:

  • how to automatically identify the input/output ports to map to
  • what restrictions should be applied?
    • a single, continuous flow of nodes - aside from comment nodes
    • only one 'left most' node

Editing a subflow

  1. Double click subflow node.
  2. Opens in closeable tab containing the flow.

Questions:

  • how to rename the flow? Via subflow sidebar tab?
  • how to pick singleton/instance mode?

Delete subflow

  1. Open a subflow sidebar tab that lists all subflows with usage count (cf config node tab - perhaps combine them...?)
  2. ...

Definition

A subflow node has the following properties:

  • type : subflow
  • id
  • name

A node that is part of a subflow has their z property set to the id of the subflow.

An instance of a subflow has the following properties:

  • type : subflow ... ?
  • id
  • something to identify mode... if we have modes.

It inherits the name of the parent subflow.

Questions:

  • how does an instance node identify its parent?
    • type=subflow:'parent-id'
    • type=something other than subflow and parent=

Clone this wiki locally