Share via


Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 5

みなさん、こんにちは。

前回に引き続き、コマンドバーのカスタマイズを紹介します。今回は
アプリケーションリボンを紹介しますが、手順は前回までの記事から
の続きとなります。

Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 1
Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 2
Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 3
Dynamics CRM 2013/Fall '13 コマンドバーのカスタマイズ その 4

アプリケーションリボン

アプリケーションリボンでは、以下のコマンドを定義できます。

- 以下特殊なフォームのリボン
・Web リソースエディター
・フォームエディター
・ダッシュボード
・ダッシュボードエディター
・グラフエディター
・サービスカレンダー
・高度な検索
・ドキュメント
・記事の検索
- リボンが表示されるフォームにあるファイルメニューのコマンド
※ Microsoft Dynamics CRM 2013 および Microsoft Dynamics CRM
Online Fall ’13 では Jewel (ファイルメニュー ) はメイン画面および
新 UI フォームでは表示されません
- 全てのエンティティに対するコマンド

前回までは各エンティティ固有のコマンドバーをカスタマイズして
来ましたが、一部のコマンドはアプリケーションリボンの設定から
適用されています。

カスタマイズの準備

以前作成したソリューションには、取引先企業のコマンドバー定義
しか含まれていないため、以下の手順でアプリケーションリボンを
ソリューションに含めます。

1. 先日作成した Commnad Bar Test ソリューションを開きます。

2. コンポーネント | クライアント拡張をクリックします。

3. 既存の追加よりアプリケーションリボンを選択します。

image

4. ソリューションを保存して、エクスポートします。

5. エクスポートしたソリューションから Customizations.xml を
任意の場所に保存します。

6. Visual Studio で開き、XML スキーマを適用します。

7. ImportExportXml ノード配下に RibbonDiffXml ノードがある事を
確認します。ここがアプリケーションリボンになります。

シナリオ

今回は特殊なフォームのリボンについてカスタマイズを行います。

高度な検索フォームにあるビューグループを非表示
高度な検索フォームにある Fetch XML のダウンロードを非表示

基本的な手順はエンティティコマンドバーのコマンド非表示と
同じです。一度以下のステップを見ないで実装してみてください。

既存のボタンを非表示にする

では答え合わせです。

1. CustomActions ノードを改行して、HideCustomAction を追加します。

2. ID に一意となる値を指定します。他のソリューションと重ならない
ように、例えば以下のようなルールで ID を追加します。

<独自サフィックス>.HideCustomAction.<隠す要素の ID >

3. Location に隠したい要素の ID を指定します。今回はビューグループ
と Fetch XM のダウンロードを隠すので、以下の二つを追加します。
ID の確認方法は後ほど紹介します。 

image

4. 変更を保存します。

5. ダウンロードした zip ファイル内の Customizations.xml を、保存
したファイルで上書きします。

6. ブラウザに戻り、設定のカスタマイズ | ソリューションより、
変更したソリューションのインポートを実行します。

7. ソリューションのインポート完了後、すべてのカスタマイズを
公開し、ブラウザをリフレッシュします。

8. 高度な検索を表示し、意図した変更が行えたか確認します。

image

ボタンやグループの ID 確認方法

既存コマンドバーの情報は、SDK の以下のフォルダに存在します。

SDK\Resources\ExportedRibbonXml

1. 上記パスにある applicationRibbon.xml を Visual Studio で開きます。

2. RibbonDefinitions | RibbonDefinition | UI | Ribbon | Tabs 配下にある
Tab ノードを順番に確認します。Tab の ID 名から高度な検索のタブを
特定します。(Mscrm.AdvancedFind)

3. タブの子要素として Group があり、その子要素としてControls、
その子要素 としてボタンやスプリットボタンなどが存在します。

4. 内容から Fetch XML のダウンロードボタンの ID とビューグループ
の ID を特定します。

image

image

追加のシナリオ

高度な検索画面など一部フォームに表示されるファイルメニュー |
新しいレコードメニューの非表示

image

1. ファイルメニューは RibbonDefinitions | RibbonDefinition | UI |
Jewel で定義されています。 項目名から以下が非表示にしたい ID
であると特定します。

image

2. 上記情報をもとに、以下の HideCustomAction を追加します。

image

3. 変更を保存して、ソリューションのインポートとカスタマイズ
の公開を行います。

4. 意図したメニューが非表示になっていることを確認します。

image

次回は全てのエンティティに対するコマンドを紹介します。

- 中村 憲一郎