November Happy Hour will be moved to Thursday December 5th.

Configuration in EPiServer CMS 5 R2

Product version:

EPiServer CMS 5 R2

Document version:

1.0

Document last saved:

29-09-2008

Introduction

The structure of EPiServer CMS-specific settings in the Web.config file as well as the way site settings are dealt with programmatically have gone through some major changes. This text points out what has changed and how to use these changes in code as well as in configuration files.  

Table of Contents

Web.Config

EPiServer CMS settings are accessed through the use of a configuration class. All settings are typed members of this class, which gives the benefit of being able to see all settings through Intellisense. Access to the site settings goes through the static object EPiServer.Configuration.Settings.Instance. There is no need to instantiate this class since it's a global static available throughout all of the application.

To locate the settings for a specific site in Web.Config, scroll to the <EPiServer> section and find the <sites> element collection.

<episerver>
  <sites>
    <site siteId="MySite" description="Short description of the site">

Note: The <site> element contains a description attribute that makes it easier to locate a specific site in web.config. The siteId attribute is used to distinguish this site when communicating between EPiServer sites, for example in Enterprise scenarios.

Note: If you have a Single Server License there will be only one site and only one config section in your web.config file while an Enterprise solution will contain several sites.

Connection Strings

In EPiServer CMS 5, you have the option to define several different strings to connect to several different databases. The strings have been moved from web.config to a new file called Connectionstrings.config.
Note: Having a separate connctionStrings.config is simply something that EPiServer CMS does by default. There is no hard requirement for having it as a separate file, as this is simply controlled by the default ASP.NET configuration settings in web.config.

Enterprise Configuration

According to the old model, each site inherited some basic settings from a base site. If a site had specific need for configuration, you had to override the settings for that site. This lead to a messy system, where it was difficult to get a good overview of how each site worked.

Therefore, inheritance has been removed. Each site now has its own <site> element and consequently a separate <siteSettings> element. Every required attribute needs to be set for every site. This leads to a more intuitive administration and gives a better overview of how each site is actually configured.

List of Web.config Settings

Required Settings

Name

Description

siteDisplayName

The name of the site.

categoryId

Defines ID for the root Category.

pageRootId

ID of the root page.

pageStartId

ID of the page that serves as the start page for the site.

pageWastebasketId

ID of the Recycle Bin.

uiUrl

Defines where the UI files are located.

utilUrl

Path to util directory under application.

siteUrl

Gets or sets the site URL. It must be a Web URL, and include the path to the site root. It is only to be used

 to generate direct references to the site in external locations. For references from a page, use root-relative

URLs and ResolveUrl etc as appropriate.

pageFolderVirtualPathProvider Name of the VirtualPathProvider that is responsible for handling of page folders.

 

 

Available Settings

Name

Description

enableEvents: Set to false to disable the EPiServer Events System. See the Event Management System Specification tech note for more information about this setting. Default value (if the tag does not exist) is true.
enableRemoteEvents: Set to true to enable remote events in the EPiServer Events System. See the Event Management System Specification tech note for more information about this setting. Default value (if the tag does not exist) is false.
enableScheduler: Set to false to disable the EPiServer CMS connection with the scheduler. Default value (if the tag does not exist) is true.
errorMailHandler: Set the relative adress to the page that should handle the posts from the handled error page.
globalErrorHandling: Set whether to use EPiServer CMS error handling. ( RemoteOnly, On, Off )
globalErrorMail: E-mail address that error messages should be sent to.
httpCacheExpiration: Change this value to set the number of seconds a page should be cached, this value will be set in the http request policy. It will activate both client side caching and server caching (outputcache). Policy will only apply to anonymous users and when http request method is GET. The cache will automatically be updated when changes are made to a page in EPiServer CMS. Recommended setting is 1 hour.
httpCacheability

Value to set the HttpCacheability enumeration for the cach. New in EPiServer CMS 5 R2.

httpCacheVaryByCustom: The custom values the browser should vary by.
httpCacheVaryByParams: The parameters to the page (i.e. querystring) that the cache should vary by.
indexingDelayAfterPublish: Delay time between publish and indexing.
indexingTextRegExp: The regular expression to index words in pages.
logServiceUrl: URL to the log service.
mirroringFileWriteRetryDelay Delay time between retrying to transmit mirror files
New in EPiServer CMS 5 R2.
mirroringHtmlTextEncoding: Sets which encoding should be used when mirroring to HTML.
mirroringRetries: Number of retries when a mirroring job fails.
mirroringRetryDelay: Time until next retry.
pageCacheSlidingExpiration: Page cache interval for local database, set to 0 to disable
pageOfficeStartId: Defines from where the Office plug-in should display the site tree.
pageUseBrowserLanguagePreferences: Used preferred languages from browser as GUI language.
pageValidateTemplate: Sets if the current template has to match the page type template (true|false).
remoteCacheListenerShortNames: A comma-separated list of remote sites that will receive cache notification when a change is made on this installation. Only enter the short name, the definition of URL etc. is made in Admin mode under Remove sites. Useful for Web farms scenarios, and when other data is shared.
remotePageCacheSlidingExpiration: Page cache interval for remote sites, set to 0 to disable.
remoteWebServiceCulture: Set the CurrentThread.CurrentCulture if handling pages remote.
stringCompressionThreshold: Set to the number of characters when compression should be activated.
sgmlParserDecodeCharEntities Defines whether SgmlParser should decode character entitities (like " ") or not.
New in EPiServer CMS 5 R2.
stringDelayedLoadThreshold: The number of characters when delayed loading should be activated for large strings in properties deriving from Long String.
subscriptionHandler: Defines which class should handle e-mail.
uiDefaultPanelTab: The index of the EditPanel tab that is to be shown by default when clicking a page in the Edit mode pagetree.
uiEditorColors: Defines what colors should be available for the editors.
uiEditorCssPaths: A comma-separated list of relative file paths that define which CSS file(s) to use when rendering the Editor.
uiEditorHeight: Defines the width of the Editor in Edit mode.
uiEditorUnformattingPersistedTags: A pipe-separated list of tags that should not be preserved in "Remove format" action in the Editor.
uiEditorValueOptions: Setting for use of DIV tags or P tags.
uiEditorWidth: Defines the width of the Editor in Edit mode.
uiImageTransparencyReplacement: The color that should replace the transparent color in a picture compression.
uiKeepUserLoggedOn: Sets if the current window's authenticated user must reauthenticate after session timeout.
uiMaxVersions: The maximum number of page versions that EPiServer CMS will retain.
uiOptimizeTreeForSpeed: Set to true if page tree controls should not evaluate if tree nodes have children.
uiSafeHtmlTags: Set which tags should not be encoded, Example format is: b,i,u,br.
uiShowGlobalizationUserInterface: Defines if the globalization user interface should be used.
uiTheme: Application visual layout theme name.
uiVersionMerging: Gets or sets if information on a page should be merged if it has been published while being edited.
urlRewriteExtension: Defines an extension that is mapped to ASP.NET for the URL.
urlRebaseKind Defines the type of rebasing to do for links when using Friendly URLs. New in EPiServer CMS 5 R2. 
operationCompatibility Gets or sets the operation compatibility. by default the value is None. The operationCompatibility attribute can have None, Save, Delete or Full value None: There is no Compatibility at all Save: The save operation on Data factory Component can treat as old version of Data Factory Delete: The Delete operation on Data factory Component can treat as old version of Data Factory Full: Both Save and Delete operation on Data FActory component treat as old version
New in EPiServer CMS 5 R2.

Workflow Settings

Name

Description

workflowDelayedLoading

States if workflow definitions and instance metadata should be loaded at application initialization (false) or at first request of workflow data (true). Default is false.

For further information about configuration options regarding workflow system, see the Developer's Guide / Workflows / Developing Workflows section in the online EPiServer CMS SDK.