The [Configure CMS](🔗) topic describes the syntax used in the description of the configuration elements.
### \<episerver.packaging\> element attributes
|[allowPrereleaseVersions](🔗)||false||Indicates whether pre-release package versions can be installed on site.|
|[allowUnlisted](🔗)||false||Indicates whether unlisted packages can be installed on site.|
|`||UI||Indicates where add-ons are installed. Set to **Code** to manage add-ons from Visual Studio, see also [Installing add-ons](🔗).|
|[packageListCacheTime](🔗)||0.0:5:0||The length of time that package listings from remote repositories are cached.|
|[packagesTemporaryFolder](🔗)||Uploaded and cached packages are temporarily stored in this location. If no value is configured the system designated temporary directory is used.|
|[protectedPath](🔗)||Physical path where protected add-ons should be installed. This value is set to \*Siteroot\\modules\\\_protected\* during installation.|
|[protectedVirtualPath](🔗)||Virtual path where protected add-ons are installed. During installation this value is set to _~/<EPiServerProtectedPath>/modules_ where _~/<EPiServerProtectedPath>_ is equal to protected virtual root path for Optimizely dashboard and user interface.|
|[publicPath](🔗)||Physical path where public add-ons should be installed. During installation this value is set to physical path to \_modules_subfolder in the site root directory.|
|[publicVirtualPath](🔗)||Virtual path where public add-ons are installed. During installation this value is set to \_~/modules_and is equal to virtual root path to public Shell modules.|
|[repositoryPath](🔗)||Installed packages are stored in this location. During installation this value is set to subpath in site VPP directory, for example _C:\\EPiServer\\VPP\<SiteName>\\ModulesRepository._|
Virtual path providers should be configured to map virtual paths of public and protected add-ons to corresponding physical paths where public and protected add-ons are installed. By default, additional virtual path provider is registered to map virtual and physical paths for protected add-ons.
### \<add\> element attributes
|`||**_Required_** – A unique name identifying this package repository.|
|`||**_Required_** – The full URL or path to the package repository.|
|`||true||Enables or disables this repository.|
|[apiKey](🔗)||If you have a static API key for accessing this repository, it should be set here.|
|[filterTag](🔗)||If this is set, only packages with this tag set are included in the listing. (This can be used to separate listings based on the same repository url.)|
|[requestApiKey](🔗)||false||If you want to request an API key from the repository this option should be enabled. (This is required for the default Optimizely repository.)|
|[sendLicense](🔗)||false||Whether your Optimizely license information should be included with the API key request. (This is required for the default Optimizely repository.)|
### Default Optimizely repository
Optimizely central repository feed is added to the `
packageRepositories` collection implicitly by default. You can remove this default repository repository using **clear** statement.