Skip to content

Commit 86a5aa1

Browse files
committed
reviewed Execution and Flow with PO and beginning of What's new
1 parent 6d77845 commit 86a5aa1

File tree

5 files changed

+191
-95
lines changed

5 files changed

+191
-95
lines changed

content/en/blog/releases/2024.X/2024.9.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ Affected Components:
128128
##### Saving Output Properties to multiple variables
129129

130130
It is now possible to use the [Expression editor][] for output properties.
131-
This supports a new [decomposition syntax][decomposition of output properties] allowing saving selected values from an output property to multiple variables.
131+
This supports a new [decomposition syntax][] allowing saving selected values from an output property to multiple variables.
132132
TODO - REVIEW DECOMPOSITION LINKS LOCAL AND OUT FROM THIS PAGE
133133
http://localhost:1313/docs/2024.9/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#expressions
134134
http://localhost:1313/docs/2024.9/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#output-properties
@@ -145,9 +145,7 @@ Affected Components:
145145

146146
A new [built-in _executionContext variable][] is now exposed in [processes][process] and [activities][activity].
147147
The `_executionContext` variable contains the initiator of the flow execution, as well as an `Extensions` property that can be used to store additional information.
148-
TODO - REVIEW LINK TO EXECUTION CONTEXT WHICH SHOULD HAVE SECTION IN
149-
http://localhost:1313/docs/2024.9/reference/concepts/fundamentals/executions/what-is-an-execution/
150-
148+
TODO - REVIEW LINK TO EXECUTION CONTEXT WHICH SHOULD HAVE SECTION
151149
<!-- Flow Engine - Expose Initiator on new _executionContext builtin variable -->
152150

153151
Affected Components:
@@ -448,7 +446,7 @@ The [What is a Flow][] documentation has been updated to include information on
448446

449447
##### Decomposition of Output properties
450448

451-
The [What is a Block Property][] documentation has been updated to include information on the new [Decomposition of Output properties][] feature.
449+
The [What is a Block Property][] documentation has been updated to include information on the new [Decomposition of Output properties][decomposition syntax] feature.
452450
<!-- Product Portal - add Decomposition of Output properties to What is a Block Property information page -->
453451
TODO - REVIEW DECOMPOSITION LINKS LOCAL AND OUT FROM THIS PAGE
454452
http://localhost:1313/docs/2024.9/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#expressions
@@ -685,6 +683,7 @@ Releases are currently forecast to be made available on:
685683
[.NET 8]: {{< url path="Cortex.Reference.Glossary.A-E.DotNet" >}}
686684
[API]: {{< url path="Cortex.Reference.Glossary.A-E.API" >}}
687685
[Service Fabric]: {{< url path="Cortex.Reference.Glossary.P-T.ServiceFabric" >}}
686+
[built-in _executionContext variable]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.WhatIsAnExecution.ExecutionContext" version="2024.9" >}}
688687

689688
[Innovation Only - Single Server - Without HA]: {{< url path="Cortex.GettingStarted.OnPremise.InstallInnovationOnly.SingleServerWithoutHA.MainDoc" version="2024.9" >}}
690689
[Innovation Only - Multiple Server - With HA]: {{< url path="Cortex.GettingStarted.OnPremise.InstallInnovationOnly.MultipleServerWithHA.MainDoc" version="2024.9" >}}

content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,48 @@ When a [flow][] starts the execution of a child flow using the [Run Flow][] bloc
4848
| Ended | The execution has ended normally |
4949
| Error | The execution has ended after having thrown an exception that was not handled |
5050

51+
## Execution Context
52+
53+
Executions have their own context that contains specific information about the current execution. This can be accessed via the built-in `_executionContext` [variable][] and currently contains the following properties:
54+
55+
- [Initiator][]
56+
- [Extensions][]
57+
58+
### Initiator
59+
60+
The initiator is a read-only property that contains the following information about the user that initiated the execution:
61+
62+
- `Name`: The name of the user that initiated the execution.
63+
- `AuthenticationType`: The authentication type of the user that initiated the execution.
64+
- `IsAuthenticated`: A boolean value indicating if the user that initiated the execution is authenticated. This should always be `true`.
65+
- `Claims`: A list of claims associated with the user that initiated the execution.
66+
67+
The values can be accessed using [property expression][] or dictionary [index expressions][] syntax, as follows:
68+
69+
```csharp
70+
($)_executionContext.Initiator.Name
71+
```
72+
73+
```csharp
74+
($)_executionContext.Initiator["Name"]
75+
```
76+
77+
### Extensions
78+
79+
The `Extensions` property can be used to store additional information. This data will be accessible to all blocks within the execution, including child executions.
80+
81+
A value can be added to the `Extensions` property using the [expression editor][], using the dictionary [index expressions][] syntax, for example:
82+
83+
```csharp
84+
($)_executionContext.Extensions["key"] = "value";
85+
```
86+
87+
The value can be accessed in the same way, for example:
88+
89+
```csharp
90+
($)_executionContext.Extensions["key"]
91+
```
92+
5193
## Remarks
5294

5395
### Known Limitations
@@ -75,6 +117,8 @@ None
75117
None
76118

77119
[Execution Status]: {{< ref "#execution-status" >}}
120+
[Extensions]: {{< ref "#extensions" >}}
121+
[Initiator]: {{< ref "#initiator" >}}
78122

79123
[Executions in Development]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.ExecutionsInDevelopment.MainDoc" >}}
80124
[Executions in Production]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.ExecutionsInProduction.MainDoc" >}}
@@ -98,3 +142,7 @@ None
98142
[Execution Service]: {{< url path="Cortex.Reference.Apis.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" >}}
99143

100144
[Run Flow]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlow.MainDoc" >}}
145+
146+
[expression editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.MainDoc" >}}
147+
[index expressions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.IndexExpressions" >}}
148+
[Property expression]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.PropertyExpressions" >}}

content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ weight: 1
99

1010
## Summary
1111

12-
A flow is an object in [{{% ctx %}} Studio][CORTEX Studio] that contains the logic and actions (in the form of [blocks][] and [workspaces][]) that is able to be executed on a {{% ctx %}} Innovation platform.
12+
A flow is an object in [{{% ctx %}} Studio][CORTEX Studio] that contains the logic and actions (in the form of [blocks][] and [workspaces][]) that is able to be executed on a {{% ctx %}} platform.
1313

1414
## Anatomy of a Flow
1515

@@ -24,24 +24,40 @@ Processes are a type of [Flow][] that can contain multiple [Activities][Activity
2424

2525
{{< figure src="/images/top-level-workspace-process.svg" title="Example Process" >}}
2626

27+
* Processes flow from left to right
28+
* Processes can call other processes
29+
* Processes can call activities
30+
* Processes only contain a subset of blocks as they are intended to model high-level business processes, not low-level implementation of tasks or actions
31+
2732
### Activity
2833

29-
Activities are a type of [Flow][] that can be used to model tasks or actions.
34+
Activities are a type of [Flow][] that can be used to model low-level tasks or actions.
3035

3136
{{< figure src="/images/top-level-workspace-activity.svg" title="Example Activity" >}}
3237

33-
## Composition of a flow
38+
* Activities flow from top to bottom
39+
* Activities can call other activities
40+
* Activities cannot call processes
41+
* Activities contain all blocks as they are intended to model low-level tasks or actions
42+
43+
## Composition of a Flow
3444

35-
Flows are composed of the following blocks:
45+
Flows are composed of the following:
3646

47+
* [Workspace][Workspace ref]
3748
* [Start Flow block][]
3849
* [Action blocks][]
39-
* [Decision block][]
50+
* [Decision blocks][Decision blocks ref]
4051
* [Workspace blocks][]
4152
* [End Flow block][]
4253
* [Handle Flow Exception block][]
43-
* [Flow Variable Store][Flow Variable Store ref]
44-
* [Workspace][Workspace ref]
54+
55+
### Workspace
56+
57+
The [Top-Level Workspace][] within the flow.
58+
59+
* Canvas on which blocks are placed and connected to create the flow logic
60+
* See [Workspace][workspaces]
4561

4662
### Start Flow block
4763

@@ -62,14 +78,12 @@ Performs a specific action.
6278

6379
Causes the [flow execution][] to branch, dependent on a condition.
6480

65-
* Icon on block indicates type of condition causing branching
6681
* See [Decision Blocks][Decision Blocks]
6782

6883
### Workspace blocks
6984

7085
Contains grouped flow logic.
7186

72-
* The turndown on the top-right of the icon indicates it contains a [workspace][], which can be opened by double-clicking the icon
7387
* See [Workspace][Workspace Block] block
7488

7589
### End Flow block
@@ -84,28 +98,9 @@ Ends the [flow execution][].
8498
Handles [flow level exceptions][], thrown during the [flow execution][].
8599

86100
* Automatically created when the flow is created
87-
* The turndown on the top-right of the icon indicates it contains a [workspace][workspaces], which can be opened by double-clicking the icon
88101
* Cannot be deleted
89102
* See [Handle Flow Exception][] block
90103

91-
### Flow Variable Store
92-
93-
Stores variables that can be used within the flow.
94-
95-
* The [Variables Grid][] can be opened by double-clicking the icon, the scope will be set to `Defined (Selected Workspace)`
96-
* Cannot be deleted
97-
98-
{{% alert title="Note" %}}
99-
This is deprecated in favour of the {{< ahref path="Cortex.Guides.Studio.SouthPanel.VariablesGrid" title="Variables Grid" >}}
100-
{{% /alert %}}
101-
102-
### Workspace
103-
104-
The [Top-Level Workspace][] within the flow.
105-
106-
* Canvas on which blocks are placed and connected to create the flow logic
107-
* See [Workspace][workspaces]
108-
109104
## Grouping Logic within a Flow
110105

111106
All the logic of a flow can exist on the [Top-Level Workspace][], however, this can quickly become difficult to maintain and understand as the numbers of blocks increase. Blocks can be grouped into workspaces in order to reduce the complexity and make the flow easier to maintain.
@@ -120,7 +115,7 @@ A [flow execution][flow execution] may be started by:
120115

121116
* [Debugging][] a flow in [{{% ctx %}} Studio][CORTEX Studio]
122117
* Triggering it by making an HTTP request from an external source (e.g. a web application or web hooks)
123-
* Triggering it using the [Run Flow][] block
118+
* Triggering it using the [Run Flow][] and [Run Flow Async][] block
124119
* Triggering it using predefined events (future) (e.g. on receipt of an email)
125120
* Scheduling it to execute at predetermined times
126121

@@ -156,6 +151,7 @@ Currently, it is not possible to have a [Handle Workspace Exception][] block on
156151
* [Start Flow][]
157152
* [End Flow][]
158153
* [Run Flow][]
154+
* [Run Flow Async][]
159155
* [Handle Flow Exception][]
160156
* [Handle Workspace Exception][]
161157
* [Workspace][Workspace Block]
@@ -170,11 +166,10 @@ None
170166

171167
[Start Flow block]: {{< ref "#start-flow-block" >}}
172168
[Action blocks]: {{< ref "#action-blocks" >}}
173-
[Decision block]: {{< ref "#decision-block" >}}
169+
[Decision blocks ref]: {{< ref "#decision-block" >}}
174170
[Workspace blocks]: {{< ref "#workspace-blocks" >}}
175171
[End Flow block]: {{< ref "#end-flow-block" >}}
176172
[Handle Flow Exception block]: {{< ref "#handle-flow-exception-block" >}}
177-
[Flow Variable Store ref]: {{< ref "#flow-variable-store" >}}
178173
[Workspace ref]: {{< ref "#workspace" >}}
179174

180175
[blocks]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.MainDoc" >}}
@@ -200,6 +195,7 @@ None
200195

201196
[CORTEX Studio]: {{< url path="Cortex.Guides.Studio.MainDoc" >}}
202197
[Debugging]: {{< url path="Cortex.Guides.Studio.Debugging.MainDoc" >}}
203-
[Variables Grid]: {{< url path="Cortex.Guides.Studio.SouthPanel.VariablesGrid" >}}
204198

205199
[Run Flow]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlow.MainDoc" >}}
200+
201+
[Run Flow Async]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlowAsync.MainDoc" >}}

0 commit comments

Comments
 (0)