HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideLegal TermsGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Cms section

Describes the various option classes that are part of the Cms section of the configuration.

The Configuration topic describes the syntax used to configure options from various configuration sources, such as configuration files or environment variables.

ActivityOptions

Contain settings for how activities should be tracked within CMS.

NameDefault valueDescription
ArchiveRetentionPeriod12 Gets or sets the number of months before archived activities are deleted. The default is 12 months. If you set the value to zero (0), CMS deletes the activities immediately. If you use a negative value (-1), CMS keeps the archive indefinitely (but this is not recommended).
TrackContentSaveEventsfalseGets or sets if Content Save events should be tracked and logged as an activity.
TruncateMaximum100000The maximum number of activities is removed every time the truncate job runs. The default value is 100000 activities. Consider lowering this if you are experiencing timeouts.
TruncateDatabaseTimeoutTimeSpan.ZeroOptional timeout that can be set for truncate database operations. If not set the default database timeout is used.
IsArchivingEnabledfalseEnables (true) or disables (false) archiving.

BlobProviderOptions

Contain settings for the BLOB provider used to manage binary data, for example, related to media.

NameDefault valueDescription
BlobProviderBuilderOptional delegate that can be specified to create an instance of a BlobProvider.
DefaultProvider"default"The name of the provider that is used as the default blob provider.
Providers FileBlobProviderA dictionary of providers to use. If no providers are specified, FileBlobProvider is used as default.

ClaimTypeOptions

Contain settings for how claims should be handled for synchronized users.

NameDefault valueDescription
EmailClaimTypes.EmailSpecifies which claim contains an email address. 
GivenNameClaimTypes.GivenNameSpecifies which claim contains the given name.
SurnameClaimTypes.SurnameSpecifies which claim contains surname.

ClientGeolocationOptions

Contain settings for client geolocation.

NameDefault valueDescription
LocationHeaderSpecifies HTTP header to resolve client geolocation as an ISO 3166-1 Alpha-2 country code.
IPAddressHeaderThe name of a header that is used to retrieve the IP address of the client.
This setting should be used if the site is located behind a proxy server to get the right IP address of the client.
IPAddressHeaderProxyCount1The number of proxy servers in front of the web server listed by IP in the IPAddressHeader.

ClientResourceOptions

Contain settings for how client resources should be handled.

NameDefault valueDescription
DebugfalseSet to true to get non-optimized scripts that can be used for debugging purposes.
CompresstrueSpecifies if client-resource responses should be compressed.
JsonResponseBuffer1000*256Specifies the buffer size for JSON responses buffered before writing to the response.

CmsPolicyOptions

Contain settings for how policies within CMS.

NameDefault valueDescription
EditRolesCmsEditors, CmsAdmins, AdministratorsThe list of roles that is checked against the policy CmsPolicyNames.CmsEdit used, for example, for CMS edit access.
PreviewRolesCmsEditors, CmsAdmins, AdministratorsThe list of roles that are checked against the policy CmsPolicyNames.Preview used for a preview of draft versions.

CompositeFileProviderOptions

Contain settings for the composite file provider.

NameDefault valueDescription
BasePathFileProviders A list of IBasePathFileProvider that the composite file provider will use.

ContentAreaRenderingOptions

Contain settings for how content areas should be rendered.

NameDefault valueDescription
TemplateTagSelectionStrategyMissingTemplateTagSelectionStrategy.NoTagSpecifies which strategy that should be applied when a ContentArea item has a display option specified that does not match any registered template.

ContentModelOptions

Contain settings for content modeling.

NameDefault valueDescription
EnableModelSyncCommittrueSet to false to disable the commit phase when synchronizing typed models. Content types will not be updated automatically.
EnableSemanticVersioningfalseSet to true to enable semantic versioning of models.
AlwaysUseModelNamefalseSpecifies if the class's Model name should be the content type's name.

ContentOptions

Contain settings for how content should be managed.

NameDefault valueDescription
VersionCacheSlidingExpiration10 minSpecifies a sliding cache timeout for content versions. Set to "0:0:0" to disable caching of versions.
ContentCacheSlidingExpiration12 hoursSpecifies a sliding cache timeout for published content. Set to "0:0:0" to disable caching of published content.
StringCompressionThreshold0Specifies the number of characters for when compression should be activated for long strings. 0 means compression is disabled.
PropertyLazyLoadThreshold255Specifies the number of characters for when a long string property should be lazy loaded.
MaximumVersions20Specifies the maximum number of previously published versions that will be kept.
InMemoryCopyThreshold50Specifies the maximum number of content items for when content copying is done in memory.
MaximumContentItemsPerDatabaseRequest2000Specifies the maximum number of content items loaded in the same database request.
InvalidateRemoteCacheForVersionstrueSpecifies if a version change should be propagated to other application instances.
EnableDynamicPropertiesfalseSpecifies if dynamic properties should be enabled.
ProxyTypeAutoSpecifies which type of proxies that should be used for content. ProxyType enum has the following values:

- Auto – Optimized proxies are used unless custom castle extensions are registered.
- Castle – Castle proxies are used.
- Optimized – Performance-optimized proxies are used.
ProvidersA dictionary of the content providers to use.

DataAccessOptions

Contain settings for database access.

NameDefault valueDescription
ConnectionStringsThe connectionstrings for Optimizely Content Management System (CMS) to use.
DefaultConnectionStringName EPiServerDBThe name of the connection string for CMS to use as default.
Retries3The number of retries that should be performed for transient errors.
RetryDelay100 msThe time to delay before a retry is applied.
DatabaseQueryTimeout30 sThe timeout to use for database connections.
DatabaseModeReadWriteThe database mode the application executes under. DatabaseMode enum has the following values:

- ReadWrite – The database supports both read and write operations.
- ReadOnly – The database only supports read operations.
DisableDateTimeKindValidationfalseSpecifies if UTC validation of times in the database should be disabled.
UpdateDatabaseSchematrueSpecifies if database schema changes should be automatically applied.
CreateDatabaseSchematrueSpecifies if the database schema should be created if it does not exist.

DisplayOptions

Used to register DisplayOption with CMS.

NameDefault valueDescription
AddRegisters a DisplayOption instance.
RemoveRemoves a previously registered DisplayOption instance.

DynamicDataStoreOptions

Contain settings for Dynamic Data Store (DDS).

NameDefault valueDescription
AutoResolveTypestrueSpecifies if automatic type resolving should be used.
AutoRemapStorestrueSpecifies if dynamic data store should automatically remap store definitions that have changed.
DeleteAllOperationTimeout  10 minThe timeout used when all items in a store are deleted.

EventProviderOptions

Contains settings for the event provider used in communication between applications.

NameDefault valueDescription
EventProviderBuilder Optional delegate that can be specified to create an instance of an EventProvider.
ProviderNullEventProviderThe type string of the EventProvider to use.

EnvironmentOptions

Contain settings for the application environment.

NameDefault valueDescription
AppDataPath App_DataThe path to where application-specific resources, such as file-based BLOBS, are stored.

ExternalApplicationOptions

Contain settings if there is an external separate delivery application.

NameDefault valueDescription
OptimizeForDeliveryfalseCan be specified to optimize ContentDeliveryAPI for CDN caching by disabling, for example, audience personalization.

FileBlobProviderOptions

Contains settings for the file-based BLOB provider when configured to be used as a BLOB provider.

NameDefault valueDescription
Path App_Data\blobsThe physical path to where file blobs are stored. If the path is not rooted, then it is considered relative to IHostEnvironment.ContentRootPath.
KeepStructurefalseSet to true to keep the created folder structure even if folders are empty.

GlobalizationSettingsOptions

Contain settings for how Globalization is handled.

NameDefault valueDescription
CultureLanguageCode"en-US"The default CurrentCulture set for content request where the language cannot be determined from request.
UICultureLanguageCode"en"The default CurrentUICulture set for content request where the language cannot be determined from request.
GlobalizationSettingsOptionsIf GlobalizationSettingsOptions.UseBrowserLanguagePreferences is true, the language preference from the web browser is used.

HtmlOptions

Contain settings for how HTML content should be managed.

NameDefault valueDescription
UnEncodedTags"b", "i", "u", "br"A list of HTML tags that are not encoded when HTML is inserted as text using WebStringHelper.EncodeForWebString.

JsonFormatterOptions

Contain settings for assembly/type specific JSON serialization.

NameDefault valueDescription
AssemblyModuleOutputFormattersAssembly-specific JSON output formatter registrations.
TypeModuleOutputFormattersType-specific JSON output formatter registrations.
AssemblyModuleInputFormattersAssembly-specific JSON input formatter registrations.
TypeModuleInputFormattersType-specific JSON input formatter registrations.
FallbackFormatterTypeNewtonSoftFormatter to use when no assembly or type registration applies.

LinkValidatorOptions

Contains settings for assembly or type-specific JSON serialization.

NameDefault valueDescription
ExternalLinkMinimumRequestInterval5 secThe minimum time in seconds between requests to the same external host.
MaximumRunTimeTimeSpan.ZeroThe maximum time the job will run at one time. TimeSpan.Zero means there is no max time.
RecheckInterval7 hoursThe time that must elapse before a link is rechecked.
ExternalLinkErrorThreshold100The job will stop if consecutive errors on external links exceed the threshold.
ExcludePatternsA list of regular expression patterns that are ignored for links by the link validator.
InternalLinkValidationValidationType.ApiSpecifies how the link validator will validate internal links. ValidationType enum has the following values:

- Off – No validation is done for internal links.

- Api – Internal links are checked using API calls.
- Request – Internal links are validated through HTTP calls.
UserAgent"EPiServer Link Checker"The user agent is used when using HTTP requests for link validation.
ProxyAddressOptional web proxy address for the link checker to use when validating links.
ProxyUserOptional web proxy user to authenticate proxy connection.
ProxyPasswordOptional web proxy password to authenticate the proxy connection.
ProxyDomain

LocalizationOptions

Contain settings for localization of texts used in, for example, the edit user interface.

NameDefault valueDescription
FallbackBehavior FallbackBehaviors.FallbackCulture
FallbackBehaviors.Echo
Specifies which fallback behavior to use when a localization string does not exist. FallbackBehaviors enum has the following values:

- None – An empty string is returned.
- Echo – The key is returned unmodified.
- MissingMessage – A message saying no resource was found is returned.
- FallbackCulture – The resource is returned using the fallback culture if no match is found. Requires a fallback culture to be specified.
- Null – A null string is returned.
FallbackCulture"en"Specifies which fallback culture is used when a localization string does not exist in a specific language.
ProvidersA list of localization providers to use.

MediaOptions

Contain settings for content media.

NameDefault valueDescription
ExpirationTime 12 hoursThe expiration value that is set on cache headers for publicly accessible media.
CacheControlautoSetting for the Cache-Control header. auto means that it is set as public if media is publicly accessible; if not, it is set as private. Possible values are values that are acceptable as Cache-Control header values.
DefaultContentTypeapplication/octet-streamThe default content type for a request if the ContentType cannot be determined from context.
PreProcessorsMediaOptionsStaticFilePreProcessorA list of pre-processors called before the body of a media request is written. A pre-processor can be used to set or modify response headers.

Network

Contain network settings in SmtpOptions when network delivery options have been selected.

NameDefault valueDescription
HostSpecifies the SMTP network host to use.
PortSpecifies the port for the network host.
UserNameSMTP username. Leave empty to disable authentication
PasswordSMTP password.
UseSslSpecifies if SSL should be used.

NotificationOptions

Contain settings for notifications sent from CMS.

NameDefault valueDescription
NotificationEmailAddressSystem default email address for notification emails.
NotificationEmailDisplayName"Episerver"System default sender name for notification emails.

RoutingOptions

Contain settings for content routing.

NameDefault valueDescription
StrictLanguageRoutingtrueDefines if strict language determination should be used during routing.
UseTrailingSlashtrueGets or sets a value indicating whether a trailing slash should be added for URLs to the content, except if a content segment has an extension.
UrlCacheExpirationTime5 minSpecifies the sliding cache timeout for generated content URLs.
ShortcutRedirectionHttpRedirect.PermanentSpecifies how redirection for shortcuts should be handled. HttpRedirect enum has the following values:

- None – No redirection is done.
- Temporary – A temporary redirection is done.
- Permanent – A permanent redirection is done.
UsePrimaryHostForOutgoingUrlsfalseSpecifies that the HostDefinitionType.Primary should be used when generating outgoing URL. Note: This setting is considered a pre-release API and might change in a minor version.

SchedulerOptions

Contain settings for how scheduled jobs should be managed.

NameDefault valueDescription
EnabledtrueSpecifies if scheduled jobs should be enabled for the application.
MaximumExecutionAttempts10Specifies the maximum number of times a job should be re-scheduled for execution when the prior execution was interrupted due to server shutdown.
ContentCacheSlidingExpiration1 minuteThe sliding cache for how long content is cached when retrieved from a scheduled job.

ScriptParserOptions

Contain settings for how HTML and uploaded media files should be parsed.

📘

Note

If ElementAttributes is empty then no parsing is performed.

NameDefault valueDescription
SavingModeScriptParserMode.KeepSpecifies an action if an illegal element or attribute is detected during save of HTML to storage.

- Keep – Keep the element or attribute.
- Remove – Remove the element or attribute.
- ThrowException – Throw an exception.
LoadingModeScriptParserMode.KeepSpecifies an action if an illegal element or attribute is detected during load of HTML from storage.

- Keep – Keep the element/attribute.
- Remove – Remove the element/attribute.
- ThrowException – Throw an exception.
MediaUploadModeScriptParserMode.KeepSpecifies an action if an illegal element or attribute is detected during the upload of media files, like HTML.

- Keep – Keep the element/attribute.
- Remove – Remove the element/attribute.
- ThrowException – Throw an exception.
MediaExtensionsToParseNoneSpecifies media extensions to be parsed during upload, for example '.html' and/or '.svg'.
ElementAttributesNoneSpecifies elements and attributes that are allowed or not allowed depending on the Mode setting. You can specify a wildcard character \* to specify a set of attributes. For example an attribute as on\* would then apply to all attributes starting with 'on' like onclicked or onfocus.
Note: If ElementAttributes is empty then no parsing is performed.
ModeScriptParserOperationMode.AllowSpecifies if ElementAttributes should be treated as allowed or blocked.

- Allow – Only entries with ElementAttributes are allowed.
- Block – Entries within ElementAttributes are not allowed.
IllegalUriSchemesNoneSpecifies which schemes are not allowed for URI values for link attributes like the href attribute on the a element. An example is javascript to prevent URIs like javascript:onclicked.

SmtpOptions

Contain settings for SMTP.

NameDefault valueDescription
DeliveryMethodDeliveryMethod.NetworkSpecifies which delivery method to use. DeliveryMethod enum has the following values:

- Network – Configures the email client to send emails with SMTP.
- SpecifiedPickupDirectory – Configures the email client to put mails in a disk folder.
SpecifiedPickupDirectorySpecifies the directory given that the pickup directory delivery method was chosen.
NetworkSpecifies various network settings given that the network delivery method was chosen.

SystemTextJsonSettingsOptions

Contain settings to configure System.Text.Json-based serializer when used as serializer for type or assembly.

NameDefault valueDescription
SerializerOptionsThe JSON options that should be used by serializer instance.

TemplateOptions

Contain settings for template registration in CMS.

NameDefault valueDescription
TemplateAssembliesEmptyIf specified, only assemblies within a list are scanned for templates; otherwise, all assemblies in context are scanned for assemblies.
ScanViewsForTemplateRegistrationtrueSpecifies if Views should be scanned according to the convention that views with a name matching a content model are registered as a template for the content model.

UIOptions

Contain settings for CMS edit user interface.

NameDefault valueDescription
UtilUrl"~/Util/"Gets or sets the URL to the Util part of the UI application. It must be a Web URL and may include a scheme and port.
EditUrl"~/EPiServer/CMS/"Gets or sets the URL to the edit UI. It must be a Web URL, and may include a scheme and port.
ApprovalStepRoleUserLimit100Defines the number of user roles triggering a warning when an administrator sets up an approval step.
WebSocketEnabledtrueDefines if the WebSocket connection between the server and the client should be enabled.
PermanentEditRetainPeriod30 daysGets or sets the retain period for the page's "permanent edit" status.
PreviewTimeout15000 msThe timeout in milliseconds for the time to load a preview of a content version.
UIShowGlobalizationUserInterfacetrueDefines if the globalization module should be used.
DisableVersionDeletionfalseDefines if it should be possible to delete versions from UI.
AutoPublishMediaOnUploadtrueSpecifies if media should automatically be published when uploaded to CMS.

UrlSegmentOptions

Contain settings for how URL segments should be managed.

NameDefault valueDescription
UseLowercasetrueIndicates if only lowercase characters should be used in URL segments.
SupportIriCharactersfalseIndicates if segments supports IRI characters. ValidCharacters are set to allow characters not allowed in URL segments according to URL specification. This should be set to true to indicate that the segment might need encoding.
ValidCharacters"A-Za-z0-9-_~.$";Gets or sets the characters that are valid to use as URL segment; will be used as argument to Regexp.
CharacterMapSpecifies a mapping table for characters not allowed due to ValidCharacters.
ReservedSegmentsA list of reserved segments that are not allowed as URL segments.

VirtualRoleOptions

Contain settings for virtual roles.

NameDefault valueDescription
RolesEveryone, Anonymous, AuthenticatedA list of the virtual roles defined in CMS. 

VisitorGroupOptions

Contain settings for audiences (formerly called visitor groups).

NameDefault valueDescription
StatisticsPersistanceInterval20 minSpecifies how often audience statistics are persisted.
EnableStatisticstrueSpecifies if statistics over audiences should be collected.
EnableSessionfalseSpecifies if audience data should be stored in session.