Flow Screens

Understand the View and Editing screens for Flows in Fynapse.

Overview

Flow comprises two screens:

  • View, where you can see the grid with the existing Flows in Active and Draft status
  • Editing, accessible from the view only mode, where you can create new Flows and edit existing ones

View Screen

The View screen comprises of a grid which contains the following information about the existing Flows:

  • Name - name of the Flow
  • Description - description of the Flow
  • Status - status of the Flow

    Currently, per one unique Flow name you can have one Published and one Draft version of one Flow.

    • Draft - indicates the Flow is in progress and not yet active
    • Activating - indicates the draft Flow is being activated when the Submit button has been clicked

      If you clicked the Submit button on a new version of an already Active Flow, the older version will automatically change status first to Deactivating, then to Inactive and disappear from the grid.

    • Active - indicates the Flow is active
    • Archiving - indicates the Flow is being archived
    • Deactivating - indicates the Flow is being deactivated
    • Inactive - indicates the Flow is inactive; an inactive Flow is a historic version of an active Flow; Flows with this status will not appear in the grid
    • Invalid - indicates the Flow has an old data model that is no longer in use; only Active status Flows can become Invalid, when you change the Invalid Flow a new Draft will be created

      Invalid Flows cannot be exported in Configuration Data JSON file.

  • Version - version of the Flow; a new version is created when you click the Submit button
  • Created By - username of the user who created the Flow
  • Created On - timestamp when the Flow was created
  • Actions - the expand menu has the option to archive a Flow In the Actions column, you have the Delete action which allows you to delete a Flow.
  • Details - the chevron will redirect you to the Editing screen for the given Flow

The screen also has two buttons above the grid:

  • New - which allows you to create a new Flow
  • Refresh - which refreshes the screen

Editing Screen

The Editing screen is where you create new Flows and edit existing ones:

  • To create a new Flow, click the New button on the View screen, then follow the instructions in the tutorial below
  • To edit an existing Flow, click the chevron in the Details column of Flow you want to edit

The Editing screen comprises of:

  • The working area, where you drag and drop Flow steps and create links between them
  • The configuration section below the working area, where you configure such information as step Name, input or target Entity, Accounting Engine Mapping, define the script for the Script step, etc.
  • The validations section, which contains validation errors. It appears on the right-hand side of the screen after you click the Validate button to verify your Flow against validation rules.

Working Area Features

The working area has the following features available in the right-hand corner:

image-20240704-112210.pngIncrease size - increases the size of the Flow
image-20240704-112300.pngDecrease size - decreases the size of the Flow
image-20240704-112319.pngOptimize - increases the size of the Flow to the maximum available within the working area
image-20240704-112352.pngLock - locks the Flow to allow you to move the entire graph

To delete a step, click the step and click the backspace button on your keyboard.

Editing Pane

The following buttons are available above the working area:

Save progressAllows you to save your progress while you are working
SubmitThis button will enable the Flow to the Active status
ValidateAllows you to perform validation of your Flow against validation rules
UndoAllows you to undo your actions within your current session. When you refresh or leave the Editing page, you leave the session and the undo option is reset.
RedoAllows you to restore an action you undid. When you refresh or leave the Editing page, you leave the session and the redo option is reset.

How to Create a Flow?

Flows are comprised of different types of steps, described in details in the steps section. In this example, we will build a simple Flow comprising of four steps: Input, Script, Accounting Engine and Journal Processing. Such a Flow will allow you to e.g. enrich ingested transaction data and use them to generate Business Events and then Journals.

The Map by name feature is available in the Attributes Mapping tab in all steps which require attributes’ mapping. It allows you to automatically map input attributes with target attributes with the same name.

  1. Go to Flows.
  2. On the Flows screen, click the New button.
  3. A dialog will appear. In the dialog, type a unique name for your Flow and click the Create button.
  4. Drag and drop the Input step to the working area. An Input step allows you to specify the type of event that will be the trigger for the execution of a Flow.
  5. Type in a name for your Input step.
  6. Select the source Entity from the drop-down list. This has to be a Transaction type Entity.
  7. Now that a Flow has a beginning, you can drag and drop a Script step to your working area. A Script step allows you to define different processes, such as lookups, calculations, and data transformations, using Python code.
  8. Type a name for your Script step.
  9. In the Script section, create the Script for your function. Refer to the Built-in Functions and Types section for a list of pre-defined functions that are available.
  10. Go to the Outputs tab to define the attributes that will be generated by this Script step.
  11. Click the Add new button.
  12. Type the name of your attribute.
  13. Select the type. The available types are:
  • Primitive attributes:
    • Text
    • Int
    • Date
    • Boolean
    • Decimal - the decimal attribute operates with the following parameters: scale 18 digits and precision 3 digits. This format is hardcoded and cannot be changed.
    • High precision decimal - the high precision decimal attribute operates with the following parameters: scale 38 digits and precision 18 digits.
    • Timestamp
  • Complex - this is an equivalent of an Entity, an attribute to which you can add nested child attributes
  • List - this is a collection of attributes of the same type
  1. Item Type is only enabled for List type attributes. This is where you select the type of attributes that will comprise the List attribute
  2. Click the Save button.
  3. If you defined a Complex type attribute, you can add child attributes by clicking the Add Child button. Then you type the name of the child attribute and select the type.
  4. To edit an attribute, click the Edit button. When you are done, you can either save your changes by clicking the Save button or discard them by clicking the Discard Changes button.
  5. Once you are done defining the attributes, join the steps with a line by dragging it from the black dot on the right side of the Input step and connecting it to the Script step.
  6. Drag and drop an Accounting Engine step. The Accounting Engine step allows you to process Business Events generated by a Flow in order to generate double entry accounting in the form of Journals.
  7. Type a name for your Accounting Engine step.
  8. Join the Accounting Engine step with the Script step with a line.

    If you do not join the steps, you will not be able to see the source attributes in the Attributes Mapping section.

  9. In the Attributes Mapping section, map the Source attributes with the Target attributes.
  10. The Source attributes comprise the attributes from the Input Entity defined in the Input step and attributes generated by the Script step.
  11. The Target attributes are the attributes from the Business Event Definition.
  12. Drag and drop a Journal Processor step. The Journal Processor step takes the Journals generated by the Accounting Engine and posts them to the Subledger.
  13. Type the name of the Journal Processor step.
  14. If you need to remove a step from the Flow, click on the step and click the backspace button on your keyboard.