ExperienceBundle
ファイルのサフィックスおよびディレクトリの場所
ExperienceBundle コンポーネントのサフィックスは .json で、取得時に experiences フォルダーに保存されます。組織内の各エクスペリエンスビルダーサイトには、独自のフォルダーがあります。これらのフォルダーにはそれぞれ、サポートしているプロパティ用の別フォルダーが含まれています。
ExperienceBundle には、experiences フォルダーに 1 つ以上のサイト定義を含めることができます。各サイト定義には、brandingSets、config、routes、themes、variations、views のリソースフォルダーがあり、それぞれのフォルダーに JSON ファイルで関連する追加の設定情報が保存されています。次に、リソースフォルダーを表示する、サイト定義の例を示します。

バージョン
ExperienceBundle コンポーネントは、API バージョン 46.0 以降で使用できます。
特別なアクセスルール
Aura ベースのエクスペリエンスビルダーサイトで ExperienceBundle メタデータ型を使用するには、[設定] から、[クイック検索] ボックスに「デジタルエクスペリエンス」と入力し、[設定] を選択します。[ExperienceBundle メタデータ API を有効化] を選択して、変更を保存します。LWR サイトでは、デフォルトで ExperienceBundle が使用されます。
項目
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| experienceResources | ExperienceResources[] | この ExperienceBundle のリソースのリスト。各リソースは、brandingSets、config、routes、themes、variations、views などのサイトのアイテムを表します。 |
| label | string | 必須。ExperienceBundle の名前を表します。 |
| type | SiteType (string 型の列挙) | 必須。サイトの種別を識別します。ChatterNetworkPicasso の値を使用するエクスペリエンスビルダーサイトのみがサポートされます。 |
| urlPathPrefix | string | エクスペリエンスビルダーサイトの URL プレフィックスを指定します。たとえば、サイト URL が SitesSubdomainName.force.com/customers の場合、customers が UrlPathPrefix になります。
サンプルの meta.xml ファイル |
ExperienceResources
バンドル内のサイトのリストを表します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| experienceResource | ExperienceResource[] | この ExperienceBundle のリソースのリスト。各リソースは、brandingSets、config、routes、themes、views などのサイトのプロパティを表します。 |
ExperienceResource
ExperienceBundle に含まれる特定のサイト情報を表します。
構造内には、種別ごとにフォルダーがあります。各フォルダーには、その種別とサイトに関する情報を提供する 1 つ以上のファイルが含まれています。それぞれが ExperienceBundle の特定のフォルダーとファイルに対応しています。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| fileName | string | 必須。リソースファイルの名前。 |
| format | string | 必須。JSON のみが使用可能です。 |
| source | base64 | 各ファイルの JSON コンテンツ。 |
| type | string | 必須。リソースの種別。有効な値は、次のとおりです。
|
brandingSets フォルダー
このフォルダーには、ブランドセットごとに brandingSets_name.json という名前の 1 つの JSON ファイルが含まれています。各ファイルは同一の構造で、同じプロパティを持ちます。
<brandingSets_name>.json
| プロパティ | 型 | 説明 |
|---|---|---|
| brandingSetType | string | LWR サイトで必要です。Aura サイトには適用できません。ブランドセットに保存されているカラーパレットがサイト全体用または特定のセクション用のいずれであるかを表します。ブランドセットの種別を別の種別に変更することはできません。API バージョン 52.0 以降で使用できます。 有効な値は、次のとおりです。
|
| definitionName | string | 必須。テーマでブランドセットをグループ化するのに使用されるブランドセットの名前を表します。「テーマ:branding-テーマ」のように定義します。 たとえば、サイトのテーマが Stella の場合、definitionName は stella:branding-stella になります。 さらに、いくつかの標準テンプレートには一意の名前が付けられています。
|
| id | UUID | コンポーネントの GUID を表します。 |
| label | string | ブランドセットの名前を表します。 |
| type | string | コンポーネントの種類を表します。サポートされている値は、brandingSet のみです。 |
| values | map | 必須。サイトに適用可能なブランド値の対応付けを表します。 |
config フォルダー
- sitename.json
- languages.json
- nativeConfig.json
- page_name.json
sitename.json ファイルプロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
| authenticationType | string | LWR サイトでゲストユーザーにサイトへのアクセス権があるかどうかを示します。
有効な値は、次のとおりです。
API バージョン 51.0 以降で利用できます。 |
| forgotPasswordRouteId | UUID | ユーザーがパスワードを忘れた場合に使用するルートの ID を表します。 |
| isAvailableToGuests | boolean | Aura サイトで公開ユーザーにサイトへのアクセス権があるか (true)、否か (false) を示します。デフォルト値は false です。 |
| isFilteredComponentsView | boolean | コンポーネントのリストが現在のページ種別に基づいて条件設定されているか (true)、否か (false) を示します。一部のコンポーネントは、ページの特定のパラメーターを必要とし、そのパラメーターを手動で設定しない限り機能しません。デフォルト値は false です。 |
| isLockerServiceEnabled | boolean | Lightning Locker が有効化されるか (true)、無効化されるか (false) を示します。デフォルト値は true です。 Lightning Locker を無効にする前に、isRelaxedCSPLevel を true に設定する必要があります。API バージョン 55.0 以降で利用できます。 |
| isProgressiveRenderingEnabled | boolean | ページコンポーネントの表示順序が優先されるか (true)、否か (false) を示します。デフォルト値は false です。 |
| loginAppPageId | UUID | ログインページの ID を表します。 |
| mainAppPageId | UUID | 必須。メインページの ID を表します。 |
| preferredDomain | string | サイトのページにインデックスを付けるために使用するドメインの名前を表します。検索エンジンの結果を改善します。 API バージョン 48.0 以降で利用できます。 |
| preferredDomainId | string | サイトのページにインデックスを付けるために使用するドメインを表します。検索エンジンの結果を改善します。 API バージョン 48.0 で削除されました。代わりに、preferredDomain を使用します。 |
| selfRegistrationRouteId | UUID | セルフ登録に使用するログインルートの ID を表します。 |
| type | string | コンポーネントの種類を表します。サポートされている値は、site のみです。 |
実装すると、sitename.json に trustedSitesForScript コンテナが 1 つ作成されます。
| プロパティ | 型 | 説明 |
|---|---|---|
| id | UUID | コンポーネントの GUID を表します。 |
| isActive | boolean | 許可リストに登録された項目が、有効 (true) なため優先する必要があるか、または無効 (false) なため許可リストに登録された取得元として処理する必要がないかを示します。デフォルトは false です。 |
| trustedSiteName | string | UI に表示する、許可リストに登録された取得元の名前。 |
| trustedSiteUrl | string | 許可リストに登録された取得元の完全修飾 URL。 |
| type | string | コンポーネントの種類を表します。サポートされている値は、trustedSitesForScripts のみです。 |
languages.json ファイルプロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
| defaultCode | string | 必須。使用する基本言語コードと国コードを表します。 |
| defaultLabel | string | 必須。言語の表示ラベルを定義します。 |
| id | UUID | コンポーネントの GUID を表します。 |
| type | string | コンポーネントの種類を表します。サポートされている値は、languageContainer のみです。 |
サポートされる言語ごとに、languages.json のコンテナとして 1 つのセクションがあります
| プロパティ | 型 | 説明 |
|---|---|---|
| countryCode | string | 選択した言語の国コード。この文字列は空のままにできます。このプロパティは、選択した言語がアラビア語 (アルジェリア) やアラビア語 (バーレーン) のように国ごとに変異形がある場合にのみ適用されます。この場合は、countryCode を使用してそれらを区別します。 例: { languageCode" : "ar", "CountryCode" : "DZ", "Label" : "Arabic (Algeria) (DZ)",}, { "Code" : "ar", "CountryCode" : "BH", "Label" : "Arabic (Bahrain) (BH)",} |
| fallbackLanguageId | UUID | 選択した言語に合った正しいコンテンツを追加するように注意してください。たとえば、サイト訪問者が言語セレクターで [日本語] を選択したが、そのページでは日本語のコンテンツが使用できない場合、代替言語のコンテンツが表示されます。 LWR サイトでは、1 レベルの代替のみが許可されます。英語がデフォルト言語で、スペイン語、フランス語、フィンランド語が使用できる LWR サイトの例を次に示します。
|
| id | UUID | コンポーネントの GUID を表します。 |
| isActive | boolean | サイト訪問者が、特定の言語を言語セレクターで使用できるか (true)、否か (false) を示します。デフォルト値は true です。 |
| label | string | 言語の表示ラベルを定義します。表示ラベルは、サイトに追加する言語セレクターコンポーネントとエクスペリエンスビルダーの言語セレクターに表示されます。 |
| languageCode | string | 選択した言語の国コードを表します。 |
| type | string | コンポーネントの種類を表します。サポートされている値は、language のみです。 |
nativeConfig.json ファイルプロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
| showHamburgerMenu | boolean | 必須。ハンバーガーメニューを表示するかどうかを制御します。 |
| mobilePublisherAppUpdateConfig | boolean | 必須。[アプリケーションバージョンの更新] メッセージを表示するかどうかを制御します。サービスの中断を避けるために、ユーザーは拡張ドメインをサポートするアプリケーションバージョンを使用する必要があります。 |
| id | UUID | コンポーネントの GUID を表します。 |
| type | string | コンポーネントの種類を表します。サポートされている値は、nativeConfig のみです。 |
nativeMobileNavConfig コンテナ
ネイティブナビゲーションバーコンポーネントの設定用の必須コンテナ。
| プロパティ | 型 | 説明 |
|---|---|---|
| showBackButton | boolean | iOS デバイスで戻るボタンを表示するかどうかを制御します。 |
| showHamburgerMenuWithBackButton | boolean | iOS デバイスで戻るボタンに加えてハンバーガーメニューを表示するかどうかを制御します。 |
mobilePublisherAppUpdateConfig コンテナ
[アプリケーションバージョンの更新] メッセージの設定に必要なコンテナ。
| プロパティ | 型 | 説明 |
|---|---|---|
| enableAppUpdate | boolean | [アプリケーションバージョンの更新] メッセージを表示するかどうかを制御し、ユーザーに更新の可否を選択させることで更新を促します。 プロパティを「"enableAppUpdate" : true」および「"forceAppUpdate" : false」に設定すると、ユーザーにアップデートを促すメッセージを表示できます。 すべてのユーザーが正しいバージョンを使用している場合や、サイトでカスタムドメインを使用している場合など、更新メッセージを非表示にする必要がある場合は、プロパティを「"enableAppUpdate" : false」に設定し、forceAppUpdate プロパティは使用しないでください。 |
| forceAppUpdate | boolean | ユーザーにアップデートを要求する [アプリケーションバージョンの更新] メッセージを表示するかどうかを制御します。 プロパティを「"enableAppUpdate" : true」および「"forceAppUpdate" : true」に設定すると、ユーザーにアップデートを要求するメッセージを表示できます。 |
| minVersion | string |
iOS と Android の最小アプリケーションバージョンを制御します。これらのプロパティ値は、拡張ドメインをサポートするアプリケーションバージョンが使用されるように、現在ハードコードされています。 |
nativeTabMenu コンテナ
ハンバーガーメニューと戻るボタンの動作の設定用の必須コンテナ。
| プロパティ | 型 | 説明 |
|---|---|---|
| branding | map | ネイティブナビゲーションバーコンポーネントのブランド設定用の設定。有効なキーは、次のとおりです。
すべてのプロパティの値として 6 桁の有効な 16 進数を指定します。 |
| menuItems | list | ネイティブナビゲーションバーコンポーネントに表示する必要がある項目。 |
menuItems コンテナ
ネイティブナビゲーションバーコンポーネントのタブバーに表示する項目を指定する nativeTabMenu コンテナ内のコンテナ。
| プロパティ | 型 | 説明 |
|---|---|---|
| name | string | 省略可能。タブバーメニュー項目の表示ラベル。 |
| targetUrl | string | 必須。タブバーメニュー項目で参照する相対 URL。 |
| iconAsset | string | 必須。タブバーメニュー項目で使用する ContentAsset の名前。 |
| プロパティ | 型 | 説明 |
|---|---|---|
| cmsSettings | map | CMS Connect ヘッダーおよびフッターの設定。有効な値は、次のとおりです。
|
| currentThemeId | UUID | 必須。サイトの現在のテーマの UUID を表します。この項目は、mainAppPage.json と loginAppPage.json (該当する場合) で使用可能です。 |
| headMarkup | string | 必須。サイトのメインページの <head> タグにカスタムマークアップを追加することを許可します。 を使用した場合と同様です。Salesforce ヘルプのマークアップの説明を参照してください。 |
| id | UUID | 必須。コンポーネントの GUID を表します。 |
| isRelaxedCSPLevel | boolean | スクリプトを実行する機能とサードパーティホストへのスクリプトアクセスを制御します。デフォルトは false です。この項目は、mainAppPage.json と loginAppPage.json (該当する場合) で使用可能です。 |
| label | string | 必須。ページの名前を表します。 |
| templateName | string | 必須。テンプレートの一意の開発者名。有効な値は、次のとおりです。
|
| type | string | 必須。コンポーネントの種類を表します。サポートされている値は、appPage のみです。 |
routes フォルダー
routes フォルダーには、ページごとに <page_name>.json という名前の 1 つの JSON ファイルが含まれています。
<page_name>.json
| プロパティ | 型 | 説明 |
|---|---|---|
| activeViewId | UUID | 必須。ルートのデフォルトビューを表します。定義された利用者がないか、ユーザーが利用者に一致しない場合に使用されます。 API バージョン 48.0 以降で利用できます。 |
| appPageId | UUID | 必須。ルートの単一ページアプリケーション (SPA) ページを表します。これは、main.json または login.json のいずれかを参照します。 |
| configurationTags | string[] | 必須。ルートの設定タグを表します。サポートされている値は、allow-in-static-site のみです。API バージョン 51.0 以降で使用できます。 |
| devName | string[] | 必須。新しいルートを作成するときに定義される一意の API 参照名を表します。API バージョン 59.0 以降で利用できます。 |
| id | UUID | 必須。コンポーネントの GUID を表します。コンポーネントから継承されます。 |
| label | string | 必須。ルートの名前を表します。コンポーネントから継承されます。 |
| objectApiName | string | 必須。カスタムオブジェクト API の名前。(標準オブジェクトでは使用できません)。 |
| pageAccess | string | 必須。ルートの状況が公開か非公開かを示します。デフォルト値の UseParent に設定した場合、サイトの状況によってルートの状況が決定します。常に非公開のルートはユーザーインターフェースから編集できません。有効な値は、UseParent、Public、RequiresLogin です。 |
| routeType | string | 必須。ルートの種別を識別します。値は、同じ SPA ページを共有するすべてのルートの間で一意です。viewType の値が一致する必要があります。 |
| type | string | 必須。コンポーネントの種類を表します。サポートされている値は、route のみです。 |
| urlPrefix | string | 必須。ルートのベース URL を表します。 |
themes フォルダー
themes フォルダーには、テーマごとに theme_name.json という名前の 1 つの JSON ファイルが含まれています。
theme_name.json
| プロパティ | 型 | 説明 |
|---|---|---|
| activeBrandingSetId | UUID | 現在の使用中のブランドセットの ID。ブランディングセットの definitionName は、テーマの brandingSetReference と一致する必要があります。 |
| customCSS | string | エクスペリエンスビルダーテンプレートで作成したページのカスタム CSS。 |
| developerName | string | 必須。テーマの一意の開発者名。ほとんどのテーマは自身の名前を直接派生させます。たとえば、Jepson はその developerName に jespon を使用します。 標準テンプレートには次の固有の値応答画面があります。
|
| id | UUID | 必須。コンポーネントの GUID を表します。 |
| label | string | テーマの名前を表します。 |
| layouts | map | 必須。ThemeLayoutType を UUID に対応付け、ThemeLayout の定義を含みます。Login と Inner テーマレイアウトが常に必須です。 |
| type | string | 必須。コンポーネントの種類を表します。サポートされている値は、theme のみです。 |
variations フォルダー
環境のバリエーションを使用すると、利用者に基づいてエクスペリエンスビルダーサイトのデフォルトの動作を変更できます。variations フォルダーには、環境のバリエーションごとに 1 つの JSON ファイルが含まれています。このファイルは、experienceVariation_name.json と命名されます。
ブランドセット、ページバリエーション、コンポーネントの表示、およびコンポーネント属性の 4 つの異なるバリエーションの種別がサポートされます。異なるバリエーションは、componentVariant コンテナによって示されます。
たとえば、ユーザーが特定の利用者条件を満たしているときに、サイトにホームページのページバリエーションを表示する必要がある場合などです。これを実現するには、利用者を作成した後、環境のバリエーション定義ファイルの componentVariant コンテナの targetId を使用してその利用者を環境のバリエーションの対象にします。
experienceVariation_name.json
| プロパティ | 型 | 説明 |
|---|---|---|
| componentVariants | list | 必須。この環境のバリエーションに属するコンポーネントのバリエーションのリスト。 |
| developerName | string | 必須。環境のバリエーションの一意の開発者名。この名前は Personalization API の対象の targetValue 項目で使用され、設定後は更新できません。 |
| id | UUID | 必須。コンポーネントの GUID を表します。 |
| type | string | 必須。コンポーネントの種別を表します。サポートされている値は、experienceVariation のみです。 |
実装すると、バリエーションを記述する experienceVariation_name.json ファイルにそれぞれコンテナが 1 つ作成されます。
| プロパティ | 型 | 説明 |
|---|---|---|
| id | UUID | 必須。コンポーネントの GUID を表します。 |
| propertyOverrides | map | 必須。指定されたテーマ、ルート、またはコンポーネントの targetId へのプロパティの上書きを定義します。 たとえば、targetId がテーマを指している場合、この環境のバリエーションで異なるブランドセットを使用するように、テーマの defaultBrandingSet プロパティを上書きできます。 上書きがサポートされているプロパティは次のとおりです。
|
| targetId | UUID | 必須。プロパティを上書きする項目の UUID。テーマ、ルートまたはコンポーネントの ID である必要があります。 |
| type | string | 必須。コンポーネントの種別を表します。サポートされている値は、experienceVariation のみです。 |
ブランドセットの環境のバリエーションの例
ページバリエーションの環境のバリエーションの例
コンポーネントの表示の環境のバリエーションの例
views フォルダー
views フォルダーには、いくつかの JSON ファイルがあり、それぞれがビューを定義しています。各エクスペリエンスビルダーサイトは、単一ページアプリケーションで構成されています。それらは、単一の HTML ページを読み込む Web アプリケーションです。単一ページアプリケーションは、複数のビューで構成されており、それらのビューによりユーザーが操作するたびにページが動的に更新されます。
view_name.json
| プロパティ | 型 | 説明 |
|---|---|---|
| appPageId | UUID | 必須。ビューの単一ページアプリケーション (SPA) のページ ID。これは、main.json または login.json のいずれかを参照します。 |
| componentName | string | 必須。レイアウトコンポーネントの FQN。コンポーネントは、forceCommunity:layout を実装する必要があり、テーマレイアウトの場合は forceCommunity:themeLayout を実装する必要があります。 |
| id | UUID | 必須。コンポーネントの GUID を表します。 |
| label | string | 必須。 に表示される名前。 |
| themeLayoutType | string | ビューのテーマレイアウト種別 (ビューに対してのみ公開)。 |
| type | string | 必須。コンポーネントの種別を表します。サポートされている値は、view のみです。 |
| viewType | string | 必須。ルートの routeType に一致します。 |
各 <view_name>.json には、コンテナとして 1 つ以上の領域が含まれています。
| プロパティ | 型 | 説明 |
|---|---|---|
| id | UUID | 必須。コンポーネントの GUID を表します。 |
| regionLabel | string | タブの領域表示ラベルを指定します。 |
| regionName | string | 必須。レイアウトコンポーネントのデザインファイルのデザイン属性と一致します。 |
| type | string | 必須。コンポーネントの種類を表します。サポートされている値は、region のみです。 |
各 <view_name>.json ファイルには、sfdcHiddenRegion という非表示領域が含まれています。非表示領域には、SEO アシストコンポーネントを表すコンポーネントが含まれています。Aura サイトでは、コンポーネントの定義は forceCommunity:seoAssistant、LWR サイトでは、コンポーネントの定義は community_builder:seoAssistant となっています。このコンポーネントは、Experience Builder で設定できる SEO ページプロパティに対応し、ページには表示されません。サーチエンジンの結果を改善するには、SEO アシスタントコンポーネントを使用して、公開サイトおよびカスタムサイトページの customHeadTags、description、および pageTitle プロパティを設定します。SEO アシスタントコンポーネントに関連付けられたその他のプロパティは編集できません。title、description、およびカスタムの head タグのプロパティが何を表しているかと、どの head タグが許可されているかについては、「エクスペリエンスビルダーの SEO ページプロパティ」を参照してください。
各 <view_name>.json の region セクションには、コンテナとして 1 つ以上のコンポーネントが含まれています。
| プロパティ | 型 | 説明 |
|---|---|---|
| componentAttributes | HashMap | 必須。コンポーネントのデザイン属性値。 |
| componentName | string | 必須。コンポーネントの FQN。この項目で使用できるのは、エクスペリエンスビルダーのコンポーネントパネルで使用できるコンポーネントのみです。 |
| id | UUID | 必須。コンポーネントの GUID を表します。 |
| renderPriority | enums.priority | コンポーネントの順次表示の優先度の値を設定します。使用可能な値: HIGHEST、HIGH、NEUTRAL |
| renditionMap | HashMap | RenditionComponents の UUID への異なる変換キーの対応付け。 |
| scopedBrandingSetID | UUID | LWR サイトで必要です。Aura サイトには適用できません。特定の community_layout:section コンポーネントのブランドセットの ID を表します。API バージョン 52.0 以降で使用できます。 |
| type | string | 必須。コンポーネントの種類を表します。サポートされている値は、component のみです。 |
各 <view_name>.json には、コンポーネントごとに変換コンテナが 1 つ作成されます。
| プロパティ | 型 | 説明 |
|---|---|---|
| id | UUID | 必須。コンポーネントの GUID を表します。 |
| renditionValue | map | テキスト内の異なる言語など、コンポーネントの異なるバリエーションの対応付け。 |
| type | string | 必須。コンポーネントの種類を表します。サポートされている値は、renditionComponent のみです。 |
宣言的なメタデータの定義のサンプル
次に、ExperienceBundle 宣言の例を示します。個々のフォルダーやバンドルされたコードのファイルの例については、brandingSets、config、routes、themes、variations、および views を参照してください。
使用方法
コンポーネントの UUID はリリース時にシステムにより自動的に生成されるため、コンポーネントを ExperienceBundle に追加する場合は id に任意の値を入力できます。
ExperienceBundle を使用してエクスペリエンスビルダーサイトをリリースする場合、SiteDotCom 型がマニフェストファイルに含まれていないことを確認します。
ExperienceBundle では、異なる API バージョンでの取得およびリリースはサポートされません。ExperienceBundle メタデータを古い API バージョンから新しいバージョン (API バージョン 48.0 から 49.0 など) にアップグレードする場合は、次の手順を実行します。
- package.xml マニフェストファイルの API バージョンを 48.0 に設定して、パッケージをリリースします。
- 次に、package.xml の API バージョンを 49.0 に設定します。
- 最新の ExperienceBundle の更新を取得するには、パッケージを取得します。
マニフェストファイル内のワイルドカードのサポート
このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。