技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Salesforce 開発者の JavaScript スキル(6)

Prepare for your Salesforce JavaScript Developer I Credential Trailmix の続き。

trailhead.salesforce.com

要点だけ訳して切り抜くよシリーズ!

Create and Launch Your Trailhead Playground

Trailhead Playground を作成して起動する…
え?これ訳す意味ある?

ここクリックして f:id:white-azalea:20211021204004p:plain

「Playground を作成」クリックして f:id:white-azalea:20211021204045p:plain

分かりやすく名前つけてOK f:id:white-azalea:20211021204207p:plain

後は出来上がりをお待ちください f:id:white-azalea:20211021204350p:plain

Set Up Your Environment

環境をセットアップしよう
DreamHouse サンプルアプリを入れてみようという内容。

  1. さっき作ったPlaygroundを起動
  2. とりあえず英語化しませう(Trailhead だと大抵の場合で必須)
    f:id:white-azalea:20211021205209p:plain
  3. パッケージインストーラ
    f:id:white-azalea:20211021205334p:plain
  4. 04t3s000002qbLH を指定
    f:id:white-azalea:20211021205428p:plain
  5. Admin only でGO
    f:id:white-azalea:20211021205515p:plain
    因みにパッケージが見つからないなら https://login.salesforce.com/packaging/installPackage.apexp?p0=04t3s000002qbLH からインストールせーと言ってます
  6. 完了するとこうなるよ
    f:id:white-azalea:20211021205727p:plain

静的リソースから ExerciseFiles をDLして解凍
f:id:white-azalea:20211021205839p:plain

権限セットから DreamHouse > ManageAssignments で自分のアカウントに設定
f:id:white-azalea:20211021210251p:plain
f:id:white-azalea:20211021210434p:plain

そしたら DreamHouse 起動して
f:id:white-azalea:20211021210527p:plain

DataImport から設定をインストール
f:id:white-azalea:20211021210616p:plain

すると、サンプルデータ入ってるね?と
f:id:white-azalea:20211021210643p:plain

sfdx コマンドをアップデート (パッケージインストール派は sfdx update で、npm 派は npm install --global sfdx-cli)して、認証していきます。
この操作は こっち 参照。

Create a Salesforce DX Project

Salesforce DX のプロジェクトを作成する

コマンドで sfdx force:project:create --projectname sfdx-chan と打つと、sfdx-chan プロジェクトが作成される。
f:id:white-azalea:20211021212141p:plain

こいつがプロジェクト設定(config/project-scratch-def.json)

{
  "orgName": "DreamHouse Realty",
  "edition": "Developer",
  "features": ["EnableSetPasswordInApi"],
  "settings": {
    "lightningExperienceSettings": {
      "enableS1DesktopEnabled": true
    },
    "mobileSettings": {
      "enableS1EncryptedStoragePref2": false
    }
  }
}

プロジェクト内ファイルの除外設定 .forceignore
f:id:white-azalea:20211021213929p:plain

sfdx-chan/assets 以下に以下のファイルを作成する。こいつはサーバから取得・同期するファイルのプリセットだ。
f:id:white-azalea:20211021214258p:plain

sfdx force:source:retrieve --manifest assets/package.xml --targetusername DevHub --wait 10 するとサーバから色々取ってこれる。
また、こんなクエリを実行すると、データの抽出もできる。

sfdx force:data:tree:export --targetusername DevHub --outputdir assets/data --query "SELECT Id, Name, Email__c, Phone__c, Mobile_Phone__c, Title__c, Picture__c, ( SELECT Id, Address__c, Assessed_Value__c, Baths__c, Beds__c, Broker__c, City__c, Date_Agreement__c, Date_Closed__c, Date_Contracted__c, Date_Listed__c, Date_Pre_Market__c, Description__c, Location__Longitude__s, Location__Latitude__s, Picture__c, Price__c, Name, State__c, Status__c, Tags__c, Thumbnail__c, Title__c, Zip__c FROM Properties__r ) FROM Broker__c"

Add a Salesforce DX Project to Source Control

Salesforce DX をソースコントロールの配下に置こう。

  • Github でアカウントを作成し、リポジトリを作成する。
    正直 Trailhead より 公式 の方が優秀。
  • git をインストールする Git for Windows
  • Git のユーザ設定
    • git config --global user.name "Your Name"リポジトリ操作時の名前を設定
    • git config --global user.email "you@email.com" 操作者のアドレスを指定。因みに公開されるのが嫌な場合、Github で独自アドレスを設定できる。
  • git initリポジトリ作成
  • git remote add origin https://github.com/YOUR_GITHUB_USERNAME/sfdx-project.git アドレスは作成した Githubリポジトリ
    こうすると、ローカルで作成した git リポジトリがリモート(Github) と関連付けされる。

因みに Git での SSH 認証設定は コレ を参照してくれい。
とりまこれはこれで保存しておくと良い。

Develop the Map Component

マップコンポーネント作ってみよう

  1. git checkout -b feature-chan-map で開発ブランチを作成。名前は都度考えよう
  2. 先に解凍してた Exercise Files から Exercise Files\feature-chan-mapRecordMapsfdx-chan\force-app\main\default\aura にペーストします
  3. 新規にスクラッチ組織を作成します sfdx force:org:create --setdefaultusername --setalias sfdx-chan --definitionfile config/project-scratch-def.json
  4. 作成が完了したら sfdx force:source:push
  5. 権限セットもユーザに割り当てる sfdx force:user:permset:assign --permsetname DreamHouse
  6. sfdx force:data:tree:import -f assets/data/Broker__c-Property__c.json でデータインポート
  7. sfdx force:org:open でスクラッチ組織を開きます。
  8. sfdx force:apex:test:run --codecoverage --resultformat human --wait 2 で Apex テストを実行
  9. sfdx force:source:pull -f で組織から設定等のソースを取得(-f はバージョン競合無視)