[Dynamics365]Ribbon Workbenchのケース別設定

Ribbon Wordbenchの導入については、こちらのページで紹介しましたが、使い方についていろいろと行き詰まりがあったため、備忘も兼ねて詳しい使い方を載せておきます。

スポンサーリンク

使用前にソリューションのバックアップはとるべし

早速、Ribbon Wordbenchでコマンドバーを調整したいところですが、Ribbon Wordbenchも使い勝手がいいツールとは言い難く、英語表記な上、操作上の設定ミスはどうしても想定して置かなければいけません。
一度カスタマイズしたボタンを元に戻すのも一苦労なので、ミスった時の保険のために、ソリューションのバックアップを取っておきましょう。

Ribbon Wordbenchでも親切にバックアップを取得するよう注意書きをしてくれます。
RibbonWorkbench使用前はバックアップを推奨

Ribbon Wordbench用に編集用のソリューションを作成しておいたほうがベターです。

ケース別によく使う設定

ここからは、ケース別によく使う設定内容を手順として説明します。

いらないボタンを非表示にする

これが一番よく使うのではないでしょうか。
標準のコマンドバーだと、余分な機能が混ざってしまいますので、それを抑止するためにコマンドバーのボタンを無くしておきます。

例えば、取引先企業の「フロー」というボタンを使わないので消したい場合。
不要なボタンをコマンドバーから削除する場合

Ribbon Wordbenchの「FLOWS」から右クリック→Hideを選択。
不要なボタンに対し、Hideを選択

これでFLOWにバッテンがつきます。
あとは、Publishで公開します(時間かかります)。
Hideされたボタンは斜線がつくのでPublishする

公開後、このようにボタンが非表示になります。

ボタンの順番を変える

次点でよくある設定が、よく使うボタンを先頭に、逆に使う頻度の少ないボタンを後ろに表示順を変える設定。

例えば、取引先企業の「Excelにエクスポート」は「…」を押さないと表示しないようになっているので、これを初期表示できる位置まで持っていきたい場合。
Excelにエクスポートボタンの移動前

Ribbon Wordbenchの「EXPORT TO EXCEL」から右クリック→Customise Buttonを選択。
これで、ボタンのドラッグアンドドロップが可能になります。
逆に言うと、Customise Buttonをしないと順番の変更ができません(ここ、軽くハマりました・・・)。
Customise Button選択により、順番の変更が可能

あとは、先頭付近にドラッグアンドドロップします。
カスタマイズ済みボタンをドラッグアンドドロップして場所移動

ドラッグアンドドロップの際にこんなメッセージが表示されます。
標準のボタンはCopyとHideが推奨される

「EXPORT TO EXCEL」は標準のボタンなので、そのまま順番を変えるか、標準のボタンをコピーして標準のボタンは非表示にするかの選択になります。
好みの問題でもありますが、標準のボタンでの順番変更の場合は、推奨は後者ですので、それに従いましょう。

移動後はPublishで公開。

Excelにエクスポートの移動後
見事にボタンが移動されていました。

ボタン表示の条件を変える

続いては、ボタンの表示条件を変更したい場合。
例えば、削除のボタンですが、レコードが選択されない状態でボタンを押すと、以下のようなメッセージが出ます。
未選択状態での削除は押下しても効果がない
レコードの選択がない状態では、削除ボタンを押しても意味が無いので、レコードが選択された時だけ削除ボタンを表示するようにします。

表示条件のカスタマイズ設定の難易度はグッと上がります。

まずは、Ribbon Wordbenchの「DELETE」から右クリック→Customise Commandを選択。
条件設定にはCoutomise Commandを選択

次にもう一つ、「$LOCLABELS:ACTIVITYFEED.FOLLOW.LABELTEXT」(星マークが付いているアイコン)から右クリック→Customise Commandを選択します。
フォローボタンに対してもCustomise Commandを実行

これは、フォローボタンに対するCustomise Commandになりますが、フォローボタンそのものの設定を変える訳ではありません。
フォローボタンには、レコードが選択された時にボタンを表示するという条件が既に含まれているので、その条件を使いたいから追加しています。

Customise Commandを選択すると、Ribbon Wordbenchの下部分にこのような表示がされます。
Customise Commandされたボタンの条件定義

COMMANDSには、ボタンの表示条件が定義されており、その中に、DISPLAY RULESとENABLES RULESがそれぞれ定義されています。
DISPLAY RULESにはコマンドバーに表示する条件、ENABLES RULESにはユーザ操作を伴った状態でのボタンの表示条件という理解でいます。
(間違っていたらすいません)

今回は、レコードを選択した状態の時に削除ボタンを表示させたいので、削除ボタンに対して「レコードが1つ以上選択された時に表示」という条件を追加します。

COMMANDSのMscrm.HomepageGrid.DeleteSplitButtonCommandからEnable Rulesの「+Add Enable Rule」を選択し、
Enable Rulesに条件を追加する

「Mscrm.SelectionCountAtLeastOne」を選択します。
Mscrm.SelectionCountAtLeastOneをEnable Rulesに追加

ちなみに、このMscrm.SelectionCountAtLeastOneの定義はこのようになっています。
Mscrm.SelectionCountAtLeastOneはレコード選択が1つ以上を意味する
ちょっと論理的に書かれていますが、読み解くと、レコードが1つ以上選択された状態を示しています。

追加後、Publishで公開します。

最後に動作確認。
選択していない状態では、「削除」ボタンが出ていません。
レコード未選択では削除ボタンが表示されない

選択している状態では、「削除」ボタンが出てきます。
レコードを選択すると削除ボタンが表示される

これで表示条件のカスタマイズが完了です。
条件設定の意味を理解するのが難しいため、開発者ガイドから意味を理解するか、既に定義済みの条件を再利用して条件間違えがなようにしましょう。

Xmlの書き方が分かればRibbon Wordbenchなしでもいける

Ribbon Wordbenchで設定した内容は、最終的にはソリューション内のcustomizations.xmlに記載されます。
その中の、RibbonDiffXmlタグの中に設定した内容が自動的に記載されます。
最終的にはこのRibbonDiffXmlタグ内に設定内容を書き込めばコマンドバーのボタンが反映されます。
customizations.xmlのRibbonDiffXmlタグに設定内容が記載される

が、かなりハードルは高いです。
書き方こそ、開発者ドキュメントに掲載されていますが、覚えることが多い上、コアなXMLファイルを直接いじることいなるため、ソリューションが壊れやすいです。

安全に使用するのであれば、読み込みや公開に時間が掛かってしまいますが、Ribbon Wordbenchを使用した方がいいでしょう。

Ribbon Wordbench上で一度カスタマイズしたものの解除ができないため、設定が戻せなくなった時はバックアップをインポートして復元します。
そのために、最初の注意書きにバックアップの必要性を解いたわけです。

万が一、バックアップを取り損ねて、ソリューションが戻せなくなってしまった場合は、RibbonDiffXmlタグに以下コードを記述することで、初期状態に戻すことは可能です。

      <RibbonDiffXml>
        <CustomActions />
        <Templates>
          <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
        </Templates>
        <CommandDefinitions />
        <RuleDefinitions>
          <TabDisplayRules />
          <DisplayRules />
          <EnableRules />
        </RuleDefinitions>
        <LocLabels />
      </RibbonDiffXml>

Dynamics
スポンサーリンク

コメント