Document toolboxDocument toolbox

Creating a Flow

Create a Flow from scratch

A Flow is composed of at least 2 units linked between them, in which the data comes from an output port of one component to an input port of the next one. Creating a new Devo Flow is really simple: you only need to select the required units in the panel at the left of the editor, drag them into the canvas and link them as required to define your stream process.

These are the basic steps you must follow to define a new Devo Flow:

  1. When you access the Flow Editor area and have not opened any Flow before, you will start in an empty canvas called Unnamed. You can start working here directly, or create a new Flow in case you have any other Flows open.

  2. To create a new Flow, click the Create button in the toolbar, give the new Flow a name, then select Apply. The name of your Flow will appear at the top of the canvas, next to a color circle that indicates its current status. When you create a Flow, its status is always Scratch (orange) until you first save it. Learn more about Flow statuses in the section below.

    Create a Flow on a new tab

    When you create a new Flow after opening or creating another one, the new Flow will be created on a new tab by default. If you want to replace the current Flow with the new one, uncheck the Open on a new tab option in the New Flow dialog window.

  3. Now you can start adding the required units to the canvas. Search units in the left panel using the available search box or navigating through the different categories. Select the required units and drop them into the canvas.

    Click a unit on the canvas to see information about it, access its edition options to clone it, delete it, and more, or open the inspector to configure it. Each unit has different configuration options and requires different fields to be filled. Learn more in Unit types.Click a

    Info

    Check a description of the unit type, as well as a definition of each of its input and output ports.

    Edition options

    Access several options to edit and configure the unit. Learn more in Working with units.

    Configuration

    Access the configuration options of the selected unit. Learn more about the configuration options of each specific unit in Unit types.

    Input ports

    These are the ports that received the input data to be processed. See a description of each unit's ports in Unit types.

    Output ports

    These are the ports that send the processed data to the next unit, or to a specified sink. See a description of each unit's ports in Unit types.

    Name and unit type

    See the name of the unit and the name you gave to it. You can give a different name to a unit by double-clicking it. Specify the name in the Name field and click Apply.

  4. Next, you must link the different units to define the required Flow. As seen in the above capture, units may have one or several input/output ports, depending on their characteristics. For example, see the unit Devo Full Query in the capture below. In this case, we join the second port of the unit, which generates an event for each query result, with a Mail unit, which sends the received events to a specified email address. Each unit's port and characteristics are clearly defined in their info section. 

  5. Once the Flow is defined, click the Save button in the toolbar. Then, you can click the Start button to run the created Flow. You can access the output events produced by every single unit in your Flow in the Events window. Learn here how to open and work with the Events window.

Flow status

A Flow can have 4 different statuses depending on its condition. You can check the status of your Flow by looking at the indicator next to the Flow name.

These are the statuses that a Flow may have:

Scratch

This is the status that your Flow has when you create it and will stay until you save the Flow for the first time. Then, the Flow status will change to Stopped.

This means that the Flow has not been recorded into the server yet, and cannot be run until you save it.

Stopped

This is the status that your Flow has when you first save your new Flow, or when you click the Stop button when the Flow is running.

This means that the Flow is saved but is not sending or processing any data. To run the Flow, you must click the Start button.

Running

This is the status that your Flow has when you run it by clicking the Start button in the toolbar. 

This means that the Flow is running and is sending and processing events as configured. To stop it, click the Stop button in the toolbar, which will change the status to Stopped.

Unloaded

This is the status that your Flow has when you click the Unload button in the toolbar. This unloads a saved Flow from the server in order to free space. Note that this is not the same as deleting a Flow.

Learn more about unloading a Flow here.