11 MONTHS AGO

New web.config application settings in Kentico 12

With the release of every new major version, I feel the urge to find new features and especially the ones that are not that visible. I did a quick comparison between the Kentico v11 and v12 web.config application settings and found the following new keys. Time will tell if they will be useful but it's good to take note of their existence.

CMSSharedFileSystem (default: false)
The key indicates that Kentico is running on shared storage (e.g., when deployed as an Azure Web App), and configures web farm behavior accordingly.

CMSCIRepositoryPath (default: App_Data\CIRepository)
When you enable continuous integration, the system will serialize database data into XML and store this by default in the CMS\App_Data\CIRepository folder. If you prefer to use a different location for the continuous integration file repository, you can use this key to set a different location. The key's value must be an absolute or relative path of a folder on a local drive, or a network location for which the application has sufficient permissions. The key also allows you to set a shared continuous integration repository if you have multiple projects with the same database (for example when developing MVC websites).

CMSEnableClickjackingProtection (default: true)
This key allows you to disable the Content Security Policy (CSP) headers that specify the frame-ancestors policy for the HTTP responses of preview mode requests on content-only sites. You should only disable the key if you want to configure adding of CSP headers on your own (otherwise preview URLs would be susceptible to clickjacking attacks). This key only applies to sites built using the MVC development model, and must be added to the web.config file of your MVC live site application.

CMSInstanceNameSuffix (default: "" or AutoExternalWeb)
When using Automatic web farm mode, the system generates the names of servers by combining the machine name and virtual directory in which the application is running. If this combination of variables is not unique in your environment (for example if you run your web farm instances on the same machine without virtual directories, e.g. distinguished by port numbers), you need to manually ensure unique server names for the web farm servers. This key allows you to specify a custom suffix for the automatic server name on individual instances. You can also override the automatic server name completely via the CMSWebFarmServerName key.

CMSDeleteTempPageBuilderWidgetsOlderThan (default: 1)
The page builder is one of the great new additions of Kentico 12. This key specifies how old (in hours) a temporary configuration of a page builder MVC widget needs to be before it is deleted from the Temp_PageBuilderWidgets database table by the Delete old temporary Page builder widgets scheduled task. Widget configurations are only stored in the Temp_PageBuilderWidgets table temporarily before they are saved and transferred to the CMS_Document table. However, they may remain stored in the temporary table if an err or occurs while using the page builder.

For more info check out the complete list of web.config application keys.