【Dynamics CRM】【Tool】Plugin開発のための便利ツールCRM Snoop
Dynamics CRMでPluginを開発する際に、大事な要素としてデータコンテキスト(Input・OutputParameterないしPre・PostImage)があります。
■プラグインに渡されるデータ コンテキストについて
https://msdn.microsoft.com/ja-jp/library/gg309673.aspx
自分も以前の記事でいろいろと取り上げていました。
基本的には、このデータコンテキスト、Plugin登録ツールに付属しているprofilerを通じて、Debugベースで確認することが多いかと思いますが、あまり効率的に確認することができませんし、一部RetrieveMlutipleなどのメッセージは採取しにくい場面があります。
そんなデータコンテキストを簡単にしかも素早く確認できるフリーのツール「CRM Snoop」がありましたので、メモっておきたいと思います。
公式サイト
CRM Snoopで何ができるの?
CRM SnoopはDynamics CRMにマネージドソリューションとしてインポートして扱うツールです。
インポート後に、対象のエンティティ(AccountやContact)、メッセージ(CreateやUpdate、RetrieveMlutiple)を指定し、実際のそのメッセージが発生する操作を実施することで、CRM上でそのデータコンテキストを確認することができるようになります。
以下のような感じで、デバッグしたときのDataContextがそのまま見れます!
これで、Plugin開発をする際に、わざわざ何度もデバッグして確認することなく、InputParameterの値を認識できます。
対象バージョンが2015くらいという表記がありますが、個人的にはある程度広いバージョンで使える気がします。(DataContextやPluginの仕様上)
使い方
結構単純で使いやすいツールですが、簡単に使い方をまとめておきます。
ちなみに英語しかありませんので、日本語環境にインポートすると、この手順のようにちょっとわかりづらくなります。
まず、ソリューションをインポート後、ソリューション一覧画面にカスタムボタン(英語ではSnoop Sessions)が追加されますので、これをクリックします。
CRM Snoop用エンティティが表示されますので、新規をクリック
ここで対象となるエンティティ、メッセージを選択します。
今回はAccountのCreateを指定してみました。
そのあと、わかりづらいですが、アクティブ(英語ではStart Recording)をクリックします。
すると、アニメーションするタイムラインがでてきます!
この状態で、取引先企業のデータを作成してみると
でてきました!これをクリックすることで、DataContextを確認することができます。
タイムラインで表示されるので、どのDataContextを見るべきかわかりやすいのがとても。
なお、裏側でPluginが働いて採取していると思いますので、若干動作は重くなる感じがします。
下に、以下のような感じでDataContextがデバッグの時と同じように表示されます。
InputParameterをドリルダウンしていくと、実際に私が先ほど作ったレコードの情報であることがわかります。
所感
慣れてくると、なんとなくDataContextはイメージしやすいものですが、使ったことが無いメッセージ、エンティティ、PartyListなどといったオブジェクトが出てくると、結構戸惑うものです。
でも、CRM Snoopを使うことで、Pluginの詳細設計前にこのような形であたりを付けやすくなりますので、結構作業の効率化に寄与できるんじゃないでしょうか。
もちろん、開発中にも動作確認・課題点の調査にも扱いやすいものかと思います。
また、インターフェースも素晴らしいので、ぜひ広まってほしいかなと思えるツールです。