HomeGuidesAPI Reference
Submit Documentation FeedbackJoin Developer CommunityOptimizely GitHubOptimizely NuGetLog In

Cms section

This topic 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.

DataAccessOptions

Contain settings for database access.

NameDefault valueDescription
ConnectionStrings The connectionstrings for 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 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.

DynamicDataStoreOptions

Contain settings for Dynamic Data Store (DDS).

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

EventProviderOptions

Contain settings for event provider used in communication between applications.

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

BlobProviderOptions

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

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

FileBlobProviderOptions

Contain settings for the file-based BLOB provider when such is configured to be used as BLOB provider.

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

EnvironmentOptions

Contain settings for the application environment.

NameDefault valueDescription
AppDataPath "App_Data"The path to where application specific resources are stored such as file-based BLOBS.

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 that 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 that 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 value.
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.

VirtualRoleOptions

Contain settings for virtual roles.

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

ClaimTypeOptions

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

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

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 debug purpose.
CompresstrueSpecifies if client-resource responses should be compressed.
JsonResponseBuffer1000*256Specifies the buffer size for JSON responses  buffered before written to response.

CompositeFileProviderOptions

Contain settings for the composite file provider.

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

ClientGeolocationOptions

Contain settings for client geolocation.

NameDefault valueDescription
LocationHeaderSpecifies HTTP header to resolve client geolocation in the form of 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.

VisitorGroupOptions

Contain settings for visitor groups.

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

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 that are loaded in a same database request.
InvalidateRemoteCacheForVersionstrueSpecifies if a version change should be propagated to other instances of the application.
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 there are custom castle extensions registered.
- Castle – Castle proxies are used.
- Optimized – Performance optimized proxies are used.
ProvidersA dictionary of the content providers to use.

ContentModelOptions

Contain settings for content modelling.

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 Model name of the class always should be the name of the content type.

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 content, except if 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 host specified as 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.

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 that are not allowed in URL segments according to URL specification. This should be set to true to indicate that 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 segment.

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 minutesThe sliding cache for how long content is cached when retrieved from a scheduled job.

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.

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 scheme and port.
EditUrl"~/EPiServer/CMS/"Gets or sets the URL to the edit UI. It must be a Web URL, and may include scheme and port.
ApprovalStepRoleUserLimit100Defines the amount of user roles which would trigger a warning when an administrator sets up an approval step.
WebSocketEnabledtrueDefines if the WebSocket connection between 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 of media should automatically be published when uploaded to CMS.

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, visitor group personalization.

DisplayOptions

Used to register DisplayOption with CMS.

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

ActivityOptions

Contain settings for how activities should be tracked within CMS.

NameDefault valueDescription
ArchiveRetentionPeriod12 Gets or sets the number of months that activities should remain archived before they are deleted.
TrackContentSaveEventsfalseGets or sets if Content Save events should be tracked and logged as an activity.

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.

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.

CmsPolicyOptions

Contain settings for how policies within CMS.

NameDefault valueDescription
EditRolesCmsEditors, CmsAdmins, AdministratorsThe list of roles that will be checked against from policy CmsPolicyNames.CmsEdit used, for example, for CMS edit access.
PreviewRolesCmsEditors, CmsAdmins, AdministratorsThe list of roles that will be checked against from policy CmsPolicyNames.Preview used for preview of draft versions.

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 apply.

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 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 is registered as a template for the content model.

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.

LinkValidatorOptions

Contain settings for assembly/type specific JSON serialization.

NameDefault valueDescription
ExternalLinkMinimumRequestInterval5 secThe minimum time in seconds between requests to 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 elaps before a link is rechecked.
ExternalLinkErrorThreshold100If a consecutive number of errors on external links exceeds the threshold, the job will stop.
ExcludePatternsA list of regular expression patterns that will be 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 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 for to authenticate proxy connection.
ProxyPasswordOptional web proxy password to authenticate the proxy connection.
ProxyDomain

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 mails with SMTP.
- SpecifiedPickupDirectory – Configures the email client to put mails on a disk folder.
SpecifiedPickupDirectorySpecifies the directory given that pickup directory delivery method has been chosen.
NetworkSpecifies various network settings given that network delivery method has been chosen.

Network

Contain settings for 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.

What’s Next