Udostępnij za pośrednictwem


Dynamics CRM 2011 現在のリボン定義を確認する方法

みなさん、こんにちは。

関東はいよいよ本格的に寒くなり、まわりでも風邪が流行っているようです。
みなさんはいかがお過ごしでしょうか?

今回は開発関連トピックとして、現在のリボンの定義を確認する方法を紹介します。
Dynamics CRM 2011 では、リボンやフォームなど、一部のコンポーネントで差分の
開発スタイルを採用しています。そのため、現状の情報を把握しつつ開発することが
必要となります。

しかし、複数のソリューションが混在する場合や、リボンのように定義が多岐に
わたるコンポーネントの場合、自分の開発が、結果どのように反映されているかを
確認したい場合があります。

現在のリボン定義のエクスポート方法

提供されているサンプルを利用すると、簡単に現在のリボン定義をエクスポート
することが出来ます。

全てのリボンを出力

以下の手順で操作を行ってください。

1. Visual Studio 2010 を開きます。

2. ファイル | 開く | ソリューションを開くより、以下のソリューションを開きます。

sdk\samplecode\cs\client\ribbon\exportribbonxml\exportribbonxml.sln

3. そのまま F5 キーを押下して、プログラムを実行します。

4. コンソールが起動しますので、接続先環境の情報を入力します。
オンライン環境の場合は、crm5.dynamics.com とだけ入力してください。

image

5. Enter を押下して進めると、Office 365 プラットフォームか確認されますが、
今回の環境は Windows Live ID で認証する環境であるため、 n をタイプして
Enter を押下します。

image

6. リボンのエクスポートを行いたい組織を番号で指定して、Enter を押下します。

7. アプリケーションの実行が終了した時点で、以下のフォルダにリボン情報が
エクスポートされます。

ribbon\exportribbonxml\bin\Debug\ExportedRibbonXml

任意のリボンのみ出力

全てのリボンが必要ない場合には、以下の変更を行います。

1. ExportRibbonXml.cs を開きます。

2. 51行目の public System.String[] entitiesWithRibbons 変数に対して
必要なエンティティ名だけを指定します。

カスタムエンティティに関しては 128 行目前後で出力していますので、必要に
応じてコードを書き換えてください。

出力結果

出力された結果は、既定のリボンの情報と比較することをお勧めします。
既定のリボンは以下のパスで提供されています。

sdk\resources\exportedribbonxml

例えば、sdk\walkthroughs\ribbon で提供されている、サンプルの
addacustombuttontoanexistinggroupforallentities.zip をインポートした
状態で、上記サンプルでリボンを出力し、既定と比較した場合は、
以下のような違いを見て取れます。

[左が現在のリボン、右が既定のリボン]
image

ご覧のように、新しい Button コントロールが追加されています。
同様に新しい CommandDefinition の追加等も確認できます。

image

まとめ

リボンを開発した際に、思うようにコントロールが出ないことがありますが、
こちらの方法で現在反映されている結果を取得、比較することで、どの
要素に問題があるか、推測が容易になります。

リボン開発に是非お役立てください。

- Dynamics CRM サポート 中村 憲一郎