Skip to main content

クリック操作でデータモデルを作成する

メモ

メモ

日本語で受講されている方へ
このバッジの Trailhead ハンズオン Challenge は英語で受講していただく必要があります。英語の意味についてはかっこ内の翻訳をご参照ください。Trailhead Playground では (1) [Locale (地域)] を [United States (米国)] に、[Language (言語)] を [English (英語)] に切り替えて、(2) 英語の値のみをコピーして貼り付けてください。こちらの指示に従ってください。

翻訳版の Trailhead を活用する方法については、自分の言語の Trailhead バッジをご覧ください。

Trail Together の動画

エキスパートの説明を見ながらこのステップを進めて行きたい場合は、Trail Together シリーズの一部である、こちらの動画をご覧ください。

(巻き戻して最初から見直したい場合、このクリップは 16:44 分から開始されます。)

はじめに

Salesforce では、基盤となるデータベース機能の複雑性を排除し、データベーステーブルをオブジェクト、列を項目、行をレコードと呼んでいます。プラットフォーム内の組み込みのポイント & クリック機能を使用して、Salesforce でデータベーステーブル (オブジェクト) を宣言的に作成することができます。 

House カスタムオブジェクトを作成する

DreamHouse のエージェントは、すでに取引先責任者やリードなどの Salesforce 標準機能を使用して住宅購入者を追跡しています。ただし、住宅の販売となると、追跡すべき情報はそれだけではありません。そこで使用できるのが、プラットフォームのカスタムオブジェクト機能です。

メモ

メモ

この Trailhead プロジェクトでは、データモデルを簡略化してあります。House オブジェクトのみに焦点を当て、House オブジェクトを操作する機能を構築します。完全なデータモデルとアプリケーションの全機能に興味がある方は、このプロジェクトを完了した後に Dreamhouse サンプルアプリケーションを確認してください。

このステップでは、住宅に関する詳細 (住宅名、住所、費用、部屋数、その他の情報) を保存するために「House」というオブジェクトを作成します。後半では、変更のバージョン管理方法や、変更内容を他の Salesforce 組織にリリースする方法を確認します。

メモ

メモ

構築する機能に使用できる標準オブジェクトがある場合は、カスタムオブジェクトを作成しないことをお勧めします。標準オブジェクトは、Salesforce Platform に付属しています。

スプレッドシートで House エンティティのオブジェクトモデルの計画を作成し、このアプリケーションのサンプルデータを用意してあります。これを Salesforce で実際のデータモデルに変換する方法を見てみましょう。 

  1. こちらのスプレッドシートをダウンロードして開き、House.csv という名前で保存します。
  2. Trailhead Playground で 設定 をクリックして [Setup (設定)] を選択します。
  3. [Object Manager (オブジェクトマネージャー)] タブをクリックします。[Setup (設定)] 画面の [Object Manager (オブジェクトマネージャー)] タブ。
  4. [Create (作成)] をクリックします。
  5. [Custom Object from Spreadsheet (スプレッドシートからカスタムオブジェクト)] を選択します。[Custom Object from Spreadsheet (スプレッドシートからカスタムオブジェクト)] オプションが選択されている [Create (作成)] メニュー。
  6. [Login with Salesforce (Salesforce でログイン)] をクリックします。
  7. Trailhead Playground のユーザー名とパスワードを入力します。(ユーザー名は、パスワードをリセットしたときに受信したメールに記載されています。)
  8. [Log In (ログイン)] をクリックします。
  9. [Allow (許可)] をクリックします。
  10. [Upload (アップロード)] をクリックします。
  11. ダウンロードした House.csv ファイルに移動して、アップロードします。各項目が自動的に検出され、すべてのレコードデータが入力されます。[Record Name Field (レコード名項目)] として [House Name (住宅名)] を選択し、他の項目の対応付けと設定はそのままにします。オブジェクトと項目の対応付けを定義します。
  12. [Next (次へ)] をクリックし、次の設定を入力します。
    1. Label (表示ラベル): House
    2. Plural Label (表示ラベル (複数形)): Houses
    3. API Name (API 参照名): House
  1. [Finish (完了)] をクリックします。数分以内に House オブジェクトが作成され、データがインポートされます。

お疲れさまでした。

メモ

メモ

このステップでは、標準装備のツールを使用して「Lightning Experience でスプレッドシートからカスタムオブジェクトを作成」の手順を実行しました。これは、エンティティを 1 つだけ作成する場合に適したツールです。この他に、複数のエンティティを含むデータモデルの構築と設計を簡単に行うことができる、スキーマビルダーやオブジェクトマネージャーなどのツールがあります。詳細は、「リソース」セクションを参照してください。

Salesforce Platform の組み込み機能

カスタムオブジェクトの作成は簡単でしたが、最新のアプリケーションには次のような機能が必要です。

  • レコードを効率的に操作できる直感的なユーザーインターフェース
  • 他のシステムやプロセスと統合するための API
  • モバイルアプリケーション
  • セキュリティ
  • アプリケーションのエンドユーザー用の ID や認証サービスを使用したユーザー管理

多くの場合、こうした機能には複雑なコードが必要となります。幸いなことに Salesforce には、膨大なコードの記述やメンテナンスを必要とせずにこれらの要件を満たす組み込み機能があります。

このプロジェクトで、すべての機能について説明する時間は取れませんが、いくつか組み込み機能を紹介します。

  1. テーブル形式でレコードをすばやく表示し、並び替えと絞り込みができるカスタマイズ可能なリストビュー。
    1. アプリケーションランチャー をクリックし、[Houses] を検索して選択し、[Houses] タブに移動します。
    2. [Recently Viewed (最近参照したデータ)] をクリックしてから [All Records (すべてのレコード)] を選択して、House オブジェクトのすべてのレコードを表示します。
      House オブジェクトのすべてのレコードを表示するリストビュー
  1. レコードの作成や編集ができる CRUD ユーザーインターフェース。
    1. リストビューからレコードの 1 つをクリックして、レコードの詳細ビューに移動します。
    2. [Edit (編集)] をクリックしてレコードに変更を加え、[Save (保存)] をクリックします。
  1. レコードレベルの共有とエンティティレベルや項目レベルのセキュリティを使用したアプリケーションデータセキュリティ。これについての詳細は、Trailhead の「データセキュリティ」モジュールを参照してください。
    プロファイルを使用したオブジェクトセキュリティの設定。
  2. API を使用してカスタムオブジェクトのデータやスキーマにアクセスする機能。作成したオブジェクトスキーマとすべてのレコードには、自動生成された REST API を使用してアクセスできます。メモメモ: Postman を使用する場合は、Salesforce API Postman コレクションを参照してください。
  3. Salesforce Platform で提供されるポイント & クリックツールを使用してカスタマイズし、すぐに使用できる Salesforce モバイルアプリケーション
  4. アプリケーションのエンドユーザーの ID とアクセス権を管理するための認証と承認が有効になっている User オブジェクト。

ここで紹介したのは、ほんの一部の機能です。まだ他にもたくさんある機能について学ぶには、「リソース」セクションのリンク先にアクセスしてください。

オブジェクトとデータが自動生成されましたが、コードはどこで必要になるのかと思われているかもしれません。ご安心ください。この後で説明します。その前にもう 1 つ行わなければならない作業があります。

アプリケーションを作成する

作成した House オブジェクトを操作するには、ナビゲーションを容易にするアプリケーションを作成する必要があります。これは、[Setup (設定)] メニューから行います。

  1. Trailhead Playground で 設定 をクリックして [Setup (設定)] を選択します。Salesforce の [Setup (設定)] ページに移動します。
  2. [Quick Find (クイック検索)] ボックスに App Manager と入力し、[App Manager (アプリケーションマネージャー)] を選択します。
  3. [New Lightning App (新規 Lightning アプリケーション)] をクリックします。新規 Lightning アプリケーションの作成を開始する [New Lightning App (新規 Lightning アプリケーション)] ボタン。
  4. [App Details & Branding (アプリケーションの詳細およびブランド設定)] ウィンドウで、次の詳細を入力します。
    1. [App Name (アプリケーション名)] に Dreamhouse と入力します。
    2. [Image (画像)] には、dreamhouse-logo.png を開きます。画像を右クリックし、[Save Image As (画像を別名で保存)] を選択して、dreamhouse-logo.png という名前を付けます。[App Details & Branding (アプリケーションの詳細およびブランド設定)] ウィンドウで [Upload (アップロード)] をクリックし、dreamhouse-logo.png. を選択します。
    3. [Next (次へ)] をクリックします。
  1. [App Options (アプリケーションオプション)] 画面で [Standard navigation (標準ナビゲーション)] を選択し、[Next (次へ)] をクリックします。
  2. [Utility Items (ユーティリティ項目)] 画面で [Next (次へ)] をクリックします。
  3. [Navigation Items (ナビゲーション項目)] 画面で、[Available Items (選択可能な項目)] リストから [Home][Houses][Reports][Dashboards]を選択し、[Selected Items (選択済みの項目)] リストに移動します。次に、[Next (次へ)] をクリックします。Dreamhouse アプリケーションにアクセスするユーザーのタブを設定する。
  4. [User Profiles (ユーザープロファイル)] 画面で [System Administrator (システム管理者)] を選択して [Selected Profiles (選択済みプロファイル)] に移動し、[Save & Finish (保存して完了)] をクリックします。
  5. 新しい Dreamhouse アプリケーションに移動して、現時点での内容を確認します。
  6. アプリケーションランチャー をクリックし、[Dreamhouse] を検索して選択します。

ローカルプロジェクトで Salesforce からメタデータを取得する

管理 UI で行った設定は、XML 形式のデータ (メタデータとも呼ばれる) として取得し、バージョン管理にチェックインできます。

Salesforce Platform には、開発環境、テスト環境、本番環境の間でさまざまなメタデータ型を取得してリリースできるメタデータ API が用意されています。メタデータ API は、Salesforce CLI と Salesforce 拡張機能によって内部で使用されます。 

このセクションで行った設定の組織のメタデータを取得するには、次の手順を実行します。

  1. VS Code のアクティビティバーで、Org Browser (組織ブラウザー)。 をクリックします。VS Code のアクティビティバーの [Org Browser (組織ブラウザー)]。
  2. Custom Objects フォルダーを見つけて展開します。次に、House__c フォルダーを選択します。
  3. Retrieve Source from Org (組織からソースを取得)。 クリックすると、House__c オブジェクトの組織のメタデータが取得されます。XML ファイルが force-app/main/default/objects フォルダーの下に表示されています。House オブジェクトのメタデータを取得する [Retrieve Source from Org (組織からソースを取得)] ボタンの場所。
  4. CLI を使用してメタデータを取得することもできます。たとえば、ターミナルで次のコマンドを実行すると、以下に示す他のすべてのメタデータ項目が取得されます。
sf project retrieve start --metadata CustomApplication:Dreamhouse CustomTab:House__c "Layout:House__c-House Layout"

メタデータ型

コンポーネント名

カスタムアプリケーション

Dreamhouse

カスタムタブ

House__c

レイアウト

House__c-House Layout

メモ

メモ

Salesforce でオブジェクトに名前を付けるときは、その名前にサフィックスを追加して安全な API 参照名を生成します。カスタムオブジェクトとカスタム項目の API 参照名では、多くの場合、末尾に「__c」というサフィックスが使用されます。通常、標準オブジェクトにサフィックスを使用することはありませんが、例外を見かけることがあるかもしれません。コードがカスタムオブジェクトやカスタム項目にアクセスする必要がある場合、開発者が指定する名前ではなく、オブジェクト API 参照名を使用することが期待されます。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる