---
schema_version: "1"
id: bcad3a395891bcaeb6344bf0d3feed8103c9ce4733a2e519db325f058c0b1aab
title: CMSConnectSource
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_cmsconnectsource.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_cmsconnectsource.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: dc8aa7d2a1355006a5a13d91ca5b3d58e009a3dc619ba43b4a0457b1e1cb038f
description: Represents the connection information for external content management systems that feed content to Experience Builder sites. This type extends the Metadata metadata type and inherits its fullName field.
---
# CMSConnectSource

Represents the connection information for external content management systems that feed content to Experience Builder sites. This type extends the Metadata metadata type and inherits its fullName field.

![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png)

#### Important

Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png)

#### Note

For use with Change Sets, CMSConnectSource is a dependent of **Network** and **Community**.

## File Suffix and Directory Location

CMSConnectSource components have the suffix .cmsConnectSource and are stored in the cmsConnectSource folder. In that folder, separate files exist for each network (for example, networkname.sourcedevelopername.cmsConnectSource). Each file represents a CMS connection.

## Version

CMSConnectSource components are available in API version 43.0 and later.

## Special Access Rules

The **CMS Connect org** permission must be enabled.

## Fields

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d247845e123">Field Name</th>

              <th class="featureTableHeader  " id="d247845e126">Field Type</th>

              <th class="featureTableHeader  " id="d247845e129">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">cmsConnectAsset</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">
                <a class="xref" href="#cmsConnectAsset">CMSConnectAsset</a>[]
              </td>

              <td class="entry" headers="d247845e129" data-title="Description">Represents CSS or JavaScript defined for the connection.<ul class="ul bulletList">
                  <li class="li">0–10 for CSS</li>

                  <li class="li">0–10 for JavaScript</li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">cmsConnectLanguage</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">
                <a class="xref" href="#cmsConnectLanguage">CMSConnectLanguage</a>[]
              </td>

              <td class="entry" headers="d247845e129" data-title="Description">0 to more. Represents language mappings defined for the connection.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">cmsConnectPersonalization</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type"><a class="xref" href="#cmsConnectPersonalization">CMSConnectPersonalization[]</a></td>

              <td class="entry" headers="d247845e129" data-title="Description">0 or 1. Represents personalization defined for the connection. Only for use
                when <span class="keyword parmname">type</span> is <samp class="codeph nolang">AEM</samp>.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">cmsConnectResourceType</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">
                <a class="xref" href="#cmsConnectResourceType">CMSConnectResourceType</a>[]
              </td>

              <td class="entry" headers="d247845e129" data-title="Description">0–5. Represents JSON definitions defined for the connection.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">connectionType</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">CMSSourceConnectionType(<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. Type of authentication being used with outside system. Valid values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">Public</samp></li>

                  <li class="li"><samp class="codeph nolang">Authenticated</samp></li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">cssScope</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e129" data-title="Description">The class name used to prefix and scope the CSS rules.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">developerName</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. API name of the CMSConnectSource entity.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">languageEnabled</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. Valid values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">Y</samp> to enable language mapping for
                    connection.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">N</samp> if no language mapping is needed.
                  </li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">masterLabel</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. Connection name</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">namedCredential</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required when the <span class="keyword parmname">connectionType</span> is <samp class="codeph nolang">Authenticated</samp>. API name of
                <span class="keyword parmname">namedCredential</span>. Before deploying
                <span class="keyword parmname">namedCredential</span>, it must exist on the destination
                org.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">personalizationEnabled</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. Valid values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">Y</samp> to enable personalization mapping for
                    connection.
                  </li>

                  <li class="li">Otherwise <samp class="codeph nolang">N</samp>.</li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">rootPath</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. Root path.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">sortOrder</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">int</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. Defines the load order of the connection when multiple connections
                defined on page. The load order begins with 1.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">status</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">CMSConnectionStatus(<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. Status of connection. Valid values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">ACTIVE</samp></li>

                  <li class="li"><samp class="codeph nolang">INACTIVE</samp></li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname" id="type"><a name="type"><!-- --></a>type</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">CMSConnectionSourceType(<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required. The identification of the source connection system. Valid values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">AEM</samp></li>

                  <li class="li"><samp class="codeph nolang">Drupal</samp></li>

                  <li class="li"><samp class="codeph nolang">WordPress</samp></li>

                  <li class="li"><samp class="codeph nolang">SDL</samp></li>

                  <li class="li"><samp class="codeph nolang">Sitecore</samp></li>

                  <li class="li"><samp class="codeph nolang">Other</samp></li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e123" data-title="Field Name"><span class="keyword parmname">websiteUrl</span></td>

              <td class="entry" headers="d247845e126" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e129" data-title="Description">Required if <span class="keyword parmname">connectionType</span> is <samp class="codeph nolang">Public</samp>
              </td>

            </tr>

          </tbody>

        </table>

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png)

#### Note

Because there can be existing connections when a package comes in, there’s some INSERT or UPDATE logic to consider:

- If you find developerName in the destination, then update the existing collection with all details form source.
- namedCredential is handled through developerName. If you don’t find namedCredential with developerName, then an error is generated.
- If the destination isn’t sortOrder from the source, then insert or update with the source sortOrder.
- If sortOrder from the source is already in the destination, then increase the source sortOrder by 1 for connections such that the destination sortOrder > sortOrder from the source.

## CMSConnectAsset

CMSConnectAsset defines the location, types, and order of assets necessary to support the incoming content, such as JavaScript and CSS files.

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png)

#### Note

Because there can be existing connections when a package comes in, there’s some INSERT or UPDATE logic to consider:

- If assetPath exists in the destination, then update the existing record, else the new assetPath is inserted.
- Always keep the sortOrder from the source and adjust the destination accordingly.

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d247845e568">Field Name</th>

              <th class="featureTableHeader  " id="d247845e571">Field Type</th>

              <th class="featureTableHeader  " id="d247845e574">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d247845e568" data-title="Field Name"><span class="keyword parmname">assetPath</span></td>

              <td class="entry" headers="d247845e571" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e574" data-title="Description">Relative path of the asset.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e568" data-title="Field Name"><span class="keyword parmname">assetType</span></td>

              <td class="entry" headers="d247845e571" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e574" data-title="Description">
                <p class="p">When used in Apex, this value can be sent as an enum, otherwise, this field has a
                  type of string.</p>

                <p class="p">Allowed values as string</p>

                <ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">CSS</samp></li>

                  <li class="li"><samp class="codeph nolang">Javascript</samp></li>

                </ul>

                <p class="p">Allowed values as enum</p>

                <ul class="ul bulletList">
                  <li class="li"><samp class="codeph nolang">CSS</samp></li>

                  <li class="li"><samp class="codeph nolang">Javascript</samp></li>

                </ul>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e568" data-title="Field Name"><span class="keyword parmname">sortOrder</span></td>

              <td class="entry" headers="d247845e571" data-title="Field Type">int</td>

              <td class="entry" headers="d247845e574" data-title="Description">Loading sequence on the page.</td>

            </tr>

          </tbody>

        </table>

## CMSConnectLanguage

CMSConnectLanguage components determine the presented language of the content.

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d247845e677">Field Name</th>

              <th class="featureTableHeader  " id="d247845e680">Field Type</th>

              <th class="featureTableHeader  " id="d247845e683">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d247845e677" data-title="Field Name"><span class="keyword parmname">cmsLanguage</span></td>

              <td class="entry" headers="d247845e680" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e683" data-title="Description">When a language placeholder is in the URL path, this value is used to replace
                it.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e677" data-title="Field Name"><span class="keyword parmname">language</span></td>

              <td class="entry" headers="d247845e680" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e683" data-title="Description">Salesforce supported language.
                <p class="p">For information see <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_translations.htm" target="_blank">https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_translations.htm</a></p>

              </td>

            </tr>

          </tbody>

        </table>

## CMSConnectPersonalization

CMSConnectPersonalization is used only with Adobe Experience Manager (AEM).

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png)

#### Note

Because there can be existing connections when a package comes in, there’s some INSERT or UPDATE logic to consider. If personalization isn’t enabled in the source system, but is enabled in the destination, the destination is disabled. The record for the connection is deleted from the table.

| Field Name | Field Type | Description |
| --- | --- | --- |
| connectorPage | string | The path to the JSP file that you created and installed in AEM. |
| connectorPageAsset | string | The path to your Javascript file. Providing this path allows you to run scripts dynamically. |

## CMSConnectResourceType

CMSConnectResourceType is for use only to define JSON connections.

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png)

#### Note

Because there can be existing connections when a package comes in, there’s some INSERT or UPDATE logic to consider. If you find the developer name in the destination, then update the existing record with all details from the source.

| Field Name | Field Type | Description |
| --- | --- | --- |
| cmsConnectResourceDefinition | [cmsConnectResourceDefinition](#cmsConnectResourceDefinition)\[\] | 0–10 allowed per CMSConnectResourceType. |
| developerName | string | API name of CMSConnectResourceType. |
| masterLabel | string | Content type name. |
| resourceType | string | The only allowed value is JSON. |

## CMSConnectResourceDefinition

cmsConnectResourceDefinition is used to define JSON connections.

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png)

#### Note

Because there can be existing connections when a package comes in, there’s some INSERT or UPDATE logic to consider:

- If you find developerName in the destination, then the existing record is updated with all details from the new source, else the new value is inserted.
- If the current source is DETAIL and the destination has DETAIL with a different name, then the destination is updated to LIST and the source is inserted as DETAIL.

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d247845e932">Field Name</th>

              <th class="featureTableHeader  " id="d247845e935">Field Type</th>

              <th class="featureTableHeader  " id="d247845e938">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d247845e932" data-title="Field Name"><span class="keyword parmname">developerName</span></td>

              <td class="entry" headers="d247845e935" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e938" data-title="Description">Required. API name of CMSConnectResourceDefinition.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e932" data-title="Field Name"><span class="keyword parmname">masterLabel</span></td>

              <td class="entry" headers="d247845e935" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e938" data-title="Description">Required. developerName of Content Item or Content List.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e932" data-title="Field Name"><span class="keyword parmname">options</span></td>

              <td class="entry" headers="d247845e935" data-title="Field Type">int</td>

              <td class="entry" headers="d247845e938" data-title="Description">Required. Identifies whether the content from the external source is a single
                item or a list.<p dir="ltr" class="p">0 for Content List</p>
                <p dir="ltr" class="p">1 for Content
                  Item</p>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e932" data-title="Field Name"><span class="keyword parmname">payloadType</span></td>

              <td class="entry" headers="d247845e935" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e938" data-title="Description">Required. The only valid value is <samp class="codeph nolang">JSON</samp>.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e932" data-title="Field Name"><span class="keyword parmname">resourceIdPath</span></td>

              <td class="entry" headers="d247845e935" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e938" data-title="Description">Relative path to ID. Required for Content Item.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e932" data-title="Field Name"><span class="keyword parmname">resourceNamePath</span></td>

              <td class="entry" headers="d247845e935" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e938" data-title="Description">Relative path to resource name. Required for Content Item.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e932" data-title="Field Name"><span class="keyword parmname">resourcePath</span></td>

              <td class="entry" headers="d247845e935" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e938" data-title="Description">Required. JSON resource path.</td>

            </tr>

            <tr>
              <td class="entry" headers="d247845e932" data-title="Field Name"><span class="keyword parmname">rootNodePath</span></td>

              <td class="entry" headers="d247845e935" data-title="Field Type">string</td>

              <td class="entry" headers="d247845e938" data-title="Description">Only for Content List and collection. Defines the initial starting path for a
                collection or list.</td>

            </tr>

          </tbody>

        </table>

## Declarative Metadata Sample Definition

The following is an example of a CMSConnectSource definition.

<?xml version="1.0" encoding="UTF-8"?>
<CMSConnectSource xmlns="http://soap.sforce.com/2006/04/metadata"\>
    <cmsConnectAsset>
        <assetPath>etc/designs/capricorn/app-prefixed.min.css</assetPath>
        <assetType>CSS</assetType>
        <sortOrder>1</sortOrder>
    </cmsConnectAsset>
    <cmsConnectAsset>
        <assetPath>etc/designs/capricorn/w3data.js</assetPath>
        <assetType>Javascript</assetType>
        <sortOrder>1</sortOrder>
    </cmsConnectAsset>
    <cmsConnectLanguage>
        <cmsLanguage>en</cmsLanguage>
        <language>en\_US</language>
    </cmsConnectLanguage>
    <cmsConnectLanguage>
        <cmsLanguage>fr</cmsLanguage>
        <language>fr</language>
    </cmsConnectLanguage>
    <cmsConnectPersonalization>
        <connectorPage>content/salesforceConnector.js</connectorPage>
        <connectorPageAsset>content/js/capricorn/assets.js</connectorPageAsset>
    </cmsConnectPersonalization>
    <cmsConnectResourceType>
        <cmsConnectResourceDefinition>
            <developerName>Details</developerName>
            <masterLabel>Details</masterLabel>
            <options>0</options>
            <payloadType>JSON</payloadType>
            <resourceIdPath>ID</resourceIdPath>
            <resourceNamePath>title</resourceNamePath>
            <resourcePath>rest/v1.1/sites/cmstry.wordpress.com/posts/{component}</resourcePath>
        </cmsConnectResourceDefinition>
        <cmsConnectResourceDefinition>
            <developerName>List</developerName>
            <masterLabel>List</masterLabel>
            <options>1</options>
            <payloadType>JSON</payloadType>
            <resourcePath>rest/v1.1/sites/cmstry.blog.wordpress.com/posts?number={itemsPerPage}&amp;page={pageNumber}</resourcePath>
        </cmsConnectResourceDefinition>
        <developerName>Posts</developerName>
        <masterLabel>Posts</masterLabel>
        <resourceType>JSON</resourceType>
    </cmsConnectResourceType>
    <connectionType>Public</connectionType>
    <cssScope>capricorn</cssScope>
    <developerName>Capricorn</developerName>
    <languageEnabled>Y</languageEnabled>
    <masterLabel>Capricorn</masterLabel>
    <personalizationEnabled>Y</personalizationEnabled>
    <rootPath>content/capricorn/{language}</rootPath>
    <sortOrder>11</sortOrder>
    <status>ACTIVE</status>
    <type>AEM</type>
    <websiteUrl>https://public-api.wordpress.com</websiteUrl>
</CMSConnectSource>

The following is an example package.xml.

<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types\>
        <members\>NetworkA.\*</members\>
        <name\>CMSConnectSource</name\>
    </types\>
    <version\>43.0</version\>
</Package\>

To retrieve a specific connection:

<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types\>
        <members\>NetworkA.DeveloperName</members\>
        <name\>CMSConnectSource</name\>
    </types\>
    <version\>43.0</version\>
</Package\>

## Usage

The INSERT or UPDATE logic for the incoming information is always UPSERT. If data isn’t in the entity, then it’s inserted, otherwise the current data is updated.

Before doing upsert, the content from the package is validated against the maximum limits for the following:

- CSS assets <= 10
- JavaScript assets <= 10
- Resource types < =5
- Resource definitions for each type <=10

For example

1. The validation on a new connection totals only the elements in the incoming package.
2. Validation of existing connections totals the existing assets and new elements to assess validity. For example, if a connection on the destination org already has six CSS definitions, and the incoming package has defined seven CSS definitions (four new + three existing), the new total is the six current from the database. The total ignores the three repeated in the package and adds four new definitions from the incoming package. This totals 10 definitions, which number is at or below the 10 asset threshold, and it passes validation.

Refer to the following content for more details for how each entity how is handled while saving the details from package to destination org:

<table class="featureTable sort_table" summary="">


            <thead class="thead sorted" align="left">
              <tr>
                <th class="featureTableHeader  " id="d247845e1139">Type</th>

                <th class="featureTableHeader  " id="d247845e1142">Description</th>

              </tr>

            </thead>

            <tbody class="tbody">
              <tr>
                <td class="entry" headers="d247845e1139" data-title="Type"><span class="keyword parmname">CMSConnectSource</span></td>

                <td class="entry" headers="d247845e1142" data-title="Description">
                  <ul class="ul bulletList">
                    <li class="li">If you find <span class="keyword parmname">developerName</span> in the destination, then update
                      the existing collection with all details form source.</li>

                    <li class="li">
                      <span class="keyword parmname">namedCredential</span> is handled through
                      <span class="keyword parmname">developerName</span>. If you don’t find
                      <span class="keyword parmname">namedCredential</span> with <span class="keyword parmname">developerName</span>,
                      then an error is generated.
                    </li>

                    <li class="li">If the destination isn’t <span class="keyword parmname">sortOrder</span> from the source, then
                      insert or update with the source <span class="keyword parmname">sortOrder</span>.</li>

                    <li class="li">If <span class="keyword parmname">sortOrder</span> from the source is already in the
                      destination, then increase the source <span class="keyword parmname">sortOrder</span> by 1 for
                      connections such that the destination <span class="keyword parmname">sortOrder</span> &gt;
                      <span class="keyword parmname">sortOrder</span> from the source.
                    </li>

                  </ul>

                </td>

              </tr>

              <tr>
                <td class="entry" headers="d247845e1139" data-title="Type"><span class="keyword parmname">CMSConnectAsset</span></td>

                <td class="entry" headers="d247845e1142" data-title="Description">
                  <ul class="ul bulletList">
                    <li class="li">If <span class="keyword parmname">assetPath</span> exists in the destination, then update the
                      existing record, else the new <span class="keyword parmname">assetPath</span> is inserted.</li>

                    <li class="li">Always keep the <span class="keyword parmname">sortOrder</span> from the source and adjust the
                      destination accordingly.</li>

                  </ul>

                </td>

              </tr>

              <tr>
                <td class="entry" headers="d247845e1139" data-title="Type"><span class="keyword parmname">CMSConnectPersonalization</span></td>

                <td class="entry" headers="d247845e1142" data-title="Description">If personalization
                  isn’t enabled in the source system, but is enabled in the destination, the destination is disabled.
                  The record for the connection is deleted from the table.</td>

              </tr>

              <tr>
                <td class="entry" headers="d247845e1139" data-title="Type"><span class="keyword parmname">CMSConnectResourceType</span></td>

                <td class="entry" headers="d247845e1142" data-title="Description">If you find the developer name in the destination,
                  then update the existing record with all details from the source.</td>

              </tr>

              <tr>
                <td class="entry" headers="d247845e1139" data-title="Type"><span class="keyword parmname">CMSConnectResourceDefinition</span></td>

                <td class="entry" headers="d247845e1142" data-title="Description">
                  <ul class="ul bulletList">
                    <li class="li">If you find developerName in the destination, then the existing record is
                      updated with all details from the new source, else the new value is
                      inserted.</li>

                    <li class="li">If the current source is DETAIL and the destination has DETAIL with a
                      different name, then the destination is updated to LIST and the source is
                      inserted as DETAIL. </li>

                  </ul>

                </td>

              </tr>

            </tbody>

          </table>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm).

#### See Also

- [Select Components for an Outbound Change Set](https://help.salesforce.com/articleView?id=changesets_outbound_components_select.htm&type=5&language=en_US)
- [View and Add Dependent Components to a Change Set](https://help.salesforce.com/articleView?id=changesets_outbound_dependencies.htm&type=5&language=en_US)
- [Developer Guide: Deploying and Retrieving Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based.htm)
- [Salesforce Help: Use Personalized Content in CMS Connect](https://help.salesforce.com/articleView?id=communities_cms_connect_personalization.htm&type=5&language=en_US)
- [Developer Guide: Translations](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_translations.htm)