The Flow Review Tool

Warning

Not available in Factory Lite and Factory Personal licenses.

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.

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:

* | ParametrizationB | _ - contains rules on task options, such as specifying that options must have specific values, or be defined via flow variables. |
* | SQLQueryB | _ - contains rules which check the validity of SQL queries. |
* | FunctionsB | _ - contains rules on Data Manager functions which either must not be used in the flow, or which can only be used via flow variables. |
* | AlertsB | _ - contains rules on which alerts must be present, or must not be present in specific circumstances. |
* | NamesB | _ - contains generic rules on the names of objects such as tasks, process variables, alerts and the flow itself. |
* | FlowB | _ - 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. |

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

CategoryMapping

__. 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 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 brackets, comma separated. The option names can be found in the Parametric Options tab of each task in Rulex Factory, or in the corresponding page in the manual. 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 process variable or not. Possible values are true: the value must be expressed as a process variable. Sensitive: the value must be expressed as a sensitive (i.e. encrypted) process variable. If left blank there is no constraint to express the value as a process 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”. Process 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. 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.

CondValue1

Enter the possible values for the attribute specified in the CondAttx column. 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

CategoryMapping

__. 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 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 or not the query may be left empty. 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. 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.

CondValue1

Enter the possible values for the attribute specified in the CondAttx column. 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

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

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

It is the condition you want to apply to the function.

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

  • start

  • end

  • duration

  • rows

  • error

It is the type of alert the rule should be applied to.

Value

  • True - the alert must have been defined.

  • False - the alert must not be defined.

Here you define whether the alert must be defined or not.

Recipients

  • parametrized - the recipient must be defined in a process variable.

  • (blank) the recipient can be entered manually.

Optionally specify whether the recipients of the error message must be defined in a process variable or not.

CondAtt1

  • task

  • category

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

CondValue1

Enter the possible values for the attribute specified in the CondAttx column. Multiple values can be listed, enclosed in quotes and divided by commas - e.g. “mysharepointurl1”, “mysharepointurl2”

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

  • task

  • Flow

  • flow variable

  • alert

Parameter

  • maxlength

  • excludechar

It is the type of naming constraint to be applied to the target.

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

  • 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 in the Process 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.

It is the rule you want to apply to the flow

Value

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

https://cdn.rulex.ai/docs/Factory/flow_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.