diff --git a/assets/js/offline-search.js b/assets/js/offline-search.js index 6151d9b6e..6f99da65a 100644 --- a/assets/js/offline-search.js +++ b/assets/js/offline-search.js @@ -61,12 +61,14 @@ let docToAdd; if (searchPath !== undefined && doc.ref.startsWith(searchPath)) { docToAdd = doc; - } else if (searchPath === undefined) { docToAdd = doc; } - if (docToAdd) { + if (docToAdd + && docToAdd.ref !== undefined + && !docToAdd.ref.includes('/_shared/') + ) { this.add(doc); resultDetails.set(doc.ref, { @@ -150,11 +152,10 @@ ); const $searchResultBody = $('
').css({ - maxHeight: `calc(100vh - ${ - $targetSearchInput.offset().top - + maxHeight: `calc(100vh - ${$targetSearchInput.offset().top - $(window).scrollTop() + 180 - }px)`, + }px)`, overflowY: 'auto', }); $html.append($searchResultBody); diff --git a/assets/scss/_content.scss b/assets/scss/_content.scss index 7525c57f0..ae05029a6 100644 --- a/assets/scss/_content.scss +++ b/assets/scss/_content.scss @@ -3,9 +3,19 @@ // .td-content { + display: grid; + grid-template-columns: minmax(0, 1fr); + grid-row-gap: 8px; + row-gap: 8px; order: 1; - p, li, td { + .reading-time { + margin: 5px 0px; + } + + p, + li, + td { font-weight: $font-weight-body-text; } @@ -16,29 +26,50 @@ } p { - margin-bottom: 0.2rem; + margin-top: 0px; + margin-bottom: 0px; } - > h1 { + >h1 { font-weight: $font-weight-bold; - margin-bottom: 1rem; } - > h2 { - margin-bottom: 1rem; + >h2 { + margin-top: 10px; + margin-bottom: 10px; + padding-bottom: 8px; + border-bottom: 1px solid rgba(50, 50, 50, 0.1); + } + + >h2:not(:first-of-type) { + margin-top: 24px; + } + + >h2+h3 { + margin-top: 10px; } - > h2:not(:first-child) { - margin-top: 3rem; + >h3 { + margin-top: 24px; + margin-bottom: 8px; } - > h2 + h3 { - margin-top: 1rem; + h3+h4 { + margin-top: 10px; } - > h3, > h4, > h5, > h6 { - margin-bottom: 1rem; - margin-top: 2rem; + >h4 { + margin-top: 14px; + margin-bottom: 4px; + } + + h4+h5, h5+h6 { + margin-top: 5px; + } + + >h5, >h6 { + margin-top: 10px; + margin-bottom: 4px; } img { @@ -53,7 +84,7 @@ max-width: 90%; } - > table { + >table { @extend .table-striped; @extend .table-responsive; @@ -61,30 +92,46 @@ @extend .table; } - > blockquote { + >blockquote { padding: 0 0 0 1rem; margin-bottom: $spacer; color: $gray-600; border-left: 6px solid $secondary; } - > ul li, > ol li { + >ul { + margin-bottom: 0px; + } + + >ul li, + >ol li { margin-bottom: .25rem; - > table { + >table { @extend .table-striped; - + @extend .table-responsive; - + @extend .table; - } + } } strong { font-weight: $font-weight-bold; } - > pre, > .highlight, > .lead, > h1, > h2, > ul, > ol, > p, > blockquote, > dl dd, .footnotes, > .alert { + >pre, + >.highlight, + >.lead, + >h1, + >h2, + >ul, + >ol, + >p, + >blockquote, + >dl dd, + .footnotes, + >.alert { @extend .td-max-width-on-larger-screens; } @@ -93,8 +140,10 @@ margin-bottom: 1 * $spacer; } - .lead { - margin-bottom: 1.5rem; + .lead, .td-byline { + width: 100%; + max-width: 100%; + margin: 5px 0px !important; } span { @@ -103,23 +152,25 @@ color: black; padding: 0.18rem 0.45rem 0.18rem 0.45rem } + &.threshold-warning { - background-color: #FF9830; + background-color: #FF9830; color: black; - padding: 0.18rem 0.45rem 0.18rem 0.45rem + padding: 0.18rem 0.45rem 0.18rem 0.45rem } + &.threshold-critical { background-color: #F2495C; color: black; - padding: 0.18rem 0.45rem 0.18rem 0.45rem + padding: 0.18rem 0.45rem 0.18rem 0.45rem } } - > .footnotes { + >.footnotes { font-style: italic; } - > .youtube-video { + >.youtube-video { max-width: 640px; width: 100%; animation: fadeIn 2s; @@ -130,6 +181,12 @@ border-radius: 5px; } } + + br { + content: " "; + display: block; + margin-bottom: 5px; + } } .td-title { @@ -142,6 +199,11 @@ } @keyframes fadeIn { - 0% { opacity: 0; } - 100% { opacity: 1; } + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } } \ No newline at end of file diff --git a/assets/scss/_sidebar-tree.scss b/assets/scss/_sidebar-tree.scss index b82a981d4..62088a674 100644 --- a/assets/scss/_sidebar-tree.scss +++ b/assets/scss/_sidebar-tree.scss @@ -114,9 +114,9 @@ @include media-breakpoint-up(md) { @supports (position: sticky) { position: sticky; - top: 4rem; + top: 5.5rem; z-index: 10; - height: calc(100vh - 6rem); + height: calc(100vh - 5.5rem); } } diff --git a/assets/scss/_variables_project.scss b/assets/scss/_variables_project.scss index 32108bc97..9c5947255 100644 --- a/assets/scss/_variables_project.scss +++ b/assets/scss/_variables_project.scss @@ -33,8 +33,13 @@ body { text-align: left; background-color: $white; + h1:first-of-type { + font-weight: 700 !important; + } + h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: $ctx-blue; + font-weight: 600 !important; } .slogan { @@ -155,31 +160,28 @@ body { h2 { font-size: $h2-font-size !important; - font-weight: 600 !important; - margin: 2rem 0rem 0.5rem 0rem !important; max-width: 100% !important; } h3 { font-size: $h3-font-size !important; - font-weight: 600 !important; - margin: 1rem 0rem 0rem 0rem !important; - padding-bottom: 0.5rem; + opacity: .95; } h4 { font-size: $h4-font-size !important; - font-weight: 400 !important; - margin: 1rem 0rem 0.5rem 0rem !important; + opacity: .90; } h5 { font-size: $h5-font-size !important; + opacity: .85; } h6 { font-size: $h6-font-size !important; + opacity: .80; } p.namespace { diff --git a/assets/scss/main.scss b/assets/scss/main.scss index 3faf20607..7103f8837 100644 --- a/assets/scss/main.scss +++ b/assets/scss/main.scss @@ -33,24 +33,25 @@ // Adjust anchors vs the fixed menu. @include media-breakpoint-up(md) { - .td-offset-anchor:target { - display: block; - position: relative; - top: -4rem; - visibility: hidden; - } - h1[id]:before, - h2[id]:before, - h3[id]:before, - h4[id]:before, - h5[id]:before { + h1[id]:target, + h2[id]:target, + h3[id]:target, + h4[id]:target, + h5[id]:target { content: " "; - margin-top: -6rem; - height: 6rem; - visibility: hidden; + margin-top: -90px; + padding-top: 90px; } } + +.td-cover-block { + background-attachment: fixed; + background-position: center; + background-repeat: no-repeat; + background-size: cover; +} + @import "rtl/main"; @import "styles_project"; \ No newline at end of file diff --git a/config/_default/config.toml b/config/_default/config.toml index e159354af..75dddfc00 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -207,7 +207,7 @@ enable = true [[params.versions]] version = "2024.9" url = "/docs/2024.9/" - dotNetVersion = "net-6.0" + dotNetVersion = "net-8.0" latest = true [[params.versions]] diff --git a/content/en/blog/releases/2024.X/2024.7.md b/content/en/blog/releases/2024.X/2024.7.md index be77755dc..08ee71d65 100644 --- a/content/en/blog/releases/2024.X/2024.7.md +++ b/content/en/blog/releases/2024.X/2024.7.md @@ -79,20 +79,20 @@ Finally, the [Product Portal][] includes updates related to: | [{{% ctx %}} Blocks Package][Blocks] | 46.0.4.24340 | Yes | Major | Yes | Flows will need to be [upgraded][upgrade flows steps]

Compatibility Version: 31.24250 | | [{{% ctx %}} Interaction Portal][Interaction Portal] | 2.0.0.24340 | Yes | Major | Yes | The Interaction Portal flows will need to be [upgraded][upgrade flows steps] | | {{% ctx %}} App Server Install Scripts | 5.1.1.24340 | Yes | Patch | No | | -| {{% ctx %}} Web App Server Install Scripts | 10.1.0.24340 | Yes | Major | No | Major changes occurred between internal development releases, however, these changes are not breaking between 2024.5 and 2024.7 | +| {{% ctx %}} Web App Server Install Scripts | 8.0.0.24330 | Yes | Major | No | Major changes occurred between internal development releases, however, these changes are not breaking between 2024.5 and 2024.7 | +| {{% ctx %}} Upgrade Scripts | 1.2.0.24210 | Yes | Minor | N/A | | | {{% ctx %}} Licence Fingerprint Generator | 3.1.1.24250 | No | N/A | N/A | | | {{% ctx %}} Encryption Key Generator | 1.2.0.23470 | No | N/A | N/A | | | {{% ctx %}} Encryptor | 3.1.0.24330 | Yes | Minor | N/A | | | {{% ctx %}} Flows Upgrader | 1.2.1.24330 | Yes | Minor | N/A | | - - ### Features #### Performance ##### Reduced the number of license check calls +Previously, the [{{% ctx %}} Execution Service][] would request to the [{{% ctx %}} Licence Management Service][] whether the license was valid before every flow execution. Now, the [{{% ctx %}} Execution Service][] will only query the license on startup, license added, license removed, and license updated events. Previously, the [{{% ctx %}} Execution Service][] would request to the [{{% ctx %}} Licence Management Service][] whether the license was valid before every flow execution. Now, the [{{% ctx %}} Execution Service][] will only query the license on startup, license added, license removed, and license updated events. Affected Components: diff --git a/content/en/blog/releases/2024.X/2024.9.md b/content/en/blog/releases/2024.X/2024.9.md new file mode 100644 index 000000000..87de9aae1 --- /dev/null +++ b/content/en/blog/releases/2024.X/2024.9.md @@ -0,0 +1,634 @@ +--- +title: "2024.9" +linkTitle: "2024.9" +date: 2024-10-07 +author: Paul Arnold ([@paulmarnold](https://twitter.com/paulmarnold)) +--- + +## Summary + +The 2024.9 [Release][] is now available. + +## Download Artefacts + +Installation artefacts can be requested by raising a case in the [{{% ctx %}} Service Portal][]. + +## Release Notes + +### Overview + +2024.9 is the second [Release][] of the next generation of {{% ctx %}} and improves on the [2024.7][] release in the following areas: + +* Capability +* Observability +* Scalability +* Security +* Usability +* Third-Party Support +* Installation +* Upgrade +* Documentation + +This release introduces multiple new features to the {{% ctx %}} platform: + +* The concept of [Process and Activity][], which are types of [Flow][], has now been introduced to {{% ctx %}} Gateway. +* [Saving Output Properties to multiple variables][] is now supported. +* A new built-in [execution context variable][] has been added to the Flow Engine which contains the initiator. +* A new [Proxy for the {{% ctx %}} 7 Flow API][] has been added to the platform. + +[Observability][] has been improved by [adding logging to blocks that communicate with external systems][Logging added to blocks that communicate with external systems]. +\ +Optimisation to [Scalability][] has also been made by [reducing the total number of NServiceBus endpoints and RabbitMQ queues][Reduction of total number of NServiceBus endpoints and RabbitMQ queues]. +\ +We increased the [Security][] of the platform by: + +* [Upgrading the OpenSSL version][Upgrade OpenSSL] shipped with the platform. +* Added [Multi-domain certificates support][]. +* A [CortexManagementUser for RabbitMQ is now created during upgrade][New CortexManagementUser added to manage RabbitMQ queues]. +* [Server-side validation added to {{% ctx %}} Gateway API][] to prevent [Path Traversal][] attacks. +* Removal of the [refresh token cookie on sign out][remove refresh token cookie on sign out]. + +The [Usability][] of the platform has been improved by: + +* Renaming the [Flows Charm to Dev and changing the icon][Rename Flows Charm to Dev and change icon]. +* Renaming the [Settings Charm to Admin and changing the icon][Rename Settings Charm to Admin and change icon]. + +[Third-party Support][] has been improved by [upgrading the platform to .NET 8][Upgrade to .NET 8]. +\ +[Installation][] when [files are blocked by the operating system][Support installation when files are blocked by the operating system] due to the `Zone.Identifier` is now supported. +\ +The [Upgrade][] process has been improved by: + +* [Supporting upgrade when files are blocked by the operating system][Support upgrade when files are blocked by the operating system]. +* Upgrading the [Execution Service when the engine version is unchanged][Execution Service is upgraded when the engine version is unchanged]. +* [Handling of the Execution Services lifecycle events][]. + +Finally, the [Documentation][] includes updates related to: + +* New concepts such as [Process and Activity][Process and Activity Documentation] as well as [Decomposition of Output properties][]. +* [Preventing deadlocks when using semaphores][Prevent deadlocks when using semaphores]. +* [Updating screenshots][screenshots updated] to reflect the new branding. +* [Flow compatibility version][Flow compatibility version introduced] being added to the release notes. +* [General improvements to the documentation][]. + +### Components + +| Release Component | Version | Updated | Update Type | Breaking Change | Notes | +|--------------------------------------------------------------------------------|---------------|---------|---------------|-----------------|--------| +| [{{% ctx %}} Innovation Core Application][] | 53.0.0.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} API Gateway Service][] | 38.3.0.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Authorisation Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Concurrency Management Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Configuration Management Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Data Storage Service][] | 9.0.13.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Execution Management Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Licence Management Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Listeners Service][] | 2.0.0.24430 | Yes | First Release | N/A | | +|     > [{{% ctx %}} Package Management Service][] | 11.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Provisioning Service][] | 13.1.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Scheduling Service][] | 7.0.8.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Triggers Service][] | 11.0.0.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +| [{{% ctx %}} Innovation Execution Application][] | 24.1.1.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +|     > [{{% ctx %}} Execution Service][] | 24.1.1.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own | +| [{{% ctx %}} Gateway][Gateway], including [{{% ctx %}} Studio][] | 12.3.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the server-side validation of the APIs are [breaking][Breaking - Server-side validation added to {{% ctx %}} Gateway API] between 2024.7 and 2024.9 | +| [{{% ctx %}} Blocks Package][Blocks] | 48.2.0.24420 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the upgrade to .NET 8 and are [breaking][Breaking - Upgrade to .NET 8] between 2024.7 and 2024.9 | +| [{{% ctx %}} Interaction Portal][Interaction Portal] | 2.0.0.24340 | No | N/A | N/A | | +| {{% ctx %}} App Server Install Scripts | 5.2.3.24430 | Yes | Minor | N/A | | +| {{% ctx %}} Web App Server Install Scripts | 8.1.1.24420 | Yes | Patch | N/A | | +| {{% ctx %}} Upgrade Scripts | 1.2.8.24430 | Yes | Patch | N/A | | +| {{% ctx %}} Licence Fingerprint Generator | 4.1.0.24360 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the upgrade to .NET 8 and are [breaking][Breaking - Upgrade to .NET 8] between 2024.7 and 2024.9 | +| {{% ctx %}} Encryption Key Generator | 2.0.0.24350 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the upgrade to .NET 8 and are [breaking][Breaking - Upgrade to .NET 8] between 2024.7 and 2024.9 | +| {{% ctx %}} Encryptor | 3.1.0.24330 | No | N/A | N/A | | +| {{% ctx %}} Flows Upgrader | 2.0.0.24350 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the upgrade to .NET 8 and are [breaking][Breaking - Upgrade to .NET 8] between 2024.7 and 2024.9 | + +### Features + +#### Capability + +##### Process and Activity + +The [concept of Process and Activity][Process and Activity] has been introduced to the {{% ctx %}} Gateway. This allows for the creation of [Process][] and [Activity][] flows. +[Processes][Process] are a type of [Flow][] that can contain multiple [Activities][Activity] and are used to model high-level business processes. +[Activities][Activity] are a type of [Flow][] that can be used to model tasks or actions. + +Affected Components: + +* [{{% ctx %}} Gateway][Gateway] +* [{{% ctx %}} Innovation Execution Application][] + * [{{% ctx %}} Execution Service][] +* [{{% ctx %}} Block Packages][Blocks] + +##### Saving Output Properties to multiple variables + +It is now possible to use the [Expression editor][] for output properties. +This supports a new [decomposition syntax][] allowing saving selected values from an output property to multiple variables. + +Affected Components: + +* [{{% ctx %}} Gateway][Gateway] +* [{{% ctx %}} Innovation Execution Application][] + * [{{% ctx %}} Execution Service][] + +##### Execution context variable + +A new [built-in _executionContext variable][] is now exposed in [processes][process] and [activities][activity]. +The `_executionContext` variable contains the initiator of the flow execution, as well as an `Extensions` property that can be used to store additional information. + +Affected Components: + +* [{{% ctx %}} Gateway][Gateway] +* [{{% ctx %}} Innovation Execution Application][] + * [{{% ctx %}} Execution Service][] + +##### Proxy for the {{% ctx %}} 7 Flow API + +A new proxy for the {{% ctx %}} 7 Flow [API][] has been added to simplify migrating to the platform. This allows for the execution of flows using the same [API][] as the one used in {{% ctx %}} 7. + +The [API][] includes the following endpoints: + +* Encrypt +* Run Flow +* Run Flow Asynchronously + +By default, the `Run Flow` and `Run Flow Asynchronously` endpoints will run the specified flow within the default package and version. +To run the flow in a different package and version, the following [APIs][API] have been added to configure mappings between FlowNames and specific package versions: + +* Get all mappings +* Add single mapping +* Remove single mapping +* Remove all mappings + +Affected Components: + +* [{{% ctx %}} Innovation Core Application][] + * [{{% ctx %}} API Gateway Service][] + * [{{% ctx %}} Listeners Service][] + * [{{% ctx %}} Triggers Service][] + +#### Observability + +##### Logging added to blocks that communicate with external systems + +Block logging has been added to blocks that communicate with external systems. +The following blocks and properties are logged: + +* [Execute Data Command][] + * [Command][DataCommand] +* [Execute HTTP Request][] + * [HTTPRequest][] + * [HTTPResponse][] +* [Execute SOAP Request][] + * [SOAPRequest][] + * [SOAPResponse][] +* [Execute Powershell Script][] + * [Script][] + * [Parameters][] + * [Outputs][] + * [Records][] +* [Execute SSH Command][] + * [Command][] + * [Response][] + * [SSH Logs][] + +Affected Components: + +* [{{% ctx %}} Innovation Execution Application][] + * [{{% ctx %}} Execution Service][] +* [{{% ctx %}} Block Packages][Blocks] + +#### Scalability + +##### Reduction of total number of NServiceBus endpoints and RabbitMQ queues + +An exercise has been undertaken to reduce the total number of NServiceBus endpoints and RabbitMQ queues in the platform. +This has been achieved by consolidating the endpoints and queues where possible. + +Affected Components: + +* [{{% ctx %}} Innovation Core Application][] + * [{{% ctx %}} API Gateway Service][] + * [{{% ctx %}} Authorisation Service][] + * [{{% ctx %}} Concurrency Management Service][] + * [{{% ctx %}} Configuration Management Service][] + * [{{% ctx %}} Data Storage Service][] + * [{{% ctx %}} Execution Management Service][] + * [{{% ctx %}} Licence Management Service][] + * [{{% ctx %}} Package Management Service][] + * [{{% ctx %}} Provisioning Service][] + * [{{% ctx %}} Scheduling Service][] + * [{{% ctx %}} Triggers Service][] +* [{{% ctx %}} Innovation Execution Application][] + * [{{% ctx %}} Execution Service][] + +#### Security + +##### Upgrade OpenSSL + +The OpenSSL version shipped with the platform has been upgraded to the latest version. + +Affected Components: + +* {{% ctx %}} App Server Install Scripts +* {{% ctx %}} Web App Server Install Scripts + +##### Multi-domain certificates support + +Support for Multi Domain Certificates in HA deployment is now supported. + +Affected Components: + +* {{% ctx %}} App Server Install Scripts +* {{% ctx %}} Web App Server Install Scripts + +##### New CortexManagementUser added to manage RabbitMQ queues + +A new management user for RabbitMQ queues is now created when providing `RabbitMqManagementUser` and `RabbitMqManagementPassword` during installation or upgrade. + +Affected Components: + +* {{% ctx %}} App Server Install Scripts + +##### Server-side validation added to {{% ctx %}} Gateway API + +The {{% ctx %}} Gateway [API][] now includes server-side validation to prevent [Path Traversal][] attacks when creating new flows and groups. + +Affected Components: + +* [{{% ctx %}} Gateway][Gateway] + +##### Remove refresh token cookie on sign out + +The refresh token cookie is now removed when a user signs out of {{% ctx %}} Gateway, preventing any further use of the token after the user has logged out. + +Affected Components: + +* [{{% ctx %}} Gateway][Gateway] + +#### Usability + +##### Rename Flows Charm to Dev and change icon + +The Flows Charm has been renamed to Dev and the icon has been changed to reflect this. + +Affected Components: + +* [{{% ctx %}} Gateway][Gateway] + +##### Rename Settings Charm to Admin and change icon + +The Settings Charm has been renamed to Admin and the icon has been changed to reflect this. + +Affected Components: + +* [{{% ctx %}} Gateway][Gateway] + +#### Third-party Support + +##### Upgrade to .NET 8 + +The platform has been upgraded to [.NET 8][], allowing us to go to the latest version of [Service Fabric][]. +This was required as .NET 6 will be out of support in November. + +{{% alert title="Note" %}} +Upgrade excludes {{% ctx %}} Gateway as currently on .NET Framework 4.7.2 which is not compatible with .NET 8, and still under long term support. +{{% /alert %}} + +Affected Components: + +* [{{% ctx %}} Innovation Core Application][] + * [{{% ctx %}} API Gateway Service][] + * [{{% ctx %}} Authorisation Service][] + * [{{% ctx %}} Concurrency Management Service][] + * [{{% ctx %}} Configuration Management Service][] + * [{{% ctx %}} Data Storage Service][] + * [{{% ctx %}} Execution Management Service][] + * [{{% ctx %}} Licence Management Service][] + * [{{% ctx %}} Package Management Service][] + * [{{% ctx %}} Provisioning Service][] + * [{{% ctx %}} Scheduling Service][] + * [{{% ctx %}} Triggers Service][] +* [{{% ctx %}} Innovation Execution Application][] + * [{{% ctx %}} Execution Service][] +* [{{% ctx %}} Block Packages][Blocks] +* {{% ctx %}} App Server Install Scripts +* {{% ctx %}} Web App Server Install Scripts +* {{% ctx %}} Upgrade Scripts +* {{% ctx %}} Licence Fingerprint Generator +* {{% ctx %}} Encryption Key Generator +* {{% ctx %}} Flows Upgrader + +##### Upgrade to the latest version of Service Fabric + +The latest version of Service Fabric has been included in the artefacts. +During upgrade, the Service Fabric cluster version will be upgrade to the packaged version in the artefacts. + +Affected Components: + +* {{% ctx %}} Upgrade Scripts + +#### Installation + +##### Support installation when files are blocked by the operating system + +The installation scripts have been amended to unblock files before running if the operating system has files being blocked by `Zone.Identifier`. + +{{% alert title="Note" %}} +`Zone.Identifier` is a file property that indicates a file was downloaded from the internet and is potentially unsafe. Windows uses this property as a protection feature. +{{% /alert %}} + +Affected Components: + +* {{% ctx %}} App Server Install Scripts +* {{% ctx %}} Web App Server Install Scripts + +#### Upgrade + +##### Support upgrade when files are blocked by the operating system + +The upgrade scripts have been amended to unblock files before running if the operating system has files being blocked by `Zone.Identifier`. + +{{% alert title="Note" %}} +`Zone.Identifier` is a file property that indicates a file was downloaded from the internet and is potentially unsafe. Windows uses this property as a protection feature. +{{% /alert %}} + +Affected Components: + +* {{% ctx %}} Upgrade Scripts + +##### Execution Service is upgraded when the engine version is unchanged + +The Execution Service will now be upgraded when the engine version is unchanged. This is to ensure the upgrade works, including edge cases such as patches. + +Affected Components: + +* {{% ctx %}} Upgrade Scripts + +##### Handling of the Execution Services lifecycle events + +The Execution Services handle Service Fabric lifecycle events allowing flows to end gracefully within a defined period. +This includes a `Graceful Period timeout` and a `Cancel Period Timeout`, both which default to 5 minutes, and are configurable. + +Currently, there is no documentation available on how to do this. For further assistance, please raise a case in the [{{% ctx %}} Service Portal][]. + +Affected Components: + +* [{{% ctx %}} Innovation Core Application][] + * [{{% ctx %}} API Gateway Service][] + * [{{% ctx %}} Configuration Management Service][] +* [{{% ctx %}} Innovation Execution Application][] + * [{{% ctx %}} Execution Service][] +* [{{% ctx %}} Block Packages][Blocks] + +#### Documentation + +##### Process and Activity + +The [What is a Flow][] documentation has been updated to include information on the new concepts of [Processes][Process] and [Activities][Activity]. + +##### Decomposition of Output properties + +The [What is a Block Property][] documentation has been updated to include information on the new [Decomposition of Output properties][decomposition syntax] feature. + +##### Prevent deadlocks when using semaphores + +A new section has been added to the documentation explaining how to [prevent deadlocks][] when using semaphores. + +##### Screenshots updated + +Screenshots within the documentation has been updated to reflect the new branding, including [Blocks][] icons and various [{{% ctx %}} Gateway][] screenshots. + +##### Flow compatibility version introduced + +The [Flow compatibility version][] has been added to the release notes. + +##### General improvements to the documentation + +Various improvements have been made to the documentation to improve the overall quality and readability. + +### Bug Fixes + +#### Capability + +##### {{% ctx %}} Gateway encryptor not aligned with Service Fabric + +The Encryptor has been aligned between the {{% ctx %}} Gateway and Service Fabric. +This ensures that encrypted values created with the default key can still be decrypted if a custom private key has been set. + +Affected Components: + +* [{{% ctx %}} Gateway][Gateway] + +#### Upgrade + +##### Certificate update does not work after upgrade + +A bug has been fixed which prevented the update of certificates after an upgrade. + +Affected Components: + +* {{% ctx %}} Upgrade Scripts + +#### Documentation + +##### Missing Platform property in Log Event documentation + +The Platform property the the Log Event documentation was missing. This has been added to the documentation. + +### Breaking Changes + +The following features have introduced breaking changes in the 2024.9 release of the {{% ctx %}} Platform: + +#### Upgrade to .NET 8 + +The platform has been upgraded to [.NET 8][]. + +#### Reduction of total number of NServiceBus endpoints and RabbitMQ queues + +The following feature has changed internal endpoints and queues in the platform, which may cause issues if upgrading from 2024.7 to 2024.9 without upgrading all components at the same time. +The platform will need to be upgraded using the [Upgrade Instructions][]. + +#### Server-side validation added to {{% ctx %}} Gateway API + +The following feature has added validation to the [{{% ctx %}} Gateway][] API to prevent [Path Traversal][] attacks, which now returns an error if the path is invalid. + +### Known Limitations + +There are no known limitations added as part of the 2024.9 release of the {{% ctx %}} Platform. + +## Version Support + +### Operating Systems + +| OS Type | Supported Versions | +|---------|---------------------------------------------------| +| Windows | | +| Linux | Linux is not currently supported | + +### 7.X Compatibility + +| 7.X Version | Is compatible? | Notes | +|-------------|----------------|----------------------------------------------| +| 7.2 | Yes | | +| 7.1 | No | Need to upgrade 7.1 to 7.2 for compatibility | +| 7.0 | No | Need to upgrade 7.0 to 7.2 for compatibility | + +### Flow Compatibility + +| Release | Compatibility Version | +|---------|-----------------------| +| 2024.9 | 31.24311 | +| 2024.7 | 31.24311 | +| 2024.5 | 31.24311 | +| 2024.3 | 30 | + +## Install Instructions + +If you are installing a new 2024.9 platform or adding it to an existing 7.2 Installation see the guidance below; otherwise, if you are upgrading from an existing 2024.7 platform refer to the [Upgrade Instructions][]. + +Installing {{% ctx %}} Only: + +* [Multiple Server - With HA][Innovation Only - Multiple Server - With HA] +* [Single Server - Without HA][Innovation Only - Single Server - Without HA] + +Adding {{% ctx %}} to a 7.2 Installation: + +* [Multiple Server - With HA][Adding Innovation to a 7.2 Installation - Multiple Server - With HA] +* [Single Server - Without HA][Adding Innovation to a 7.2 Installation - Single Server - Without HA] + +## Upgrade Instructions + +If you are upgrading from an existing 2024.7 platform see the guidance below: + +Upgrading {{% ctx %}}: + +* [Multiple Server - With HA][Upgrade - Multiple Server - With HA] +* [Single Server - Without HA][Upgrade - Single Server - Without HA] + +## Upcoming Releases + +Releases are currently forecast to be made available on: + +| Release | Release Type | Forecast Release Date | +|---------|----------------|------------------------------------| +| 2024.9 | [Release][] | Week commencing 7th October 2024 | +| 2024.11 | [Fast Track][] | Week commencing 2nd December 2024 | +| 2025.1 | [Fast Track][] | Week commencing 10th February 2024 | + +[{{% ctx %}} Innovation Core Application]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.MainDoc" version="2024.9" >}} +[{{% ctx %}} API Gateway Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ApiGatewayService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Authorisation Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.AuthorisationService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Concurrency Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ConcurrencyManagementService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Configuration Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ConfigurationManagementService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Data Storage Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.DataStorageService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Execution Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ExecutionManagementService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Licence Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.LicenceManagementService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Listeners Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ListenersService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Package Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.PackageManagementService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Provisioning Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ProvisioningService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Scheduling Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.SchedulingService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Triggers Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.TriggersService.MainDoc" version="2024.9" >}} +[{{% ctx %}} Innovation Execution Application]: {{< url path="Cortex.Guides.CortexInnovation.ExecutionApplication.MainDoc" version="2024.9" >}} +[{{% ctx %}} Execution Service]: {{< url path="Cortex.Guides.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" version="2024.9" >}} +[Interaction Portal]: {{< url path="Cortex.Guides.CortexInteractionPortal.MainDoc" version="2024.9" >}} + +[Process and Activity]: {{< ref "#process-and-activity" >}} +[Saving Output Properties to multiple variables]: {{< ref "#saving-output-properties-to-multiple-variables" >}} +[execution context variable]: {{< ref "#execution-context-variable" >}} +[Proxy for the {{% ctx %}} 7 Flow API]: {{< ref "#proxy-for-the-cortex-7-flow-api" >}} +[Observability]: {{< ref "#observability" >}} +[Logging added to blocks that communicate with external systems]: {{< ref "#logging-added-to-blocks-that-communicate-with-external-systems" >}} +[Scalability]: {{< ref "#scalability" >}} +[Reduction of total number of NServiceBus endpoints and RabbitMQ queues]: {{< ref "#reduction-of-total-number-of-nservicebus-endpoints-and-rabbitmq-queues" >}} +[Security]: {{< ref "#security" >}} +[Upgrade OpenSSL]: {{< ref "#upgrade-openssl" >}} +[Multi-domain certificates support]: {{< ref "#multi-domain-certificates-support" >}} +[New CortexManagementUser added to manage RabbitMQ queues]: {{< ref "#new-cortexmanagementuser-added-to-manage-rabbitmq-queues" >}} +[Server-side validation added to {{% ctx %}} Gateway API]: {{< ref "#server-side-validation-added-to-cortex-gateway-api" >}} +[Remove refresh token cookie on sign out]: {{< ref "#remove-refresh-token-cookie-on-sign-out" >}} +[Usability]: {{< ref "#usability" >}} +[Rename Flows Charm to Dev and change icon]: {{< ref "#rename-flows-charm-to-dev-and-change-icon" >}} +[Rename Settings Charm to Admin and change icon]: {{< ref "#rename-settings-charm-to-admin-and-change-icon" >}} +[Third-party Support]: {{< ref "#third-party-support" >}} +[Upgrade to .NET 8]: {{< ref "#upgrade-to-net-8" >}} +[Installation]: {{< ref "#installation" >}} +[Support installation when files are blocked by the operating system]: {{< ref "#support-installation-when-files-are-blocked-by-the-operating-system" >}} +[Upgrade]: {{< ref "#upgrade" >}} +[Support upgrade when files are blocked by the operating system]: {{< ref "#support-upgrade-when-files-are-blocked-by-the-operating-system" >}} +[Execution Service is upgraded when the engine version is unchanged]: {{< ref "#execution-service-is-upgraded-when-the-engine-version-is-unchanged" >}} +[Handling of the Execution Services lifecycle events]: {{< ref "#handling-of-the-execution-services-lifecycle-events" >}} +[Documentation]: {{< ref "#documentation" >}} +[Process and Activity Documentation]: {{< ref "#process-and-activity-1" >}} +[Decomposition of Output properties]: {{< ref "#decomposition-of-output-properties" >}} +[Prevent deadlocks when using semaphores]: {{< ref "#prevent-deadlocks-when-using-semaphores" >}} +[Screenshots updated]: {{< ref "#screenshots-updated" >}} +[Flow compatibility version introduced]: {{< ref "#flow-compatibility-version-introduced" >}} +[General improvements to the documentation]: {{< ref "#general-improvements-to-the-documentation" >}} + +[Flow compatibility version]: {{< ref "#flow-compatibility" >}} + +[Upgrade Instructions]: {{< ref "#upgrade-instructions" >}} + +[{{% ctx %}} Gateway]: {{< url path="Cortex.Guides.Gateway.MainDoc" version="2024.9" >}} +[Blocks]: {{< url path="Cortex.Reference.Blocks.MainDoc" version="2024.9" >}} +[What is a Flow]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.MainDoc" version="2024.9" >}} +[Process]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.Process" version="2024.9" >}} +[Activity]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.Activity" version="2024.9" >}} +[What is a Block Property]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.WhatIsABlockProperty.MainDoc" version="2024.9" >}} + +[prevent deadlocks]: {{< url path="Cortex.Reference.Concepts.WorkingWith.Concurrency.Semaphores.WhatIsASemaphore.PreventingDeadlocks" version="2024.9" >}} + +[Execute Data Command]: {{< url path="Cortex.Reference.Blocks.Data.ExecuteDataCommand.ExecuteDataCommand.MainDoc" version="2024.9" >}} +[DataCommand]: {{< url path="Cortex.Reference.Blocks.Data.ExecuteDataCommand.ExecuteDataCommand.CommandProperty" version="2024.9" >}} + +[Execute HTTP Request]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteHttpRequest.ExecuteHttpRequest.MainDoc" version="2024.9" >}} +[HttpRequest]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteHttpRequest.ExecuteHttpRequest.HttpRequestProperty" version="2024.9" >}} +[HttpResponse]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteHttpRequest.ExecuteHttpRequest.HttpResponseProperty" version="2024.9" >}} + +[Execute Soap Request]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteSoapRequest.ExecuteSoapRequest.MainDoc" version="2024.9" >}} +[SoapRequest]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteSoapRequest.ExecuteSoapRequest.SoapRequestProperty" version="2024.9" >}} +[SoapResponse]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteSoapRequest.ExecuteSoapRequest.SoapResponseProperty" version="2024.9" >}} + +[Execute Powershell Script]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.MainDoc" version="2024.9" >}} +[Script]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.ScriptProperty" version="2024.9" >}} +[Parameters]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.ParametersProperty" version="2024.9" >}} +[Outputs]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.OutputsProperty" version="2024.9" >}} +[Records]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.RecordsProperty" version="2024.9" >}} + +[Execute SSH Command]: {{< url path="Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock.MainDoc" version="2024.9" >}} +[Command]: {{< url path="Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock.CommandProperty" version="2024.9" >}} +[Response]: {{< url path="Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock.Response" version="2024.9" >}} +[SSH Logs]: {{< url path="Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock.SshLogsProperty" version="2024.9" >}} + +[Gateway]: {{< url path="Cortex.Guides.Gateway.MainDoc" version="2024.9" >}} +[Expression Editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.MainDoc" version="2024.9" >}} +[decomposition syntax]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.WhatIsABlockProperty.DecomposingOutputProperties" version="2024.9" >}} + +[.NET 8]: {{< url path="Cortex.Reference.Glossary.A-E.DotNet" >}} +[API]: {{< url path="Cortex.Reference.Glossary.A-E.API" >}} +[Service Fabric]: {{< url path="Cortex.Reference.Glossary.P-T.ServiceFabric" >}} +[built-in _executionContext variable]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.WhatIsAnExecution.ExecutionContext" version="2024.9" >}} + +[Innovation Only - Single Server - Without HA]: {{< url path="Cortex.GettingStarted.OnPremise.InstallInnovationOnly.SingleServerWithoutHA.MainDoc" version="2024.9" >}} +[Innovation Only - Multiple Server - With HA]: {{< url path="Cortex.GettingStarted.OnPremise.InstallInnovationOnly.MultipleServerWithHA.MainDoc" version="2024.9" >}} + +[Adding Innovation to a 7.2 Installation - Single Server - Without HA]: {{< url path="Cortex.GettingStarted.OnPremise.AddInnovationTo72.SingleServerWithoutHA.MainDoc" version="2024.9" >}} +[Adding Innovation to a 7.2 Installation - Multiple Server - With HA]: {{< url path="Cortex.GettingStarted.OnPremise.AddInnovationTo72.MultipleServerWithHA.MainDoc" version="2024.9" >}} + +[Upgrade - Single Server - Without HA]: {{< url path="Cortex.Guides.UpgradeCortex.2024.7to2024.9.SingleServerWithoutHA.MainDoc" version="2024.9" >}} +[Upgrade - Multiple Server - With HA]: {{< url path="Cortex.Guides.UpgradeCortex.2024.7to2024.9.MultipleServerWithHA.MainDoc" version="2024.9" >}} +[Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues]: {{< ref "#reduction-of-total-number-of-nservicebus-endpoints-and-rabbitmq-queues-1" >}} +[Breaking - Upgrade to .NET 8]: {{< ref "#upgrade-to-net-8-1" >}} +[Breaking - Server-side validation added to {{% ctx %}} Gateway API]: {{< ref "#server-side-validation-added-to-cortex-gateway-api-1" >}} + +[{{% ctx %}} Studio]: {{< url path="Cortex.Guides.Studio.MainDoc" version="2024.9" >}} + +[{{% ctx %}} Service Portal]: {{< url path="Cortex.ServicePortal.MainDoc" version="2024.9" >}} + +[Flow]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.MainDoc" version="2024.9" >}} + +[Fast Track]: {{< url path="Cortex.Reference.Glossary.F-J.FastTrack" version="2024.9" >}} +[Release]: {{< url path="Cortex.Reference.Glossary.P-T.Release" version="2024.9" >}} + +[2024.7]: {{< url path="Cortex.Blogs.Releases.2024.7.MainDoc" version="2024.9" >}} + +[Path Traversal]: {{< url path="Owasp.PathTraversal.MainDoc" version="2024.9" >}} diff --git a/content/en/docs/2024.9/Guides/cortex-innovation/core-application/services/listeners-service/_index.md b/content/en/docs/2024.9/Guides/cortex-innovation/core-application/services/listeners-service/_index.md new file mode 100644 index 000000000..3cc2cd206 --- /dev/null +++ b/content/en/docs/2024.9/Guides/cortex-innovation/core-application/services/listeners-service/_index.md @@ -0,0 +1,7 @@ +--- +title: "Listeners Service" +linkTitle: "Listeners Service" +description: "The Listeners Service." +--- + +{{< workinprogress >}} \ No newline at end of file diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/property-editors/expression-editor.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/property-editors/expression-editor.md index 102f1fb9f..a1add4898 100644 --- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/property-editors/expression-editor.md +++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/property-editors/expression-editor.md @@ -264,6 +264,7 @@ Types of expressions: - [Enums][Enum expressions] - [Casting][Casting expressions] - [Indexes][Index expressions] +- [Decomposition][Decomposition expressions] ([output property][Output Properties] only) ### Arithmetic expressions @@ -556,6 +557,179 @@ In the examples below assume: | `($)Structure["SecondKey"][0]` | `1` | The first item within the item with key `"SecondKey"` is returned | | `($)String[0]` | `'S'` | The first character in the string is returned | +### Decomposition expressions + +{{< figure src="/images/set-variable/set-variable-expression-decomposition.PNG" >}} + +Decomposition expressions are used to save selected values from an [Output property][Output properties] to multiple [variables][Variables Concept]. + +{{% alert title="Note" %}} +This is currently only supported by output properties. +{{% /alert %}} + +Decomposition syntax follows a similar pattern to a `JSON` object: + +- each `key` is the property path expression, where `$` is the root of the output value. +- each `value` is the variable name, prefixed with `($)`. + +```json +{ + "$.property.firstPath": ($)FirstVariable, + "$.property.secondPath": ($)SecondVariable +} +``` + +The examples below assumes that the output value contains the following data: + +``` json +{ + "company": { + "name": "Company Name", + "departments": [ + { + "name": "HR", + "employees": [ + { + "name": "Joe Blogs", + "id": "101" + }, + { + "name": "Jane Doe", + "id": "102" + } + ] + }, + { + "name": "Admin", + "employees": [ + { + "name": "Jane Blogs", + "id": "103" + }, + { + "name": "Joe Doe", + "id": "104" + } + ] + } + ] + } +} +``` + +#### Decomposing an object property + +To save the `departments` property, the syntax would be: + +```json +{ + "$.company.departments": ($)ListOfDepartments +} +``` + +In this example, the variable `($)ListOfDepartments` will be set to the following value: + +```json +[ + { + "name": "HR", + "employees": [ + { + "name": "Joe Blogs", + "id": "101" + }, + { + "name": "Jane Doe", + "id": "102" + } + ] + }, + { + "name": "Admin", + "employees": [ + { + "name": "Jane Blogs", + "id": "103" + }, + { + "name": "Joe Doe", + "id": "104" + } + ] + } +] +``` + +#### Decomposing an item in a list + +To save the first department, the syntax would be: + +```json +{ + "$.company.departments[0]": ($)FirstDepartment +} +``` + +In this example, the variable `($)FirstDepartment` will be set to the following value: + +```json +{ + "name": "HR", + "employees": [ + { + "name": "Joe Blogs", + "id": "101" + }, + { + "name": "Jane Doe", + "id": "102" + } + ] +} +``` + +#### Decomposing the last item in a list + +To save the last `employee` of the first department, the syntax would be: + +```json +{ + "$.company.departments[0].employees[-1]": ($)LastEmployeeOfFirstDepartment +} +``` + +In this example, the variable `($)LastEmployeeOfFirstDepartment` will be set to the following value: + +```json +{ + "name": "Jane Doe", + "id": "102" +} +``` + +#### Decomposing multiple properties at the same time + +To save the `id` and `name` of the first `employee` of the first department, the syntax would be: + +```json +{ + "$.company.departments[0].employees[0].id": ($)FirstEmployeeId, + "$.company.departments[0].employees[0].name": ($)FirstEmployeeName +} +``` + +In this example, the variable `($)FirstEmployeeId` will be set to the following value: + +```json +"101" +``` + +And the variable `($)FirstEmployeeName` will be set to the following value: + +```json +"Joe Blogs" +``` + ## Remarks ### Known Limitations @@ -643,8 +817,6 @@ This may change in future to allow developers to specifically select which of th [Dictionary literal]: {{< ref "#dictionary-literal" >}} [Structure literal]: {{< ref "#structure-literal" >}} [List literal]: {{< ref "#list-literal" >}} -[Conc]: {{< ref "#list-literal" >}} -[List literal]: {{< ref "#list-literal" >}} [Concatenated Strings]: {{< ref "#concatenated-strings" >}} [Interpolated Strings]: {{< ref "#interpolated-strings" >}} [Verbatim Strings]: {{< ref "#verbatim-strings" >}} @@ -662,6 +834,7 @@ This may change in future to allow developers to specifically select which of th [Enum expressions]: {{< ref "#enum-expressions" >}} [Casting expressions]: {{< ref "#casting-expressions" >}} [Index expressions]: {{< ref "#index-expressions" >}} +[Decomposition expressions]: {{< ref "#decomposition-expressions" >}} [Data Type]: {{< url path="Cortex.Reference.Concepts.Fundamentals.DataTypes.MainDoc" >}} @@ -687,19 +860,16 @@ This may change in future to allow developers to specifically select which of th [Double]: {{< url path="Cortex.Reference.DataTypes.Numbers.Double.MainDoc" >}} [List]: {{< url path="Cortex.Reference.DataTypes.Collections.List.MainDoc" >}} [Create a List]: {{< url path="Cortex.Reference.DataTypes.Collections.List.CreateNew" >}} -[Object]: {{< url path="Cortex.Reference.DataTypes.All.Object.MainDoc" >}} [Single]: {{< url path="Cortex.Reference.DataTypes.Numbers.Single.MainDoc" >}} [Single.MaxValue]: {{< url path="MSDocs.DotNet.Api.System.Single.MaxValue" >}} [Single.MinValue]: {{< url path="MSDocs.DotNet.Api.System.Single.MinValue" >}} [String]: {{< url path="Cortex.Reference.DataTypes.Text.String.MainDoc" >}} -[Char]: {{< url path="Cortex.Reference.DataTypes.Text.Char.MainDoc" >}} [Collection]: {{< url path="Cortex.Reference.DataTypes.Collections.MainDoc" >}} [Structure]: {{< url path="Cortex.Reference.DataTypes.Collections.Structure.MainDoc" >}} [Create a Structure]: {{< url path="Cortex.Reference.DataTypes.Collections.Structure.CreateNew" >}} [Workspaces]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Workspaces.MainDoc" >}} [workspace]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Workspaces.WhatIsAWorkspace.MainDoc" >}} -[Workspace Scope]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Variables.VariableScopes.MainDoc" >}} [Variables Concept]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Variables.MainDoc" >}} [Variables: What Is a Variable]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Variables.WhatIsAVariable.MainDoc" >}} @@ -712,7 +882,6 @@ This may change in future to allow developers to specifically select which of th [implicitly cast]: {{< url path="Cortex.Reference.Concepts.WorkingWith.Objects.ObjectCasting.ImplicitCast" >}} [Blocks]: {{< url path="Cortex.Reference.Blocks.MainDoc" >}} -[Set Variable]: {{< url path="Cortex.Reference.Blocks.Variables.SetVariable.SetVariable.MainDoc" >}} [Expression Editor]: {{< url path="Cortex.Guides.Studio.ExpressionEditor.MainDoc" >}} diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/what-is-a-block-property.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/what-is-a-block-property.md index db71f8032..0fec4c150 100644 --- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/what-is-a-block-property.md +++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/what-is-a-block-property.md @@ -33,11 +33,9 @@ Input properties can be configured using the following editors: {{< figure src="/images/editable/editor-types.png" >}} -The icons used for Input properties are dark blue to distinguish them from [Output Properties][] or [InputOutput Properties][]. - ### Output Properties -Output properties are used to save values from a [block][]. These properties will saved to a variable during the block's execution. +Output properties are used to save values from a [block][]. These properties can be saved to a variable or [decomposed][Decomposing Output Properties] to be saved into multiple variables during the block's execution. Values from Output properties can be [discarded][Discarding Outputs], this means they will not be saved to any variable. @@ -49,7 +47,15 @@ Output properties can be configured using the following editors: {{< figure src="/images/editable/variable-editor.png" >}} -The icon used for Output properties are light blue to distinguish them from [Input Properties][]. +- [Expression Editor][] using [decomposition][Decomposing Output Properties] + +{{< figure src="/images/editable/expression-editor.png" >}} + +#### Decomposing Output Properties + +Output values can be [decomposed][Decomposition expressions] to allow the saving of different parts of the value to different variables. + +To [decompose][Decomposition expressions] an output value, the output property will need to be set to an expression. #### Discarding Outputs @@ -116,6 +122,7 @@ None [Input Properties]: {{< ref "#input-properties" >}} [Output Properties]: {{< ref "#output-properties" >}} [InputOutput Properties]: {{< ref "#inputoutput-properties" >}} +[Decomposing Output Properties]: {{< ref "#decomposing-output-properties" >}} [Discarding Outputs]: {{< ref "#discarding-outputs" >}} [All Blocks]: {{< url path="Cortex.Reference.Blocks.MainDoc" >}} @@ -128,6 +135,7 @@ None [Literal Editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.LiteralEditor.MainDoc" >}} [Variable Editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.VariableEditor.MainDoc" >}} [Expression Editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.MainDoc" >}} +[Decomposition expressions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.DecompositionExpressions" >}} [Fundamentals Data Types]: {{< url path="Cortex.Reference.Concepts.Fundamentals.DataTypes.MainDoc" >}} diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md index b13d9dde7..24b5b691f 100644 --- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md +++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md @@ -48,6 +48,48 @@ When a [flow][] starts the execution of a child flow using the [Run Flow][] bloc | Ended | The execution has ended normally | | Error | The execution has ended after having thrown an exception that was not handled | +## Execution Context + +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: + +- [Initiator][] +- [Extensions][] + +### Initiator + +The initiator is a read-only property that contains the following information about the user that initiated the execution: + +- `Name`: The name of the user that initiated the execution. +- `AuthenticationType`: The authentication type of the user that initiated the execution. +- `IsAuthenticated`: A boolean value indicating if the user that initiated the execution is authenticated. This should always be `true`. +- `Claims`: A list of claims associated with the user that initiated the execution. + +The values can be accessed using [property expression][] or dictionary [index expressions][] syntax, as follows: + +```csharp +($)_executionContext.Initiator.Name +``` + +```csharp +($)_executionContext.Initiator["Name"] +``` + +### Extensions + +The `Extensions` property can be used to store additional information. This data will be accessible to all blocks within the execution, including child executions. + +A value can be added to the `Extensions` property using the [expression editor][], using the dictionary [index expressions][] syntax, for example: + +```csharp +($)_executionContext.Extensions["key"] = "value"; +``` + +The value can be accessed in the same way, for example: + +```csharp +($)_executionContext.Extensions["key"] +``` + ## Remarks ### Known Limitations @@ -75,6 +117,8 @@ None None [Execution Status]: {{< ref "#execution-status" >}} +[Extensions]: {{< ref "#extensions" >}} +[Initiator]: {{< ref "#initiator" >}} [Executions in Development]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.ExecutionsInDevelopment.MainDoc" >}} [Executions in Production]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.ExecutionsInProduction.MainDoc" >}} @@ -98,3 +142,7 @@ None [Execution Service]: {{< url path="Cortex.Reference.Apis.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" >}} [Run Flow]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlow.MainDoc" >}} + +[expression editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.MainDoc" >}} +[index expressions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.IndexExpressions" >}} +[Property expression]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.PropertyExpressions" >}} diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md index 7672bee54..e56d20651 100644 --- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md +++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md @@ -9,47 +9,104 @@ weight: 1 ## Summary -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. +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. ## Anatomy of a Flow -{{< figure src="/images/top-level-workspace.svg" title="Example Flow" >}} - -* Start Flow block - * Identifies where the [flow execution][] will start - * Automatically created when the flow is created - * Cannot be deleted - * See [Start Flow][] block -* Action blocks - * Performs a specific action - * Icon on block indicates the nature of the action - * See [Blocks][Reference Blocks] -* Decision block - * Causes the [flow execution][] to branch, dependent on a condition - * Icon on block indicates type of condition causing branching - * See [Decision Blocks][Decision Blocks] -* Workspace blocks - * Contains grouped flow logic - * The turndown on the top-right of the icon indicates it contains a [workspace][], which can be opened by double-clicking the icon - * See [Workspace][Workspace Block] block -* End Flow block - * Ends the [flow execution][] - * Automatically created when the flow is created - * See [End Flow][] block -* Handle Flow Exception block - * Handles [flow level exceptions][], thrown during the [flow execution][] - * Automatically created when the flow is created - * The turndown on the top-right of the icon indicates it contains a [workspace][workspaces], which can be opened by double-clicking the icon - * Cannot be deleted - * See [Handle Flow Exception][] block -* Flow Variable Store - * This is deprecated in favour of the [Variables Grid][] - * The [Variables Grid][] can be opened by double-clicking the icon, the scope will be set to `Defined (Selected Workspace)` - * Cannot be deleted -* Workspace - * The [Top-Level Workspace][] within the flow - * Canvas on which blocks are placed and connected to create the flow logic - * See [Workspace][workspaces] +There are two types of flows, which are used for different purposes: + +* [Process][] +* [Activity][] + +{{% alert title="Note" %}} +Prior to version 2024.9, there was a single type of flow named `Flow`. +As of 2024.9, `Flow` has been renamed to `Activity`. +{{% /alert %}} + +### Process + +Processes are a type of [Flow][] that can contain multiple [Activities][Activity] and are used to model high-level business processes. + +{{< figure src="/images/top-level-workspace-process.svg" title="Example Process" >}} + +* Processes flow from left to right +* Processes can call other processes +* Processes can call activities +* 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 +* Processes are optional an automation solution, but are useful for organizing and structuring the logic of a solution + +### Activity + +Activities are a type of [Flow][] that are used to model low-level tasks or actions. + +{{< figure src="/images/top-level-workspace-activity.svg" title="Example Activity" >}} + +* Activities flow from top to bottom +* Activities can call other activities +* Activities cannot call processes +* Activities contain all blocks as they are intended to model low-level tasks or actions +* Activities are required in an automation solution, as they are the building blocks of the solution + +## Composition of a Flow + +Flows are composed of the following: + +* [Workspace][Workspace ref] +* [Start Flow block][] +* [Action blocks][] +* [Decision blocks][Decision blocks ref] +* [Workspace blocks][] +* [End Flow block][] +* [Handle Flow Exception block][] + +### Workspace + +The [Top-Level Workspace][] within the flow. + +* Canvas on which blocks are placed and connected to create the flow logic +* See [Workspace][workspaces] + +### Start Flow block + +Identifies where the [flow execution][] will start. + +* Automatically created when the flow is created +* Cannot be deleted +* See [Start Flow][] block + +### Action blocks + +Performs a specific action. + +* Icon on block indicates the nature of the action +* See [Blocks][Reference Blocks] + +### Decision block + +Causes the [flow execution][] to branch, dependent on a condition. + +* See [Decision Blocks][Decision Blocks] + +### Workspace blocks + +Contains grouped flow logic. + +* See [Workspace][Workspace Block] block + +### End Flow block + +Ends the [flow execution][]. + +* Automatically created when the flow is created +* See [End Flow][] block + +### Handle Flow Exception block + +Handles [flow level exceptions][], thrown during the [flow execution][]. + +* Automatically created when the flow is created +* Cannot be deleted +* See [Handle Flow Exception][] block ## Grouping Logic within a Flow @@ -65,7 +122,7 @@ A [flow execution][flow execution] may be started by: * [Debugging][] a flow in [{{% ctx %}} Studio][CORTEX Studio] * Triggering it by making an HTTP request from an external source (e.g. a web application or web hooks) -* Triggering it using the [Run Flow][] block +* Triggering it using the [Run Flow][] and [Run Flow Async][] block * Triggering it using predefined events (future) (e.g. on receipt of an email) * Scheduling it to execute at predetermined times @@ -101,6 +158,7 @@ Currently, it is not possible to have a [Handle Workspace Exception][] block on * [Start Flow][] * [End Flow][] * [Run Flow][] +* [Run Flow Async][] * [Handle Flow Exception][] * [Handle Workspace Exception][] * [Workspace][Workspace Block] @@ -109,6 +167,18 @@ Currently, it is not possible to have a [Handle Workspace Exception][] block on None +[Activity]: {{< ref "#activity" >}} +[Process]: {{< ref "#process" >}} +[Flow]: {{< ref "#summary" >}} + +[Start Flow block]: {{< ref "#start-flow-block" >}} +[Action blocks]: {{< ref "#action-blocks" >}} +[Decision blocks ref]: {{< ref "#decision-block" >}} +[Workspace blocks]: {{< ref "#workspace-blocks" >}} +[End Flow block]: {{< ref "#end-flow-block" >}} +[Handle Flow Exception block]: {{< ref "#handle-flow-exception-block" >}} +[Workspace ref]: {{< ref "#workspace" >}} + [blocks]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.MainDoc" >}} [Handling Exceptions within a Block]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.HandlingExceptionsWithinABlock.MainDoc" >}} [Exceptions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Exceptions.MainDoc" >}} @@ -132,6 +202,7 @@ None [CORTEX Studio]: {{< url path="Cortex.Guides.Studio.MainDoc" >}} [Debugging]: {{< url path="Cortex.Guides.Studio.Debugging.MainDoc" >}} -[Variables Grid]: {{< url path="Cortex.Guides.Studio.SouthPanel.VariablesGrid" >}} [Run Flow]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlow.MainDoc" >}} + +[Run Flow Async]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlowAsync.MainDoc" >}} diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/workspaces/what-is-a-workspace.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/workspaces/what-is-a-workspace.md index 262610221..9cc71a32a 100644 --- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/workspaces/what-is-a-workspace.md +++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/workspaces/what-is-a-workspace.md @@ -17,7 +17,7 @@ A workspace is used to group logic and actions within a [flow][], in order to re A flow can only contain one Top-Level Workspace, which acts as the entry point for the [flow execution][]. -{{< figure src="/images/top-level-workspace.svg" title="Example Top-Level Workspace" >}} +{{< figure src="/images/top-level-workspace-activity.svg" title="Example Top-Level Workspace" >}} * Start Flow block * Identifies where the [flow execution][] will start diff --git a/content/en/docs/2024.9/Whats New/_index.md b/content/en/docs/2024.9/Whats New/_index.md index 435ab549f..b9c72c75c 100644 --- a/content/en/docs/2024.9/Whats New/_index.md +++ b/content/en/docs/2024.9/Whats New/_index.md @@ -7,90 +7,119 @@ weight: 1 ## Summary -2024.7 is the next [Fast Track][] release of {{% ctx %}} and improves on the [2024.5][] release in the following areas: +2024.9 is the second [Release][] of the next generation of {{% ctx %}} and improves on the [2024.7][] release in the following areas: -* [Performance][] -* [Security][] +* [Capability][] +* [Observability][] * [Scalability][] +* [Security][] * [Usability][] +* [Third-Party Support][] +* [Installation][] +* [Upgrade][] * [Documentation][] -## Improved Performance +## Improved Capability + +This release introduces multiple new features to the {{% ctx %}} platform: + +* The concept of [Process and Activity][], which are types of [Flow][], has now been introduced to {{% ctx %}} Gateway. +* [Saving Output Properties to multiple variables][] is now supported. +* A new built-in [execution context variable][] has been added to the Flow Engine which contains the initiator. +* A new [Proxy for the {{% ctx %}} 7 Flow API][] has been added to the platform. -This release shows performance improvements in a number of areas: +## Improved Observability -* [Reduce the number of license check calls][] -* [Reduce memory usage of the Package Management Service][] by compressing the Flow JSON -* Fixed a bug where the [Expression editor in {{% ctx %}} Studio leaks memory][] +Observability has been improved by [adding logging to blocks that communicate with external systems][Logging added to blocks that communicate with external systems]. + +## Improved Scalability + +Optimisation to scalability has been made by [reducing the total number of NServiceBus endpoints and RabbitMQ queues][Reduction of total number of NServiceBus endpoints and RabbitMQ queues]. ## Improved Security We increased the security of the platform by: -* [Redacting any value in logs that has the format of an encrypted text][Redact any value in logs that has the format of an encrypted text] to ensure that encrypted text is not visible in logs -* [Adding the Request user to API Gateway HTTPEvent logs][Request user has been added to API Gateway HTTPEvent logs] to provide more information in logs -* Fixed a bug where [Password redaction not always occurring][]. +* [Upgrading the OpenSSL version][Upgrade OpenSSL] shipped with the platform. +* Added [Multi-domain certificates support][]. +* A [CortexManagementUser for RabbitMQ is now created during upgrade][New CortexManagementUser added to manage RabbitMQ queues]. +* [Server-side validation added to {{% ctx %}} Gateway API][] to prevent [Path Traversal][] attacks. +* Removal of the [refresh token cookie on sign out][remove refresh token cookie on sign out]. -## Improved Scalability +## Improved Usability -Scalability has been improved by adding [support of custom names for default Tenant and System][Custom names supported for default Tenant and System] from {{% ctx %}} Gateway, as well as [support for installing multiple {{% ctx %}} Gateway instances on the same Web App Server][]. +The usability of the platform has been improved by: -## Improved Usability +* Renaming the [Flows Charm to Dev and changing the icon][Rename Flows Charm to Dev and change icon]. +* Renaming the [Settings Charm to Admin and changing the icon][Rename Settings Charm to Admin and change icon]. + +## Improved Third-Party Support + +Third-party Support has been improved by [upgrading the platform to .NET 8][Upgrade to .NET 8]. -The previous `Scope` data type has been renamed to [ScopeDefinition][] as it more accurately reflects its purpose of defining a scope; allowing for a new [Scope][] data type to represent an instance of a scope. -\ -The [user experience of {{% ctx %}} Gateway][{{% ctx %}} Gateway] has seen improvements which include: +## Improved Installation -* [Improving the Home page loading placeholder][Improved Home page loading placeholder] -* [Improving the Search bar styling][Improved Search bar styling] +Installation when [files are blocked by the operating system][Support installation when files are blocked by the operating system] due to the `Zone.Identifier` is now supported. -A bug has been fixed on the [Engine][] where a [Flow with expression sometimes fails to execute with a KeyNotFoundException][]. +## Improved Upgrade + +The upgrade process has been improved by: + +* [Supporting upgrade when files are blocked by the operating system][Support upgrade when files are blocked by the operating system]. +* Upgrading the [Execution Service when the engine version is unchanged][Execution Service is upgraded when the engine version is unchanged]. +* [Handling of the Execution Services lifecycle events][]. ## Improved Documentation -The [Product Portal][] includes updates related to: +The documentation includes updates related to: -* [Wireless Blocks][Wireless Blocks section] including data type and exception -* [Execute Data Command Block][Execute Data Command Block section] and data types -* [Scope and ScopeDefinition][] data types -* [Upgrade steps][Upgrade section] from 2024.5 to 2024.7 -* [Block Icons][] -* [Incorrect link in Multiple Server Install Web Application Prerequisites][] +* New concepts such as [Process and Activity][Process and Activity Documentation] as well as [Decomposition of Output properties][]. +* [Preventing deadlocks when using semaphores][Prevent deadlocks when using semaphores]. +* [Updating screenshots][screenshots updated] to reflect the new branding. +* [Flow compatibility version][Flow compatibility version introduced] being added to the release notes. +* [General improvements to the documentation][]. -For a full list of what has been introduced in this release, please see the [2024.7 Release Notes][] +For a full list of what has been introduced in this release, please see the [2024.9 Release Notes][] -[Fast Track]: {{< url path="Cortex.Reference.Glossary.F-J.FastTrack" version="2024.7" >}} +[Release]: {{< url path="Cortex.Reference.Glossary.P-T.Release" version="2024.9" >}} +[2024.7]: {{< url path="Cortex.Blogs.Releases.2024.7.MainDoc" version="2024.9" >}} -[Performance]: {{< ref "#improved-performance" >}} -[Security]: {{< ref "#improved-security" >}} +[Capability]: {{< ref "#improved-capability" >}} +[Observability]: {{< ref "#improved-observability" >}} [Scalability]: {{< ref "#improved-scalability" >}} +[Security]: {{< ref "#improved-security" >}} [Usability]: {{< ref "#improved-usability" >}} +[Third-Party Support]: {{< ref "#improved-third-party-support" >}} +[Installation]: {{< ref "#improved-installation" >}} +[Upgrade]: {{< ref "#improved-upgrade" >}} [Documentation]: {{< ref "#improved-documentation" >}} -[Reduce the number of license check calls]: {{< url path="Cortex.Blogs.Releases.2024.7.ReduceTheNumberOfLicenseCheckCalls" version="2024.7" >}} -[Reduce memory usage of the Package Management Service]: {{< url path="Cortex.Blogs.Releases.2024.7.ReduceMemoryUsageOfThePackageManagementService" version="2024.7" >}} -[Expression editor in {{% ctx %}} Studio leaks memory]: {{< url path="Cortex.Blogs.Releases.2024.7.ExpressionEditorInCortexStudioLeaksMemory" version="2024.7" >}} -[Redact any value in logs that has the format of an encrypted text]: {{< url path="Cortex.Blogs.Releases.2024.7.RedactAnyValueInLogsThatHasTheFormatOfAnEncryptedText" version="2024.7" >}} -[Request user has been added to API Gateway HTTPEvent logs]: {{< url path="Cortex.Blogs.Releases.2024.7.RequestUserHasBeenAddedToApiGatewayHttpEventLogs" version="2024.7" >}} -[Password redaction not always occurring]: {{< url path="Cortex.Blogs.Releases.2024.7.PasswordRedactionNotAlwaysOccurring" version="2024.7" >}} -[Custom names supported for default Tenant and System]: {{< url path="Cortex.Blogs.Releases.2024.7.CustomNamesSupportedForDefaultTenantAndSystem" version="2024.7" >}} -[support for installing multiple {{% ctx %}} Gateway instances on the same Web App Server]: {{< url path="Cortex.Blogs.Releases.2024.7.SupportForInstallingMultipleCortexGatewayInstancesOnTheSameWebAppServer" version="2024.7" >}} -[{{% ctx %}} Gateway]: {{< url path="Cortex.Blogs.Releases.2024.7.CortexGateway" version="2024.7" >}} -[Improved Home page loading placeholder]: {{< url path="Cortex.Blogs.Releases.2024.7.ImprovedHomePageLoadingPlaceholder" version="2024.7" >}} -[Improved Search bar styling]: {{< url path="Cortex.Blogs.Releases.2024.7.ImprovedSearchBarStyling" version="2024.7" >}} -[Engine]: {{< url path="Cortex.Blogs.Releases.2024.7.Engine" version="2024.7" >}} -[Flow with expression sometimes fails to execute with a KeyNotFoundException]: {{< url path="Cortex.Blogs.Releases.2024.7.FlowWithExpressionSometimesFailsToExecuteWithAKeyNotFoundException" version="2024.7" >}} -[Product Portal]: {{< url path="Cortex.Blogs.Releases.2024.7.ProductPortal" version="2024.7" >}} -[Wireless Blocks section]: {{< url path="Cortex.Blogs.Releases.2024.7.WirelessBlocks" version="2024.7" >}} -[Execute Data Command Block section]: {{< url path="Cortex.Blogs.Releases.2024.7.ExecuteDataCommandBlock" version="2024.7" >}} -[Scope and ScopeDefinition]: {{< url path="Cortex.Blogs.Releases.2024.7.ScopeandScopeDefinition" version="2024.7" >}} -[Block Icons]: {{< url path="Cortex.Blogs.Releases.2024.7.BlockIcons" version="2024.7" >}} -[upgrade section]: {{< url path="Cortex.Blogs.Releases.2024.7.Upgrade" version="2024.7" >}} -[Incorrect link in Multiple Server Install Web Application Prerequisites]: {{< url path="Cortex.Blogs.Releases.2024.7.IncorrectLinkInMultipleServerInstallWebApplicationPrerequisites" version="2024.7" >}} - -[Scope]: {{< url path="Cortex.Reference.DataTypes.Scopes.Scope.MainDoc" version="2024.7">}} -[ScopeDefinition]: {{< url path="Cortex.Reference.DataTypes.Scopes.ScopeDefinition.MainDoc" version="2024.7">}} - -[2024.7 Release Notes]: {{< url path="Cortex.Blogs.Releases.2024.7.MainDoc" version="2024.7" >}} - -[2024.5]: {{< url path="Cortex.Blogs.Releases.2024.5.MainDoc" version="2024.7" >}} +[Process and Activity]: {{< url path="Cortex.Blogs.Releases.2024.9.ProcessAndActivity" version="2024.9" >}} +[Saving Output Properties to multiple variables]: {{< url path="Cortex.Blogs.Releases.2024.9.SaveOutputPropertiesToMultipleVariables" version="2024.9" >}} +[execution context variable]: {{< url path="Cortex.Blogs.Releases.2024.9.ExecutionContextVariable" version="2024.9" >}} +[Proxy for the {{% ctx %}} 7 Flow API]: {{< url path="Cortex.Blogs.Releases.2024.9.ProxyForTheCortex7FlowApi" version="2024.9" >}} +[Logging added to blocks that communicate with external systems]: {{< url path="Cortex.Blogs.Releases.2024.9.LoggingAddedToBlocksThatCommunicateWithExternalSystems" version="2024.9" >}} +[Reduction of total number of NServiceBus endpoints and RabbitMQ queues]: {{< url path="Cortex.Blogs.Releases.2024.9.ReductionOfTotalNumberOfNServiceBusEndpointsAndRabbitMQQueues" version="2024.9" >}} +[Upgrade OpenSSL]: {{< url path="Cortex.Blogs.Releases.2024.9.UpgradeOpenSSL" version="2024.9" >}} +[Multi-domain certificates support]: {{< url path="Cortex.Blogs.Releases.2024.9.MultiDomainCertificatesSupport" version="2024.9" >}} +[New CortexManagementUser added to manage RabbitMQ queues]: {{< url path="Cortex.Blogs.Releases.2024.9.NewCortexManagementUserAddedToManageRabbitMQQueues" version="2024.9" >}} +[Server-side validation added to {{% ctx %}} Gateway API]: {{< url path="Cortex.Blogs.Releases.2024.9.ServerSideValidationAddedToCortexGatewayAPI" version="2024.9" >}} +[Remove refresh token cookie on sign out]: {{< url path="Cortex.Blogs.Releases.2024.9.RemoveRefreshTokenCookieOnSign" version="2024.9" >}} +[Rename Flows Charm to Dev and change icon]: {{< url path="Cortex.Blogs.Releases.2024.9.RenameFlowsCharmToDevAndChangeIcon" version="2024.9" >}} +[Rename Settings Charm to Admin and change icon]: {{< url path="Cortex.Blogs.Releases.2024.9.RenameSettingsCharmToAdminAndChangeIcon" version="2024.9" >}} +[Upgrade to .NET 8]: {{< url path="Cortex.Blogs.Releases.2024.9.UpgradeToNet8" version="2024.9" >}} +[Support installation when files are blocked by the operating system]: {{< url path="Cortex.Blogs.Releases.2024.9.SupportInstallationWhenFilesAreBlockedByTheOperatingSystem" version="2024.9" >}} +[Support upgrade when files are blocked by the operating system]: {{< url path="Cortex.Blogs.Releases.2024.9.SupportUpgradeWhenFilesAreBlockedByTheOperatingSystem" version="2024.9" >}} +[Execution Service is upgraded when the engine version is unchanged]: {{< url path="Cortex.Blogs.Releases.2024.9.ExecutionServiceIsUpgradedWhenTheEngineVersionIsUnchanged" version="2024.9" >}} +[Handling of the Execution Services lifecycle events]: {{< url path="Cortex.Blogs.Releases.2024.9.HandlingOfTheExecutionServicesLifecycleEvents" version="2024.9" >}} +[Process and Activity Documentation]: {{< url path="Cortex.Blogs.Releases.2024.9.ProcessAndActivityDocumentation" version="2024.9" >}} +[Decomposition of Output properties]: {{< url path="Cortex.Blogs.Releases.2024.9.DecompositionOfOutputProperties" version="2024.9" >}} +[Prevent deadlocks when using semaphores]: {{< url path="Cortex.Blogs.Releases.2024.9.PreventDeadlocksWhenUsingSemaphores" version="2024.9" >}} +[Screenshots updated]: {{< url path="Cortex.Blogs.Releases.2024.9.ScreenshotsUpdated" >}} +[Flow compatibility version introduced]: {{< url path="Cortex.Blogs.Releases.2024.9.FlowCompatibilityVersionIntroduced" version="2024.9" >}} +[General improvements to the documentation]: {{< url path="Cortex.Blogs.Releases.2024.9.GeneralImprovementsToTheDocumentation" version="2024.9" >}} + +[2024.9 Release Notes]: {{< url path="Cortex.Blogs.Releases.2024.9.MainDoc" version="2024.9" >}} + +[Flow]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.MainDoc" version="2024.9" >}} +[Path Traversal]: {{< url path="Owasp.PathTraversal.MainDoc" version="2024.9" >}} diff --git a/content/en/docs/2024.9/_shared/architecture/components/multi-server.md b/content/en/docs/2024.9/_shared/architecture/components/multi-server.md index a6441cbb5..216927df2 100644 --- a/content/en/docs/2024.9/_shared/architecture/components/multi-server.md +++ b/content/en/docs/2024.9/_shared/architecture/components/multi-server.md @@ -10,10 +10,11 @@ |     > [Data Storage Service][Data Storage Service] | {{< section "/architecture/components/purpose/data-storage-service.md" >}} | - | - | |     > [Execution Management Service][Execution Management Service] | {{< section "/architecture/components/purpose/execution-management-service.md">}} | - | - | |     > [Licence Management Service][Licence Management Service] | {{< section "/architecture/components/purpose/licence-management-service.md" >}} | - | - | +|     > [Listeners Service][Listeners Service] | {{< section "/architecture/components/purpose/listeners-service.md" >}} | - | - | |     > [Package Management Service][Package Management Service] | {{< section "/architecture/components/purpose/package-management-service.md" >}} | - | - | |     > [Provisioning Service][Provisioning Service] | {{< section "/architecture/components/purpose/provisioning-service.md" >}} | - | - | |     > [Scheduling Service][Scheduling Service] | {{< section "/architecture/components/purpose/scheduling-service.md" >}} | - | - | -|     > [Triggers Service][Triggers Service] | {{< section "/architecture/components/purpose/triggers-service.md" >}} | - | - | +|     > [Triggers Service][Triggers Service] | {{< section "/architecture/components/purpose/triggers-service.md" >}} | - | - | | [{{% ctx %}} Innovation Execution Application][Innovation Execution Application] | {{< section "/architecture/components/purpose/cortex-innovation-execution-application.md" >}} | Required | Application Server | |     > [Execution Service][Execution Service] | {{< section "/architecture/components/purpose/execution-service.md" >}} | - | - | | {{% ctx %}} Block Packages | {{< section "/architecture/components/purpose/cortex-block-packages.md" >}} | Required | Web Application Server, Application Server | @@ -36,18 +37,17 @@ [Execution Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ExecutionManagementService.MainDoc" >}} [Execution Service]: {{< url path="Cortex.Guides.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" >}} [Licence Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.LicenceManagementService.MainDoc" >}} +[Listeners Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ListenersService.MainDoc" >}} [Package Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.PackageManagementService.MainDoc" >}} [Provisioning Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ProvisioningService.MainDoc" >}} [Scheduling Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.SchedulingService.MainDoc" >}} [Triggers Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.TriggersService.MainDoc" >}} [Gateway Guide]: {{< url path="Cortex.Guides.Gateway.MainDoc" >}} [Studio Guide]: {{< url path="Cortex.Guides.Studio.MainDoc" >}} -[SQL Server Express]: {{< url path="MSDownload.SqlServerExpress.2016" >}} -[SQL Server Standard]: {{< url path="MSEval.SQLServer.2019" >}} [Microsoft Service Fabric]: {{< url path="MSDocs.ServiceFabric.MainDoc" >}} [Microsoft Service Fabric Explorer]: {{< url path="MSDocs.ServiceFabric.Explorer" >}} [Particular NServiceBus]: {{< url path="Particular.NServiceBus.MainDoc" >}} [Pivotal RabbitMQ]: {{< url path="RabbitMQ.MainDoc" >}} [Erlang OTP]: {{< url path="ErlangOTP.MainDoc" >}} [gobetween]: {{< url path="GoBetween.MainDoc" >}} -[NSSM]: {{< url path="NSSM.MainDoc" >}} \ No newline at end of file +[NSSM]: {{< url path="NSSM.MainDoc" >}} diff --git a/content/en/docs/2024.9/_shared/architecture/components/purpose/listeners-service.md b/content/en/docs/2024.9/_shared/architecture/components/purpose/listeners-service.md new file mode 100644 index 000000000..225dd2dac --- /dev/null +++ b/content/en/docs/2024.9/_shared/architecture/components/purpose/listeners-service.md @@ -0,0 +1 @@ +Application Service that accepts incoming connections that could trigger executions. \ No newline at end of file diff --git a/content/en/docs/2024.9/_shared/architecture/components/single-server.md b/content/en/docs/2024.9/_shared/architecture/components/single-server.md index 8188539ba..3bba0f94d 100644 --- a/content/en/docs/2024.9/_shared/architecture/components/single-server.md +++ b/content/en/docs/2024.9/_shared/architecture/components/single-server.md @@ -10,10 +10,11 @@ |     > [Data Storage Service][Data Storage Service] | {{< section "/architecture/components/purpose/data-storage-service.md" >}} | - | - | |     > [Execution Management Service][Execution Management Service] | {{< section "/architecture/components/purpose/execution-management-service.md">}} | - | - | |     > [Licence Management Service][Licence Management Service] | {{< section "/architecture/components/purpose/licence-management-service.md" >}} | - | - | +|     > [Listeners Service][Listeners Service] | {{< section "/architecture/components/purpose/listeners-service.md" >}} | - | - | |     > [Package Management Service][Package Management Service] | {{< section "/architecture/components/purpose/package-management-service.md" >}} | - | - | |     > [Provisioning Service][Provisioning Service] | {{< section "/architecture/components/purpose/provisioning-service.md" >}} | - | - | |     > [Scheduling Service][Scheduling Service] | {{< section "/architecture/components/purpose/scheduling-service.md" >}} | - | - | -|     > [Triggers Service][Triggers Service] | {{< section "/architecture/components/purpose/triggers-service.md" >}} | - | - | +|     > [Triggers Service][Triggers Service] | {{< section "/architecture/components/purpose/triggers-service.md" >}} | - | - | | [{{% ctx %}} Innovation Execution Application][Innovation Execution Application] | {{< section "/architecture/components/purpose/cortex-innovation-execution-application.md" >}} | Required | Application Server | |     > [Execution Service][Execution Service] | {{< section "/architecture/components/purpose/execution-service.md" >}} | - | - | | {{% ctx %}} Block Packages | {{< section "/architecture/components/purpose/cortex-block-packages.md" >}} | Required | Web Application Server, Application Server | @@ -34,14 +35,13 @@ [Execution Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ExecutionManagementService.MainDoc" >}} [Execution Service]: {{< url path="Cortex.Guides.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" >}} [Licence Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.LicenceManagementService.MainDoc" >}} +[Listeners Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ListenersService.MainDoc" >}} [Package Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.PackageManagementService.MainDoc" >}} [Provisioning Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ProvisioningService.MainDoc" >}} [Scheduling Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.SchedulingService.MainDoc" >}} [Triggers Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.TriggersService.MainDoc" >}} [Gateway Guide]: {{< url path="Cortex.Guides.Gateway.MainDoc" >}} [Studio Guide]: {{< url path="Cortex.Guides.Studio.MainDoc" >}} -[SQL Server Express]: {{< url path="MSDownload.SqlServerExpress.2016" >}} -[SQL Server Standard]: {{< url path="MSEval.SQLServer.2019" >}} [Microsoft Service Fabric]: {{< url path="MSDocs.ServiceFabric.MainDoc" >}} [Microsoft Service Fabric Explorer]: {{< url path="MSDocs.ServiceFabric.Explorer" >}} [Particular NServiceBus]: {{< url path="Particular.NServiceBus.MainDoc" >}} diff --git a/content/static/2024.9/images/editable/Cortex Innovation Node Details.png b/content/static/2024.9/images/editable/Cortex Innovation Node Details.png index a73538fc9..654b14425 100644 Binary files a/content/static/2024.9/images/editable/Cortex Innovation Node Details.png and b/content/static/2024.9/images/editable/Cortex Innovation Node Details.png differ diff --git a/content/static/2024.9/images/editable/editor-types.png b/content/static/2024.9/images/editable/editor-types.png index 106dbb03b..444627859 100644 Binary files a/content/static/2024.9/images/editable/editor-types.png and b/content/static/2024.9/images/editable/editor-types.png differ diff --git a/content/static/2024.9/images/editable/expression-editor.png b/content/static/2024.9/images/editable/expression-editor.png new file mode 100644 index 000000000..5660a4321 Binary files /dev/null and b/content/static/2024.9/images/editable/expression-editor.png differ diff --git a/content/static/2024.9/images/editable/variable-editor.png b/content/static/2024.9/images/editable/variable-editor.png index c1bcb26d4..8e4504cd4 100644 Binary files a/content/static/2024.9/images/editable/variable-editor.png and b/content/static/2024.9/images/editable/variable-editor.png differ diff --git a/content/static/2024.9/images/set-variable/set-variable-expression-decomposition.PNG b/content/static/2024.9/images/set-variable/set-variable-expression-decomposition.PNG new file mode 100644 index 000000000..de501792e Binary files /dev/null and b/content/static/2024.9/images/set-variable/set-variable-expression-decomposition.PNG differ diff --git a/content/static/2024.9/images/top-level-workspace-activity.svg b/content/static/2024.9/images/top-level-workspace-activity.svg new file mode 100644 index 000000000..993b1b26b --- /dev/null +++ b/content/static/2024.9/images/top-level-workspace-activity.svg @@ -0,0 +1,4 @@ + + + +
Start Flow Block
Start Flow...
Action Block
Action...
Decision Block
Decision...
Workspace Blocks
Workspace...
End Flow Block
End Flow B...
Handle Flow Exception Block
Handle Flow Exc...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/content/static/2024.9/images/top-level-workspace-process.svg b/content/static/2024.9/images/top-level-workspace-process.svg new file mode 100644 index 000000000..2c662ece9 --- /dev/null +++ b/content/static/2024.9/images/top-level-workspace-process.svg @@ -0,0 +1,4 @@ + + + +
Action Block
Action...
Handle Flow Exception Block
Handle Flow Exc...
Workspace Blocks
Workspace...
Start Flow Block
Start Flow Block
Action Block
Action...
End Flow Block
End Flow...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/content/static/2024.9/images/top-level-workspace.svg b/content/static/2024.9/images/top-level-workspace.svg deleted file mode 100644 index 6fd291001..000000000 --- a/content/static/2024.9/images/top-level-workspace.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Start Flow Block
Start Flow...
Action Block
Action...
Decision Block
Decision...
Workspace Blocks
Workspace...
End Flow Block
End Flow B...
Handle Flow Exception Block
Handle Flow Exc...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/data/urls.toml b/data/urls.toml index e0e07f054..dd2702193 100644 --- a/data/urls.toml +++ b/data/urls.toml @@ -8,6 +8,32 @@ MainDoc = "/blog/releases" [Cortex.Blogs.Releases.2024.X] MainDoc = "/blog/releases/2024.x" + [Cortex.Blogs.Releases.2024.9] + MainDoc = "/blog/2024/10/07/2024.9/" + ProcessAndActivity = "/blog/2024/10/07/2024.9/#process-and-activity" + SaveOutputPropertiesToMultipleVariables = "/blog/2024/10/07/2024.9/#saving-output-properties-to-multiple-variables" + ExecutionContextVariable = "/blog/2024/10/07/2024.9/#execution-context-variable" + ProxyForTheCortex7FlowApi = "/blog/2024/10/07/2024.9/#proxy-for-the-cortex-7-flow-api" + LoggingAddedToBlocksThatCommunicateWithExternalSystems = "/blog/2024/10/07/2024.9/#logging-added-to-blocks-that-communicate-with-external-systems" + ReductionOfTotalNumberOfNServiceBusEndpointsAndRabbitMQQueues = "/blog/2024/10/07/2024.9/#reduction-of-total-number-of-nservicebus-endpoints-and-rabbitmq-queues" + UpgradeOpenSSL = "/blog/2024/10/07/2024.9/#upgrade-openssl" + MultiDomainCertificatesSupport = "/blog/2024/10/07/2024.9/#multi-domain-certificates-support" + NewCortexManagementUserAddedToManageRabbitMQQueues = "/blog/2024/10/07/2024.9/#new-cortexmanagementuser-added-to-manage-rabbitmq-queues" + ServerSideValidationAddedToCortexGatewayAPI = "/blog/2024/10/07/2024.9/#server-side-validation-added-to-cortex-gateway-api" + RemoveRefreshTokenCookieOnSign = "/blog/2024/10/07/2024.9/#remove-refresh-token-cookie-on-sign-out" + RenameFlowsCharmToDevAndChangeIcon = "/blog/2024/10/07/2024.9/#rename-flows-charm-to-dev-and-change-icon" + RenameSettingsCharmToAdminAndChangeIcon = "/blog/2024/10/07/2024.9/#rename-settings-charm-to-admin-and-change-icon" + UpgradeToNet8 = "/blog/2024/10/07/2024.9/#upgrade-to-net-8" + SupportInstallationWhenFilesAreBlockedByTheOperatingSystem = "/blog/2024/10/07/2024.9/#support-installation-when-files-are-blocked-by-the-operating-system" + SupportUpgradeWhenFilesAreBlockedByTheOperatingSystem = "/blog/2024/10/07/2024.9/#support-upgrade-when-files-are-blocked-by-the-operating-system" + ExecutionServiceIsUpgradedWhenTheEngineVersionIsUnchanged = "/blog/2024/10/07/2024.9/#execution-service-is-upgraded-when-the-engine-version-is-unchanged" + HandlingOfTheExecutionServicesLifecycleEvents = "/blog/2024/10/07/2024.9/#handling-of-the-execution-services-lifecycle-events" + ProcessAndActivityDocumentation = "/blog/2024/10/07/2024.9/#process-and-activity-1" + DecompositionOfOutputProperties = "/blog/2024/10/07/2024.9/#decomposition-of-output-properties" + PreventDeadlocksWhenUsingSemaphores = "/blog/2024/10/07/2024.9/#prevent-deadlocks-when-using-semaphores" + ScreenshotsUpdated = "/blog/2024/10/07/2024.9/#screenshots-updated" + FlowCompatibilityVersionIntroduced = "/blog/2024/10/07/2024.9/#flow-compatibility-version-introduced" + GeneralImprovementsToTheDocumentation = "/blog/2024/10/07/2024.9/#general-improvements-to-the-documentation" [Cortex.Blogs.Releases.2024.7] MainDoc = "/blog/2024/08/12/2024.7/" ProductPortal = "/blog/2024/08/12/2024.7/#product-portal" @@ -443,6 +469,8 @@ MainDoc = "/docs/guides/cortex-innovation/core-application/services/execution-management-service/" [Cortex.Guides.CortexInnovation.CoreApplication.Services.LicenceManagementService] MainDoc = "/docs/guides/cortex-innovation/core-application/services/licence-management-service/" + [Cortex.Guides.CortexInnovation.CoreApplication.Services.ListenersService] + MainDoc = "/docs/guides/cortex-innovation/core-application/services/listeners-service/" [Cortex.Guides.CortexInnovation.CoreApplication.Services.PackageManagementService] MainDoc = "/docs/guides/cortex-innovation/core-application/services/package-management-service/" [Cortex.Guides.CortexInnovation.CoreApplication.Services.ProvisioningService] @@ -890,11 +918,15 @@ MainDoc = "/docs/reference/blocks/http/execute-http-request" [Cortex.Reference.Blocks.Http.ExecuteHttpRequest.ExecuteHttpRequest] MainDoc = "/docs/reference/blocks/http/execute-http-request/execute-http-request-block-1" + HttpRequestProperty = "/docs/reference/blocks/http/execute-http-request/execute-http-request-block-1/#http-request" + HttpResponseProperty = "/docs/reference/blocks/http/execute-http-request/execute-http-request-block-1/#http-response" CallingAnotherFlow = "/docs/reference/blocks/http/execute-http-request/execute-http-request-block-1/#calling-another-flow" [Cortex.Reference.Blocks.Http.ExecuteSoapRequest] MainDoc = "/docs/reference/blocks/http/execute-soap-request" [Cortex.Reference.Blocks.Http.ExecuteSoapRequest.ExecuteSoapRequest] MainDoc = "/docs/reference/blocks/http/execute-soap-request/execute-soap-request-block-1" + SoapRequestProperty = "/docs/reference/blocks/http/execute-soap-request/execute-soap-request-block-1/#soap-request" + SoapResponseProperty = "/docs/reference/blocks/http/execute-soap-request/execute-soap-request-block-1/#soap-response" [Cortex.Reference.Blocks.Json] MainDoc = "/docs/reference/blocks/json/" [Cortex.Reference.Blocks.Json.ConvertJson] @@ -1039,6 +1071,10 @@ MainDoc = "/docs/reference/blocks/powershell/execute-powershell-script/" [Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript] MainDoc = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1" + ScriptProperty = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1/#script" + ParametersProperty = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1/#parameters" + OutputsProperty = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1/#outputs" + RecordsProperty = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1/#records" [Cortex.Reference.Blocks.Queues] MainDoc = "/docs/reference/blocks/queues/" [Cortex.Reference.Blocks.Queues.DequeueItem] @@ -1071,11 +1107,13 @@ MainDoc = "/docs/reference/blocks/ssh/execute-ssh-command" [Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock] MainDoc = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block" + CommandProperty = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#command" TerminalPromptMatchRemark = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#using-the-terminalpromptmatch-within-sshlogs-to-reach-the-end-of-a-prompt" ConfigurationSettings = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#configuration-settings" CloseSession = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#close-session" Response = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#response" SshSessionDetails = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#ssh-session-details" + SshLogsProperty = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#ssh-logs" [Cortex.Reference.Blocks.Tasks] MainDoc = "/docs/reference/blocks/tasks/" [Cortex.Reference.Blocks.Tasks.CancelTask] @@ -1282,6 +1320,7 @@ Output = "/docs/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#output-properties" DiscardingOutputs = "/docs/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#discarding-outputs" InputOutput = "/docs/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#inputoutput-properties" + DecomposingOutputProperties = "/docs/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#decomposing-output-properties" [Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.AdvancedProperties] MainDoc = "/docs/reference/concepts/fundamentals/blocks/block-properties/advanced-properties/" [Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.CommonProperties] @@ -1298,6 +1337,7 @@ MethodExpressions = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#method-expressions" PropertyExpressions = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#property-expressions" IndexExpressions = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#index-expressions" + DecompositionExpressions = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#decomposition-expressions" LiteralValues = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#literal-values" DictionaryLiteral = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#dictionary-literal" ListLiteral = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#list-literal" @@ -1341,6 +1381,7 @@ MainDoc = "/docs/reference/concepts/fundamentals/executions/" [Cortex.Reference.Concepts.Fundamentals.Executions.WhatIsAnExecution] MainDoc = "/docs/reference/concepts/fundamentals/executions/what-is-an-execution" + ExecutionContext = "/docs/reference/concepts/fundamentals/executions/what-is-an-execution/#execution-context" [Cortex.Reference.Concepts.Fundamentals.Executions.ExecutionsInDevelopment] MainDoc = "/docs/reference/concepts/fundamentals/executions/executions-in-development" EditAndContinueAnExecution = "/docs/reference/concepts/fundamentals/executions/executions-in-development/#edit-and-continue-an-execution" @@ -1358,6 +1399,8 @@ MainDoc = "/docs/reference/concepts/fundamentals/flows/handling-exceptions-within-a-flow" [Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow] MainDoc = "/docs/reference/concepts/fundamentals/flows/what-is-a-flow" + Process = "/docs/reference/concepts/fundamentals/flows/what-is-a-flow/#process" + Activity = "/docs/reference/concepts/fundamentals/flows/what-is-a-flow/#activity" [Cortex.Reference.Concepts.Fundamentals.Messages] MainDoc = "/docs/reference/concepts/fundamentals/messages/" [Cortex.Reference.Concepts.Fundamentals.Messages.WhatIsAMessage] @@ -1414,6 +1457,7 @@ Non-Queuing = "/docs/reference/concepts/working-with/concurrency/semaphores/what-is-a-semaphore/#non-queuing-semaphore" Queuing = "/docs/reference/concepts/working-with/concurrency/semaphores/what-is-a-semaphore/#queuing-semaphore" MultipleConcurrencyLimits = "/docs/reference/concepts/working-with/concurrency/semaphores/what-is-a-semaphore/#multiple-concurrency-limits" + PreventingDeadlocks = "/docs/reference/concepts/working-with/concurrency/semaphores/what-is-a-semaphore/#preventing-deadlocks" [Cortex.Reference.Concepts.WorkingWith.Culture] MainDoc = "/docs/reference/concepts/working-with/culture/" [Cortex.Reference.Concepts.WorkingWith.Culture.CurrentCulture] @@ -2746,6 +2790,9 @@ BlockStatement = "https://blogs.oracle.com/connect/post/building-with-blocks" [OracleParameter] ParameterDirection = "https://learn.microsoft.com/en-us/dotnet/api/system.data.parameterdirection?view=net-8.0" +[Owasp] + [Owasp.PathTraversal] + MainDoc = "https://owasp.org/www-community/attacks/Path_Traversal" [Particular] [Particular.NServiceBus] MainDoc = "https://particular.net/nservicebus"