CMSConnectSource
ファイルのサフィックスおよびディレクトリの場所
CMSConnectSource コンポーネントのサフィックスは .cmsConnectSource で、cmsConnectSource フォルダに保存されます。このフォルダには、ネットワークごとに個別のファイルが存在します (networkname.sourcedevelopername.cmsConnectSource など)。各ファイルが CMS 接続を表します。
バージョン
CMSConnectSource コンポーネントは、API バージョン 43.0 以降で使用できます。
特別なアクセスルール
「CMS Connect 組織」権限を有効にする必要があります。
項目
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| cmsConnectAsset | CMSConnectAsset[] | 接続で定義された CSS または JavaScript を表します。
|
| cmsConnectLanguage | CMSConnectLanguage[] | 0 以上。接続で定義された、言語の対応付けを表します。 |
| cmsConnectPersonalization | CMSConnectPersonalization[] | 0 または 1。接続で定義されたパーソナライズを表します。type が AEM の場合にのみ使用します。 |
| cmsConnectResourceType | CMSConnectResourceType[] | 0 ~ 5。接続で定義された JSON 定義を表します。 |
| connectionType | CMSSourceConnectionType(string 型の列挙) | 必須。外部システムで使用する認証の種類。有効な値は、次のとおりです。
|
| cssScope | string | CSS ルールのプレフィックスや範囲を設定するために使用するクラス名。 |
| developerName | string | 必須。CMSConnectSource エンティティの API 参照名。 |
| languageEnabled | string | 必須。有効な値は、次のとおりです。
|
| masterLabel | string | 必須。接続名 |
| namedCredential | string | connectionType が Authenticated の場合は必須です。namedCredential の API 参照名。namedCredential をリリースする前に、これが対象組織に存在する必要があります。 |
| personalizationEnabled | string | 必須。有効な値は、次のとおりです。
|
| rootPath | string | 必須。ルートパス。 |
| sortOrder | int | 必須。ページに複数の接続が定義されているときの接続の読み込み順序を定義します。読み込み順序は 1 から始まります。 |
| status | CMSConnectionStatus(string 型の列挙) | 必須。接続の状況。有効な値は、次のとおりです。
|
| type | CMSConnectionSourceType(string 型の列挙) | 必須。受信元接続システムの識別。有効な値は、次のとおりです。
|
| websiteUrl | string | connectionType が Public の場合は必須です。 |
CMSConnectAsset
CMSConnectAsset は、JavaScript や CSS ファイルなど、受信するコンテンツをサポートするために必要なアセットの場所、タイプ、および順序を定義します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| assetPath | string | アセットの相対パス。 |
| assetType | string |
Apex で使用する場合、この値を enum 型として送信できます。それ以外の場合、この項目は string 型です。 string 型として使用できる値
enum 型として使用できる値
|
| sortOrder | int | ページへの読み込み順序。 |
CMSConnectLanguage
CMSConnectLanguage コンポーネントはコンテンツの表示言語を決定します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| cmsLanguage | string | URL パスに language プレースホルダが含まれる場合、この値を使用してプレースホルダを置き換えます。 |
| language | string | Salesforce でサポートされる言語。 |
CMSConnectPersonalization
CMSConnectPersonalization は Adobe Experience Manager (AEM) と共にのみ使用されます。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| connectorPage | string | 作成して AEM にインストールした JSP ファイルへのパス。 |
| connectorPageAsset | string | Javascript ファイルへのパス。このパスを指定すると、スクリプトを動的に実行できます。 |
CMSConnectResourceType
CMSConnectResourceType は JSON 接続を定義するためにのみ使用します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| cmsConnectResourceDefinition | cmsConnectResourceDefinition[] | CMSConnectResourceType ごとに 0 ~ 10 を使用できます。 |
| developerName | string | CMSConnectResourceType の API 参照名。 |
| masterLabel | string | コンテンツタイプ名。 |
| resourceType | string | 使用できる値は JSON のみです。 |
CMSConnectResourceDefinition
cmsConnectResourceDefinition は JSON 接続を定義するために使用します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| developerName | string | 必須。CMSConnectResourceDefinition の API 参照名。 |
| masterLabel | string | 必須。コンテンツ項目またはコンテンツリストの developerName。 |
| options | int | 必須。外部からのコンテンツが単一項目かリストかを識別します。 0: コンテンツリスト 1: コンテンツ項目 |
| payloadType | string | 必須。有効な値は JSON のみです。 |
| resourceIdPath | string | ID への相対パス。コンテンツ項目の場合は必須です。 |
| resourceNamePath | string | リソース名への相対パス。コンテンツ項目の場合は必須です。 |
| resourcePath | string | 必須。JSON リソースパス。 |
| rootNodePath | string | コンテンツリストおよびコレクションの場合のみ。コレクションまたはリストの初期の開始パスを定義します。 |
宣言的なメタデータの定義のサンプル
CMSConnectSource 定義の例を次に示します。
1<?xml version="1.0" encoding="UTF-8"?>
2<CMSConnectSource xmlns="http://soap.sforce.com/2006/04/metadata">
3 <cmsConnectAsset>
4 <assetPath>etc/designs/capricorn/app-prefixed.min.css</assetPath>
5 <assetType>CSS</assetType>
6 <sortOrder>1</sortOrder>
7 </cmsConnectAsset>
8 <cmsConnectAsset>
9 <assetPath>etc/designs/capricorn/w3data.js</assetPath>
10 <assetType>Javascript</assetType>
11 <sortOrder>1</sortOrder>
12 </cmsConnectAsset>
13 <cmsConnectLanguage>
14 <cmsLanguage>en</cmsLanguage>
15 <language>en_US</language>
16 </cmsConnectLanguage>
17 <cmsConnectLanguage>
18 <cmsLanguage>fr</cmsLanguage>
19 <language>fr</language>
20 </cmsConnectLanguage>
21 <cmsConnectPersonalization>
22 <connectorPage>content/salesforceConnector.js</connectorPage>
23 <connectorPageAsset>content/js/capricorn/assets.js</connectorPageAsset>
24 </cmsConnectPersonalization>
25 <cmsConnectResourceType>
26 <cmsConnectResourceDefinition>
27 <developerName>Details</developerName>
28 <masterLabel>Details</masterLabel>
29 <options>0</options>
30 <payloadType>JSON</payloadType>
31 <resourceIdPath>ID</resourceIdPath>
32 <resourceNamePath>title</resourceNamePath>
33 <resourcePath>rest/v1.1/sites/cmstry.wordpress.com/posts/{component}</resourcePath>
34 </cmsConnectResourceDefinition>
35 <cmsConnectResourceDefinition>
36 <developerName>List</developerName>
37 <masterLabel>List</masterLabel>
38 <options>1</options>
39 <payloadType>JSON</payloadType>
40 <resourcePath>rest/v1.1/sites/cmstry.blog.wordpress.com/posts?number={itemsPerPage}&page={pageNumber}</resourcePath>
41 </cmsConnectResourceDefinition>
42 <developerName>Posts</developerName>
43 <masterLabel>Posts</masterLabel>
44 <resourceType>JSON</resourceType>
45 </cmsConnectResourceType>
46 <connectionType>Public</connectionType>
47 <cssScope>capricorn</cssScope>
48 <developerName>Capricorn</developerName>
49 <languageEnabled>Y</languageEnabled>
50 <masterLabel>Capricorn</masterLabel>
51 <personalizationEnabled>Y</personalizationEnabled>
52 <rootPath>content/capricorn/{language}</rootPath>
53 <sortOrder>11</sortOrder>
54 <status>ACTIVE</status>
55 <type>AEM</type>
56 <websiteUrl>https://public-api.wordpress.com</websiteUrl>
57</CMSConnectSource>package.xml の例を次に示します。
1<Package xmlns="http://soap.sforce.com/2006/04/metadata">
2 <types>
3 <members>NetworkA.*</members>
4 <name>CMSConnectSource</name>
5 </types>
6 <version>43.0</version>
7</Package>特定の接続を取得するには、次のように定義します。
1<Package xmlns="http://soap.sforce.com/2006/04/metadata">
2 <types>
3 <members>NetworkA.DeveloperName</members>
4 <name>CMSConnectSource</name>
5 </types>
6 <version>43.0</version>
7</Package>使用方法
受信した情報の INSERT または UPDATE ロジックは常に UPSERT です。データがエンティティに含まれない場合、データは挿入され、データがエンティティに含まれる場合、現在のデータが更新されます。
更新/挿入を実行する前に、次の最大制限に対してパッケージのコンテンツが検証されます。
- CSS アセット <= 10
- JavaScript アセット <= 10
- リソース種別 < =5
- 種別ごとのリソース定義 <=10
例
- 新規接続の検証では、受信したパッケージの要素のみを合計します。
- 既存の接続の検証では、既存のアセットと新規要素を合計して有効性を評価します。たとえば、対象組織の接続に 6 個の CSS 定義がすでに存在し、受信したパッケージに 7 個の CSS 定義 (4 個の新規と 3 個の既存) が含まれるとします。新しい定義数は、データベースからの現在の 6 個です。パッケージ内の重複する 3 個は無視され、受信したパッケージからの 4 個の新規定義が加えられます。これによって定義数は 10 個にな��、しきい値である 10 アセット以下のため、検証に合格します。
パッケージからの詳細を対象組織に保存するときの各エンティティの処理方法の詳細は、次のコンテンツを参照してください。
| 型 | 説明 |
|---|---|
| CMSConnectSource |
|
| CMSConnectAsset |
|
| CMSConnectPersonalization | パーソナライズが受信元システムで有効になっておらず、受信先で有効になっている場合、受信先は無効になります。接続のレコードはテーブルから削除されます。 |
| CMSConnectResourceType | 受信先で API 参照名が見つかった場合、既存のレコードを受信元のすべての詳細で更新します。 |
| CMSConnectResourceDefinition |
|
マニフェストファイル内のワイルドカードのサポート
このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。