Loading...
Back to MSDC Toolbox

Ribbon Compare

Complete guide for using the Ribbon Compare plugin

Ribbon Compare — User Guide

Overview

Ribbon Compare compares ribbon and command bar customizations between two Dataverse environments, presenting differences in syntax-highlighted XML so you can pinpoint exactly what changed.


Prerequisites

  • Two active connections to Dataverse environments
  • Read access to ribbon definitions in both environments (prvReadRibbonMetadata or equivalent)

Getting Started

  1. Select Ribbon Compare from the sidebar
  2. Select Source and Target environments

Workflow

1. Choose What to Compare

Select from two ribbon scopes:

Scope Description
Entity ribbon Ribbons for a specific entity (form toolbar, view toolbar, subgrid toolbar)
Application ribbon Global ribbons that apply across the application

For entity ribbons, use the entity picker to choose the table.

2. Load Ribbons

Click Load to retrieve the ribbon XML from both environments.

The plugin calls the RetrieveEntityRibbon or RetrieveApplicationRibbon endpoint and returns the full customized ribbon XML.

3. Review the Diff

Results are shown side-by-side (or in unified diff view):

View Description
Side-by-side Source XML on the left, target XML on the right
Unified diff Combined view with added lines in green and removed lines in red

Syntax highlighting makes it easy to spot <CommandDefinition>, <RuleDefinition>, and <DisplayRule> changes.

4. Search and Filter

  • Use the search bar to jump to a specific command ID, label, or XML attribute
  • The search highlights matching text across both panels simultaneously

5. Export Differences

Click Export to save:

  • Source XML — The raw ribbon XML from the source environment
  • Target XML — The raw ribbon XML from the target environment
  • Diff report — A summary of differences in CSV format

Understanding Ribbon XML

Common elements you will encounter in the diff:

Element Description
<CommandDefinition> A button or menu command and its actions
<DisplayRule> Controls when a button is visible
<EnableRule> Controls when a button is enabled
<Button> The rendered button element with label and icon
<Group> A group of buttons in the ribbon

Tips

Tip Detail
Compare before publishing Run after importing a solution to confirm ribbon changes applied as expected
Entity vs application Check both entity and application ribbons — some buttons are defined globally
Search for command IDs Paste a specific command ID into the search box to jump straight to the relevant section
Large XML is normal Ribbon XML can be several thousand lines — use search rather than scrolling

Troubleshooting

Problem Resolution
"No customizations" on one side The environment may have only default (uncustomized) ribbons — this is expected for a clean install
XML load fails Your account may lack access to ribbon metadata endpoints — contact the environment admin
Diff shows thousands of whitespace differences Enable "Ignore whitespace" in the diff options