Источник:
http://blogs.msdn.com/b/crm/archive/...lkthrough.aspx
==============
It has always been a very tedious process to update the SiteMap. The conventional way is to have the sitemap exported as part of a solution, extracting the customizations.xml from the solution zip, hunt for the sitemap portion in the same xml file, update what needs to be updated, zip the file back into the solution, reimport the solution, and publish it. That sounds a lot doesn’t it? Not to mention that if you are not satisfied with the update, you have to do the same process all over again. It’s a trial-and-error process and is very error prone. Is there a way to make a system customizer’s life easier?
Yes there is. We have released the
Microsoft Dynamics CRM SiteMap Editor last November. It is released as a solution that can be imported into a CRM organization, and customizations can be done within CRM in a snap. Once you load the editor’s user interface, you can view the sitemap and make all necessary updates. The accompanying
user’s guide gives you a jumpstart on how to use the tool. This blog provides you a concrete example on updating the sitemap using the Microsoft Dynamics CRM SiteMap Editor.
Adding a New Area to the SiteMap
NOTE: Before updating your sitemap, make sure to save a back-up of your sitemap just in-case you encounter issues in the sitemap update process. Always follow this best practice. If you don’t have a back-up, you would need to recreate your sitemap, or dig through old sitemap copies and do a restore.
Consider that you are a system customizer for a nonprofit organization which has different kinds of volunteers and has decided to keep track of your volunteers in CRM. You wanted to achieve this sub-structure in the sitemap:
- Volunteering (Area)
- Volunteers (Group)
- Volunteers (Subarea)
- Volunteer Skills (Subarea)
So you need to add a “Volunteering” area. To do this through the editor, click on any area in the sitemap and click on the
+ button at the bottom of the left pane (the navigation pane). This will add a “sibling” of that area immediately after the location of the selected area. You will then see an editing form at the right pane of the tool, which allows you to add/edit the necessary information attributed to that element.
You can go ahead and input an
Id (any unique identifier) as well as the URL to the icon that represents volunteering. This
URL uses the $webresource directive because this icon is a web resource in Microsoft Dynamics CRM named ‘msdyn_/imgs/sitemap/Volunteering.png’. All you need is include “$webresource:” in front of the name of the web resource.
This URL should not be confused with the other URL field which should contain the Outlook URL to render the Outlook folder that represents this area. If you want to show the groups of subareas under this area, click on the
Show Groups checkbox. For the purposes of this example, let us have it checked so we will be able to see all components that we plan to add. Since this is a new area for a new entity, we need to add a title to it. Click on the
New Title button, fill-in the LCID, which is short for Locale ID. The LCID for English is 1033. The title string text should be “Volunteering”. The
Use Resource ID for Title should be left unchecked as it is for internal use only and should not be changed. The same steps can be executed for the description section. Enter an intuitive description for your new area and we should be done creating a new area in the sitemap.
Adding Groups to the SiteMap
To create a group, click on the
Volunteering area and click on the
Child button below the navigation pane. You can then set the Id and the other fields similar to that of the Area element. Let’s name this group “Volunteers”.
Adding a New Sub-Area to the SiteMap
So you have a “Volunteers” grouping but you don’t have any subareas under that group yet. To create the subarea, click on the newly created area, and add a child to it by clicking on the
Child button at the bottom of the navigation pane. Similar to the creation of the area element, you have to set the Id as well as the URL of the associated icon. As we don’t have to pass information about the organization and language context through the URL (see
CRM SDK Topic: Passing Parameters to a URL Using SiteMap for more information on this), you can leave the
Pass Params checkbox unchecked.
Say for example you created a custom entity called “new_volunteers”. That being the case, you will have to set the Entity field to “new_volunteers”. For Client, you can check the
All checkbox as this subarea should be available to all clients but since the default is “All”, you really don’t need to. This subarea is also expected to be available offline so you can also check the
Available Offline checkbox. You can leave the Sku checkboxes as is since like the Client checkboxes, the default is also “All”.
The same steps as with creating the area element should be followed for the Titles and Descriptions section. Based on the target sitemap we have set at the beginning, we are naming this subarea “Volunteers”.
You can also prevent users from seeing this subarea if they don’t have specific access privileges to some entities. Say you don’t want to users to view this subarea if they don’t have Read, Write, and Create privileges to the activity entity (activitypointer). You have to set the Entity field to “activitypointer” and set the Read, Write, and Create checkboxes.
If you have help visors or Get Started pages to associate with this subarea, you can set the Get Started Pane Path values. You can set just the default Get Started Pane Path as we don’t expect different Get Started Pages when logged in as admin or in Outlook (see
Change Application Navigation Using the SiteMap: Customize the Get Started Pane for more information).
If you want to create your own customized Get Started Panes, see
Create Custom Get Started Pane Content. The SDK provides some template files a web developer can use to create custom Get Started Pane content using web resources.
You can follow same steps to create a different subarea for “Volunteer Skills” provided that you have a custom entity to associate to the subarea. If you want to interchange the order of the two subareas, you can easily just click on any of the subareas and drag it to the right position.
Wrapping it up
So according to plan, you have easily created all components that you needed to add to the sitemap. Now you just have to save all changes and publish the customizations in CRM. Just click on the
Save button, confirm, and click on the
Publish All Customizations button in CRM. When you refresh your instance, you should be able to see the updated navigation pane with the elements that you have added.
For more information on the SiteMap, see the Microsoft CRM SDK topics:
There should also be instructions on exporting/backing up the SiteMap in
Edit the Site Map (see steps 1 to 4 of the “To edit the Site Map” section).
Maria Christina Joaquin
Источник:
http://blogs.msdn.com/b/crm/archive/...lkthrough.aspx