HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Feature-specific configurations

Describes feature-specific configuration options available for Optimizely Customized Commerce 13.

This topic describes feature-specific configuration options available for Optimizely Customized Commerce. Depending on your specific solution and how you set up and work with Customized Commerce, you can configure for example tracking execution and synchronization of versioning. 

Configuration options

The configuration settings are available in  in the web.config file. The following example is from the Customized Commerce Quicksilver sample site.

<appSettings>
        <add key="PromotionExclusionLevel" value="Order" />
        <add key="CommerceManagerApplicationName" value="ECApplication" />
        <add key="CommerceManagerLink" value="http://localhost:63149/Apps/Shell/Pages/default.aspx" />
        <add key="ProductListPageType" value="" />
        <add key="ProductDetailPageType" value="" />
        <add key="LibraryHandlerExtension" value="" />
        <add key="Mediachase.StoreEmail" value="[email protected]" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
        <add key="PasswordResetValidMinutes" value="60" />
        <add key="AutoMigrateEPiServer" value="true" />
        <add key="DisableVersionSync" value="true" />
        <add key="webpages:Version" value="3.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        <add key="PreserveLoginUrl" value="true" />
        <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
        <add key="episerver:UpdateDatabaseSchema" value="false" />
        <add key="episerver:tracking.Enabled" value="false" />
        <add key="episerver:personalization.BaseApiUrl" value="https://ChangeThis.peerius.com/" />
        <add key="episerver:personalization.Site" value="ChangeThis" />
        <add key="episerver:personalization.ClientToken" value="ChangeThis" />
        <add key="episerver:personalization.AdminToken" value="ChangeThis" />
        <add key="episerver:personalization.RequestTimeout" value="0:0:10" />
        <add key="episerver:ExpiredCartsRemovalJobExcludedCartName" value="WishList" />
        <add key="ida:ClientId" value="Change this to your AAD Application ClientId" />
        <add key="ida:Tenant" value="Change this to your AAD Directory eg. contoso.onmicrosoft.com/" />
        <add key="ida:RedirectUri" value="Change this to your front-end URL" />
        <add key="ida:AADInstance" value="https://login.microsoftonline.com/{0}" />
        <add key="ida:PostLogoutRedirectUri" value="Change this to your front-end URL or a logout confirmation page" />
        <add key="episerver:Commerce.WishListCartNames" value="WishList" />
        <add key="episerver:commerce.DisableLegacyConfiguration" value="true" />
        <add key="episerver:setoption:Mediachase.Commerce.Orders.OrderOptions.DisableOrderDataLocalization, Mediachase.Commerce" value="true" />
    </appSettings>

PromotionExclusionLevel

Indicates if a promotion is excluded from being applied per order or per unit.

  • Order (default): Promotions are excluded from being applied to an order when excluded by other promotions.
  • Unit: Promotions can partly be prevented from being applied to one or more individual items when excluded by other promotions. Order level and shipping level promotions are still excluded in full.
    See also Promotion exclusions.

AutoMigrateEPiServer

If set to true, when the site starts, the migration steps are run automatically. Otherwise, site admins must log in to the migration view and run the steps manually.

DisableVersionSync

Indicates if an update to catalog content done outside of the content APIs removes version data (for example, drafts, old published versions) for affected content.
Setting this to true can improve the speed of batch operations done through the lower-level APIs (like ICatalogSystem), for example the catalog import.

episerver:tracking.Enabled

Indicates if the Tracking system executes tracking.
See also Customized Commerce API overview.

episerver:personalization.BaseApiUrl

The URL of the Episerver Product Recommendations environment to be used. Should contain only the protocol and host name.

episerver:personalization.Site

The site name used to identify requests to the tracking server.

episerver:personalization.ClientToken

The token used to authenticate tracking requests to the REST API. See also Product Recommendations.

episerver:personalization.AdminToken

The token used to authenticate admin requests to the REST API.

episerver:personalization.RequestTimeout

[Optional] Timeout for REST calls. The default value is 30 seconds.

episerver:personalization.TrackingMode

[Optional] The tracking mode to use. Acceptable values are ServerSide and ClientSide.
To use the client side (JavaScript) tracking APIs, set this key to ClientSide. The default value is ServerSide.

episerver:personalization.CatalogFeedBatchSize

[Optional] The number of products processed in one batch when the product feed is generated. A higher value can be faster but puts more pressure on the memory. Default value is 50.
See also Customizing exported product information.

episerver:personalization.CatalogNameForFeed

[Optional] Selects the catalog used to generate the product feed if you have multiple catalogs. If this value is not set, the first catalog is used. See also Customizing exported product information.

📘

Note

This property will be removed when Product feed support for multiple catalogs is added.

ExpiredCartJobDays

For the Remove Expired Carts job, sets the number of days after the last modification before a cart is considered abandoned and removed by the job. Default value is 30 days.

episerver:ExpiredCartsRemovalJobExcludedCartName

For the Remove Expired Carts job, sets the cart name that is excluded from being removed by the job, even if it has not been changed for a longer time than the configured value. Default value is "WishList".

episerver::DataBaseIndicesJobCommandTimeOut

For the Maintenance Database Indices job, set the value (in seconds) before database requests are considered timeouts.

episerver::LowFragmentationThreshold

For the Maintenance Database Indices job, sets the fragmentation value (in percent) of indices. If an index's  fragmentation level is below this value, it is not maintained. Default value is 10.

episerver::HighFragmentationThreshold

For the Maintenance Database Indices job, sets the value (in percent).

  • Indices with a fragmentation level higher than this value will be rebuilt.
  • Indices with a fragmentation level lower than this value, but higher than the value configured by episerver::LowFragmentationThreshold will be reorganized.

Default value is 30.

episerver:commerce.UseLessStrictEntryUriSegmentValidation

Indicates whether validation of entry uri segments should be strict or not.

  • Strict validation means uri segments must be globally unique (for the language) to make sure all hierarchical routes to entries will work despite any crosslinking that happens after the uri segment has been saved.
  • Less strict validation means that the uri segment is still validated for uniqueness against sibling items, but since this happens at the time of saving, crosslinking items can create conflicts in hierarchical routes.

Default value is false (that is, use strict validation).
See also URL segment and SEO URL and Increased Flexibility in Customized Commerce Catalog URLs.

episerver:commerce.UriSegmentConflictsEmailRecipients

Recipients that will get an email if any URI conflicts are found by the Find Catalog Uri Conflicts scheduled job. To specify multiple recipients, separate email addresses by a semicolon (;).
See also URL segment and SEO URL and Increased Flexibility in Customized Commerce Catalog URLs.

Feature switch

The Features configuration options are set in the Configs/ecf.app.config file. 

<Application defaultApplicationName="ECApplication">
      <Features>
        <add feature="WorkflowsVNext" 
             state="Disabled" 
             type="Mediachase.Commerce.Core.Features.WorkflowsVNext, Mediachase.Commerce" />
        <add feature="SerializedCarts" 
             state="Enabled" 
             type="Mediachase.Commerce.Core.Features.SerializedCarts, Mediachase.Commerce" />
      </Features>
    </Application>

The Features configuration options control the following features.

Feature Enables State values Type
WorkflowsVNext The vnext version of workflows to run. See also: Workflows VNext.
  • Enabled (default): Workflows use the new promotion system.
  • Disabled: Workflows use the old promotion system.
Mediachase.Commerce.Core.Features.WorkflowsVnext, Mediachase.Commerce
SerializedCarts Working with the serializable cart system.  
  • Enabled (default): Carts use the new (serializable) cart system.
  • Disabled: Carts use the old cart system.

Mediachase.Commerce.Core.Features.SerializedCarts, Mediachase.Commerce