---
title: "Web.config"
canonical: https://customerscanvas.com/docs/cc4/web-config.htm
archived: true
applies_to:
  - product: "Customer's Canvas On-Premises"
  - product: "Design Editor"
    versions: ["4.4.25", "4.x (may differ)"]
---

**You’re viewing outdated documentation.** [View the latest Customer’s Canvas On-Premises documentation](https://customerscanvas.com/docs/on-premises/).

# Web.config

**Applies to:** Customer's Canvas On-Premises; Design Editor 4.4.25, 4.x (may differ) · **Archived documentation**
 
This topic describes the Customer's Canvas configuration settings that you specify in the `Web.config` configuration file. You can find this file in the Customer's Canvas root folder.
 
In `web.config`, there are four sections where you can set up the application parameters:
 
- appSettings
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.FileCacheConfiguration
- Aurigma.GraphicsMill.AjaxControls.VectorObjects
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Converters

**Important** 
For security reasons, in Customer's Canvas 4.2.13, these sections were moved to separate files in the `~/Configuration` folder: `AppSettings.config`, `VectorObjects.config`, `FileCache.config`, and `Converters.config`. Hosted clients are only allowed to edit the following files:
 
- `~/Configuration/AppSettings.config`
- `~/Configuration/FileCache.config`
- `~/Configuration/VectorObjects.config`

If you use the hosted version of Customer's Canvas and need to set up external command-line image conversion tools, please contact our [support team](mailto:info@aurigma.com).
 
If you use the on-premises version, you can move these configuration files back into `Web.config`.
 
## appSettings
  
The following snippet shows all available parameters of Customer's Canvas, which you can set up in the **appSettings** section and in the separate `~/Configuration/AppSettings.config` file, with their default values.
 
```xml
<configuration>
    <appSettings>
        <add key="AllCategoryName" value="all" />
        <add key="RootCategoryName" value="root" />
        <add key="PublicGalleryFolder" value="~/PublicGalleryFolder" />
        <add key="SepiaAlgorithm" value="Standard" />
        <add key="MasterUserId" value="masteruser" />
        <add key="DefaultUserId" value="default" />
        <add key="UserDataFolder" value="~/UserDataFolder" />
        <add key="AnonymousModeEnabled" value="False" />
        <add key="DemoModeEnabled" value="False" />
        <add key="FontSubstitutionEnabled" value="True" />
        <add key="SubstitutionFontPostScriptName" value="ArialMT" />
        <add key="DefaultFontPostScriptName" value="ArialMT" />
        <add key="LoadFontListAsPostScriptNames" value="False" />
        <add key="ParagraphTextEnabled" value="False" />
        <add key="RasterizeVectorInSmartFrame" value="False" />
        <add key="StateFileStorageEnabled" value="False" />
        <add key="ApiSecurityKey" value="" />
        <add key="UnsafeHttpWebApiEnabled" value="" />
        <add key="SecureModeEnabled" value="False" />
        <add key="HttpHeaderAllowOriginDomains" value="*" />
        <add key="AppUrl" value="/" />
        <add key="ProofImageDownloadEnabled" value="False" />
        <add key="DefaultPlaceholderCoverModeEnabled" value="False" />
        <add key="LogCleanUpInterval" value="60" />
        <add key="LogLifetimeToArchiving" value="20160" />
        <add key="LogLifetimeToRemoving" value="" />
        <add key="IssueNotificationEmail" value="" />
        <add key="DebugScriptModeEnabled" value="" />
        <add key="DesignFolder" value="~/ProductTemplates/designs" />
        <add key="MockupFolder" value="~/ProductTemplates/mockups" />
        <add key="WatermarkFolder" value="~/ProductTemplates/watermarks" />
        <add key="DesignImagesFolder" value="~/ProductTemplates/designImages" />
        <add key="Hinting" value="Enabled" />
    </appSettings>
</configuration>
```
 
**Note** 
All parameters defining paths are either relative or absolute. Relative paths to folders are specified from your site root and start with `~/` (for example, `~/UserDataFolder`). Absolute paths are complete ones; they start either with a drive letter (for example, `C:\`) or `\\` for network locations. When you use absolute paths to external folders, make sure that the user account, under which Customer's Canvas runs in ASP.NET/IIS, has the read/write access to the remote folders.
 
If for some reasons the Postscript names are misspelled, then Customer's Canvas adds Arial to the editor's font list and uses this font for substitutions and new text elements.
 
|  Name |  Description |  Possible values |
| --- | --- | --- |
   |  [Gallery](https://customerscanvas.com/docs/cc4/using-image-gallery.htm.md) |
 |  AllCategoryName |  The alias for the category containing images from the public images folder and all its subfolders. The default value is `all`. |  string |
 |  RootCategoryName |  The alias for the category containing images from the public images folder. The default value is `root`. |  string |
 |  PublicGalleryFolder |  The folder path where public images are stored. The default value is `~/PublicGalleryFolder`. |  folder path |
 |  SepiaAlgorithm |  Sets either a standard Sepia algorithm or a custom algorithm giving a more brown tone. `MoreBrown` is based on `Standard` with modified hue, contrast, and saturation. By default, the `Standard` algorithm is enabled. |  `Standard`, `MoreBrown` |
 |  [Users](https://customerscanvas.com/docs/cc4/working-with-user-data.htm.md) |
 |  MasterUserId |  The identifier of the master user. Templates and images that belong to the master user can be used by any user. The default value is `masteruser`. |  string |
 |  DefaultUserId |  The identifier of the default user. The default value is `default`. |  string |
 |  UserDataFolder |  The folder path where the user data is stored. The default value is `~/UserDataFolder`. |  folder path |
 |  AnonymousModeEnabled |  Enables the anonymous site mode. The default value is `False`. |  `True`, `False` |
 |  DemoModeEnabled |  Enables the demonstration mode. The default value is `False`. |  `True`, `False` |
 |  Font Substitution |
 |  FontSubstitutionEnabled |  Enables the font substitution feature. If a font required by a product is not found on the server, depending on this value, it triggers an exception (for the `False` value) or substitutes the font (for the `True` value). If you turn it off, make sure that all fonts from all your templates are imported to Customer's Canvas as explained in [Custom Fonts](https://customerscanvas.com/docs/cc4/custom-fonts.htm.md) topic. NOTE: For auto-scaled texts, this option is ignored and it always throws an exception if it meets an unknown font in a template. The default value is `True`. |  `True`, `False` |
 |  SubstitutionFontPostScriptName |  The PostScript name of the font to substitute a missing font with. By default, it is the DefaultFontPostScriptName value. |  PostScript font name |
 |  Font Settings |
 |  DefaultFontPostScriptName |  The PostScript name of the default font used for any new text. The default value is `ArialMT`. |  PostScript font name |
 |  LoadFontListAsPostScriptNames |  Allows you to use PostScript names in the [FontList](https://customerscanvas.com/docs/cc4/custom-fonts.htm.md) config if this parameter is `True`. If `False`, the editor reads the names in this list as font family names. The default value is `False`. |  `True`, `False` |
 |  Loading Templates |
 |  ParagraphTextEnabled |  Defines how to load uniformly formatted paragraph text from Photoshop and InDesign templates. If `True`, the text is loaded as plain bounded text, otherwise - as rich formatted text; it is not recommended enabling this parameter, since it is supported for backward compatibility only. The default value is `False`. |  `True`, `False` |
 |  RasterizeVectorInSmartFrame |  Defines how to import PDF and AI vector graphics from Photoshop templates. If `True`, then Customer's Canvas rasterizes images from smart frames, otherwise, they are loaded in a vector form. The [`<RVC>`](https://customerscanvas.com/docs/cc4/supported-markers.htm.md) marker overrides this parameter. The default value is `False`. |  `True`, `False` |
 |  State Files |
 |  StateFileStorageEnabled |  Enables the space-saving mode of state files. This mode is helpful if you use large product template files. The default value is `False`. |  `True`, `False` |
 |  Security |
 |  ApiSecurityKey |  Enables access to the Web API. You have to include this key in every header of HTTPS requests as the `X-CustomersCanvasAPIKey` field to perform file operations on your server. The Web API works if the value of this key passed in a request matches the value defined in `web.config`. The value is an arbitrary string (a unique value). For more details, refer to the [Deploying Customer's Canvas to Windows Servers](https://customerscanvas.com/docs/cc4/deploying-application-to-windows-server-and-azure.htm.md) topic. |  string |
 |  UnsafeHttpWebApiEnabled |  Enables access to the Web API through HTTP. The default value is `False`, which means you can only call the Customer's Canvas Web API through the secure protocol (HTTPS). |  `True`, `False` |
 |  SecureModeEnabled |  Enables secure access to **Image Gallery** by using tokens. In this mode, before loading the editor, you have to create a tokenId for a single user and pass this token to [loadeditor](https://customerscanvas.com/docs/cc4/customerscanvas.iframeapi.loadeditor.htm.md) as a configuration parameter. The default value is `False`. |  `True`, `False` |
 |  HttpHeaderAllowOriginDomains |  Restricts embedding the editor to pages hosted only on listed domains. If your site and Customer's Canvas run on different domains, you can specify your site domain name in `HttpHeaderAllowOriginDomains` to disallow access to the web-to-print editor from other domains. The value is a comma-separated string. For example, it could be like "http://domain1.com,http://domain2.net". The `"*"` default value allows access from any domain. |  string |
 |  AppUrl |  Defines server's URLs that appear in links to proof images and high-resolution outputs. |  string |
 |  Proof Images |
 |  ProofImageDownloadEnabled |  Enables downloading of proof images instead of opening them in a tab when opening a proof image link in a browser. The default value is `False`. |  `True`, `False` |
 |  Image Placeholders |
 |  DefaultPlaceholderCoverModeEnabled |  Enables the cover mode. If `True`, the cover mode is enabled for image placeholders without using the `<PACM>` marker. The default value is `False`. |  `True`, `False` |
 |  Logs and Debugging |
 |  LogCleanUpInterval |  The interval between cleanup runs, in minutes. Every run, Customer's Canvas verifies whether logs get older than LogLifetimeToArchiving or LogLifetimeToRemoving and triggers archiving or removing log files if required. The automatic cleanup does not occur when the application starts. The default value is `60` (an hour). |  number |
 |  LogLifetimeToArchiving |  The lifetime of logs before archiving them into the `~/Resources/Logs/Archive` folder, in minutes. Elmah does not index files in this folder that makes the application launches faster. The default value is `20160` (two weeks). |  number |
 |  LogLifetimeToRemoving |  The lifetime of logs before removing them from both `~/Resources/Logs/Archive` and `~/Resources/Logs` folders, in minutes. Note, removing logs can make an error analysis difficult. If LogLifetimeToRemoving is less than LogLifetimeToArchiving, then the archive folder will not contain log files. By default, Customer's Canvas does not remove logs. |  number |
 |  IssueNotificationEmail |  Customer's Canvas sends error notifications to this email address. You can receive notifications of initialization errors and missing designs, mockups, or fonts. By default, this value is undefined, and the editor does not send email notifications. For more details, refer to the [Email Notifications](https://customerscanvas.com/docs/cc4/email-notifications.htm.md) topic. |  string |
 |  DebugScriptModeEnabled |  Enables the Debug mode for loading JavaScript code. `False` enables the Release mode when the scripts are minified and combined into a bundle. `True` enables the Debug mode when the scripts load as separate files and not minified. If you do not specify this parameter, the mode will depend on the application build configuration (for example, if compiled as Debug, Customer's Canvas enables the Debug Script mode). |  `True`, `False` |
 |  Content Folders |
 |  DesignFolder |  The folder path where design templates are stored. The default value is `~/ProductTemplates/designs`. |  folder path |
 |  MockupFolder |  The folder path where product mockups are stored. The default value is `~/ProductTemplates/mockups`. |  folder path |
 |  WatermarkFolder |  The folder path where watermark images are stored. The default value is `~/ProductTemplates/watermarks`. |  folder path |
 |  DesignImagesFolder |  The folder path where the `<BGIMG>` images are stored. The default value is `~/ProductTemplates/designImages`. |  folder path |
 |  Hinting |  Customer's Canvas allows you to specify whether to use font hinting when it is not enabled for the font or not. The `Enabled` value turns hinting on whereas `Disabled` turns it off. The `Auto` value does not turn font hinting on when it is disabled. By default, this parameter is `Enabled`. |  `Enabled`, `Disabled`, `Auto` |
 
## FileCacheConfiguration
  
Cache parameters should be defined in the **Aurigma.GraphicsMill.AjaxControls.VectorObjects.FileCacheConfiguration** section or in the separate `~/Configuration/FileCache.config` file.
 
```xml
<configuration>
    <configSections>
        <section name="Aurigma.GraphicsMill.AjaxControls.VectorObjects.FileCacheConfiguration" 
        type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </configSections>
    <Aurigma.GraphicsMill.AjaxControls.VectorObjects.FileCacheConfiguration>
        <add key="MaxSize" value="10737418240" />
        <add key="CleanUpInterval" value="1800" />
        <add key="MaxUtilizationThreshold" value="95" />
        <add key="UtilizationTarget" value="70" />
        <add key="RootPath" value="~/App_Data/FileCache" />
    </Aurigma.GraphicsMill.AjaxControls.VectorObjects.FileCacheConfiguration>
</configuration>
```
 
|  Name |  Description |  Possible values |
| --- | --- | --- |
   |  [Cache](https://customerscanvas.com/docs/cc4/configuring-cache.htm.md) |
 |  MaxSize |  The maximum size of the cache, in bytes. The default value is `10737418240` (10GB). |  number |
 |  CleanUpInterval |  The interval between cleanup runs, in seconds. The default value is `1800` (30 minutes). |  number |
 |  MaxUtilizationThreshold |  The maximum cache utilization level (in percent) that triggers automatic cleanup. When the cache size reaches **MaxUtilizationThreshold**, the cleanup process starts. The default value is `95`. |  number |
 |  UtilizationTarget |  The utilization level (in percent) to which the cache should be cleaned up. When the cleanup algorithm reaches the **UtilizationTarget** level, the cleanup process stops. The default value is `70`. |  number |
 |  RootPath |  The folder path where the cache is stored. The default value is `~/App_Data/FileCache`. |  folder path |
 
For more details, refer to the [Configuring the Cache](https://customerscanvas.com/docs/cc4/configuring-cache.htm.md) topic.
 
## VectorObjects
  
Some other application parameters should be defined in the **Aurigma.GraphicsMill.AjaxControls.VectorObjects** section or in the separate `~/Configuration/VectorObjects.config` file.
 
```xml
<configuration>
    <configSections>
        <section name="Aurigma.GraphicsMill.AjaxControls.VectorObjects" 
        type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </configSections>
    <Aurigma.GraphicsMill.AjaxControls.VectorObjects>
        <add key="RgbColorProfileFileName" value="" />
        <add key="CmykColorProfileFileName" value="" />
        <add key="GrayscaleColorProfileFileName" value="" />
        <add key="PdfHiResRasterizeVectorLayers" value="False" />
        <add key="FontDirectory" value="~/Fonts" />
        <add key="PsdTextBoxWorkaroundEnabled" value="False" />
    </Aurigma.GraphicsMill.AjaxControls.VectorObjects>
</configuration>
```
 
|  Name |  Description |  Possible values |
| --- | --- | --- |
   |  [Hi-res output](https://customerscanvas.com/docs/cc4/configuring-high-resolution-and-proof-images.htm.md) |
 |  RgbColorProfileFileName |  The name of the RGB color profile. |  file name |
 |  CmykColorProfileFileName |  The name of the CMYK color profile. |  file name |
 |  GrayscaleColorProfileFileName |  The name of the grayscale color profile. |  file name |
 |  PdfHiResRasterizeVectorLayers |  Allows for rasterizing vector elements in the PDF output. The default value is `False`. |  `True`, `False` |
 |  Fonts |
 |  FontDirectory |  The folder path where fonts are stored. The default value is `~/Fonts`. |  folder path |
 |  PsdTextBoxWorkaroundEnabled |  Allows for correcting a text position within the text box if Photoshop shifts this text for the used script font. The default value is `False`. |  `True`, `False` |
 
For more details on color management, refer to the [Setting Color Profile](https://customerscanvas.com/docs/cc4/configuring-high-resolution-and-proof-images.htm.md) topic.
 
## External Converters
  
For graphics formats that do not have built-in support in Customer's Canvas, you can set up external command-line image conversion tools (converters) in the **Aurigma.GraphicsMill.AjaxControls.VectorObjects.Converters** section and in the separate `~/Configuration/Converters.config` file. Customer's Canvas runs such converters when the **Image Gallery** opens images or you open PSD files with embedded images in the specified format at the first time. As a result, converters generate PDF files.
 
For example, you may want to use your vector graphics in the EPS format. In this case, you can set up the Ghostscript or PStill tools for obtaining vector PDF files as follows:
 
```xml
<configuration>
    <configSections>
        <section name="Aurigma.GraphicsMill.AjaxControls.VectorObjects.Converters"
        type="Aurigma.GraphicsMill.AjaxControls.VectorObjects.Config.ConvertersConfigSection, Aurigma.GraphicsMill.AjaxControls.VectorObjects" />
    </configSections>
    <Aurigma.GraphicsMill.AjaxControls.VectorObjects.Converters>
        <Converters>
            <Converter name="epsgs"
                       format="eps"
                       executable="C:\Program Files\gs\gs9.22\bin\gswin64c.exe"
                       args="-dPSFitPage -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dFitPage -r300 -sOutputFile=%OUTPUT% %INPUT%"
                       timeout="30" />
        </Converters>
    </Aurigma.GraphicsMill.AjaxControls.VectorObjects.Converters>
</configuration>
```
 
**Important** 
The command line arguments must contain variables for the input and output file names, `%INPUT%` and `%OUTPUT%`.
 
|  Parameter |  Description |
| --- | --- |
   |  name |  The unique converter name. |
 |  format |  The file format that requires the conversion. To allow your users to upload a new image format, add this format to the [allowedExtensions](https://customerscanvas.com/docs/cc4/client-config.htm.md) list. |
 |  executable |  The path to the executable file of the converter. |
 |  args |  Command line arguments. Customer's Canvas uses the `%INPUT%` variable for the input file path and file name of the original image. `%OUTPUT%` contains the file path and file name of the converted image. |
 |  timeout |  The time limit for the conversion. The default value is `30` seconds. |
 
## See Also
  
### Manual
 
- [Configuring Products](https://customerscanvas.com/docs/cc4/configuring-products.htm.md)
- [Integration with E-commerce](https://customerscanvas.com/docs/cc4/user-is-done-with-customizations-whats-next.htm.md)
- [Configuring High Resolution and Proof Images](https://customerscanvas.com/docs/cc4/configuring-high-resolution-and-proof-images.htm.md)
- [Using the Image Gallery](https://customerscanvas.com/docs/cc4/using-image-gallery.htm.md)
- [Working with User Data](https://customerscanvas.com/docs/cc4/working-with-user-data.htm.md)
- [Configuring the Cache](https://customerscanvas.com/docs/cc4/configuring-cache.htm.md)
