Posts in Category: dynamics 365

Do you still Customize the Default Solution?

Since the introduction of the solution framework in CRM 2011 (and now Dynamics365), I have not customized the default solution and find no value in doing so going forward.

Apart from their deployment and product shipping functionality, solutions provide a container where I can specifically look at what I am customizing and am working on as it pertains to my own entities.  Whether it is an unmanaged solution in Production or Development (hopefully not in Production), at the very least I have a container that takes me two minutes to create that nicely encapsulates all the changes I have made.

With the Default Solution, I see the world, everything that is in it and everything that is a part of it.  If I were to step away from this solution for a

Read More


Default Solution and Publisher Ids

In writing my last post on Creating your own Dynamics Publisher, I stumbled across the below information on the default solution and publisher Ids within Dynamics.

Both, the default solution and publisher are the same Guids across all Dynamics environments.

DefaultPublisherId  – {d21aab71-79e7-11dd-8874-00188b01e34f}

Furthermore, you can access the Default Solution Id (consistent across all environments).

DefaultSolutionId – {FD140AAF-4DF4-11DD-BD17-0019B9312238}

I did a quick validation between an on-premise CRM 2015 tenant and my online Dynamics instance and both lined up.

Reference: https://msdn.microsoft.com/en-us/library/gg328257.aspx

Read More


Understanding Publishers with Dynamics

A Publisher in Dynamics is the entity by which your solutions are deployed to Dynamics CRM.

No publisher means no solution being deployed.

In any Dynamics install, there is always a Default Publisher which you can use across your solutions (if you like) but exists as the publisher for customizations made to the base system.

Creating a publisher can be accomplished by simply going to Settings >> Customizations >> Publishers and creating your own publisher.

But that’s pretty boring, so we’re going to create one using code.

Creating your Publisher

Once you initialized a connection to Dynamics, put together a little console app and use the following code to create your own Publisher that can be used for deploying your own solutions.

 Entity crmPublisher = new Entity("publisher");
 crmPublisher["uniquename"] = "ForgottenCoder";
 crmPublisher["friendlyname"] = "Forgotten Coder";
 crmPublisher["supportingwebsiteurl"]															

Read More


A Scaled out CRM Solution Architecture

Recently I started work on a pretty big CRM project and I wanted to apply a more scaled out approach to my solution architecture.  CRM offers a great facility to deploy code in their solutions but when starting a new project you should always ask yourself the following questions before you starting adding entities into your solutions.

  1. What is the frequency of updates that will be requested by the users and to what components?
  2. Are there multiple users contributing to this project?
  3. How big do you expect this project to grow by?
  4. What kind of promotional model is in place for deployments?

I  have found that questions such as these generally drive the overall solution architecture I will put in place on a project.  For instance, if we are working with a client that has

Read More


Change Tracking in Dynamics365

In Dynamics 2015 Update 1, a small update was released that you might have missed called Change Tracking.  This feature is implemented via the CRM SDK and let’s developers query for changes to the system, supplying a watermark (the token) from the last fetch to start retrieving from in the next fetch.

In terms of data retrieval, this is a big feature as no longer do you need to add fields into Dynamics to store this information and instead can leverage the platform as is to return this data and keep track of it for you.

For this post, I used the code from MSDN, modifying it slightly.

Enabling Change Tracking

Change Tracking is enabled on a per-entity basis – another great idea as it enforces the notion of “only use what you

Read More