In this blog, we will discuss some of the key differences in design, common daily requirements for ribbon customization and visibility rules between the old Ribbon Workbench and the new Power Fx command designer.
But before doing comparison, let’s find out what is the Power Fx command designer and Ribbon Workbench.
What is Power FX Command Designer?
It is the latest tool that Microsoft has released to reinvent, rebuild, and optimize the command functionality (also known as the ribbon or toolbar) for model-driven apps. Using the Power Fx Command Designer, Microsoft allows us to customize command bars with almost no code using Power Fx expressions, which allows you to implement low-code logic in the model-driven app.
Power Fx is an excel inspired formula language that quickly implements the complex formula as it already contains a stack of usable functions. Also, as it’s a unified language, we can leverage it across all Power Platform apps.
What is Ribbon Workbench?
Now, let’s get a basic overview of the Ribbon Workbench. It’s the primary tool Dynamics administrators use to modify and configure the command bar (previously known as the ribbon). Written and introduced ten years ago by a third party developer (Develop1: https://www.develop1.net/) to resolve the complexity of adding a button from an XML file. It has been the only tool available to customize to the ribbon.
Ribbon Workbench helps to perform basic ribbon button operations such as display rules, visibility rules, and different drag-drop types of functions.
Power Fx Command Designer and Ribbon Workbench Design Differences.
Below is a list of some significant design differences between Power Fx Command Designer and Ribbon Workbench:
- The design of linking the command with the button is changed to Power Fx command designer. Now, it’s a single unit with linked buttons, command and visibility rules. Previously, in Ribbon Workbench, we needed to create a button, a command associated with the button, and a visibility rule to associate it — all, separately.
- The localized labels are now a part of the solution translations, as we can now use the standard export/import feature for the translation with Power Fx commands. But in Ribbon Workbench, for the button label translations, we needed to modify RibbonXml.
- In Power Fx command for the customization, we need to add Component Library in the solution to deploy buttons. There are some restrictions at the moment as we need to share that Component Library with the users separately. Previously, in Ribbon Workbench, we needed to deploy the button using the entity/table solution components.
- Power Fx command buttons deployment is much quicker as they use Component Libraries. However, in Ribbon Workbench, at the back end, it is export/unpack/update/rezip/import cycle for making buttons related changes, so it takes time.
Let’s discuss some common requirements that we perform whenever we work on the command bar.
|Common Requirements||Ribbon Workbench||Commanding V2|
|Hide, move, change label/icon, and change command of the existing OOTB button.||These actions can be performed using the Ribbon Workbench designer.||Not yet available.|
|Save the record.||Available||Available by Power FX command.|
|Related records create/update||Available||Available by Power FX command.|
Let’s discuss the topic of visibility rules, the feature set which at the moment has the most significant gaps.
|Common Requirement||Ribbon Workbench||Commanding V2|
|Show button actions on a specific form, web or outlook, online/offline, user security privileges, certain entity.||These actions can be performed using the Enable rules in Ribbon Workbench.||Not yet available.|
|Visibility of button at the selection of a record in a grid.||Available||Available by Power FX command.|
|Show/hide a button depending on the field value.||Available||Available by Power FX command.|
Hope this blog sorted out your confusion related to Power Fx command and Ribbon Workbench differences.
Leave a comment and tell us if we missed anything or how this blog helped you. We are ready to listen!