Tuesday, August 10, 2010

CRM 4.0 Sitemap Group with id has an empty title Warning

I've been doing some extensive changes to the SiteMap.xml recently. Everything went well and the site loads except that CRM started throwing warnings in the trace log everytime I visited the site.

...
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>Sitemap Group with id "grp_Programs" has an empty title (groups have to have titles if their parent area has ShowGroups attribute set to true).
# CRM Tracing Version 2.0
# LocalTime: 2010-08-10 09:21:40.8
# Categories:
# CallStackOn: Yes
...
I did validate the sitemap against the schema while editing the xml, so I'm sure that its well formed and valid. Also, the import process did not complain during the upload either.
(more info on the schema I used at the end of the post)

A little investigating and trial and error I found that the problem lay with the deprecated "Title" attribute in the Group node. (http://msdn.microsoft.com/en-us/library/cc150880.aspx)

Even though the documentation states that attribute is deprecated, it appears that CRM uses it internally. So adding this attribute produces the following site map:
<group id="grp_Programs" title="Programs">
<titles>
<title lcid="1033" title="Programs">
<title lcid="1036" title="[Fr]Programs[/Fr]">
</titles>
...
</group>

I tested this with Rollup update 10 and I'm not sure if that has been fixed with a newer rollup. I might try this again with the latest rollup to see if its still reproducible.

References:
The schema I used to validate contains the customizations.xsd, the SiteMapType.xsd and the Isv.config.xsd files into one file. Download it here:

http://rc.crm.dynamics.com/rc/regcont/en_us/op/articles/sitemap.aspx
http://rc.crm.dynamics.com/rc/downloads/ISVConfigAndSiteMap.zip

No comments: