Related sites:

Newsletter: Perspectives on Power Platform

Company: Niiranen Advisory Oy

CRM Navigation Hacking with Bookmarks

When you spend your days working closely with an application like Dynamics CRM, such as when customizing or developing solutions for your customers, your mind will often times be working much faster than the application. You know exactly which feature you want to access, but if you need to navigate through several levels of menu hierarchies to get there, the process may be too slow to keep up with your train of thought, making it hard to concentrate on the actual task at hand.

My personal strategy for reducing the cognitive burden involved with navigating inside Dynamics CRM has been the use of smart bookmarks. Here’s some tips on how I’ve set up my current working environment. If you have any similar CRM productivity tips of your own, please do share them in the comments section below.

Launching New Tabs from “Quick Nav”

While piling up a mountain of open browser tabs may not be great for your productivity either, the cost of moving between tabs is still lower than constant in-app navigation between menus. When working with CRM customizations, I always tend to have the end user content in one tab (views or record detail forms) and the Solutions view on the other one, so that I can quickly access the component I want to modify and validate the results with an F5 on the other tab.

Dynamics CRM 2013 and beyond unfortunately don’t support the standard convention of right-clicking on menus and opening them up in a new browser window. Nothing stops you from opening CRM in a second tab and working with the settings via it, but this means you always have to start from the first page and navigate back to where you wanted to go. To speed things up a bit, I keep a “Quick Nav” available menu in all my browsers, created as a folder in the favorites/bookmarks bar that I also keep open at all times.

CRM_QuickNav_menu

So where exactly do those bookmarks lead to? A specific menu in a certain CRM organization? Nope, those are generic bookmarks that apply to the currently open CRM organization. They work in any CRM 2013 or CRM 2015 environment, on-prem or Online. You see, they are not actual bookmarks with a static URL pointing to a resource somewhere, rather they are bookmarklets that contain a short piece of JavaScript.

Since I couldn’t write a piece of JavaScript from scratch if my life depended on it, I’ve had to scour the web for examples of how to make the bookmarks get me to where I want to go. I’ve outlined the process of constructing many of these JavaScript bookmarks in my previous post “Power User Tips for CRM 2013 Navigation” so I won’t repeat the details here. As a short recap, the way I’ve built the bookmarklet that opens up the Solutions view for the current CRM organization in a new browser tab is I’ve copy-pasted the following text into the URL field of the bookmark/favorite in my browsers:

javascript:window.open($('#crmContentPanel iframe:not([style*=\"visibility: hidden\"])')[0].contentWindow.Xrm.Page.context.getClientUrl() + "/main.aspx?Origin=Portal&page=Settings&area=nav_solution");

The original script for this has been adapted from a post by CRM MVP Blake Scarlavai. You could use the same template for building a bookmark that links to basically any item available in the Dynamics CRM sitemap. If you’re interested in more advanced bookmarklets like “God Mode” that enables all disabled form fields, allows editing of inactive records and all sorts of other cool stuff, then have a look at this post by Paul Nieuwelaar on how it works. He’s also got an article about how to reopen an activity via a bookmark so if you ain’t following his writings on the Magnetism Blog yet then I wonder what exactly you are spending your time on that cloud be so much better?

Before you navigate away from this site with the new powers given to you by CRM bookmarks injected with JavaScript, I’d like to bring up another topic that actually inspired me to write this post in the first place. It’s about the latest CRM 2015 version and how a simple bookmark might come in handy once you start upgrading your customer environments to it.

The New CRM 2015 Security Menu

As new features get added to the Dynamics CRM platform in each release, there will come a time when the contents of old settings menus need to be rearranged. In CRM 2015 Microsoft has introduced further settings related to the security model (hierarchy & position security), which has lead them to creating a new dedicated menu area called “Security” to host all the related menus. This includes Users, Teams, Security Roles, Business Units, which are frequently accessed menus for system administrators.

What may come as a surprise to many CRM sysadmins is a fairly common situation where this new Security menu is not visible in the CRM Navigation Bar. There are a couple of scenarios where the Security menu may go missing completely. One is the upgrade from CRM 2013 to CRM 2015, which may not be able to add the new menu item. The second is the situation where you deploy a solution package created in an earlier version of CRM and this solution package contains the sitemap. The contents of the actual menu pages will still follow the new CRM 2015 layout, which means you won’t find the Users or Security Roles menus under Settings – Administration anymore. This can be a nasty surprise to anyone who’s in a hurry to create new CRM users or modify the security roles for existing users.

After running into this situation a number of times, I decided to add a new item into my Quick Nav bookmark menu. This new “Security” bookmark will simply open the target aspx page in a new tab that hosts the links to items like Users and Security Roles. Here’s the script to be pasted into the bookmark URL field:

javascript:window.open($('#crmContentPanel iframe:not([style*=\"visibility: hidden\"])')[0].contentWindow.Xrm.Page.context.getClientUrl() + "/tools/AdminSecurity/adminsecurity_area.aspx");

CRM_2015_Security_menu

As you notice from the picture, using this bookmark will not give you the full CRM Nav Bar on top but just the menu items found under the Security area. This is because there isn’t anything to actually show there, as the Security item really does not exist in the sitemap of this CRM organization. While this is perfectly fine for quickly accessing the security configuration items in an environment where you come across this issue, the only permanent solution is to modify the CRM sitemap.

If you’re a noobie with Dynamics CRM, the idea of modifying the sitemap XML may sound like a scary task. If you’ve been reading Dynamics CRM blogs or forums, you should however know that the right place to turn to in any of your CRM navigation modification needs is the ‘xcellent XRM Toolbox, which contains a tool called Sitemap Editor. Adding menu items via this graphical tool only requires some basic knowledge about the concepts used in CRM configuration.

CRM_2015_Security_menu_Sitemap_Editor

One thing you might not be aware of, though, is the fact that the Sitemap Editor contains one extremely handy feature for situations like these. When you right-click on top of an Area or Group in the sitemap, you’re presented with a context menu that contains the option: “Add default SiteMap Group/SubArea”. By using this feature you’re able to add an exact replica of the out-of-the-box CRM 2015 Security menu back into your sitemap. Thanks for saving us once again, Tanguy!

13 Comments

  1. Thanks Jukka, a life-saver. This is a sure indictment that the 2013/15 navigation is broken. I’ve heard a Microsoft person call these “a cool innovation” and if a poll ever came my way, I would have to “strongly disagree” with this statement. I have not been this frustrated since Word 2003 with nested menus and having to remember where they all are. And that is AFTER I’ve customised the CRM menus using XRM Toolbox.

    Thankfully now with the navigation bookmarks we have some control back!

  2. Hi Jukka cool blog.

    Your security bookmarklet does not give the nav bar because you based it on Blakes script for advanced find, where of course you do not want the nav bar and want a new tab/window.

    If you want to have the security menu open as normal, you can use a modification of the Solutions area bookmarklet that I created:

    javascript:var o=new Object();o.uri=”/tools/AdminSecurity/adminsecurity_area.aspx?pagemode=iframe&sitemappath=Settings%7cSystem_Setting%7cnav_security”;window.top.document.getElementById(“navBar”).control.raiseNavigateRequest(o);void(o);

    • Thanks for the contribution, Jared! Are you sure that this bookmark works in an environment where the sitemap doesn’t contain the new Security area, though? I tried it in such an org and I get an “Error has occurred” message from CRM.

  3. Hi Jukka

    Once again a great article. I have one question: what URL do you use to get to the Default Solution that I see as one of your Bookmarklets? Can’t find that one specifically in my site map.

    Thanks

    Peter

    • Thanks, Peter! The script I have in the Default Solution bookmark actually contains a GUID reference to the solution. However, since from what I know, these standard components have the same GUID in each CRM environment, the following string should work across any deployment:

      javascript:window.open($(‘#crmContentPanel iframe:not([style*=\”visibility: hidden\”])’)[0].contentWindow.Xrm.Page.context.getClientUrl() + “/tools/solution/edit.aspx?id=%7bfd140aaf-4df4-11dd-bd17-0019b9312238%7d”);

  4. Jukka, do you know if there is a way to enable admin entities/views so they are shown in the MRU menu? I’d love to be able to pin “All Solutions” and “System Jobs”, as well as specific solutions or other admin entities.

  5. Basic (but important) considerations about the Dynamics 365 security model

    The Dynamics 365 security model When it comes to data , security defines  who has the right to do 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.