5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Salesforce】experiencebundleでコミュニティサイトの開発と移行

Posted at

Summer ’19 リリース以前 (API バージョン 45.0 以前) は、Network、CustomSite、SiteDotCom メタデータ型を組み合わせてコミュニティサイトを定義していました。ただし、SiteDotCom のメタファイルが人間の判読できないバイナリファイルなので、多人数開発(資源のマージが必要)またはサイト移行の際に、ほとんど使えないとの問題があり、その後ExperienceBundleの登場でこの問題が解消されました。

ExperienceBundleとはサイト資源を人間判読可能なメタデータファイル(普通のメタデータファイルに似てる)として管理しサイトの開発と移行に便利です。

参考:Salesforce Developers
##①メタデータ API でサイト資源(ExperienceBundle)の取得方法
 1.「設定」からExperienceBundleを有効化します。
 image.png

 2.VSCodeで対象資源定義のpackage.xmlファイルを作成します。
  image.png
  ※CustomSite、NetworkとExperienceBundleの三つが必要ですが、必要に応じてその他資源(上記例のNavigationMenu)追加の場合もあります。
  【注意】:SiteDotComを使用しないこと

 3.資源を取得します。
  package.xmlファイルを右クリックし、「SFDX:マニフェストファイルのソースを組織から取得」でサイト資源一式が取得できます。
  image.png
  【注意】:うまく取得できない場合、上記図の通り、手動でexperiences(force-app\main\default\experiences)フォルダを作成してから再度試してください。

 4.取得した資源を確認します。
  下記とおり、資源(ExperienceBundle)が取得できました。
  image.png

##②Salesforce DXでスクラッチ開発方式を使用したExperienceBundleの取得方法
スクラッチ開発方式の場合、手順が下記になります。
  1.スクラッチ組織定義ファイル(project-scratch-def.json)に下記を追加します。
  "features": ["COMMUNITIES"],   "settings": {     "experienceBundleSettings": {       "enableExperienceBundleMetadata": true     },     "communitiesSettings": {       "enableNetworksEnabled": true     }   }
    これでスクラッチ組織を作成するとExperienceBundleが自動的に有効になります。

  2.sfdxコマンド(force:source:push,force:source:pull)でサイト資源のデプロイと取得ができます。
    ※force:source:pushで資源をデプロイするとサイトの作成と有効化が自動的に行われます。

##③ExperienceBundleでサイトデプロイと移行の注意点

  • メタデータ API でデプロイの際、package.xmlにCustomSite、NetworkとExperienceBundleの三つを設定しておけば、コミュニティサイトの作成と有効化が自動的に行われるので手動で行う必要がありません。
  • 2回目以降のデプロイではサイトの再作成が必要ないので、package.xmlに必要な資源だけ(例:ExperienceBundleだけ)を定義すればOKです。
5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?