Introduction and Disclaimer
The folks at Packt asked me to review one of their online books in exchange for a free download of it. Seemed like a fair exchange to me so here it is. If you are interested in buying it (a judgment you may reserve until after you have read the review), here is the link.
Jim Wang and Darren Liu are both Dynamics CRM MVPs so they know their stuff. As far as I can recall, I have never met them but I possibly will at summit in a couple of week’s time (If I have met either of you, my apologies for a lousy memory). As with Matt Wittemann’s book, there may be an Alaskan Ale in it for a complimentary review.
The Packt model is an interesting one. They are an online publishing house who approach subject matter experts and offer them an advance and a good commission for writing a book for them. They have approached me a couple of times but I have turned them down on both occasions simply due to a lack of time. Given the movement towards e-readers and related devices I believe it is a business model most publishers will eventually adopt.
Overview and Structure of the Book
The first thing you will probably notice is the size of the document. This is no brief summary of the new features. This is over 250 pages covering what has changed since Dynamics CRM 4 with a full index in the back. The structure of the book is:
- The usual preliminary bits (About the Authors, Acknowledgement, Table of Contents etc.)
- Chapter 1: Setting Up The Development Workspace
- Chapter 2: System Design and Configuration
- Chapter 3: Data Import
- Chapter 4: Client-Side Programming
- Chapter 5: Server-Side Programming
- Chapter 6: SharePoint Integration
- Chapter 7: Charts and Dashboards
- Chapter 8: Extending Microsoft Dynamics CRM 2011 in the Cloud
- Chapter 9: Sitemap and Ribbon Customization
- Chapter 10: Packaging It Up
I like this structure as it parallels the steps one would take in setting up a CRM system. The titles are also plain English e.g. ‘Client-Side Programming’ making it easier to know where to go. To add a bit of a flow to the book, they also put it in the context of a HR system designed to manage compensation for an airline company’s flights.
What is missing are the changes from the major update in November. You will not see, for example, mention of the Activity Feed. That being said, the release of CRM 2011 was the last ‘old school’ release for Dynamics CRM. What I mean by this is Microsoft went from a multi-year cycle for version releases of the product to a twice-yearly release cycle in line with cloud software makers such as Salesforce. The upshot of this is, while there were massive changes between CRM 4 and CRM 2011 (worthy of a 250+ page book), future changes are likely to be more incremental, in line with the release cycle and therefore the book will stay reasonably relevant, despite the new ‘cadence’ and occasional major feature release.
It should also be noted that the authors, as they acknowledge at the start of the book, assume the audience is familiar with Dynamics CRM 4 and are seeking to understand what has changed in 2011. There is no walkthrough of what is the difference between an account, contact lead and opportunity, for example.
Finally, I will tip my hat off to Jim Wang for mentioning Jim Glass in his acknowledgements. Jim Glass was, until recently, the Dynamics CRM Community Leader at Microsoft (he is now at Amazon). To translate his title, Jim Glass was the strongest advocate within Microsoft for the CRM MVPs and their importance. It was JaAG (as Jim is known) who would rally up the speakers when the MVP Summit was in town and would fight for us to get included on feature decisions when they were still in the planning stages. In other words, Jim Glass was the CRM MVP’s MVP within Microsoft and, without exception, he is held in the highest possible regard for his dedication to that role. The shoes he has left to fill have their own building number designation on the Microsoft campus.
Chapter 1: Setting Up The Development Workspace
This chapter goes through setting up a virtual machine running Dynamics CRM 2011 and SharePoint 2010. They even talk about virtualization options beyond Hyper-V, mentioning my good friend VirtualBox.
They also mention setting up Visual Studio for the coding to come in later chapters.
The delivery is pretty much a screen walkthrough for setting up CRM so nothing much to report here.
Chapter 2: System Design and Configuration
Here the compensation system gets introduced and explained. The chapter then goes on to explain how Dynamics CRM can be configured to meet this requirement.
The chapter gives an outline for a basic functional and technical specification, highlighting the specific areas of the product which can be used to meet the functional needs of the business.
The chapter talks very much in the context of the system design rather than giving a laundry list of new features. For example, the ability to assign ownership to teams is mentioned for the design but not called out as a major new feature. It is up to the reader to review the proposed design, reflect on how it could be handled in CRM 4 and then appreciate what has changed. While this makes for an interesting read, it does sacrifice the ability to look up specific topics. Using team ownership as an example again, there is no clear reference in the index on where one would find information on this.
What this means is the book lends itself to system architects with a good understanding of the configuration options of the system but not so much to people who are new to either system.
Chapter 3: Data Import
This is a great chapter on the awesome work Microsoft has done on improving the Import Wizard. It covers all the practical features of the new tool e.g. ability to import attachments, import multiple entity records at once, update data etc.
If you have the need to import records into Dynamics CRM 2011 and not sure where to start, this chapter alone is worth the ticket price.
Chapter 4: Client-Side Programming
It is a tall order to try and squeeze everything to do with client-side programming into one chapter. We have the new object model, the web resource container, Silverlight, REST and SOAP etc. Entire books have been written on the development side of Dynamics CRM alone so it is no surprise this chapter offers a high level summary. There are a few code examples for REST endpoints but, otherwise, this is a high level review for those already familiar with the CRM 4 terrain.
Chapter 5: Server-Side Programming
Again, this is a big topic for one chapter. To raise the bar, this chapter also includes workflows and dialogs. If you are not a developer, apart from the information on what Dynamics CRM 2011 call ‘processes’ i.e. workflows and dialogs, the chapter will have limited value. For the developers, the chapter describe the landscape for server-side coding with CRM 2011 and gives an example of plugin code. As the chapter correctly states, for the full details of how to program with Dynamics CRM 2011, the best resource is the SDK.
Chapter 6: SharePoint Integration
This is probably one of the best summaries I have seen of the integration between SharePoint and Dynamics CRM 2011 that is available out of the box. For example, it talks about the differences between what can be done with SharePoint 2007, compared to SharePoint 2010. As with the data import chapter, if you have a need to understand the out-of-the-box integration between CRM 2011 and SharePoint this chapter alone is good value.
Chapter 7: Charts and Dashboards
Another good high-level review to introduce the reader to these completely new features. One nice touch is the small section mentioning how you can extend the charting through xml editing. This chapter as with others, is designed to give the reader a feel for the feature but is not designed to be a complete walkthrough. Rather, it is expected the reader, now familiar with the high-level ideas, will explore CRM 2011 in their own time to understand the more intimate details.
Chapter 8: Extending Microsoft Dynamics CRM 2011 in the Cloud
A great introduction to how Dynamics CRM 2011 plays nicely with Azure (using the free customer portal add-on to create a cloud web site for CRM) and Office 365 (to provide an Exchange server for the email router to connect to). In this case the ‘case study’ approach works well as many readers are unfamiliar with Azure and Office 365 and this format gives a solid, practical example of how they can be used.
Chapter 9: Sitemap and Ribbon Customization
The way someone edits the sitemap and ribbon has completely changed in Dynamics CRM 2011 and it is now, arguably, more complex than it was previously. To cater for this, the chapter moves gently through the process and provides a lot of code examples, especially for the ribbon. For someone who needs their hand holding through the process of adding a button to the ribbon, this is a great chapter.
Chapter 10: Packaging It Up
This chapter is dedicated to the new feature called solutions: the ability to ‘package’ customisations for transfer into other systems. It covers the important aspects of this new feature and gives a great summary of ‘managed’ and ‘unmanaged’ solutions and their use. If you are looking for best practice with solutions (as many of us are) there is not a lot of detail but it is a good introduction to their function in developing CRM modules.
This book is not a comprehensive guide to the features of Dynamics CRM 2011. Rather, it is an introduction to some of the new features of the product, compared to CRM 4. I say some of the new features because, by virtue of the authors writing in the style of a pseudo case study, some features have fallen through the cracks e.g. goals. While this is the case, the aspects of the product they do cover are covered very well. What I mean by this is their high-level summaries of large topics, such as customization, cover the essential elements and their treatment of smaller topics, such as data import and SharePoint integration are some of the best I have seen.
While there is not as much bang for buck as, say, Matt Wittemann’s book, the CRM 4 developer or administrator will not have to filter out a rehash of the version 4 features as this book assumes that knowledge. Where I see this book working is as a companion to one of those larger 2011 administrator guides. While those volumes allow the reader to drill down into a specific topic, this book, uniquely, gives a much greater context to the features in question, providing a practical example as an integral part of the narrative.
Packt do provide chapter one as a sample chapter, so feel free to review it and see if it is for you.