🚀 Welcome to MDriven Learn –  Don’t miss the latest Release Notes.
TurnkeySettings

Introduction

The TurnkeySettings.xml file is a settings file in the App_Data folder of the Turnkey application. This file holds several settings that control the behavior of your application. Consider putting your OpenID config here.

Using the Portal

The TurnkeySettings.xml is recreated for your application by the portal.mdriven.net when you press SendSettingsAndRestart. The TurnkeySettings is thus a file that is usually generated based on the settings you have given to your application in portal.mdriven.net.

Local Installation (not using the Portal)

When you have a standalone or local installation that the Portal cannot reach, you need to supply this file yourself.

TurnkeySettingsOverride.xml

From October 15th, 2019, we allow for a TurnkeySettingsOverride.xml that will be read after the TurnkeySettings.xml file is read.

The use-case for this is, for example, to add your GraphAPI/OpenID config settings in this file, since this file will not be overwritten when you refresh the TurnkeyCore installation.

TurnkeySettingsExtra.xml

From July 2019, we allow for a TurnkeySettingsExtra.xml file to be created.

This file will not be touched/created by the Portal. The TurnkeySettingsExtra.xml will be read before the TurnkeySettings.xml file is read.

The use-case for TurnkeySettingsExtra.xml is that you may have settings local to your application that the Portal does not know about - like experimental or new settings not available in the Portal.

One such example at the time of writing is the ORCID authentication settings that we believe very few will use and thus should neither consume portal space nor increase portal complexity for the user.

There is also a TurnkeySettingsOverride, which is the same as above and is read AFTER TurnkeySettings.

Furthermore, the TurnkeySettingsExtra allows you to set the local app name - not overwritten by SendSettings:

<ApplicationNameAsMenu>false</ApplicationNameAsMenu>  -- this prevents the ApplicationName from being added as an index link after the AppLogo in the menubar

Some of the Settings Available in the TurnkeySettings.xml file

<HidePasswordLogin>False</HidePasswordLogin>  Read more: Hide Password login
<HideExternalLogin>False</HideExternalLogin>  Read more: Hide External Login
<AllowUserToChooseSocialLoginEmail>True</AllowUserToChooseSocialLoginEmail>
<SkipExternalAccountConfirmationScreen>False</SkipExternalAccountConfirmationScreen>
<UseCSSGridByDefault>True</UseCSSGridByDefault>
<HideRegistration>True</HideRegistration>
<CurrentUserViewModel>
name of viewmodel to bring up when the user clicks the logged-in name
</CurrentUserViewModel>

<TurnOffOWINButKeepSignalR>true/false(default)</TurnOffOWINButKeepSignalR>  This is needed when using Windows Auth in IIS but you still want to use SignalR, available from 2023-10-17
<RemoveTurnkeyAppAfterMinutes>10</RemoveTurnkeyAppAfterMinutes>  // this is how long a Turnkey session can be gone from the net before being a target for close down (the user will lose unsaved changes) 
<NumberOfTurnkeyEcoSpacesToKeepWhenFree>10</NumberOfTurnkeyEcoSpacesToKeepWhenFree> // this controls how many EcoSpaces we prepare in advance to use, and how many we keep when they are not needed (controls memory and load speed)
<TurnkeyTimeoutMinutes>1</TurnkeyTimeoutMinutes> // this controls how long a client screen will continue to show the UI if there is no user interaction
<AdvancedTables>true</AdvancedTables> // Turnkey DataGrid now lets the user resize column heads
<TableColumnsExcludeNames>ColumnName1,ColumnName2</TableColumnsExcludeNames> // When rendering DataGrids, you can filter out columns. This was added as a fix to remove the "Dummy" column used as a remedy for WPF right adjusted (numbers) columns that, when last in the grid, ended up at the far right of the screen and users missed it. The developer added a blank dummy column, but this confuses users when using AdvancedTables
<AttackBreakThreshold>2</AttackBreakThreshold> // If your Turnkeyserver is attacked, it will try to slow down access to the attacking IP-address by delaying the start of a new session. Set this to a high value (100000) to make it unlikely that the threshold is ever met, which effectively turns this off 


ShowDebugInfo

<ShowDebugInfo>False</ShowDebugInfo>
When True collects and makes a lot more information available
<ShowDebugInfoPassword>password</ShowDebugInfoPassword> 
Set a password to access debugging information pages when show debug info is false. Usually used in a production environment.

Warning: This will make the TK server slower and use more memory!

See also: OpenID_config