> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# NetServer ClientConfigurationProvider element (SuperOffice only)

> NetServer configuration for the Web client configuration data provider.

Configuration for the Web client configuration data provider. The paths tell the client where additional configuration files are located.

```XML theme={null}
<ClientConfigurationProvider>
  <add key="CacheConfigurations" value="false" />
  <add key="ValidateConfigurations" value="true" />
</ClientConfigurationProvider>
```

| Name                   | Description                                                                                                                                         | Default |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| CacheConfigurations    | Should GUI config data be cached?                                                                                                                   |         |
| CacheUserPreferences   | Should user preferences be cached?                                                                                                                  | true    |
| CustomPath             | List of alternate paths for GUI .config files. When more than one, each additional path must have a numbered suffix (CustomPath1, CustomPath2, ...) |         |
| FilePath               | File path for standard .config files.                                                                                                               |         |
| ValidateConfigurations | Should GUI config data be validated runtime?                                                                                                        |         |

## CacheConfigurations

Caching configuration benefits performance. However, it makes more sense to turn caching off during development.

When set to false, configuration changes to UI elements are immediately applied and observed in the browser. There's no need to reset IIS or issue a *flush* SoProtocol.

## CustomPath

The custom-path key name must start with the text **CustomPath** and can be suffixed when necessary to support multiple custom paths. The only requirement is each key must start with "CustomPath\_" and be unique.

Multiple custom paths are a means to organize and separate features and third-party integrations.

```xml theme={null}
<ClientConfigurationProvider>
  <add key="CustomPath_Common"     value ="C:\WebClient\Common" />
  <add key="CustomPath_Feature"    value ="C:\WebFeature\MyFiles" />
  <add key="CustomPath_ThirdParty" value ="C:\Thirdparty\MyFiles" />
</ClientConfigurationProvider>
```

Files in a custom path folder take **precedence** and override standard web-client configuration files. This means that if a file called *SoApplicationConfiguration.config* exists in a custom path, it will take priority and be used instead of the default *SoApplicationConfiguration.config* in the web applications installation folder.

If the decision is to use a copy of the original file in a custom path, try to use one common folder that is shared among third-parties to ensure you do not override each other's settings. That said, it's recommended to use a merge file instead.

## ValidateConfigurations

SOML is PageBuilder XML that must conform to a well-defined schema. When set to true, `ValidateConfigurations` will validate all configurations based on respective schemas to ensure all markup is well-formed. Any errors found are shown in the browser.

See the [NetServer Core reference][1] for details about handling this programmatically.

[1]: https://github.com/SuperOfficeDocs/superoffice-docs/blob/main/docs/en/api/reference/netserver/core/SuperOffice.Configuration.ConfigFile.ClientConfigurationProvider.yml


## Related topics

- [NetServer Client element (SuperOffice only)](/en/onsite/web-config/client.md)
- [NetServer SubClients element (SuperOffice only)](/en/onsite/web-config/subclients.md)
- [NetServer CssSprite element (SuperOffice only)](/en/onsite/web-config/csssprite.md)
- [NetServer Downloads element (SuperOffice only)](/en/onsite/web-config/downloads.md)
- [NetServer Sync element (legacy SuperOffice only)](/en/onsite/web-config/sync.md)
- [NetServer Cloud element (SuperOffice only)](/en/onsite/web-config/cloud.md)
