Microsoft Dynamics 365 is bringing a lot of great new features that are very long in the making. One of these is the Sitemap editor. The Sitemap controls the navigation in Dynamics – the ribbon, tabs, etc. In the bad old days of CRM 2011 and earlier, the only way to update the Sitemap was to put it in a solution, export it out, and edit the XML directly. Yuck! This had every bad quality a solution could have. It was time consuming, non-intuitive, and difficult to learn – but at least it was highly error prone.
Until now, everyone I know used a 3rd party visual site map editor – shout out to Tanguy Touzard’s XrmToolBox, which is still amazing, awesome, and useful, and you should check it out. However, it looks like developers are not going to be using the Site Map editor plugin as much anymore, because Microsoft has finally given us a Sitemap editor out of the box and native to Dynamics.
Before launching the Sitemap editor, it would be useful to understand how the Sitemap is structured, and what the different components are called. The primary components in a Sitemap are “Area”, “Group”, and “Subgroup”.
Areas (or tabs)
Groups (which live under Areas)
Subareas (which live under Groups, and are the actual clickable links that lead to entities and Dynamics components)
The Sitemap Designer is accessed from the app designer. I have a related blog post in which I outline the use of the app designer to create a Customer Service app, but I glossed over the creation of the Site Map. In my last post, I created the Customer Service app to expose Accounts, Contacts, and Cases. I’m going to expand the app a little bit to expose Queues, Articles, and Contracts also.
So, I’m going to get to the App Designer by going to Settings.. My Apps, and open the Customer Service app I created by clicking “Open in App Designer”.
Once I’m in the App Designer, I can click the blue arrow in the Site Map area, and that will bring me to the Sitemap Designer.
This brings me to the world’s most boring sitemap that’s not hooked up to anything – just a single generic New Area, New Group, and New Subarea.
I now have to plan out my Sitemap. I am exposing Accounts, Contacts, Cases, Queues, Contracts, and Articles. I am going to have two Areas (tabs) – Customers and Service. Under Customers I’m going to just have a single Group called Information. Under Service I’m going to have two Groups called Work and Knowledge. And I will place all the entities I’m going to expose into the appropriate Group.
So, starting with what I have I am going to select the “New Area”, and notice that opens up a space where I can put the Title of my Area, which I am going to call Customers. I can also choose to associate a specific image with the group, but I’m not going to do that right now, so I will leave it with the default image. I also want Dynamics to have a good unique identifier for my Area, so I will change it to be New_AreaCustomers.
I then want to rename the existing Group, so I click the New Group. I am giving this a title of Information, and I’m going to change the ID unique identifier to New_GroupInformation
Now, I want the Subareas which are the links to my entities. In the Customers Area, I’m going to link to both Account and Contact. So, I will click the new Subarea, and I now have to provide a little more information. I click the “Type” dropdown, and notice that my Subarea can be of 4 different types:
- Dashboard – Links to a Dashboard in Dynamics.
- Entity – Links to an Entity in Dynamics.
- Web Resource – Links to a Web Resource you’ve created in Dynamics, such as a custom web page or Silverlight app.
- URL – Takes you to an external URL.
In my case, I just want to link to the Accounts entity, so I choose Entity. When I do that, it will tell me an entity is required, so I select Account. Again, I want to modify the ID to be useful, so I’m going to call it New_SubAreaAccounts.
I’ve now run out of items that were pre-created for me by default when I came to the Sitemap. I need to click the Add button, and tell it what I want to add. I want to add another Subgroup that links to the Contact entity. When I click Add and choose Subarea, it gives me a new Subarea that I need to update as before, but this time with the Contacts entity.
I’m now going to finish up my Sitemap. I’m going to create another Area called Service, and remember to update the ID. I’m going to select that Service Area, and click Add. If I have the Area selected, I should only get the option to create another Area or Group. Subgroup is greyed out because I can’t add a Subgroup directly to an Area.
I’m going to add my two Groups under Service – Work and Knowledge, remembering to update the IDs.
I now expose Cases and Queues entities under Work, and Articles and Contracts under Knowledge, and I have my Sitemap! If I want to make it available to other people using my app, I click Publish.
And now, I click Save and Close for the Sitemap Designer. I can Publish, Save and Close for the App Designer, and I can navigate to my app in Dynamics from Settings…My Apps. I should now be able to see my handiwork directly in my app in Dynamics.
See all the cool new things we’re doing with Microsoft Dynamics 365!