tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Trailhead サンプルアプリケーションを試してみました

Trailhead サンプルアプリケーションを試してみました。GitHubにTrailhead Appsが用意されているのですが、ここに各LWCのサンプルアプリケーションのリンクがあります。README.mdを見れば環境構築の方法を確認できます。実際に動かしてみてイメージを把握してからコードの内容を確認するという使い方ができるようになっていました。

Trailhead Apps · GitHub


こちらのトレイルヘッドでまとめられている話です。

Trailhead サンプルアプリケーションについて知る | Salesforce Trailhead

LWC Recipes


認証
sf org login web -a lwc-recipes -b chrome
Git Clone
git clone https://github.com/trailheadapps/lwc-recipes
cd lwc-recipes
デプロイ
sf project deploy start -o lwc-recipes
sf org assign permset -n recipes -o lwc-recipes
sf data tree import -p ./data/data-plan.json -o lwc-recipes
sf org open -o lwc-recipes -b chrome

LWC Recipes

E-Bike

このサンプルコードを試すためには、Experience Cloudの有効化やその他設定変更、 Experience Cloud サイトのメタデータ ファイルの編集、ケースオブジェクトの設定変更が必要です。


認証
sf org login web -a ebikes-lwc -b chrome
Git Clone
git clone https://github.com/trailheadapps/ebikes-lwc
cd ebikes-lwc
デプロイ
sf project deploy start -d force-app -o ebikes-lwc
sf org assign permset -n ebikes -o ebikes-lwc
sf data tree import -p ./data/sample-data-plan.json -o ebikes-lwc
sf community publish -n E-Bikes -o ebikes-lwc
sf project deploy start --metadata-dir=guest-profile-metadata -w 10 -o ebikes-lwc
sf org open -o ebikes-lwc -b chrome

E-Bikes アプリケーション


E-Bikes Experience Cloud アプリケーション

DreamHouse


認証
sf org login web -a dreamhouse-lwc -b chrome
Git Clone
git clone https://github.com/dreamhouseapp/dreamhouse-lwc
cd dreamhouse-lwc
デプロイ
sf project deploy start -d force-app -o dreamhouse-lwc
sf org assign permset -n dreamhouse -o dreamhouse-lwc
sf data tree import -p ./data/sample-data-plan.json -o dreamhouse-lwc
sf org open -o dreamhouse-lwc -b chrome

DreamHouse アプリケーション


Bedsの値の変更はProperty Finderページから行えます。

Automation Components


管理パッケージインストール


認証
sf org login web -a automation-comps -b chrome
Git Clone
git clone https://github.com/trailheadapps/automation-components
cd automation-components
デプロイ
sf project deploy start -o automation-comps
sf org open -oautomation-comps -b chrome

できること

以下のようにフローとApexに関するサンプルコードを確認できたりします。

  • @InvocableVariable : フローとApexクラスの間でデータ連携するときのサンプル。
  • @InvocableMethod : フローアクションとして呼び出せるサンプル。


お試しフローの作成

Trailheadの手順で進めていくとフロー×Apex連携で商談ロスト時にレコードロックするサンプルフローを作成できます。

easy-spaces-lwc


パッケージインストール


認証
sf org login web -a dreamhouse-lwc -b chrome
Git Clone
git clone https://github.com/trailheadapps/easy-spaces-lwc
cd easy-spaces-lwc
デプロイ
sf project deploy start -o easy-spaces-lwc
sf org assign permset -n EasySpacesObjects -o easy-spaces-lwc
sf org assign permset -n SpaceManagementApp -o easy-spaces-lwc
sf data tree import -p ./data/Plan1.json -o easy-spaces-lwc
sf data tree import -p ./data/Plan2.json -o easy-spaces-lwc
sf org open -o easy-spaces-lwc -b chrome
テーマとブランディングの有効化


Space Management アプリケーション


パッケージ作成を試す

次のコマンドで未管理パッケージを作成できます。この作業にはDevHub組織が必要です。

sf package create -n ESObjects -t Unlocked -r es-base-objects


sf pakcageコマンドで次のエラーが発生した場合は設定不足が理由です。

Error (1): The requested resource does not exist

DevHub組織の設定で「ロック解除済みパッケージと第二世代管理パッケージを有効化」を行ってください。エラーが解決します。


上記手順でエラーメッセージは消えたのですが、version create コマンドが正常に実行できませんでした。

sf package version create --package 0Ho... --installation-key password123


Trailheadの手順のとおりに改めて再挑戦。コマンドも手順に記載されたsfdxコマンドの方で試してみました。

sfdx force:package:create --name=ESObjects --packagetype=Unlocked --path=./es-base-objects
sfdx force:package:version:create --package=ESObjects --installationkeybypass --wait=20


次のような成功メッセージが表示されてうまくいきました。「sf package version list」で作成されていることを確認できました。

Successfully created the package version [*]. Subscriber Package Version Id: *
Package Installation URL: https://login.salesforce.com/packaging/installPackage.apexp?p0=*
As an alternative, you can use the "sf package:install" command.


Trailheadモジュール「Explore the Easy Spaces App Packaging Architecture」をクリアするには、DevHub組織=ソースをデプロイしたハンズオン組織で進めると良いと思います。DevHub組織を別のDeveloperEdtion組織に設定して進めたらチャレンジがうまくとおりませんでした。(少なくてもDevHub組織と第二世代パッケージの有効化の設定は必須)

apex-recipes


認証
sf org login web -a apex-recipes -b chrome
Git Clone
git clone https://github.com/trailheadapps/apex-recipes
cd easy-spaces-lwc
デプロイ
sf project deploy start -o apex-recipes
sf org assign permset -n Apex_Recipes -o apex-recipes
sf org assign permset -n Walkthroughs -o apex-recipes
sf data tree import -p ./data/data-plan.json -o apex-recipes
sf data tree import -p ./data/data-plan2.json -o apex-recipes
sf apex run --file data/setup.apex -o apex-recipes
sf org open -o apex-recipes -b chrome

Apex Recipes アプリケーション

まとめ

Salesforce社が用意しているTrailhead サンプルアプリケーションはこんな感じでした。Salesforce CLIが使える状態になっていればソースのデプロイ→権限付与→テストデータ登録と簡単に実施できて実際に動かすことができるようになっています。E-Bikes アプリケーションにはExeperience Cloudのしっかりしたサンプルも用意されているのでこれをベースに設定まわりの勉強ができそうでした。