Lightning コミュニティ用 ExperienceBundle
Summer ’19 リリース以前 (API バージョン 45.0 以前) は、Network、CustomSite、SiteDotCom メタデータ型を組み合わせてコミュニティを定義していました。ただし、SiteDotCom 型を取得すると、人間が判読できないバイナリの .site ファイルが生成されました。SiteDotCom ではなく ExperienceBundle 型を取得すると、3 レベルのフォルダ構造に含まれる詳細なコミュニティメタデータを、人間が判読可能な形式で抽出して編集できます。
制限事項
- 管理パッケージはサポートされません。
ExperienceBundle の構造
ExperienceBundle を取得すると、データは 3 レベルのフォルダ構造に保存されます。
experiences フォルダには、組織の各 Lightning コミュニティ用のフォルダが含まれます。各 community_name フォルダ (この例では customer_service) には、コミュニティを定義し、エクスペリエンスビルダーでアクセスするさまざまな要素を表すサブフォルダが含まれます。各サブフォルダは、ローカルマシンやスクラッチ組織で編集してからリリースできるプロパティが入った .json ファイルを持っています。
| フォルダ | 内容 |
|---|---|
| brandingSets | branding_set_name.json は、コミュニティのブラウザ設定プロパティを定義します。 |
| config |
|
| routes | URL や他のルート関連情報を定義する page_name.json という名前のファイルがページごとに 1 つ含まれます。 |
| themes | テーマを定義する theme_name.json という名前のファイルがテーマごとに 1 つ含まれます。 |
| variations |
experienceVariation_name.json という名前のファイルがバリエーションごとに 1 つ含まれます。 環境のバリエーションを使用することで、利用者ごとに Lightning コミュニティにおけるブランド設定、ページバリエーション、コンポーネントの表示などのデフォルト動作を変更できます。 |
| views | view_name.json という名前のファイルがビューごとに 1 つ含まれます。各ファイルは、エンドユーザに表示するページに相当する SPA ビューを定義します。ビューは、表示されるページ内の他の領域やコンポーネントを含む領域から構成されます。 |
ExperienceBundle の完全な定義と、含まれるファイルについては、『メタデータ API 開発者ガイド』を参照してください。
ExperienceBundle のメタデータ型の有効化
ExperienceBundle を有効化すると、メタデータ API コール (retrieve および deploy) と Salesforce DX 操作 (pull、push、status) は SiteDotCom 型ではなく ExperienceBundle 型を使用します。
変更セットを使用してコミュニティをリリースすると、連動関係のリストには Site.com 型の 2 つの項目 (MyCommunityName and MyCommunityName1) が含まれます。MyCommunityName1 は、SiteDotCom ではなく ExperienceBundle を表すようになります。
- [設定] から、[クイック検索] ボックスに「コミュニティ設定」と入力し、[コミュニティ設定] を選択します。
- [ExperienceBundle メタデータ API を有効化] を選択します。
- 変更内容を保存します。
あるいは、スクラッチ組織定義ファイルを使用してスクラッチ組織を作成するときにこの機能を有効にすることもできます。(「Metadata Coverage (対象メタデータ)」レポート」を参照)。
1{
2 "orgName": "Sample Org",
3 "edition": "developer",
4 "features": [
5 "COMMUNITIES"
6 ],
7 "settings": {
8 "experienceBundleSettings": {
9 "enableExperienceBundleMetadata": true
10 },
11 "communitiesSettings": {
12 "enableNetworksEnabled": true
13 }
14 }
15}メタデータ API を使用した ExperienceBundle の取得とリリース
メタデータ API では、マニフェストファイルは、取得するコンポーネントを定義します。次の例は、SiteDotCom ではなく ExperienceBundle を使用して Lightning コミュニティを取得する package.xml マニフェストファイルを示しています。
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>*</members>
5 <name>CustomSite</name>
6 </types>
7 <types>
8 <members>*</members>
9 <name>ExperienceBundle</name>
10 </types>
11 <types>
12 <members>*</members>
13 <name>Network</name>
14 </types>
15 <version>46.0</version>
16</Package>.zip ファイルを取得したら、展開して取り出したファイルを開いて編集してください。
「zip ファイルを使用したメタデータのリリースと取得」を参照してください。
Salesforce DX を使用した ExperienceBundle の取得とリリース
Salesforce Developer Experience (DX) は、開発ライフサイクル全体を合理化するツールセットです。Salesforce DX によって、チーム開発とコラボレーションが向上し、自動テストと継続的インテグレーションが促進され、リリースサイクルがより効率的で俊敏になります。
- sfdx force:source:pull を使用して組織内のすべてのコミュニティを取得する
- sfdx force:source:push を使用して更新をリリースする
- force:source:status を使用してサーバ上の競合や変更を確認する