執筆者:Salesforce 管理者
背景と適用シナリオ
Salesforce管理者としての私たちの重要な責務の一つは、ユーザーが効率的に業務を遂行できるような、直感的で使いやすいユーザーインターフェース (UI) を提供することです。その中核をなすのが Page Layouts (ページレイアウト) です。ページレイアウトは、Salesforceのオブジェクトレコード(例えば、取引先、商談、ケースなど)の詳細ページや編集ページに表示される項目、ボタン、関連リストなどの配置を制御するための宣言的な(コードを書かない)ツールです。
日々の運用において、ページレイアウトは様々なシナリオで活用されます。
- ユーザープロファイル毎の表示制御:営業部門のユーザーとカスタマーサポート部門のユーザーでは、同じ商談レコードでも注目する情報が異なります。営業担当者は金額やフェーズを、サポート担当者は関連するケースや納品情報を重視するかもしれません。ページレイアウトをプロファイルごとに割り当てることで、各部門が必要な情報に素早くアクセスできるよう最適化できます。
- データ品質の向上:特定の項目を必須項目 (Required) に設定したり、編集が不要な項目を読取専用 (Read-Only) に設定したりすることで、データの入力漏れや誤操作を防ぎ、データ品質を維持します。
- 業務プロセスの効率化:関連性の高い項目をセクションにまとめてグループ化したり、使用頻度の高いカスタムボタンを配置したりすることで、ユーザーの視線の動きやクリック数を減らし、業務プロセスをスムーズにします。
- 関連情報の集約:関連リストを配置することで、一つのレコード画面から関連する他のレコード(例えば、取引先画面から関連する取引先責任者や商談)を一覧表示し、情報の全体像を把握しやすくします。
このように、ページレイアウトの設計は、単なる見た目の問題ではなく、Salesforceの利用定着、データ品質、そして最終的にはビジネス成果に直結する重要な管理業務なのです。
原理説明
ページレイアウトの仕組みを理解するためには、いくつかの重要な構成要素と、それらがどのように連携して動作するかを知る必要があります。ページレイアウトは、Profile (プロファイル) と Record Type (レコードタイプ) という2つの要素と密接に関連しています。
まず、ページレイアウト自体が持つ構成要素を見ていきましょう。
ページレイアウトの構成要素
- Fields (項目): オブジェクトの項目をページ上にドラッグ&ドロップで配置します。項目の表示順序を変更したり、セクション内でグループ化したりできます。各項目には、必須入力や参照のみといったプロパティを設定できます。
- Sections (セクション): 関連する項目をまとめるための領域です。セクションごとに表示ラベルを付け、2列または1列のレイアウトを選択できます。ユーザーがセクションを開閉できるように設定することも可能です。
- Buttons (ボタン): 「編集」「削除」などの標準ボタンや、独自のアクションを定義したカスタムボタンの表示・非表示を制御します。
- Related Lists (関連リスト): 当該レコードに関連する子オブジェクトのレコードを一覧表示します。例えば、取引先レコードには関連する取引先責任者や商談のリストを表示できます。関連リストに表示する列、表示順、およびボタンをカスタマイズすることもできます。
- Other Elements: その他にも、Visualforce Pages (Visualforceページ)、Report Charts (レポートグラフ)、Custom Links (カスタムリンク) などを埋め込むことができ、ページの機能を拡張します。
ページレイアウトの割り当て
ユーザーにどのページレイアウトが表示されるかは、以下のルールで決定されます。
ユーザーのプロファイル + レコードタイプ = 表示されるページレイアウト
例えば、「営業」プロファイルのユーザーが「新規ビジネス」というレコードタイプの商談を作成する場合、その組み合わせに割り当てられた特定のページレイアウトが表示されます。一方で、同じ「営業」プロファイルのユーザーが「更新ビジネス」というレコードタイプの商談を開くと、異なるページレイアウトが表示されるように設定できます。これにより、同じオブジェクトでもビジネスプロセスに応じて最適な画面を提供することが可能になります。
Lightning Experience との関係
Lightning Experience (Lightning Experience) 環境では、ページレイアウトの役割が少し変化します。Lightning環境のレコードページは、Lightning Record Page (Lightning レコードページ) によって構成されます。これは、コンポーネントベースでより柔軟なページ構築を可能にするツールです。
Lightning レコードページ上の「レコードの詳細」コンポーネントの中身(項目の配置やセクション、関連リスト)は、依然として従来のページレイアウトによって制御されます。しかし、最近では Dynamic Forms (動的フォーム) という機能が登場し、項目の配置をページレイアウトから切り離し、Lightning レコードページ上で直接、コンポーネントのように柔軟に配置できるようになりました。私たち管理者にとっては、Dynamic Forms を活用することで、ユーザーに対してさらに動的で状況に応じたUIを提供できるため、積極的に学習・活用すべき機能と言えます。
サンプルコード
ページレイアウトは主にUIを通して設定しますが、その実体は XML 形式のメタデータとして定義されています。Salesforce DX や Ant 移行ツールなどの開発者ツールを使って環境間で設定を移行する場合、このメタデータファイルを直接扱うことになります。以下は、取引先 (Account) オブジェクトのページレイアウトのメタデータ (`Account-Account Layout.layout-meta.xml`) の一例です。この XML を見ることで、ページレイアウトが内部的にどのように構成されているかを理解できます。
<?xml version="1.0" encoding="UTF-8"?>
<Layout xmlns="http://soap.sforce.com/2006/04/metadata">
<!-- ページ上部に表示されるカスタムボタンのリスト -->
<customButtons>My_Custom_Button</customButtons>
<!-- このレイアウトから除外する標準ボタン -->
<excludeButtons>Submit</excludeButtons>
<!-- レイアウトのセクション定義 -->
<layoutSections>
<!-- 「Account Information」という名前のカスタムセクション -->
<customLabel>false</customLabel>
<detailHeading>true</detailHeading>
<editHeading>true</editHeading>
<label>Account Information</label>
<!-- レイアウトの列 -->
<layoutColumns>
<!-- 左側の列に配置される項目 -->
<layoutItems>
<behavior>Required</behavior>
<field>Name</field>
</layoutItems>
<layoutItems>
<behavior>Edit</behavior>
<field>ParentId</field>
</layoutItems>
</layoutColumns>
<layoutColumns>
<!-- 右側の列に配置される項目 -->
<layoutItems>
<behavior>Edit</behavior>
<field>Phone</field>
</layoutItems>
<layoutItems>
<behavior>Edit</behavior>
<field>Fax</field>
</layoutItems>
</layoutColumns>
<style>TwoColumnsTopToBottom</style>
</layoutSections>
<!-- ... 他のセクション定義 ... -->
<!-- 関連リストの定義 -->
<relatedLists>
<fields>FULL_NAME</fields>
<fields>CONTACT.TITLE</fields>
<fields>CONTACT.EMAIL</fields>
<fields>CONTACT.PHONE1</fields>
<relatedList>RelatedContactList</relatedList>
</relatedLists>
<relatedLists>
<fields>OPPORTUNITY.NAME</fields>
<fields>OPPORTUNITY.STAGE_NAME</fields>
<fields>OPPORTUNITY.AMOUNT</fields>
<fields>OPPORTUNITY.CLOSE_DATE</fields>
<relatedList>RelatedOpportunityList</relatedList>
</relatedLists>
<relatedObjects>ParentId</relatedObjects>
<!-- ミニページレイアウトに表示する項目 -->
<showEmailCheckbox>false</showEmailCheckbox>
<showHighlightsPanel>true</showHighlightsPanel>
<showInteractionLogPanel>true</showInteractionLogPanel>
<showRunAssignmentRulesCheckbox>false</showRunAssignmentRulesCheckbox>
<showSubmitAndAttachButton>false</showSubmitAndAttachButton>
<summaryLayout>
<masterLabel>00hD000000Nq2N0</masterLabel>
<sizeX>4</sizeX>
<sizeY>0</sizeY>
<summaryLayoutStyle>Default</summaryLayoutStyle>
</summaryLayout>
</Layout>
注意事項
ページレイアウトを設計・運用する際には、いくつかの注意点があります。
- 権限:ページレイアウトを作成・編集するには、プロファイルまたは権限セットで「アプリケーションのカスタマイズ」権限が必要です。この権限は強力なため、付与するユーザーは慎重に選定する必要があります。
- 割り当ての確認:新しいページレイアウトを作成したり、既存のレイアウトを更新した後は、必ず「ページレイアウトの割り当て」設定を確認し、意図したプロファイルとレコードタイプに正しく割り当てられていることを確認してください。これが最もよくある設定ミスの一つです。
- ページレイアウト vs. Lightning レコードページ:前述の通り、Lightning Experienceではこの二つの関係性を理解することが重要です。ユーザーから「項目が表示されない」という問い合わせがあった場合、ページレイアウトだけでなく、Lightning レコードページのコンポーネントの表示ルール(Component Visibility)も確認する必要があります。
- Compact Layouts (コンパクトレイアウト) との使い分け:SalesforceモバイルアプリケーションやLightning Experienceのレコードヘッダー(Highlights Panel)に表示されるキー項目は、ページレイアウトではなくコンパクトレイアウトで制御されます。ユーザーが一目で重要な情報を把握できるよう、こちらも適切に設定することが重要です。
- 変更のテスト:ページレイアウトの変更は、本番環境に適用する前に必ず Sandbox 環境でテストしてください。特に項目を必須にしたり、削除したりする変更は、既存の自動化(フローやApexトリガー)やインテグレーションに影響を与える可能性があります。
まとめとベストプラクティス
効果的なページレイアウトは、Salesforceのユーザーエクスペリエンスを劇的に向上させ、生産性を高めるための鍵です。私たち管理者は、以下のベストプラクティスを心掛けるべきです。
- ユーザー中心の設計を徹底する:技術的な観点だけでなく、常にユーザーの立場に立って設計しましょう。彼らの日常業務、ワークフロー、そして何に最も時間を費やしているかをヒアリングし、それを反映したレイアウトを作成します。「この項目は本当にこの場所で必要か?」「この関連リストはもっと上にあるべきではないか?」といった問いを常に持ち続けることが大切です。
- シンプルさを追求する:情報過多はユーザーの混乱を招きます。不要な項目はレイアウトから削除し(オブジェクトから削除するわけではありません)、本当に必要な情報だけを整理して表示しましょう。セクションを効果的に使い、情報を論理的なグループに分けることで、視認性が大幅に向上します。
- レコードタイプを戦略的に活用する:ビジネスプロセスが明確に異なる場合は、躊躇せずにレコードタイプを導入しましょう。これにより、プロセスごとに最適化されたページレイアウト、選択リスト値、入力規則を提供でき、ユーザーを正しく導くことができます。
- Dynamic Formsへの移行を検討する:新規オブジェクトの作成や既存ページのメジャーアップデートを行う際は、従来のページレイアウトの「レコードの詳細」コンポーネントに固執せず、Dynamic Formsの利用を積極的に検討しましょう。項目やセクションごとに表示条件を設定できるため、これまで複数のページレイアウトで管理していたものを、一つの動的なLightningレコードページに集約できる可能性があります。これにより、将来的なメンテナンスコストを削減できます。
- 定期的な見直しとフィードバックの収集:ビジネスは常に変化します。一度作成したページレイアウトが永遠に最適であるとは限りません。四半期に一度など、定期的に主要なユーザーグループからフィードバックを収集し、レイアウトの見直しと改善を継続的に行う文化を築きましょう。
ページレイアウトの管理は、一度設定して終わり、という作業ではありません。ビジネスの成長とユーザーの習熟度に合わせて進化させていく、継続的な改善活動なのです。この地道な努力こそが、ユーザーに愛されるSalesforce環境を構築する上で不可欠と言えるでしょう。
コメント
コメントを投稿