Welcome to the tenth post in my series focused on providing a set of revision notes for the MB-400: Microsoft Power Apps + Dynamics 365 Developer exam. Last time around in the series, we took a deep-dive look into Power Apps Component Framework (PCF) controls and how they could be used to extend the user interface within Power Apps. PCF controls work great for situations where we cannot utilise JavaScript form functions, or a canvas Power App to provide a more bespoke, intuitive user experience with model-driven apps. As useful as these control types are, they do not allow us to modify the behaviour of the various ribbon buttons throughout the application, an example of which can be seen below for the Lead entity:
In most cases, these provide us with a range of useful functionality that is best left unmodified. However, there will be circumstances where you may need to add or remove ribbon buttons or tailor the behaviour of an existing button to perform a different action. All of these tasks fall neatly into the Create a command button function area of the MB-400 exam, where Microsoft expects candidates to demonstrate knowledge of the following topics:
Create a command button function
- create the command function
- design command button triggers, rules, and actions
- edit the command bar using the Ribbon Workbench
- modify the form JavaScript library dependencies
By using the right tools, it is pretty straightforward to perform simple or even complex amends to ribbon command buttons. So let’s dive and see what’s involved!
As with all posts in this series, the aim is to provide a broad outline of the core areas to keep in mind when tackling the exam, linked to appropriate resources for more focused study. Your revision should, ideally, involve a high degree of hands-on testing and familiarity in working with the platform if you want to do well in this exam.
Ribbon Overview
We’ve already touched upon what a command button is as part of this posts intro. Before we dive in any further, though, it is important first to explain them within the context of the ribbon. This feature has been a mainstay for the application over many years. Both then and now, it provides us with the means of changing how the various buttons within a model-driven app display and also operate when users interact with them. The application displays different ribbons within multiple areas, including:
- Entity record forms
- Views and Subgrids
- Specific areas that rely on the “classic” interface
- Within the Dynamics 365 for Outlook App
Dynamics 365 utilises a single ribbon definition per entity, defined as an XML document within the application. You can see how a condensed example looks for the Account entity by default below; you can download the full definitions for all out of the box entities from the Microsoft Docs website:
<RibbonDefinitions>
<RibbonDefinition>
<UI>
<Ribbon>
<Tabs Id="Mscrm.Tabs">
<Tab Id="Mscrm.HomepageGrid.account.MainTab" Command="Mscrm.HomepageGrid.account.MainTab" Title="Accounts" Description="Accounts" Sequence="100">
<Scaling Id="Mscrm.HomepageGrid.account.MainTab.Scaling">
<MaxSize Id="Mscrm.HomepageGrid.account.MainTab.Management.MaxSize" GroupId="Mscrm.HomepageGrid.account.MainTab.Management" Sequence="10" Size="LargeMediumLargeMedium" />
<MaxSize Id="Mscrm.HomepageGrid.account.MainTab.Collaborate.MaxSize" GroupId="Mscrm.HomepageGrid.account.MainTab.Collaborate" Sequence="20" Size="LargeMediumLargeLarge" />
<MaxSize Id="Mscrm.HomepageGrid.account.MainTab.Actions.MaxSize" GroupId="Mscrm.HomepageGrid.account.MainTab.Actions" Sequence="30" Size="LargeLargeMediumLarge" />
<MaxSize Id="Mscrm.HomepageGrid.account.MainTab.ExportData.MaxSize" GroupId="Mscrm.HomepageGrid.account.MainTab.ExportData" Sequence="40" Size="LargeMediumLarge" />
<MaxSize Id="Mscrm.HomepageGrid.account.MainTab.Workflow.MaxSize" GroupId="Mscrm.HomepageGrid.account.MainTab.Workflow" Sequence="50" Size="Large" />
<MaxSize Id="Mscrm.HomepageGrid.account.MainTab.Find.MaxSize" GroupId="Mscrm.HomepageGrid.account.MainTab.Find" Sequence="60" Size="Large" />
<MaxSize Id="Mscrm.HomepageGrid.account.MainTab.OutlookHelp.MaxSize" GroupId="Mscrm.HomepageGrid.account.MainTab.OutlookHelp" Sequence="61" Size="Large" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.ExportData.Scale.1" GroupId="Mscrm.HomepageGrid.account.MainTab.ExportData" Sequence="80" Size="LargeSmallLarge" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.Workflow.Scale.2" GroupId="Mscrm.HomepageGrid.account.MainTab.Workflow" Sequence="100" Size="Popup" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.Actions.Scale.1" GroupId="Mscrm.HomepageGrid.account.MainTab.Actions" Sequence="110" Size="LargeMediumMediumLarge" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.Collaborate.Scale.1" GroupId="Mscrm.HomepageGrid.account.MainTab.Collaborate" Sequence="120" Size="LargeSmallLargeSmall" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.Management.Scale.1" GroupId="Mscrm.HomepageGrid.account.MainTab.Management" Sequence="130" Size="LargeMediumLargeMedium" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.ExportData.Scale.3" GroupId="Mscrm.HomepageGrid.account.MainTab.ExportData" Sequence="140" Size="Popup" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.Collaborate.Scale.2" GroupId="Mscrm.HomepageGrid.account.MainTab.Collaborate" Sequence="150" Size="Popup" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.Actions.Scale.2" GroupId="Mscrm.HomepageGrid.account.MainTab.Actions" Sequence="160" Size="Popup" />
<Scale Id="Mscrm.HomepageGrid.account.MainTab.Management.Scale.2" GroupId="Mscrm.HomepageGrid.account.MainTab.Management" Sequence="170" Size="Popup" />
</Scaling>
<Groups Id="Mscrm.HomepageGrid.account.MainTab.Groups">
<Group Id="Mscrm.HomepageGrid.account.MainTab.Management" Command="Mscrm.Enabled" Sequence="10" Title="$Resources:Ribbon.HomepageGrid.MainTab.Management" Description="$Resources:Ribbon.HomepageGrid.MainTab.Management" Image32by32Popup="/_imgs/ribbon/newrecord32.png" Template="Mscrm.Templates.FourOverflow">
<Controls Id="Mscrm.HomepageGrid.account.MainTab.Management.Controls">
<Button Id="Mscrm.HomepageGrid.account.NewRecord" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.New" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.New" Command="Mscrm.NewRecordFromGrid" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.New" Alt="$Resources:Ribbon.HomepageGrid.MainTab.New" Image16by16="/_imgs/ribbon/New_16.png" Image32by32="/_imgs/ribbon/newrecord32.png" TemplateAlias="o1" ModernImage="New" />
<Button Id="Mscrm.HomepageGrid.account.NewRecordForBPFEntity" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.New" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.New" Command="Mscrm.HomepageGrid.NewRecordForBPFEntity" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.New" Alt="$Resources:Ribbon.HomepageGrid.MainTab.New" Image16by16="/_imgs/ribbon/NewRecord_16.png" Image32by32="/_imgs/ribbon/newrecord32.png" TemplateAlias="o1" ModernImage="New" />
<Button Id="Mscrm.HomepageGrid.account.Edit" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Management.Edit" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.Edit" Command="Mscrm.EditSelectedRecord" Sequence="20" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Management.Edit" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Management.Edit" Image16by16="/_imgs/ribbon/Edit_16.png" Image32by32="/_imgs/ribbon/edit32.png" TemplateAlias="o1" ModernImage="Edit" />
<Button Id="Mscrm.HomepageGrid.account.Activate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Status.Activate" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.Activate" Command="Mscrm.HomepageGrid.Activate" Sequence="30" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Status.Activate" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Status.Activate" Image16by16="/_imgs/ribbon/Activate_16.png" Image32by32="/_imgs/ribbon/Activate_32.png" TemplateAlias="o2" ModernImage="Activate" />
<Button Id="Mscrm.HomepageGrid.account.Deactivate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Status.Deactivate" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.Deactivate" Command="Mscrm.HomepageGrid.Deactivate" Sequence="40" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Status.Deactivate" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Status.Deactivate" Image16by16="/_imgs/ribbon/Deactivate_16.png" Image32by32="/_imgs/ribbon/Deactivate_32.png" TemplateAlias="o2" ModernImage="DeActivate" />
<Button Id="Mscrm.HomepageGrid.account.OpenActiveStage" ToolTipTitle="$Resources:Mscrm_Form_Other_MainTab_OpenActiveStage_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Form.Tooltip.OpenActiveStage" Command="Mscrm.HomepageGrid.OpenActiveStage" Sequence="50" LabelText="$Resources:Ribbon.Form.MainTab.OpenActiveStage" Alt="$Resources:Ribbon.Form.MainTab.OpenActiveStage" Image16by16="/_imgs/ribbon/formdesign16.png" Image32by32="/_imgs/ribbon/EditForm_32.png" TemplateAlias="o2" ModernImage="FormDesign" />
<SplitButton Id="Mscrm.HomepageGrid.account.DeleteMenu" ToolTipTitle="$Resources:Mscrm_HomepageGrid_Other_MainTab_Management_Delete_ToolTipTitle" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.HomepageGrid.Tooltip.Delete" Command="Mscrm.HomepageGrid.DeleteSplitButtonCommand" Sequence="50" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Image16by16="/_imgs/ribbon/Delete_16.png" Image32by32="/_imgs/Workplace/remove_32.png" TemplateAlias="o2" ModernImage="Remove">
<Menu Id="Mscrm.HomepageGrid.account.DeleteMenu.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.DeleteMenu.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.DeleteMenu.Controls">
<Button Id="Mscrm.HomepageGrid.account.Delete" Command="Mscrm.DeleteSelectedRecord" Sequence="50" ToolTipTitle="$Resources:Mscrm_HomepageGrid_Other_MainTab_Management_Delete_ToolTipTitle" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.HomepageGrid.Tooltip.Delete" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Image16by16="/_imgs/ribbon/Delete_16.png" Image32by32="/_imgs/Workplace/remove_32.png" ModernImage="Remove" />
<Button Id="Mscrm.HomepageGrid.account.BulkDelete" Command="Mscrm.HomepageGrid.BulkDelete" Sequence="100" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Management.BulkDelete" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Management.BulkDelete" ToolTipDescription="$Resources:Ribbon.HomepageGrid.MainTab.Management.BulkDelete.TooltipDescription" Image16by16="/_imgs/ribbon/BulkDelete_16.png" Image32by32="/_imgs/ribbon/BulkDeleteWizard_32.png" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<Button Id="Mscrm.HomepageGrid.account.MergeRecords" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" ToolTipDescription="$Resources:Ribbon.Tooltip.Merge" Command="Mscrm.HomepageGrid.account.MergeRecords" Sequence="59" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" Image16by16="/_imgs/ribbon/MergeRecords_16.png" Image32by32="/_imgs/ribbon/MergeRecords_32.png" TemplateAlias="o3" ModernImage="MergeRecords" />
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.Detect" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.DetectDuplicates" Command="Mscrm.HomepageGrid.DetectDupes" Sequence="60" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect" Image16by16="/_imgs/ribbon/DetectDuplicates_16.png" Image32by32="/_imgs/ribbon/DuplicateDetection_32.png" TemplateAlias="o3">
<Menu Id="Mscrm.HomepageGrid.account.Detect.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.Detect.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.Detect.Controls">
<Button Id="Mscrm.HomepageGrid.account.Detect.Selected" Command="Mscrm.HomepageGrid.DetectDupesSelected" Sequence="10" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect.Selected" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect.Selected" Image16by16="/_imgs/ribbon/DeleteSelected_16.png" Image32by32="/_imgs/ribbon/DeleteSelected_32.png" ToolTipTitle="$Resources:Mscrm_HomepageGrid_Other_MainTab_Management_Detect_Selected_ToolTipTitle" ToolTipDescription="$Resources:Mscrm_HomepageGrid_Other_MainTab_Management_Detect_Selected_ToolTipDescription" />
<Button Id="Mscrm.HomepageGrid.account.Detect.All" Command="Mscrm.HomepageGrid.DetectDupesAll" Sequence="20" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect.All" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect.All" Image16by16="/_imgs/ribbon/DetectAll_16.png" Image32by32="/_imgs/ribbon/DetectAll_32.png" ToolTipTitle="$Resources:Mscrm_HomepageGrid_Other_MainTab_Management_Detect_All_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Mscrm_HomepageGrid_EntityLogicalName_MainTab_Management_Detect_All_ToolTipDescription" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.ChangeDataSetControlButton" ToolTipTitle="$Resources:MobileClient.Commands.ChangeControl" ToolTipDescription="$Resources:WebClient.Commands.ChangeControl.Description" Command="Mscrm.ChangeControlCommand" Sequence="25" LabelText="$Resources:MobileClient.Commands.ChangeControl" Alt="$Resources:WebClient.Commands.ChangeControl.Description" Image16by16="/_imgs/ribbon/SendView_16.png" PopulateDynamically="true" PopulateQueryCommand="Mscrm.DynamicMenu.ChangeControlCommand" TemplateAlias="o1" />
<Button Alt="$LocLabels:GuidedHelp.Alt" Command="loadGuidedHelp" Description="Learning Path" Id="GuidedHelpaccount.Grid" LabelText="$LocLabels:GuidedHelp.LabelText" Sequence="70" TemplateAlias="o3" ToolTipTitle="$LocLabels:GuidedHelp.ToolTipTitle" ToolTipDescription="$LocLabels:GuidedHelp.ToolTipDescription" />
<Button Alt="$LocLabels:LPLibrary.Alt" Command="launchLPLibrary" Description="Learning Path Library" Id="LPLibraryaccount.Grid" LabelText="$LocLabels:LPLibrary.LabelText" Sequence="80" TemplateAlias="o3" ToolTipTitle="$LocLabels:LPLibrary.ToolTipTitle" ToolTipDescription="$LocLabels:LPLibrary.ToolTipDescription" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.account.MainTab.ModernClient" Command="Mscrm.Enabled" Sequence="11" Template="Mscrm.Templates.3">
<Controls Id="Mscrm.HomepageGrid.account.MainTab.ModernClient.Controls">
<Button Id="Mscrm.HomepageGrid.account.RefreshModernButton" ToolTipTitle="$Resources:MobileClient.Commands.Refresh" Command="Mscrm.Modern.refreshCommand" ModernCommandType="ControlCommand" Sequence="17" LabelText="$Resources:MobileClient.Commands.Refresh" ModernImage="Refresh" TemplateAlias="o1" />
<Button Id="Mscrm.HomepageGrid.account.NavigateToHomepageGrid" ToolTipTitle="$Resources:OpenAllRecordsViewImageButtonText" ToolTipDescription="$Resources:OpenAllRecordsViewImageButtonToolTip" Command="Mscrm.NavigateToHomepageGrid" Sequence="18" LabelText="$Resources:OpenAllRecordsViewImageButtonText" ModernImage="TableGroup" TemplateAlias="o1" />
<Button Id="Mscrm.HomepageGrid.account.ActionButtonForMSTeams" Command="Mscrm.HomePageGrid.MSTeamsViewCollaborateCommand" ToolTipTitle="$LocLabels:OfficeProductivity.MSTeamsToolTip" ToolTipDescription="$LocLabels:OfficeProductivity.MSTeamsToolTip" LabelText="$LocLabels:OfficeProductivity.MSTeams" Alt="$LocLabels:OfficeProductivity.MSTeams" TemplateAlias="o2" Sequence="1028" ModernImage="MSTeamsIcon" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.account.MainTab.Actions" Command="Mscrm.Enabled" Sequence="20" Title="$Resources:Ribbon.HomepageGrid.MainTab.Actions" Template="Mscrm.Templates.Flexible4" Image32by32Popup="/_imgs/ribbon/Actions_32.png">
<Controls Id="Mscrm.HomepageGrid.account.MainTab.Actions.Controls">
<Button Sequence="10" Id="msdyn.HomepageGrid.account.LaunchPlaybook.Button" TemplateAlias="o1" ModernImage="$webresource:Playbook/msdyn_/Images/SVG/PlaybookInstanceIcon.svg" LabelText="$LocLabels:Ribbon.Form.LaunchPlaybook.Button.LabelText" Alt="$LocLabels:Ribbon.Form.LaunchPlaybook.Button.LabelText" Command="Playbook.HomepageGrid.Launch" ToolTipTitle="$LocLabels:Ribbon.Form.LaunchPlaybook.Button.LabelText" ToolTipDescription="$LocLabels:Ribbon.ToolTip.LaunchPlabyook" />
<Button Id="Mscrm.HomepageGrid.account.ViewOrgChart" Command="LinkedInExtensions.ViewOrgChartForGrid" Sequence="52" Alt="$LocLabels:Mscrm.Form.account.ViewOrgChart" LabelText="$LocLabels:Mscrm.Form.account.ViewOrgChart" ToolTipTitle="$LocLabels:Mscrm.Form.account.ViewOrgChart.ToolTipTitle" ToolTipDescription="$LocLabels:Mscrm.Form.account.ViewOrgChart.ToolTipDesc" ModernImage="Drilldown" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.account.MainTab.Collaborate" Command="Mscrm.Enabled" Sequence="30" Title="$Resources:Ribbon.HomepageGrid.MainTab.Collaborate" Image32by32Popup="/_imgs/ribbon/Assign_32.png" Template="Mscrm.Templates.Flexible4">
<Controls Id="Mscrm.HomepageGrid.account.MainTab.Collaborate.Controls">
<Button Id="Mscrm.HomepageGrid.account.SendDirectEmail" Command="Mscrm.AddEmailToSelectedRecord" Sequence="10" ToolTipTitle="$Resources:Ribbon.HomepageGrid.SendDirectEmail.ToolTip" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.DirectEmail" LabelText="$Resources:Ribbon.HomepageGrid.SendDirectEmail" Alt="$Resources:Ribbon.HomepageGrid.SendDirectEmail" Image16by16="/_imgs/ribbon/AddEmail_16.png" Image32by32="/_imgs/ribbon/Email_32.png" TemplateAlias="o1" ModernImage="EmailLink" />
<Button Id="Mscrm.HomepageGrid.account.modern.SendDirectEmail" Command="Mscrm.modern.AddEmailToSelectedRecord" Sequence="10" ToolTipTitle="$Resources:Ribbon.HomepageGrid.SendDirectEmail.ToolTip" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.DirectEmail" LabelText="$Resources:Ribbon.HomepageGrid.SendDirectEmail" Alt="$Resources:Ribbon.HomepageGrid.SendDirectEmail" Image16by16="/_imgs/ribbon/AddEmail_16.png" Image32by32="/_imgs/ribbon/Email_32.png" TemplateAlias="o1" ModernImage="EmailLink" />
<Button Id="Mscrm.HomepageGrid.account.AddToList" ToolTipTitle="$LocLabels:Ribbon.HomepageGrid.account.Add.AddToList" ToolTipDescription="$LocLabels(EntityDisplayName):Ribbon.Tooltip.AddToMarketingList" Command="Mscrm.AddSelectedToMarketingList" Sequence="11" Alt="$LocLabels:Ribbon.HomepageGrid.account.Add.AddToList" LabelText="$LocLabels:Ribbon.HomepageGrid.account.Add.AddToList" Image16by16="$webresource:Marketing/_images/ribbon/AddToMarketingList_16.png" Image32by32="$webresource:Marketing/_images/ribbon/AddToMarketingList_32.png" TemplateAlias="o1" ModernImage="BulletListAdd" />
<Button Id="Mscrm.HomepageGrid.account.Assign" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Assign" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.Assign" Command="Mscrm.AssignSelectedRecord" Sequence="40" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Assign" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Assign" Image16by16="/_imgs/ribbon/Assign_16.png" Image32by32="/_imgs/ribbon/Assign_32.png" TemplateAlias="o1" ModernImage="Assign" />
<Button Id="Mscrm.HomepageGrid.account.Sharing" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Sharing" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.Share" Command="Mscrm.ShareSelectedRecord" Sequence="50" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Sharing" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Sharing" Image16by16="/_imgs/ribbon/Share_16.png" Image32by32="/_imgs/ribbon/Sharing_32.png" TemplateAlias="o2" ModernImage="Share" />
<Button Id="Mscrm.HomepageGrid.account.ViewHierarchy" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Actions.ViewHierarchy" ToolTipDescription="$Resources:Mscrm_MainTab_Actions_ViewHierarchy_ToolTipDescription" Command="Mscrm.ViewHierarchyForSelectedRecord" Sequence="55" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Actions.ViewHierarchy" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Actions.ViewHierarchy" Image16by16="/_imgs/Hierarchy.png" Image32by32="/_imgs/ribbon/Hierarchy_32.png" TemplateAlias="o1" ModernImage="ViewHierarchy" />
<SplitButton Id="Mscrm.HomepageGrid.account.Copy" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Copy" ToolTipDescription="$Resources:Mscrm_HomepageGrid_Other_MainTab_ExportData_Copy_ToolTipDescription" Command="Mscrm.CopyShortcutSelected.EnabledInIEBrowser" Sequence="60" LabelText="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Copy" Image16by16="/_imgs/ribbon/Copy_16.png" Image32by32="/_imgs/ribbon/Copy_32.png" TemplateAlias="o2">
<Menu Id="Mscrm.HomepageGrid.account.Copy.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.Copy.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.Copy.Controls">
<Button Id="Mscrm.HomepageGrid.account.Copy.Selected" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Selected" ToolTipDescription="$Resources:Mscrm_HomepageGrid_Other_MainTab_ExportData_Copy_Selected_ToolTipDescription" Command="Mscrm.CopyShortcutSelected" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Selected" Image16by16="/_imgs/ribbon/copyshortcut16.png" Image32by32="/_imgs/ribbon/copyshortcut32.png" />
<Button Id="Mscrm.HomepageGrid.account.Copy.View" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Record.Shortcut.View" ToolTipDescription="$Resources:Ribbon.Tooltip.CopyShortcut_View" Command="Mscrm.CopyShortcutView" Sequence="20" LabelText="$Resources:Ribbon.HomepageGrid.Record.Shortcut.View" Image16by16="/_imgs/ribbon/CopyView_16.png" Image32by32="/_imgs/ribbon/CopyView_32.png" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<SplitButton Id="Mscrm.HomepageGrid.account.Send" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Send" ToolTipDescription="$Resources:Mscrm_HomepageGrid_Other_MainTab_ExportData_Send_ToolTipDescription" Command="Mscrm.SendShortcutSelected.AlwaysEnabled" Sequence="61" LabelText="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Send" Image16by16="/_imgs/ribbon/EmailLink_16.png" Image32by32="/_imgs/ribbon/SendShortcut_32.png" TemplateAlias="o2" ModernImage="EmailLink">
<Menu Id="Mscrm.HomepageGrid.account.Send.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.Send.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.Send.Controls">
<Button Id="Mscrm.HomepageGrid.account.Send.Selected" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Selected" ToolTipDescription="$Resources:Ribbon.Tooltip.SendShortcut" Command="Mscrm.SendShortcutSelected" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Selected" Image16by16="/_imgs/ribbon/EmailLink_16.png" Image32by32="/_imgs/ribbon/SendShortcut_32.png" ModernImage="EmailLink" />
<Button Id="Mscrm.HomepageGrid.account.Send.View" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Record.Shortcut.View" ToolTipDescription="$Resources:Ribbon.Tooltip.SendShortcut_View" Command="Mscrm.SendShortcutView" Sequence="20" LabelText="$Resources:Ribbon.HomepageGrid.Record.Shortcut.View" Image16by16="/_imgs/ribbon/SendView_16.png" Image32by32="/_imgs/ribbon/SendView_32.png" ModernImage="EmailLink" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<SplitButton Id="Mscrm.HomepageGrid.account.AddConnection" ToolTipTitle="$Resources:Ribbon.Connection.Splitbutton.AddConnection.Label" ToolTipDescription="$Resources:Ribbon.Connection.Splitbutton.AddConnection.Tooltip" Command="Mscrm.AddConnectionGrid" Sequence="70" LabelText="$Resources:Ribbon.Connection.Splitbutton.AddConnection.Label" Alt="$Resources:Ribbon.Connection.Splitbutton.AddConnection.Label" Image16by16="/_imgs/ribbon/AddConnection_16.png" Image32by32="/_imgs/ribbon/AddConnection_32.png" TemplateAlias="o3" ModernImage="Connection">
<Menu Id="Mscrm.HomepageGrid.account.AddConnection.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.AddConnection.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.AddConnection.Controls">
<Button Id="Mscrm.HomepageGrid.account.AddConnectionNew" ToolTipTitle="$Resources:Ribbon.Connection.AddConnectionNew.Label" ToolTipDescription="$Resources:Ribbon.Connection.AddConnectionNew.Tooltip" Command="Mscrm.AddConnectionGrid" Sequence="40" LabelText="$Resources:Ribbon.Connection.AddConnectionNew.Label" Alt="$Resources:Ribbon.Connection.AddConnectionNew.Label" ModernImage="ConnectionToOther" />
<Button Id="Mscrm.HomepageGrid.account.AddConnectionToMe" ToolTipTitle="$Resources:Ribbon.Connection.AddConnectionToMe.Label" ToolTipDescription="$Resources:Ribbon.Connection.AddConnectionToMe.Tooltip" Command="Mscrm.AddConnectionToMeGrid" Sequence="41" LabelText="$Resources:Ribbon.Connection.AddConnectionToMe.Label" Alt="$Resources:Ribbon.Connection.AddConnectionToMe.Label" ModernImage="ConnectionToMe" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<Button Id="Mscrm.HomepageGrid.account.AddToQueue" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Actions.AddToQueue" ToolTipDescription="$Resources(EntityPluralDisplayName):Mscrm_HomepageGrid_EntityLogicalName_MainTab_Actions_AddToQueue_ToolTipDescription" Command="Mscrm.AddSelectedToQueue" Sequence="80" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Actions.AddToQueue" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Actions.AddToQueue" Image16by16="/_imgs/ribbon/AddToQueue_16.png" Image32by32="/_imgs/ribbon/AddToQueue_32.png" TemplateAlias="o3" ModernImage="AddToQueue" />
<Button Id="Mscrm.HomepageGrid.account.FollowButton" Command="Mscrm.HomepageGrid.FollowCommand" ToolTipTitle="$LocLabels:ActivityFeed.Follow.ToolTipTitle" ToolTipDescription="$LocLabels:ActivityFeed.Follow.ToolTipDescription" LabelText="$LocLabels:ActivityFeed.Follow.LabelText" TemplateAlias="o2" Image16by16="/_imgs/ribbon/Entity16_8003.png" Image32by32="/_imgs/ribbon/Entity32_8003.png" Sequence="1000" ModernImage="RatingEmpty" />
<Button Id="Mscrm.HomepageGrid.account.UnfollowButton" Command="Mscrm.HomepageGrid.UnfollowCommand" ToolTipTitle="$LocLabels:ActivityFeed.Unfollow.ToolTipTitle" ToolTipDescription="$LocLabels:ActivityFeed.Unfollow.ToolTipDescription" LabelText="$LocLabels:ActivityFeed.Unfollow.LabelText" TemplateAlias="o2" Image16by16="/_imgs/ribbon/Entity16_8003_u.png" Image32by32="/_imgs/ribbon/Entity32_8003_u.png" Sequence="1020" ModernImage="RatingFull" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.account.MainTab.Workflow" Command="Mscrm.Enabled" Sequence="40" Title="$Resources:Ribbon.HomepageGrid.Data.Workflow" Image32by32Popup="/_imgs/ribbon/runworkflow32.png" Template="Mscrm.Templates.Flexible">
<Controls Id="Mscrm.HomepageGrid.account.MainTab.Workflow.Controls">
<Button Id="Mscrm.HomepageGrid.account.RunWorkflow" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunWorkflow" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.RunWorkflow" Command="Mscrm.RunWorkflowSelected" Sequence="40" LabelText="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunWorkflow" Alt="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunWorkflow" Image16by16="/_imgs/ribbon/StartWorkflow_16.png" Image32by32="/_imgs/ribbon/runworkflow32.png" TemplateAlias="o1" />
<Button Id="Mscrm.HomepageGrid.account.RunScript" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.InteractiveWorkflow.RunScript" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.RunScript" Command="Mscrm.RunInteractiveWorkflowSelected" Sequence="50" LabelText="$Resources:Ribbon.HomepageGrid.Data.InteractiveWorkflow.RunScript" Alt="$Resources:Ribbon.HomepageGrid.Data.InteractiveWorkflow.RunScript" Image16by16="/_imgs/ribbon/startdialog_16.png" Image32by32="/_imgs/ribbon/startdialog_32.png" TemplateAlias="o1" />
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.Flows.RefreshCommandBar" Sequence="60" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunFlow" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.RunFlow" Command="Mscrm.Form.Flows.ManageRunFlow" Image16by16="/_imgs/Ribbon/OpenFlows_16.png" Image32by32="/_imgs/Ribbon/OpenFlows_32.png" LabelText="$Resources:RefreshCommandBar.Flows" Alt="$Resources:RefreshCommandBar.Flows" PopulateDynamically="true" PopulateQueryCommand="Mscrm.DynamicMenu.Grid.Flows.PopulateMenu" TemplateAlias="o1" ModernImage="Flows" />
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.Flows.RefreshCommandBar.Flows" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Workflow.Flows" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.Flows" Sequence="70" Command="Mscrm.Form.Flows" Image16by16="/_imgs/Ribbon/OpenFlows_16.png" Image32by32="/_imgs/Ribbon/OpenFlows_32.png" LabelText="$Resources:RefreshCommandBar.Flows" Alt="$Resources:RefreshCommandBar.Flows" TemplateAlias="o1" ModernImage="Flows">
<Menu Id="Mscrm.HomepageGrid.account.Flows.RefreshCommandBar.Flows.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.Flows.RefreshCommandBar.Flows.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.Flows.RefreshCommandBar.Flows.Controls">
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.Flows.RefreshCommandBar.ManageFlows" Sequence="10" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Workflow.ManageFlows" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.ManageFlows" Command="Mscrm.Form.Flows" Image16by16="/_imgs/Ribbon/OpenFlows_16.png" Image32by32="/_imgs/Ribbon/OpenFlows_32.png" LabelText="$Resources:RefreshCommandBar.ManageFlows" Alt="$Resources:RefreshCommandBar.ManageFlows" PopulateDynamically="true" PopulateQueryCommand="Mscrm.DynamicMenu.Grid.Flows.PopulateStaticFlowMenu" TemplateAlias="o1" ModernImage="Flows" />
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.Flows.RefreshCommandBar.RunFlow" Sequence="20" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunFlow" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.RunFlow" Command="Mscrm.Form.Flows" Image16by16="/_imgs/Ribbon/OpenFlows_16.png" Image32by32="/_imgs/Ribbon/OpenFlows_32.png" LabelText="$Resources:RefreshCommandBar.RunFlow" Alt="$Resources:RefreshCommandBar.RunFlow" PopulateDynamically="true" PopulateQueryCommand="Mscrm.DynamicMenu.Grid.Flows.PopulateFlowMenu" TemplateAlias="o1" ModernImage="Flows" />
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.Flows.RefreshCommandBar.RunWorkflow" Sequence="30" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunWorkflow" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.RunWorkflow" Command="Mscrm.Form.Flows.RunWorkflow" Image16by16="/_imgs/Ribbon/OpenFlows_16.png" Image32by32="/_imgs/Ribbon/OpenFlows_32.png" LabelText="$Resources:RefreshCommandBar.RunWorkflow" Alt="$Resources:RefreshCommandBar.RunWorkflow" PopulateDynamically="true" PopulateQueryCommand="Mscrm.DynamicMenu.Grid.Flows.PopulateWorkFlowMenu" TemplateAlias="o1" ModernImage="Flows" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.account.MainTab.ExportData" Command="Mscrm.Enabled" Sequence="50" Title="$Resources:Ribbon.HomepageGrid.MainTab.ExportData" Image32by32Popup="/_imgs/ribbon/runreport32.png" Template="Mscrm.Templates.Flexible3">
<Controls Id="Mscrm.HomepageGrid.account.MainTab.ExportData.Controls">
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.RunReport" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Report.RunReport" ToolTipDescription="$Resources:Ribbon.Tooltip.RunReport" Command="Mscrm.ReportMenu.Grid" PopulateDynamically="true" PopulateOnlyOnce="false" PopulateQueryCommand="Mscrm.ReportsMenu.Populate.Grid" Sequence="30" LabelText="$Resources:Ribbon.HomepageGrid.Data.Report.RunReport" Alt="$Resources:Ribbon.HomepageGrid.Data.Report.RunReport" Image16by16="/_imgs/ribbon/RunReport_16.png" Image32by32="/_imgs/ribbon/runreport32.png" TemplateAlias="o1" ModernImage="Report" />
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.DocumentTemplate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.DocumentTemplate.Templates" ToolTipDescription="$Resources:Ribbon.Tooltip.DocumentTemplate" Command="Mscrm.DocumentTemplate.Templates" PopulateDynamically="true" PopulateOnlyOnce="false" PopulateQueryCommand="Mscrm.DocumentTemplate.Populate.Flyout" Sequence="35" LabelText="$Resources:Ribbon.HomepageGrid.Data.DocumentTemplate.Templates" Alt="$Resources:Ribbon.HomepageGrid.Data.DocumentTemplate.Templates" Image16by16="/_imgs/ribbon/DocumentTemplate_16.png" Image32by32="/_imgs/ribbon/SaveAsExcelTemplate_32.png" TemplateAlias="o1" ModernImage="DocumentTemplates" />
<FlyoutAnchor Id="Mscrm.HomepageGrid.account.WordTemplate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.WordTemplate.Templates" ToolTipDescription="$Resources:Ribbon.Tooltip.WordTemplate" Command="Mscrm.HomepageGrid.WordTemplate" PopulateDynamically="true" PopulateOnlyOnce="false" PopulateQueryCommand="Mscrm.HomepageGrid.WordTemplate.Populate.Flyout" Sequence="36" LabelText="$Resources:Ribbon.HomepageGrid.Data.WordTemplate.Templates" Alt="$Resources:Ribbon.HomepageGrid.Data.WordTemplate.Templates" Image16by16="/_imgs/ribbon/WordTemplate_16.png" Image32by32="/_imgs/ribbon/SaveAsWordTemplate_32.png" TemplateAlias="o1" ModernImage="WordTemplates" />
<SplitButton Id="Mscrm.HomepageGrid.account.ExportToExcel" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.ExportToExcel" ToolTipDescription="$Resources:Ribbon.Tooltip.ExportToExcel" Command="Mscrm.ExportToExcel" Sequence="40" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.ExportToExcel" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.ExportToExcel" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" TemplateAlias="o3" ModernImage="ExportToExcel">
<Menu Id="Mscrm.HomepageGrid.account.ExportToExcel.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.ExportToExcel.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.ExportToExcel.Controls">
<Button Id="Mscrm.HomepageGrid.account.ExportToExcelOnline" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.ExportToExcelOnline" ToolTipDescription="$Resources:Ribbon.Tooltip.ExportToExcelOnline" Command="Mscrm.ExportToExcel.Online" Sequence="40" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.ExportToExcelOnline" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.ExportToExcelOnline" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
<Button Id="Mscrm.HomepageGrid.account.StaticWorksheetAll" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExportAll" ToolTipDescription="$Resources:Ribbon.Tooltip.StaticExcelExportAll" Command="Mscrm.ExportToExcel.AllStaticXlsx" Sequence="41" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExportAll" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExportAll" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
<Button Id="Mscrm.HomepageGrid.account.StaticWorksheet" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExport" ToolTipDescription="$Resources:Ribbon.Tooltip.StaticExcelExport" Command="Mscrm.ExportToExcel.StaticXlsx" Sequence="42" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExport" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExport" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
<Button Id="Mscrm.HomepageGrid.account.DynamicWorkesheet" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicExcelExport" ToolTipDescription="$Resources:Ribbon.Tooltip.DynamicExcelExport" Command="Mscrm.ExportToExcel.DynamicXlsx" Sequence="43" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicExcelExport" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicExcelExport" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
<Button Id="Mscrm.HomepageGrid.account.DynamicPivotTable" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicPivotTable" ToolTipDescription="$Resources:Ribbon.Tooltip.DynamicPivotTable" Command="Mscrm.ExportToExcel.PivotXlsx" Sequence="44" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicPivotTable" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicPivotTable" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<Button Id="Mscrm.HomepageGrid.account.ExportSelectedToExcel" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.ExportSelectedToExcel" ToolTipDescription="$Resources:Ribbon.Tooltip.ExportSelectedToExcel" Command="Mscrm.ExportSelectedToExcel" Sequence="230" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.ExportSelectedToExcel" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.ExportSelectedToExcel" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" TemplateAlias="o3" ModernImage="ExportToExcel" />
<SplitButton Id="Mscrm.HomepageGrid.account.ImportDataFromExcel" Command="Mscrm.ImportDataFromExcel" Sequence="21" LabelText="$Resources:MobileClient.Commands.ImportFromExcel" ToolTipTitle="$Resources:MobileClient.Commands.ImportFromExcel" ToolTipDescription="$Resources:Ribbon.Tooltip.ImportFromExcel" ModernImage="ExportToExcel" TemplateAlias="o2">
<Menu Id="Mscrm.HomepageGrid.account.ImportDataFromExcel.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.ImportDataFromExcel.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.ImportDataFromExcel.Controls">
<Button Id="Mscrm.HomepageGrid.account.ImportDataFromCSV" Command="Mscrm.ImportDataFromCSV" Sequence="10" LabelText="$Resources:MobileClient.Commands.ImportFromCSV" ToolTipTitle="$Resources:MobileClient.Commands.ImportFromCSV" ToolTipDescription="$Resources:Ribbon.Tooltip.ImportFromCSV" ModernImage="ExportToExcel" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<SplitButton Id="Mscrm.HomepageGrid.account.Import" ToolTipTitle="$Resources:Mscrm_BasicHomeTab_Tools_ImportData_ToolTipTitle" ToolTipDescription="$Resources:Ribbon.Tooltip.ImportDataSplitButton" Command="Mscrm.ImportDataSplitButton" Sequence="50" LabelText="$Resources:Ribbon.Jewel.ImportData" Alt="$Resources:Ribbon.Jewel.ImportData" Image16by16="/_imgs/ribbon/Import16.png" Image32by32="/_imgs/ribbon/importdata32.png" TemplateAlias="o1">
<Menu Id="Mscrm.HomepageGrid.account.Import.Menu">
<MenuSection Id="Mscrm.HomepageGrid.account.Import.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.account.Import.Controls">
<Button Id="Mscrm.HomepageGrid.account.ImportData" ToolTipTitle="$Resources:Mscrm_BasicHomeTab_Tools_ImportData_ToolTipTitle" ToolTipDescription="$Resources:Mscrm_BasicHomeTab_Tools_ImportData_ToolTipDescription" Command="Mscrm.ImportData" Sequence="10" LabelText="$Resources:Ribbon.Jewel.ImportData" Alt="$Resources:Ribbon.Jewel.ImportData" Image16by16="/_imgs/ribbon/ImportData_16.png" Image32by32="/_imgs/ribbon/importdata32.png" />
<Button Id="Mscrm.HomepageGrid.account.ExportTemplate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.ExportDataTemplate" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.ExportDataTemplate" Command="Mscrm.ExportDataTemplate" Sequence="20" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.ExportDataTemplate" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.ExportDataTemplate" Image16by16="/_imgs/ribbon/ExportTemplate_16.png" Image32by32="/_imgs/ribbon/ExportTemplate_32.png" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<ToggleButton Id="Mscrm.HomepageGrid.account.MainFilters" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Filters.Filters" ToolTipDescription="$Resources:Ribbon.Tooltip.Filters" Command="Mscrm.Filters" QueryCommand="Mscrm.Filters.Query" Sequence="60" LabelText="$Resources:Ribbon.HomepageGrid.Data.Filters.Filters" Alt="$Resources:Ribbon.HomepageGrid.Data.Filters.FiltersToolTip" Image16by16="/_imgs/ribbon/filter16.png" Image32by32="/_imgs/ribbon/filter32.png" TemplateAlias="o2" />
<Button Id="Mscrm.HomepageGrid.account.AdvancedFind" Command="Mscrm.OpenGridAdvancedFind" Sequence="70" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Find.AdvancedFind" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Find.AdvancedFind" ToolTipDescription="$Resources:Ribbon.HomepageGrid.AdvancedFind.TooltipDescription" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Find.AdvancedFind" Image16by16="/_imgs/ribbon/AdvancedFind_16.png" Image32by32="/_imgs/ribbon/advancedfind32.png" TemplateAlias="o3" />
<Button Id="Mscrm.HomepageGrid.account.Meqf" Command="Mscrm.OpenMultipleEntityQuickFindSearch" Sequence="80" LabelText="$Resources:Search_LaunchButton_Tooltip" ToolTipTitle="$Resources:Search_LaunchButton_Tooltip" ToolTipDescription="$Resources:Ribbon.HomepageGrid.MultipleEntityQuickFind.TooltipDescription" Alt="$Resources:Search_LaunchButton_Tooltip" Image16by16="/_imgs/search_normal.gif" Image32by32="/_imgs/search_normal.gif" TemplateAlias="o4" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.account.MainTab.OutlookHelp" Command="Mscrm.OutlookHelp" Sequence="70" Title="$Resources:Ribbon.Jewel.HelpMenu" Template="Mscrm.Templates.3">
<Controls Id="Mscrm.HomepageGrid.account.MainTab.OutlookHelp.Controls">
<Button Id="Mscrm.HomepageGrid.account.Help" ToolTipTitle="$Resources:Ribbon.Jewel.HelpMenu" ToolTipDescription="$Resources:Mscrm_Jewel_Help_Flyout_ToolTipDescription" Command="Mscrm.OutlookHelp" Sequence="10" LabelText="$Resources:Ribbon.Jewel.HelpMenu" Image16by16="/_imgs/ribbon/Help_16.png" Image32by32="/_imgs/ribbon/Help_32.png" TemplateAlias="o1" />
</Controls>
</Group>
</Groups>
</Tab>
<Tab Id="Mscrm.HomepageGrid.account.View" Command="Mscrm.HomepageGrid.account.View" Title="$Resources:Ribbon.HomepageGrid.View.TabName" Description="$Resources:Ribbon.HomepageGrid.View.TabName" Sequence="110">
<Scaling Id="Mscrm.HomepageGrid.account.View.Scaling">
<MaxSize Id="Mscrm.HomepageGrid.account.View.Grid.MaxSize" GroupId="Mscrm.HomepageGrid.account.View.Grid" Sequence="10" Size="LargeLarge" />
<MaxSize Id="Mscrm.HomepageGrid.account.View.Refresh.MaxSize" GroupId="Mscrm.HomepageGrid.account.View.Refresh" Sequence="20" Size="Large" />
<Scale Id="Mscrm.HomepageGrid.account.View.Grid.Scale.1" GroupId="Mscrm.HomepageGrid.account.View.Grid" Sequence="30" Size="LargeMedium" />
<Scale Id="Mscrm.HomepageGrid.account.View.Grid.Scale.2" GroupId="Mscrm.HomepageGrid.account.View.Grid" Sequence="40" Size="LargeSmall" />
<Scale Id="Mscrm.HomepageGrid.account.View.Grid.Scale.3" GroupId="Mscrm.HomepageGrid.account.View.Grid" Sequence="50" Size="Popup" />
<Scale Id="Mscrm.HomepageGrid.account.View.Refresh.Scale.1" GroupId="Mscrm.HomepageGrid.account.View.Refresh" Sequence="60" Size="Popup" />
</Scaling>
<Groups Id="Mscrm.HomepageGrid.account.View.Groups">
<Group Id="Mscrm.HomepageGrid.account.View.Grid" Command="Mscrm.FiltersGroup" Sequence="11" Title="$Resources:Ribbon.HomepageGrid.View.Grid" Image32by32Popup="/_imgs/ribbon/setasdefaultview32.png" Template="Mscrm.Templates.Flexible2">
<Controls Id="Mscrm.HomepageGrid.account.View.Grid.Controls">
<Button Id="Mscrm.HomepageGrid.account.SaveAsDefaultGridView" ToolTipTitle="$Resources:Mscrm_HomepageGrid_Other_View_Filters_SaveAsDefaultGridView_ToolTipTitle" ToolTipDescription="$Resources:Ribbon.Tooltip.SaveAsDefaultGridView" Command="Mscrm.SaveAsDefaultGridView" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveAsDefaultGridView" Alt="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveAsDefaultGridViewToolTip" Image16by16="/_imgs/ribbon/SaveViewAsDefault_16.png" Image32by32="/_imgs/ribbon/setasdefaultview32.png" TemplateAlias="o1" />
<Button Id="Mscrm.HomepageGrid.account.CustomizePreviewPane" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Filters.CustomizePreviewPane" ToolTipDescription="$Resources:Ribbon.Tooltip.CustomizePreviewPane" Command="Mscrm.CustomizePreviewPane" Sequence="21" LabelText="$Resources:Ribbon.HomepageGrid.Data.Filters.CustomizePreviewPane" Image16by16="/_imgs/ribbon/CustomPreviewPane_16.png" Image32by32="/_imgs/ribbon/CustomPreviewPane_32.png" TemplateAlias="o1" />
<ToggleButton Id="Mscrm.HomepageGrid.account.ViewFilters" ToolTipTitle="$Resources:Ribbon.HomepageGrid.View.Data.Filters" ToolTipDescription="$Resources:Ribbon.Tooltip.Filters" Command="Mscrm.Filters" QueryCommand="Mscrm.Filters.Query" Sequence="23" LabelText="$Resources:Ribbon.HomepageGrid.View.Data.Filters" Alt="$Resources:Ribbon.HomepageGrid.View.Grid.FiltersToolTip" Image16by16="/_imgs/ribbon/filter16.png" Image32by32="/_imgs/ribbon/filter32.png" TemplateAlias="o1" />
<Button Id="Mscrm.HomepageGrid.account.SaveToCurrent" ToolTipTitle="$Resources:Mscrm_HomepageGrid_Other_View_Filters_SaveToCurrent_ToolTipTitle" ToolTipDescription="$Resources:Ribbon.Tooltip.SaveFiltersToCurrentView" Command="Mscrm.SaveToCurrentView" Sequence="27" LabelText="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveToCurrent" Alt="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveToCurrentToolTip" Image16by16="/_imgs/ribbon/savefilters16.png" Image32by32="/_imgs/ribbon/savefilters32.png" TemplateAlias="o2" />
<Button Id="Mscrm.HomepageGrid.account.SaveAsNew" ToolTipTitle="$Resources:Ribbon.HomepageGrid.View.Grid.SaveAsNew" ToolTipDescription="$Resources:Ribbon.Tooltip.SaveFiltersToNewView" Command="Mscrm.SaveAsNewView" Sequence="30" LabelText="$Resources:Ribbon.HomepageGrid.View.Grid.SaveAsNew" Alt="$Resources:Ribbon.HomepageGrid.View.Grid.SaveAsNewToolTip" Image16by16="/_imgs/ribbon/SaveFiltersAsNewView_16.png" Image32by32="/_imgs/ribbon/savefiltersasview32.png" TemplateAlias="o2" />
<Button Id="Mscrm.HomepageGrid.account.NewView" ToolTipTitle="$Resources:Ribbon.HomepageGrid.View.Grid.NewViewTooltip" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.HomepageGrid.View.Grid.NewViewTooltipDescription" Command="Mscrm.NewPersonalView" Sequence="40" LabelText="$Resources:Ribbon.HomepageGrid.View.Grid.NewView" Alt="$Resources:Ribbon.HomepageGrid.View.Grid.NewView" Image16by16="/_imgs/ribbon/NewView_16.png" Image32by32="/_imgs/ribbon/NewView_32.png" TemplateAlias="o2" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.account.View.Refresh" Command="Mscrm.Enabled" Sequence="30" Title="$Resources:Ribbon.HomepageGrid.MainTab.ViewGroup" Description="$Resources:Ribbon.HomepageGrid.MainTab.ViewGroup" Image32by32Popup="/_imgs/ribbon/Refresh_32.png" Template="Mscrm.Templates.3">
<Controls Id="Mscrm.HomepageGrid.account.View.Refresh.Controls">
<Button Id="Mscrm.HomepageGrid.account.RefreshButton" Command="Mscrm.RefreshGrid" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.View.Grid.Refresh" Alt="$Resources:Ribbon.HomepageGrid.View.Grid.Refresh" Image16by16="/_imgs/ribbon/Refresh16.png" Image32by32="/_imgs/ribbon/Refresh_32.png" TemplateAlias="o1" ToolTipTitle="$Resources:Mscrm_HomepageGrid_Other_View_Grid_Refresh_ToolTipTitle" ToolTipDescription="$Resources:Mscrm_HomepageGrid_Other_View_Grid_Refresh_ToolTipDescription" />
</Controls>
</Group>
</Groups>
</Tab>
</Tabs>
<ContextualTabs Id="Mscrm.ContextualTabs">
<ContextualGroup Id="Mscrm.VisualizationTools" Command="Mscrm.VisualizationTools.Command" Color="Orange" ContextualGroupId="Mscrm.VisualizationTools" Title="$Resources:Ribbon.VisualizationTools.FlareHeading" Sequence="1000">
<Tab Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab" Command="Mscrm.VisualizationTab.Command" Description="$Resources:Ribbon.VisualizationTab.Description" Title="$Resources:Ribbon.VisualizationTab.TabHeading" Sequence="10">
<Scaling Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Scaling">
<MaxSize Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save.MaxSize" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save" Sequence="10" Size="Large" />
<MaxSize Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.MaxSize" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts" Sequence="20" Size="Large" />
<MaxSize Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.MaxSize" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom" Sequence="30" Size="Large" />
<MaxSize Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Close.MaxSize" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Close" Sequence="40" Size="Large" />
<Scale Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Medium" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts" Sequence="50" Size="MediumMedium" />
<Scale Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save.Medium" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save" Sequence="60" Size="Medium" />
<Scale Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Medium" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom" Sequence="70" Size="Medium" />
<Scale Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Popup" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts" Sequence="80" Size="Popup" />
<Scale Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save.Popup" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save" Sequence="90" Size="Popup" />
<Scale Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Popup" GroupId="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom" Sequence="100" Size="Popup" />
</Scaling>
<Groups Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Groups">
<Group Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save" Command="Mscrm.Enabled" Sequence="20" Description="$Resources:Ribbon.VisualizationTab.Save.Description" Title="$Resources:Ribbon.VisualizationTab.Save.Title" Image32by32Popup="/_imgs/ribbon/Save_32.png" Template="Mscrm.Templates.OneLargeTwoMedium">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save.Controls">
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save.Save" Command="Mscrm.VisualizationTab.SaveChart" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.Save.Save.Label" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Save.Save.ToolTipTitle" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Save.Save.ToolTipDescription" Image16by16="/_imgs/ribbon/savechart16.png" Image32by32="/_imgs/ribbon/Save_32.png" TemplateAlias="o1" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save.SaveAndClose" Command="Mscrm.VisualizationTab.SaveAndCloseChart" Sequence="20" LabelText="$Resources:Ribbon.VisualizationTab.Save.SaveAndClose.Label" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Save.SaveAndClose.ToolTipTitle" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Save.SaveAndClose.ToolTipDescription" Image16by16="/_imgs/FormEditorRibbon/SaveAndClose_16.png" Image32by32="/_imgs/ribbon/SaveAndCloseChart_32.png" TemplateAlias="o2" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Save.Copy" Command="Mscrm.VisualizationTab.CopyChart" Sequence="30" LabelText="$Resources:Ribbon.VisualizationTab.Save.Copy.Label" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Save.Copy.ToolTipTitle" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Save.Copy.ToolTipDescription" Image16by16="/_imgs/ribbon/SaveAsChart16.png" Image32by32="/_imgs/ribbon/saveaschart32.png" TemplateAlias="o2" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.ExpandChart" Command="Mscrm.VisualizationTab.ExpandChart" Sequence="35" LabelText="$Resources:Ribbon.VisualizationTab.Management.Expand.Label" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Management.Expand.ToolTipTitle" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Management.Expand.ToolTipDescription" Image16by16="/_imgs/ribbon/ExpandChart16.png" Image32by32="/_imgs/ribbon/expandchart32.png" TemplateAlias="o2" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts" Command="Mscrm.VisualizationTab.ChartsGroup" Sequence="30" Description="$Resources:Ribbon.VisualizationTab.Charts.Description" Title="$Resources:Ribbon.VisualizationTab.Charts.Title" Image32by32Popup="/_imgs/ribbon/ChartsBarGraph_32.png" Template="Mscrm.Templates.VisualizationDesigner.Charts">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Controls">
<FlyoutAnchor Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.ColumnFlyout" Command="Mscrm.VisualizationDesignerTab.ColumnFlyout" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.Charts.ColumnFlyout" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.ColumnFlyout" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.ColumnFlyout.ToolTip" Image16by16="/_imgs/ribbon/ColumnChart16.png" Image32by32="/_imgs/ribbon/ColumnChart32.png" TemplateAlias="o1">
<Menu Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Column.Menu">
<MenuSection Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Column.MenuSection0" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Column.Controls0">
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Column.Column" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.Column" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.Column.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.Column" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.Charts.Column" Alt="$Resources:Ribbon.VisualizationTab.Charts.Column" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Column.StackedColumn" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.StackedColumn" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.StackedColumn.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.StackedColumn" Sequence="20" LabelText="$Resources:Ribbon.VisualizationTab.Charts.StackedColumn" Alt="$Resources:Ribbon.VisualizationTab.Charts.StackedColumn" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Column.StackedColumn100" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.StackedColumn100" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.StackedColumn100.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.StackedColumn100" Sequence="30" LabelText="$Resources:Ribbon.VisualizationTab.Charts.StackedColumn100" Alt="$Resources:Ribbon.VisualizationTab.Charts.StackedColumn100" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
<FlyoutAnchor Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.BarFlyout" Command="Mscrm.VisualizationDesignerTab.BarFlyout" Sequence="20" LabelText="$Resources:Ribbon.VisualizationTab.Charts.Bar" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.Bar" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.Bar.Tooltip" Image16by16="/_imgs/ribbon/BarChart16.png" Image32by32="/_imgs/ribbon/BarChart32.png" TemplateAlias="o1">
<Menu Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Bar.Menu">
<MenuSection Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Bar.MenuSection0" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Bar.Controls0">
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Bar.Bar" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.Bar" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.Bar.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.Bar" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.Charts.Bar" Alt="$Resources:Ribbon.VisualizationTab.Charts.Bar" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Bar.StackedBar" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.StackedBar" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.StackedBar.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.StackedBar" Sequence="20" LabelText="$Resources:Ribbon.VisualizationTab.Charts.StackedBar" Alt="$Resources:Ribbon.VisualizationTab.Charts.StackedBar" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Bar.StackedBar100" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.StackedBar100" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.StackedBar100.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.StackedBar100" Sequence="30" LabelText="$Resources:Ribbon.VisualizationTab.Charts.StackedBar100" Alt="$Resources:Ribbon.VisualizationTab.Charts.StackedBar100" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
<FlyoutAnchor Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.AreaFlyout" Command="Mscrm.VisualizationDesignerTab.AreaFlyout" Sequence="30" LabelText="$Resources:Ribbon.VisualizationTab.Charts.Area" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.Area" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.Area.Tooltip" Image16by16="/_imgs/visualization/areaChart_16.png" Image32by32="/_imgs/visualization/areaChart_32.png" TemplateAlias="o1">
<Menu Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Area.Menu">
<MenuSection Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Area.MenuSection0" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Area.Controls0">
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Area.Area" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.Area" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.Area.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.Area" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.Charts.Area" Alt="$Resources:Ribbon.VisualizationTab.Charts.Area" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Area.StackedArea" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.StackedArea" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.StackedArea.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.StackedArea" Sequence="20" LabelText="$Resources:Ribbon.VisualizationTab.Charts.StackedArea" Alt="$Resources:Ribbon.VisualizationTab.Charts.StackedArea" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Area.StackedArea100" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.StackedArea100" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.StackedArea100.Tooltip" Command="Mscrm.VisualizationDesignerTab.Charts.StackedArea100" Sequence="30" LabelText="$Resources:Ribbon.VisualizationTab.Charts.StackedArea100" Alt="$Resources:Ribbon.VisualizationTab.Charts.StackedArea100" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Line" Command="Mscrm.VisualizationDesignerTab.LineChart" Sequence="40" LabelText="$Resources:Ribbon.VisualizationTab.Charts.Line" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.Line" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.Line.ToolTip" Image16by16="/_imgs/ribbon/linechart16.png" Image32by32="/_imgs/ribbon/linechart32.png" TemplateAlias="o1" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Pie" Command="Mscrm.VisualizationDesignerTab.PieChart" Sequence="50" LabelText="$Resources:Ribbon.VisualizationTab.Charts.Pie" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.Pie" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.Pie.ToolTip" Image16by16="/_imgs/ribbon/piechart16.png" Image32by32="/_imgs/ribbon/piechart32.png" TemplateAlias="o1" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Charts.Other" Command="Mscrm.VisualizationDesignerTab.FunnelChart" Sequence="60" LabelText="$Resources:Ribbon.VisualizationTab.Charts.Funnel" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Charts.Funnel" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Charts.Funnel.ToolTip" Image16by16="/_imgs/ribbon/funnelchart16.png" Image32by32="/_imgs/ribbon/funnelchart32.png" TemplateAlias="o1" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom" Command="Mscrm.VisualizationTab.ChartsGroup" Sequence="40" Description="$Resources:Ribbon.VisualizationTab.TopBottom.Description" Title="$Resources:Ribbon.VisualizationTab.TopBottom.Title" Image32by32Popup="/_imgs/placeholders/ribbon_placeholder_32.png" Template="Mscrm.Templates.ThreeLargeThreeMedium">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Controls">
<FlyoutAnchor Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.TopFlyout" Command="Mscrm.VisualizationDesignerTab.TopFlyout" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.Top" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.Top" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.Top.ToolTip" Image16by16="/_imgs/visualization/topRules_16.png" Image32by32="/_imgs/visualization/topRules_32.png" TemplateAlias="o1">
<Menu Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Top.Menu">
<MenuSection Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Top.MenuSection0" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Top.Controls0">
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Top3" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.Top3" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.Top3.ToolTip" Command="Mscrm.VisualizationDesignerTab.TopBottom.Top3" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.Top3" Alt="$Resources:Ribbon.VisualizationTab.TopBottom.Top3" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Top5" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.Top5" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.Top5.ToolTip" Command="Mscrm.VisualizationDesignerTab.TopBottom.Top5" Sequence="20" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.Top5" Alt="$Resources:Ribbon.VisualizationTab.TopBottom.Top5" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.TopX" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.TopX" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.TopX.ToolTip" Command="Mscrm.VisualizationDesignerTab.TopBottom.TopX" Sequence="30" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.TopX" Alt="$Resources:Ribbon.VisualizationTab.TopBottom.TopX" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
<FlyoutAnchor Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.BottomFlyout" Command="Mscrm.VisualizationDesignerTab.BottomFlyout" Sequence="20" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom.ToolTip" Image16by16="/_imgs/visualization/bottomRules_16.png" Image32by32="/_imgs/visualization/bottomRules_32.png" TemplateAlias="o2">
<Menu Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Bottom.Menu">
<MenuSection Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Bottom.MenuSection0" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Bottom.Controls0">
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Bottom3" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom3" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom3.ToolTip" Command="Mscrm.VisualizationDesignerTab.TopBottom.Bottom3" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom3" Alt="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom3" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Bottom5" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom5" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom5.ToolTip" Command="Mscrm.VisualizationDesignerTab.TopBottom.Bottom5" Sequence="20" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom5" Alt="$Resources:Ribbon.VisualizationTab.TopBottom.Bottom5" />
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.BottomX" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.BottomX" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.BottomX.ToolTip" Command="Mscrm.VisualizationDesignerTab.TopBottom.BottomX" Sequence="30" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.BottomX" Alt="$Resources:Ribbon.VisualizationTab.TopBottom.BottomX" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.TopBottom.Clear" ToolTipTitle="$Resources:Ribbon.VisualizationTab.TopBottom.Clear" ToolTipDescription="$Resources:Ribbon.VisualizationTab.TopBottom.Clear.ToolTip" Command="Mscrm.VisualizationDesignerTab.TopBottom.Clear" Sequence="30" LabelText="$Resources:Ribbon.VisualizationTab.TopBottom.Clear" Alt="$Resources:Ribbon.VisualizationTab.TopBottom.Clear.ToolTip" Image16by16="/_imgs/visualization/clearRules_16.png" TemplateAlias="o2" />
</Controls>
</Group>
<Group Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Close" Command="Mscrm.Enabled" Sequence="70" Description="$Resources:Ribbon.VisualizationTab.Close.Description" Title="$Resources:Ribbon.VisualizationTab.Close.Title" Image32by32Popup="/_imgs/ribbon/Close_32.png" Template="Mscrm.Templates.Flexible">
<Controls Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Close.Controls">
<Button Id="Mscrm.HomepageGrid.AllEntities.VisualizationTab.Close.Close" Command="Mscrm.VisualizationTab.CloseDesigner" Sequence="10" LabelText="$Resources:Ribbon.VisualizationTab.Close.Close.Label" ToolTipTitle="$Resources:Ribbon.VisualizationTab.Close.Close.ToolTipTitle" ToolTipDescription="$Resources:Ribbon.VisualizationTab.Close.Close.ToolTipDescription" Image16by16="/_imgs/ribbon/Close_16.png" Image32by32="/_imgs/ribbon/Close_32.png" TemplateAlias="o1" />
</Controls>
</Group>
</Groups>
</Tab>
</ContextualGroup>
<ContextualGroup Id="Mscrm.SubGrid.account.ContextualTabs" Command="Mscrm.SubGrid.account.ContextualTabs" Color="LightBlue" ContextualGroupId="Mscrm.SubGrid.account.ContextualTabs" Title="$Resources:Ribbon.SubGridFlare" Sequence="10">
<Tab Id="Mscrm.SubGrid.account.MainTab" Command="Mscrm.SubGrid.account.MainTab" Title="Accounts" Description="Account" Sequence="10">
<Scaling Id="Mscrm.SubGrid.account.MainTab.Scaling">
<MaxSize Id="Mscrm.SubGrid.account.MainTab.Management.MaxSize" GroupId="Mscrm.SubGrid.account.MainTab.Management" Sequence="10" Size="LargeMedium" />
<MaxSize Id="Mscrm.SubGrid.account.MainTab.Actions.MaxSize" GroupId="Mscrm.SubGrid.account.MainTab.Actions" Sequence="20" Size="LargeMediumLargeLarge" />
<MaxSize Id="Mscrm.SubGrid.account.MainTab.Collaborate.MaxSize" GroupId="Mscrm.SubGrid.account.MainTab.Collaborate" Sequence="30" Size="LargeMediumLargeMedium" />
<MaxSize Id="Mscrm.SubGrid.account.MainTab.Filters.MaxSize" GroupId="Mscrm.SubGrid.account.MainTab.Filters" Sequence="40" Size="LargeMedium" />
<MaxSize Id="Mscrm.SubGrid.account.MainTab.Layout.MaxSize" GroupId="Mscrm.SubGrid.account.MainTab.Layout" Sequence="50" Size="Large" />
<MaxSize Id="Mscrm.SubGrid.account.MainTab.Workflow.MaxSize" GroupId="Mscrm.SubGrid.account.MainTab.Workflow" Sequence="60" Size="Large" />
<MaxSize Id="Mscrm.SubGrid.account.MainTab.ExportData.MaxSize" GroupId="Mscrm.SubGrid.account.MainTab.ExportData" Sequence="80" Size="LargeMediumLarge" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Filters.Scale.1" GroupId="Mscrm.SubGrid.account.MainTab.Filters" Sequence="90" Size="LargeSmall" />
<Scale Id="Mscrm.SubGrid.account.MainTab.ExportData.Scale.1" GroupId="Mscrm.SubGrid.account.MainTab.ExportData" Sequence="110" Size="LargeSmallLarge" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Actions.Scale.1" GroupId="Mscrm.SubGrid.account.MainTab.Actions" Sequence="120" Size="LargeSmallLargeSmall" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Management.Scale.1" GroupId="Mscrm.SubGrid.account.MainTab.Management" Sequence="130" Size="LargeSmall" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Collaborate.Scale.1" GroupId="Mscrm.SubGrid.account.MainTab.Collaborate" Sequence="140" Size="LargeSmallLargeSmall" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Filters.Scale.2" GroupId="Mscrm.SubGrid.account.MainTab.Filters" Sequence="150" Size="Popup" />
<Scale Id="Mscrm.SubGrid.account.MainTab.ExportData.Scale.2" GroupId="Mscrm.SubGrid.account.MainTab.ExportData" Sequence="170" Size="Popup" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Management.Scale.2" GroupId="Mscrm.SubGrid.account.MainTab.Management" Sequence="180" Size="Popup" PopupSize="LargeSmall" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Actions.Scale.2" GroupId="Mscrm.SubGrid.account.MainTab.Actions" Sequence="190" Size="Popup" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Layout.Scale.1" GroupId="Mscrm.SubGrid.account.MainTab.Layout" Sequence="200" Size="Popup" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Workflow.Scale.1" GroupId="Mscrm.SubGrid.account.MainTab.Workflow" Sequence="210" Size="Popup" />
<Scale Id="Mscrm.SubGrid.account.MainTab.Collaborate.Scale.2" GroupId="Mscrm.SubGrid.account.MainTab.Collaborate" Sequence="220" Size="Popup" />
</Scaling>
<Groups Id="Mscrm.SubGrid.account.MainTab.Groups">
<Group Id="Mscrm.SubGrid.account.MainTab.Management" Command="Mscrm.Enabled" Sequence="10" Title="$Resources:Ribbon.HomepageGrid.MainTab.Management" Description="$Resources:Ribbon.HomepageGrid.MainTab.Management" Image32by32Popup="/_imgs/ribbon/newrecord32.png" Template="Mscrm.Templates.Flexible2">
<Controls Id="Mscrm.SubGrid.account.MainTab.Management.Controls">
<Button Id="MailApp.SubGrid.SetRegarding.account.Button" Command="MailApp.SubGrid.SetRegardingCommand" Sequence="1" LabelText="$LocLabels:MailApp.SubGrid.SetRegarding.Button.Label" ToolTipTitle="$LocLabels:MailApp.SubGrid.SetRegarding.Button.ToolTip" TemplateAlias="o1" ModernImage="LinkArticle" />
<Button Id="Mscrm.SubGrid.account.NewRecord" ToolTipTitle="$Resources(EntityDisplayName):Ribbon.SubGrid.MainTab.New" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.New" Command="Mscrm.NewRecordFromGrid" Sequence="10" LabelText="$Resources(EntityDisplayName):Ribbon.SubGrid.MainTab.New" Image16by16="/_imgs/ribbon/New_16.png" Image32by32="/_imgs/ribbon/newrecord32.png" TemplateAlias="o1" ModernImage="New" />
<Button Id="Mscrm.SubGrid.account.AddListMember" ToolTipTitle="$LocLabels:Ribbon.SubGrid.account.AddListMember" ToolTipDescription="$LocLabels(EntityDisplayName):Ribbon.Tooltip.AddListMember" Command="Mscrm.AddMembers" Sequence="11" Alt="$LocLabels:Ribbon.SubGrid.account.AddListMember" LabelText="$LocLabels:Ribbon.SubGrid.account.AddListMember" ModernImage="BulletListAdd" TemplateAlias="o1" />
<Button Id="Mscrm.SubGrid.account.OpenAssociatedGridViewStandard" Command="Mscrm.OpenAssociatedGridViewOnLiteGridStandard" Sequence="15" LabelText="$Resources(EntityDisplayName):Ribbon.SubGrid.OpenAssociatedGridView" Alt="$Resources(EntityDisplayName):Ribbon.SubGrid.OpenAssociatedGridView" Image16by16="/_imgs/ribbon/OpenAssociatedGridView16.png" Image32by32="/_imgs/ribbon/OpenAssociatedGridView32.png" TemplateAlias="o1" ToolTipTitle="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_OpenAssociatedGridViewStandard_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_OpenAssociatedGridViewStandard_ToolTipDescription" />
<Button Id="Mscrm.SubGrid.account.AddNewStandard" Command="Mscrm.AddNewRecordFromSubGridStandard" Sequence="20" LabelText="$Resources(EntityDisplayName):Ribbon.SubGrid.AddNew" Alt="$Resources(EntityDisplayName):Ribbon.SubGrid.AddNew" Image16by16="/_imgs/ribbon/New_16.png" Image32by32="/_imgs/ribbon/newrecord32.png" TemplateAlias="o1" ToolTipTitle="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_AddNewStandard_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_AddNewStandard_ToolTipDescription" ModernImage="New" />
<Button Id="Mscrm.SubGrid.account.AddExistingStandard" Command="Mscrm.AddExistingRecordFromSubGridStandard" Sequence="30" LabelText="$Resources(EntityDisplayName):Ribbon.SubGrid.AddExisting" Alt="$Resources(EntityDisplayName):Ribbon.SubGrid.AddExisting" Image16by16="/_imgs/ribbon/AddExistingStandard_16.png" Image32by32="/_imgs/ribbon/AddExistingStandard_32.png" TemplateAlias="o1" ToolTipTitle="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_AddExistingStandard_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_AddExistingStandard_ToolTipDescription" ModernImage="AddExisting" />
<Button Id="Mscrm.SubGrid.account.AddExistingAssoc" Command="Mscrm.AddExistingRecordFromSubGridAssociated" Sequence="40" LabelText="$Resources(EntityDisplayName):Ribbon.SubGrid.AddExisting" Alt="$Resources(EntityDisplayName):Ribbon.SubGrid.AddExisting" Image16by16="/_imgs/ribbon/AddExistingStandard_16.png" Image32by32="/_imgs/ribbon/AddExistingStandard_32.png" TemplateAlias="o1" ToolTipTitle="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_AddExistingAssoc_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_AddExistingAssoc_ToolTipDescription" ModernImage="AddExisting" />
<Button Id="Mscrm.SubGrid.account.Edit" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Management.Edit" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.Edit" Command="Mscrm.EditSelectedRecord" Sequence="50" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Management.Edit" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Management.Edit" Image16by16="/_imgs/ribbon/Edit_16.png" Image32by32="/_imgs/ribbon/edit32.png" TemplateAlias="o1" ModernImage="Edit" />
<Button Id="Mscrm.SubGrid.account.Activate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Status.Activate" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.Activate" Command="Mscrm.HomepageGrid.Activate" Sequence="60" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Status.Activate" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Status.Activate" Image16by16="/_imgs/ribbon/Activate_16.png" Image32by32="/_imgs/ribbon/Activate_32.png" TemplateAlias="o2" ModernImage="Activate" />
<Button Id="Mscrm.SubGrid.account.Deactivate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Status.Deactivate" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.Deactivate" Command="Mscrm.HomepageGrid.Deactivate" Sequence="70" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Status.Deactivate" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Status.Deactivate" Image16by16="/_imgs/ribbon/Deactivate_16.png" Image32by32="/_imgs/ribbon/Deactivate_32.png" TemplateAlias="o2" ModernImage="DeActivate" />
<Button Id="Mscrm.SubGrid.account.Delete" ToolTipTitle="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_Delete_ToolTipTitle" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.HomepageGrid.Tooltip.Delete" Command="Mscrm.DeleteSelectedRecord" Sequence="80" LabelText="$Resources(EntityDisplayName):Ribbon.SubGrid.MainTab.Management.Delete" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Image16by16="/_imgs/ribbon/Delete_16.png" Image32by32="/_imgs/Workplace/remove_32.png" TemplateAlias="o2" ModernImage="Remove" />
<Button Id="Mscrm.SubGrid.account.Remove" Command="Mscrm.RemoveSelectedRecord" Sequence="90" LabelText="$Resources:MenuItem_Label_Remove" Alt="$Resources:MenuItem_Label_Remove" Image16by16="/_imgs/ribbon/Delete_16.png" Image32by32="/_imgs/Workplace/Remove_32.png" TemplateAlias="o2" ToolTipTitle="$Resources:Mscrm_SubGrid_Other_MainTab_Management_Remove_ToolTipTitle" ToolTipDescription="$Resources:Mscrm_SubGrid_Other_MainTab_Management_Remove_ToolTipDescription" ModernImage="Remove" />
<Button Id="Mscrm.SubGrid.account.BulkDelete" Command="Mscrm.HomepageGrid.BulkDelete" Sequence="100" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Management.BulkDelete" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Management.BulkDelete" ToolTipDescription="$Resources:Ribbon.HomepageGrid.MainTab.Management.BulkDelete.TooltipDescription" Image16by16="/_imgs/ribbon/BulkDelete_16.png" Image32by32="/_imgs/ribbon/BulkDelete_32.png" TemplateAlias="o2" ModernImage="DeleteBulk" />
<Button Id="Mscrm.SubGrid.account.MergeRecords" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" ToolTipDescription="$Resources:Ribbon.Tooltip.Merge" Command="Mscrm.HomepageGrid.account.MergeRecords" Sequence="109" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" Image16by16="/_imgs/ribbon/MergeRecords_16.png" Image32by32="/_imgs/ribbon/MergeRecords_32.png" TemplateAlias="o2" ModernImage="MergeRecords" />
<FlyoutAnchor Id="Mscrm.SubGrid.account.Detect" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.DetectDuplicates" Command="Mscrm.HomepageGrid.DetectDupes" Sequence="110" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect" Image16by16="/_imgs/ribbon/DuplicateDetection_16.png" Image32by32="/_imgs/ribbon/DuplicateDetection_32.png" TemplateAlias="o2">
<Menu Id="Mscrm.SubGrid.account.Detect.Menu">
<MenuSection Id="Mscrm.SubGrid.account.Detect.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.SubGrid.account.Detect.Controls">
<Button Id="Mscrm.SubGrid.account.Detect.Selected" Command="Mscrm.HomepageGrid.DetectDupesSelected" Sequence="10" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect.Selected" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect.Selected" Image16by16="/_imgs/ribbon/SelectedRecords_16.png" Image32by32="/_imgs/ribbon/DuplicateDetection_32.png" ToolTipTitle="$Resources:Mscrm_SubGrid_Other_MainTab_Management_Detect_Selected_ToolTipTitle" ToolTipDescription="$Resources:Mscrm_SubGrid_Other_MainTab_Management_Detect_Selected_ToolTipDescription" />
<Button Id="Mscrm.SubGrid.account.Detect.All" Command="Mscrm.HomepageGrid.DetectDupesAll" Sequence="20" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect.All" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Dupe.Detect.All" Image16by16="/_imgs/ribbon/DetectAll_16.png" Image32by32="/_imgs/ribbon/DetectAll_32.png" ToolTipTitle="$Resources:Mscrm_SubGrid_Other_MainTab_Management_Detect_All_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Management_Detect_All_ToolTipDescription" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
<FlyoutAnchor Id="Mscrm.SubGrid.account.ChangeDataSetControlButton" ToolTipTitle="$Resources:MobileClient.Commands.ChangeControl" ToolTipDescription="$Resources:WebClient.Commands.ChangeControl.Description" Command="Mscrm.ChangeControlCommand" Sequence="25" LabelText="$Resources:MobileClient.Commands.ChangeControl" Alt="$Resources:WebClient.Commands.ChangeControl.Description" Image16by16="/_imgs/ribbon/SendView_16.png" PopulateDynamically="true" PopulateQueryCommand="Mscrm.DynamicMenu.ChangeControlCommand" TemplateAlias="o1" />
</Controls>
</Group>
<Group Id="Mscrm.SubGrid.account.MainTab.ModernClient" Command="Mscrm.Enabled" Sequence="11" Template="Mscrm.Templates.Flexible">
<Controls Id="Mscrm.SubGrid.account.MainTab.ModernClient.Controls">
<Button Id="Mscrm.SubGrid.account.RefreshButton" Command="Mscrm.Modern.refreshCommand" ModernCommandType="ControlCommand" Sequence="17" LabelText="$Resources:MobileClient.Commands.Refresh" ModernImage="Refresh" TemplateAlias="o1" />
</Controls>
</Group>
<Group Id="Mscrm.SubGrid.account.MainTab.Actions" Command="Mscrm.Enabled" Sequence="20" Title="$Resources:Ribbon.HomepageGrid.MainTab.Actions" Image32by32Popup="/_imgs/ribbon/Actions_32.png" Template="Mscrm.Templates.Flexible4">
<Controls Id="Mscrm.SubGrid.account.MainTab.Actions.Controls">
<Button Id="Mscrm.SubGrid.account.CreateOpportunityForMembers" ToolTipTitle="$LocLabels:Ribbon.Account.CreateOpportunityForMembers" ToolTipDescription="$LocLabels:Ribbon.Account.CreateOpportunityForMembers.ToolTip" Command="Mscrm.CreateOpportunityForMembers" Sequence="70" Alt="$LocLabels:Ribbon.Account.CreateOpportunityForMembers" LabelText="$LocLabels:Ribbon.Account.CreateOpportunityForMembers" Image16by16="$webresource:Marketing/_images/SFA/CreateOpportunityForMembers_16.png" Image32by32="$webresource:Marketing/_images/SFA/CreateOpportunityForMembers_32.png" TemplateAlias="o2" ModernImage="OpportunitiesList" />
</Controls>
</Group>
<Group Id="Mscrm.SubGrid.account.MainTab.Collaborate" Command="Mscrm.Enabled" Sequence="30" Title="$Resources:Ribbon.HomepageGrid.MainTab.Collaborate" Image32by32Popup="/_imgs/ribbon/Assign_32.png" Template="Mscrm.Templates.Flexible4">
<Controls Id="Mscrm.SubGrid.account.MainTab.Collaborate.Controls">
<Button Id="Mscrm.SubGrid.account.AddEmail" Command="Mscrm.AddEmailToSelectedRecord" Sequence="10" ToolTipTitle="$Resources:Ribbon.HomepageGrid.SendDirectEmail.ToolTip" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.DirectEmail" LabelText="$Resources:Ribbon.HomepageGrid.SendDirectEmail" Alt="$Resources:Ribbon.HomepageGrid.SendDirectEmail" Image16by16="/_imgs/ribbon/AddEmail_16.png" Image32by32="/_imgs/ribbon/Email_32.png" TemplateAlias="o1" ModernImage="EmailLink" />
<Button Id="Mscrm.SubGrid.account.modern.AddEmail" Command="Mscrm.modern.AddEmailToSelectedRecord" Sequence="10" ToolTipTitle="$Resources:Ribbon.HomepageGrid.SendDirectEmail.ToolTip" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.DirectEmail" LabelText="$Resources:Ribbon.HomepageGrid.SendDirectEmail" Alt="$Resources:Ribbon.HomepageGrid.SendDirectEmail" Image16by16="/_imgs/ribbon/AddEmail_16.png" Image32by32="/_imgs/ribbon/Email_32.png" TemplateAlias="o1" ModernImage="EmailLink" />
<Button Id="Mscrm.SubGrid.account.AddToList" ToolTipTitle="$LocLabels:Ribbon.HomepageGrid.account.Add.AddToList" ToolTipDescription="$LocLabels(EntityDisplayName):Ribbon.Tooltip.AddToMarketingList" Command="Mscrm.AddSelectedToMarketingList" Sequence="11" Alt="$LocLabels:Ribbon.HomepageGrid.account.Add.AddToList" LabelText="$LocLabels:Ribbon.HomepageGrid.account.Add.AddToList" Image16by16="$webresource:Marketing/_images/ribbon/AddToMarketingList_16.png" Image32by32="$webresource:Marketing/_images/ribbon/AddToMarketingList_32.png" TemplateAlias="o1" />
<Button Id="Mscrm.SubGrid.account.CopyListMember" ToolTipTitle="$LocLabels:Ribbon.SubGrid.account.CopyListMember" ToolTipDescription="$LocLabels(EntityDisplayName):Ribbon.Tooltip.CopyListMember" Command="Mscrm.CopyListMembers" Sequence="11" Alt="$LocLabels:Ribbon.SubGrid.account.CopyListMember" LabelText="$LocLabels:Ribbon.SubGrid.account.CopyListMember" ModernImage="AddMembers" TemplateAlias="o1" />
<Button Id="Mscrm.SubGrid.account.RemoveListMember" ToolTipTitle="$LocLabels:Ribbon.SubGrid.account.RemoveListMember" ToolTipDescription="$LocLabels(EntityDisplayName):Ribbon.Tooltip.RemoveListMember" Command="Mscrm.RemoveMembers" Sequence="11" Alt="$LocLabels:Ribbon.SubGrid.account.RemoveListMember" LabelText="$LocLabels:Ribbon.SubGrid.account.RemoveListMember" ModernImage="Remove" TemplateAlias="o1" Image16by16="/_imgs/ribbon/Delete_16.png" Image32by32="/_imgs/Workplace/Remove_32.png" />
<Button Id="Mscrm.SubGrid.account.AdvMergeRecords" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" ToolTipDescription="$Resources:Ribbon.Tooltip.Merge" Command="Mscrm.HideAdvMergeRecords" Sequence="12" LabelText="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" Alt="$Resources:Ribbon.HomepageGrid.account.Record.Merge.MergeRecords" Image16by16="/_imgs/ribbon/MergeRecords_16.png" Image32by32="/_imgs/ribbon/MergeRecords_32.png" TemplateAlias="o2" />
<FlyoutAnchor Id="Mscrm.SubGrid.account.QuickCampaign" Command="Mscrm.HomepageGrid.QuickCampaign" Sequence="12" Alt="$LocLabels:Ribbon.QuickCampaign.LabelText" LabelText="$LocLabels:Ribbon.QuickCampaign.LabelText" Image16by16="/_imgs/ribbon/QuickCampaign_16.png" Image32by32="/_imgs/ribbon/QuickCampaign_32.png" ToolTipTitle="$LocLabels:Ribbon.QuickCampaign.LabelText" ToolTipDescription="$LocLabels:Ribbon.QuickCampaign.ToolTip.Description" TemplateAlias="o1" ModernImage="CreateQuickCampaign">
<Menu Id="Mscrm.SubGrid.account.QuickCampaign.Menu">
<MenuSection Id="Mscrm.SubGrid.account.QuickCampaign.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.SubGrid.account.QuickCampaign.Controls">
<Button Id="Mscrm.SubGrid.account.QuickCampaign.Selected" Command="Mscrm.HomepageGrid.ACL.QuickCampaign.Selected" Sequence="10" Alt="$LocLabels:Ribbon.QuickCampaign.Selected.LabelText" LabelText="$LocLabels:Ribbon.QuickCampaign.Selected.LabelText" Image16by16="/_imgs/ribbon/SelectedRecords_16.png" Image32by32="/_imgs/ribbon/SelectedRecords_32.png" ToolTipTitle="$LocLabels:Ribbon.QuickCampaign.Selected.ToolTip.Title" ToolTipDescription="$LocLabels:Ribbon.QuickCampaign.Selected.ToolTip.Description" ModernImage="MultiSelect" />
<Button Id="Mscrm.SubGrid.account.QuickCampaign.AllCurrentPage" Command="Mscrm.HomepageGrid.ACL.QuickCampaign.AllCurrentPage" Sequence="20" Alt="$LocLabels:Ribbon.QuickCampaign.AllCurrentPage.LabelText" LabelText="$LocLabels:Ribbon.QuickCampaign.AllCurrentPage.LabelText" Image16by16="/_imgs/ribbon/AllRecords_16.png" Image32by32="/_imgs/ribbon/AllRecords_32.png" ToolTipTitle="$LocLabels:Ribbon.QuickCampaign.AllCurrentPage.ToolTip.Title" ToolTipDescription="$LocLabels:Ribbon.QuickCampaign.AllCurrentPage.ToolTip.Description" ModernImage="Letter" />
<Button Id="Mscrm.SubGrid.account.QuickCampaign.AllAllPages" Command="Mscrm.HomepageGrid.ACL.QuickCampaign.AllAllPages" Sequence="30" Alt="$LocLabels:Ribbon.QuickCampaign.AllAllPages.LabelText" LabelText="$LocLabels:Ribbon.QuickCampaign.AllAllPages.LabelText" Image16by16="/_imgs/ribbon/AllRecordsAllPages_16.png" Image32by32="/_imgs/ribbon/AllRecordsAllPages_32.png" ToolTipTitle="$LocLabels:Ribbon.QuickCampaign.AllAllPages.ToolTip.Title" ToolTipDescription="$LocLabels:Ribbon.QuickCampaign.AllAllPages.ToolTip.Description" ModernImage="BrowseCards" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
<Button Id="Mscrm.SubGrid.account.AssociateParentChildCase" ToolTipTitle="$Resources:Ribbon.Form.incident.MainTab.Actions.AssociateParentChildCase" ToolTipDescription="$Resources:Ribbon.Tooltip.AssociateParentChildCase" Command="Mscrm.AssociateParentChildCase" Sequence="13" LabelText="$Resources:Ribbon.Form.incident.MainTab.Actions.AssociateParentChildCase" Alt="$Resources:Ribbon.Form.incident.MainTab.Actions.AssociateParentChildCase" Image16by16="/_imgs/ribbon/AssociateChildCase_16.png" Image32by32="/_imgs/ribbon/AssociateChildCase_32.png" TemplateAlias="o3" />
<Button Id="Mscrm.SubGrid.account.MailMerge" ToolTipTitle="$Resources:Ribbon.HomepageGrid.account.MainTab.Actions.MailMerge" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.MailMerge" Command="Mscrm.MailMergeSelected" Sequence="20" Alt="$Resources:Ribbon.HomepageGrid.account.MainTab.Actions.MailMerge" LabelText="$Resources:Ribbon.HomepageGrid.account.MainTab.Actions.MailMerge" Image16by16="/_imgs/ribbon/mailmerge16.png" Image32by32="/_imgs/ribbon/mailmerge32.png" TemplateAlias="o2" />
<SplitButton Id="Mscrm.SubGrid.account.AddConnection" ToolTipTitle="$Resources:Ribbon.Connection.Splitbutton.AddConnection.Label" ToolTipDescription="$Resources:Ribbon.Connection.Splitbutton.AddConnection.Tooltip" Command="Mscrm.AddConnectionGrid" Sequence="30" LabelText="$Resources:Ribbon.Connection.Splitbutton.AddConnection.Label" Alt="$Resources:Ribbon.Connection.Splitbutton.AddConnection.Label" Image16by16="/_imgs/ribbon/AddConnection_16.png" Image32by32="/_imgs/ribbon/AddConnection_32.png" TemplateAlias="o2" ModernImage="Connection">
<Menu Id="Mscrm.SubGrid.account.AddConnection.Menu">
<MenuSection Id="Mscrm.SubGrid.account.AddConnection.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.SubGrid.account.AddConnection.Controls">
<Button Id="Mscrm.SubGrid.account.AddConnectionNew" ToolTipTitle="$Resources:Ribbon.Connection.AddConnectionNew.Label" ToolTipDescription="$Resources:Ribbon.Connection.AddConnectionNew.Tooltip" Command="Mscrm.AddConnectionGrid" Sequence="10" LabelText="$Resources:Ribbon.Connection.AddConnectionNew.Label" Alt="$Resources:Ribbon.Connection.AddConnectionNew.Label" ModernImage="ConnectionToOther" />
<Button Id="Mscrm.SubGrid.account.AddConnectionToMe" ToolTipTitle="$Resources:Ribbon.Connection.AddConnectionToMe.Label" ToolTipDescription="$Resources:Ribbon.Connection.AddConnectionToMe.Tooltip" Command="Mscrm.AddConnectionToMeGrid" Sequence="20" LabelText="$Resources:Ribbon.Connection.AddConnectionToMe.Label" Alt="$Resources:Ribbon.Connection.AddConnectionToMe.Label" ModernImage="ConnectionToMe" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<Button Id="Mscrm.SubGrid.account.AddToQueue" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Actions.AddToQueue" ToolTipDescription="$Resources(EntityPluralDisplayName):Mscrm_SubGrid_EntityLogicalName_MainTab_Actions_AddToQueue_ToolTipDescription" Command="Mscrm.AddSelectedToQueue" Sequence="40" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Actions.AddToQueue" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Actions.AddToQueue" Image16by16="/_imgs/ribbon/AddToQueue_16.png" Image32by32="/_imgs/ribbon/AddToQueue_32.png" TemplateAlias="o2" ModernImage="AddToQueue" />
<Button Id="Mscrm.SubGrid.account.Assign" ToolTipTitle="$Resources(EntityPluralDisplayName):Ribbon.SubGrid.MainTab.Actions.Assign" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.Assign" Command="Mscrm.AssignSelectedRecord" Sequence="50" LabelText="$Resources(EntityPluralDisplayName):Ribbon.SubGrid.MainTab.Actions.Assign" Image16by16="/_imgs/ribbon/Assign_16.png" Image32by32="/_imgs/ribbon/Assign_32.png" TemplateAlias="o3" ModernImage="Assign" />
<Button Id="Mscrm.SubGrid.account.Sharing" ToolTipTitle="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Sharing" ToolTipDescription="$Resources(EntityPluralDisplayName):Ribbon.Tooltip.Share" Command="Mscrm.ShareSelectedRecord" Sequence="60" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Sharing" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Actions.Sharing" Image16by16="/_imgs/ribbon/Share_16.png" Image32by32="/_imgs/ribbon/Sharing_32.png" TemplateAlias="o4" ModernImage="Share" />
<Button Id="Mscrm.SubGrid.account.CopySelected" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Copy" ToolTipDescription="$Resources:Ribbon.Tooltip.CopyShortcut" Command="Mscrm.CopyShortcutSelected" Sequence="70" LabelText="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Copy" Alt="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Copy" Image16by16="/_imgs/ribbon/copyshortcut16.png" Image32by32="/_imgs/ribbon/copyshortcut32.png" TemplateAlias="o4" />
<Button Id="Mscrm.SubGrid.account.SendSelected" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Send" ToolTipDescription="$Resources:Ribbon.Tooltip.SendShortcut" Command="Mscrm.SendShortcutSelected" Sequence="80" LabelText="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Send" Alt="$Resources:Ribbon.HomepageGrid.Record.Shortcut.Send" Image16by16="/_imgs/ribbon/EmailLink_16.png" Image32by32="/_imgs/ribbon/SendShortcut_32.png" TemplateAlias="o4" ModernImage="EmailLink" />
<Button Id="Mscrm.SubGrid.account.RemoveSelectedRecordsFromEntity" ToolTipTitle="$LocLabels:Ribbon.SubGrid.account.RemoveSelectedRecordsFromEntity" ToolTipDescription="$LocLabels(EntityDisplayName):Ribbon.Tooltip.RemoveSelectedRecordsFromEntity" Command="Mscrm.RemoveSelectedRecordsFromEntity" Sequence="90" Alt="$LocLabels:Ribbon.SubGrid.account.RemoveSelectedRecordsFromEntity" LabelText="$LocLabels:Ribbon.SubGrid.account.RemoveSelectedRecordsFromEntity" ModernImage="Remove" Image16by16="/_imgs/ribbon/Delete_16.png" Image32by32="/_imgs/Workplace/Remove_32.png" TemplateAlias="o2" />
<Button Id="Mscrm.SubGrid.account.FollowButton" Command="Mscrm.SubGrid.FollowCommand" ToolTipTitle="$LocLabels:ActivityFeed.Follow.ToolTipTitle" ToolTipDescription="$LocLabels:ActivityFeed.Follow.ToolTipDescription" LabelText="$LocLabels:ActivityFeed.Follow.LabelText" TemplateAlias="o2" Image16by16="/_imgs/ribbon/Entity16_8003.png" Image32by32="/_imgs/ribbon/Entity32_8003.png" Sequence="1010" ModernImage="RatingEmpty" />
<Button Id="Mscrm.SubGrid.account.UnfollowButton" Command="Mscrm.SubGrid.UnfollowCommand" ToolTipTitle="$LocLabels:ActivityFeed.Unfollow.ToolTipTitle" ToolTipDescription="$LocLabels:ActivityFeed.Unfollow.ToolTipDescription" LabelText="$LocLabels:ActivityFeed.Unfollow.LabelText" TemplateAlias="o2" Image16by16="/_imgs/ribbon/Entity16_8003_u.png" Image32by32="/_imgs/ribbon/Entity32_8003_u.png" Sequence="1030" ModernImage="RatingFull" />
</Controls>
</Group>
<Group Id="Mscrm.SubGrid.account.MainTab.Filters" Command="Mscrm.FiltersGroup" Sequence="40" Title="$Resources:Ribbon.HomepageGrid.Data.Filters" Image32by32Popup="/_imgs/ribbon/filter32.png" Template="Mscrm.Templates.Flexible2">
<Controls Id="Mscrm.SubGrid.account.MainTab.Filters.Controls">
<ToggleButton Id="Mscrm.SubGrid.account.Filters" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Filters.Filters" ToolTipDescription="$Resources:Ribbon.Tooltip.Filters" Command="Mscrm.Filters" QueryCommand="Mscrm.Filters.Query" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.Data.Filters.Filters" Alt="$Resources:Ribbon.HomepageGrid.Data.Filters.FiltersToolTip" Image16by16="/_imgs/ribbon/filter16.png" Image32by32="/_imgs/ribbon/filter32.png" TemplateAlias="o1" />
<Button Id="Mscrm.SubGrid.account.SaveToCurrent" ToolTipTitle="$Resources:Mscrm_SubGrid_Other_MainTab_Filters_SaveToCurrent_ToolTipTitle" ToolTipDescription="$Resources:Ribbon.Tooltip.SaveFiltersToCurrentView" Command="Mscrm.SaveToCurrentView" Sequence="20" LabelText="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveToCurrent" Alt="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveToCurrentToolTip" Image16by16="/_imgs/ribbon/savefilters16.png" Image32by32="/_imgs/ribbon/savefilters32.png" TemplateAlias="o2" />
<Button Id="Mscrm.SubGrid.account.SaveAsNew" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveAsNew" ToolTipDescription="$Resources:Ribbon.Tooltip.SaveFiltersToNewView" Command="Mscrm.SaveAsNewView" Sequence="30" LabelText="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveAsNew" Alt="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveAsNewToolTip" Image16by16="/_imgs/ribbon/SaveFilterAsNewView_16.png" Image32by32="/_imgs/ribbon/savefiltersasview32.png" TemplateAlias="o2" />
</Controls>
</Group>
<Group Id="Mscrm.SubGrid.account.MainTab.Layout" Command="Mscrm.Enabled" Sequence="50" Title="$Resources:Ribbon.HomepageGrid.MainTab.ViewGroup" Image32by32Popup="/_imgs/ribbon/ChartsBarGraph_32.png" Template="Mscrm.Templates.Flexible">
<Controls Id="Mscrm.SubGrid.account.MainTab.Layout.Controls">
<Button Id="Mscrm.SubGrid.account.SaveAsDefaultGridView" ToolTipTitle="$Resources:Mscrm_SubGrid_Other_MainTab_Filters_SaveAsDefaultGridView_ToolTipTitle" ToolTipDescription="$Resources:Ribbon.Tooltip.SaveAsDefaultGridView" Command="Mscrm.SaveAsDefaultGridView" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveAsDefaultGridView" Alt="$Resources:Ribbon.HomepageGrid.Data.Filters.SaveAsDefaultGridViewToolTip" Image16by16="/_imgs/ribbon/SaveViewAsDefault_16.png" Image32by32="/_imgs/ribbon/setasdefaultview32.png" TemplateAlias="o1" />
<FlyoutAnchor Id="Mscrm.SubGrid.account.Charts" Command="Mscrm.Charts.Flyout" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Visuals.Charts" ToolTipDescription="$Resources:Ribbon.Tooltip.Charts" Sequence="20" LabelText="$Resources:Ribbon.HomepageGrid.Data.Visuals.Charts" Alt="$Resources:Ribbon.HomepageGrid.Data.Visuals.ChartsToolTip" Image16by16="/_imgs/ribbon/ChartsBarGraph_16.png" Image32by32="/_imgs/ribbon/ChartsBarGraph_32.png" TemplateAlias="o1">
<Menu Id="Mscrm.SubGrid.account.Charts.Menu">
<MenuSection Id="Mscrm.SubGrid.account.Charts.MenuSection0" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.SubGrid.account.Charts.Controls0">
<ToggleButton Id="Mscrm.SubGrid.account.ChangeLayout.LeftRight" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Visuals.ChangeLayout" ToolTipDescription="$Resources:Ribbon.Tooltip.ChangeLayout" Command="Mscrm.Charts" QueryCommand="Mscrm.Charts.Query" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.Data.Visuals.Charts.LeftRight" Alt="$Resources:Ribbon.HomepageGrid.Data.Visuals.ChangeLayoutToolTip" />
<ToggleButton Id="Mscrm.SubGrid.account.ChangeLayout.Off" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Visuals.ChangeLayout" ToolTipDescription="$Resources:Ribbon.Tooltip.ChangeLayout" Command="Mscrm.Charts.Off" QueryCommand="Mscrm.Charts.Query.Off" Sequence="20" LabelText="$Resources:Ribbon.HomepageGrid.Data.Visuals.Charts.Off" Alt="$Resources:Ribbon.HomepageGrid.Data.Visuals.ChangeLayoutToolTip" />
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
</Controls>
</Group>
<Group Id="Mscrm.SubGrid.account.MainTab.Workflow" Command="Mscrm.Enabled" Sequence="70" Title="$Resources:Ribbon.HomepageGrid.Data.Workflow" Image32by32Popup="/_imgs/ribbon/runworkflow32.png" Template="Mscrm.Templates.Flexible">
<Controls Id="Mscrm.SubGrid.account.MainTab.Workflow.Controls">
<Button Id="Mscrm.SubGrid.account.RunWorkflow" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunWorkflow" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.RunWorkflow" Command="Mscrm.RunWorkflowSelected" Sequence="30" LabelText="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunWorkflow" Alt="$Resources:Ribbon.HomepageGrid.Data.Workflow.RunWorkflow" Image16by16="/_imgs/ribbon/RunWorkflow_16.png" Image32by32="/_imgs/ribbon/runworkflow32.png" TemplateAlias="o1" />
<Button Id="Mscrm.SubGrid.account.RunScript" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.InteractiveWorkflow.RunScript" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.RunScript" Command="Mscrm.RunInteractiveWorkflowSelected" Sequence="40" LabelText="$Resources:Ribbon.HomepageGrid.Data.InteractiveWorkflow.RunScript" Alt="$Resources:Ribbon.HomepageGrid.Data.InteractiveWorkflow.RunScript" Image16by16="/_imgs/ribbon/StartDialog_16.png" Image32by32="/_imgs/ribbon/StartDialog_32.png" TemplateAlias="o1" />
</Controls>
</Group>
<Group Id="Mscrm.SubGrid.account.MainTab.ExportData" Command="Mscrm.Enabled" Sequence="80" Title="$Resources:Ribbon.HomepageGrid.MainTab.ExportData" Image32by32Popup="/_imgs/ribbon/runreport32.png" Template="Mscrm.Templates.Flexible3">
<Controls Id="Mscrm.SubGrid.account.MainTab.ExportData.Controls">
<FlyoutAnchor Id="Mscrm.SubGrid.account.RunReport" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Report.RunReport" ToolTipDescription="$Resources:Ribbon.Tooltip.RunReport" Command="Mscrm.ReportMenu.Grid" PopulateDynamically="true" PopulateOnlyOnce="true" PopulateQueryCommand="Mscrm.ReportsMenu.Populate.Grid" Sequence="10" LabelText="$Resources:Ribbon.HomepageGrid.Data.Report.RunReport" Alt="$Resources:Ribbon.HomepageGrid.Data.Report.RunReport" Image16by16="/_imgs/ribbon/RunReport_16.png" Image32by32="/_imgs/ribbon/runreport32.png" TemplateAlias="o1" ModernImage="Report" />
<FlyoutAnchor Id="Mscrm.SubGrid.account.DocumentTemplate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.DocumentTemplate.Templates" ToolTipDescription="$Resources:Ribbon.Tooltip.DocumentTemplate" Command="Mscrm.DocumentTemplate.Templates" PopulateDynamically="true" PopulateOnlyOnce="true" PopulateQueryCommand="Mscrm.DocumentTemplate.Populate.Flyout" Sequence="15" LabelText="$Resources:Ribbon.HomepageGrid.Data.DocumentTemplate.Templates" Alt="$Resources:Ribbon.HomepageGrid.Data.DocumentTemplate.Templates" Image16by16="/_imgs/ribbon/DocumentTemplate_16.png" Image32by32="/_imgs/ribbon/SaveAsExcelTemplate_32.png" TemplateAlias="o1" ModernImage="DocumentTemplates" />
<FlyoutAnchor Id="Mscrm.SubGrid.account.WordTemplate" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.WordTemplate.Templates" ToolTipDescription="$Resources:Ribbon.Tooltip.WordTemplate" Command="Mscrm.HomepageGrid.WordTemplate" PopulateDynamically="true" PopulateOnlyOnce="true" PopulateQueryCommand="Mscrm.HomepageGrid.WordTemplate.Populate.Flyout" Sequence="16" LabelText="$Resources:Ribbon.HomepageGrid.Data.WordTemplate.Templates" Alt="$Resources:Ribbon.HomepageGrid.Data.WordTemplate.Templates" Image16by16="/_imgs/ribbon/WordTemplate_16.png" Image32by32="/_imgs/ribbon/SaveAsWordTemplate_32.png" TemplateAlias="o1" ModernImage="WordTemplates" />
<SplitButton Id="Mscrm.SubGrid.account.ExportToExcel" ToolTipTitle="$Resources(EntityPluralDisplayName):Ribbon.SubGrid.Data.Export.ExportToExcel" ToolTipDescription="$Resources:Ribbon.Tooltip.ExportToExcel" Command="Mscrm.ExportToExcel" Sequence="20" LabelText="$Resources(EntityPluralDisplayName):Ribbon.SubGrid.Data.Export.ExportToExcel" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" TemplateAlias="o3" ModernImage="ExportToExcel">
<Menu Id="Mscrm.SubGrid.account.ExportToExcel.Menu">
<MenuSection Id="Mscrm.SubGrid.account.ExportToExcel.MenuSection" Sequence="10" DisplayMode="Menu16">
<Controls Id="Mscrm.SubGrid.account.ExportToExcel.Controls">
<Button Id="Mscrm.SubGrid.account.ExportToExcelOnline" ToolTipTitle="$Resources(EntityPluralDisplayName):Ribbon.SubGrid.Data.Export.ExportToExcelOnline" ToolTipDescription="$Resources:Ribbon.Tooltip.ExportToExcelOnline" Command="Mscrm.ExportToExcel.Online" Sequence="40" LabelText="$Resources(EntityPluralDisplayName):Ribbon.SubGrid.Data.Export.ExportToExcelOnline" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
<Button Id="Mscrm.HomepageGrid.account.StaticWorksheetAll" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExportAll" ToolTipDescription="$Resources:Ribbon.Tooltip.StaticExcelExportAll" Command="Mscrm.ExportToExcel.AllStaticXlsx" Sequence="41" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExportAll" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExportAll" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
<Button Id="Mscrm.HomepageGrid.account.StaticWorksheet" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExport" ToolTipDescription="$Resources:Ribbon.Tooltip.StaticExcelExport" Command="Mscrm.ExportToExcel.StaticXlsx" Sequence="42" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExport" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.StaticExcelExport" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
<Button Id="Mscrm.HomepageGrid.account.DynamicWorkesheet" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicExcelExport" ToolTipDescription="$Resources:Ribbon.Tooltip.DynamicExcelExport" Command="Mscrm.ExportToExcel.DynamicXlsx" Sequence="43" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicExcelExport" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicExcelExport" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
<Button Id="Mscrm.HomepageGrid.account.DynamicPivotTable" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicPivotTable" ToolTipDescription="$Resources:Ribbon.Tooltip.DynamicPivotTable" Command="Mscrm.ExportToExcel.PivotXlsx" Sequence="44" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicPivotTable" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.DynamicPivotTable" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" ModernImage="ExportToExcel" />
</Controls>
</MenuSection>
</Menu>
</SplitButton>
<Button Id="Mscrm.SubGrid.account.ExportSelectedToExcel" ToolTipTitle="$Resources:Ribbon.HomepageGrid.Data.Export.ExportSelectedToExcel" ToolTipDescription="$Resources:Ribbon.Tooltip.ExportSelectedToExcel" Command="Mscrm.ExportSelectedToExcel" Sequence="230" LabelText="$Resources:Ribbon.HomepageGrid.Data.Export.ExportSelectedToExcel" Alt="$Resources:Ribbon.HomepageGrid.Data.Export.ExportSelectedToExcel" Image16by16="/_imgs/ribbon/exporttoexcel16.png" Image32by32="/_imgs/ribbon/exporttoexcel32.png" TemplateAlias="o3" ModernImage="ExportToExcel" />
</Controls>
</Group>
<Group Id="Mscrm.SubGrid.account.MainTab.FolderTracking" Command="Mscrm.Enabled" Sequence="80" Title="$Resources:Ribbon.HomepageGrid.FolderTracking" Image32by32Popup="/_imgs/ribbon/runreport32.png" Template="Mscrm.Templates.Flexible3">
<Controls Id="Mscrm.SubGrid.account.FolderTracking.Controls">
<Button Id="Mscrm.SubGrid.account.FolderTracking" Command="Mscrm.HomepageGrid.FolderTracking" Sequence="100" LabelText="$Resources:Ribbon.HomepageGrid.FolderTracking" ToolTipTitle="$Resources:Ribbon.HomepageGrid.FolderTracking" ToolTipDescription="$Resources:Ribbon.HomepageGrid.FolderTracking.TooltipDescription" Image16by16="/_imgs/ribbon/CRM_Activity_Command_FolderTracking_16.png" Image32by32="/_imgs/ribbon/CRM_Activity_Command_FolderTracking_16.png" TemplateAlias="o2" ModernImage="FolderTrack" />
</Controls>
</Group>
</Groups>
</Tab>
</ContextualGroup>
</ContextualTabs>
</Ribbon>
</UI>
<Templates>
<RibbonTemplates Id="Mscrm.RibbonTemplates">
<GroupTemplate Id="Mscrm.Templates.3">
<Layout Title="Large">
<OverflowSection Type="OneRow" TemplateAlias="o1" DisplayMode="Large" />
<OverflowSection Type="OneRow" TemplateAlias="isv" DisplayMode="Large" />
</Layout>
<Layout Title="Medium">
<OverflowSection Type="ThreeRow" TemplateAlias="o1" DisplayMode="Medium" />
<OverflowSection Type="ThreeRow" TemplateAlias="isv" DisplayMode="Medium" />
</Layout>
<Layout Title="Small">
<OverflowSection Type="ThreeRow" TemplateAlias="o1" DisplayMode="Small" />
<OverflowSection Type="ThreeRow" TemplateAlias="isv" DisplayMode="Small" />
</Layout>
<Layout Title="Popup" LayoutTitle="Large" />
</GroupTemplate>
</RibbonTemplates>
</Templates>
<CommandDefinitions>
<CommandDefinition Id="Mscrm.HomepageGrid.account.MergeRecords">
<EnableRules>
<EnableRule Id="Mscrm.NotOffline" />
<EnableRule Id="Mscrm.SelectionCountOneOrTwo" />
<EnableRule Id="Mscrm.VisualizationPaneNotMaximized" />
<EnableRule Id="Mscrm.ShowOnNonModernAndModernIfAllowed" />
</EnableRules>
<DisplayRules>
<DisplayRule Id="Mscrm.HomepageGrid.account.MergeGroup" />
<DisplayRule Id="Mscrm.CanWriteAccount" />
<DisplayRule Id="Mscrm.HybridDialogMergeEnabled" />
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="XrmCore.Commands.Merge.mergeRecords" Library="$webresource:Main_system_library.js">
<CrmParameter Value="SelectedControl" />
<CrmParameter Value="SelectedControlSelectedItemReferences" />
<CrmParameter Value="SelectedEntityTypeName" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
<CommandDefinition Id="Mscrm.AddSelectedToMarketingList">
<EnableRules>
<EnableRule Id="Mscrm.NotOffline" />
<EnableRule Id="Mscrm.SelectionCountAtLeastOne" />
<EnableRule Id="Mscrm.VisualizationPaneNotMaximized" />
<EnableRule Id="Mscrm.NotAListForm" />
</EnableRules>
<DisplayRules>
<DisplayRule Id="Mscrm.AddSelectedToMarketingList" />
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="Marketing.CommandActions.Instance.addToList" Library="$webresource:Marketing/CommandActions/Marketing_CommandActions.js">
<CrmParameter Value="SelectedControl" />
<CrmParameter Value="SelectedControlSelectedItemReferences" />
<CrmParameter Value="SelectedEntityTypeCode" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
<CommandDefinition Id="LinkedInExtensions.ViewOrgChartForGrid">
<EnableRules>
<EnableRule Id="Mscrm.SelectionCountExactlyOne" />
<EnableRule Id="Mscrm.HideOnMobile" />
</EnableRules>
<DisplayRules>
<DisplayRule Id="Mscrm.ShowOnlyOnModern" />
<DisplayRule Id="Mscrm.NotOffline" />
<DisplayRule Id="Mscrm.IsOrgChartFeatureEnabled" />
<DisplayRule Id="Mscrm.CanReadContact" />
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="LinkedInExtensions.Account.Instance.ViewOrgChartFromGrid" Library="$webresource:LinkedInExtensions/Account/LinkedInExtensions_Account.js">
<CrmParameter Value="SelectedControlSelectedItemReferences" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
</CommandDefinitions>
<RuleDefinitions>
<DisplayRules>
<DisplayRule Id="Mscrm.HomepageGrid.account.MergeGroup">
<MiscellaneousPrivilegeRule PrivilegeName="Merge" />
</DisplayRule>
<DisplayRule Id="Mscrm.PrimaryEntityHasCampaignResponse">
<OrRule>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="account" />
</Or>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="contact" />
</Or>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="lead" />
</Or>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="incident" />
</Or>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="opportunity" />
</Or>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="quote" />
</Or>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="invoice" />
</Or>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="salesorder" />
</Or>
<Or>
<EntityRule AppliesTo="PrimaryEntity" EntityName="contract" />
</Or>
</OrRule>
</DisplayRule>
</DisplayRules>
<EnableRules>
<EnableRule Id="Mscrm.NotOffline">
<CrmOfflineAccessStateRule State="Offline" InvertResult="true" />
</EnableRule>
<EnableRule Id="Mscrm.Form.{!EntityLogicalName}.Developer">
<EntityRule AppliesTo="PrimaryEntity" EntityName="{!EntityLogicalName}" />
<CustomRule FunctionName="Mscrm.RibbonActions.formPageDeveloperTabEnableRule" Library="/_static/_common/scripts/RibbonActions.js">
<CrmParameter Value="PrimaryControl" />
</CustomRule>
</EnableRule>
</EnableRules>
</RuleDefinitions>
</RibbonDefinition>
</RibbonDefinitions>
When developers modify the ribbon for an entity, changes are applied over the default ribbon(s), and will typically sit underneath the CustomAction or HideCustomAction nodes. Developers must determine which area of the application they wish to modify by ensuring they target their changes to one of the areas highlighted above. To help make this determination, refer to the details on this article.
Once modified, Ribbon changes will then take effect at the entity level and be carried forward as part of any corresponding solution updates you make. Therefore, from a deployment standpoint, including your modified entities within your solutions will be sufficient to roll out your ribbon changes to other environments.
Understanding Command Buttons, Rules and Actions
Within our Ribbon definitions sit the various command buttons that get rendered to end-users in the application. Model-driven apps include many of these by default, covering typical actions we want to occur against a record - such as saving, reassigning it or deleting it from the system. Many of these command buttons will be contextual and may only be visible if the user has specific privileges granted to them within the application. This behaviour can help in keeping the interface relevant and de-cluttered. As developers, we will typically work with the out of the box command buttons in two contexts, namely when we wish to:
- Toggle the visibility of a specific button.
- Override or replace a default command button action.
For all other situations, we can then look to set up our custom command buttons. We have various options available here to tailor how this looks within the application - such as the title, display label across multiple languages, and its image. Once defined, we can then start to customise our new button further. There are two core concepts to grasp concerning this, so it is useful to understand (in detail) how they behave - namely, rules and actions.
Rules dictate the “state” of a button within the application. They can be used to define two specific action types - whether a command button is enabled or whether the rule is visible to users. For both types, you can determine their behaviour based on:
- Whether the user is accessing the ribbon via the Unified / Classic interface, the tablet app or via legacy areas of the application.
- Whether the user is accessing the application via a desktop browser or through the Outlook client. You can also determine their behaviour based on whether the Outlook client is in offline mode or if a user is working with a specific version of the Outlook client.
- The name of the entity the user is currently working with.
- The state of the loaded form, e.g. Create, Read-Only etc.
- The user’s current entity privileges within the application.
- When working with subgrids, the number of records currently selected by the user.
- A value that is present on the currently loaded entity form.
- The contents of the current URL the user has navigated to.
For example, based on the above, you could modify a button in the application to only become visible to users who have the privilege to Read or Update a related entity record. These set of rules will likely cover most of your requirements when changing the state and visibility of buttons within the application. For more complex needs, consider defining a Custom Rule using a JavaScript function instead.
Finally, actions perform the desired behaviour for a command button during its OnClick event within the application. As part of this, developers can choose to either execute bespoke logic via a JavaScript function or open a specific URL. This second option is great for when you need to link to an external application system and, because this action type supports custom parameters, also allows you to build a dynamic URL as part of this. You can find further detail on the supported kinds of parameters on the Microsoft Docs website; but, to summarise, developers can use a range of different data types and even feed in values from the current form or view the user is accessing. And, as mentioned, actions can be added onto default command buttons within the application, to modify its default behaviour. However, it is generally considered best practice to create a new command button and define a custom action for it that way.
Ribbon Workbench Overview
Because model-driven apps store ribbon definitions as XML files, it’s difficult for developers to efficiently work with them and - most importantly - get a visual indication of how they will look post-deployment. As usual in these situations, the great Business Applications community comes to the rescue to help us along. In particular, we can thank Scott Durow for providing the fantastic Ribbon Workbench tool that does exactly what it says on the tin - lets us easily make changes to multiple entity ribbons within an easy to use interface. And, because Microsoft mentions this tool as part of the skills measured for this exam, it provides us with an excellent excuse to discuss it in detail. 🙂
To download the tool, first, you need to grab a copy of the XrmToolBox, as the Ribbon Workbench is available as a plug-in within the ToolBox. You can also download it as a managed solution from Scott’s website, but the XrmToolBox version tends to be better to work with I find. When running the tool for the first time, you will be prompted to select the solution that you wish to work with, as indicated below:
A good tip when working with the Ribbon Workbench is to set up a slimmed-down or temporary solution within your Dynamics 365 / Common Data Service, containing just the entities whose ribbon you need to modify. Doing this will help to speed up the export/import of your ribbon definitions as you make changes to them.
With your solution chosen, we are then greeted with a screen resembling the below:
It’s worth quickly explaining what each of the respective areas numbered above does in detail:
-
Within the toolbox, you can quickly add on numerous different button types onto the ribbon. For example, you can add on a button that expands out into a selection, containing multiple sub-options.
-
Within this area, you can view all of the bespoke ribbon customisations you have performed, the underlying XML definition for your changes and any warning/error messages relating to your changes.
-
Each of the ribbon components you have customised will appear and can be expanded within the list here. We can also add new Commands, Display Rules and Enable Rules from this area.
-
This section shows all the ribbon buttons that appear by default in the Home area of the application. Each button can be selected to view its properties or right-clicked instead to copy or customise it.
-
This section shows all the ribbon buttons that appear by default when viewing multiple records via a subgrid or view. Each button can be selected to view its properties or right-clicked instead to copy or customise it.
-
This section shows all the ribbon buttons that appear by default when viewing a single record at the form level. Each button can be selected to view its properties or right-clicked instead to copy or customise it.
-
The properties area displays details about the currently selected component. Clicking any existing button will populate the properties area of the window, thereby allowing you to view and amend it accordingly. You can see an example of how the properties for the Account Save button looks below:
-
Once you have finished making changes, you can click the Publish button to import these into the application. Note that this can take several minutes to complete, as the workbench performs a full solution import as part of this.
For the components highlighted in 4, 5 and 6, also note that you have an option toggle whether to apply your changes within the unified (UI) or classic interface. In most cases moving forward, UI should be the option you go for.
Having the Ribbon Workbench to hand whenever you need to perform the simplest of ribbon customisations is an absolute necessity. The tool will help to streamline your development process, and can often highlight issues that would be impossible to spot if you were modifying the raw XML definitions manually. Spending some time to understand how it works and, more crucially, how you can deploy simple ribbon customisations will be essential when tackling the MB-400 exam.
Usage Cases for Ribbon Customisations
Developers should always prepare themselves to identify situations where ribbon customisations will be required to meet a particular requirement within Dynamics 365 / Power Apps. To help you grasp this, I’ve highlighted below a couple of scenarios where this may be applicable:
- Integrate with an external application system by allowing uses to open a new tab/window from directly within a model-driven app. We could then extend this further, by also populating the URL in question with information from the record itself to, for example, open a specific record in another system.
- Perform multiple, complex Web API or form-level operations via a single button press.
- Customise the behaviour of the Qualify Lead button, by replacing it with custom logic that creates an Opportunity record only, and not a new Account and Contact record.
- Hide or prevent users from performing specific actions, such as running on-demand workflows, changing Business Process Flows or activating records that have already been closed.
As always when building solutions on top of Dynamics 365 / Power Platform, preference should be given towards a functional or “low code” solution where-ever possible. This approach is particularly correct for ribbon customisations, given their potential to modify significantly how the system behaves by default and their propensity to “break” if customised incorrectly.
Demo: Using the Ribbon Workbench to Modify Command Bar Buttons
To better understand how to use the Ribbon Workbench to modify the behaviour of an existing command button in the application, check out the below YouTube video, where I demonstrate how to do this from start to finish:
As we have seen in the past couple of posts in this series, developers can do a surprising amount of tinkering around with the user interface of not just model-driven Power Apps, but also within canvas apps as well. In the next post in the series, we’re going to jump into the Extend the Platform area of the exam and show you how you can develop C# plug-ins to perform simple or complex server-level actions targeting the Common Data Service.