With the new version of CRM (2011), some UI changes are obvious, but also some changes were introduced to the way we used to handle changes to the Site Map.
The idea of “Solutions” was introduced, which replaces the old way of exporting/importing a simple XML file. The easy way to approach this is to export the existing Default solution. This will allow you to save a zip file locally. All fine, no problems so far, pretty similar to the approach from version 4.0. Easy, right?
Let’s go on! Extract the zip. You will find 3 xml files inside. The files are:
So let’s have a look at the files, and see what we find familiar in these files.
This is a standard Office Open XML file. You will find this same definition file in all office documents at the root, since version 2007. You can find more information about the purpose of this file at the following URL:
The only definition inside is for xml. There’s nothing to change here, so let’s move on.
Now, here we need to modify some info to make this a different solution from the default one we just exported. Otherwise next time when we re-load this solution, the original Default solution will get overwritten.
Change the <UniqueName> to a new value that represents your new solution. This is the name of the solution as it will appear in the solution list.
You can change the version if required.
The <Managed> tag defines if you will load this solution as managed or unmanaged. Default 0 is unmanaged. For an in-depth discussion on Managed vs. Unmanaged we’ll have to go into another blog posting.
The <Publisher><UniqueName> tab describes the default publisher, and the <LocalizedName> is in fact what’s displayed under the Publisher column.
One other item you might consider changing in this file is the prefix for new entities. The default value is new. I can’t tell just yet if there is a length limit on this, but, as a rule of thumb, keep it short so it does not overpower the actual name of the custom entity you create.
This should be enough to get you started. You can always investigate the rest of the tags.
And now, we’re finally at the part we are really interested in. We wanted to modify the Site Map. For the purpose of keeping this article short, I’m only going to hide the Resource Center area.
Find the <Area Id=”ResourceCenter” …> Comment this out (from before the tag, to the closing Area tag). You do NOT need to remove it, just using plain HTML comments will do.
This does it.
Now, to get this Solution back into CRM, zip all 3 files together, and name the zip whatever you want. In CRM, do an import, Browse to the newly created zip and follow the steps. Acknowledge the warning, that unmanaged solutions cannot be uninstalled. This is up to you to decide what you want to do, either proceed forward, change the solution to a Managed solution, or run and hide J
The file is uploaded, customizations imported, and you are ready to publish customizations. Go ahead!
Browsing back to the listing of Solutions, you will find the new solution in the list. Also, you will find that the Resource Center section is hidden (if not, refresh the browser).
That’s it, as simple as that.