Hosk’s Top Dynamics 365 Articles of the week – 31st March


You can’t win together if you don’t work together – Nick Saban

Development experience and skills are created through time spent developing #HoskCodeWisdom
You have to be relentless in the pursuit of your goal, be prepared of to work through adversity and hard times #HoskWisdom

Articles of the week


Article of the week

Best of the rest


Previous Hosk Top Articles

Hosk’s Top Dynamics 365 Articles of the week – 22nd February

The Hosk – currently reading

The Hosk – just finished reading

Hosk’s CRM Developer Articles

A collection of my favourite CRM Developer articles I have written

CRM 2016 – Tips on passing the MB2-712 customization and config exam

All the CRM 2016 content to help you pass the exam

picture from here


Dynamics 365 certifications study links

Live as if you were to die tomorrow. Learn as if you were to live forever. Mahatma Gandhi

If you think you know enough to stop learning, you have more to learn than you think #HoskWisdom

I believe Dynamics 365 developers should get one certification each year, they don’t have to be Dynamics 365 certifications (scrum/.Net/Azure/Architecture) but if Dynamics 365 is your main tool you should have in-depth knowledge.

Why get certified?

I take the customisation and configuration certification for every release of Microsoft Dynamics CRM/365, this helps me keep up with the latest features added into Microsoft Dynamics 365 and refresh my knowledge on the other features I don’t use much.

To help me learn the information I create study notes which I share

CRM 2016Tips on passing the MB2-712 customization and config exam

The benefit of the certification isn’t the certification itself but the journey in studying for the certification.  Certified have a broader and more in-depth knowledge of the out of the box functionality.

If you can use out of the box functionality, then you should use it #HoskWisdom

The more out of the box functionality you can use, the less code you have to maintain and integrate in a project.

You should use Dynamics 365 out of the box functionality because in theory it has been tested by Microsoft :) #HoskCodeWisdom

Dynamics 365 developers often complain Microsoft uses customer as beta testers and sometimes functionality is rushed out and not fully finished.  Microsoft will  fix these problems and bugs in future releases, leaving you time to develop something else.

If you are still unconvinced read this

What are the benefits of CRM certification

Make it easier

Developers believe they will pass the Dynamics 365 certifications easily because they use Dynamics 365 every day.  Developers rarely use all the available features and not the new features (it takes time to work out their limitations and how to use them, not forgetting the first version doesn’t always work super well)

When you think you are an expert in something, you stop yourself learning more about it #HoskWisdom


Microsoft Dynamics 365 is evolving and it‘s best to keep up with it, studying for certifications set yourself a deadline to learn and test yourself.

I created pages on our internal Dynamics 365 team wiki with links to information to help study for Dynamics 365 certifications (online deployment and customisation).  This allows people to get started and share their notes/information on the certifications.

Dynamics Learning Portal

The videos for the certifications on the Microsoft Dynamics Learning portal give you a good introduction to all the criteria of the certifications.  If you combine these videos with making notes and trying out the functionality in Dynamics 365 then you have enough information to pass the certifications.

Neil Parkhurst has made a good revision guide but make sure you actively use the information by making your own notes and using Dynamics 365.  The goal of certifications isn’t just to get certified it is to learn about Dynamics 365.

Dynamics 365 – MB2-715 – Microsoft Dynamics 365 customer engagement Online Deployment

MB2-716 – Microsoft Dynamics 365 Customization and Configuration

Picture from here

Extreme 365 – Hosk notes on ClickDimension advanced partner training

You cannot be too prepared #HoskWisdom

Planning is bringing the future into the present so that you can do something about it now. Alan Lakein

The first day at Extreme 365 were whole day sessions,I attended ClickDimensions advanced partner training and below are my notes and thoughts on the training.

  • Roadmap for ClickDimensions
  • User questions
  • Adobe Marketing
  • Performance tips/Discussion on Enterprise deployments
  • Freemaker (open source scripting language used for making email templates)
  • Power user tips

It was great to meet Matt Wittemann who is an 11 time CRM MVP and I remember from the good old Dynamics CRM 2011 days and reading Matt’s book the Microsoft Dynamics CRM 2011 Administration Bible

To see the pictures and slides from the training you can see them Extreme 365 – 2017 Day 1 in pictures.

Matt talked about Adobe Cloud Marketing, which I covered in the post Dynamics 365 – Is Adobe Marketing the end of ClickDimensions?

Goals of the session

The session  with highlighting the goals of the session

Audience goals

  • Dev to Prod
  • Adobe and ClickDimension

ClickDimension goals

  • Scaling for Enterprise
  • Freemaker
  • Extending Dynamics 365 and ClickDimensions

Why should we care about Enterprise projects and how do we scale Dynamics 365?

Dynamics 365 and Enterprise software, needs good maintenance and performance.   Microsoft wants enterprise Dynamics 365 projects and is moving towards delivering this with the purchase of Adobe Marketing, Microsoft needs to improve to help partners deliver enterprise projects.

Great performance of enterprise Dynamics 365 projects does not come out of the box #HoskCodeWisdom

On an enterprise Dynamics 365 project you should focus on

  • Storage
  • Performance
    • Optimize
    • Database
    • performance degrades over time

Microsoft Dynamics 365 performance can slow down over time if you don’t do regular maintenance and control the number of records created and clean up the data regularly.

ClickDimensions can create a lot of data if not setup correctly, you must plan and decide what data you mean.  Start with business requirements and work out what functionality/data delivers those.

Dynamics 365 will slow down over time if you don’t maintain performance

  • Things which can catch you out if you don’t plan
  • Unexpected storage costs (ClickDimensions can create lots of data)
  • Dynamics 365 can slow down over time
  • Customers can feel ClickDimensions is slow to send emails and update stats

How do you keep Dynamics 365 performant?

Matt talked about a good approach to projects and likened it to regularly servicing your car to ensure good performance (and it not breaking)

  • Regular Dynamics 365 maintenance (Monthly/Quarterly)
  • Regular performance optimization
  • Database optimisation setup at the start of a project
  • Dynamics 365 database optimisation is different from normal SQL server optimisation

Dynamics 365 is not something you can deploy and forget, it must be maintained and optimized to ensure great performance.

With an Dynamics On Premise you have lots of options to change and tweak.

  • SQL server maintance setup
  • SQL server table indexes
  • WCF compression (it’s faster at sending data but you have to compress and uncompress)
  • bandwidth/Network speed
  • MaxDop

The points above can have a dramatic effect on performance, potential big wins.  Developers investigate these settings when performance is slow, I looked at MaxDop – What is max degree of parallelism option setting in SQL Server?

Dynamics 365 online offers no ways to improve performance and no real way of investigating the cause of poor performance.  For Dynamics 365 Online you can only delete unwanted records and make sure you don’t bloat the POA table with the security roles/and sharing lots of records.

Know what marketing data you need?

The biggest improvement in performance is knowing what data you need, why you need it? and what you are going to do with the data? identify which business requirement it helps to deliver.

Consider your business requirements and business goals, what marketing data do you need to help you analyse your marketing.

You can never plan too much and you can’t be too prepared, these goes triple for any Dynamics 365 project

Data out of Dynamics 365

Set up bulk deletes, work out an archive strategy for data and decide what data can be moved to an Azure SQL database?

Customisations and data will move out of Dynamics 365 database more and more.

An example is FieldService optimizing engine held in Azure.  ClickDimensions are creating an enterprise statistics warehouse hosted in Azure.  The enterprise statistics warehouse will analyse the email opens, clicks, crunching the data on Azure and sending it back to Dynamics 365.

Later information will be hosted in Azure and displayed in Dynamics 365 by ClickDimensions, an API is coming to allow you to query and display the data in Dynamics 365 but without hosted in Dynamics 365 (saving you data costs).

This architecture style will become common because Dynamics 365 is a single service (a bottleneck) which cannot be scaled up.  If you move functionality and data outside of Dynamics 365 it can scale and be accessed in multiple services.

If you remove data and customisations out of Dynamics 365, you can scale performance #HoskCodeWisdom

The more workload you can remove from Dynamics 365 the better it will perform – What are the limitations of Microsoft Dynamics CRM Online and how do you work with them?

ClickDimensions can help

Sending and tracking an email can generate 7 records but if you don’t need some of these events (time an email was read) , ClickDimensions can turn off individual events, reducing data by up to 25 percent.

This is a global setting and only ClickDimensions can turn this off, so you need to contact them to request.

Moving ClickDimensions customisations

Capgemini raised a question on how to move customisations between environments.  Capgemini work on enterprise projects with Automated deployments and continuous integration.

ClickDimensions is integration with Dynamics 365 data but much of the new functionality such as Campaign automation and the Email template is hosted by ClickDimensions on their servers.

There is no way to move customisations between environments, the only way is too recreate the marketing campaigns, email templates in a development environment and in production environment.  This means testing twice and testing on production!  Recreating customisations is prone to errors.

ClickDimensions is developing a tool to help export and import the ClickDimensions customisations but this is manual.  It is better than no process (like now) but Capgemini Dynamics 365 team automate everything we can, so this is frustrating and its difficult to use ClickDimensions on enterprise projects.


It was a great session, it included a section on Freemarker and how to add if/else and default values in your email templates.  There are lots of content on the ClickDimension blog on this subject.

A knowledgeable presenter will always teach you something, it makes you think about your approach to Dynamics 365 projects and it was great to meet Matt in person




picture from here

Extreme 365 – 2017 Day 1 in pictures

Here is the Hosk Extreme 365 adventure in pictures.  I will be writing a blog post on the content as well but I wanted to give a feel of how the day was structured.

If you want to know what Extreme 365 is read this What is Extreme 365 – Lisbon 2017?

pictures of my first few days in Lisbon chillin with the Capgemini Dynamics 365 team – Hosk Extreme 365 – 2017 Adventure in pictures

Found this interesting tweet of the history of Extreme

The conference is in a nice new hotel and you first see the welcome desk

You get a pass

 ClickDimensions Advanced Partner Training.   The training was so popular it had to be moved into a bigger room and more chairs added

Matt doing his Usain Bolt impression whilst showing Freemarker and email templates

Click Dimensions Campaign automation is great but it’s going to be get better with some more investment and improvements  ClickDimensions talks about how to plan for Enterprise Dynamics 365 projects


Here is the Maplytics from Inogic.  I had a demo and it has a surprising amount of functionality

Here a few pictures of the hall and booths, I saw some products I hadn’t seen before, HR in Dynamics 365!





Schedules for Wednesday, Jonas Rapp is a busy boy

Dynamics 365 – Is Adobe Marketing the end of ClickDimensions?

the truth is never pure and never simple – Oscar Wilde

The story is never as dramatic as the headline #HoskWisdom

I wanted a dramatic headline because it’s a common question which gets asked.  What ever marketing moves happen in Microsoft Dynamics 365 people ask how it affects ClickDimensions and what does it say about Microsoft relationship with ClickDimensions.

  • What does Microsoft buying Marketing Pilot mean for ClickDimensions?
  • What does Microsoft partnering with Adobe Marketing mean for ClickDimensions?
  • Microsoft is bringing out some marketing functionality

I attended at the ClickDimensions advanced partner training at Extreme 365 and someone bravely asked what Microsoft’s new partnership with Adobe Marketing. It feels wrong to ask this question, the kind of awkwardness asking someone how their ex-wife is going with their new husband, ermmmmm Awkward.

I liked Matt Wittemann’s response and attitude

ClickDimensions welcome competition because a rising tide lifts all boats and will promote Dynamics 365 as a marketing solution

Competition is a challenge you can rise to and the response of a company who is confident their product will continue to win customers because they are good at what they do and ClickDimensions is going to improve in the future.

The simple answer is Adobe Marketing is suitable for enterprise projects where there is a large  marketing team (10 people plus).  ClickDimensions focuses on small to medium-sized companies.

An Adobe Marketing project will be in the millions/Multi Millions.  It’s not to say ClickDimensions can’t do big projects but it is saying Adobe Marketing would be too expensive and feature rich for smaller companies and isn’t competing with ClickDimensions for those deals.

There is room for both companies to successfully operate with Dynamics 365 and they compliment each other with regards to functionality/price.

Most people who have worked in the Dynamics 365/CRM industry for a few years probably knew the answer but I thought I would share the response I heard.

Hosk Extreme 365 – 2017 Adventure in pictures

Here are some of the pictures from the first 2 days of Extreme 2017 adventure

Day 1 – Travelling

Started reading my new book I got for world book day from my lovely Hosk family

The journey was a bit hectic with a 5am start with Uber ride the airport for my 7.15 flight.

I had to fly to Munich first and then to Lisbon, 6 hours and two small little meals

Ready for liftoff

Just above the clouds

Munich looks nice from up high

Here is the Airport at Lisbon

Sunday 12th – Day 2 – Sightseeing

Some of the guys eat barnacles for a starter, I wasn’t brave enough

This is winter in Portugal!  Very different from winter in England

The Hosk at the beach in his Ipswich Town FC top, Thumbs up indeed

Some of the Capgemini guys getting evidence of beach

Awesome Catherdral in Lisbon 

There is a shop famous for selling custard tarts – Pasteis de Belem, we queued for 30 minutes to buy some, they were delicious


What is Extreme 365 – Lisbon 2017?

Extreme 365 starts tomorrow and you will hear a lots of chatter and social media posts about the event but what is it? and why should you care?

What is it?

Extreme365 is a one of Microsoft’s big conferences for Microsoft Dynamics 365.  This year its held in sunny Lisbon – Portugal.

The first 3 days of the event are for Microsoft Partners (Mon – Wed) and Thursday and Friday are for customers.

It costs to attend, you can find more about pricing and registration here

Microsoft sells/explains the event

Where the Microsoft Dynamics 365 community comes together to forge relationships, gain real-world knowledge and dive deep into current and future technologies.


The agenda shows what is coming for

The best place to learn about Extreme365 is on the website http://www.extremecrm.com

Why should you attend

I’m going to focus on why Partners should attend, here are the key reasons people

  • The Dynamics Road map
  • Talk to Dynamics 365 experts
  • See functionality, solutions and ask questions/discuss
  • See functionality in action
  • Training

Microsoft need to sell the event, so they can persuade Microsoft Partners to buy tickets

Why Partners should attend, below are the highlights

  • Direct access to Microsoft leaders providing insider insight to help shape your future strategies

  • Microsoft’s Roadmap for Dynamics 365 and the Intelligent Business Cloud including Operations (AX),  CRM, and Financials

  • Dynamics 365 Spring Release (Sales, Marketing, Field Service, Marketing, Customer Service, Project Service Automation. Operations & Financials)

  • Building cloud business applications using AX, CRM, Azure, the Common Data Model, Flow, Power BI, Cortana Analytics and other capabilities of the Intelligent Business Cloud

  • Delivering Cloud Business Solutions to the Market leveraging AppSource and CSP

  • Understanding the impact of LinkedIn Acquisition

  • Education on third party add on products to help you solve business problems

  • Training classes offered by Mircrosoft on Power BI, Analytics using Cortana, Azure, IoT, integrating Dynamics 365 with Azure, and Portals

  • Updates on hot Microsoft operational topics such as pricing, incentives, provisioning, listing apps on AppSource and more!

How to follow

Not everyone can attend but you can see highlights from the event by seeing tweets from @eXtreme_365 and following the hashtag #eXtreme365.  I will also try and share some interesting content on twitter @BenHosk

Say Hi to the Hosk

This article The importance of being Social at eXtreme365 highlights a great point of conferences.  We are there to learn, make friends, make contacts and have fun.

So if you are going to the event make sure you make some time to say Hi to the Hosk, I want to  meet real life people who I have interacted with virtually through twitter, LinkedIn, blogs etc. I am going to make these people come to life

I will warn you the Hosk is smaller and hairier in real life, try to hide your disappointment #SayHiToHosk

Other extreme links

Five great leader keynotes speakers at eXtreme365 Lisbon (13-17 March)


Dynamics 365 error messages point you in the right direction

“If your mind is empty, it is always ready for anything, it is open to everything. In the beginner’s mind there are many possibilities, but in the expert’s mind there are few. ”
Dynamics 365 error messages point you into the right direction but never give you the answer #HoskCodeWisdom

A developer was working on a Dynamics 365 form, it was generating an error saying the contex was null when you deleted a value from a field. The developer was investigating the problem by trying the different routes through the code by changing values on the form, sometimes it errored and other times it worked.

The developer felt frustrated because they had copied the code from another area and it worked there

The error was something like –  Unable to get property “getAttribute” of undefined or null reference 

The error was occurring in a function which passed the context into the function, read about the

The developer had copied, pasted and adjusted the code, he was focusing on comparing both and was so focused on fixing a problem he was ignoring the error message.

Copy, paste and adjust are not a replacement for thinking

When developers copy, paste and adjust code they miss out the learning and experience which comes from creating.  The time you improve as a developer is in the journey of creating code, fixing bugs.  There is no shortcut to putting in the hard work and learning and understanding.

If you bypass the learning part, you end up with something which works or does not work but you don’t understand why.

Dynamics 365 developers need to learn how the Microsoft Dynamics 365 SDK works, the better you understand how the CRM SDK works it is easier to diagnose problems.

I recommend to Always start with the Dynamics 365 SDK

Dynamics 365 errors point you in the right direction

To diagnose an error, you must look at the error with an empty mind #HoskCodeWisdom

Dynamics 365 error messages point you into the right direction but never give you the answer.  Often developers are so busy trying to solve the error they don’t stop to think what the error message is telling them.

In this example the developer forgot to pass the context into the function by ticking the checkbox on the OnChange trigger.

Don’t assume, know

Developers rush to solve bugs, need to slow down, consider what they know and what they are assuming is happen.  One definitive method of investigating a bug is to debug the code, identify and path the code is taking.

An example of bug investigation and how to approach fixing bugs

Sherlock Hosk and the case of the annoying bug

Approach bugs with an empty mind and don’t assume what is happening but prove what is happening.

For example –How to diagnose plugin errors, it has a good section on plugin error messages

Plugin Error Messages

The error messages Microsoft Dynamics CRM throws are a mixture of a confusing statement with a nugget of truth tucked inside.  To developers new to CRM development they are unhelpful messages.

As experience and knowledge of CRM development increases you will find they often point you in the right direction but need to build up a map of the CRM landscape, so you know where to go and check.

Enjoy your bugs

“enjoy your problems” ― Shunryu Suzuki

Developers should enjoy their bugs because their offer a path to increase knowledge and understanding #HoskCodeWisdom

Bugs and errors offer a trigger to learn more Dynamics 365 and programming, allowing you to learn why something isn’t working, you can invert the logic to understand why and how code should work.

The more time you invest in learning Dynamics 365 and development the better prepared you will be to identify the cause of problems and bugs.

Dynamics 365 development is understanding the limitations of the different customisations and services available to Dynamics 365, when and when not to use them.

An example was someone had done 1 months work creating a solution using Click Dimensions only to find the solution didn’t work because Click Dimensions couldnt use optionsets with over 50 options.

Choosing the most right customisation requires the developer to have an in-depth knowledge of Dynamics 365 and there are no shortcuts in becoming a good Dynamics 365 developer.

Other articles on Developer testing and errors