オブジェクト種別の概要を知る
学習の目的
この単元を完了すると、次のことができるようになります。
- 商品オブジェクト種別の利点を挙げる。
- 商品デザイナーにおけるオブジェクト種別の機能について説明する。
- オブジェクト種別のレイアウトとセクションを使用してデータ要素を整理する方法を説明する。
- 共有カタログにおけるオブジェクト種別の継承の仕組みを説明する。
- さまざまな業界がオブジェクト種別をどのように使用して商品をモデル化しているかを簡潔に説明する。
繰り返し使える商品種別
Infiwave で商品設計を担当する Devi Jacob は、共有カタログの使い方を学んでいます。すでに商品デザイナーを使って、商品を構築するにあたっての基礎コンポーネントである選択リストと属性の作成を終えました。
次のステップとして、これらのコンポーネントをオブジェクト種別 (共有カタログで繰り返し利用できるエンティティ) に追加して使用します。そうすることで、Devi は類似する特徴を持つすべての商品クラスを迅速に構築できます。まもなく Devi も実感することになりますが、オブジェクト種別の階層をしっかりと整備していれば、新商品ラインを簡単かつ迅速にカタログに組み込めます。
商品オブジェクト種別
商品オブジェクト種別とは、特定カテゴリの商品のスキーマを定義する、繰り返し使用できるエンティティです。オブジェクト種別を使用すると、項目や属性を含むレイアウトやプロパティをカタログ内の複数の商品に適用できます。オブジェクト種別は、関連する商品の構成を整理し、商品ライン全体で一貫したデータ、動作、ルールを適用するのに効果的な手段です。オブジェクト種別のサブ種別を作成して、より具体的な商品情報に対応することも可能です。
では、オブジェクト種別はどのように設定し、使用するのでしょうか? オブジェクト種別を設定するには、特定の商品種別の項目や属性など、オブジェクト種別に必要なすべてのメタデータを追加し、整理します。オブジェクト種別を使用するには、新規のオファーまたは仕様を作成し、参照項目を通じて関連するオブジェクト種別を適用します。商品には、オブジェクト種別のメタデータのレイアウトが自動的に継承されます。このため、新しい商品のデータを設定する際に貴重な時間を節約できます。
こちらは、Infiwave が提供するタブレットの商品画面の [Details (詳細)] タブです。
商品に [Tablet (タブレット)] オブジェクト種別のレイアウトが継承されるよう、オブジェクト種別が [Tablet (タブレット)] に設定されています。
レイアウトとセクション
オブジェクト種別には、商品の属性と項目を保持するレイアウトが含まれます。レイアウトは、商品データの見た目を整理するためのページテンプレートだと考えてください。レイアウトでセクションを構成し、さまざまな要素を論理的な配置にグループ分けできます。セクションにはそのセクションの内容を説明するヘッダーがあり、要素が 1 列または 2 列で表示されます。
こちらがオブジェクト種別の [Layout Management (レイアウト管理)] タブです。
このタブには、[General Properties (一般属性)]、[Effectivity (有効性)]、[Design Time Attributes (設計時属性)]、[Run Time Attributes (実行時属性)] の 4 つのセクションがあります。それぞれのセクションには、一連の項目と属性が含まれます。
オブジェクト種別の継承
次に、オブジェクト種別や商品の作成において、データの継承が果たす役割を見ていきます。共有カタログでは、継承機能を使用して商品のカテゴリやサブカテゴリを作成します。
共有カタログの継承モデルの図をご覧ください。種の進化を示すチャートや家系図に似ていますね。
[Product2] オブジェクトには、オブジェクト種別、サブ種別、商品が含まれます。レベル 1 (ベースオブジェクト種別) の属性と項目のレイアウトは、レベル 2 のオブジェクトサブ種別に引き継がれ、さらに最終的には、これらのサブ種別を使用して作成する商品にも引き継がれます。では、それぞれの階層を詳しく見てみましょう。
[Product2] オブジェクト
[Product2] オブジェクトには、共有カタログに商品情報を保存するオブジェクト種別の階層が含まれています。[Product2] はデフォルトの Salesforce オブジェクトです。共有カタログ内のオブジェクトは、Salesforce のレコード種別と似ていますが、より充実した機能を備えています。Industries CPQ (設定、価格、見積) では、[Product2] がすべての商品レコードを保持する主オブジェクトです。[Product2] に追加した項目はすべて、商品を新規作成する際の初期設定画面に表示されます。
Base Object Type (ベースオブジェクト種別)
商品のオブジェクト種別の作成に取りかかる前に、数分の時間を取ってベースオブジェクト種別を作成することを強くお勧めします。ベースオブジェクト種別は、カタログ内のすべての商品で共通して使用するあらゆる項目を含む、主オブジェクト種別です。[Product Description (商品説明)] や [SKU] をはじめとする、お客様のビジネス目標に沿った共通の情報の項目がこれに含まれます。項目と属性の違いと、それぞれどのような場合に使用するかについては、Trailhead の「Industries の選択リストと商品属性」モジュールを参照してください。
オブジェクトサブ種別
ベースオブジェクト種別を設定したら、その後に作成するオブジェクト種別を、ベースオブジェクト種別の設定を自動的に継承するように設定できます。その後、必要に応じて、これらの設定にサブ種別を設け、追加の項目や属性を加えて企業ごとの商品カテゴリを反映できます。こうして階層を増やしていきます。さらにサブ種別のサブ種別を作成することで、階層が進むほど複雑になる構造で、各商品ラインに必要な情報をテンプレート化できます。
業種別に見るオブジェクト種別の階層の例
オブジェクト種別の階層は、特定の業界や商品モデルに合わせて作成できます。いくつか例を紹介しましょう。
通信
通信サービスプロバイダーやそのパートナーおよびサプライヤーは、一般的に、TeleManagement (TM) Forum の Shared Information Data (SID) モデルに沿って共有カタログを使用します。このモデルでは、繰り返し使用できる商品、サービス、リソースの仕様を採用します。
この図では、オブジェクト種別の階層に、それぞれの仕様種別に対応するベースオブジェクト種別が含まれています。
この例では、商品、サービス、リソースのオブジェクト種別が、[DSL Modem (DSL モデム)]、[Cloud Storage (クラウドストレージ)]、[IP Address (IP アドレス)] の仕様を作成するためのテンプレートとして機能します。また、バンドル商品に共通するデータを保存するシンプルな [Base Bundle Offer (ベースバンドル商品)] オブジェクト種別もあります。
メディア
この図は、テレビ商品の作成を効率化するため、一部のメディア企業で採用されているオブジェクト種別の設定を示しています。
この例では、[TV (テレビ)] オブジェクト種別に、[TV Plan (テレビプラン)]、[TV Channel (テレビチャンネル)]、[TV Equipment (テレビ機器)] のサブ種別が含まれます。TM Forum の SID モデルとは異なり、商品設計者は、これらのオブジェクト種別を仕様ではなく、販売可能なオファーに直接適用します。[TV Bundle (テレビバンドル)] 商品は、[Base Bundle Offer (ベースバンドルオファー)] オブジェクト種別を使用します。
エネルギーおよび公益事業
この図は、商品、請求コンポーネント、単価、およびデバイスの作成を迅速化するため、一部のエネルギーおよび公益事業会社で採用されているエンタープライズ商品カタログ (EPC) におけるオブジェクト種別およびサブ種別の設定を示しています。
この例では、[Base Commodity (ベース商品)] オブジェクト種別に、[Standing Charge Component (固定料金コンポーネント)]、[Unit Rate Component (単価コンポーネント)]、[Device (デバイス)] の 3 つのサブ種別が含まれています。商品設計者は、これらのオブジェクト種別を [Standing Charge (固定料金)]、[Unit Rate (単価)]、[Smart Meter (スマートメーター)] の各商品に適用します。[Clean Energy Bundle (クリーンエネルギーバンドル)] は、[Base Commodity (ベース商品)] オブジェクト種別のメタデータを継承します。
Infiwave スマートウォッチの例
Infiwave の新しいスマートウォッチ商品には、スマートフォンなど、カタログに含まれる他のモバイルデバイスとの共通点が多いことを知っている Devi は、次の図を作って作業方針を立てます。
Devi は、まず [Base Product (ベース商品)] オブジェクト種別のサブ種別を作成し、[Mobile Device (モバイルデバイス)] という名前を付けます。このサブ種別は、ベースオブジェクト種別に含まれるすべての標準項目を継承します。Devi は、この新しいサブ種別に [Brand (ブランド)]、[Color (色)]、[Capacity (容量)]、[Connection (接続)]、[Mobile OS (モバイル OS)] など、モバイルデバイスに固有のすべての属性を割り当てます。
次に、[Smartwatch (スマートウォッチ)] オブジェクトサブ種別を作成し、[Device (デバイス)] をその親オブジェクト種別に設定します。ここでも、ベース商品のレイアウトの項目と、[Smartphone (スマートフォン)] オブジェクト種別に含まれるその他の項目や属性が、自動的に新しいサブ種別に引き継がれます。
画像からわかるように、Devi は次に、スマートウォッチ商品用に作成した属性 ([Band Type (バンドの種類)]、[Connectivity (接続)] など) をサブ種別に追加します。
このとき、もし [Smartwatch (スマートウォッチ)] サブ種別を構築し終えてから、Devi が [Device (デバイス)] 親オブジェクト種別に項目や属性を追加し忘れていたことに気付いた場合はどうなるのでしょうか? 問題ありません。親オブジェクト種別に新たに割り当てられた項目と属性は、既存のサブ種別でも動的に更新されます。ただし、一定の条件があります。Salesforce では、オブジェクト種別階層全体で一貫性を維持するため、重要なガードレールを採用しています。そのため、サブ種別の親オブジェクト種別から継承されたコンポーネントを削除する場合、Devi はそのコンポーネントを親オブジェクト種別から削除するか、商品レベルで無効化する必要があります。
レイアウトの継承は、やや仕組みが異なります。サブ種別は属性と項目を動的に継承しますが、レイアウトとセクションはディープコピーによって継承されます。つまり、親オブジェクト種別の初回作成後にレイアウトに変更を加えても、その変更は下位の階層には反映されないということです。この仕組みの利点は、既存の子オブジェクト種別の項目や属性の変更を考慮することなく、親オブジェクト種別のレイアウトに項目や属性を追加または削除できるところにあります。
オブジェクト種別を設定し終えた Devi の最後のステップは、顧客に販売する Infiwatch の商品レコードの作成です。[Smartwatch (スマートウォッチ)] サブ種別を商品オブジェクトに紐付けて、オブジェクト種別のインスタンスを作成します。あらかじめ設定したレイアウト、属性、項目をすばやく適用できるので、この商品を含め今後発売されるスマートウォッチ商品オブジェクトの作成は簡単です。「完成だ!」と Devi は喜びの声を上げます。
これで、共有カタログにおけるオブジェクト種別とサブ種別の基本的な仕組みについて理解できました。次の単元では、これらの柔軟で時間の節約につながるエンティティを商品デザイナーで設定する方法を学びます。
リソース
- Salesforce ヘルプ: Object Types and Guidelines (オブジェクト種別とガイドライン)
- Salesforce ヘルプ: Create New Versions of Object Types (オブジェクト種別の新しいバージョンを作成する)