チュートリアル : コードを使用したデータ マッピングの定義
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Data Exchange Frameworkを使用する場合、データをマッピングするための標準的なアプローチは、テナントでマッピングを構成することです。多くの場合、このアプローチは、必要なカスタムコードの量を減らすため、うまく機能します。特定のマッピングは、コードを記述することなく、必要に応じて追加または削除できます。
ただし、マッピング ロジックが複雑すぎて、構成で記述できない場合があります。また、既存のデータマッピングロジックを再利用する必要がある場合もあります。このような場合は、コードを使用してデータ マッピングを定義する必要があります。
このチュートリアルでは、コードベースのデータ マッピングを実装するために必要なコンポーネントを構築、配置、および統合する方法について説明します。
-
データ マッピング用のVisual Studioプロジェクトを作成する
-
カスタム値マッピングセットを実装する
-
カスタム値マッピングセットのテンプレートの作成
-
カスタム値マッピングセットのコンバーターを実装する
-
カスタム値マッピングセットの統合
データ マッピング用のVisual Studioプロジェクトを作成する
データ マッピング用のVisual Studioプロジェクトを作成する
データ マッピング ロジックを実装するには、Microsoft Visual Studioプロジェクトが必要です。
プロジェクトを作成するには:
-
Visual Studioで、次のプロジェクトを作成します。
Project type
Class Library (.NET Framework)
.NET version
.NET Framework 4.7.1
Project name
Examples.DataExchange
-
次のNuGetパッケージへの参照を追加します。
-
Sitecore.DataExchange
-
Sitecoreの公開NuGetフィードはhttps://nuget.sitecore.com/resources/v3/index.jsonで入手できます。
カスタム値マッピングセットを実装する
カスタム値マッピングセットを実装する
データ同期プロセスでは、値マッピングセット によって、ソースオブジェクトからターゲットオブジェクトへのデータのマッピングが制御されます。通常、データ・マッピングを構成するには、個々の 値マッピングを 値マッピング・セットに割り当てます。ただし、データ マッピング ロジックが非常に複雑な場合は、代わりにコードを使用してデータ マッピングを制御できます。これを行うには、データ マッピングを決定するコードを実装するカスタム値マッピング セットを作成する必要があります。
このトピックのコード例では、次のデータ マッピング ロジックを実装します。
-
ソース オブジェクトからNameプロパティを読み取ります。
-
ターゲット オブジェクトのDescriptionプロパティに書き込みます。
-
ターゲット オブジェクトのLastUpdatedプロパティに現在の日付を設定します。
カスタム値マッピングセットを作成するには:
-
Visual Studioで、次のクラスを追加します。
カスタム値マッピングセットのテンプレートの作成
カスタム値マッピングセットのテンプレートの作成
カスタム値マッピング・セットを使用するようにデータ同期プロセスを構成するには、テンプレートを作成して構成する必要があります。
すべての値マッピングはコードで行われるため、ユーザーがカスタム値マッピング セットの下に値マッピング項目を追加できるようにする理由はありません。
新しいテンプレートを追加し、値マッピングを挿入するオプションを削除するには:
-
コンテンツ エディターで、Templatesに移動します。リボンの ホーム タブの 挿入 グループで、新しいテンプレート をクリックします。

-
Select nameダイアログで、次の値を入力します。
Name
Custom Value Mapping Set
Base template
Templates/Data Exchange/Framework> Data Access > Mapping > Value Mapping Set
-
「 Next」をクリックします。 Locationダイアログで、「 Templates/Data Exchange/Framework/Data Access/Mapping」を選択します。

-
「 Next」をクリックします。確認ダイアログで、「 Close」をクリックします。
-
新しいテンプレートのアイコンを設定するには、コンテンツ ツリーでテンプレート ( Templates/Data Exchange/Framework/Data Access/Mapping/Custom Value Mapping Setなど) を選択します。
-
右側のペインのContentタブで、タイトル の横にあるアイコンをクリックします。
-
Change Iconダイアログの「Icon」フィールドに、たとえば「Office/32x32/vector_circle.png」と入力します。
-
テンプレート アイテムを選択した状態で、リボンのBuilder OptionsタブのTemplateグループでStandard valuesをクリックします。
-
新しい __Standard Values項目を選択した状態で、リボンのConfigureタブのInsert OptionsグループでAssignをクリックします。
-
Insert Optionsダイアログの右側のリストで、Value Mappingをクリックします。

-
左矢印 (
) をクリックして、SelectedリストからValue Mappingを削除します。OKをクリックして変更を保存します。
カスタム値マッピングセットのコンバーターを実装する
カスタム値マッピングセットのコンバーターを実装する
Data Exchange Frameworkでは、Sitecoreアイテムは設定にのみ使用されます。データ同期プロセスが実行されると、設定はSitecoreアイテムから読み取られ、フレームワーク コンポーネントに変換されます。
カスタム値マッピング セット テンプレートのアイテムIDを使用して、カスタム コンバーター クラスを実装する必要があります。
カスタムコンバータを実装するには:
-
コンテンツ エディターで、/sitecore/templates/Data Exchange/Framework/Data Access/Mapping/Custom Value Mapping Setに移動します。
-
リボンのContentタブのQuick Infoセクションで、Item ID値をコピーします。

-
カスタム コンバーター クラスを作成するには、Visual Studioで次のクラスを追加します。
手記属性SupportedIdsでは、前の手順でコピーしたテンプレート アイテムIDを使用します。
-
コードをデプロイするには、Visual Studioプロジェクトをビルドします。
-
Examples.DataExchange.dllファイルをSitecoreサーバーにコピーします。
カスタム値マッピングセットの統合
カスタム値マッピングセットの統合
最後のステップは、カスタム値マッピングセットをData Exchange Frameworkに統合することです。
データ同期プロセスを構成するときは、新しいテナントを作成するときにカスタム値マッピング セットを使用します。既存のテナントの場合は、現在使用されている値マッピング セットをカスタム値マッピング セットに置き換えます。
カスタムコンバータとカスタム値マッピングセットを使用するようにテンプレートを設定するには:
-
コンテンツ エディターで、/sitecore/templates/Data Exchange/Framework/Data Access/Mapping/Custom Value Mapping Set/__Standard Valuesに移動します。
-
ConfigureタブのData Exchange Frameworkセクションで、次のフィールド値を設定します。
畑
価値
Converter Type
Examples.DataExchange.CustomMappingSetConverter,Examples.DataExchange
-
メニュー リボンのConfigureタブのInsert Optionsグループで、Assignをクリックします。
-
Insert Optionsダイアログの左側のツリーで、Templates/Data Exchange/Framework/Data Access/Mapping/Custom Value Mapping Setに移動します。右矢印 (
) をクリックして、セットをSelectedリストに追加します。
-
「 OK」をクリックします。