One of the main roadblocks I see for several .NET companies and developers is to get into Dynamics CRM mind-set. For somebody who has been doing .NET development for several years

only doing .net way not looking to fit inside the box, extend around Dynamics CRM in the core using techniques which have been successful with extending CRM rather than fitting .net approaches ,

getting into Dynamics CRM implementations can be a total nightmare.

I will like to cite few examples I have seen over the years talking to various teams I have been part of on Microsoft stack of implementation. At times even a mixed implementation between Microsoft products and others.

More often than not I have not faced issues trying to make the simple facts clear to the technical audience about how Dynamics CRM implementations can be implemented, managed.

Over the years, I have to say it has only become easier to make people understand the need of a particular approach with Dynamics CRM. But the hardest part of the discussions have been to convince at times people from

.net background about the particular implementation. So, here are few of the major things I noticed:

· Implementing a design pattern in CRM platform for instance like MVC: Since the product has its own design architecture, anything which needs to be done needs to fit into the CRM architecture.

· Performance concerns on Dynamics CRM product: Just because Dynamics CRM performance tuning is unique and you need to have product knowledge does not mean that CRM cannot be tuned. Just like another product,

it can be drastically improved in performance. However, to improve performance doesn’t mean that in CRM you can go and change system stored procedures at database layer for instance.

Why: simple, because it’s part of product package and to maintain warranty you cannot think to tune it that way!

· Although CRM on premise provides a website, it doesn’t mean we can go ahead and design web pages. We need to start think from Entity level and then design the forms.

· CRM Security model is too complex: Dynamics CRM is made for business and provides lot of security features. It does not mean that we need to implement each security feature in the implementation.

Use only what you want and reduce the complexity of your CRM security implementation.

· CRM as a rule engine: I find the product to be a great fit for doing rule engines based implementation because of the ability to extend, reuse and customize even the business logic using plugins, workflows

and even from client side of things.

· CRM for Data processing: I find the product a great fit for data processing because ultimately it is meant to store customer data and it is fit for processing that data. Just while designing, you need to be

careful of how CRM can effectively process your data.

· Be careful on what you are Auditing: The auditing can be only good for relevant fields and entities, otherwise just a performance and storage nightmare, so care needs to be given to see what needs to be

audited and what not. It parts integral part of Out of box CRM framework.

· Custom UI within CRM: CRM gives full freedom to design custom UI but since it just gives feature to extend, development of custom resources needs time. So, it needs to be scoped accordingly.

It doesn’t anywhere mean CRM limits the form design.

· Comparison of a scripting language (HTML/PHP) with CRM: It is like comparing a framework which CRM considering only the presentation layer without considering all the other layers that CRM platform provides.

The above list is just the major things that I have witnessed during my discussions with .net experts. All the points are my way to explain few of the CRM specific approaches in a very generic manner.

Hope it helps and always happy to hear the feedback in comments, make corrections if the information is not clear enough.

Recently I was asked to share some information with respect to the limitations on CRM 2015 outlook client. After a careful consideration, this are issues which might be addressed. The ones listed below are

the ones already mentioned by Microsoft and what i investigated for an old colleague for his specific requirements:

Home address can get moved to CRM Address 2 field. Be aware of following mapping:

Outlook/Exchange field

CRM field

Mailing Address/Business Address

Address 1

Home Address

Address 2

Other Address

Address 3

Cannot add a related record while you are offline on CRM 2015 Outlook client.

While offline, you can’t add a related record type by using the Add button (+). So, the user experience has to be add the related record type while you’re online, and then go offline.

Inserting a picture from file into an appointment is not supported.

If you do add so, inserted picture will convert to text.

Some fields will synchronize data even if they are not part of field synchronization settings.

For example, in case of task certain fields will need to be synchronized by the CRM system.

Synchronization for Activities and Service appointments is unidirectional.

Changes made to Service Appointments and Activities in CRM will update in CRM for Outlook when you synchronize, but the reverse is not true. When you make changes to Service Appointments

or Activities in CRM for Outlook, the changes are not synchronized to CRM.

Sharing Calendar on Outlook for somebody else to work and sync your appointments is going to cause synchronization issues.

Consider the scenario where Managers share their calendars to their subordinates so that they can plan appointments for them. This will have synchronization issues as it is not same as the manager themselves syncing their appointment.

This is the summary of extract from TechNet article and also based on learning from investigation on CRM outlook client myself.

Note: IF you have more information to add, leave in the comments and I will update the content of this article.

RSS Feeds

Disclaimer

All Blog posts and code samples are my personal endeavor on my personal time, and as such, all the views and opinions expressed here are solely mine and don’t represent the views or opinions of my employer(s), clients, or associates. All content and information are provided "AS IS" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall I be liable for any claims, losses, or damages of any third party or for lost profits or any special, indirect, incidental, consequential or exemplary damages, howsoever arising, even if I have been advised of the possibility of such damages.
I do not tolerate spam, irrelevant, hateful speech/arguing, racism, and abuse comments of any kind. Please don't attempt to make such comments, they will be deleted as soon as I am informed.