Section "Basic"

In this section you will find basic settings of kenaflow. Some of them may not be changed. These are marked in red.

database

    <entry key="database" type="System.String" comment="SQLite database location" default=".\kenaflow.sqlite"></entry>

Optionally kenaflow can store workflow generated data in an SQLite database.

Here you can specify the path. If its a relative path the database is stored below the _kenaflow 'ProgramData' directory.

globalFloodProtectionFile

    <entry key="globalFloodProtectionFile" type="System.String" default=".\adminAlertFloodProtection.txt"></entry>

When kenaflow sends error mails to administrators it's possible the a huge amout of mails would be send without flood protection.

In this setting the file is specified where kenaflow stores the date and time of the last send error mail for administrators.

globalFloodProtectionTBE

    <entry key="globalFloodProtectionTBE" type="System.Int32" default="300" comment="in seconds"></entry>

Together with setting globalFloodProtectionFile above this is used to prevent huge amount of error mails for administrators.

globalWorkflowExecutionTBE

    <entry key="globalWorkflowExecutionTBE" type="System.Int32" default="300" comment="in seconds"></entry>

Workflows are normally executed on a regular basis. A certain amount of time must elapse between the start of one execution and the start of next execution. This is specified here as the default for all workflows that do not have their own settings.

globalWorkflowStateTBE

    <entry key="globalWorkflowStateTBE" type="System.Int32" default="60" comment="in seconds"></entry>

A separate time can be defined for each workflow status, which must lie between two executions of the status. The time in seconds between the start of one execution and the start of next execution is specified.

ConfigEditor

    <entry key="ConfigEditor" type="System.String" default="notepad.exe"></entry>

If this setting is empty, Windows Notepad is used when editing the configuration file. Here you can specify a path to an alternative editor. The path must be absolute. The name of the configuration file is passed as the only parameter at startup.

We have seen that there are problems with some editors if they are already open when the kenaflow.exe --editconfig command is executed. For example, NotePad++ does not open a new process but passes the file to be opened to the already open process. This is not recognized by kenaflow.

When editing the encrypted configuration file kenaflow.conf a temporary file is created with the decrypted data from the configuration file. This temporary file is opened in the editor. This file is read and deleted after closing the editor (termination of the process). The new data is stored encrypted again.

EncryptConfig

    <entry key="EncryptConfig" type="System.Boolean" default="true"></entry>

Specifies whether the configuration file kenaflow.conf should be encrypted. If "TRUE", then it is encrypted. If "FALSE", it's not. This can be changed as required and takes effect immediately when the editor is closed.

This setting is not available in FREE editon and DEVELOPER edition of kenaflow!

Branch

    <entry key="Branch" type="System.String" default="release-4-0" comment="for updates..."></entry>

The branch specifies from which source kenaflow is obtained and updated. The branch may only be changed if you have been asked to do so.

Normally this is changed before doing an version upgrade, e.g. from "release-4-0" to "release-5-0".

The default setting depends on the kenflow edition you have installed:

  • release-4-0
  • free-4-0
  • developer-4-0

"release-4-0" is used for kenaflow Standard Edition!

Changing the value from "free-4-0" to "release-4-0" will cause kenaflow to fail if you do not upgrade the license from FREE to STANDARD!

InfoServerPort

    <entry key="InfoServerPort" type="System.Int32" default="-1"></entry>

This is part of an experimental funtion. Please do not change it.

ProgramDataFolder

    <entry key="ProgramDataFolder" type="System.String" default=""></entry>

Here you can specify an absolute path under which kenaflow stores data.

The service account executing kenaflow must have read, write, change and delete permissions under that path.

Please see Advanced Configuration

This setting is not available in FREE editon and DEVELOPER edition of kenaflow!

CustomLibrary

    <entry key="CustomLibrary" type="System.String" default="" comment="relative to program folder"></entry>

Here you can specify a path to a global PowerShell library that is loaded and executed before each item, mail or workflow processing.

Here you can for example store global functions.

VSCodeDir

    <entry key="VSCodeDir" type="System.String" default=".\vscode" comment="please use the version of Visual Studio Code that we supply."></entry>

kenaflow contains a local copy of Visual Studio Code. This can be used to develop workflows with PowerShell and works well for kenaflow Debugging.

Please read Debugging

Visual Studio Code is started using kenaflow.exe --vscode

If you want to specify you own installation of Visual Studio code than you need to specify the path of VSCode here.

encryptSerializedWFCONFIG

    <entry key="encryptSerializedWFCONFIG" type="System.Boolean" default="true"></entry>

For performance reasons the configuration file _wfconfig.ps1 of each workflow is serialized as binary data stream.

For security reasons, this serialized file is encrypted.

Here this encryption can be switched off.

allowPowerShellPlaceholders

    <entry key="allowPowerShellPlaceholders" type="System.Boolean" default="false"></entry>

kenaflow templates () maybe contain PowerShell enabled placeholders marked with << and >>. To enable this the administrator must set this setting to true.

By default it is disabled!

PluginsEnabled

    <entry key="PluginsEnabled" type="System.Boolean" default="true"></entry>

This enables or disables the plugin subsystem of kenaflow.

PluginsFolder

    <entry key="PluginsFolder" type="System.String" default=".\Plugins" comment="relative path to program folder or absolute path"></entry>

This tells kenaflow where to find plugin assemblies.

If this path is relative its suspected to resist below the program folder where kenaflow.exe is located.

httpSecurityProtocolType

    <entry key="httpSecurityProtocolType" type="System.String" default="Tls12" comment="Values:Tls12,Tls,Tls11,Ssl3 (sperated by comma)"></entry>

New since 4.0.0.

This setting can be used to set the HTTP security protocol type(s) for kenaflow. It specifies what security protocol types can be used by kenaflow.

Under the hood it sets the static property System.Net.ServicePointManager.SecurityProtocol to the specified value(s).

Valid values are:

  • Tls12
  • Tls
  • Tls11
  • Ssl3

Default is Tls12. This is one and only security protocol type that should be used today.

Full Section Default

  <section name="basic">
    <entry key="database" type="System.String" comment="SQLite database location" default=".\kenaflow.sqlite"></entry>
    <entry key="globalFloodProtectionFile" type="System.String" default=".\adminAlertFloodProtection.txt"></entry>
    <entry key="globalFloodProtectionTBE" type="System.Int32" default="300" comment="in seconds"></entry>
    <entry key="globalWorkflowExecutionTBE" type="System.Int32" default="300" comment="in seconds"></entry>
    <entry key="globalWorkflowStateTBE" type="System.Int32" default="60" comment="in seconds"></entry>
    <entry key="ConfigEditor" type="System.String" default="notepad.exe"></entry>
    <entry key="EncryptConfig" type="System.Boolean" default="true"></entry>
    <entry key="Branch" type="System.String" default="release-4-0" comment="for updates..."></entry>
    <entry key="InfoServerPort" type="System.Int32" default="-1"></entry>
    <entry key="ProgramDataFolder" type="System.String" default=""></entry>
    <entry key="CustomLibrary" type="System.String" default="" comment="relative to program folder"></entry>
    <entry key="VSCodeDir" type="System.String" default=".\vscode" comment="please use the version of Visual Studio Code that we supply."></entry>
    <entry key="encryptSerializedWFCONFIG" type="System.Boolean" default="true"></entry>
    <entry key="allowPowerShellPlaceholders" type="System.Boolean" default="false"></entry>
    <entry key="PluginsEnabled" type="System.Boolean" default="true"></entry>
    <entry key="PluginsFolder" type="System.String" default=".\Plugins" comment="relative path to program folder or absolute path"></entry>
    <entry key="httpSecurityProtocolType" type="System.String" default="Tls12" comment="Values:Tls12,Tls,Tls11,Ssl3 (sperated by comma)"></entry>
  </section>

Discussion