[Sitecore Integration]Dynamics CRM Save Actionsをインストールするで、Dynamics CRM Campaign Integration for WFFM 2.0.0 rev. 130731モジュールをインストールしました。本モジュールをインストールして設定を行うと、WFFMのフォームで入力したフィールドの情報を使用して、Dynamics CRMのコンタクトエンティティ(取引先担当者) や アカウントエンティティ(取引先企業) のレコードを作成したり更新することができるようになります。また、任意のエンティティのレコードを WFFM(Web Forms for Marketers)のフォームのフィールドを使用して作成できるようになります。

今回は、インストールしたモジュールを構成するメモを記載します。

検証環境の前提として CRM Security Provider がインストールされていることとします。Security Providerのインストールに関しては SDNのサイトか[Sitecore Integration] CRM Security Provider をインストールするを参照してください。

検証環境

  • Windows Server 2012 上に Dynamics CRM 2011, Sitecore CMS 6.6 がインストールされた環境

  • Microsoft Dynamics CRM Security Provider 2.0.0 rev. 130731をインストールと構成済み

  •  Web Forms for Marketers module v2.3.0 rev.130118 インストールと構成済み

  • Dynamics CRM Campaign Integration for WFFMのversion - Dynamics CRM Campaign Integration for WFFM 2.0.0 rev. 130731

Dynamics CRM Save Actions の構成に関する詳細はSDNのサイトをご参照ください。

Dynamics CRM Save Actions User Guide 
http://sdn.sitecore.net/Products/Dynamics%20CRM%20Campaign%20Integration/DCRMCI20/Documentation.aspx

1. Dynamics CRM Save Actions の構成

Dynamics CRM と連携するためには接続文字列をConnectionStrings.config に記載します。接続文字列は[Sitecore Integration]CRM Security Provider を構成するで設定した接続文字列の設定を使用しました。設定例は次のようになります。接続文字列の名前は CRMConnString です。

<add name="CRMConnString" connectionString="CRM:url=http://crm-w2k12:5555/dyn2/XRMServices/2011/Organization.svc;user id=SCCRM\aaaa;password=xxx;organization=dyn2;authentication type=0"/>

CRM連携で使用する Dynamics CRMの展開ごとの接続文字列の構成方法に関してはSDNのドキュメントが参考になると思います。

Dynamics CRM Security Provider Module Guide
http://sdn.sitecore.net/Products/Dynamics%20CRM%20Campaign%20Integration/DCRMCI20/Documentation.aspx

Dynamics CRM Save Actions(Dynamics CRM Campaign Integration for WFFM)の構成は以上で完了です。

2.コンタクトやアカウントエンティティを作成するか更新するかの判定に使用するフィールド

Dynamics CRM上にレコードが存在するかを判定する属性に何を使用するかは、 保存アクションの定義アイテムで設定されています。CRM連携用の Save Actionの定義アイテムは下図のように /sitecore/system/Modules/Web Forms for Marketers/Settings/Actions/Save Actions/ に配置されています。Create CRM Account, Create CRM Contact, Create CRM Entity がCRM連携用の Save Actionの定義アイテムになります。

Create CRM Contact アクションの場合はアクションの定義アイテムの Primary Field に emailaddress1 (電子メール)が設定されている。Create CRM Accountの場合は name になっています。Create CRM Entity はブランク(null)になっています。この設定は変更することができます。

以上の設定や確認が終わったら、いったん 日本語、英語をパブリッシュしておきます。

3.動作確認

フォームを作成して、保存アクションを設定してみます。適当に下図のようなWFFMのフォームを作成して保存アクションを編集ます。

例えば、下図のように保存アクションで Create CRM Contact を選択して、追加ボタンをクリックすると contact エンティティを作成/更新 するアクションを追加できます。編集するには、 Create CRM Contact を選択して 編集ボタンをクリックします。

Create CRM Contact の編集画面が表示されます。コンタクトエンティティの必須フィールドが下図左側のツリーに表示されます。それ以外のフィールドを追加したい場合は 追加 ボタンをクリックしてください。

フォームの値を設定したい場合は、左のツリーで連携させたいエンティティのフィールドを選択して、フィールドの設定の欄で連携するフォーム上のフィールドを選択します。手動での固定値を入力することもできます。

下図ではコンタクトエンティティの姓フィールドにフォームの姓のフィールドを連携するように設定しています。必須以外のフィールドと連携する場合は、追加をクリックします。

追加をクリックすると 下図のようにフィールドを選択するダイアログが表示されます。ここで、チェックすることで、連携用のフィールドとして使用できるようになります。

Create cRM Contact 画面に戻るとチェックしたフィールドがツリーに表示されます。Lookup(検索)型のフィールドにはCRM上のレコードを設定することもできます。その場合は固定のエンティティのレコードと関連付けることになります。下図では実際にcustomer型のフィールドにテスト コンタクト という固定のコンタクトエンティティを設定している例になります。フォーム用のキャンペーンエンティティのレコードと関連付けをするといった使い方ができます。

上図では、さらに既存のレコードを更新セクションで、フィールドがすでに値が設定されている場合上書きを行うようにチェックをつけていますし、"監査情報を次の場所に保存する"に説明(Description)フィールドを設定することで監査情報が出力されるようになります。監査情報の出力はntext型のフィールドのみ指定できます。本設定を行うと、WFFMからSave Actionで連携したときのフィールドの設定値情報がフィールドに追記されるようになります。

フォームの保存アクションの編集が完了したら、変更を保存してパブリッシュを行います。Save Actionsモジュールをインストールしてまだパブリッシュをしていない場合は、日本語、英語両方を選択してサイトのパブリッシュを行ってください。

実際に外部サイトからフォームに値を入力してみます。送信ボタンをクリックします。

送信を行うとCRMへレコードが作成されます。下図が作成された取引先担当者エンティティのレコードの例となります。フォームのフィールドが連携されていることが確認できます。

説明フィールドには、監査情報が追記されます。

所有者は連携用のユーザーが設定されます。そのほかOptionSet型のフィールドやboolean 型のフィールドにもフォームで入力した値が連携できていることがわかります。

 

4.まとめ

説明は以上です。本例では Create CRM Contact を使って連携の動作確認を行いました。そのほか、 Create CRM AccoutやCreate Crm Entity を使った連携やより詳細なカスタマイズ方法に関しては冒頭で紹介したSDNのドキュメント"Dynamics CRM Save Actions User Guide"を参照してください。