Reference - Web.config application keys

The system settings include appSettings keys and other settings, such as a connection string placed in appropriate sections of the project's web.config file. AppSettings keys are stored in the /configuration/appSettings section.

The following setting categories are available:

General settings

Key

Description

Default

Sample Value

CMSProgrammingLanguage

Indicates the programming language used in transformations and in custom code added to web parts.

Note: Existing transformations are not automatically rewritten to the new language. We only recommend changing the value before starting the project's development phase.

C#
<add key="CMSProgrammingLanguage" value="C#" />

or

<add key="CMSProgrammingLanguage" value="VB" />

CMSTrialKey

Contains a temporary trial license key. You can remove this value after installation.

"" (empty string)


CMSHashStringSalt

Sets the salt value that the system uses in hash functions, for example when creating macro signatures. The installer automatically adds the key for new instances of Kentico, with a random GUID as the value.

Note: Changing the hash salt on a website that already has defined content may prevent macros from resolving correctly, or break dialog links and images on your website. If you encounter such problems, you need to re-save the given content or globally re-sign macros (the system then creates the hashes using the new salt).

Random GUID
<add key="CMSHashStringSalt" value="eb2d6fac-8b9e-427c-b98b-3c562dffbb35" />

CMSUseVirtualPathProvider

Indicates if the virtual path provider is enabled.

The system uses the virtual path provider to load virtual objects, such as ASCX transformations and page layouts, from the database.

true
<add key="CMSUseVirtualPathProvider" value="false" />

CMSRenderGeneratorName

Indicates if the 'generator' meta tag stating that the page was generated by Kentico is generated in the header of each page.

false
<add key="CMSRenderGeneratorName" value="true"/>

CMSClearFieldEditor

Determines field editor behavior when creating new fields. If true, new fields will have empty values of attributes. If false, new fields will have pre-defined values, the same as the previously selected field.

true
<add key="CMSClearFieldEditor" value="true"/>

CMSShowTemplateASPXTab

Indicates whether the ASPX code tab is visible when editing page templates. The tab allows you to export portal engine templates as ASPX page templates.

false
<add key="CMSShowTemplateASPXTab" value="true"/>

CMSDatabaseCulture

Specifies the default culture of the system's database.

en-us
<add key="CMSDatabaseCulture" value="en-us"/>

CMSDisposeConnectionAfterClose

If true, database connection is automatically disposed (allocated resources released) when a database connection is closed.

false
<add key="CMSDisposeConnectionAfterClose" value="true"/>

CMSUseSessionCookies

Indicates whether session cookies are used.

true
<add key="CMSUseSessionCookies" value="true"/>

CMSFileScriptTimeout

The maximum number of seconds a script can run before the server terminates it.

7200
<add key="CMSFileScriptTimeout" value="7200"/>

CMSUseExtensionOnPostback

When using extensionless URLs or custom extensions, certain legacy environments had problems processing postbacks. To prevent the postback problems, the system retains the ability to automatically attach the .aspx extension to the URL in the form tag.

Set the key to true to attach the .aspx extension in postback URLs.

false
<add key="CMSUseExtensionOnPostback" value="false"/>

CMSAllowCheckIOPermissions

If true, write permissions on the site folder are checked when necessary and produce an error message when they are insufficient.

true
<add key="CMSAllowCheckIOPermissions" value="true"/>

CMSWorkflowSendEmailToModerator

If true, workflow notification emails will be sent to the user who is performing the current workflow step along with other users involved in the workflow.

false
<add key="CMSWorkflowSendEmailToModerator" value="true"/>

CMSControlElement

If present in the web.config, the tag entered in the value will be used instead of the SPAN tag when generating pages.

span
<add key="CMSControlElement" value="div"/>

CMSUseParsedSelfClose

Indicates if parsed self closing tags operations (faster) are used instead of standard self close filter.

true
<add key="CMSUseParsedSelfClose" value="true"/>

CMSGetFileEndRequest

If true, ApplicationInstance.CompleteRequest() is used instead of Response.End() in the CompleteRequest method.

true
<add key="CMSGetFileEndRequest" value="true"/>

CMSDefaultUserID

Specifies default user ID.

0
<add key="CMSDefaultUserID" value="53"/>

ImportFilesDiskPath

Specifies path to attachments that should be attached to pages imported via the SQL Import windows application.

"" (empty string)

<add key="ImportFilesDiskPath" value="C:\Temp"/>

CMSDeleteTemporaryAttachmentsOlderThan

Specifies how old attachments need to be in order to be deleted by the Delete old temporary attachments scheduled task. The value is in hours. Attachments older than the entered value will be deleted when the scheduled task is executed.

24
<add key="CMSDeleteTemporaryAttachmentsOlderThan" value="12"/>

CMSDisableAdministrationInterface

Allows you to disable the Kentico administration interface. The system displays an Access denied screen on each attempt to access the administration interface (~/Admin).

false
<add key="CMSDisableAdministrationInterface" value="true"/>

CMSMaxNodeAliasLength

Determines the maximum allowed length of page aliases. The default value is 50 characters and larger names are trimmed. You can increase the allowed length if you need to enter very long aliases (URLs).

If you increase the key's value, you also need to:

  1. Edit the ~\CMSModules\Content\CMSDesk\Properties\Alias_List.aspx file and increase the MaxLength property of the txtAlias control.
  2. Delete the following view from your database:
    • View_CMS_Tree_Joined

  3. Increase the nvarchar size for the NodeAlias column in the CMS_Tree database table.

  4. Recreate the deleted views. Run the following scripts:
    • ~\App_Data\Install\SQL.zip\Objects\View_CMS_Tree_Joined.sql

Note: The maximum allowed length for the Node alias path is 450 characters, so the system may trim the alias path for pages deep in the content tree regardless of the allowed length.

50
<add key="CMSMaxNodeAliasLength" value="120" />

CMSMaxNodeNameLength

Sets the maximum possible length for the names of pages in the content tree. The default value is 100 characters and larger names are trimmed. This key can be used to increase the allowed length, which can be useful if you wish to enter very long page names.

If you use the key, you also need to set the same size for the following columns in the database:

  • NodeName (CMS_Tree table)
  • DocumentName (CMS_Document table)
  • DocumentName (CMS_EventLog table)
  • PageTemplateDisplayName (CMS_PageTemplate table)
  • VersionDocumentName (CMS_VersionHistory table)
100
<add key="CMSMaxNodeNameLength" value="150" />

CMSWebAnalyticsSlidingIPExpiration

This key is used when the Settings -> On-line marketing -> Web Analytics -> Remember visitors by IP (minutes) key has a value higher than 0.

If enabled, users who are active on the site but have disabled cookies are not logged as new visitors after the set time. If disabled, even an active user with disabled cookies is logged as a new site visitor after the set time.

enabled
<add key="CMSWebAnalyticsSlidingIPExpiration" value="false" />

CMSAuthenticationType

This key overrides the values returned by the IsFormsAuthentication and IsWindowsAuhentication methods in CMS.Helpers.RequestHelper.

You will typically use this if you are using a custom authentication provider whose authentication type is a non-standard one (e.g. Federated authentication) to make Kentico handle it as if it was windows or forms authentication.

The following values are available:

  • default: standard behavior
  • forms: IsFormsAuthentication always returns true, IsWindowsAuthentication always returns false
  • windows: IsFormsAuthentication always returns false, IsWindowsAuthentication always returns true
  • both: IsFormsAuthentication always returns true, IsWindowsAuthentication always returns true
default
<add key="CMSAuthenticationType" value="windows" />

CMSTemporaryFilesFolderPath

Overrides the default ~/App_Data/CMSTemp location where various temporary files are stored by the system. As a value, you can use:

  • physical disk path - e.g. c:\myfiles\mysite
  • virtual path - e.g. ~/UploadedFiles
  • UNC path - e.g. \\server\folder

<add key="CMSTemporaryFilesFolderPath" value="\\server\MyCustomFolder" />

CMSDefaultTheme

Sets the name of the folder within ~\App_Themes\ containing the theme that the system uses by default.

Default
<add key="CMSDefaultTheme" value="MyTheme" />

CMSImagesDirectory

Sets a custom path to the Images folder of the theme to be used by the system. It can be located in a different location than within the default theme folder.

The default value is ~/App_Themes/<default theme folder>/Images.

~/App_Themes/<default theme folder>/Images
<add key="CMSImagesDirectory" value="~/App_Themes/MyTheme/Images" />

CMSApplicationName

Used by Kentico Windows services to identify the Kentico instance. In case of IIS installations, the path to the instance in IIS is used as its value. In case of Visual Studio web server installation, the name of the target web project root folder is used. The value must be less than 60 characters long.

It is also used to register Health monitoring performance counters and to identify respective counter categories when writing monitored values to them.


<add key="CMSApplicationName" value="Default Web Site/CMS" />

CMSApplicationGuid

Unique identifier of the Kentico instance. Used by Kentico Windows services to identify the Kentico instance.


<add key="CMSApplicationGuid" value="fe5493b6-4ea9-42e6-92fa-0db1156b9163" />

CMSMediaFileMaxVersioningSize

Sets the maximal file size of versioned media files in kiloBytes. Files in media libraries that are larger than the entered value will not have versions created on their update.

2147483647 (int.MaxValue)
<add key="CMSMediaFileMaxVersioningSize" value="1024" />

CMSShowForgottenPassLink

Indicates if a link that allows users to recover a forgotten password should be displayed on the logon page for the administration interface.

The default value is true.

true
<add key="CMSShowForgottenPassLink" value="false" />

CMSSelectorMaxDisplayedTotalItems

Determines the maximum number of items that can be displayed in drop‑down list selectors in the administration interface. If there are more selectable objects, the list will be shortened and the (more..) option will be added.

The value of this key can be overridden for individual UniSelector controls.


<add key="CMSSelectorMaxDisplayedTotalItems" value="30" />

CMSStorageProviderAssembly

Indicates the assembly name of storage provider.

CMS.FileSystemStorage
<add key="CMSStorageProviderAssembly" value="CMS.FileSystemStorage"/>

CMSWebAnalyticsShowFullData

Indicates whether the amount of data displayed in the analytics reports should be reduced before being rendered.

The default value is false (for performance reasons).

false
<add key="CMSWebAnalyticsShowFullData" value="true"/>

CMSPhysicalFilesCacheMinutes

Sets the number of minutes for which clients consider physical files to be valid and up-to-date when using client caching (i.e. the length of the client cache expiration time for files). Specifically, the key determines how the server sets the Expires response header for file requests.

The key only applies to files stored on the file system that are served using the GetResource.ashx handler. Other types of dynamic files use the expiration time set in Settings -> System -> Performance -> Client cache (minutes) within the administration interface. Physical files that are requested directly use the IIS client cache configuration.

See also: Caching files and resources

10080
<add key="CMSPhysicalFilesCacheMinutes" value="60"/>

CMSHTMLEncodeEval

If true, the CMSAbstractTransformation class Eval methods used in ASCX transformations encode string values.

false
<add key="CMSHTMLEncodeEval" value="true"/>

CMSEmailValidationRegex

Allows you to customize the regular expression that the system uses to validate email addresses.


<add key="CMSEmailValidationRegex" value="^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"/>

CMSMacrosCaseSensitiveComparison

If true, string comparisons in macros are case sensitive (if not overriden by |(casesensitive) macro parameter).

false
<add key="CMSMacrosCaseSensitiveComparison" value="true"/>

CategoryIDLength

Category IDs in the CategoryIDPath column/field (the CMS_Category table) will be padded with leading zeros to the width specified in the key, e.g. 00001232.

8
<add key="CategoryIDLength" value="9"/>

UIelementIDLength

UI element IDs in the ElementIDPath column/field (the CMS_UIElement table) will be padded with leading zeros to the width specified in the key, e.g. 00001232.

The default value is 8.

8
<add key="UIelementIDLength" value="9"/>

SettingsCategoryIDLength

Settings category IDs in the CategoryIDPath column/field (the CMS_SettingsCategory table) will be padded with leading zeros to the width specified in the key, e.g. 00001232.

8
<add key="SettingsCategoryIDLength" value="9"/>

CMSDeleteTemporaryUploadFilesOlderThan

Specifies how old (in hours) unfinished upload files should be deleted by the Delete old temporary upload files scheduled task.

24
<add key="CMSDeleteTemporaryUploadFilesOlderThan" value="12"/>

CMSImageEditorMaxVersionsCount

Indicates how many versions of edited image should be saved in the image editor temporary folder.

999
<add key="CMSImageEditorMaxVersionsCount" value="500"/>

CMSImageExtensions

Specifies a list of file extensions which should be allowed as image files.

""
<add key="CMSImageExtensions" value=""/>

CMSAudioExtensions

Specifies a list of file extensions which should be allowed as audio files.

""
<add key="CMSAudioExtensions" value=""/>

CMSVideoExtensions

Specifies a list of file extensions which should be allowed as video files.

""
<add key="CMSVideoExtensions" value=""/>

CMSUrlPort

Specifies the port number used in certain types of URLs (for example GetResource requests for images or modal dialog URLs). Standard navigation URLs of web pages are not affected.

If not set, the URL port is automatically taken from the current request (80 in most cases).

Add this key if you wish to generate URLs with a specific port number, regardless of the port supplied in requests.

The CMSUrlPort key may also be useful in scenarios where requests are redirected to a non‑standard port number, but you wish to use the usual HTTP port in URLs (for example in a web farm environment, with a load balancer directing traffic to multiple servers identified by different port numbers).


<add key="CMSURLPort" value="80" />
CMSSSLUrlPort

Specifies the port number for certain types of URLs (for example GetResource requests for images or modal dialog URLs) for requests using the SSL (HTTPS) protocol. Overrides the CMSUrlPort key for SSL requests.

Add this key if you wish to generate URLs with a specific port number, regardless of the port supplied in requests.


<add key="CMSSSLURLPort" value="443" />

CMSUseServerSideLiveIDAuthentication

Determines which authentication mode is used during Microsoft account (Windows Live ID) authentication. Each mode generates a different authentication token for the same Microsoft account user.

Only set the value to false if you wish to ensure backward compatibility for users created via Live ID authentication by versions of Kentico CMS older than 6.0 (or those users created while this key is set to false).

When using the backward compatibility authentication mode, your website's domain must be set as the Target domain for your application in the Microsoft account Developer Center.

Note: New users registered via Microsoft account authentication while this key is false will only work with the original authentication mode. Users created under the new mode will no longer be recognized.

true
<add key="CMSUseServerSideLiveIDAuthentication" value="false" />

CMSDefaultCookieLevel

Can be used to set the default cookie level system-wide. Available cookie levels are: None, System, Essential, Editor, Visitor, All.

All
<add key="CMSDefaultCookieLevel" value="System" />
CMSSocialMediaCookieLevel Sets the cookie level for social media cookies. 1000
<add key="CMSSocialMediaCookieLevel" value="200" />

CMSDefaultPageClassName

Use the key to change the default value of the page menu item classname.

CMS.MenuItem
<add key="CMSDefaultPageClassName" value="CMS.MenuItem" />
CMSXUACompatibleValue

Defines a value of X-UA-Compatible header meta tag. This meta tag allows you to choose the version of Internet Explorer, in which the page should be rendered.

Available options are:

  • IE=5
  • IE=EmulateIE7
  • IE=7
  • IE=EmulateIE8
  • IE=8
  • IE=EmulateIE9
  • IE=9
  • IE=edge - uses the highest mode available for the particular version of Internet Explorer.

The meta tag is added if IE browser is used.

IE=edge
<add key="CMSXUACompatibleValue" value="IE=9" />
CMSUseXUACompatible Defines if X-UA-Compatible header meta tag can be added.
true
<add key="CMSUseXUACompatible" value="false" />
CMSDisplayApplicationErrorMessages

Defines the level of information which is displayed to the user if the application fails to initialize (e.g., the application fails to connect to the SQL server):

  • false - only general error message is displayed.
  • true - detailed information about the origin of the error is displayed.
false
<add key="CMSDisplayApplicationErrorMessages" value="true" />
CMSUpdateLastLogonForExternalUsers Indicates whether the system updates the last logon time when authenticating external users. For example, you can set the key to false to avoid user updates on each request when using Windows authentication.
true
<add key="CMSUpdateLastLogonForExternalUsers" value="false" />
CMSEnable51D Indicates whether the 51Degrees.mobi device detection is enabled or disabled. Disabling the device detection frees up some of the server's memory resources. true
<add key="CMSEnable51D" value="false" /> 

CMSTransactionIsolationLevel

Sets the Isolation level used for queries that are executed as transactions. Use only in special cases if you encounter problems with deadlocks.

For more information about the available values, see: IsolationLevel Enumeration

ReadCommitted
<add key="CMSTransactionIsolationLevel" value="ReadUncommitted" />
CMSUseAbsoluteCSSClientURLs

If set to true, the system converts URLs inside CSS stylesheets from relative to absolute (including the protocol and site domain) when serving the actual CSS code to browsers. For example, background:url(/media/images/pic.png) becomes background:url(http://www.domain.com/media/images/pic.png).

Only enable the key if you need to ensure backward compatiblity for stylesheets from previous Kentico versions that rely on the absolute URL conversion.

false
<add key="CMSUseAbsoluteCSSClientURLs" value="true" />

CMSForceAttachmentHistoryInDatabase

Allows you to overwrite the Settings -> System -> Files -> Store files in setting for page attachment history and store the data in the database instead of the file system. false
<add key="CMSForceAttachmentHistoryInDatabase" value="true" />

> Back to list of web.config key categories

Active Directory settings

You can use the following keys to configure the import of users and roles when using Windows Active Directory authentication:

Key

Description

Default

Sample Value

CMSImportWindowsRoles

When Windows authentication is used and this key set to true, the domain groups of users in Active Directory are imported into the system as roles.

true
<add key="CMSImportWindowsRoles" value="false"/>

CMSRoleImportFormat

When the mixed mode authentication is used, this key determines the format of role names which are imported from Active Directory:

  • SAM - the format of imported roles is rolename.
  • DomainSAM - the format of imported roles is domain-rolename.
DomainSAM
<add key="CMSRoleImportFormat" value="DomainSAM"/>
CMSADDefaultMapUserName

When the mixed mode authentication is used, this key determines the format of user names which are used to communicate with the Active Directory provider:

  • sAMAccountName - uses the Active Directory user name (without the domain).
  • userPrincipalName - uses the Active Directory user principal name (e.g. MyName@office.example.com).
sAMAccountName
<add key="CMSADDefaultMapUserName" value="userPrincipalName" />

> Back to list of web.config key categories

Assembly settings

You can use the following keys to assign custom assemblies to be used instead of specific providers:

Key

Description

Default

Sample Value

CMSSearchProviderAssembly

Name of the assembly that is used for full-text search based on the SQL engine.

CMS.SearchProviderSQL
<add key="CMSSearchProviderAssembly" value="CMS.SearchProviderSQL" />

CMSDataProviderAssembly

Specifies a custom data provider assembly used as the database connector. See Custom Data provider example.

CMS.DataProviderSQL
<add key="CMSDataProviderAssembly" value="CMS.CustomDataProvider"/>

CMSVirtualPathProviderAssembly

Specifies the assembly that implements a custom Virtual path provider.

The system uses the virtual path provider to load virtual objects, such as ASCX transformations and page layouts, from the database.

CMS.VirtualPathProvider
<add key="CMSVirtualPathProviderAssembly" value="CMS.CustomVirtualPathProvider"/>

CMSCustomEcommerceProviderAssembly

Specifies the custom e-commerce provider assembly.

CMS.EcommerceProvider
<add key="CMSCustomEcommerceProviderAssembly" value="CMS.CustomECommerceProvider"/>

> Back to list of web.config key categories

Settings for forbidden characters in user and role names

You can use the following keys to configure forbidden characters in user and role names:

Key

Description

Default

Sample Value

CMSEnsureSafeUserNames

Indicates if forbidden characters in user names imported from AD should be replaced. If turned off by setting the value to false, you may experience problems when editing users imported with forbidden characters. Therefore, it is NOT RECOMMENDED to set the key to false.

true
<add key="CMSEnsureSafeUserNames" value="false" />

CMSEnsureSafeRoleNames

Indicates if forbidden characters in role names imported from AD should be replaced. If turned off by setting the value to false, you may experience problems when editing roles imported with forbidden characters. Therefore, it is NOT RECOMMENDED to set the key to false.

true
<add key="CMSEnsureSafeRoleNames" value="false" />

CMSForbiddenUserNameCharactersReplacement

Sets the character by which forbidden characters in user names imported from AD should be replaced.

If not set, value from Settings -> URLs and SEO -> Forbidden characters replacement is used.


<add key="CMSForbiddenUserNameCharactersReplacement" value="-" />

CMSForbiddenRoleNameCharactersReplacement

Sets the character by which forbidden characters in role names imported from AD should be replaced.

If not set, value from Settings -> URLs and SEO -> Forbidden characters replacement is used.


<add key="CMSForbiddenRoleNameCharactersReplacement" value="-" />

CMSUserValidationRegEx

Sets custom regular expression used for user name validation (used when new accounts are created or when existing usernames are modified).

The default value is "^[a-zA-Z0-9_\\-\\.@]+$".

If the CMSEnsureSafeUserNames key is set to false, the following regular expression is used by default: "^[a-zA-Z0-9_\\-\\.\\\\@]+$".


<add key="CMSUserValidationRegEx" value="([A-Za-z0-9-]+)" />

> Back to list of web.config key categories

Settings for forbidden character replacement in URLs

You can use the following keys to configure how forbidden URL characters should be replaced:

Key

Description

Default

Sample Value

CMSForbiddenURLValues

The characters entered as the value of this key are forbidden in URLs (page aliases and URL paths) and will be replaced automatically by the character specified in the Forbidden characters replacement setting in Settings -> URLs and SEO.

By default, the following characters are forbidden:

\/:*?"<>|&%.'#[]+=„“ and the space character.

If you add this key to the web.config, its value will override the default forbidden character set. This way, you can either allow some of the forbidden characters or add new ones.

Please note that it is recommended to keep the default characters forbidden, since they may prevent certain types of URLs from working correctly if entered into URL paths.

Also keep in mind that some characters need to be escaped in the web.config according to standard XML rules, e.g. enter &lt; instead of the < character.


<add key="CMSForbiddenURLValues" value="\/:$?&quot;&lt;&gt;|&amp;%.&apos;#[] =" />

CMSLimitUrlReplacements

While enabled, consecutive forbidden characters in URLs will be replaced by only a single replacement character and forbidden URL characters located at the beginning or end of the path will be removed completely instead of being replaced. If set to false, each forbidden character is replaced individually.

true
<add key="CMSLimitUrlReplacements" value="false" />

CMSUseLimitReplacementsForUrlPath

Indicates if the functionality enabled by the CMSLimitUrlReplacements key should be applied to the Page URL Path property.

true
<add key="CMSUseLimitReplacementsForUrlPath" value="false" />

> Back to list of web.config key categories

Content staging settings

You can use the following keys to configure the behavior of Content staging:

Key

Description

Default

Sample Value

CMSStagingAcceptAllCertificates

If set to true, the system accepts all certificates when performing content staging tasks over a secured protocol (SSL). Includes self-signed certificates. If false, the system only accepts certificates generated by a trusted certification authority.

false
<add key="CMSStagingAcceptAllCertificates" value="true" />

CMSMediaFileMaxStagingSize

Sets the maximal file size of synchronized media files in kiloBytes. Files in media libraries that are larger than the entered value will not be synchronized using content staging.

2147483647 (int.MaxValue)
<add key="CMSMediaFileMaxStagingSize" value="1024" />

CMSStagingTreatServerNamesAsInstances

On Kentico instances that contain multiple sites and use staging, changes made to global objects produce staging tasks for all staging servers across all sites. If you synchronize such tasks at different times on different sites, you risk overwriting newer data with the data of old synchronization tasks (we recommend synchronizing such changes at the same time on all servers and sites).

If you have full control over all sites on your instance, you can define the same set of target servers for each site (each server must have an identical Code name across all sites), and set the CMSStagingTreatServerNamesAsInstances key to true. When a global staging task is synchronized, the system then automatically deletes the task from servers with matching code names on the other sites.

The default value is false because code name collisions may occur for staging servers on unrelated sites.

false
<add key="CMSStagingTreatServerNamesAsInstances" value="true" />

CMSStagingServerName

Name of the staging server used for advanced bi-directional content staging. The value needs to be used as the code name when defining this server as a target server of other servers.

See Bi-directional content staging for more information.

"" (empty string)
<add key="CMSStagingServerName" value="server2" />

CMSStagingServiceTimeout

Sets timeout interval for the service used to synchronize staging tasks. The key must be configured within the web.config file on the source instance from which the tasks are being synchronized.

Enter the value in seconds.

180
<add key="CMSStagingServiceTimeout" value="240" />

CMSStagingLogSynchronization

Indicates if performed staging synchronization tasks should be logged as new staging tasks (that can be subsequently transferred to other staging servers). The primary use of this key is to disable logging of these tasks globally for all sites in the system.

true
<add key="CMSStagingLogSynchronization" value="false" />

CMSSynchronizeSharedTemplatesWithDocuments

Indicates if changes made to page templates used by multiple pages should be synchronized together with page update synchronization tasks of all pages using the template. If disabled, page update tasks will not include page template synchronization tasks.

true
<add key="CMSSynchronizeSharedTemplatesWithDocuments" value="false" />
CMSStagingUseTreeCustomHandlers If true, events from the DocumentEvents class are raised when processing page staging tasks. false
 <add key="CMSStagingUseTreeCustomHandlers" value="true" />

CMSStagingLogGlobalObjectsOnlyForAssignedSites

If true, tasks for global objects are logged only for the sites to which the respective objects are assigned.

false
<add key="CMSStagingLogGlobalObjectsOnlyForAssignedSites" value="true" />

> Back to list of web.config key categories

WYSIWYG editor settings

You can use the following keys to configure the WYSIWYG editor:

Key

Description

Default

Sample Value

CKEditor:DefaultToolbarSet

Allows you to set the default toolbar when you use the 'default' option for toolbar sets on a page. You can specify one of the following values:

  • Full
  • Standard
  • Basic

You can make custom toolbar sets 'default' the same way. Note that the values are case sensitive.


Standard
<add key="CKEditor:DefaultToolbarSet" value="Full" />

CMSWYSIWYGFixXHTML

Indicates if the WYSIWYG editor should automatically try to fix XHTML incompatibilities in the code it generates.

Supported values are true and false.

true
<add key="CMSWYSIWYGFixXHTML" value="true" />

CKEditor:BasePath

Specifies the location of the WYSIWYG editor (CKEditor).

By default, it is located in ~/CMSAdminControls/CKeditor.


<add key="CKEditor:BasePath" value="/CKeditor/" />

CKEditor:PersonalizeToolbarOnLiveSite

Indicates if the CK toolbar can be personalized on the live site.

Supported values are true and false.

false
<add key="CKEditor:PersonalizeToolbarOnLiveSite" value="true" />

> Back to list of web.config key categories

Code editor settings

You can use the following keys to configure the Code editor, which is used in the interface to ensure syntax highlighting and work with code fields:

Key

Description

Default

Sample Value

CMSEnableSyntaxHighlighting

Globally enables or disables the advanced editor and syntax highlighting support for all code fields. This can be used to turn off the editor if it is causing performance issues or other problems.

true
<add key="CMSEnableSyntaxHighlighting" value="false" />

CMSEnableSyntaxHighlighting.<Language>

Can be used to disable the advanced editor and syntax highlighting support for fields that display code in a specific language.

Replace the <Language> string with the name of the language that you wish to disable. The following language options are available: Text, HTML, CSS, JavaScript, XML, CSharp, SQL, HTMLMixed, ASPNET, CMSSharp.

All languages are enabled by default.


<add key="CMSEnableSyntaxHighlighting.CSS" value="false" />

CMSShowLineNumbers

Determines whether the code editor in the administration interface displays the panel containing line numbers by default.

Note: The editor fields used in the Kentico administration interface always have line numbers disabled by default. The key only affects custom fields that have displaying of line numbers enabled (fields using the Macro editor form control with the Show line numbers parameter enabled).

true
<add key="CMSShowLineNumbers" value="false" />

> Back to list of web.config key categories

E-commerce settings

You can use the following keys to configure the Kentico E-commerce Solution:

Key

Description

Default

Sample Value

CMSEnableOrderItemEditing

If true, you can modify order item parameters (such as order item name, price or ordered quantity) when editing an existing order that has not been paid yet.

Editing order item properties

false
<add key="CMSEnableOrderItemEditing" value="true"/>

CMSUseMetaFileForProductImage

Indicates if meta files should be used for product images.

If set to true, the system asks the user, while creating or editing a product (or a product option), to select a product image from the file system on their computer. The system then uploads the product image to a server, and saves it as a product metafile (a product image page of the cms.file type is not created). The path to this metafile is saved as the product image path (SKUImagePath).

If set to false, the system asks the user to select a page of the cms.file type as a product image. The path to the selected page is saved as the product image path (SKUImagePath).

true
<add key="CMSUseMetaFileForProductImage" value="true"/>

> Back to list of web.config key categories

Email settings

You can use the following keys to configure the sending of emails:

Key

Description

Default

Sample Value

CMSEmailTransferEncoding

Specifies the type of transfer encoding used for emails sent from Kentico.

Supported values are: base64, quotedprintable, sevenbit

base64
<add key="CMSEmailTransferEncoding" value="QuotedPrintable" />
CMSEmailSendLimit

Sets the maximum number of messages sent to individual SMTP servers in a single connection. When the limit is reached, the connection is automatically closed and a new one opens. The process continues until all messages are sent.

You can lower the value if you encounter SMTP errors with too many messages set per connection.

50
<add key="CMSEmailSendLimit" value="20" />
CMSLogEmails Enables logging of all sent emails to the ~/App_Data/logemails.log file. The log contains each email's recipient and subject. Depends on debugging settings
<add key="CMSLogEmails" value="true"/>
 CMSDebugEmails Disables sending of emails to the actual recipients. The system only logs emails into the event log. Helpful if you need to test the functionality, but do not want the emails to actually reach the recipients.
  • To view the event log, open the Event log application.
  • The emails are logged as Information type events.
  • The Event code column contains the recipient's address.
  • The system randomly generates Sending failed for <recipient's email address> errors to simulate sending errors.
false
<add key="CMSDebugEmails" value="true"/>

> Back to list of web.config key categories

Email campaign link tracking settings

You can use the following keys when you need to achieve specific behavior of the link tracking in email campaigns:

Key

Description

Default

Sample Value

CMSLinkTrackerKeepUrlCase

[Requires hotfix 9.0.35 or newer]

Indicates whether the links tracked in email campaigns should have the case-sensitive URL paths.

The default value is false, which means that the tracked links use lowercase URL paths. If set to true, the tracked links use case-sensitive URL paths.

false
<add key="CMSLinkTrackerKeepUrlCase" value="true"/>

Event log settings

You can use the following keys when you need to achieve specific behavior of the Event log:

Key

Description

Default

Sample Value

CMSLogEvents

Indicates if logging of events in the Event log is enabled.

true
<add key="CMSLogEvents" value="true"/>

CMSLogKeepPercent

Coefficient for Event log deletion. Keeps the specified percentage of extra log items in the log with regards to the Settings -> System -> Event log size setting. The specified percentage of the oldest events is deleted by batch when the percentage is exceeded. If 0, the exact number of records is kept in the log.

10
<add key="CMSLogKeepPercent" value="10"/>

CMSLogEventsToFile

If true, events are also logged into the ~\App_Data\logevents.log file.

false
<add key="CMSLogEventsToFile" value="true"/>

CMSLogFieldChanges

If true and the Settings -> System -> Log metadata changes option is enabled, details about particular object changes are included in the respective log records.

false
<add key="CMSLogFieldChanges" value="true"/>

CMSLogDocumentFieldChanges

If true and the Settings -> System -> Log metadata changes option is enabled, details about changes of values in page fields are included in the respective log records.

false
<add key="CMSLogDocumentFieldChanges" value="true"/>

CMSLogNewsletterIssueEvents

Indicates if the system logs campaign email changes into the event log (including logging of all sent issues).

You can disable logging of these events if you encounter problems with performance or a cluttered event log when mailing issues to a very large number of subscribers.

true
<add key="CMSLogNewsletterIssueEvents" value="false" />

CMSLogMATransitions

Indicates if the system logs all step transitions in Marketing automation processes into the event log.

You can disable logging of these events if you encounter performance issues or a cluttered event log when running automation processes for a very large number of contacts.

true
<add key="CMSLogMATransitions" value="false" />

CMSDataExportTemplateFolder

Indicates the starting path for template lookup.

~/App_Data/CMSModules/DataExport
<add key="CMSDataExportTemplateFolder" value="~/App_Data/CMSModules/DataExport"/>

> Back to list of web.config key categories

Export/import settings

You can use the following keys when you want to configure file exporting:

Key

Description

Sample Value

CMSExportExcludedFolders

Specifies which folders are filtered from the Files folder of the export package.

.svn folders are excluded by default, even without this key added.

<add key="CMSExportExcludedFolders" value="test*;cms*" />

CMSExportExcludedFiles

Specifies which files are filtered from the Files folder of the export package.

.scc files are excluded by default, even without this key added.

<add key="CMSExportExcludedFiles" value="test*;cms*" />

CMSSiteUtilsFolderPath

Overrides the default ~/CMSSiteUtils/ location where the system stores export and import packages by default. As a value, you can use:

  • physical disk path - e.g. c:\myfiles\mysite
  • virtual path - e.g. ~/UploadedFiles
  • UNC path - e.g. \\server\folder
<add key="CMSSiteUtilsFolderPath" value="\\server\MyCustomFolder" />

> Back to list of web.config key categories

Item listing settings

You can use the following keys to configure item listing in the Kentico administration interface:

Note: The web.config keys listed below only define default global settings, and individual listing components (UniGrid controls) can override the values. As a result, the values that you configure may not affect all parts of the administration interface.

Key

Description

Default

Sample Value

CMSDefaultListingFilterLimit

Determines the minimum number of items that must be included in a listing in order for a filter to be shown. If the number of listed items is lower than this value, the filter is not displayed. If it is larger, the filter is displayed. This applies to all listings (UniGrid controls) across the entire UI.

25
<add key="CMSDefaultListingFilterLimit" value="40" />
CMSDefaultPageSizeOptions

Sets the options available in the page size selector for listings in the Kentico interface (the Items per page setting). Values must be separated by commas.

You can use the ##ALL## value to add an option that lists all available rows on a single page (not recommended if you have objects with a very large number of records).

5,10,25,50,100
<add key="CMSDefaultPageSizeOptions" value="10,50,200" />

CMSDefaultListingPageSize

Sets the initial page size of listings in the Kentico interface (the Items per page setting). If the value is not included among the options defined by the CMSDefaultPageSizeOptions key, the system automatically inserts the value as an additional option.

25
<add key="CMSDefaultListingPageSize" value="50" />

CMSListingShowFirstLastButtons

If enabled, the first and last page link buttons will be included in the pagers of listings in the UI with a large enough number of items. If disabled, the buttons will always be hidden.

If both this and the ShowDirectPageControl keys are disabled, only TopN items are loaded, while TopN = PageSize * (currentPageIndex + CurrentPagesGroupSize).

true
<add key="CMSListingShowFirstLastButtons" value="false" />

CMSListingShowDirectPageControl

If enabled, a textbox that allows the current page to be changed by directly entering a number will be included in pagers of listings in the UI with a large enough number of items. If disabled, the control will always be hidden.

If both this and the ShowFirstLastButtons keys are disabled, only TopN items are loaded, while TopN = PageSize * (currentPageIndex + CurrentPagesGroupSize).

true
<add key="CMSListingShowDirectPageControl" value="false" />

> Back to list of web.config key categories

URL settings for cultures

You can use the following keys to set up URL behavior for the culture (language) versions of pages:

Key

Description

Default

Sample Value

CMSUseCultureForBestPageInfoResult

Indicates whether the currently selected culture should have the highest priority when deciding which language version of a page should be displayed.

The default value is false, which means that accessing a page through the custom URL set for one of its specific culture versions will override and change the preferred culture accordingly.

If set to true, the currently selected culture will be reflected even when a culture‑specific page URL path is used.

false
<add key="CMSUseCultureForBestPageInfoResult" value="true" />

> Back to list of web.config key categories

Query string parameter name settings

You can use the following keys to change certain query string parameter names:

Key

Description

Default

Sample Value

CMSLanguageParameterName

Changes the name of the query string parameter used to set the culture. For example, this allows you to get Home?sprache=de-de instead of the default Home?lang=de-de.

lang
<add key="CMSLanguageParameterName" value="sprache" />

CMSAliasPathParameterName

Changes the name of the aliaspath query string parameter so that you get products.aspx?ap=/products/myproduct instead of the default products.aspx?aliaspath=/products/myproduct.

aliaspath
<add key="CMSAliasPathParameterName" value="ap" />

> Back to list of web.config key categories

Scheduler settings

By adding the following keys to your web.config, you can configure the scheduler:

Key

Description

Default

Sample Value

CMSUseAutomaticScheduler

Indicates if automatic scheduling should be used. When enabled, the scheduler periodically requests the cmspages/scheduler.aspx page which ensures that scheduled tasks are processed regularly, even if there is no website activity.

If turned off (false - by default), tasks are processed at the end of standard page requests.

false
<add key="CMSUseAutomaticScheduler" value="true" />

CMSRunSchedulerWithinRequest

If true (the default value), the scheduler is executed within the standard EndRequest event of a page. If false, the scheduler is executed via the ~/cmspages/scheduler.aspx page.

true
<add key="CMSRunSchedulerWithinRequest" value="false" />

CMSSchedulerURL

URL of the physical location of the scheduler.aspx page.

~/cmspages/scheduler.aspx
<add key="CMSSchedulerURL" value="https://domain/cmspages/scheduler.aspx" />

CMSSchedulerAcceptAllCertificates

If true, all security certificates (including not valid ones) will be accepted when accessing the scheduler.aspx page via a secured protocol.

false
<add key="CMSSchedulerAcceptAllCertificates" value="true" />

CMSSchedulerUserName

Sets the user name under which the scheduler.aspx page should be accessed (e.g. when using windows authentication).

"" (blank username)
<add key="CMSSchedulerUserName" value="office\myname" />

CMSSchedulerPassword

Sets the password for the user name under which the scheduler.aspx page should be accessed.

"" (blank password)
<add key="CMSSchedulerPassword" value="mypassword123" />

> Back to list of web.config key categories

Contact management settings

By adding the following keys to your web.config, you can configure the behavior of contact management.

Key

Description

Default

Sample Value

CMSProcessContactActionsInterval Sets the interval in which contact activities are batch processed by the system. Consider raising the interval if your system processes a large number of activities. 10
<add key="CMSProcessContactActionsInterval" value="30" />

CMSEnableContactBots

Determines whether web bots (e.g. search engine crawlers) should be logged and tracked as contacts when they access the website.

false
<add key="CMSEnableContactBots" value="true" />

> Back to list of web.config key categories

Security settings

By adding the following keys to your web.config, you can configure security options:

Key

Description

Default

Sample Value

CMSAcceptAllCertificates

Indicates whether application requests accept all certificates (including invalid certificates). This key ensures the same as if the following keys were enabled at the same time:

  • CMSSearchCrawlerAcceptAllCertificates
  • CMSSchedulerAcceptAllCertificates
  • CMSStagingAcceptAllCertificates
false
<add key="CMSAcceptAllCertificates" value="true"/>
CMSAdminEmergencyReset

Allows you to recover access to the administration interface if you forget the password of your administrator account. The value must consist of the following parts, separated by semicolons:

  • Username of the account
  • New password for the account
  • Optional true/false value, specifies whether you want to create a new user with the Global administrator privilege level.

The system automatically deletes the key after you gain access to the administration interface.

See also: Forgotten password


<add key="CMSAdminEmergencyReset" value="admin;password;true" />
CMSAdministrationPath Sets the URL path under which users access the administration interface. See Configuring the administration interface URL for the complete procedure how to change the URL path. admin
<add key="CMSAdministrationPath" value="NewAdministrationPath"/>
CMSAllowOnlySimpleMacros If true, only simple macros (i.e. those which do not need a security check) are allowed. All others will not be resolved. If true, CMSTextBox control does not add security signatures to macros. false
<add key="CMSAllowOnlySimpleMacros" value="true"/>

CMSCheckParameters

Indicates if parameter checking is allowed.

false
<add key="CMSCheckParameters" value="true"/>

CMSReportCheckParameters

If true, an exception reporting the parameters is thrown when the parameters do not match.

false
<add key="CMSReportCheckParameters" value="true"/>

CMSEnableCsrfProtection

Indicates whether the system uses security tokens to protect pages against Cross site request forgery attacks. Only set this key to false if you have your own security mechanism against CSRF. true
<add key="CMSEnableCsrfProtection" value="false" />
CMSEnableWIF

Overwrites the setting of the Enable WIF authentication option in Settings -> Security & Membership -> Authentication -> Claims-based authentication.

If included in the web.config file and set to false, this key can override enabled WIF authentication in case you have not established an administrator account (as described in Claims-based authentication) and you do not have access to the administration interface.


<add key="CMSEnableWIF" value="false"/>

CMSPasswordSalt

The password salt is a string that is appended to user passwords before they are hashed (to improve security). By default, the salt always contains the randomly generated GUID of the given user (you can change the base salt value via the CMSUserSaltColumn web.config key). The content of this key is added after the base salt value to further increase the length of the salt.

Only applies if the application stores passwords using the SHA2 with salt format, which you can configure in Settings -> Membership & Security -> Passwords -> Password format.

See also: Setting the user password format


<add key="CMSPasswordSalt" value="SaltText" />
CMSUserSaltColumn

[Requires hotfix 9.0.5 or newer]

The password salt is a string that the system appends to user passwords before they are hashed (to improve security). This key identifies the user field whose value is used as the base of the salt. By default, the UserGuid field is used, which contains a randomly generated GUID for each user.

Only applies if the application stores passwords using the SHA2 with salt format, which you can configure in Settings -> Membership & Security -> Passwords -> Password format.

See also: Setting the user password format


UserGuid
<add key="CMSUserSaltColumn" value="UserName" />
CMSRenewSessionAuthChange

When set to true, the system enforces a change of the session ID when a user logs in or out. Provides protection against session fixation attacks.

If you enable this key, users cannot preserve their session data after logging in or out.

See also: Session protection

false
<add key="CMSRenewSessionAuthChange" value="true" />
CMSXFrameOptionsExcluded

Excludes pages under the specified paths from clickjacking protection. For pages under the excluded path, the system no longer adds the X-frame-options: SAMEORIGIN header to the HTTP response (this header ensures that pages displayed in frames must originate on the same server as the parent page).

To exclude multiple paths, enter values separated by semicolons (;).

See also: Clickjacking


<add key="CMSXFrameOptionsExcluded" value="/Services" />
CMSUserBasedFloodProtection Indicates whether the flood protection mechanisms are based on user accounts. true
<add key="CMSUserBasedFloodProtection" value="true"/>

> Back to list of web.config key categories

Smart search settings

You can use the following keys to configure the Smart search:

Key

Description

Default

Sample Value

CMSSearchIndexPath

Sets the path of a custom directory where the smart search physically stores the index files.


<add key="CMSSearchIndexPath" value="App_Data\MyCustomIndexes" />
CMSCrawlerAllowSiteAliasRedirect By default, Page crawler search indexes read pages that use redirection from the site's main domain name to a domain alias. Setting this key to false only allows indexing for pages that use the website's main domain. true
<add key="CMSCrawlerAllowSiteAliasRedirect" value="false" />

CMSCreateTemplateSearchTasks

If enabled, any changes made to page templates automatically trigger an update of all pages that are based on the given template in the appropriate smart search indexes. The default value is true.

You can set this key to false if you wish to improve performance or save resources in scenarios where you have a very large number of pages on your website that share the same page template. This way, the system no longer performs bulk updates of pages in the search index whenever their template is modified.

Disabling this key means that your page index will not reflect changes to the page template (e.g. if you add static text to the template through a web part) until the given pages are updated for another reason, or the entire index is rebuilt.

The key only affects changes to page templates. Editing the content of editable regions on a specific page always causes an update of the search index content.

true
<add key="CMSCreateTemplateSearchTasks" value="false" />
CMSProcessSearchTasksByScheduler

By default, the smart search creates and runs indexing tasks immediately whenever content covered by a search index is created or modified.

If you set this key to true, the system does NOT run indexing tasks upon creation — they need to be processed periodically, for example using the Execute search tasks scheduled task.

false
<add key="CMSProcessSearchTasksByScheduler" value="true" />
CMSSearchCrawlerAcceptAllCertificates

[Requires hotfix 9.0.7 or newer]

By default, the smart search crawler does not index pages on sites using a secured protocol (HTTPS) without a certificate from a trusted authority. For example, you may encounter the problem in development environments that use a self-signed certificate.

If you set this key to true, the system accepts all certificates.

Note: Setting the CMSSearchCrawlerAcceptAllCertificates key to true poses a security vulnerability and should not be used in production environments.

false
<add key="CMSSearchCrawlerAcceptAllCertificates" value="true" />
CMSSearchMaxFieldLength

Sets the maximum number of terms that the smart search allows in a single index field.

Unlimited
<add key="CMSSearchMaxFieldLength" value="10000" />
CMSSearchMaxResultsNumber

Sets the maximum number of results that the smart search can return for a single search request. If a search produces more matching results, the system ignores the items that do not fit into the limit.

The purpose of the limit is to avoid processing of large numbers of search results with low relevance. If you use very large search indexes that regularly produce more than 1000 results (the default limit), you can either increase the value or set up search filters to help narrow down the search.

1000
<add key="CMSSearchMaxResultsNumber" value="3000" />

CMSSearchSynonymsWeight

Sets the relevance (result score) that the search assigns to items found through the synonym search (i.e. when using Any word or synonyms search mode).

The key's value must be a decimal number ranging from 0 to 1. A larger number assigns higher relevance to synonyms. If you set 1, the score of synonyms is equal to words in the original unexpanded search expression.

0.9
<add key="CMSSearchSynonymsWeight" value="0.8" />

CMSSmartSearchLockPollInterval

Specifies how often (time in milliseconds) the smart search indexer attempts to acquire a lock on index files.

The default value of this key is 500 milliseconds.

Set a lower value if the following exception is being logged in your Event log.

Lock obtain timed out: CMS.SiteProvider.SearchLock

500 ms
<add key="CMSSmartSearchLockPollInterval" value="300" />

CMSSmartSearchLockTimeout

Defines the timeout period (in milliseconds) during which the smart search indexer attempts to acquire a lock on index files.

The default value of this key is 1000 milliseconds.

1000 ms
<add key="CMSSmartSearchLockTimeout" value="1500" />
CMSSubsetAnalyzerWordRegex

Sets a regular expression that determines which characters are allowed inside the "words" processed by search indexes with Subset and Starts with analyzers.

The analyzers use the following steps to create search tokens:

  1. Divide text into words
  2. Tokenize the substrings inside the words (according to the analyzer type)

The words created in the first step may contain only characters that match the regular expression in the key's value. Any other characters split the text into separate words.

By default, the following characters are allowed:

  • word characters (upper and lower case letters, numbers, underscores)
  • at symbols (@)
  • periods ( . )

Note: After changing the value of the key, you need to Rebuild your search indexes that use Subset or Starts with analyzers.

(\w|@|\.)+
<add key="CMSSubsetAnalyzerWordRegex" value="(\w|@|\.|\$)+" />
CMSSearchStoreContentField

Determines whether the smart search stores the original untokenized Content field within index files.

Warning: Setting the key to true reduces indexing performance and increases the size of index files (the difference can be GBs of data for very large indexes). Only enable the key if you need to inspect or debug the content of your index files on development sites. Never enable the key on production sites.

false
<add key="CMSSearchStoreContentField" value="true" />

The following keys adjust how the smart search indexes page attachments (see Searching attachment files):

Key Description Default Sample Value

CMSSearchDetectTextEncoding

Indicates whether the attachment search uses automatic detection of character encoding for text files (txt and csv).

By default, the search can read text files that use the following encoding:

  • UTF-8
  • The default Windows encoding (the operating system's current ANSI code page)

If you enable automatic detection, the system attempts to detect the encoding type for each file, and use the correct option when reading the content.

Note: Correct encoding detection is not guaranteed for all files. Automatic detection also slightly increases the time required to index text files.

false
<add key="CMSSearchDetectTextEncoding" value="true" />
CMSSearchIndexXmlAttributes Determines whether the attachment search includes the values of tag attributes when indexing XML files.  false
<add key="CMSSearchIndexXmlAttributes" value="true" />
CMSSearchIndexXmlComments Determines whether the attachment search includes comments when indexing XML files.  false
<add key="CMSSearchIndexXmlComments" value="true" />
CMSSearchMaxAttachmentSize

Sets the maximum allowed file size in kB for the attachment search. The search ignores page attachments whose size exceeds the value.

Indexing very large files can be resource intensive and have a negative impact on your website's performance.

0 (unlimited)
<add key="CMSSearchMaxAttachmentSize" value="10000" />

> Back to list of web.config key categories

Translation service settings

You can use the following key to configure Translation services:

Key

Description

Default

Sample Value

CMSTranslationServicesUseCDATAForTransUnit

Use if you want to export XLIFF files without the CDATA notation.

true
<add key="CMSTranslationServicesUseCDATAForTransUnit" value="false" />
CMSTranslationsUseAbsoluteLinks

Determines whether the URLs in content sent for translation are converted to absolute format. If true, the links in content sent for translation are absolute and not converted back to relative format when the translated content is imported back to the system.

Note that using absolute links in content sent for translation can cause issues when, for example, synchronizing the imported translation to a different domain by staging.

true
<add key="CMSTranslationsUseAbsoluteLinks" value="false" />

> Back to list of web.config key categories

User interface culture settings

By adding the following keys to your web.config, you can configure the cultures used in the administration interface:

Key

Description

Default

Sample Value

CMSDefaultSpellCheckerCulture

Specifies the default culture of the built-in spell-checker. This culture is used when the dictionary for the currently selected content culture is not found.

en-us
<add key="CMSDefaultSpellCheckerCulture" value="en-US" />

CMSShowLogonCultureSelector

Indicates if the user interface logon page should display a drop-down list with available user interface languages.

true
<add key="CMSShowLogonCultureSelector" value="false" />

CMSDefaultUICulture

Specifies the default UI culture.

If you use this key, you also need to:

  1. Add a corresponding resource string file (localization pack) into the ~\CMSResources folder.
  2. Rename the default CMS.resx file to CMS.en-us.resx.
  3. Rename the new culture's resource string file to CMS.resx.

This is needed because the CMS.resx file is used when the (default) option is selected as a user's Preferred user interface culture.

en-us
<add key="CMSDefaultUICulture" value="en-nz"/>

CMSUseSQLResourceManagerAsPrimary

Changes the priority of used localization resource strings to:

  1. custom.resx
  2. cms.resx
  3. database (Kentico administration -> Localization application)
true
<add key="CMSUseSQLResourceManagerAsPrimary" value="false" />

> Back to list of web.config key categories

Web analytics settings

By adding the following key to your web.config, you can configure Web analytics.

Key

Description

Default

Sample Value

CMSWebAnalyticsRemoveReferralQuery

Indicates whether URL query strings are removed when logging Referrals and Referring sites in web analytics. When false, the system then no longer aggregates Referrals and Referring sites from the same source with different query string parameters into a single URL.

true
<add key="CMSWebAnalyticsRemoveReferralQuery" value="false"/>

> Back to list of web.config key categories

Web farm synchronization settings

By adding the following keys to your web.config, you can enable or disable web farm synchronization of certain kind of files stored in the file system:

Key

Description

Default

Sample Value

CMSWebFarmMode

Indicates if web farms are:

disabled
<add key="CMSWebFarmMode" value="automatic"/>

CMSWebFarmServerName

Code name of the web farm server. This value is used for manual web farm synchronization support.

This setting overrides the name assigned by the system in the Automatic web farm mode.

"" (empty string)
<add key="CMSWebFarmServerName" value="server1" />
CMSWebFarmMaxFileSize If the CMSWebFarmSynchronizeFiles key is enabled, you can limit the maximal size of synchronized files using this key. The value is entered in kiloBytes and files larger than this value will not be synchronized. 2147483647 (int.MaxValue)
<add key="CMSWebFarmMaxFileSize" value="1024" />
CMSWebFarmApplicationPhysicalPath Path to the application on the disk used for synchronizing physical files.
<add key="CMSWebFarmApplicationPhysicalPath" value="C:\inetpub\wwwroot\Kentico" />
CMSWebFarmSyncInterval Average time before a created web farm synchronization task is processed by web farm servers (the maximum possible time before a task is processed is double of the specified interval). 2000 ms
<add key="CMSWebFarmSyncInterval" value="100" />

CMSWebFarmSynchronizeFiles

Determines if web farms synchronize files in general. This key enables synchronization of:

  • Attachments
  • Meta files
  • Media files
  • Form files
  • Avatars
  • Forum attachments

Note: The key is false by default for installations running on Microsoft Azure.

true
<add key="CMSWebFarmSynchronizeFiles" value="true" />

CMSWebFarmSynchronizeAttachments

Enables/disables synchronization of attachments.

true
<add key="CMSWebFarmSynchronizeAttachments" value="true" />

CMSWebFarmSynchronizeMetaFiles

Enables/disables synchronization of meta files.

true
<add key="CMSWebFarmSynchronizeMetaFiles" value="true" />

CMSWebFarmSynchronizeMediaFiles

Enables/disables synchronization of media files.

true
<add key="CMSWebFarmSynchronizeMediaFiles" value="true" />

CMSWebFarmSynchronizeBizFormFiles

Enables/disables synchronization of form files.

true
<add key="CMSWebFarmSynchronizeBizFormFiles" value="true" />

CMSWebFarmSynchronizeAvatars

Enables/disables synchronization of Avatars.

true
<add key="CMSWebFarmSynchronizeAvatars" value="true" />

CMSWebFarmSynchronizeForumAttachments

Enables/disables synchronization of forum attachments.

true
<add key="CMSWebFarmSynchronizeForumAttachments" value="true" />

CMSWebFarmSynchronizeDeleteFiles

Enables/disables synchronization of deleted files.

true
<add key="CMSWebFarmSynchronizeDeleteFiles" value="true" />

> Back to list of web.config key categories

Microsoft Azure settings

By adding the following keys to your web.config file, you can set up the deployment of your website to Microsoft Azure and configure its behaviour.

Note that there is an easier way of editing the definition end configuration files of your Azure project in Visual Studio by right-clicking the appropriate role in CMSAzure -> Roles and selecting Properties. For more information, refer to Adding application settings in an Azure project.

Key

Description

Sample Value

CMSAzureProject

Must be set to true if you wish to run the application in Microsoft Azure Cloud Services.

True by default if the application is installed as a Microsoft Azure project, false in standard installations.

<add key="CMSAzureProject" value="true"/>

CMSAzureAccountName

Specifies the name of the Azure Storage account that the application will use for its file system.

If you wish to run the application on the local emulator, enter devstoreaccount1 as the value.

<add key="CMSAzureAccountName" value="devstoreaccount1"/>

CMSAzureSharedKey

Contains the primary access key for the storage account specified in the CMSAzureAccountName setting.

You can find the appropriate value for your storage account on the Microsoft Azure Management Portal.

<add key="CMSAzureSharedKey" value="Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="/>

CMSAzureBlobEndPoint

Sets the endpoint used for the connection to the blob service of the specified storage account. If you wish to use the default endpoint, clear the value of this setting.

<add key="CMSAzureBlobEndPoint" value="http://127.0.0.1:10000/devstoreaccount1"/>

CMSAzureQueueEndPoint

Sets the endpoint used for the connection to the queue service of the specified storage account. If you wish to use the default endpoint, clear the value of this setting.

<add key="CMSAzureQueueEndPoint" value="http://127.0.0.1:10001/devstoreaccount1"/>

CMSAzureTableEndPoint

Sets the endpoint used for the connection to the table service of the specified storage account. If you wish to use the default endpoint, clear the value of this setting.

<add key="CMSAzureTableEndPoint" value="http://127.0.0.1:10002/devstoreaccount1"/>

CMSAzureRootContainer

Specifies the name of the blob container that will serve as the root of the application's file system on the Azure storage account.

This can be useful in scenarios where multiple applications use the same storage account.

The default value is cmsstorage.

<add key="CMSAzureRootContainer" value="CustomRoot"/>

CMSAzurePublicContainer

Indicates if the blob container used to store the applications file system should be public. If set to true, it will be possible to access files directly through the URL of the appropriate blob service, for example:

<StorageAccountName>.blob.core.windows.net/cmsroot/corporatesite/media/imagelibrary/logo.png

<add key="CMSAzurePublicContainer" value="true"/>

CMSAzureStorageCacheCleanerThreshold

Specifies a threshold in gigabytes that is used by the Clean Azure storage cache scheduled task. When the threshold is exceeded and the scheduled task is enabled, the system starts to delete files in the Azure Cache and Azure Temp folders from the oldest to the newest.

The default value is 45GB.

<add key="CMSAzureStorageCacheCleanerThreshold" value="45"/>

CMSAzureStorageCacheCleanerKeepLimit

Specifies an amount in gigabytes that is used by the Clean Azure storage cache scheduled task. The amount is the target size of the Azure Cache and Azure Temp folders when the scheduled task deletes the files.

The size of the excluded paths (set by the CMSAzureStorageCacheCleanerExcludedPaths web.config key) is included in the amount.

The default value is 10GB.

<add key="CMSAzureStorageCacheCleanerKeepLimit" value="10"/>
CMSAzureStorageCacheCleanerExcludedPaths

Specifies relative paths separated by semicolons (;) that are excluded when using the Clean Azure storage cache scheduled task.

There is not any predefined excluded path by default.


<add key="CMSAzureStorageCacheCleanerExcludedPaths" value="folder_name1;folder_name2"/>
 CMSAzureCDNCacheMinutes

Allows you to set caching interval for Azure CDN

Using this key, you can set different intervals for expiration of files in the server memory (which can be set in the Settings application -> System -> Performance -> Cache files (minutes) option) and for expiration of files in Azure CDN.

If this key is not used, the Cache files (minutes) setting is used for CDN expiration interval instead.

See also Settings - Performance.

<add key="CMSAzureCDNCacheMinutes" value="30"/>

If you wish to host your website on‑premise, but use a file system based on the Blob Storage service of an Azure storage account, you can specify the following settings:

Key

Description

Sample Value

CMSExternalStorageName

Configures the application to use an external storage provider for its entire file system. Do NOT set this key if you only wish to map specific folders to a different storage provider. See Configuring file system providers to learn how to implement such scenarios.

The following key values are available for the external storage providers supported by default:

  • Azure Blob storage - azure
  • Amazon S3 - amazon
<add key="CMSExternalStorageName" value="azure" />

CMSAzureTempPath

The folder specified by this key will be used to store temporary files on a local disk, e.g. when transferring large files to or from the storage account.

Do not use this key if the entire application is deployed as a Microsoft Azure hosted service.

<add key="CMSAzureTempPath" value="C:\AzureTemp" />

CMSAzureCachePath

Specifies a folder on a local disk where files requested from the storage account will be cached. This helps minimize the amount of blob storage operations, which saves time and resources.

Do not use this key if the entire application is deployed as a Microsoft Azure hosted service.

<add key="CMSAzureCachePath" value="C:\AzureCache" />
CMSDownloadBlobTimeout

Specifies the timeout interval in minutes for importing files from Azure Blob storage into Kentico.

The default value is 1.5 minutes. Increase the interval if you encounter problems when importing large (about 2GB) files.

<add key="CMSDownloadBlobTimeout" value="50" />

> Back to list of web.config key categories

Connection string

The database used by Kentico is specified by the connection string CMSConnectionString in the /configuration/connectionStrings section.

<add name="CMSConnectionString" connectionString="Persist Security Info=False;database=CMS;server=myserver;userid=sa;password=mypassword123;Current Language=English;Connection Timeout=120;" />

Was this page helpful?