Automating DotNetNuke Deployments using Octopus Deploy

Because I am an awesome dude, i’ll share with you how I automate dotnetnuke delivery / deployments. This works. It takes some effort to get this set up though, but it will be well worth it in the end.

First i’ll explain the process for automating the deployment of the DotNetNuke website itself. Then I’ll explain how you can automate the deployment of modules / extensions on a continous basis.

... Read More

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!

... Read More

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.

... Read More

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!

... Read More

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!

... Read More