Category Archives: Navigation

USD: How to get records of the same type on different tabs?

My apologies in advance because I can’t show detailed screenshots; I work at a financial institution, so you get the drift. I’ll try to be as clear as possible, though.

In our implementation, we need to show different Account records (this is a custom entity, not the CRM default) in separate independent tabs when selected from the Contact form sub-grid. The problem here is that the default CRM behavior is to put all the records in the same tab and then provide a dropdown that allows you to select which record you want to view.

No bueno. So how do you get CRM to show each record in its own tab within the current session?

You need to create as many Hosted Controls for the entity as you might need to show individually. In our case, we’ve determined that users have around three tabs open on average, so we went ahead and created five Hosted Controls for our Account entity. It’s very important that they have distinct names, so they were named “Account 1”, “Account 2”, etc.

Easy enough, we’re halfway there. Here comes the mildly tricky part. You need to create as many Window Navigation Rules as you have Hosted Controls. So that means in our case, five WNRs. Here are the details on what to put in the fields:

  • General
    • Name: Make sure you use a sequence here that matches the HCs description for clarity’s sake.
    • Order: This is crucial. This determines how the USD will go through an elimination process to determine where to pop-up your page.
  • Route Logic
    • From: The entity from where you’ll be showing these records. In our case, Contact.
    • Entity: The Entity Type you will be displaying.
  • Result
    • Route Type: In Place
    • Destination: Tab
    • Action: Route Window
    • Target Tab: The name of the corresponding hosted control. So if this is “WNR MyEntity 1”, the HC would probably be “MyEntity 1”. Something along those lines.
    • Show Tab: Same deal as above, if you want the USD to switch to that tab automatically.
    • Options: Set these two as you prefer.
  • Advanced
    • Condition: This is the cool part. You will type in this:
      • "[[HostedControlName.url]+]" == ""
        • Make sure you include the double quotes as shown.
        • Replace HostedControlName with the name of the HC you will be pointing at, which is the same as the Target Tab above.
        • You will not place the condition in the last WNR. Leave it blank.

How does this work? The USD will check the condition for presenting the record based on the first WNR rule set for the entity. It will check for the URL of the related hosted control. If it finds that it’s blank, it’ll fire this navigation rule and be done.

However, if the URL is not blank, it’ll skip this rule and move on to the next one, which, referencing a different hosted control, will be forced to be displayed in a new tab!

In our internal testing it works flawlessly. No hitches, no performance issues.

But hey, you ask. What happens when we hit the last rule? Then we go back to the normal USD behavior with the dropdown for all subsequent form calls.

That’s it! A million thanks to our Microsoft PFE and CRM guru Daren Turner for providing this solution.

Have fun!

Tagged , , , , , ,

CRM 2013+: Where did my Security menu option go?!

We’ve been working with our migration from CRM 2011 to 2015, and in the process we realized that we lost the Security option from the navigation. It was gone. Lost. Nowhere to be found. How are we going to edit security roles and related items? Hairs were pulled. Questions were asked. And finally, we found the reason why.

If you remember, the Security option is not part of the original CRM 2011 options, since user management was under the Administration area. That was the first clue.

In addition to that, we have been including the Site Map in our master solution since day one into all our environments. That meant that the Site Map is being overwritten with our old navigation! In the process, the Security option was cut out! To fix our new and shiny 2015 organization, we need to manually edit the Site Map. To do so, we need to do the following:

  1. Create a new solution.
  2. Add the Site Map to the solution.
  3. Export.
  4. Unzip the solution and open the customization.xml file.
  5. Include the missing option nodes in the appropriate area.
  6. Save the file.
  7. Zip the solution with the modified file.
  8. Import the solution with the modified customizations.xml file.

In our case, below is the XML line we needed to add (highlighted in white):

sitemap_line

This work was facilitated by the wonderful software known as Araxis Merge. Don’t have Araxis? Go get it now. It’s fantastic.

Maybe an easier way to deal with this is to compare your existing Site Map with the one from the newly-minted organization, and note the differences. If something is missing from the old one, include it. Another way to do it (and maybe the easiest one) would be to exclude the Site Map from your main solution.

Whatever approach you take, now you know why some menu options can disappear from your new organization installation.

Have fun!

Tagged , , , ,