Kentico CMS 7.0 Windows Azure Deployment Guide

Application settings

Application settings

Previous topic This is the last topic Mail us feedback on this topic!  

Application settings

Previous topic This is the last topic JavaScript is required for the print function Mail us feedback on this topic!  

The settings in the table below may be used to set up the deployment of your Windows Azure application and configure its behaviour:

 

Key

Description

Sample Value

CMSAzureProject

Must be set to true if you wish to run the application on Windows Azure.

 

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

<Setting name="CMSAzureProject" value="true"/>

CMSAzureAccountName

Specifies the name of the storage account that the application will use for its file system. The account must belong to a valid Windows Azure subscription.

 

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

<Setting name="CMSAzureAccountName" value="devstoreaccount1"/>

CMSAzureSharedKey

Must contain the primary access key of the storage account specified in the CMSAzureAccountName setting.

 

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

<Setting name="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, remove the setting completely from the appropriate files.

<Setting name="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, remove the setting completely from the appropriate files.

<Setting name="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, remove the setting completely from the appropriate files.

<Setting name="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 Windows Azure storage account.

 

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

 

The default value is cmsroot.

<Setting name="CMSAzureRootContainer" value="CustomRoot"/>

CMSAzurePublicContainer

Indicates if the blob container used to store the application's 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:

 

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

<Setting name="CMSAzurePublicContainer" value="true"/>

CMSConnectionString

This setting can be used to enter a database connection string for the application through the service configuration file.

<Setting name="CMSConnectionString" value="Persist Security Info=False;database=DBName;server=tcp:serverName.database.windows.net;user id=login@serverName;password=password;Current Language=English;Encrypt=True;Connection Timeout=240;" />

 

You can enter these settings directly into the <ConfigurationSettings> section of the roles in the application's service configuration file (ServiceConfiguration.<name>.cscfg under the CMSAzure project).

 

Alternatively, you can add these settings to the <appSettings> section of the CMSApp project's web.config file and the SmartSearchWorker project's app.config. In this case, the names are the same, but the standard key format must be used instead, for example:

 

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

 

Both options are valid, but placing your settings into the service configuration provides a higher degree of flexibility, since the service configuration file may be edited through the Azure Management Portal without the need to upload the application again as a new deployment.

 

Any of the web.config keys that you would normally use to set up the behaviour of your Kentico CMS website may also be defined as settings in the service configuration file. All you need to do is declare the given settings in the application's service definition (ServiceDefinition.csdef) as shown below:

 

<WebRole name="CMSApp">
... 
  <ConfigurationSettings>
  
  ...
 
    <Setting name="CMSDefaultUICulture/>
 
  </ConfigurationSettings>    
...
</WebRole>

 

Once the setting is declared, you can simply add a value for the setting in the service configuration file:

 

<Setting name="CMSDefaultUICulture" value="de-DE" />

 

When adding settings via the service configuration file, it is recommended to include them for both the CMSApp and the SmartSearchWorker roles. In the case of some settings, it may be sufficient to add them only for the CMSApp role, but only do this if you are sure that the given setting does not affect the smart search module at all.

 

 

 

Please note

 

You can edit your service definition and configuration files through a more user friendly interface in Visual Studio by right clicking the appropriate role under the Roles folder of the CMSAzure project and selecting Properties.

 

Unfortunately, any modifications made to the service definition require you to redeploy the application. To work around this, you can declare any settings that you may want to work with in the future and leave empty or default values in the service configuration until you need to change them.