|
1 | 1 | --- |
2 | 2 | title: "Variables Grid" |
3 | 3 | linkTitle: "Variables Grid" |
4 | | -description: "TODO" |
| 4 | +description: "Manage Variables" |
5 | 5 | weight: 30 |
6 | 6 | --- |
| 7 | + |
| 8 | +# {{% param title %}} |
| 9 | + |
| 10 | +## Summary |
| 11 | + |
| 12 | +The Variable Grid enables [variables][What is a Variable?] to be created and modified. |
| 13 | + |
| 14 | +## Anatomy |
| 15 | + |
| 16 | +{{< figure src="/images/Flow Editor - Executions Grid.png" title="Executions Grid" >}} |
| 17 | + |
| 18 | +Each variable and its properties are represented by a single row in the grid, with the properties represented by the different columns. |
| 19 | + |
| 20 | +The properties of a variable may be edited by double-clicking on the appropriate cell in the Variables Grid. The properties of a variable are: |
| 21 | + |
| 22 | +* `Description` – The Description property may optionally contain free-format text to aid understanding of the purpose of variable. |
| 23 | +* `Name` – The Name of the variable must be unique within its scope and is case insensitive. The Name cannot contain space characters, but it can contain hyphens and underscores. |
| 24 | + |
| 25 | + The Name may be entered as free-format text, however, when it is saved, it will automatically be prepended by ($) characters to denote that this is a CORTEX variable. If the Name is entered prepended by a ($) characters, the system will not duplicate the prefix. |
| 26 | +* `Type` – The Type is always set to Variable. |
| 27 | +* `Set Default Value?` – This is used to initialise the variable with a value when the variable is created, i.e., when it comes into scope. It can be set to either true (initialise) or false (do not initialise and is used in connection with the Default Value property. |
| 28 | +* `Default Value` – The Default Value property contains the value with which to initialise the variable when it is created, defined using an Expression Editor, and is used in connection with the Set Default Value? Property. |
| 29 | +* `Is Input Variable?` – This property is used to allow the variable to accept a value input from an external REST Request, e.g., from a 3rd party system. It can be set to either true or false; the default value is false. For the variable to be used as an Input Variable, it must have flow scope, i.e. global scope. |
| 30 | +* `Is Output Variable?` – This property allows this variable to pass back its value, when the flow execution terminates, to the calling system via the REST Response. It can be set to either true or false; the default value is false. For the variable to be used as an Output Variable, it must have flow scope, i.e. global scope. |
| 31 | +* `Scope` – This property defines the scope of a variable, i.e., the workspace, or workspaces, where the variable is valid. CORTEX Variables operate on the principal of inherited scope, where a child object can access variables of its parent object. |
| 32 | + |
| 33 | + The scope of a variable can be changed by double-clicking on the Scope field and selecting the workspace in which the variable will be created. |
| 34 | + |
| 35 | + The variables displayed in the Variable Grid may be filtered based on their scope. The Scope filter allows for the following options: |
| 36 | + |
| 37 | + * All – All variables in the flow, regardless of their scope, are displayed |
| 38 | + * Flow – Only variables defined at the flow level, i.e. global scope variables, are displayed |
| 39 | + * Defined (Selected Workspace) – Only variable defined in the selected workspace are displayed; inherited scope variables are not displayed. |
| 40 | + * Available (Selected Workspace) – Variable defined in the selected workspace and inherited scope variables are displayed. This is the default setting. |
| 41 | + |
| 42 | + Variables in different scopes may be named identically, but identically named variables cannot be defined in the same workspace. When referring to identically named variables within a block’s properties, the variable with the most local scope will be used, e.g., a variable defined in the current workspace will be used rather than one with an identical name in a parent workspace. |
| 43 | + |
| 44 | +## Actions |
| 45 | + |
| 46 | +### Create a Variable |
| 47 | + |
| 48 | +Click the Add a new variable icon, shown as a plus sign (+) on the Variables Grid title bar. The variable will be created with the scope of the currently selected workspace. |
| 49 | + |
| 50 | +### Rename a Variable |
| 51 | + |
| 52 | +Double-click the variable’s Name field to enable its editing; rename the variable and click outside the field to complete the renaming process. The editor will automatically prefix the name with the ($) symbols if necessary to indicate to the system that this is a variable. |
| 53 | + |
| 54 | +### Delete a Variable |
| 55 | + |
| 56 | +Right-click anywhere on a variable and select Delete from the context menu to delete the variable. |
| 57 | + |
| 58 | +### Assigning a Default Value to a Variable |
| 59 | + |
| 60 | +Double-click the Set Default Value? field of the required variable to reveal a checkbox; click on the checkbox to enable the default value. |
| 61 | +Then, double-click on the Default Value field to open an Expression Editor in which to specify the default value. The default value may be a simple, collection or complex data type, specified in C# syntax; C# snippets may be used. |
| 62 | + |
| 63 | +### Defining an Input or Output Variable |
| 64 | + |
| 65 | +An Input or Output variable MUST be defined at the flow level, i.e., it must have global scope, for it to accept an input value or return an output value. Double-click on the Is Input Variable? or Is Output Variable? fields, as appropriate, to reveal a checkbox. Click on the checkbox to tick it to make the selected variable an Input or Output variable. |
| 66 | + |
| 67 | +A single variable can be both an Input variable and an Output variable. |
| 68 | + |
| 69 | +### Modifying the Scope of a Variable |
| 70 | + |
| 71 | +Double-click on the Scope field of variable to enable a dropdown menu. Select the desired scope from the dropdown. |
| 72 | + |
| 73 | +### Sort Variables |
| 74 | + |
| 75 | +The variables displayed may be ordered by any of the columns and they may also be filtered, based on the values contained in any column. |
| 76 | + |
| 77 | +### Filter Variables |
| 78 | + |
| 79 | +The displayed variables may also be filtered, based on the values contained in any property of the variables, by typing into the search box below each property column name. |
| 80 | + |
| 81 | +### Show or Hide Filters |
| 82 | + |
| 83 | +The filters themselves can be hidden by clicking the Hide Filters icon; note, although the filters may be hidden, their filtering actions still apply. |
| 84 | + |
| 85 | +### Enable or Disable Filtering |
| 86 | + |
| 87 | +The filtering of displayed variables can be disabled or re-enabled by clicking the Disable Filtering/Enable Filtering icon. |
| 88 | + |
| 89 | +## Remarks |
| 90 | + |
| 91 | +### Known Limitations |
| 92 | + |
| 93 | +None |
| 94 | + |
| 95 | +## See Also |
| 96 | + |
| 97 | +### Related Concepts |
| 98 | + |
| 99 | +* [Blocks][] |
| 100 | +* [Exceptions][] |
| 101 | +* [Executions][] |
| 102 | +* [Flows][] |
| 103 | +* [Workspaces][] |
| 104 | + |
| 105 | +### Related Tutorials |
| 106 | + |
| 107 | +* [Continue and Stop the Execution][Continue and Stop the Execution tutorial] |
| 108 | +* [Step the Execution][Step the Execution tutorial] |
| 109 | +* [Stop Tracking and Go To][Stop Tracking and Go To tutorial] |
| 110 | +* [Start Tracking][Start Tracking tutorial] |
| 111 | +* [Show Initial Flow First or Last][Show Initial Flow First or Last tutorial] |
| 112 | + |
| 113 | +[Continue and Stop the Execution tutorial]: {{< url path="Cortex.Tutorials.Development.FlowEditor.BottomPanel.ContinueStopExecution" >}} |
| 114 | +[Show Initial Flow First or Last tutorial]: {{< url path="Cortex.Tutorials.Development.FlowEditor.BottomPanel.ShowFirstLast" >}} |
| 115 | +[Step the Execution tutorial]: {{< url path="Cortex.Tutorials.Development.FlowEditor.BottomPanel.StepExecution" >}} |
| 116 | +[Stop Tracking and Go To tutorial]: {{< url path="Cortex.Tutorials.Development.FlowEditor.BottomPanel.StopTrackingGoTo" >}} |
| 117 | +[Start Tracking tutorial]: {{< url path="Cortex.Tutorials.Development.FlowEditor.BottomPanel.StartTracking" >}} |
| 118 | + |
| 119 | +[Blocks]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.MainDoc" >}} |
| 120 | +[Exceptions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Exceptions.MainDoc" >}} |
| 121 | +[Executions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.MainDoc" >}} |
| 122 | +[Flows]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.MainDoc" >}} |
| 123 | +[What is a Block?]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.WhatIsABlock.MainDoc" >}} |
| 124 | +[What is a Flow?]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.MainDoc" >}} |
| 125 | +[What is a Workspace?]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Workspaces.WhatIsAWorkspace.MainDoc" >}} |
| 126 | +[What is an Exception?]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Exceptions.WhatIsAnException.MainDoc" >}} |
| 127 | +[What is an Execution?]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.WhatIsAnExecution.MainDoc" >}} |
| 128 | +[Workspaces]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Workspaces.MainDoc" >}} |
0 commit comments