6 Aralık 2007 Perşembe

Microsoft Dynamics CRM 3.0 Customizations

Microsoft CRM offers great out-of-the-box functionality, but in our opinion one of its biggest benefits is theease with which you can customize and revise the software to make it fit your business perfectly. MicrosoftCRM includes some of the most powerful, yet flexible, customization options available for any CRM programon the market. Some of the customization highlights include:

Entity customization and creation Customize entities by adding, modifying, or deleting their variousproperties, such as attributes, forms, views, relationships, mappings, and system messages. You can alsocreate entirely new custom entities.

Custom reports Use SQL Server Reporting Services to modify the default reports or create entirely new
reports. Reporting Services includes powerful reporting functionality such as data caching, reportsnapshots, and automated report delivery.

Workflow rules Use the Workflow Manager to create rules that help automate business processes.Workflow rules can reference and incorporate data from your own custom .NET workflow assemblies. Asample workflow might accomplish something like, "Make sure a salesperson calls and introduces himselfto every new account by automatically creating a phone call Activity due one day after an account iscreated."

Client-side customization Tap into client-side events such as onLoad, onSave, and onChange. You canattach your custom scripts to these client events, and Microsoft CRM will trigger them for you. Client-sideevents will help improve your users' experience because you can add advanced data validation andautomatic formatting when they're entering data on forms. Automatically formatting a phone number is anexample of a client-side customization.

Server-side integration Programmatically access and update Microsoft CRM data through Web servicesby creating your own custom code. By adhering to the Microsoft CRM published APIs, your custom codecan upgrade smoothly to future versions of Microsoft CRM. You can create two-way integration betweenMicrosoft CRM and other systems, such as your company Web site or extranet, by leveraging the server-side integration tools.

Pre-and post-callouts Create custom business logic with .NET assemblies that you can link directly tothe Microsoft CRM application logic.

Site map and ISV.config You can revise the user interface and application navigation by adding newareas, links, and buttons to areas throughout the application.

Filtered views Use filtered views in the Microsoft SQL Server database so that you (or your users) canretrieve raw data for additional manipulation, reporting, or analysis. Although users access the databasedirectly with filtered views, the filtered views still respect security and configuration settings so that userscan access only the data they have privileges for.

Supported vs. Unsupported Customizations
Although Microsoft CRM provides almost limitless customization options, you might encounter scenariosin which you want to customize the software in a manner not described in this book or in the productdocumentation. You might hear that these types of undocumented customizations are "unsupported," butwhat does that really mean? Unsupported customizations could fall into one of three categories:

Microsoft has not tested the change and can't confirm whether it will cause problems.
Microsoft has tested the change and knows that it will cause problems.

The change might not cause problems now, but it might cause problems if you update your softwarewith hot fixes, patches, or new releases of Microsoft CRM.

Unfortunately, you can't really know which of these categories a particular customization might fall into.Therefore, you might make an unsupported change and never experience a problem. However, it's morelikely that unsupported customizations will cause problems sooner or later, potentially even months afterthe change! If you do experience a problem with an unsupported customization and you call Microsoft
technical support, guess what they'll say? "That's unsupported, so we can't assist you." Of course they'requite friendly people and they might give you a tip or two related to your request, but you should notexpect any assistance from Microsoft technical support if you implement unsupported customizations.Some of the most obvious unsupported customizations include:

Manually or programmatically interacting directly with the SQL Server database (other than filteredviews)
Modifying any of the .aspx or .js files
Installing or adding files to the Microsoft CRM folders
Referencing or decompiling any of the Microsoft CRM .dll files

Even though many "unsupported" customizations are technically possible to implement, you shouldcarefully consider the risk/reward tradeoff of doing so. You should anticipate that your unsupportedcustomizations could possibly break with Microsoft CRM 3.0 hot fixes and that they will probably breakwith future versions of Microsoft CRM.