Posted on 24. October 2013

Upgraded to Orion? Upgrade to Ribbon Workbench for CRM2013

If your Dynamics CRM Online instance has been upgraded to Orion (CRM2013) you will need to upgrade to the latest version of the Ribbon Workbench for CRM2013. Since the Ribbon Xml Schema has changed slightly with CRM2013, the old version will no longer work.

Upgrade Steps:

  1. Open Settings->Solutions.
  2. Locate the Ribbon Workbench solution and click 'Delete'
  3. Download and Import the Ribbon Workbench for CRM2013.
  4. Refresh your browser and navigate to Settings->Solutions where you will find the new Command Bar button:

Further reading:

  1. Ribbon 'XML' Workbench for Dynamics CRM 2013 with a silent 'XML'!
  2. 4 things you need to know about the Command Bar
  3. Restore a Button that has been removed from the CRM 2013 Command Bar

 

Posted on 6. September 2013

How to restore a hidden button on the CRM 2013 Command Bar

The new Dynamics CRM 2013’s command bar has deliberatly limited space for buttons due to the ‘intentionally constrained’ user interface design. The idea being that if you limit the space for buttons, then designers will be forced to only show those that are absolutely necessary and the user experience will be improved. As result, many of the buttons from the CRM 2011 Ribbon Bar have been removed from the CRM 2013 Command Bar.

The CRM2011 Ribbon Buttons are still there, but hidden using a new RibbonXml Display Rule named 'Mscrm.HideOnCommandBar'. This article shows you how to restore those buttons to the Command Bar that your users absolutely must have using the Ribbon Workbench for CRM2013.

1. Create a solution containing the entities that you wish to restore buttons for. This example uses the ‘Case’ entity, and we are restoring the ‘Connect’ button on the ‘Form’ command bar.
Before customising, the Form Command Bar looks like the following:

You’ll notice that only 5 buttons are shown until buttons are added to the ‘overflow’ menu. The ‘Connect’ button is not here since it was deemed unessential.

2. Open the solution containing the Case entity in the Ribbon Workbench for CRM 2013 and select the ‘incident’ entity if not already selected. You will see by default the Command Bar is selected.
 

3. In order to locate the button we want to restore, click on the ‘Ribbon’ selector to show the Ribbon. This will show the Ribbon Design surface.

4. Select the ‘Form’ ribbon using the dropdown on the top right of the design surface, then select the ‘Connect’ button and Right-Click ‘Customize Command’

5. Locate the Customised Command in the ‘Solution Elements’ tab under ‘Commands’

6.  In the Edit Display Rules dialog, select the ‘Mscrm.HideOnCommandBar’ rule and click the ‘<Remove’ button.

7.  Important: Locate the following Display Rules, and set the ‘IsCore’ property to ‘True’ – this will prevent them from being customised as well:

a.      Mscrm.HideOnCommandBar

b.      Mscrm.CreateConnection

c.      Mscrm.IsConnectionsEnabledPrimary

d.      Mscrm.HideOnModern

8. Important: Locate the ‘Mscrm.FormStateExistingOrReadOnlyOrDisabled’ Enable Rule, and set the ‘IsCore’ property to ‘True’

9. Click ‘Publish’

10 Now when you refresh the Case Form, you will see the Connect button again.

11  You’ll notice that only the default button is shown – so if you use the drop down, you’ll only get the ‘Connect to Another’ option. To enable the ‘To Me’ button repeat the process for the ‘To Me’ button:

Remember to make sure that only the buttons that are really needed are included - the Command Bar has been constrained intentially to give your users the best experience.

@ScottDurow

 

Posted on 7. August 2013

Ribbon ‘XML’ Workbench for Dynamics CRM 2013 with a silent ‘XML’!

After much deliberation and consultation, I have decided to stick with the name 'Ribbon Workbench' rather than rename to CommandBar Workbench. Here are some of the reasons behind this decision:

  1. The Command Bar in CRM 2013 is still defined with RibbonXml, but rendered differently. A DisplayRule is used to exclude buttons from the CommandBar.
  2. The Ribbon is still present on non-refresh entities and in Outlook so it's important to still have support for Ribbon editing.
  3. Since the Ribbon Xml remains unchanged, it's important to understand and differentiate between Tabs/Groups and Layouts.
  4. The Ribbon Workbench is already an established 'brand' than people know about.
  5. So until we have CommandBar XML in a future version of Dynamics CRM – it'll always be the Ribbon 'XML' Workbench with a *silent* 'XML'!

The new version has the following improvements:

  • Dynamic switching between the Command Bar and Ribbon view
  • UI refreshed to match Dynamics CRM 2013
  • Performance Optimisations
  • Support for new Dynamics CRM 2013 schema
  • For those of you with access to the Dynamics CRM 2013 beta - the Ribbon Workbench for Dynamics CRM 2013 beta is available for download here:
    http://www.develop1.net/public/page/Ribbon-Workbench-for-Dynamics-CRM-2011.aspx

    @ScottDurow

    Posted on 3. July 2013

    Evolution of the Dynamics CRM Toolbar

    With the first glimpses of Orion being available (or Dynamics CRM 2013 as it is now called) I thought it would be a good time to look back at how the form tool bar has evolved over its history.

    I've been working with Dynamics CRM ever since the first version (when it was just Microsoft CRM) and with great fondness I reminisce!

    Microsoft CRM 1.0 (Released January 2003)
    Microsoft CRM 1.2 (Released December 2003)

    The tool bar was very much as you would expect for any application of this era. Drop down menus and 16x16 icons with optional text descriptions.

    Microsoft Dynamics CRM 3.0 (Released December 2005)

    The toolbar remained very similar to the previous version, but with some groovy shading to give it a fresher look and align with the Microsoft Office toolbar style. Now part of the Dynamics family, this alignment with Microsoft office was an important step change in the product. As the window was shrunk in width, the text labels would disappear leaving only the icons to save space.

    Microsoft Dynamics CRM 4 (Released December 2007)

    The toolbar was again updated with the Microsoft Office style – and the dropdown menus were replaced with the Jewel menu. I remember many people using Dynamics CRM for many months before realising that you could click on the Jewel to get the 'File' drop down! Dropdown buttons were also introduced (e.g. Actions) to combine the dropdown menu bar with the button bar.

    Microsoft Dynamics CRM 2011 (Released February 2011)

    The Office Ribbon had been big news already, but its introduction into Dynamics CRM was again a step to align it with Microsoft Office. This was especially important for the Microsoft Outlook integration to give a consistent user experience. In Dynamics CRM, the ribbon introduced different sized buttons depending on significance, rows of buttons, split buttons and dynamic resizing based on the width available. RibbonXml provided a rich and powerful way of adding custom buttons that critically could be context sensitive so that they would dynamically show/hide, enable/display depending on what was selected or the data on a form. This was fantastic for XRM (Anything Relationship Management) applications but it was error prone to create due to the complexity of RibbonXml. The Ribbon Workbench plugged this gap!

    CRM 2011 POLARIS/UR12

    With the release of the Polaris/UR12 update, a new style of user interface was introduced that was used on an opt-in basis. The UI was based around the new Modern 'flat' user interface that originated from Microsoft Zune, further developed by Windows Phone and later Windows 8. If the 'process' UI was selected, the ribbon was replaced by a simple toolbar that addressed the main criticism of the Ribbon in that it was 'too complicated'. The design principle of 'the content is the UI' aimed to reduce chrome and use simple typography in order to increase readability and usability. An interesting result of this simplification is the reduction to a maximum of 7 buttons on the toolbar before others are pushed into the ellipses drop down.

    The main drawback with the Polaris process forms was that they were not customisable and so remained to many customers more of a 'preview' of things to come.

    ORION/Microsoft Dynamics CRM 2013 (Release Fall 2013?)

    … and so that brings us to Dynamics CRM 2013 which at the time of writing is due for release in October 2013.
    It has been well publicised that the Ribbon will no longer feature in Orion in favour of the new Modern 'flat' user interface style, and indeed the style is very similar to Polaris but with coloured buttons and the return of the well-loved 'Save & New' button. I welcome the addition of colour as I often found the grey buttons hard to locate quickly on the form. The design principle of keeping the number of buttons to a minimum still applies and the ellipses overflow dropdown is still there. It has been confirmed that the RibbonXml will still be used to customise this toolbar/command bar – and I suspect that those icons are the same 16x16 ones we see in the CRM2011 ribbon. Naturally, a new version of the Ribbon Workbench will be released for Dynamics CRM 2013.

    Thanks for indulging me and reading this far - I'm feeling a bit glassy eyed and nostalgic - but the question still remains – what do we call the new ribbon?
    Toolbar? App Bar? Command Bar?

    I'll keep you posted when I find out!

    @ScottDurow
    Check out my Rockstar365 profile!

    Posted on 19. February 2013

    App/Command Bar Workbench for Dynamics CRM 2013

    The present roadmap for Dynamics CRM has the next version (Dynamics CRM 2013 possibly) sporting the new 'modern' UI throughout. An automatic upgrade path from Dynamics CRM 2011 forms customisations and ribbons will be provided - and it's likely to use a similar RibbonXml like schema under the hood. With this in mind I've done some re-imagining of what the Ribbon Workbench might look like by the end of the year.

    Introducing the App Bar Workbench for Dynamics CRM 2013

  •  

    Exciting times are ahead :)

    @ScottDurow

    Posted on 2. February 2013

    Adding Auto Refresh to Dashboards

    This post shows you how to set up a CRM2011 Dashboard 'auto-refresh' feature using the Ribbon Workbench in 10 easy steps (well…11 if you count clicking publish at the end!).

    We will add an auto refresh function to the 'EnableRule' of the Dashboard refresh button that schedules a refresh using the 'setTimeout' function. The EnableRule is called when the dashboard page is first displayed to check if the Refresh Button should be enabled. We schedule the refresh, and then return true to ensure the button is still enabled. This technique can also be used to add JavaScript to areas of CRM 2011 that are not form based.

    Let's get started:

    1) Create a new solution and add the Application Ribbon to it (Client Extensions->Add Existing->Application Ribbon).

    2) Create a new web-resource named 'RefreshRibbon.js' (or something similar)

    Add the following JavaScript to it:

    var AUTO_REFRESH_INTERVAL=30000;
    /// Schedule the first refresh if we havn't already
    function autoRefreshDashboards() {
        var topWindow = window.top;
        if (typeof (topWindow['refreshRegistered']) === 'undefined') {
            window.setTimeout(autoRefreshTimeoutCallback, AUTO_REFRESH_INTERVAL);
            topWindow['refreshRegistered'] = true;
        }
        return true;
    }
    // Refresh the dashboards and schedule the next refresh
    function autoRefreshTimeoutCallback() {
        try {
            Mscrm.DashboardRibbonActions.refreshDashboardPage();
            window.setTimeout(autoRefreshTimeoutCallback, 30000);
        }
        catch ($e1) {
            // Perhaps the dashboards are no longer loaded. and we are on a different page
        }
    }
    
    

    Note: You can change the refresh interval using the 'AUTO_REFRESH_INTERVAL' value which is in milliseconds (30000=30 seconds)

    Your solutions should now look something like:

  • 3) Open the Ribbon workbench, and load up your new solution.

    4) Select the 'Application Ribbon' in the 'Entities' panel if not already, then select the 'Dashboards' tab in the Design surface (be sure to select 'Dashboards' and not 'Dashboard')

    5) Right click on the 'Refresh All' button and click 'Customise Command' (Not Customise Button)

  • 6) Locate the 'Mscrm.DashboardTools.RefreshCommand' command in the 'Commands' section of the 'Solution Elements' panel. Right click, and select 'Edit Enable Rules'

    7) In the Enable Rules dialog click '+Add New' and then select 'Add Step', before selecting 'Custom JavaScript Rule'

    8) In the Enable Rule properties, set:

    FunctionName: 'autoRefreshDashboards'

    Library : Click the lookup button and select the 'RefreshRibbon.js' (If you don't see it, then you forgot to add the javascript webresource you created above to the solution you loaded into the Ribbon Workbench)

    9) Click OK, and OK again.

    10) In the 'Solution Elements' panel, expand the 'Enable Rules' and select 'Mscrm.IsDashboardSelected'. In the properties panel, set 'IsCore' = True.

    This ensures that this rule is not customised in our solution since we only need to customise the Command to add the new enable rule.

    11) Click Publish Solution

    And you're done! This will work both in the Web Browser and the Outlook client. It is important that you remember that auto-refreshing dashboards could place more load on your server if lots of users leave the dashboards open all day!

    Until next time…

    @ScottDurow

    Posted on 22. November 2012

    Add a Run Dialog Short-Cut Ribbon Button

     

    As I've mentioned before, users are always asking about making solutions 'less-clicky' - a common request is to provide a button to run a frequently used dialog rather than having to search for it each time in the lookup window.

    The following solution shows you how to do this quickly using the Ribbon Workbench for CRM2011.

    http://ribbonworkbench.uservoice.com/knowledgebase/articles/140652-create-a-run-dialog-short-cut-ribbon-button

     

    Happy Ribbon Customising!

    @ScottDurow

    Posted on 26. October 2012

    No-Code Workflow Shortcut Ribbon Button

    Users are always asking about making solutions 'less-clicky' - a common request is to provide a button to run a frequently used workflow rather than having to use the look up dialog.

    The following solution shows you how to do this without writing a single line of code!

    http://ribbonworkbench.uservoice.com/knowledgebase/articles/132235-create-a-workflow-short-cut-ribbon-button-no-code

    Homepage button

    Of course it is using the Ribbon Workbench for CRM2011. If you've not already, download it for free now!

    Posted on 2. October 2012

    Ribbon Workbench demo at eXtremeCRM!

    Yesterday, Jim Daly demoed the Ribbon Workbench in his session on 'Dynamics CRM Extensibility:  Tools, Resources, and What’s New' at eXtremeCRM in Las Vagas. Coincidently, last week the Ribbon Workbench moved out of beta testing.

    I'm really pleased with how the Ribbon Workbench has turned out - and a BIG THANK YOU to all those who have helped.

    The coming months will see new features being introduced into version 2 - be sure to watch out for an up coming post with the road-map for the Ribbon Workbench.

     

     

    Posted on 2. October 2012

    Enable/Disable a ribbon button dynamically based on a form value

    I've added another 'How To' article to the Ribbon Workbench knowledge base:

    Enable/Disable a ribbon button dynamically based on a form value

    Any suggestions for more? Let me know!