概要とビジネスシーン
Compact Layouts(コンパクトレイアウト)は、Salesforce Lightning Experience および Salesforce モバイルアプリケーションにおいて、レコードの最も重要な情報を「ハイライトパネル」と呼ばれるヘッダー領域に表示させるための強力な宣言的ツールです。これにより、ユーザーはレコードの詳細ページを開くことなく、必要な情報を一目で把握し、迅速な意思決定と生産性向上を実現できます。
実際のビジネスシーン
Compact Layouts は、特にモバイル環境や大量のレコードを扱う業務において、その真価を発揮します。以下に具体的なビジネスシーンを紹介します。
シーンA:営業 - テクノロジー業界
- ビジネス課題:営業担当者は、外出先でSalesforceモバイルアプリを使用して商談状況を迅速に確認し、顧客との会話に活用したいと考えています。しかし、標準のハイライトパネルでは必要な情報が散逸しており、目的のフィールドを探すのに時間がかかっていました。
- ソリューション:商談オブジェクトのCompact Layoutをカスタマイズし、商談名、金額、フェーズ、クローズ予定日、および次のステップの主要な5つのフィールドをハイライトパネルに表示するように設定しました。
- 定量的効果:営業担当者が商談の主要情報を確認する時間が平均20%短縮され、モバイルでの商談更新が15%増加しました。結果として、商談の成約サイクルが平均3日短縮されました。
シーンB:サービス - 金融業界
- ビジネス課題:コールセンターのエージェントは、顧客からの問い合わせ(ケース)に対応する際、顧客名、ケースステータス、緊急度、および問題の要約を素早く確認し、適切な対応を決定する必要があります。既存の設定ではこれらの情報がバラバラに配置されていました。
- ソリューション:ケースオブジェクトのCompact Layoutに、顧客名(取引先責任者)、ケース番号、ステータス、優先度、および最終更新日時を表示するように設定しました。さらに、レコードタイプごとに異なる情報を表示するよう設定し、例えば「クレーム」レコードタイプでは「影響範囲」フィールドも追加しました。
- 定量的効果:エージェントがケースの優先順位を判断するまでの時間が平均10秒短縮され、初回解決率が5%向上しました。顧客満足度もわずかながら改善が見られました。
シーンC:製造 - 物流業界
- ビジネス課題:倉庫管理者や配送担当者は、出荷指示レコードをモバイルで確認し、注文番号、顧客、発送状況、配送予定日などの主要な情報を把握する必要があります。標準のCompact Layoutでは、これらの情報が不足していました。
- ソリューション:カスタムオブジェクトである「出荷指示」のCompact Layoutを設計し、注文番号、配送先顧客名、出荷ステータス、トラッキング番号、および最終配送予定日を表示させました。これにより、現場スタッフがモバイルで必要な情報を即座に確認できるようにしました。
- 定量的効果:出荷情報の確認時間が平均18%短縮され、配送ミスが3%減少しました。これにより、顧客への正確な情報提供と、物流プロセスの効率化が実現しました。
技術原理とアーキテクチャ
Compact Layouts は、Salesforce のオブジェクト指向データモデルの上に構築されており、各オブジェクトに対して独立して設定されます。その基礎的な動作メカニズムは以下の通りです。
基礎的な動作メカニズム
ユーザーが Lightning Experience または Salesforce モバイルアプリで特定のレコードページにアクセスすると、Salesforce プラットフォームは以下の手順でCompact Layoutを適用します:
- ユーザーがアクセスしたオブジェクト(例: Account, Opportunity, Custom Object)を特定します。
- レコードのレコードタイプを識別します(レコードタイプが設定されている場合)。
- 当該オブジェクトおよびレコードタイプに割り当てられているCompact Layoutを特定します。
- 特定されたCompact Layoutに定義された最大10個のフィールドを、レコードページのハイライトパネル(画面上部の主要情報表示領域)に表示します。
これにより、ユーザーはレコード全体をスクロールすることなく、最も重要な情報を素早く視覚的に把握できます。
主要コンポーネントと依存関係
- オブジェクト(Object):Compact Layout は特定のカスタムまたは標準オブジェクトに対して定義されます。
- レコードタイプ(Record Type):同じオブジェクトであっても、レコードタイプに基づいて異なるCompact Layoutを割り当てることができます。これにより、レコードのビジネス要件に応じた柔軟な情報表示が可能です。
- フィールド(Field):Compact Layout に表示するフィールドは、オブジェクトに定義されている既存のフィールドから選択します。選択できるフィールドは最大10個です。数式フィールドやリレーション先のフィールドも選択可能ですが、パフォーマンスに影響を与える可能性があります。
- ページレイアウト(Page Layout):Compact Layout はページレイアウトとは独立して機能しますが、表示されるフィールドはページレイアウトにも存在することが一般的です。ページレイアウトはレコードページの主要なコンテンツ領域(関連リスト、詳細セクションなど)を制御するのに対し、Compact Layout はハイライトパネルのみを制御します。
データフロー
Compact Layouts の適用におけるデータフローは以下の通りです。
| ステップ | 説明 | 関連コンポーネント |
|---|---|---|
| 1. レコードアクセス | ユーザーがSalesforceでレコードページを開く。 | Lightning UI / モバイルアプリ |
| 2. オブジェクト・レコードタイプ特定 | Salesforceが対象オブジェクトとレコードタイプを識別。 | Salesforceデータモデル |
| 3. Compact Layout解決 | オブジェクトとレコードタイプに紐づくCompact Layout定義を検索。 | Compact Layout設定 |
| 4. フィールドデータ取得 | 特定されたCompact Layoutに設定されたフィールドのデータをデータベースから取得。 | Salesforceデータベース |
| 5. ハイライトパネル表示 | 取得したデータをハイライトパネルに整形して表示。 | Lightning UI / モバイルアプリ |
ソリューション比較と選定
Salesforce の UI/UX をカスタマイズするソリューションは複数存在し、それぞれ異なるユースケースに適しています。Compact Layouts と関連ソリューションを比較し、適切な選定基準を解説します。
| ソリューション | 適用シーン | パフォーマンス | Governor Limits | 複雑度 |
|---|---|---|---|---|
| Compact Layouts | レコードの主要情報をハイライトパネルに表示し、モバイルUI/UXを最適化。 | 非常に良好(表示フィールドが少ないため) | N/A (設定であり直接制限はない) | 低(ポイント&クリック) |
| ページレイアウト (Page Layouts) | レコードの詳細セクション、関連リスト、ボタン、アクション、Lightningコンポーネントの配置を制御。データ入力と詳細表示。 | 中程度(表示フィールド数、関連リスト数に依存) | N/A (設定であり直接制限はない) | 中程度(ポイント&クリック) |
| Lightning レコードページ (FlexiPage) | Lightning コンポーネントを自由に配置し、タブ、セクション、条件付き表示など、UI全体の柔軟なカスタマイズ。 | 中程度(コンポーネント数、データ取得量に依存) | N/A (設定であり直接制限はない) | 高(ポイント&クリック、コンポーネント構成) |
compact layouts を使用すべき場合:
- ✅ レコードの最も重要な情報を一目で確認できるようにしたい場合。
- ✅ Salesforce モバイルアプリのユーザーエクスペリエンスを最適化したい場合。
- ✅ 営業担当者やサービスエージェントなど、フィールド作業者が迅速に情報を把握する必要がある場合。
- ✅ 複数のレコードタイプがあり、レコードタイプごとにハイライトパネルの表示内容を変えたい場合。
- ❌ レコードの詳細なデータ入力フォームや、関連リストの表示を制御したい場合(これはページレイアウトの役割です)。
- ❌ レコードページ全体を動的に変更したり、カスタムロジックに基づいてコンポーネントの表示/非表示を切り替えたい場合(これはLightningレコードページやカスタムコンポーネントの役割です)。
実装例
Compact Layouts の設定は、コードを書くことなくSalesforce の宣言的ツール(ポイント&クリック)を使用して行われます。以下に、Account オブジェクトに新しい Compact Layout を作成し、割り当てるステップバイステップの実装例を示します。
// Compact Layout は宣言的な設定であり、Apex コードを直接記述するものではありません。 // 以下の手順はSalesforce Setup UI を通じた設定方法を説明します。 // ---------------------------------------------------------------------------------------------------- // Step 1: Salesforce Setup(設定)へのアクセス // ---------------------------------------------------------------------------------------------------- // Salesforce にシステム管理者権限を持つユーザーでログインします。 // 画面右上の歯車アイコンをクリックし、「設定(Setup)」を選択します。 // ---------------------------------------------------------------------------------------------------- // Step 2: オブジェクトマネージャーへの移動 // ---------------------------------------------------------------------------------------------------- // 左側のメニューから「オブジェクトマネージャー(Object Manager)」をクリックします。 // ここで、Salesforce組織内のすべての標準およびカスタムオブジェクトを管理できます。 // ---------------------------------------------------------------------------------------------------- // Step 3: 対象オブジェクトの選択 // ---------------------------------------------------------------------------------------------------- // リストから「Account」オブジェクトを見つけてクリックします。 // (例としてAccountオブジェクトを使用しますが、他のオブジェクトでも同様の手順です。) // ---------------------------------------------------------------------------------------------------- // Step 4: Compact Layouts のセクションへ移動 // ---------------------------------------------------------------------------------------------------- // Account オブジェクトの詳細ページで、左側のメニューから「コンパクトレイアウト(Compact Layouts)」をクリックします。 // ---------------------------------------------------------------------------------------------------- // Step 5: 新しい Compact Layout の作成 // ---------------------------------------------------------------------------------------------------- // 「新規(New)」ボタンをクリックします。 // - Compact Layout 名(Compact Layout Name):例として「営業向け Account Compact Layout」と入力します。 // - 表示するフィールドの選択(Fields to Display): // 「利用可能なフィールド(Available Fields)」から「選択済みのフィールド(Selected Fields)」へ、 // ハイライトパネルに表示したいフィールドをドラッグ&ドロップします。最大10個のフィールドを選択できます。 // 推奨フィールドの例: // - Account Name (取引先名) // - Account Number (取引先番号) // - Type (種別) // - Industry (業種) // - Annual Revenue (年間売上) // - Phone (電話) // - Rating (評価) // - Owner (所有者) // - Last Activity (最終活動日) // - Created Date (作成日) // 選択が完了したら、「保存(Save)」をクリックします。 // ---------------------------------------------------------------------------------------------------- // Step 6: Compact Layout の割り当て // ---------------------------------------------------------------------------------------------------- // 作成した Compact Layout をアクティブにするには、それをオブジェクトのプライマリレイアウトとして設定するか、 // レコードタイプに割り当てる必要があります。 // 「コンパクトレイアウトの割り当て(Compact Layout Assignment)」ボタンをクリックします。 // 「割り当てを編集(Edit Assignment)」をクリックします。 // - プライマリコンパクトレイアウト(Primary Compact Layout):ドロップダウンから「営業向け Account Compact Layout」を選択します。 // - レコードタイプごとのCompact Layout割り当て:もし複数のレコードタイプがある場合、 // それぞれのレコードタイプに対して異なるCompact Layoutを選択できます。 // デフォルトではプライマリが適用されますが、必要に応じて変更します。 // 「保存(Save)」をクリックします。 // ---------------------------------------------------------------------------------------------------- // Step 7: 確認 // ---------------------------------------------------------------------------------------------------- // Account オブジェクトのレコードページに移動し、作成した Compact Layout がハイライトパネルに表示されていることを確認します。 // Salesforce モバイルアプリでも同様に確認してください。
注意事項とベストプラクティス
Compact Layouts を効果的に活用するための注意事項とベストプラクティスを以下に示します。
権限要件
- 設定変更権限:Compact Layouts の作成、編集、削除を行うには、システム管理者プロファイル、または「オブジェクトのカスタマイズとアプリケーションの変更(Customize Application)」権限を持つユーザーである必要があります。
- フィールドレベルセキュリティ(FLS):Compact Layout に表示されるフィールドは、ユーザーのフィールドレベルセキュリティ設定に従います。ユーザーに表示権限がないフィールドは、ハイライトパネルにも表示されません。設定時には、対象ユーザーに表示権限があるフィールドを選択することが重要です。
Governor Limits
Compact Layouts 自体は宣言的な設定であり、Apex のような実行時コードではないため、直接的な Governor Limits の対象にはなりません。しかし、表示されるフィールドのデータ取得は Salesforce の標準的なデータ処理の一部です。極端に多くのリレーション先フィールドや計算コストの高い数式フィールドを配置すると、ページの読み込みパフォーマンスにわずかながら影響を与える可能性がありますが、通常は問題になりません。
エラー処理
- フィールドの存在しないエラー:Compact Layout を設定する際に、存在しないフィールドや削除されたフィールドを選択しようとすると、設定画面でエラーまたは警告が表示され、保存できません。
- フィールドレベルセキュリティによる非表示:ユーザーに表示権限がないフィールドは、エラーとしてではなく、単にハイライトパネルに表示されない形で処理されます。これは期待される動作です。
- 有効なレイアウトの確認:Compact Layout を作成しても割り当てが行われていない場合、またはすべてのレコードタイプに適切な Compact Layout が割り当てられていない場合、デフォルトの Compact Layout が適用されるか、表示が期待通りにならないことがあります。必ず「Compact Layout の割り当て」を確認してください。
パフォーマンス最適化
- フィールドの厳選:ハイライトパネルには最大10個のフィールドを設定できますが、本当に最も重要な情報に絞り込みましょう。フィールドが少ないほど、ページ読み込みはわずかながら速くなります。
- 計算コストの高いフィールドの注意:数式フィールド(特に複雑な数式や複数のオブジェクトにまたがる数式)や、多数の親オブジェクトからリレーションを介して取得するフィールドは、データ取得のパフォーマンスに影響を与える可能性があります。本当に必要な場合のみ使用し、代替手段がないか検討してください。
- モバイルを意識した順序:モバイルデバイスでは、画面の幅が限られているため、Compact Layout の表示順序が特に重要になります。最も重要なフィールドを上部に配置し、ユーザーがスクロールせずに確認できるように配慮しましょう。
- グローバルアクションとの連携:ハイライトパネルの近くには、レコードに特化したグローバルアクションやオブジェクト固有のアクションが表示されます。Compact Layout に表示する情報と連携し、ユーザーが情報を確認した直後に必要なアクションを実行できるようなUIフローを設計すると、さらに生産性が向上します。
よくある質問 FAQ
Q1:Compact Layout とページレイアウトの違いは何ですか?
A1:Compact Layout はレコードの主要な情報をハイライトパネル(レコードヘッダー)に表示するためのもので、主にモバイルやLightning Experience の上部に影響します。一方、ページレイアウトはレコードの詳細、関連リスト、ボタン、アクション、カスタムコンポーネントなど、レコードページ全体のコンテンツとレイアウトを制御します。
Q2:複数のレコードタイプがある場合、どのように Compact Layout を設定しますか?
A2:各レコードタイプに異なる Compact Layout を割り当てることができます。オブジェクトマネージャーの「コンパクトレイアウト」セクションで、「コンパクトレイアウトの割り当て」をクリックし、「割り当てを編集」から各レコードタイプに特定の Compact Layout を選択して割り当てます。デフォルトではプライマリ Compact Layout が適用されます。
Q3:Compact Layout で選択できるフィールドの数に制限はありますか?
A3:はい、Compact Layout には最大で10個のフィールドを設定できます。これらはレコードのハイライトパネルに表示される最も重要な情報となり、モバイルデバイスでの視認性を考慮してこの数に制限されています。
まとめと参考資料
Compact Layouts は、Salesforce におけるユーザーエクスペリエンス、特にモバイル環境での生産性を劇的に向上させるための、シンプルながらも非常に強力な宣言的ツールです。レコードの最も重要な情報を厳選し、ハイライトパネルに適切に配置することで、ユーザーは迅速な情報把握と効率的な業務遂行が可能になります。システム管理者は、ユーザーのビジネス要件を深く理解し、最適な Compact Layout を設計・適用することで、組織全体の生産性向上に貢献できます。
公式リソース
- 📖 公式ドキュメント:コンパクトレイアウトの作成と割り当て (Salesforce ヘルプ)
- 📖 公式ドキュメント:コンパクトレイアウトに関する考慮事項 (Salesforce ヘルプ)
- 🎓 Trailhead モジュール:Lightning Experience のカスタマイズ: コンパクトレイアウト (Trailhead)
コメント
コメントを投稿