Recently while performing a client upgrade from CRM 4.0 to 2011 I ran into an issue with the SiteMap stripping out the Org Name in a URL. This particular client’s 4.0 environment had a SiteMap entry that brought them to a report to view. During a review of the system post upgrade I found that these links were broken. After further investigation I found CRM was stripping out the Org Name even though it was in the URL inside of the SiteMap. I struggled with this for quite some time. I discussed this with a few of my colleagues and we threw around some suggestions such as creating a dashboard which would then reference the report via an iFrame. However, this client had some special security policies around the SiteMap and we all know that there is zero security controls around a system dashboard so I kept digging. After some testing I figured out a way to get this to work 2011 without CRM stripping the Org Name out.

What I did was create an ASPX page with the following:

<%@ Page language="c#" Inherits="Microsoft.Crm.Application.Web.Pages.ResCenterBase" %>
<%@ Import Namespace="System.Globalization"%>
<%@ Import Namespace="Microsoft.Crm"%>

<html>
    <head>
       <script language="JavaScript">
       </script>
    </head>

       <body style="width:100%; height:100%; background-color:#d6e8ff; margin:3 3 3 3">
             <iframe id="frm" src="http://www.google.com” frameborder=0 height=100% width=100%></iframe> 
       </body>
</html>

I then saved this as .ASPX page and moved it into the appropriate folder on my CRM Server. For this example I save it here “C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ResourceCenter” as this was a link in the Resource Center Area. 

The next step was to utilize the SiteMap Editor found on CodePlex (http://sitemapeditor.codeplex.com/) and update my entries to point to my new ASPX page instead of the URL. Below is a screen capture of what my SubArea entry looks like now with it pointing to the ASPX page.

SiteMap

Hope this saves you some time!!