1. DynamicsからSitecoreへの追加データのマッピング

チュートリアル: カスタム連絡先ファセットの作成

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore Experience Platformでは、コンタクト ファセットを使用してコンタクトのデータを保存します。このチュートリアルでは、カスタム取引先担当者ファセットを作成し、Microsoft Dynamics 365 for Salesからのデータをファセットに入力する同期プロセスを構成するプロセスについて説明します。

この例では、取引先担当者が関連付けられている取引先企業の名前を格納するカスタム取引先担当者ファセットを作成します。従う必要がある手順は次のとおりです。

Visual Studioプロジェクトを作成する

コンタクトにカスタムデータを保存するには、コンタクトファセットが必要です。コンタクトファセットはコードで実装されます。カスタム連絡先ファセットを実装する前に、Visual Studioプロジェクトが必要です。

  1. Visual Studioで、次のプロジェクトを作成します。

    プロジェクトの種類

    クラス ライブラリ (.NET Framework)

    .NETバージョン

    .NETフレームワーク4.6.2

    プロジェクト名

    例。Connectをクリックします。動力学

  2. 次のNuGetパッケージへの参照を追加します。

    • Sitecore.DataExchange.Tools.DynamicsConnect.NoReferences

    • Sitecore.XConnect.NoReferences

メモ

Sitecoreの公開NuGetフィードはhttps://sitecore.myget.org/gallery/sc-packagesで利用できます。

コンタクトファセットを実装する

各Dynamics連絡先は、アカウントに関連付けられています。取引先担当者に取引先企業名を保存するには、取引先担当者ファセットが必要です。

  • Visual Studioで、次のクラスを追加します。

    using Sitecore.XConnect;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Examples.Connect.Dynamics
    {
        [FacetKey(DefaultFacetKey)]
        [Serializable]
        public class DynamicsAccountInformationFacet : Facet
        {
            public const string DefaultFacetKey = "DynamicsAccount";
            public string AccountName { get; set; }
            public DynamicsAccountInformationFacet()
            {
            }
        }
    }

コレクション モデルを実装する

xConnectでは、コレクション モデルによって、使用可能なコンタクト ファセットが定義されます。カスタムコンタクトファセットにデータを保存する前に、カスタムコンタクトファセットを含むコレクションモデルが必要です。

  • Visual Studioで、次のクラスを追加します。

    using Sitecore.DataExchange.Tools.DynamicsConnect.Models;
    using Sitecore.XConnect;
    using Sitecore.XConnect.Schema;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Examples.Connect.Dynamics
    {
        public class DynamicsConnectCollectionModelEx
        {
            public DynamicsConnectCollectionModelEx()
            {
            }
            static DynamicsConnectCollectionModelEx()
            {
                _model = BuildModel();
            }
            private static XdbModel _model = null;
            public static XdbModel Model { get { return _model; } }
            private static XdbModel BuildModel()
            {
                var builder = new XdbModelBuilder(typeof(DynamicsConnectCollectionModelEx).FullName, new XdbModelVersion(1, 0));
                builder.DefineFacet<Contact, DynamicsAccountInformationFacet>(DynamicsAccountInformationFacet.DefaultFacetKey);
                builder.ReferenceModel(DynamicsConnectCollectionModel.Model);
                return builder.BuildModel();
            }
        }
    }

コレクション モデルを登録する

カスタムコレクションモデルは、使用する前に登録する必要があります。これには、いくつかのSitecoreサーバー ロールのコンポーネントと設定の更新が含まれます。

カスタムコンポーネントのデプロイ

カスタム接触ファセットとコレクション モデルを含むアセンブリは、Sitecoreサーバーにデプロイする必要があります。

  1. Visual Studioプロジェクトをビルドします。

  2. Examples.Connect.Dynamics.dllをSitecoreサーバーにコピーします。

コレクション モデル定義を追加する

コレクション モデルはSitecore内で定義する必要があります。

手記

カスタムデータプロバイダは、コレクションモデルで定義されたファセットを公開します。これにより、利用可能なものをユーザーに表示し、ユーザーが誤って無効な値を入力する変更を減らすことで、xConnectエンティティを含むデータ マッピングを簡単に構成できます。

  1. Sitecoreコンテンツ エディタで、Sitecore/System/Settings/Data Exchange/Providers/xConnect/Collection Modelsに移動します。

    Collection Models in the content tree
  2. 次の項目を追加します。

    テンプレート

    コレクションモデルフォルダ

    アイテム名

    カスタムモデル

  3. 新しいコレクション モデル フォルダー アイテムに、次のアイテムを追加します。

    テンプレート

    コンパイルされたコレクションモデル

    アイテム名

    Dynamicsのカスタム コレクション モデル

  4. 新しいコンパイル済みコレクション モデル項目のContentタブのSettingsセクションで、次のフィールド値を設定します。

    価値

    コレクションモデルタイプ

    例。Connectをクリックします。Dynamics.DynamicsConnectCollectionModelEx、例。Connectをクリックします。動力学

  5. アイテムを保存します。

コレクション モデルのデプロイと変換

カスタム データをxConnectに送信する前に、コレクション モデルをxConnectにデプロイする必要があります。これは、コレクションモデルを記述するJSONファイルをコピーすることによって実現されます。

  1. カスタムコレクションモデルに移動します。リボンの Data Exchange タブで、Convert Model to Itemsをクリックします。次に、「 Convert Model to JSON」をクリックします。

    Convert Model to JSON button
  2. モデルファイルを保存します。

  3. モデルファイルを次のサーバーにデプロイします。

    • xConnectコレクション

    • xConnectインデックス作成

xConnectクライアント エンドポイントの設定

xConnectに接続するには、コレクション モデルを指定する必要があります。これにより、xConnectとxConnectクライアントは、互いに何を期待すべきかを正確に把握できます。

  1. Sitecoreコンテンツ エディタで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

    Tenant selection in content tree
  3. Endpoints/Provider/xConnect/xConnect Client Endpointに移動します。

    xConnect Client Endpoint in content tree
  4. 次のフィールド値を設定します。

    価値

    コレクションモデル

    Collection Models/Custom Models/Custom Collection Model for Dynamics

構成をテストする

設定をテストすると、コレクション モデルがデプロイされ、xConnectクライアント エンドポイントが適切に設定されていることを確認できます。テストを実行するには:

  • リボンで、Run Troubleshooterをクリックします。

    Run Troubleshooter button

xConnectコレクション サービスへの接続が確立されたことを知らせるメッセージが表示されます。

Connection successfully established message

Dynamics連絡先からの読み取り方法を指定します

テナントは、Dynamicsから読み取られるデータの構造を理解するように構成する必要があります。このセクションでは、この情報を組み込むためにテナントを更新する方法について説明します。

値アクセサーは、取引先企業がDynamicsの取引先担当者のプロパティであることを表すために使用されます。この値アクセサーには、いくつかの目的があります。

  • Dynamicsから取引先担当者を読み取る場合は、取引先担当者の取引先企業を含めるようにDynamicsに指示する必要があります。値アクセサ セット内の値アクセサは、連絡先オブジェクトのどのフィールドを読み取るかを決定するために使用されます。値アクセサーを追加すると、Dynamicsから追加のフィールドを読み取るように指定できます。

  • DynamicsからSitecoreへのデータのマッピングを設定するときは、値アクセサーを使用して、Dynamics連絡先から読み取る値を指定します。

取引先責任者の取引先に値アクセサを追加するには:

  1. Sitecoreコンテンツ エディタで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Data Access/Value Accessor Sets/Providers/Dynamics/Dynamics Contactに移動します。

    Dynamics Contact in content tree
  4. 次の項目を追加します。

    テンプレート

    エンティティ属性値アクセサ

    アイテム名

    Dynamics連絡先のアカウント

  5. 新しい項目のContentタブのAttributeセクションで、次のフィールド値を設定します。

    価値

    属性名

    親顧客ID

    値の種類

    書式設定された値

  6. アイテムを保存します。

Contactファセットへの書き込み方法を指定します

  1. Sitecoreコンテンツ エディタで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Data Access/Value Accessor Sets/Providers/xConnectに移動します。

    xConnect provider in content tree
  4. 次の項目を追加します。

    テンプレート

    xConnectエンティティ ファセット値アクセサ セット

    アイテム名

    xConnect Contact Dynamicsアカウント情報ファセット

  5. 新しいアイテムに、次のアイテムを追加します。

    テンプレート

    xConnectエンティティ ファセット プロパティ値アクセサー

    アイテム名

    Dynamicsアカウント情報のアカウント名、xConnect Contactのファセット

  6. 新しい項目のContentタブのSettingsセクションで、次のフィールド値を設定します。

    価値

    ファセットプロパティ

    Collection Models/Custom Models/Custom Collection Model for Dynamics/Facets/Contact/DynamicsAccount/AccountName

  7. アイテムを保存します。

Dynamicsデータを連絡先ファセットにマッピングする

  1. Sitecoreでコンテンツ エディターを開きます。

  2. Sitecore/System/Data Exchangeに移動します。

  3. テナントを選択します。

  4. Value Mapping Sets/Dynamics to xConnect Contact Mappingsに移動します。

    Value Mapping Sets in content tree
  5. 次の項目を追加します。

    テンプレート

    値マッピングセット

    アイテム名

    Dynamics Contact to xConnect Contact Dynamicsアカウント情報ファセット

  6. 新しいアイテムに、次のアイテムを追加します。

    テンプレート

    バリューマッピング

    アイテム名

    アカウント名

  7. 新しい項目のContentタブで、次のフィールド値を設定します。

    価値

    ソース アクセサー

    Data Access/Value Accessor Sets/Providers/Dynamics/Dynamics Contact/Account on Dynamics Contact

    ターゲット

    ターゲット アクセサー

    Data Access/Value Accessor Sets/Providers/xConnect/xConnect Contact Dynamics Account Information Facet/Account Name on Dynamics Account Information Facet on xConnect Contact

  8. アイテムを保存します。

コンタクトファセットをコンタクトにマッピングします

  1. Sitecoreコンテンツ エディタで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Data Access/Value Accessor Sets/Providers/xConnect/xConnect Contactに移動します。

    xConnect Contact in content tree
  4. 次の項目を追加します。

    テンプレート

    xConnectエンティティ ファセット値アクセサー

    アイテム名

    xConnect ContactのDynamicsアカウント情報ファセット

  5. 新しい項目のContentタブのSettingsセクションで、次のフィールド値を設定します。

    価値

    ファセットの定義

    Collection Models/Custom Models/Custom Collection Model for Dynamics/Facets/Contact/DynamicsAccount

    マッピングセット

    Value Mapping Sets/Dynamics to xConnect Contact Mappings/Dynamics Contact to xConnect Contact Dynamics Account Information Facet

  6. アイテムを保存します。

  7. テナントを選択します。

  8. Value Mapping Sets/Dynamics to xConnect Contact Mappings/Dynamics Contact to Contact Modelに移動します。

    Dynamics to xConnect contact mappings in content tree
  9. 次の項目を追加します。

    テンプレート

    バリューマッピング

    アイテム名

    Dynamicsアカウント情報ファセット

  10. 新しい項目のContentタブで、次のフィールド値を設定します。

    価値

    ソース アクセサー

    Data Access/Value Accessors/Common/Value Accessor with Raw Value Reader Set

    ターゲット

    ターゲット アクセサー

    Data Access/Value Accessor Sets/Providers/xConnect/xConnect Contact/Dynamics Account Information Facet on xConnect Contact

  11. アイテムを保存します。

パイプラインに新しいファセットを追加する

新しいファセットの情報を処理するには、Read Contacts from xConnectパイプラインとProcess Single Contact from Dynamicsパイプラインに情報を追加する必要があります。

フィールドをRead Contacts from xConnectパイプラインに追加するには:

  1. Sitecoreコンテンツ エディタで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Pipelines/xConnect Contacts to Dynamics Sync Pipelines/Read Contacts from xConnect Pipeline/Read Contacts from xConnectに移動します。

  4. ContentタブのContact SettingsセクションのContact facets to Readフィールドで、Selected列にxConnect Contact Dynamics Account Information Facetを追加します。

  5. パイプライン ステップを保存します。

ファセットをProcess Single Contact from Salesforceパイプライン ステップに追加するには、次のようにします。

  1. Sitecoreコンテンツ エディタで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Pipelines/Dynamics Contacts to xConnect Sync Pipelines/Process Single Contact from Dynamics Pipeline/Resolve Contact Model by Dynamics Id from xConnectに移動します。

  4. ContentタブのxConnect SettingsセクションのFacets to Readフィールドで、Collection Models/Custom Models/Custom Collection Model for Dynamics/Facets/Contact/DynamicsAccountを見つけます。 Selected列に追加します。

  5. パイプライン ステップを保存します。

この記事を改善するための提案がある場合は、 お知らせください!