The Flow Review Tool

Warning

Available in Factory Enterprise license.

The Flow Review Tool is used to check the validity of your flow. Rules and best practices are defined in an MS Excel file, which can be configured according to defined requirements.

This tool is essential to ensure that any flow satisfy compliance constraints, and to avoid generating errors in production.

It is extremely useful when new compliance rules are identified, as an updated MS Excel file can quickly be implemented to check multiple flows and spot where the new rule is not respected.

Best practices can also be identified to improve the quality of your flows and to avoid warnings. All these refinements allow the user to define a standard in flow development which is crucial in enterprise contexts.

To open the Flow Review Tool, right-click on a flow and select it from the flow context menu or directly from the flow toolbar by clicking the corresponding icon.


Review Validation File

To properly configure the Flow Review Tool, you need to provide an input Validation File which contains all the rules we expect our flow to respect.

The MS Excel file attached below can be downloaded and used as a template.

Click here to download the configuration file

See also

Users can create their own MS Excel validation file, but sheet names and the column names must be exactly as in the template, otherwise the Flow Review Tool will not work correctly. Any additional sheets or columns added to the file will not be considered by the Flow Review Tool.

The validation file contains 5 sheets, where users can define validation rules on specific areas of the flow:

  • Parametrization: contains rules on task options, such as specifying that options must have specific values, or be defined via flow variables.

  • SQL Query: contains rules which check the validity of SQL queries.

  • Functions: contains rules on Data Manager functions which either must not be used in the flow, or which can only be used via flow variables.

  • Alerts: contains rules on which alerts must be present, or must not be present in specific circumstances.

  • Names: contains generic rules on the names of objects such as tasks, alerts and the flow itself.

  • Flow: contains a series of rules which can be defined on the flow, for example, it cannot contain tasks in error status, or it must contain at least one task of a certain type.

  • Variables: contains a series of rules which control variables.


Parametrization

Column

Description

Description

You are free to enter a description, or leave the column blank, or even remove the column if you prefer. Any additional columns you add to those already present will not be considered by the Flow Review Tool.

Rule Type

The type of message which will be generated by the rule. This column is free, but we recommend using error or warning. Errors are listed first in the output file.

Category

The category name of Rulex Factory tasks. This mapping can be found in the Category Mapping page. N.B. You can specify either the category or the task name, but not both.

Task

The name of your specific tasks. Multiple tasks can be specified, in round brackets, comma separated e.g. (myexcel, mytextfile). N.B. You can either specify the category or the task, but not both.

Option

The name of the task option to be used in the rule. Multiple options can be specified, in round brackets, comma separated. The option names can be found by opening the Context Help menu in the bottom-right corner of every task, and hovering over the desired option. The asterisk * can be used as a wildcard, meaning all tasks, while *- means all tasks except those specified.

Parametrized

You can specify whether an option must be defined by a variable or not. Possible values are true: the value must be expressed as a flow variable. Sensitive: the value must be expressed as a sensitive (i.e. encrypted) flow variable. If left blank there is no constraint to express the value as a flow variable.

Acceptable Variable Names

The list of all acceptable variable names, enclosed in quotes and divided by commas - e.g. “sens_var”, “my_var”. This option is considered only if parametrized is true or sensitive.

Acceptable Values

The list of all acceptable values, enclosed in quotes and divided by commas - e.g. “john.smith@gmail.com”, “paolo.rossi@gmail.com”. Flow variables associated to the option will also be checked.

CondAtt1

Optional conditions that can be added to the rule that must be satisfied for the rule to be applied. It verifies if the value is equal or a substring of one of the values provided in the CondValue1 column. There is no limit to the number of conditions you can add, but all conditions will need to be satisfied (i.e. the relationship between conditions is AND). To add conditions with the OR operator applied, add a new row to the sheet for each new condition. To exclude values (not contains), you need to add an exclamation mark ! before the value.

CondValue1

Enter the possible values for the attribute specified in the CondAttx column. To exclude values (not contains), you need to add an exclamation mark ! before the value. Multiple values can be listed, enclosed in quotes and divided by commas - e.g. “mysharepointurl1”, “mysharepointurl2”

https://cdn.rulex.ai/docs/Factory/parametrization_frt.webp

SQL Query

Column

Description

Description

You are free to enter a description, or leave the column blank, or even remove the column if you prefer. Any additional columns you add to those already present will not be considered by the Flow Review Tool.

Rule Type

The type of message which will be generated by the rule. This column is free, but we recommend using error or warning. Errors are listed first in the output file.

Category

The category name of Rulex tasks. The only two tasks where you can generate SQL queries are Conditional Import and Import from Database, so the two possible values here are conditionalimport and sourcesql. This mapping can be found in the Category Mapping page. N:B: You must specify either the category or the task, but you cannot specify not both.

Task

The name of your specific tasks. Multiple tasks can be specified, in round brackets, comma separated - e.g. (myexcel, mytextfile). “*” is a wildcard, meaning all tasks, while “-*” means all tasks except xx. N.B. You must specify either the category or the task, but you cannot specify not both.

Parameter

In this option, you specify whether the values you include in the Values option, must or must not be included in the SQL query. Possible values are contains or not contains.

Values

The list of values that must be checked in the SQL query, enclosed in quotes and divided by commas. For example “JOIN”, “SELECT”. Whether they must be present, or must not be present, is defined in the Parameter option.

Allow Empty

Define whether the query may be left empty or not. Possible options are “true” or “false”.

CondAtt1

Optional conditions that can be added to the rule that must be satisfied for the rule to be applied. It verifies if the value is equal or a substring of one of the values provided in the CondValuex column. For example “type”, which will only check rules where the type corresponds to a specific value, such as SQL Server. There is no limit to the number of conditions you can add, but all conditions will need to be satisfied (i.e. the relationship between conditions is AND). To add conditions with the OR operator applied, add a new row to the sheet for each new condition. To exclude values (not contains), you need to add an exclamation mark ! before the value.

CondValue1

Enter the possible values for the attribute specified in the CondAttx column. To exclude values (not contains), you need to add an exclamation mark ! before the value. Multiple values can be listed, enclosed in quotes and divided by commas - e.g. if the CondAtt1 value is type and the CondValue1 is “SQL Server”, the rule will only check queries when the type is SQL Server.

https://cdn.rulex.ai/docs/Factory/sqlquery_frt.webp

Functions

Column

Description

Description

You are free to enter a description, or leave the column blank, or even remove the column if you prefer. Any additional columns you add to those already present will not be considered by the Flow Review Tool.

Rule Type

The type of message which will be generated by the rule. This column is free, but we recommend using error or warning. Errors are listed first in the output file.

Function

The name of the Data Manager function onto which you want to add a condition.

Usage Type

It is the condition you want to apply to the function. Possible values are:

  • parametrized - you can only use the function via a variable.

  • forbidden - you cannot use this function anywhere in your flow.

https://cdn.rulex.ai/docs/Factory/functions_frt.webp

Alerts

Column

Description

Description

You are free to enter a description, or leave the column blank, or even remove the column if you prefer. Any additional columns you add to those already present will not be considered by the Flow Review Tool.

Rule Type

The type of message which will be generated by the rule. This column is free, but we recommend using error or warning. Errors are listed first in the output file.

Alert

It is the type of alert the rule should be applied to. Possible values are:

  • start

  • end

  • duration

  • rows

  • error

Value

Here you define whether the alert must be defined or not. Possible values are:

  • True - the alert must have been defined.

  • False - the alert must not be defined.

Recipients

Optionally specify whether the recipients of the error message must be defined in a variable or not. Possible values are:

  • parametrized: the recipient must be defined in a variable.

  • (blank): the recipient can be entered manually.

CondAtt1

It is an optional parameter that specifies whether the alert applies to a specific task or category. Possible values are:

  • task

  • category

To exclude values (not contains), you need to add an exclamation mark ! before the value.

CondValue1

Enter the possible values for the attribute specified in the CondAttx column. To exclude values (not contains), you need to add an exclamation mark ! before the value. Multiple values can be listed, enclosed in quotes and divided by commas - e.g. “dataman1”, “textfile1”

https://cdn.rulex.ai/docs/Factory/alerts_frt.webp

Names

Column

Description

Description

You are free to enter a description, or leave the column blank, or even remove the column if you prefer. Any additional columns you add to those already present will not be considered by the Flow Review Tool.

Rule Type

The type of message which will be generated by the rule. This column is free, but we recommend using error or warning. Errors are listed first in the output file.

Target

The type of object the naming restriction should be applied to. Possible values are:

  • task

  • workflow

  • process variable

  • alert

Parameter

It is the type of naming constraint to be applied to the target. Possible values are:

  • maxlength

  • excludechar

Value

The value that can be assigned to the naming constraint defined in the Parameter option. The value can either be a numerical value for maxlength, or a list of characters which cannot be used, with no comma separator for excludechar.

https://cdn.rulex.ai/docs/Factory/names_frt.webp

Flow

Column

Description

Description

You are free to enter a description, or leave the column blank, or even remove the column if you prefer. Any additional columns you add to those already present will not be considered by the Flow Review Tool.

Rule Type

The type of message which will be generated by the rule. This column is free, but we recommend using error or warning. Errors are listed first in the output file.

Parameter

It is the rule you want to apply to the flow. Possible values are:

  • hasname: the flow must have at least one task with the name specified in the Value column, e.g.”sqllite”

  • hascategory: the flow must have at least one task which belongs to the category specified in the Value column, e.g. “sourcesql”

  • maxparallel: the number of flows that can be computed in parallel must correspond to the number specified in the Value column, e.g. 4. This value is defined in Rulex Factory in the Flow Execution Parameters.

  • nohanging: the flow must not contain tasks that are not connected to validparent, unless they are sources. Possible values are True if the rule must be applied, otherwise False.

  • nodirtytask: the flow must not contain tasks in DIRTY status. Possible values are True if the rule must be applied, otherwise False.

  • noerrortask: the flow must not contain tasks in ERROR status. Possible values are True if the rule must be applied, otherwise False.

  • nowarningtask: the flow must not contain tasks in WARNING status. Possible values are True if the rule must be applied, otherwise False.

  • noncomputedtask: the flow must not contain tasks in READY status. Possible values are True if the rule must be applied, otherwise False.

Value

The value the constraint selected in the Parameter column must have.

https://cdn.rulex.ai/docs/Factory/flow_frt.webp

Variables

Column

Description

Description

You are free to enter a description, or leave the column blank, or even remove the column if you prefer. Any additional columns you add to those already present will not be considered by the Flow Review Tool.

Rule Type

The type of message which will be generated by the rule. This column is free, but we recommend using error or warning. Errors are listed first in the output file.

Variable Names

The list of the variables’ names that need to be checked, without @, enclosed in `” “ ` and divided by commas. E.g.: “Var_1”, “Var_2”.

Variable Values

The list of all the acceptable values, enclosed in “ “ and divided by commas (e.g.: “value1”, “value2”). Wildcards can be used, where * means all values, while *- means all values except the ones listed after the *-.

Sensitive

The sensitivity constraints of the rule. The possible values are:

  • sensitive (the system checks if the variable is a sensitive one)

  • vault (the system checks if the variable is a vault one).

  • If this field is left empty, no sensitivity constraints are applied.

Must Exist

It checks whether the variables in the corresponding row exist or not. The possible values are:

  • none (none of the variables in the Variable Names field must be present)

  • all (all the variables in the Variable Names field must be present)

  • at least one (at least one of the variables in the Variable Names field must be present)

  • max one (one or none of the variables in the Variable Names field must be present).

  • If left empty, no constraints will be applied.

https://cdn.rulex.ai/docs/Factory/variables_frt.webp

Flow Review Tool Panel

You perform the actual configuration of the Flow Review Tool by modifying the following parameters in the flow review tool dedicated panel.

Parameter Name

Description

Input file

Select how you want to import the Excel configuration file. Import location selection follows the standard Filesystem connection configuration. It can be performed from the machine disk or from a remote location.

Output file

Select where you want to export the result file. Export location selection follows the standard Filesystem connection configuration. It can be performed towards the machine disk or towards the remote location.


Results file

The output results file contains a tab for each flow that has been checked with all warning/error messages generated, and an overall summary tab.

The summary tab displays general information such as the names of all checked flows, the numbers of errors and warnings found, the number of rules defined, and the start and end time of the flow.

The tabs for each individual flow contain the type of rule (error, warning or custom types), the sheet where the rule was not satisfied (e.g. Workflow) and the line which contains the violated rule, the task and corresponding option which did not respect the rule and an error message explaining the issue for each entry.

Note

Errors are displayed first, followed by warnings and then any custom rule types defined.