Introduction and Disclaimer
Packt are an interesting organisation. They are an online-only publisher who actively approach subject matter experts to write books in a profit-sharing arrangement. I have not written for them but I do the occasional review of their books. My compensation is a free copy of the book.
In this case it is Nicolae Tarla’s ‘Microsoft Dynamics CRM Customization Essentials’ (link to buy on the image).
It claims, on the cover, to “use a no-code approach to create powerful business solutions using Dynamics CRM 2015” so, given my lack of coding ability and focus on solutions requiring no code, it has my attention. Despite him being a CRM MVP, I do not personally know Nicolae but, if I am too harsh on him I promise to buy him a drink at the next MVP Summit.
Let us see how it stacks up. I am expecting to see lots of information on Business Rules, Dialogs and Real Time Workflows and perhaps some insights on using Business Process Flows. As usual I will review the chapters as I read them and bring my conclusion in at the end.
Overview and Structure of the Book
At 238 pages, this is not a massive tome but this should be enough to cover the essentials. There are six chapters and the book is split up like this:
- Chapter 1: Getting Started
- Chapter 2: Dynamics CRM Application Structure
- Chapter 3: Customizing Entities
- Chapter 4: Business Processes
- Chapter 5: Social Features in Microsoft Dynamics CRM
- Chapter 6: Dynamics CRM Administration
I was expecting a book on just business processes so this covers a lot more than I anticipated.
The preface makes it clear that this book assumes no prior knowledge and will give you a foundation in configuring CRM. The book will walk you through setting up a sandbox and the fundamental structure of Dynamics CRM. It then builds on this to show how the system can be modified and augmented.
There is certainly a demand for this kind of book in the market. Often Dynamics CRM is installed and it is assumed that IT will take on the responsibility for managing the system. While there are plenty of administration guides in the market, a book focussed on configuring CRM is, arguably, missing. For customers who have the inclination to take on the setup of their CRM system, if this book comes through with the goods, it has the potential to save a company thousands in consulting costs.
Chapter 1: Getting Started
This chapter provides an overview of Dynamics CRM talking about how it is deployed and how you interface with it. It suggests you need a Live ID to use Dynamics CRM but this is not true. It used to be that you needed a Live ID but now that Dynamics CRM is part of Office 365, it uses an Office 365 account. Setting up the 30 day trial will automatically provision an Office 365 account as well.
The sign up process for the 30 day trial is a little different to the one in the book but this process varies from country to country and is constantly evolving so this is no big surprise.
The chapter then goes on to talk about setting up Outlook for CRM. While not needed for customization/configuration, this is a nice touch. The configuration walkthrough assumes you have set up your 30 day trial on the US Microsoft Servers as it refers to “crm.dynamics.com”. For Australia, this needs to be changed to “crm5.dynamics.com” and it is different for other regions as well.
That brings us to the end of the chapter. We now have a 30 day trial and Outlook set up. While there were a few kinks, this chapter will put you on the right path for setting up your sandbox.
Chapter 2: Dynamics CRM Application Structure
This chapter talks about how the out-of-the-box system is put together. It talks about the modules of CRM and the entities which make up the system. Next it goes through, in detail, the out-of-the-box configuration for each module, covering the entities unique to that module, Business Process Flows, Dashboards and Reports.
Next it talks about CRM Processes (Dialogs, Workflows, Actions and Business Process Flows) giving a high-level overview of each of them. Then it gives an overview of Dashboards and Reports.
Finally it talks about new navigation at the top of CRM 2013/2015.
Overall an excellent summary of the out of the box setup, arguably the best I have seen.
Chapter 3: Customizing Entities
Now we get to the meat in the sandwich; how to change stuff.
First it covers the essentials of solutions. Managed and unmanaged solutions are tricky because managed solutions can get you in trouble if not handled right. The book recommends using unmanaged solutions for development and test and changed to a managed solution for production. I generally stick to unmanaged all the way through but if there is the possibility that you will need to uninstall the solution, the managed variety is the better option. It briefly talks about solution layering but to get a good handle on this tricky aspect I would look elsewhere.
Next the chapter talks about entities and changing them. For renaming entities it reminds the user to also change the messages for that entity but does not mention changing the field and view names. It also covers configuring entity settings. The ability to change the primary field for the entity i.e. the ‘name’ field is mentioned but the big pitfall with this is not mentioned. Specifically, if you make the name field optional and it is not filled out, any lookup field referencing a record with a blank name field will be blank. I have found that in certain browsers this makes the record very difficult to select. Also, when looking at the form with a blank name field, CRM assumes it is a new record and displays a title to reflect this. In other words, while it is possible to make the name field optional, leaving it blank i.e. not auto-populating it, can lead to a range of usability issues.
The chapter also distinguishes between system entities, business entities and custom entities, highlighting some of the differences between them.
Next we get into changing the various elements of the entity i.e. forms, views, charts etc. The different types of forms are reviewed. The details for adding a Quick View Form are covered in depth and well worth the read if you are unfamiliar with this relatively new feature. Form configuration comes next starting with tabs and ending with form spacers. This is probably a little lighter than I would have expected. Global option sets are not covered and, other than being mentioned, the details for calculated and rollup fields are not covered.
Entity relationships talks about how to link entities together through 1:N and N:N relationships. The new hierarchy display is mentioned but the limitations i.e. only can show the hierarchy of one entity, are not covered. For N:N relationships, the limitation of having no access to the linking entity is mentioned and the suggestion of creating a ‘manual N:N’ is offered. The elements involved in the set up on a new relationship are not covered and the pros and cons of the Display Option setup are not mentioned. For example, if I am creating three lookups from the Contact form to the Account form, I need to modify the Display options because, otherwise, when I go to the Account record, I will see three Contact buttons to choose from in the related records. It will not be clear which Contact button refers to which relationship without the Display Options being set up appropriately.
Views and Charts are covered in the same section. Although this initially surprised me, I can see the logic of it given a chart can only be set up once a view is in place. The section gives a high level summary for setting up views and then touches on the setup of charts. One thing the book does not mention is the importance of publishing and it is assumed by the book that the reader is familiar with this aspect of CRM. So, for example, when the book says “Once you have created the charts, you can see them by navigating to the view” it should probably mention the importance of publishing the changes.
Next come Dashboards, the logical extension of charts. The difference between organization-owned dashboards and user-owned dashboards is covered but, again, this section is a little light. A warning that once a dashboard format is set, it is locked in would have been nice.
Next comes Messages (where the importance of publishing is mentioned). Multi-lingual limitations are also touched on.
Finally, we move to Business Rules. This has good coverage and even mentions the scope of the Business Rule, which is often overlooked, and talks about how the Business Rule, since CRM 2015, can be run on either the client side or server side.
Overall not a bad chapter but some sections could be fleshed out more. It would be very easy to double the size of this chapter to cover the topic in more depth.
Chapter 4: Business Processes
The chapter begins by stating what types of Business Processes it will cover. Dialogs are given a very brief overview with Workflows not faring much better. The steps available to workflows and dialogs are not covered at all. Actions get some coverage, even though they can only be called by code. Business Rules get a good overview with a summary of their limitations (even though they were also covered in the previous chapter). Similarly, Business Process Flows also get a comprehensive summary and also discuss how to trigger workflows when the stage of a Process Flow changes.
Like the previous chapter, this one is a bit of a mixed bag. Some elements are covered well while others get little more than a few paragraphs. While reading this chapter sets me up nicely for making Business Rules and Business Process Flows, it offers little help for Workflows and Dialogs.
Chapter 5: Social Features in Microsoft Dynamics CRM
The first element covered is the Social Pane. This is the box that appears on the new forms which shows Posts, Activities and Notes. Bizarrely, the chapter not only provides some code to hide tabs on the Social Pane, the code is unsupported. For a book promoting codeless configuration, the inclusion of unsupported code seems unusual and dangerous for an audience who will not be familiar with concepts like supported/unsupported code. How to set up the social pane through configuration is covered and a sample workflow for adding a post is also included.
Next comes a review of Microsoft Social Listening (MSL) and instructions on how to link it with CRM Online. This is a bit of an unusual inclusion on a book talking about configuring CRM (MSL is a separate product with minimal configuration settings) but the review is quite detailed and of value if MSL is something you are considering.
Similarly, Insights by InsideView is reviewed. I gave an overview of the set up process in a previous blog post and this covers the same as well as a summary of the functionality. With minimal configuration, this also strikes me as an unusual inclusion.
Finally, Yammer is covered. Setup is covered and configuration to surface it in CRM is also reviewed.
I am not sure how this chapter fits in with a book on codeless configuration but its coverage of the three collaboration tools is quite good.
Chapter 6: Dynamics CRM Administration
This chapter is designed to cover “the most commonly-used configuration options that an administrator of the system will work with on a day-to-day basis.” The chapter certainly gives a summary of the Settings area of CRM but actual processes, such as adding a new user or configuring a security role are not covered.
This book reminds me of a cut-down version of Wittemann and Ables’ Administration Bible (that book was just shy of 800 pages and sought to address similar topics). The preface claims “This book takes a no-code approach to configuration and customization and is aimed at non-developers. It is intended as a guide for someone who is starting out with the platform and as a reference material during the platform life.”
The first couple of chapters start down the path of addressing this claim well, empowering the reader to set up a thirty day trial and giving an overview of the CRM structure. Chapters three and four have some good moments but I expected them to be more in-depth, especially around topics such as Business Processes and form setup. Chapters five and six are an unexpected inclusion, especially chapter five. A chapter on free, commonly applied solutions makes sense, and InsideView fits into this camp nicely but setting up Yammer and MSL is not something I see as a ‘Customization Essential’.
Chapter six is little more than a high-level summary of the Settings module. Focussing on the Settings elements which can have a big impact on behaviour may have been a better approach here. For example, reviewing data duplication and SharePoint integration in detail would have made sense.
As a lifetime reference for codeless configuration, the book probably misses the mark. Beefing up chapters three and four, dropping chapter five and focussing the coverage of chapter six would get it there though. Is the book worth the ticket price of $30? There are very few books in the market addressing CRM 2015 so if you absolutely need something for CRM 2015 and are completely new to the product, this is it. The administration bible, for example, is only good for CRM 2011. The closest competitor I know of is the CRM 2013 QuickStart which costs a similar price for about twice the size and is focussed on configuration and customization of CRM. However, the description and reviews make it clear the QuickStart assumes prior knowledge of Dynamics CRM.
Buy the book for a guide on what is possible but you may have to look elsewhere to know how to change things and, more importantly, when not to change things. Nicolae, the first round at Summit is on me.