---
title: episerver.framework
slug: cms-11/dev-docs/configuring-episerverframework-legacy
docTags: 
createdAt: 2026-07-22T19:45:19.643Z
---

The [Configure CMS](docId\:Ki3aZjVaUcNEu4ABnx3dY) topic describes the syntax of the configuration elements.

```xml
<episerver.framework>
  <clientResources>
  <geolocation>
  <localization>
  <scanAssembly>
  <virtualPathProviders>
  <virtualRoles>
  <visitorGroupStatistics>
  <licensing>
  <appData>
  <blob>
  <event>
</episerver.framework>
```

## \<episerver.framework> element attributes

| Name                   | Default value | Description                                                                                                                                                                                                                                                |
| ---------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `createDatabaseSchema` | false         | Defines whether to automatically create the database schema if it is missing from the configured database. See [Install database schema](https://world.optimizely.com/documentation/developer-guides/CMS/Deployment/installing-database-schema/).          |
| `updateDatabaseSchema` | false         | Defines whether to automatically update the database schema in case the current application requires a newer schema. See [Automatic schema updates](https://world.optimizely.com/documentation/developer-guides/CMS/Deployment/automatic-schema-updates/). |

## \<clientResources>

```xml
<clientResources debug="bool" compress="bool" />
```

### \<clientResources> element attributes

| Name                                                                                             | Default value | Description                                                                                 |
| ------------------------------------------------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------- |
| [debug](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/94892AC0)    | false         | Defines whether to use debugged versions of included scripts instead of optimized versions. |
| [compress](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/33B9349F) | true          | Defines whether to deliver data from REST stores in compressed format.                      |

## \<geolocation>

```xml
<geolocation defaultProvider="string" >
       <providers>
          <add name="string"
               type="string" />
          ...
       </providers>
    </geolocation>
```

### \<geolocation> element attributes

| Name                                                                                                    | Default value | Description                                                                                                          |
| ------------------------------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------- |
| [defaultProvider](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/B1BE261F) |               | ***Required*** – The provider's name. A provider with the specified name must exist in the `<providers>` collection. |

### \<add> element attributes

| Name   | Default value | Description                                                       |
| ------ | ------------- | ----------------------------------------------------------------- |
| `name` |               | ***Required*** – A unique name identifying this provider.         |
| `type` | false         | ***Required*** – The full name of the geolocation provider class. |

## \<localization>

```xml
<episerver.framework>
      ...
      <localization fallbackBehavior="FallbackCulture, MissingMessage, Echo" fallbackCulture="en">
        <providers>
          <add physicalPath="c:\temp\resourceFolder"
               name="customResources"
               type="EPiServer.Framework.Localization.XmlResources.FileXmlLocalizationProvider" />
        </providers>
      </localization>
      ...
    </episerver.framework>
```

### \<localization> element attributes

| Name                                                                                                    | Default value          | Description                                                                                                                                                                                                                                          |
| ------------------------------------------------------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [FallbackBehavior](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/CE4E482) | FallbackBehaviors.Echo | Use the fallback behavior if it cannot find a resource in the requested culture. See [EPiServer.Framework.Localization.FallbackBehaviors](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/F7101775) for possible values. |
| [FallbackCulture](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/2ACBD50A) | en                     | Use the name of the fallback culture in the `languagecode-country/regioncode` format that the `LocalizationService` if it cannot find a resource and the `FallbackBehavior` includes the `FallbackBehavior.FallbackCulture` flag.                    |

### \<add> element attributes

| Name                  | Default value                           | Description                                                                                                               |
| --------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `name`                |                                         | ***Required*** – A unique name identifying this provider.                                                                 |
| `physicalPath`        |                                         | A physical directory path to where language files are located.                                                            |
| `fileSystemWatchPath` | Same value as specified `physicalPath`. | A physical directory path that the `FileSystemWatcher` uses. If you do not set a value, it uses the `physicalPath` value. |

## \<scanAssembly>

```xml
<scanAssembly forceBinFolderScan="bool" >
       <add assembly="string" />
       ...
    </scanAssembly>
```

### \<searchResultFilter> element attribute

| Name                                                                                                       | Default value | Description                                                                                                                                    |
| ---------------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| [forceBinFolderScan](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/68604DDE) | false         | Defines whether to scan assemblies in the `/bin` folder to discover classes decorated with any of the `EPiServer` class decoration attributes. |

### \<add> element attribute

| Name       | Default value | Description                                                                                                                                                     |
| ---------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `assembly` |               | ***Required*** – Defines whether to scan assemblies in the `/bin` folder to discover classes decorated with any of the `EPiServer` class decoration attributes. |

## \<virtualPathProviders>

```xml
<virtualPathProviders> 
          <add name="string"
               type="string" />
          ...
    </virtualPathProviders>
```

### \<add> element attributes

| Name   | Default value | Description                                                                        |
| ------ | ------------- | ---------------------------------------------------------------------------------- |
| `name` |               | ***Required*** – Unique name for this virtual path provider.                       |
| `type` |               | ***Required*** – The full name of the virtual path provider class.                 |
| ...    |               | Implementation-specific settings. It can have any name and is arbitrary in number. |

## \<virtualRoles>

```xml
<virtualRoles failSafeIsInRole="bool"
              replacePrincipal="bool"
              replicationType="string"
              addClaims="bool">
   <providers>
      <add name="string"
           type="string" />
        ...
   </providers>
</virtualRoles>
```

### \<virtualRoles> element attributes

| Name                                                                                                     | Default value                                                                                  | Description                                                                                                                                                                                      |
| -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [FailSafeIsInRole](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/E8E5E0D9) | false                                                                                          | Defines whether the IsInRole method on `VirtualRolePrincipal` may throw an exception (when `replacePrincipal` is set to true). Set to true to stop `IsInRole` from throwing an exception.        |
| [ReplacePrincipal](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/8FBF4391) | false                                                                                          | Defines whether the `HttpContext.Current.User IPrincipal` object is wrapped in a `VirtualRolePrincipal`. Use `addClaims` instead when possible.                                                  |
| [AddClaims](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/6CBE61CB)        | false                                                                                          | Defines whether to add virtual roles as claims on the `HttpContext.Current.User IPrincipal object`. You cannot combine it with `replacePrincipal`. Requires `EPiServer.CMS.Core` 7.14 or higher. |
| [ReplicationType](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/618DAC8F)  | `EPiServer.ApplicationModules.Security.VirtualRoleReplication`, `EPiServer.ApplicationModules` | The full name of the class handling replication of changes in virtual roles.                                                                                                                     |

### \<add> element attributes

| Name   | Default value | Description                                                        |
| ------ | ------------- | ------------------------------------------------------------------ |
| `name` |               | ***Required*** – Unique name for this virtual role provider.       |
| `type` |               | ***Required*** – The full name of the virtual role provider class. |

## \<visitorGroupStatistics>

```xml
<visitorGroupStatistics commitToRepositoryInterval="TimeSpan" enabled="bool" />
```

### \<visitorGroupStatistics> element attributes

| Name                                                                                                               | Default value | Description                                                       |
| ------------------------------------------------------------------------------------------------------------------ | ------------- | ----------------------------------------------------------------- |
| [commitToRepositoryInterval](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/CAE5E0FC) | 0.00:20:00    | How often should collected statistics be saved to the repository. |
| [enabled](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/34709E62)                    | true          | Defines whether to collect statistics.                            |

## \<licensing>

```xml
<licensing licenseFilePath="string"/>
```

### \<licensing> element attributes

| Name                                                                                                    | Default value  | Description                                        |
| ------------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------- |
| [licenseFilePath](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/4F9B0A93) | License.config | The relative or absolute path to the license file. |

## \<appData>

```xml
<appData basePath="string"/>
```

### \<appData> element attributes

| Name                                                                                             | Default value | Description                       |
| ------------------------------------------------------------------------------------------------ | ------------- | --------------------------------- |
| [basePath](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/75609380) |               | The path to the application data. |

## \<blob>

```xml
<blob defaultProvider="string" >
       <providers>
          <add name="string"
               type="string" />
          ...
       </providers>
    </blob>
```

### \<blob> element attributes

| Name                                                                                                    | Default value | Description                                                                                                          |
| ------------------------------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------- |
| [defaultProvider](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/72C13640) |               | ***Required*** – The provider's name. A provider with the specified name must exist in the `<providers>` collection. |

### \<add> element attributes

| Name   | Default value | Description                                                  |
| ------ | ------------- | ------------------------------------------------------------ |
| `name` |               | ***Required*** – A unique name identifying this provider.    |
| `type` | false         | ***Required*** – The full name of the `blob` provider class. |

## \<event>

```xml
<event defaultProvider="string" >
       <providers>
          <add name="string"
               type="string" />
          ...
       </providers>
    </event>
```

### \<event> element attribute

| Name                                                                                                    | Default value | Description                                                                                                          |
| ------------------------------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------- |
| [defaultProvider](https://world.optimizely.com/documentation/Class-library/?documentId=cms/10/83B35087) |               | ***Required*** – The provider's name. A provider with the specified name must exist in the `<providers>` collection. |

### \<add> element attributes

| Name   | Default value | Description                                                 |
| ------ | ------------- | ----------------------------------------------------------- |
| `name` |               | ***Required*** – A unique name identifying this provider.   |
| `type` | false         | ***Required*** – The full name of the event provider class. |
