In this chapter
Microsoft CRM Configuration Files
Links Customization
Web Resources Customization
Microsoft CRM SDK
Clone Customization
Summary
In Chapter 11, “Configuring Microsoft CRM” we looked at how to use Microsoft CRM's configuration tools to make standard changes to the system. We referred to this as configuration because we could do it all without the use of a programming language.
This chapter looks at changes we can make to Microsoft CRM that go beyond what can be done with the configuration tools. These changes are referred to as customizations.
NOTEAs discussed in Chapter 11, “Configuring Microsoft CRM,” Microsoft is not entirely consistent with its use of the terms configuration and customization. For example, the area of Microsoft CRM where users add fields and tabs to forms is called System Customization, but when those changes are exported they are put into a configuration file (see Figure 11.17 in Chapter 11). While Microsoft tends more toward referring to all changes generically as customizations, we will continue to refer to what can be changed without code creation and modification as “customization.” We'll refer to non-code changes as configuration. |
Theoretically, there are many ways you can go about customizing a software application. In this chapter we stick to Microsoft's supported methods of customization for the product, which include
Adding custom tabs on the navigation bar of the different application areas (for instance, Home, Workplace, and so on) and object screens (Contacts, Accounts, and so on)
Adding custom buttons to the different application areas and object screens
Adding custom menus to the different application areas and object screens
Writing external interfaces or applications (.EXEs) that interact with the Microsoft CRM platform
Each of the custom tabs, buttons, and menus we create can point to a custom page that the developer has created. What this page does is entirely up to the developer who creates it.
Three main things related to customization are unsupported in version 1.0 of Microsoft CRM. Those are
Adding new objects to the Microsoft CRM object model
Modifying the core Microsoft CRM Web pages
Modifying the Microsoft CRM Sales for Outlook client application beyond the configuration that was covered in Chapter 11
Let's clarify the first items in this list. You might be wondering whether you can add custom tables to the Microsoft CRM database. You can, but all data access in Microsoft CRM is handled through the CRM server application so, although new tables can be created, the data in them falls outside of the Microsoft CRM security model and query engine.
The ability to allow developers to add new objects to Microsoft CRM is an important part of Microsoft's Independent Software Vendor (ISV) strategy and is said to be planned for the version 3.0 release in late 2004 or early 2005.
As far as modifying the core Microsoft CRM Web pages is concerned, you can do this, but any changes you make will be overwritten in a system upgrade. Because of this, Microsoft has provided the configuration tools and supported customization methods to allow you to make the Web page changes you need without modifying the pages directly. Regardless, most of the code has been compiled in ASP .NET code-behind assemblies (or DLLs) as opposed to being in the ASPX page itself. This means that your ability to edit the code and change the behavior of any given ASPX page is fairly limited.
3.142.134.210