Salesforce の開発を行う際は、Salesforce組織上での設定作業も多いと思います。
一方で、要件に応じてApex/LWC 等のコーディングも必要になります。
時にはメタデータ によるデプロイや、ソースの Git 管理も行う事でしょう。
原則、開発環境の構築は行っておくべきです。
私は 「Visual Studio Code(※)」(以下、VSCode)をお勧めします。
(※)Microsoft の提供するエディタ
VSCode のインストール
今回利用する VSCode はMicrosoft のサイトからインストール可能です。
Windows, Mac でもインストール画面は同じなので迷うことはないでしょう。
VSCode にSalesforceの拡張プラグインを追加
VSCode で Salesforce 開発をするなら、以下の拡張プラグインを導入しましょう。
- Salesforce Extension Pack
- Package.xml Generator
Salesforce Extension Pack
こちらは、Salesforce 開発に必要な機能をまとめて提供するプラグインです。
Apex や Debugger、SOQL、CLI などの機能が提供されるため、開発が非常にスムーズになります。
これは Salesforce 公式から提供されているプラグインなので、安心して利用できます。
Salesforce Extension Pack
率直に言って便利すぎるプラグインです。Salesforce開発者なら必ず入れておくべきでしょう。
この有無によって、Package.xml を作成する生産性が何倍も変わってきます。
こちらの画像にあるように、まずメタデータ の種類を選択します。
すると、右側に認証先のSalesforce組織に登録されているリソースが一覧で表示されます。
そして選択した任意のリソースから Package.xml を作成できるという優れものです。
会社やプロジェクトの方針に依りますが、問題なければ必ず入れましょう。
Salesforce CLI のインストール
Salesforce CLI は、コマンドラインベースで Salesforce を操作できるツールです。
メタデータ を含む様々なリソースにアクセスしたり、組織の認証したりできます。
Package.xml を利用したメタデータ のデプロイ作業やGit管理とも相性が良いです。
私は変更セットより断然メタデータ デプロイ派です。
上記URLからインストーラをダウンロードの上、ウィザードに従ってインストールします。
Salesforce プロジェクトを作成
VSCodeのコマンドパレットにて、SFDX: Create Project with Manifest を選択します。
続いて、プロジェクトテンプレートの選択です。
「標準」「空」のいずれも特に機能面で違いはないので好きな方を選びましょう。
私はシンプルな「空」の方が好きです。
任意のプロジェクト名を入力の上、プロジェクトの作成先ディレクトリを選択します。
作成されたプロジェクトのパッケージ構成は以下のようになっています。
force-app/main/default 以下がかなりサッパリしていますね。
ここに、必要に応じて objects 等のメタデータ を追加していきます。
Salesforce 組織の認証
開発を行いたいSalesforce 組織と、先ほど作成したプロジェクトを紐付けます。
今回は、私個人の Developer Edition と紐付けます。
コマンドパレットにて、SFDX: Authorize an Org を選択します。
続いて、認証先の組織の種類を選択します。
本記事では Developer Edition を利用するため、「本番組織」を選択します。
(DE環境はログインURLが「login.salesforce.com」であるため)
実開発では、ほとんどの場合は Sandbox で開発すると思います。その時は「Sandbox」を選びましょう。
組織のエイリアスは任意の値で良いですが、実開発の際には以下のような命名を推奨します。
{顧客名の略称}-{対象のSandboxのエイリアス}
入力後、ブラウザが自動的に開き、Salesforceにログインすることで認証が完了します。
さて、ここまでの操作で、開発を行う準備が整いました。
この後は任意のリソースを組織からリトリーブするも良し。
ローカルで書いたApexを組織にデプロイするも良し。自由に開発していきましょう。
おまけ:組織のエイリアスの命名について
手順の途中に、{対象のSandboxのエイリアス} を登録する箇所がありました。
できれば、Sandbox や DE環境 のユーザ登録の際はユーザ名の末尾を統一しましょう。
命名ルールを工夫する事で、複数環境を操作していても混乱を防げます。
例えば、AAA社 の SAMPLE という組織がある場合、以下のようにします。
項目 | 値 |
Sandbox / Developer Edition の組織エイリアス | sample |
組織に登録するユーザ名 | {自分のメールアドレス}@{ドメイン}.sample |
VSCodeで登録する組織エイリアス | aaa-sample |
このように設定すれば、ユーザや環境が一目で分かるのでお勧めです。
おわりに
Salesforce 開発と言っても、私は組織上で設定をポチポチ行うのは好きではありません。
何ならオブジェクトの項目作成ですら、VSCode + メタデータの方が早いと思っています。
そのため、VSCodeによる初期の開発環境セットアップは手を抜けないです。
コメント