Darrell Tunnell’s Blog

Radiating Awesomeness, One Blog Post at a Time.

How Far Does the XRM SDK’s ExecuteMultipleRequest Get You?

ExecuteMultipleRequest - Let’s take it to the max

In this post, I will explore what kinds of things can be achieved using the SDK’s ExecuteMultipleRequest, by starting of with a simple SQL command, and implementing a semantically equivalent ExecuteMultipleRequest, and then slowly introducing some additional complexity - so that, we can see some areas where the SDK starts to fall short!

ASP.NET 5 (vNext) Projects - Your NuGet Package May Fail to Install Correctly

Don’t assume NuGet Packages that you have authored will continue to work with ASP.NET 5 (vNext) projects.

Over the past year or so, I have authored a number of NuGet packages - because, well… I am just an all around great guy.

Recently, I was contacted by someone who was trying to use one of my NuGet packages with an ASP.NET vNext project (Preview release). Not something I have tried before - and this is where things get a little interesting.

CRM / Plugin Generated Values - and Reducing Roundtrips!

Setting the Scene

Imagine we have an application that uses the CRM SDK. It needs to:

  1. Create a new account entity in crm.
  2. Get some value that was just generated as a result of a synchronous plugin that fires on the create. For example, suppose there is a plugin that generates an account reference number.

The “I don’t care about network latency method!”

The ‘I don’t care about network latency’ way of dealing with this is to just do 2 seperate Requests (roundtrips) with the CRM server.

  1. Create the new account which returns you the ID.
  2. Retrieve the account using that ID, along with the values that you need.

This approach is sub optimal where network latency is a concern, as it incurs the penalty of making two roundtrips accross the network with the server, where 1 is possible.

Let’s now have a look at the “I’m running on a 56k modem method” of doing the same thing!

Unit Testing Dynamics CRM Plugins

There is no Spoon CRM

The purpose of this post will be to look at the code for a fairly typical looking crm plugin, and examine how to implement a unit test with the least possible effort. Reduced Effort == Reduced Person Hours == Reduced Cost.

Remember, this is Unit Testing, not Integration testing - so at test time - there is no CRM!

A Proclamation

On this day the 16th November 2014, let it be known that Darrell’s blog was rendered forth unto the internet.

Let the knowledge and manner of its creation also be recorded, lest it be lost from mortal ken. Thus humanity, need not be stricken in ignorance and awe, and need not refer to my blogging website as “Witchcraft” or “Devilry”.

The Mechanism of Creation

  1. Inspiration taken from JakeGinnivan’s blog which is powered by OctoPress: http://jake.ginnivan.net/
  2. Purchased a domain name: darrelltunnell.net
  3. Followed this OctoPress documentation: http://octopress.org/docs/setup/
  4. Hosted on https://github.com/

A revelation

And so it came to pass that Darrell Tunnell’s blog was incredibly useful to others. Darrell’s blog is currently read by 3.1 million people. Web browser requests for Darrell’s blog constitute approximately 85.2% of all browser requests made, worldwide. NetFlix was eventually absorbed into Darrell’s Blog at the end of 2014, through internet osmosis.