<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>microsoft-dynamics-crm on Alexander Development</title><link>https://alexanderdevelopment.net/tag/microsoft-dynamics-crm/</link><description>Recent content in microsoft-dynamics-crm on Alexander Development</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Thu, 05 Jul 2018 17:28:47 +0000</lastBuildDate><atom:link href="https://alexanderdevelopment.net/tag/microsoft-dynamics-crm/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a custom Dynamics 365 data interface with OpenFaaS</title><link>https://alexanderdevelopment.net/post/2018/07/05/building-a-custom-dynamics-365-data-interface-with-openfaas/</link><pubDate>Thu, 05 Jul 2018 17:28:47 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/07/05/building-a-custom-dynamics-365-data-interface-with-openfaas/</guid><description>Over the past several months, I&amp;rsquo;ve been doing a lot of work with OpenFaaS in my spare time, and in today&amp;rsquo;s post I will show how you can use it to easily build and deploy a custom web service interface for data in a Dynamics 365 Customer Engagement online tenant.</description></item><item><title>Using Dynamics 365 virtual entities to show data from an external organization</title><link>https://alexanderdevelopment.net/post/2018/05/28/using-dynamics-365-virtual-entities-to-show-data-from-an-external-organization/</link><pubDate>Mon, 28 May 2018 12:55:09 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/05/28/using-dynamics-365-virtual-entities-to-show-data-from-an-external-organization/</guid><description>I was recently asked to be a guest on the third-anniversary episode of the CRM Audio podcast. While I was there George Doubinski challenged me to create a plugin in one Dynamics 365 organization to retrieve records from another Dynamics 365 organization so they could be displayed as virtual entities. I was promised adulation on Dynamics CRM Tip of the Day and fame beyond my wildest dreams, so naturally I accepted.</description></item><item><title>An Azure AD OAuth 2 helper microservice</title><link>https://alexanderdevelopment.net/post/2018/05/19/an-azure-ad-oauth2-helper-microservice/</link><pubDate>Sat, 19 May 2018 16:45:38 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/05/19/an-azure-ad-oauth2-helper-microservice/</guid><description>One of the biggest trends in systems architecture these days is the use of &amp;ldquo;serverless&amp;rdquo; functions like Azure Functions, Amazon Lambda and OpenFaas. Because these functions are stateless, if you want to use a purely serverless approach to work with resources secured using Azure Active Directory like Dynamics 365 online, a new token will have to be requested every time a function executes.</description></item><item><title>Setting values in a Dynamics 365 CE quick create form from the main form</title><link>https://alexanderdevelopment.net/post/2018/03/17/setting-values-in-a-dynamics-365-ce-quick-create-form-from-the-main-form/</link><pubDate>Sat, 17 Mar 2018 21:39:19 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/03/17/setting-values-in-a-dynamics-365-ce-quick-create-form-from-the-main-form/</guid><description>Earlier this week I was asked to populate a field in a Dynamics 365 Customer Engagement quick create form with a value from a field on the main form. Unfortunately, the main form would not be saved at the time the quick create form was opened, so the value couldn&amp;rsquo;t be read from the database.</description></item><item><title>Updated solution for scheduling recurring Dynamics 365 workflows</title><link>https://alexanderdevelopment.net/post/2018/03/12/updated-solution-for-scheduling-recurring-dynamics-crm-workflows-2/</link><pubDate>Mon, 12 Mar 2018 15:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/03/12/updated-solution-for-scheduling-recurring-dynamics-crm-workflows-2/</guid><description>I&amp;rsquo;ve released an updated version of my recurring workflow scheduler for Dynamics 365 Customer Engagement. This solution targets Dynamics 365 version 9, so it should work in all current Dynamics 365 online organizations. You can download version 1.3 of my solution from here: https://github.com/lucasalexander/AlexanderDevelopment.ProcessRunner/releases/tag/v1.3.
For more information on the use of this tool, take a look at the original blog posts:</description></item><item><title>Disable and enable Dynamics 365 CE users with SSIS &amp; KingswaySoft</title><link>https://alexanderdevelopment.net/post/2018/02/08/disable-enable-dynamics-365-ce-users-with-ssis-kingswaysoft/</link><pubDate>Thu, 08 Feb 2018 19:01:01 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/02/08/disable-enable-dynamics-365-ce-users-with-ssis-kingswaysoft/</guid><description>Recently I was asked to set up a process to automatically disable or re-enable Dynamics 365 Customer Engagement users depending on some external data. This ended up being ridiculously easy to do with SSIS and KingswaySoft&amp;rsquo;s Dynamics 365 Integration Toolkit. Let me show you how it works.
In Dynamics 365 CE, you can disable or enable a user record just by setting the value of its &amp;ldquo;isdisabled&amp;rdquo; attribute to true or false, so both my disable user data flow and re-enable user data flow do roughly the same thing.</description></item><item><title>Building a simple service relay for Dynamics 365 CE with RabbitMQ and Python - part 4</title><link>https://alexanderdevelopment.net/post/2018/02/08/building-a-simple-service-relay-for-dynamics-365-ce-with-rabbitmq-and-python-part-4/</link><pubDate>Thu, 08 Feb 2018 04:00:42 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/02/08/building-a-simple-service-relay-for-dynamics-365-ce-with-rabbitmq-and-python-part-4/</guid><description>This is the final post in my series about building a service relay for Dynamics 365 CE with RabbitMQ and Python. In my previous post in this series, I showed the Python code to make the service relay work. In today&amp;rsquo;s post, I will show how you can use Azure Functions to make a consumer service proxy using C# so client applications don&amp;rsquo;t have to access to your RabbitMQ broker directly, and I will also discuss some general thoughts on security and scalability for this service relay architecture.</description></item><item><title>Building a simple service relay for Dynamics 365 CE with RabbitMQ and Python - part 3</title><link>https://alexanderdevelopment.net/post/2018/02/05/building-a-simple-service-relay-for-dynamics-365-ce-with-rabbitmq-and-python-part-3/</link><pubDate>Mon, 05 Feb 2018 17:57:29 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/02/05/building-a-simple-service-relay-for-dynamics-365-ce-with-rabbitmq-and-python-part-3/</guid><description>In my last post in this series, I walked through the prerequisites for building a simple service relay for Dynamics 365 CE with RabbitMQ and Python. In today&amp;rsquo;s post I will show the Python code to make the service relay work.
As I described in the first post in this series, this approach relies on a consumer process and a queue listener process that can both access a RabbitMQ message broker.</description></item><item><title>Building a simple service relay for Dynamics 365 CE with RabbitMQ and Python - part 2</title><link>https://alexanderdevelopment.net/post/2018/02/02/building-a-simple-service-relay-for-dynamics-365-ce-with-rabbitmq-and-python-part-2/</link><pubDate>Fri, 02 Feb 2018 03:24:51 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/02/02/building-a-simple-service-relay-for-dynamics-365-ce-with-rabbitmq-and-python-part-2/</guid><description>In my last post in this series, I outlined an approach for building a simple service relay with RabbitMQ and Python to easily expose an on-premises Dynamics 365 Customer Engagement organization to external consumers. In this post I will walk through the prerequisites for building this out. I&amp;rsquo;m assuming you have access to a Dynamics 365 CE organization, so I&amp;rsquo;m going to skip the setup for that and focus on just RabbitMQ and Python today.</description></item><item><title>Building a simple service relay for Dynamics 365 CE with RabbitMQ and Python - part 1</title><link>https://alexanderdevelopment.net/post/2018/01/31/relaying-external-queries-to-on-premise-dynamics-365-ce-orgs-with-rabbitmq-and-python/</link><pubDate>Wed, 31 Jan 2018 01:01:10 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/01/31/relaying-external-queries-to-on-premise-dynamics-365-ce-orgs-with-rabbitmq-and-python/</guid><description>Integrating with external systems is a common requirement in Dynamics 365 Customer Engagement projects, but when the project involves an on-premises instance of Dynamics 365, routing requests from external systems through your firewall can present an additional challenge. Over the course of the next few posts, I will show you can easily build a simple service relay with RabbitMQ and Python to handle inbound requests from external data interface consumers.</description></item><item><title>Dynamics 365 Configuration Data Mover v2.4</title><link>https://alexanderdevelopment.net/post/2018/01/16/dynamics-365-configuration-data-mover-v2-4/</link><pubDate>Tue, 16 Jan 2018 23:12:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/01/16/dynamics-365-configuration-data-mover-v2-4/</guid><description>I&amp;rsquo;ve released an updated version of my popular Dynamics 365 Configuration Data Mover utility that was built with .Net 4.7 to address the new requirement to use TLS 1.2 (or better) for connections to Dynamics 365 online instances as described in this entry on the Microsoft Dynamics 365 team blog: https://blogs.</description></item><item><title>Accessing an on-premises Dynamics 365 organization from Python</title><link>https://alexanderdevelopment.net/post/2018/01/15/connecting-to-an-on-premise-dynamics-365-org-from-python/</link><pubDate>Mon, 15 Jan 2018 14:58:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/01/15/connecting-to-an-on-premise-dynamics-365-org-from-python/</guid><description>I&amp;rsquo;ve previously showed how to access online and IFD instances of Dynamics 365 Customer Engagement from Python code. Because that sample code authenticated to the Web API using OAuth, it won&amp;rsquo;t work with on-premises instances. Recently I&amp;rsquo;ve been doing some work with Python and an on-premises Dynamics 365 organization, so I thought I&amp;rsquo;d share a sample that shows how to authenticate to the Web API using NTLM.</description></item><item><title>Using proxy connections with the Dynamics 365 Configuration Data Mover</title><link>https://alexanderdevelopment.net/post/2018/01/08/using-proxy-connections-with-the-dynamics-365-configuration-data-mover/</link><pubDate>Mon, 08 Jan 2018 15:16:49 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2018/01/08/using-proxy-connections-with-the-dynamics-365-configuration-data-mover/</guid><description>I was recently asked to add a feature to my Dynamics 365 Configuration Data Mover to enable connections through a proxy server. Because the tool is a .Net application, proxy server connections can be configured directly in the AlexanderDevelopmentConfigDataMover.exe.config file. For example, if you want to use the default Internet Explorer proxy settings, just add the following values inside the element:</description></item><item><title>A Dynamics 365 local message listener for web client notifications - part 3</title><link>https://alexanderdevelopment.net/post/2017/12/28/a-dynamics-365-local-message-listener-for-web-client-notifications-part-3/</link><pubDate>Thu, 28 Dec 2017 17:53:33 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/12/28/a-dynamics-365-local-message-listener-for-web-client-notifications-part-3/</guid><description>Several months ago I discussed an approach for passing notifications from local applications to the Dynamics 365 web client through a message listener process that runs on an end user&amp;rsquo;s PC and shared some sample code for how to implement it.
Recently I used this approach to establish communication between Dynamics 365 web resources and a fingerprint reader attached to a local PC.</description></item><item><title>Creating many-to-many associations with the Dynamics 365 Configuration Data Mover</title><link>https://alexanderdevelopment.net/post/2017/11/28/creating-many-to-many-associations-with-the-dynamics-365-configuration-data-mover/</link><pubDate>Tue, 28 Nov 2017 20:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/11/28/creating-many-to-many-associations-with-the-dynamics-365-configuration-data-mover/</guid><description>I&amp;rsquo;ve released an updated version of my popular Dynamics 365 Configuration Data Mover utility that includes the ability to create many-to-many associations in the target system. This upgrade is fully compatible with existing job files.
To create a many-to-many job step in the GUI, select the new &amp;ldquo;many to many&amp;rdquo; step type and input a FetchXML query for the relationship entity (relationship entity name on the many-to-many relationship form) that includes the GUID fields for each entity.</description></item><item><title>Running Dynamics 365 Configuration Data Mover jobs in VSTS builds</title><link>https://alexanderdevelopment.net/post/2017/09/12/running-dynamics-365-configuration-data-mover-jobs-in-vsts-builds/</link><pubDate>Tue, 12 Sep 2017 12:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/09/12/running-dynamics-365-configuration-data-mover-jobs-in-vsts-builds/</guid><description>In today&amp;rsquo;s post I will show how to use my Dynamics 365 Configuration Data Mover utility for synchronizing configuration data between CRM orgs as part of a Visual Studio Team Services build.
Download the latest version of the Configuration Data Mover utility&amp;rsquo;s CLI tool from my repository on GitHub here: https://github.</description></item><item><title>Dynamics 365 Configuration Data Mover v2.2</title><link>https://alexanderdevelopment.net/post/2017/09/11/dynamics-365-configuration-data-mover-v2-2/</link><pubDate>Mon, 11 Sep 2017 17:17:17 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/09/11/dynamics-365-configuration-data-mover-v2-2/</guid><description>I&amp;rsquo;ve released an updated version of my popular Dynamics 365 Configuration Data Mover utility that includes the following features:
Path to source and target JSON data files can now be absolute or relative to current working directory. This is particularly useful for running the CLI tool in an automated fashion. Location of job configuration file can be passed to CLI tool as absolution or relative path.</description></item><item><title>Running Dynamics 365 Configuration Data Mover jobs in Azure Functions</title><link>https://alexanderdevelopment.net/post/2017/08/09/running-dynamics-365-configuration-data-mover-jobs-in-azure-functions/</link><pubDate>Wed, 09 Aug 2017 19:13:58 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/08/09/running-dynamics-365-configuration-data-mover-jobs-in-azure-functions/</guid><description>My Dynamics 365 Configuration Data Mover utility allows you to run synchronization jobs from an interactive GUI tool or the command line, but the actual data synchronization logic is contained in a separate AlexanderDevelopment.ConfigDataMover.Lib.dll file that can be included in other applications. In today&amp;rsquo;s post I will show how you can set up an Azure Function to execute a Configuration Data Mover job file to sync data between two Dynamics 365 organizations.</description></item><item><title>A Dynamics 365 local message listener for web client notifications - part 2</title><link>https://alexanderdevelopment.net/post/2017/07/21/a-dynamics-365-local-message-listener-for-web-client-notifications-part-2/</link><pubDate>Fri, 21 Jul 2017 12:30:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/07/21/a-dynamics-365-local-message-listener-for-web-client-notifications-part-2/</guid><description>In part one of this series, I discussed an approach for passing notifications from local applications to the Dynamics 365 web client through a message listener process that runs on an end user&amp;rsquo;s PC. Today I will show the code I used to build the message listener and the code to consume notifications in Dynamics 365.</description></item><item><title>A Dynamics 365 local message listener for web client notifications - part 1</title><link>https://alexanderdevelopment.net/post/2017/07/19/a-dynamics-365-local-message-listener-for-web-client-notifications-part-1/</link><pubDate>Wed, 19 Jul 2017 23:16:41 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/07/19/a-dynamics-365-local-message-listener-for-web-client-notifications-part-1/</guid><description>One problem that comes up from time to time on Dynamics 365 Customer Engagement projects is how to receive notifications from an application running on a user&amp;rsquo;s local PC. Although the Unified Service Desk (USD) interface supports a variety of ways for Dynamics 365 to interact with local applications, the out-of-the-box web interface does not.</description></item><item><title>Updated Dynamics 365 Configuration Data Mover to support new online regions</title><link>https://alexanderdevelopment.net/post/2017/07/12/updated-dynamics-365-configuration-data-mover-to-support-new-online-regions/</link><pubDate>Wed, 12 Jul 2017 15:17:30 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/07/12/updated-dynamics-365-configuration-data-mover-to-support-new-online-regions/</guid><description>About two weeks ago a commenter mentioned that my Configuration Data Mover wasn&amp;rsquo;t working with UK Dynamics 365 online organizations that had been created since the change to the orgname.crm11.dynamics.com URL structure. I&amp;rsquo;ve released a new version with an updated SDK reference that has resolved the issue.
If you are using an older version of the data mover and you are working with online orgs in a new region, you may want to go ahead and upgrade to the latest version here.</description></item><item><title>Automatically executing HTTP POST requests in Dynamics 365 iframes - part 2</title><link>https://alexanderdevelopment.net/post/2017/07/10/automatically-executing-http-post-requests-in-dynamics-365-iframes-part-2/</link><pubDate>Mon, 10 Jul 2017 21:48:55 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/07/10/automatically-executing-http-post-requests-in-dynamics-365-iframes-part-2/</guid><description>Several months ago, I wrote a post that showed how to automatically display the results of an HTTP POST request inside a Dynamics 365 iframe. I was working on a project last week where I was tried to use that approach, but I ran into some problems, so today I will present an updated approach.</description></item><item><title>Another approach to complex Dynamics 365 text interfaces using KingswaySoft and XSLT</title><link>https://alexanderdevelopment.net/post/2017/06/23/another-approach-to-complex-dynamics-365-text-interfaces-using-kingswaysoft-and-xslt/</link><pubDate>Fri, 23 Jun 2017 17:30:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/06/23/another-approach-to-complex-dynamics-365-text-interfaces-using-kingswaysoft-and-xslt/</guid><description>Last week I posted an approach for generating complex text files from Dynamics 365 with KingswaySoft and XSLT that uses a custom script component to apply an XSL transformation to an XML document generated with the the SSIS XML merge component from the KingswaySoft SSIS productivity pack.
After I shared that post, Daniel Cai at KingswaySoft told me the premium derived column component in the SSIS productivity pack can also be used to apply the XSL transformation.</description></item><item><title>Generating complex text files from Dynamics 365 with KingswaySoft and XSLT</title><link>https://alexanderdevelopment.net/post/2017/06/15/generating-complex-text-files-with-kingswaysoft-and-xslt/</link><pubDate>Thu, 15 Jun 2017 12:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/06/15/generating-complex-text-files-with-kingswaysoft-and-xslt/</guid><description>Recently I needed to build an SSIS package that would generate a delimited text file with multiple sets of related (but different entity) Dynamics 365 records combined in a single grouping. Each record would be on a separate row (with different formats for each record type), and each grouping of related records would have its own header and trailer rows.</description></item><item><title>Real-time Dynamics 365 data integrations with SSIS + KingswaySoft</title><link>https://alexanderdevelopment.net/post/2017/06/13/real-time-dynamics-365-data-integrations-with-ssis-kingswaysoft/</link><pubDate>Tue, 13 Jun 2017 12:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/06/13/real-time-dynamics-365-data-integrations-with-ssis-kingswaysoft/</guid><description>I&amp;rsquo;m a big fan of KingswaySoft&amp;rsquo;s Dynamics 365 SSIS integration toolkit for moving data between Dynamics 365 and other systems. Because the integrations are run in SSIS packages, there&amp;rsquo;s a lot of power and flexibility, and you can use SQL Server Agent to orchestrate your integration jobs. This is great for scheduled jobs, but what do you do if you need to trigger a job based on activity in Dynamics 365?</description></item><item><title>Updated version of Dynamics 365/CRM Deployment Wizard</title><link>https://alexanderdevelopment.net/post/2017/03/22/updated-version-of-dynamics-365-crm-deployment-wizard/</link><pubDate>Wed, 22 Mar 2017 20:15:15 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/03/22/updated-version-of-dynamics-365-crm-deployment-wizard/</guid><description>I&amp;rsquo;ve released an updated version of my Dynamics CRM Deployment Wizard that supports Dynamics 365. The Deployment Wizard is designed to automate your solution deployments much like the SDK&amp;rsquo;s Dynamics CRM Package Deployer, but while the SDK tool requires you to build a deployment package using Visual Studio, my Deployment Wizard tool only requires you to create a simple JSON manifest file.</description></item><item><title>Dynamics 365 Configuration Data Mover v2.1</title><link>https://alexanderdevelopment.net/post/2017/03/17/dynamics-365-configuration-data-mover-v2-1/</link><pubDate>Fri, 17 Mar 2017 21:33:47 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/03/17/dynamics-365-configuration-data-mover-v2-1/</guid><description>I&amp;rsquo;ve released an updated version of my popular CRM Configuration Data Mover utility that includes the following features:
Steps can now be set as create-only, update-only or create+update. You can browse to data files using a standard file open dialog window. This upgrade is fully compatible with existing job files.</description></item><item><title>Dynamics 365 Configuration Data Mover v2.0.1.2</title><link>https://alexanderdevelopment.net/post/2017/02/27/dynamics-crm-configuration-data-mover-v2-0-1-2/</link><pubDate>Mon, 27 Feb 2017 22:35:20 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/02/27/dynamics-crm-configuration-data-mover-v2-0-1-2/</guid><description>I&amp;rsquo;ve released an updated version of my popular CRM Configuration Data Mover utility that fixes a small annoyance in the previous version where you could open multiple instances of the set connection, about and check for upgrade windows. This upgrade is fully compatible with existing job files.
####Getting the Dynamics 365 Configuration Data Mover</description></item><item><title>Working with Dynamics 365 lookup data in PowerApps</title><link>https://alexanderdevelopment.net/post/2017/02/23/working-with-dynamics-365-lookup-data-in-powerapps/</link><pubDate>Thu, 23 Feb 2017 23:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/02/23/working-with-dynamics-365-lookup-data-in-powerapps/</guid><description>One of the main problems I have with PowerApps at present is that it doesn&amp;rsquo;t nicely support Dynamics 365 lookup fields out of the box. Today I will show how I&amp;rsquo;ve worked around its limitations to make Dynamics 365 lookup fields easily viewable and editable in PowerApps.
For today&amp;rsquo;s demonstration, I&amp;rsquo;ve created two custom entities in a Dynamics 365 online environment:</description></item><item><title>Dynamics 365 and Python integration using the Web API - part 2</title><link>https://alexanderdevelopment.net/post/2017/02/19/dynamics-365-and-python-integration-using-the-web-api-part-2/</link><pubDate>Sun, 19 Feb 2017 21:15:02 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/02/19/dynamics-365-and-python-integration-using-the-web-api-part-2/</guid><description>Last week I wrote a post that showed how to update Dynamics 365 data from a Node.js application using the Web API. Today I will share equivalent Python code. This code builds on my Dynamics 365 and Python integration using the Web API post from last year, so if you haven&amp;rsquo;t read that yet, please take a look before you proceed.</description></item><item><title>Dynamics 365 and Node.js integration using the Web API - part 2</title><link>https://alexanderdevelopment.net/post/2017/02/16/dynamics-365-and-node-js-integration-using-the-web-api-part-2/</link><pubDate>Thu, 16 Feb 2017 17:05:52 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/02/16/dynamics-365-and-node-js-integration-using-the-web-api-part-2/</guid><description>Last year I wrote a post that showed how to retrieve data from a Dynamics 365 Online organization in a Node.js application using the Web API. Today I will share sample code that shows how to update data from a Node.js application using the Web API.
####Updating a single property To update a single property on a record in Dynamics 365, you can make a PUT request to the Web API.</description></item><item><title>Dynamics 365 Configuration Data Mover v2.0</title><link>https://alexanderdevelopment.net/post/2017/02/05/dynamics-365-configuration-data-mover-v2-0/</link><pubDate>Sun, 05 Feb 2017 04:31:37 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2017/02/05/dynamics-365-configuration-data-mover-v2-0/</guid><description>I&amp;rsquo;ve released an updated version of my popular CRM Configuration Data Mover utility. This version now supports Dynamics 365 and has an updated GUI built with Windows Presentation Foundation that replaces the previous Windows Forms GUI.
Jobs that were created with earlier versions of the tool will work with this version, but you will have to update your CRM connection parameters to specify the authorization type - Active Directory, IFD or Office 365.</description></item><item><title>Executing Dynamics 365 workflows from Microsoft Flow</title><link>https://alexanderdevelopment.net/post/2016/12/10/executing-dynamics-365-workflows-from-microsoft-flow/</link><pubDate>Sat, 10 Dec 2016 19:34:51 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/12/10/executing-dynamics-365-workflows-from-microsoft-flow/</guid><description>The only Dynamics 365 actions that Microsoft Flow offers right now are &amp;ldquo;create a new record&amp;rdquo; and &amp;ldquo;list records,&amp;rdquo; but with just a bit of additional effort it&amp;rsquo;s possible to access all the capabilities of the Web API. Today I will show how to create a Microsoft Flow that queries a set of accounts and executes a workflow for each one.</description></item><item><title>Scheduling Dynamics 365 workflows with Azure Functions and C#</title><link>https://alexanderdevelopment.net/post/2016/11/30/scheduling-dynamics-365-workflows-with-azure-functions-and-csharp/</link><pubDate>Wed, 30 Nov 2016 02:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/30/scheduling-dynamics-365-workflows-with-azure-functions-and-csharp/</guid><description>Over the past few days, I&amp;rsquo;ve shared two approaches for scheduling Dynamics 365 workflows using Azure Functions and the Dynamics 365 Web API. One uses Node.js, and the other uses Python. Because most Dynamics CRM developers are probably more familiar with C# than Node.js or Python, I also created an equivalent C# version.</description></item><item><title>Scheduling Dynamics 365 workflows with Azure Functions and Python</title><link>https://alexanderdevelopment.net/post/2016/11/29/scheduling-dynamics-365-workflows-with-azure-functions-and-python/</link><pubDate>Tue, 29 Nov 2016 12:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/29/scheduling-dynamics-365-workflows-with-azure-functions-and-python/</guid><description>Last week I shared a solution for Scheduling Dynamics 365 workflows with Azure Functions and Node.js. In this post, I will show how to achieve equivalent functionality using Python. The actual Python code is simpler than my Node.js example, but the Azure Functions configuration is much more complicated.
First, here&amp;rsquo;s the Python script I am using.</description></item><item><title>Dynamics 365 and Python integration using the Web API</title><link>https://alexanderdevelopment.net/post/2016/11/27/dynamics-365-and-python-integration-using-the-web-api/</link><pubDate>Sun, 27 Nov 2016 15:12:31 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/27/dynamics-365-and-python-integration-using-the-web-api/</guid><description>A few days back I wrote a post that showed an easy way to set up Dynamics 365 and Node.js integration using the Web API. Here is Python code that demonstrates equivalent functionality to query contacts and display their information:
import requests import json #set these values to retrieve the oauth token crmorg = &amp;#39;https://CRMORG.</description></item><item><title>Scheduling Dynamics 365 workflows with Azure Functions and Node.js</title><link>https://alexanderdevelopment.net/post/2016/11/25/scheduling-dynamics-365-workflows-with-azure-functions/</link><pubDate>Fri, 25 Nov 2016 17:00:03 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/25/scheduling-dynamics-365-workflows-with-azure-functions/</guid><description>Earlier this week I showed an easy way to integrate a Node.js application with Dynamics 365 using the Web API. Building on that example, I have created a scheduled workflow runner using Node.js and Azure Functions. Here&amp;rsquo;s how I did it.
First, I created a workflow in Dynamics 365 that creates a note on an account record.</description></item><item><title>Dynamics 365 and Node.js integration using the Web API</title><link>https://alexanderdevelopment.net/post/2016/11/23/dynamics-365-and-node-js-integration-using-the-web-api/</link><pubDate>Wed, 23 Nov 2016 16:17:09 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/23/dynamics-365-and-node-js-integration-using-the-web-api/</guid><description>I wrote a blog post in early 2015 that showed how to access the Dynamics CRM organization data service from a Node.js application. Today I will show an easy way to retrieve data from a Dynamics 365 Online organization in a Node.js application using the Web API.
Unlike the CRM organization service, the Dynamics 365 Web API does not allow you to authenticate directly with a user name and password.</description></item><item><title>Dynamics CRM AngularJS demo solution deep dive - the editor form</title><link>https://alexanderdevelopment.net/post/2016/11/11/dynamics-crm-angularjs-demo-solution-deep-dive-the-editor-form/</link><pubDate>Fri, 11 Nov 2016 00:10:15 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/11/dynamics-crm-angularjs-demo-solution-deep-dive-the-editor-form/</guid><description>Earlier this week I shared a sample solution that shows how to build a custom Dynamics CRM data editor with AngularJS. As I described in that post, the actual editor relies on three custom web resource components (not including the AngularJS and ES6 promise libraries):
index.htm - This is the editor form.</description></item><item><title>AngularJS demo solution for Dynamics CRM</title><link>https://alexanderdevelopment.net/post/2016/11/07/angularjs-demo-solution-for-dynamics-crm/</link><pubDate>Mon, 07 Nov 2016 13:30:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/07/angularjs-demo-solution-for-dynamics-crm/</guid><description>Lately I&amp;rsquo;ve started using AngularJS to build web resources for custom data editors and viewers in Dynamics CRM. Once you get the hang of Angular, it&amp;rsquo;s not that hard, but it did take me some time to figure out exactly how to work with it as part of a CRM solution.</description></item><item><title>Working with Dynamics CRM users assigned roles using JavaScript</title><link>https://alexanderdevelopment.net/post/2016/11/03/working-with-dynamics-crm-users-assigned-roles-using-javascript/</link><pubDate>Thu, 03 Nov 2016 19:08:28 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/03/working-with-dynamics-crm-users-assigned-roles-using-javascript/</guid><description>Today turned out to be one of those days where I got multiple requests for quick Dynamics CRM 2015 JavaScript help on a few projects. A colleague asked me for help showing a field on a form if a user is assigned a role and keeping it hidden otherwise. Instead of just hardcoding everything, I decided to take a more general approach and write a universal role assignment checking function that has parameters for the functions to execute if the user is or is not in the role when the role checking is called.</description></item><item><title>Checking Dynamics CRM user team membership with organization data service</title><link>https://alexanderdevelopment.net/post/2016/11/03/checking-dynamics-crm-user-team-membership-with-organization-data-service/</link><pubDate>Thu, 03 Nov 2016 15:42:47 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/11/03/checking-dynamics-crm-user-team-membership-with-organization-data-service/</guid><description>With the all the recent news about Dynamics 365, this post probably seems a tad outdated, but today I had a colleague ask me for a way to check whether a user is a member of a team in a Dynamics CRM 2015 organization using JavaScript. Without further commentary, here goes:</description></item><item><title>Custom call handling logic with the Dynamics CRM USD generic listener</title><link>https://alexanderdevelopment.net/post/2016/10/22/custom-call-handling-logic-with-the-dynamics-crm-usd-generic-listener/</link><pubDate>Sat, 22 Oct 2016 16:05:10 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/10/22/custom-call-handling-logic-with-the-dynamics-crm-usd-generic-listener/</guid><description>I was recently working on a Dynamics CRM Unified Service Desk project where I needed to populate a custom search form with call details instead of doing a direct search for a matching record in CRM. I didn&amp;rsquo;t want to write my own CTI adapter, so I investigated using the USD generic listener adapter.</description></item><item><title>Easy dependent picklists for Dynamics CRM</title><link>https://alexanderdevelopment.net/post/2016/10/06/easy-dependent-picklists-for-dynamics-crm/</link><pubDate>Thu, 06 Oct 2016 22:25:11 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/10/06/easy-dependent-picklists-for-dynamics-crm/</guid><description>I&amp;rsquo;ve created a new solution for creating dependent picklists on Dynamics CRM forms that requires no coding to implement. You can download it from my Crm-Sample-Code GitHub repository here: https://raw.githubusercontent.com/lucasalexander/Crm-Sample-Code/master/misc-code-samples/easydependentpicklists.js
Assume you have three picklists with related options like in the list below:
lpa_level1picklist 1 2 lpa_level2picklist 1a 1b 2a 2b lpa_level3picklist 1a1 1a2 1b1 2a1 You can represent a tree of possible options like this: 1 -&amp;gt; 1a -&amp;gt; 1a1 1 -&amp;gt; 1a -&amp;gt; 1a2 1 -&amp;gt; 1b -&amp;gt; 1b1 2 -&amp;gt; 2a -&amp;gt; 2a1 2 -&amp;gt; 2a -&amp;gt; 1a1 2 -&amp;gt; 2b</description></item><item><title>Downloading Dynamics CRM attachments with JavaScript</title><link>https://alexanderdevelopment.net/post/2016/09/29/downloading-dynamics-crm-attachments-with-javascript/</link><pubDate>Thu, 29 Sep 2016 23:30:34 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/09/29/downloading-dynamics-crm-attachments-with-javascript/</guid><description>I ran into a requirement this week where I needed to give Dynamics CRM users an easy way to download PDF attachments from a set of links in an iframe. I thought it would be easy enough to just grab the corresponding annotation id and pass it to the CRM download.</description></item><item><title>Updated solution for scheduling recurring Dynamics CRM workflows</title><link>https://alexanderdevelopment.net/post/2016/09/19/updated-solution-for-scheduling-recurring-dynamics-crm-workflows/</link><pubDate>Mon, 19 Sep 2016 21:07:07 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/09/19/updated-solution-for-scheduling-recurring-dynamics-crm-workflows/</guid><description>About three years ago I released an open source Dynamics CRM solution for scheduling and executing recurring workflows. My solution would execute a FetchXML query to return a set of records and then start a workflow for each of those records without requiring any external processes or tools. This is a generalized approach to solving a class of problems that includes the following scenarios:</description></item><item><title>Automatically executing HTTP POST requests in Dynamics CRM iframes</title><link>https://alexanderdevelopment.net/post/2016/09/09/automatically-executing-http-post-requests-in-dynamics-crm-iframes/</link><pubDate>Fri, 09 Sep 2016 17:57:12 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/09/09/automatically-executing-http-post-requests-in-dynamics-crm-iframes/</guid><description>The Dynamics CRM SDK allows you to set the source URL for an iframe control on a form, and that is fine if all you need to do is load web pages that are accessible via HTTP GET requests. If you need to automatically display the results of an HTTP POST request inside an iframe, it&amp;rsquo;s a bit more challenging.</description></item><item><title>Dynamics CRM Configuration Data Mover v1.11</title><link>https://alexanderdevelopment.net/post/2016/06/29/dynamics-crm-configuration-data-mover-v1-11/</link><pubDate>Wed, 29 Jun 2016 22:08:03 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/06/29/dynamics-crm-configuration-data-mover-v1-11/</guid><description>I&amp;rsquo;ve released an updated version of my Dynamics CRM Configuration Data Mover tool that includes the following enhancements:
Validation for FetchXML queries against the Dynamics CRM 2016 FetchXML XSD when jobs are saved through the GUI client and at the start of a job before any data is processed Better error reporting in the GUI client GUID mapping for the root business unit&amp;rsquo;s default team when the option to map the root business unit is selected ####Getting the Dynamics CRM Configuration Data Mover The source code is available in my GitHub repository here.</description></item><item><title>Azure Text Analytics sentiment analysis with North52</title><link>https://alexanderdevelopment.net/post/2016/05/17/azure-text-analytics-sentiment-analysis-with-north52/</link><pubDate>Tue, 17 May 2016 13:19:37 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/05/17/azure-text-analytics-sentiment-analysis-with-north52/</guid><description>For the last several months I&amp;rsquo;ve been working on an enterprise Dynamics CRM project where one of our goals is to minimize the amount of custom code we write by using North52&amp;rsquo;s Business Process Activities. I had not been exposed to North52 before working on this project, but I have been pleasantly surprised with how much it has allowed our mostly functional resources to achieve without needing technical assistance.</description></item><item><title>Dynamics CRM Configuration Data Mover v1.10</title><link>https://alexanderdevelopment.net/post/2016/05/06/dynamics-crm-configuration-data-mover-v1-10/</link><pubDate>Fri, 06 May 2016 22:31:12 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/05/06/dynamics-crm-configuration-data-mover-v1-10/</guid><description>I&amp;rsquo;ve released an updated version of my Dynamics CRM Configuration Data Mover tool that adds the ability to synchronize entityimage attributes stored in flat-file extracts. Previous versions of the tool already allowed for entityimage synchronization when running a job directly between source and target CRM systems.
####Getting the Dynamics CRM Configuration Data Mover The source code is available in my GitHub repository here.</description></item><item><title>Introducing the Dynamics CRM Deployment Wizard</title><link>https://alexanderdevelopment.net/post/2016/05/05/introducing-the-dynamics-crm-deployment-wizard/</link><pubDate>Thu, 05 May 2016 19:37:33 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/05/05/introducing-the-dynamics-crm-deployment-wizard/</guid><description>Over the course of my career, I have seen too many Dynamics CRM solution deployments fail because of poorly executed deployment processes. To make deployments easier, I have built a new tool called the Dynamics CRM Deployment Wizard. The CRM Deployment Wizard executes deployment (solution or reference data import) steps listed in a JSON manifest file, so all you have to do is organize your files, create the manifest and run the deployment job.</description></item><item><title>Dynamics CRM Configuration Data Mover v1.9</title><link>https://alexanderdevelopment.net/post/2016/04/25/dynamics-crm-configuration-data-mover-v1-9/</link><pubDate>Mon, 25 Apr 2016 02:41:15 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/04/25/dynamics-crm-configuration-data-mover-v1-9/</guid><description>I&amp;rsquo;ve released an updated version of my Dynamics CRM Configuration Data Mover tool that includes the following enhancements:
Setting statecode and statuscode values on create or update is now supported. The tool will not set statuscode unless statecode is also specified. Record ownership can now be changed on updates. ####Getting the Dynamics CRM Configuration Data Mover The source code is available in my GitHub repository here.</description></item><item><title>Webcast: Sentiment Analysis in Microsoft Dynamics CRM using Azure Text Analytics</title><link>https://alexanderdevelopment.net/post/2016/04/06/webcast-sentiment-analysis-in-microsoft-dynamics-crm-using-azure-text-analytics/</link><pubDate>Wed, 06 Apr 2016 14:37:20 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/04/06/webcast-sentiment-analysis-in-microsoft-dynamics-crm-using-azure-text-analytics/</guid><description>On Monday, April 11, at 12 p.m. EDT, I will be presenting a webcast at MSDynamicsWorld.com that will show how a custom integration with Microsoft Azure Machine Learning can be used to perform sentiment analysis on any data stored in Dynamics CRM.
Custom sentiment analysis integrations can enable a number of interesting processes in Dynamics CRM including:</description></item><item><title>Moving Dynamics CRM service and holiday calendars with the Configuration Data Mover</title><link>https://alexanderdevelopment.net/post/2016/03/04/moving-dynamics-crm-calendar-records-with-the-configuration-data-mover/</link><pubDate>Fri, 04 Mar 2016 14:54:24 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/03/04/moving-dynamics-crm-calendar-records-with-the-configuration-data-mover/</guid><description>Last month a colleague of mine asked if it would be possible to synchronize Dynamics CRM service calendars and holiday calendars using my Configuration Data Mover tool. At first it looked like it would be complicated, but after trying a few different approaches, it turned out to be incredibly simple. Before getting to the solution, let&amp;rsquo;s look at how Dynamics CRM stores calendar data.</description></item><item><title>Dynamics CRM Configuration Data Mover v1.7</title><link>https://alexanderdevelopment.net/post/2016/02/12/dynamics-crm-configuration-data-mover-v1-7/</link><pubDate>Fri, 12 Feb 2016 03:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/02/12/dynamics-crm-configuration-data-mover-v1-7/</guid><description>I&amp;rsquo;ve released an updated version of my Dynamics CRM Configuration Data Mover tool that includes the following GUI enhancements:
Password masking in connection form (saved passwords are still stored as plain text) Improved record error logging to show reason for import failure Improved connection error handling for import jobs Thanks to GitHub user btull89 for suggesting the first two items and submitting some code for them.</description></item><item><title>Dynamics CRM Configuration Data Mover v1.6</title><link>https://alexanderdevelopment.net/post/2016/02/09/dynamics-crm-configuration-data-mover-v1-6/</link><pubDate>Tue, 09 Feb 2016 21:01:25 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/02/09/dynamics-crm-configuration-data-mover-v1-6/</guid><description>I&amp;rsquo;ve released an updated version of my Dynamics CRM Configuration Data Mover tool that includes the following GUI enhancements:
A reorganized toolbar A separate form to enter and validate connection details Validation that the XML in a job step can be parsed as XML (does not actually validate the FetchXML query) Check for latest version functionality ####Getting the Dynamics CRM Configuration Data Mover The source code is available in my GitHub repository here.</description></item><item><title>Moving Dynamics CRM access team templates with the Configuration Data Mover</title><link>https://alexanderdevelopment.net/post/2016/02/01/moving-access-team-templates-with-the-configuration-data-mover/</link><pubDate>Mon, 01 Feb 2016 16:16:48 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/02/01/moving-access-team-templates-with-the-configuration-data-mover/</guid><description>Dynamics CRM access team templates are stored as regular CRM records, just like teams or queues. Although Dynamics CRM does not allow users to query team template records with an advanced find, it is possible to query them with FetchXML, which means they can be synchronized between organizations using my Configuration Data Mover utility.</description></item><item><title>Dynamics CRM Configuration Data Mover v1.5</title><link>https://alexanderdevelopment.net/post/2016/01/29/dynamics-crm-configuration-data-mover-v1-5/</link><pubDate>Fri, 29 Jan 2016 14:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/01/29/dynamics-crm-configuration-data-mover-v1-5/</guid><description>Back in November I released my Alexander Development Dynamics Configuration Data Mover tool, and I received a tremendous amount of positive feedback. Since then I&amp;rsquo;ve been asked several times why someone would want to use my tool instead of the Configuration Migration tool that is included in the CRM SDK, and so I&amp;rsquo;ve decided to summarize the four main advantages my tool has over the SDK tool.</description></item><item><title>Dynamics CRM and the Internet of Things - part 5</title><link>https://alexanderdevelopment.net/post/2016/01/18/dynamics-crm-and-the-internet-of-things-part-5/</link><pubDate>Mon, 18 Jan 2016 22:17:57 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/01/18/dynamics-crm-and-the-internet-of-things-part-5/</guid><description>This is the fifth and final post in a five-part series on how I integrated a Raspberry Pi with Microsoft Dynamics CRM to recognize contacts using automobile license plates. Although the code samples are focused on license plate recognition, the solution architecture I used is applicable to any Dynamics CRM + Internet of Things (IoT) integration.</description></item><item><title>Dynamics CRM and the Internet of Things - part 4</title><link>https://alexanderdevelopment.net/post/2016/01/11/dynamics-crm-and-the-internet-of-things-part-4/</link><pubDate>Mon, 11 Jan 2016 13:38:49 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/01/11/dynamics-crm-and-the-internet-of-things-part-4/</guid><description>This is the fourth post in a five-part series on how I integrated a Raspberry Pi with Microsoft Dynamics CRM to recognize contacts using automobile license plates. Although the code samples are focused on license plate recognition, the solution architecture I used is applicable to any Dynamics CRM + Internet of Things (IoT) integration.</description></item><item><title>Dynamics CRM and the Internet of Things - part 3</title><link>https://alexanderdevelopment.net/post/2016/01/03/dynamics-crm-and-the-internet-of-things-part-3/</link><pubDate>Sun, 03 Jan 2016 23:19:06 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2016/01/03/dynamics-crm-and-the-internet-of-things-part-3/</guid><description>This is the third post in a five-part series on how I integrated a Raspberry Pi with Microsoft Dynamics CRM to recognize contacts using automobile license plates. Although the code samples are focused on license plate recognition, the solution architecture I used is applicable to any Dynamics CRM + Internet of Things (IoT) integration.</description></item><item><title>Dynamics CRM and the Internet of Things - part 2</title><link>https://alexanderdevelopment.net/post/2015/12/21/dynamics-crm-and-the-internet-of-things-part-2/</link><pubDate>Mon, 21 Dec 2015 16:50:02 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/12/21/dynamics-crm-and-the-internet-of-things-part-2/</guid><description>This is the second post in a five-part series on how I integrated a Raspberry Pi with Microsoft Dynamics CRM to recognize contacts using automobile license plates. As I mentioned in the first post of the series, the solution architecture I used is applicable to any Dynamics CRM + Internet of Things (IoT) integration.</description></item><item><title>Dynamics CRM and the Internet of Things - part 1</title><link>https://alexanderdevelopment.net/post/2015/12/14/dynamics-crm-and-the-internet-of-things-part-1/</link><pubDate>Mon, 14 Dec 2015 16:02:17 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/12/14/dynamics-crm-and-the-internet-of-things-part-1/</guid><description>Today&amp;rsquo;s post is the first in a five-part series on how I integrated a Raspberry Pi with Microsoft Dynamics CRM to recognize contacts using automobile license plates. Although my solution is focused on the use of license plate numbers captured by a webcam, the solution architecture is applicable to any Dynamics CRM + Internet of Things (IoT) integration.</description></item><item><title>Predictions in Dynamics CRM with custom Azure Machine Learning integrations</title><link>https://alexanderdevelopment.net/post/2015/12/01/using-azure-machine-learning-predictive-data-models-in-dynamics-crm/</link><pubDate>Tue, 01 Dec 2015 03:08:34 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/12/01/using-azure-machine-learning-predictive-data-models-in-dynamics-crm/</guid><description>Earlier this year I wrote a post that showed how to perform sentiment analysis in Dynamics CRM using Microsoft Azure Text Analytics. Azure Text Analytics makes it incredibly easy to use sentiment analysis (with English text only), but the full Azure Machine Learning offering is much more powerful. In today&amp;rsquo;s post I will show how to create a custom predictive web service in Azure ML and make predictions with it in Dynamics CRM.</description></item><item><title>SSIS package for moving access team templates with KingswaySoft</title><link>https://alexanderdevelopment.net/post/2015/11/02/ssis-package-for-moving-access-team-templates-with-kingswaysoft/</link><pubDate>Mon, 02 Nov 2015 03:13:14 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/11/02/ssis-package-for-moving-access-team-templates-with-kingswaysoft/</guid><description>Last year Ben Hosking said there was no way to move access teams between Dynamics CRM organizations, so I created a tool to do that. Last month Tanguy Touzard said I should turn my console application into an XrmToolBox plugin, so I did. Soon after that Daniel Cai said I should make something with the KingswaySoft SSIS Integration Toolkit, so I&amp;rsquo;ve now written a version of my access team template mover as an SSIS package.</description></item><item><title>XrmToolBox plugin for moving access team templates</title><link>https://alexanderdevelopment.net/post/2015/10/20/xrmtoolbox-plugin-for-moving-access-team-templates/</link><pubDate>Tue, 20 Oct 2015 22:04:35 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/10/20/xrmtoolbox-plugin-for-moving-access-team-templates/</guid><description>Late last year I created a console application for moving access team templates between Dynamics CRM organizations, and I described it in this blog post. Following up on that, I&amp;rsquo;ve created an XrmToolBox plugin to make it even easier to move access team templates (with GUIDs) between CRM organizations. I&amp;rsquo;ve also added functionality to automatically enable access teams on the relevant entities in the target organization if desired.</description></item><item><title>Sentiment analysis in Dynamics CRM using Azure Text Analytics</title><link>https://alexanderdevelopment.net/post/2015/10/12/sentiment-analysis-in-dynamics-crm-using-azure-text-analytics/</link><pubDate>Mon, 12 Oct 2015 22:36:23 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/10/12/sentiment-analysis-in-dynamics-crm-using-azure-text-analytics/</guid><description>Last year I created a proof-of-concept solution that showed how to integrate Dynamics CRM with HP Haven OnDemand (then called HP IDOL OnDemand) to perform sentiment analysis and index records to support &amp;ldquo;find similar&amp;rdquo; queries. While I was working through the AzureCon challenge a few weeks ago, I thought it would be an interesting exercise to update my sentiment analysis code to work with the Text Analytics offering from the Microsoft Azure Marketplace.</description></item><item><title>Get next case functionality for CRM Unified Service Desk</title><link>https://alexanderdevelopment.net/post/2015/10/08/get-next-case-functionality-for-crm-unified-service-desk/</link><pubDate>Thu, 08 Oct 2015 02:41:36 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/10/08/get-next-case-functionality-for-crm-unified-service-desk/</guid><description>Last week I shared an approach for implementing next case functionality for Dynamics CRM so that users can get the &amp;ldquo;next&amp;rdquo; case to work from a queue just by clicking a button. In today&amp;rsquo;s post I will show an easy way to add the same functionality to Unified Service Desk (USD), but as an added bonus the case will also open in a new session tab.</description></item><item><title>Get next case functionality for Dynamics CRM</title><link>https://alexanderdevelopment.net/post/2015/10/02/get-next-case-functionality-for-dynamics-crm/</link><pubDate>Fri, 02 Oct 2015 02:13:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/10/02/get-next-case-functionality-for-dynamics-crm/</guid><description>Dynamics CRM offers sophisticated tools for working with cases and service queues, but sometimes users just want a quick and simple way to get the next case to work. In today&amp;rsquo;s post, I&amp;rsquo;ll share an easy way to implement this functionality in your Dynamics CRM organization.
There are three components to my approach:</description></item><item><title>Using RabbitMQ as a message broker in Dynamics CRM data interfaces – part 5</title><link>https://alexanderdevelopment.net/post/2015/01/27/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-5/</link><pubDate>Tue, 27 Jan 2015 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/01/27/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-5/</guid><description>This the final post in my five-part series on creating loosely coupled data interfaces for Dynamics CRM using RabbitMQ. In part 3 and part 4 I showed two approaches for building a Dynamics CRM plug-in that publishes notification messages to a RabbitMQ exchange. In today’s post I will show how to create a Windows console application that reads messages from a queue and writes the data to Dynamics CRM.</description></item><item><title>Authenticating from a Node.js client to Dynamics CRM via AD FS and OAuth2</title><link>https://alexanderdevelopment.net/post/2015/01/24/authenticating-from-a-node-js-client-to-dynamics-crm-via-ad-fs-and-oauth2/</link><pubDate>Sat, 24 Jan 2015 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/01/24/authenticating-from-a-node-js-client-to-dynamics-crm-via-ad-fs-and-oauth2/</guid><description>Last week I decided to finally take a look at using OAuth2 as an authentication protocol with Dynamics CRM. I wanted to understand how it could enable non-Windows clients to consume CRM data. As it turns out, I was unable to find any documentation or comprehensive code samples for non-Windows clients, so I put together my own Node.</description></item><item><title>Using RabbitMQ as a message broker in Dynamics CRM data interfaces – part 4</title><link>https://alexanderdevelopment.net/post/2015/01/22/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-4/</link><pubDate>Thu, 22 Jan 2015 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/01/22/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-4/</guid><description>Welcome back to my five-part series on creating loosely coupled data interfaces for Dynamics CRM using RabbitMQ. In my last post I showed how to build a Dynamics CRM plug-in that publishes notification messages to a RabbitMQ exchange using the official RabbitMQ .Net client library. Unfortunately, that plug-in can’t successfully communicate with a RabbitMQ server if it’s executed inside the Dynamics CRM sandbox, so in today’s post I will show how to achieve the same results with a sandboxed plug-in.</description></item><item><title>Using RabbitMQ as a message broker in Dynamics CRM data interfaces – part 3</title><link>https://alexanderdevelopment.net/post/2015/01/20/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-3/</link><pubDate>Tue, 20 Jan 2015 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/01/20/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-3/</guid><description>This is the third post of a five-part series on creating loosely coupled data interfaces for Dynamics CRM using RabbitMQ. Last time I showed how to install and configure a RabbitMQ server to support passing messages to and from Dynamics CRM. Today I will show how to build a Dynamics CRM plug-in that publishes notification messages to a RabbitMQ exchange using the official RabbitMQ .</description></item><item><title>Using RabbitMQ as a message broker in Dynamics CRM data interfaces – part 2</title><link>https://alexanderdevelopment.net/post/2015/01/14/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-2/</link><pubDate>Wed, 14 Jan 2015 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/01/14/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-2/</guid><description>Welcome back to this five-part series on creating loosely coupled data interfaces for Dynamics CRM using RabbitMQ. In my last post I discussed why you would want to incorporate a message broker into your Dynamics CRM data interfaces, and today I will show how to install and configure RabbitMQ to support the examples I’ll be presenting in the rest of the series.</description></item><item><title>Using RabbitMQ as a message broker in Dynamics CRM data interfaces – part 1</title><link>https://alexanderdevelopment.net/post/2015/01/12/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-1/</link><pubDate>Mon, 12 Jan 2015 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2015/01/12/using-rabbitmq-as-a-message-broker-in-dynamics-crm-data-interfaces-part-1/</guid><description>One of the things I love about Dynamics CRM is how easy it is to create data interfaces to enable integration with other systems. If you’ve worked with Dynamics CRM for any length of time, you’ve probably seen multiple web service integrations that enable interoperability with other line-of-business and legacy systems.</description></item><item><title>Console application for moving Dynamics CRM access team templates</title><link>https://alexanderdevelopment.net/post/2014/12/13/console-application-for-moving-dynamics-crm-access-team-templates/</link><pubDate>Sat, 13 Dec 2014 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/12/13/console-application-for-moving-dynamics-crm-access-team-templates/</guid><description>When Dynamics CRM 2013 was released, I thought access teams were the new killer feature in that version, and I even developed custom workflow activity code to make managing access team membership easier by using connection records. I have thus far not had an opportunity to use access teams in a real project, so I was disappointed to read this blog post by Ben Hosking (AKA &amp;ldquo;The Hosk&amp;rdquo;) about how Microsoft doesn&amp;rsquo;t provide any out-of-the-box capabilities for moving access team templates between Dynamics CRM organizations.</description></item><item><title>Creating a near real-time streaming interface for Dynamics CRM with Node.js – part 4</title><link>https://alexanderdevelopment.net/post/2014/12/11/creating-a-near-real-time-streaming-interface-for-dynamics-crm-with-node-js-part-4/</link><pubDate>Thu, 11 Dec 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/12/11/creating-a-near-real-time-streaming-interface-for-dynamics-crm-with-node-js-part-4/</guid><description>This is the final post in my four-part series about creating a near real-time streaming interface for Microsoft Dynamics CRM using Node.js and Socket.IO. In my last post I showed how to write the plug-in code to send messages from CRM to the Node.js application. In today’s post I will show how to configure a client to receive and process notifications from the Node.</description></item><item><title>Lots of Dynamics CRM sample code now available on GitHub</title><link>https://alexanderdevelopment.net/post/2014/12/11/lots-of-dynamics-crm-sample-code-now-available-on-github/</link><pubDate>Thu, 11 Dec 2014 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/12/11/lots-of-dynamics-crm-sample-code-now-available-on-github/</guid><description>Over the years, I&amp;rsquo;ve shared a lot of code as part of my blogging, but I didn&amp;rsquo;t do a particularly good job of making the code easily available outside of the individual blog posts. I also realized I didn&amp;rsquo;t even have all the code where I could easily get to it from my PC!</description></item><item><title>Creating a near real-time streaming interface for Dynamics CRM with Node.js – part 3</title><link>https://alexanderdevelopment.net/post/2014/12/09/creating-a-near-real-time-streaming-interface-for-dynamics-crm-with-node-js-part-3/</link><pubDate>Tue, 09 Dec 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/12/09/creating-a-near-real-time-streaming-interface-for-dynamics-crm-with-node-js-part-3/</guid><description>This is the third post in my four-part series about creating a near real-time streaming interface for Microsoft Dynamics CRM using Node.js and Socket.IO. In my last post I showed how to create the Node.js component of the solution to process messages received from Dynamics CRM and send notifications to connected clients.</description></item><item><title>Creating a near real-time streaming interface for Dynamics CRM with Node.js – part 2</title><link>https://alexanderdevelopment.net/post/2014/12/05/creating-a-near-real-time-streaming-interface-for-dynamics-crm-with-node-js-part-2/</link><pubDate>Fri, 05 Dec 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/12/05/creating-a-near-real-time-streaming-interface-for-dynamics-crm-with-node-js-part-2/</guid><description>This is the second post in my four-part series about creating a near real-time streaming interface for Microsoft Dynamics CRM using Node.js and Socket.IO. In my last post I presented an overview of how a near real-time streaming interface can be used with Dynamics CRM, and I discussed the solution approach.</description></item><item><title>Creating a near real-time streaming interface for Dynamics CRM with Node.js – part 1</title><link>https://alexanderdevelopment.net/post/2014/12/03/creating-a-near-real-time-streaming-interface-for-dynamics-crm-with-node-js-part-1/</link><pubDate>Wed, 03 Dec 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/12/03/creating-a-near-real-time-streaming-interface-for-dynamics-crm-with-node-js-part-1/</guid><description>Welcome to a four-part series about creating a near real-time streaming interface for Microsoft Dynamics CRM using Node.js and Socket.IO.
In today’s post I will present an overview of how a near real-time streaming interface can be used with Dynamics CRM, and I will discuss the solution approachIn the second post, I will show how to create the Node.</description></item><item><title>System.TimeoutException when importing translations with XrmToolBox</title><link>https://alexanderdevelopment.net/post/2014/12/03/system-timeoutexception-when-importing-translations-with-xrmtoolbox/</link><pubDate>Wed, 03 Dec 2014 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/12/03/system-timeoutexception-when-importing-translations-with-xrmtoolbox/</guid><description>I&amp;rsquo;ve been using the completely awesome XrmToolBox to import translations for a large CRM organization, but I kept running into System.TimeoutException errors like the following:
System.TimeoutException: The HTTP request to &amp;lsquo;https://XXX/XrmServices/2011/Organization.svc&amp;rsquo; has exceeded the allotted timeout of 00:02:00. The time allotted to this operation may have been a portion of a longer timeout.</description></item><item><title>Using IDOL OnDemand for text analysis in Dynamics CRM - part 3</title><link>https://alexanderdevelopment.net/post/2014/09/29/using-idol-ondemand-for-text-analysis-in-dynamics-crm-part-3/</link><pubDate>Mon, 29 Sep 2014 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/09/29/using-idol-ondemand-for-text-analysis-in-dynamics-crm-part-3/</guid><description>In my last post I provided a detailed walkthrough of how to perform sentiment analysis on incoming emails received in Microsoft Dynamics CRM by parsing them with HP IDOL OnDemand’s sentiment analysis API and then storing the calculated sentiment values on the email records. In today’s post, I will show a similar, but slightly more complex integration that enables &amp;ldquo;find similar&amp;rdquo; functionality for emails stored in Dynamics CRM.</description></item><item><title>Using IDOL OnDemand for text analysis in Dynamics CRM - part 2</title><link>https://alexanderdevelopment.net/post/2014/09/24/using-idol-ondemand-for-text-analysis-in-dynamics-crm-part-2/</link><pubDate>Wed, 24 Sep 2014 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/09/24/using-idol-ondemand-for-text-analysis-in-dynamics-crm-part-2/</guid><description>In my last post I provided an overview of HP IDOL OnDemand and discussed a couple of things you can do with it to process and analyze data stored in a Microsoft Dynamics CRM instance. Today I&amp;rsquo;ll provide a detailed walkthrough of how perform sentiment analysis on incoming emails using IDOL OnDemand.</description></item><item><title>Using IDOL OnDemand for text analysis in Dynamics CRM - part 1</title><link>https://alexanderdevelopment.net/post/2014/09/19/using-idol-ondemand-for-text-analysis-in-dynamics-crm-part-1/</link><pubDate>Fri, 19 Sep 2014 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/09/19/using-idol-ondemand-for-text-analysis-in-dynamics-crm-part-1/</guid><description>Inside any organization&amp;rsquo;s Microsoft Dynamics CRM system, there is a wealth of raw data that can be turned into actionable intelligence if it can be effectively analyzed. This data can be found in emails, case notes, attachments and other records that are created and stored in the course of day-to-day business.</description></item><item><title>Remote Microsoft Dynamics CRM 2013 server administration with PowerShell</title><link>https://alexanderdevelopment.net/post/2014/01/30/remote-microsoft-dynamics-crm-2013-server-administration-with-powershell-2/</link><pubDate>Thu, 30 Jan 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/01/30/remote-microsoft-dynamics-crm-2013-server-administration-with-powershell-2/</guid><description>When Microsoft Dynamics CRM 2011 was released, the on-premise installation included a set of PowerShell cmdlets for administering configuration and deployments. While these were incredibly powerful, the out-of-the-box cmdlets only worked on the same server that was running CRM. In CRM 2013, these cmdlets have been updated to run from remote systems, so you can use them to administer your on-premise CRM 2013 deployments without needing to be logged on to the actual application server.</description></item><item><title>Working with key-value pair data inside Microsoft Dynamics CRM workflows – part 2</title><link>https://alexanderdevelopment.net/post/2014/01/16/working-with-key-value-pair-data-inside-microsoft-dynamics-crm-workflows-part-2/</link><pubDate>Thu, 16 Jan 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/01/16/working-with-key-value-pair-data-inside-microsoft-dynamics-crm-workflows-part-2/</guid><description>In my last post I discussed how key-value pair data can be used to store configuration-related items in Microsoft Dynamics CRM, and I also showed a design for an entity to store key-value pair data. In today&amp;rsquo;s post I will show how to retrieve and consume the data inside a workflow using a custom workflow activity.</description></item><item><title>Working with key-value pair data inside Microsoft Dynamics CRM workflows</title><link>https://alexanderdevelopment.net/post/2014/01/14/working-with-key-value-pair-data-inside-microsoft-dynamics-crm-workflows/</link><pubDate>Tue, 14 Jan 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/01/14/working-with-key-value-pair-data-inside-microsoft-dynamics-crm-workflows/</guid><description>Dynamics CRM workflows are a great way to enable business processes, and with the real-time capabilities introduced in CRM 2013 they can replace plug-ins in many scenarios. One significant drawback that workflows do have, though, is they lack the ability to easily retrieve and work with data from inside Dynamics CRM that is not related to their primary entities.</description></item><item><title>Managing Microsoft Dynamics CRM 2013 access team membership using connections</title><link>https://alexanderdevelopment.net/post/2014/01/09/managing-microsoft-dynamics-crm-2013-access-team-membership-using-connections-2/</link><pubDate>Thu, 09 Jan 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/01/09/managing-microsoft-dynamics-crm-2013-access-team-membership-using-connections-2/</guid><description>Dynamics CRM 2013 includes a great new feature called access teams, which makes ad-hoc sharing of records much easier than in previous versions. The basic idea is that an administrator can create one or more team templates for an entity that function sort of like security roles, but for a specific record.</description></item><item><title>Microsoft Dynamics CRM 2013 "actions" - a solution in search of a problem? Part 2</title><link>https://alexanderdevelopment.net/post/2014/01/07/microsoft-dynamics-crm-2013-actions-a-solution-in-search-of-a-problem-part-2/</link><pubDate>Tue, 07 Jan 2014 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/01/07/microsoft-dynamics-crm-2013-actions-a-solution-in-search-of-a-problem-part-2/</guid><description>In my last post, I talked about what Dynamics CRM 2013 actions are and how I think they&amp;rsquo;re of limited utility in enterprise deployments. I did suggest two scenarios in which I think actions could be useful, and I&amp;rsquo;m sure other folks may have come up with some ideas of their own.</description></item><item><title>Microsoft Dynamics CRM 2013 "actions" - a solution in search of a problem? Part 1</title><link>https://alexanderdevelopment.net/post/2014/01/02/microsoft-dynamics-crm-2013-actions-a-solution-in-search-of-a-problem-part-1/</link><pubDate>Thu, 02 Jan 2014 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2014/01/02/microsoft-dynamics-crm-2013-actions-a-solution-in-search-of-a-problem-part-1/</guid><description>I finally set up a personal Dynamics CRM 2013 sandbox a couple of weeks ago so I could start trying out some of its new features. Although I had been waiting for most of the Fall to get a look at real-time workflows, I was also intrigued by the new action process.</description></item><item><title>Unit testing custom Microsoft Dynamics CRM code – Part 7 (web requests)</title><link>https://alexanderdevelopment.net/post/2013/10/24/unit-testing-custom-microsoft-dynamics-crm-code-part-7-web-requests/</link><pubDate>Thu, 24 Oct 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/10/24/unit-testing-custom-microsoft-dynamics-crm-code-part-7-web-requests/</guid><description>One of the main points of all my unit testing posts is that unit tests should be written so that you can test your code without needing to rely on external resources, and, we&amp;rsquo;ve been able to use Moq as a stand-in for Dynamics CRM’s related services without too much trouble.</description></item><item><title>Unit testing custom Microsoft Dynamics CRM code – Part 8 (exception raising)</title><link>https://alexanderdevelopment.net/post/2013/10/24/unit-testing-custom-microsoft-dynamics-crm-code-part-8-exception-raising/</link><pubDate>Thu, 24 Oct 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/10/24/unit-testing-custom-microsoft-dynamics-crm-code-part-8-exception-raising/</guid><description>This is the final post in my series on unit testing custom Microsoft Dynamics CRM code in which I&amp;rsquo;ve been showing how you can unit test custom C# code that interacts with Microsoft Dynamics CRM using Visual Studio&amp;rsquo;s unit testing tools and Moq. We&amp;rsquo;ve looked at several different scenarios thus far, but none of them included the method under test throwing an exception.</description></item><item><title>Unit testing custom Microsoft Dynamics CRM code – Part 6 (plug-ins)</title><link>https://alexanderdevelopment.net/post/2013/10/21/unit-testing-custom-microsoft-dynamics-crm-code-part-6-plug-ins/</link><pubDate>Mon, 21 Oct 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/10/21/unit-testing-custom-microsoft-dynamics-crm-code-part-6-plug-ins/</guid><description>In my last post, I showed how to unit test a Microsoft Dynamics CRM custom workflow activity using Visual Studio and Moq. In this post I will show you how to unit test a Dynamics CRM plug-in. For this example we&amp;rsquo;ll be using the sample FollowupPlugin class in the CRM 2011 SDK, but the principles I will demonstrate are applicable to any plug-in.</description></item><item><title>Unit testing custom Microsoft Dynamics CRM code – Part 5 (custom workflow activities)</title><link>https://alexanderdevelopment.net/post/2013/10/17/unit-testing-custom-microsoft-dynamics-crm-code-part-5/</link><pubDate>Thu, 17 Oct 2013 18:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/10/17/unit-testing-custom-microsoft-dynamics-crm-code-part-5/</guid><description>In the last three posts of this series, I showed how to unit test Microsoft Dynamics CRM C# interfaces code with mock objects using Visual Studio 2012 and Moq. In this post, I will show how to unit test custom workflow activities that are executed by Dynamics CRM processes. I will be using the regular expression validation custom workflow activity I showed in my &amp;ldquo;Using regular expressions in Dynamics CRM 2011 processes&amp;rdquo; post.</description></item><item><title>Unit testing custom Microsoft Dynamics CRM code – Part 4 (using a wrapper class)</title><link>https://alexanderdevelopment.net/post/2013/10/17/unit-testing-custom-microsoft-dynamics-crm-code-part-4/</link><pubDate>Thu, 17 Oct 2013 17:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/10/17/unit-testing-custom-microsoft-dynamics-crm-code-part-4/</guid><description>In parts two and three of this series, I gave an introduction to unit testing Dynamics CRM C# interfaces code with mock objects using Visual Studio 2012 and Moq, and I showed code samples for a couple of different scenarios. In this post I will show how to work with CRM metadata (optionset values, statuscode values, etc.</description></item><item><title>Unit testing custom Microsoft Dynamics CRM code – Part 3 (intermediate interface example)</title><link>https://alexanderdevelopment.net/post/2013/10/10/unit-testing-custom-microsoft-dynamics-crm-code-part-3/</link><pubDate>Thu, 10 Oct 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/10/10/unit-testing-custom-microsoft-dynamics-crm-code-part-3/</guid><description>In my last post I gave an introduction to unit testing Dynamics CRM C# interfaces code with mock objects using Visual Studio 2012 and Moq. The sample code in that post was extremely simple, so I wanted to follow up with a more complex example that shows how to test multiple calls to the CRM web service instead of just a single one.</description></item><item><title>Unit testing custom Microsoft Dynamics CRM code – Part 2 (simple interface example)</title><link>https://alexanderdevelopment.net/post/2013/10/09/unit-testing-custom-microsoft-dynamics-crm-code-part-2/</link><pubDate>Wed, 09 Oct 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/10/09/unit-testing-custom-microsoft-dynamics-crm-code-part-2/</guid><description>In my last post I explained why you should unit test your Dynamics CRM-facing code using frameworks to handle both testing automation and mock objects. In this post, I&amp;rsquo;m going to provide an overview of how to get started.
As I mentioned last time, we&amp;rsquo;ll be using the unit testing tools included in Visual Studio 2012 for the unit testing automation and Moq for the object mocking.</description></item><item><title>Unit testing custom Microsoft Dynamics CRM code – Part 1 (series introduction)</title><link>https://alexanderdevelopment.net/post/2013/10/02/unit-testing-custom-microsoft-dynamics-crm-code-part-1/</link><pubDate>Wed, 02 Oct 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/10/02/unit-testing-custom-microsoft-dynamics-crm-code-part-1/</guid><description>When writing custom code that interacts with Microsoft Dynamics CRM, it is important to:
Unit test your code Use an automated unit testing framework to automate your unit tests Write unit tests that do not depend on external resources such as a Microsoft Dynamics CRM application server or SQL Server Over the course of my next several posts, I&amp;rsquo;ll be showing you some best practices for unit testing Dynamics CRM-facing code using Visual Studio unit testing tools and the Moq object mocking library.</description></item><item><title>Extracting data with regular expressions in Microsoft Dynamics CRM 2011 processes</title><link>https://alexanderdevelopment.net/post/2013/09/09/extracting-data-with-regular-expressions-in-microsoft-dynamics-crm-2011-processes-2/</link><pubDate>Mon, 09 Sep 2013 13:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/09/09/extracting-data-with-regular-expressions-in-microsoft-dynamics-crm-2011-processes-2/</guid><description>In last week’s blog post, I showed how to use regular expressions in Microsoft Dynamics CRM 2011 processes for data validation. Today I&amp;rsquo;ll show you how you can use a similar approach to parse text and extract matching strings using regular expressions in a Dynamics CRM 2011 process.
If you&amp;rsquo;re unfamiliar with regular expressions, I recommend you take a look at my earlier post for an idea of how they work.</description></item><item><title>Using regular expressions in Dynamics CRM 2011 processes</title><link>https://alexanderdevelopment.net/post/2013/09/03/using-regular-expressions-in-dynamics-crm-2011-processes-2/</link><pubDate>Tue, 03 Sep 2013 05:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/09/03/using-regular-expressions-in-dynamics-crm-2011-processes-2/</guid><description>Regular expressions offer programmers an easy way to validate strings in many programming languages. In this post, I will show how you can add regular expression validation capabilities to Dynamics CRM 2011 processes.
Regular expressions overview
First, for those who may not be familiar with regular expressions, let me offer a brief example of what kinds of problems they can solve.</description></item><item><title>Custom identity class to represent Dynamics CRM users in WCF services</title><link>https://alexanderdevelopment.net/post/2013/08/26/custom-identity-class-to-represent-dynamics-crm-users-in-wcf-services/</link><pubDate>Mon, 26 Aug 2013 13:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/08/26/custom-identity-class-to-represent-dynamics-crm-users-in-wcf-services/</guid><description>A few weeks ago I wrote a post called &amp;ldquo;Custom WCF service authentication using Microsoft Dynamics CRM credentials&amp;rdquo; in which I showed how to secure Windows Communication Foundation (WCF) web services using Dynamics CRM usernames and passwords. In that post, I used a GenericIdentity object to store the CRM user information, but unfortunately the GenericIdentity class is extremely limited in the amount of user-related information it can hold, so in this post I will show how to create and use a custom identity object to represent CRM users.</description></item><item><title>A Better Dynamics CRM E-mail Editor With TinyMCE (updated for IE8 and 9)</title><link>https://alexanderdevelopment.net/post/2013/08/15/a-better-dynamics-crm-e-mail-editor-with-tinymce-updated-for-ie8-and-9/</link><pubDate>Thu, 15 Aug 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/08/15/a-better-dynamics-crm-e-mail-editor-with-tinymce-updated-for-ie8-and-9/</guid><description>When I developed the JavaScript for my A Better Dynamics CRM E-mail Editor With TinyMCE post back in June, I tested it in both Chrome and IE10. Since then I have gotten a few reports of it not working in IE8 or IE9. Initially, I thought there might be a problem with the way the earlier versions of IE were handling the protocol-relative URLs to the TinyMCE CDN script, but it turned out that the script just wasn&amp;rsquo;t loading properly when the editor popup was initially launched.</description></item><item><title>Diesel Xrm Service Wrapper Now on GitHub</title><link>https://alexanderdevelopment.net/post/2013/08/05/diesel-xrm-service-wrapper-now-on-github/</link><pubDate>Mon, 05 Aug 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/08/05/diesel-xrm-service-wrapper-now-on-github/</guid><description>Last week I wrote a post called &amp;ldquo;Introducing the Diesel Xrm Service Wrapper,&amp;rdquo; in which I presented a generic WCF wrapper for the Dynamics CRM Organization Service. Almost immediately I had several ideas about updates I wanted to make, so I&amp;rsquo;ve decided to host the project on GitHub. The project GitHub page is here, and you can find the code repository here.</description></item><item><title>Custom WCF service authentication using Microsoft Dynamics CRM credentials</title><link>https://alexanderdevelopment.net/post/2013/08/01/custom-wcf-service-authentication-using-microsoft-dynamics-crm-credentials-2/</link><pubDate>Thu, 01 Aug 2013 22:03:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/08/01/custom-wcf-service-authentication-using-microsoft-dynamics-crm-credentials-2/</guid><description>Enterprise Microsoft Dynamics CRM implementations frequently require developing custom Windows Communication Foundation (WCF) web services to be used for integration with external systems. Typical use cases for custom web services would include situations in which a consuming system can&amp;rsquo;t easily access the Dynamics CRM Organization Service, or a custom service is required to do some data processing above and beyond the capabilities of the CRM Organization Service.</description></item><item><title>Introducing the Diesel Xrm Service Wrapper</title><link>https://alexanderdevelopment.net/post/2013/07/31/introducing-the-diesel-xrm-service-wrapper/</link><pubDate>Wed, 31 Jul 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/07/31/introducing-the-diesel-xrm-service-wrapper/</guid><description>In this post, I will present a generic Windows Communication Foundation (WCF) wrapper for the Dynamics CRM Organization Service that lets you turn any FetchXML query into a web service interface without needing to write any code at all. I call my solution the Diesel Xrm Service Wrapper after Diesel, my Great Dane.</description></item><item><title>A Data Snapshot Framework for Dynamics CRM</title><link>https://alexanderdevelopment.net/post/2013/07/24/data-snapshot-framework-for-dynamics-crm/</link><pubDate>Wed, 24 Jul 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/07/24/data-snapshot-framework-for-dynamics-crm/</guid><description>Although Dynamics CRM offers several different ways to report on data stored in the system, there is no out-of-the-box mechanism for reporting on how data changes over time. That is to say, while you can easily report on how many active accounts are owned by a particular sales rep today, you can&amp;rsquo;t report on how the number of active account compares to last week, last month or even just yesterday.</description></item><item><title>A Better Dynamics CRM E-mail Editor With Markdown</title><link>https://alexanderdevelopment.net/post/2013/07/09/a-better-dynamics-crm-e-mail-editor-with-markdown/</link><pubDate>Tue, 09 Jul 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/07/09/a-better-dynamics-crm-e-mail-editor-with-markdown/</guid><description>Last month I wrote a post called A Better Dynamics CRM E-mail Editor With TinyMCE in which I showed how to create a better Dynamics CRM e-mail editing interface using TinyMCE. Since then I have done some work with Markdown, and I decided it would be an interesting exercise to make a Markdown-enabled e-mail editor.</description></item><item><title>A Better Dynamics CRM E-mail Editor With TinyMCE</title><link>https://alexanderdevelopment.net/post/2013/06/26/a-better-dynamics-crm-e-mail-editor-with-tinymce/</link><pubDate>Wed, 26 Jun 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/06/26/a-better-dynamics-crm-e-mail-editor-with-tinymce/</guid><description>I think most people would agree the e-mail editing functionality in the Dynamics CRM web UI leaves a lot to be desired. One of the most embarrassing moments I experienced on a recent project was when I had to explain to the client the convoluted process that would need to be used to add a corporate logo to outbound e-mails.</description></item><item><title>Creating a dynamic dialog launcher menu for Dynamics CRM (FetchXML style)</title><link>https://alexanderdevelopment.net/post/2013/06/03/creating-a-dynamic-dialog-launcher-menu-for-dynamics-crm-fetchxml-style-2/</link><pubDate>Mon, 03 Jun 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/06/03/creating-a-dynamic-dialog-launcher-menu-for-dynamics-crm-fetchxml-style-2/</guid><description>Last month I wrote a post about how to create a web resource dialog &amp;ldquo;launcher&amp;rdquo; that you can embed in a CRM form (both classic and updated modes) with JavaScript and an OData query. In today&amp;rsquo;s post, I will show how to do the same thing using a FetchXML query. There are four changes you need to make to the web resource from the previous post.</description></item><item><title>Error (bug?) when creating records from Dynamics CRM updated-mode forms</title><link>https://alexanderdevelopment.net/post/2013/05/21/error-bug-when-creating-records-from-dynamics-crm-updated-mode-forms/</link><pubDate>Tue, 21 May 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/05/21/error-bug-when-creating-records-from-dynamics-crm-updated-mode-forms/</guid><description>I&amp;rsquo;m working on a project with CRM Online, and I just found a significant difference between how records are saved from updated-mode forms as compared to classic-mode forms.
I had added the territory field to the OOTB &amp;ldquo;account&amp;rdquo; form, and I also created a new security role based on the OOTB &amp;ldquo;salesperson&amp;rdquo; role, but I neglected to add append-to rights to the territory entity.</description></item><item><title>Scheduling recurring Dynamics CRM workflows with FetchXML</title><link>https://alexanderdevelopment.net/post/2013/05/19/scheduling-recurring-dynamics-crm-workflows-with-fetchxml/</link><pubDate>Sun, 19 May 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/05/19/scheduling-recurring-dynamics-crm-workflows-with-fetchxml/</guid><description>In today&amp;rsquo;s post I will show how to set up a recurring process in Dynamics CRM that executes a FetchXML query to return a set of records and then starts a workflow for each of those records without requiring any external processes or tools. This is a generalized approach to solving a class of problems that includes the following scenarios:</description></item><item><title>Creating a dynamic dialog launcher menu for Dynamics CRM</title><link>https://alexanderdevelopment.net/post/2013/05/17/creating-a-dynamic-dialog-launcher-menu-for-dynamics-crm/</link><pubDate>Fri, 17 May 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/05/17/creating-a-dynamic-dialog-launcher-menu-for-dynamics-crm/</guid><description>I love Dynamics CRM dialogs. In fact, I think they are one of the best features of CRM 2011. What I don&amp;rsquo;t like about dialogs is how the user has to run them when working with a entity record. On a &amp;ldquo;classic&amp;rdquo; mode form, the user has to go to the ribbon, click start dialog and then find the dialog in a list.</description></item><item><title>Updated "Unit testing Dynamics CRM C# interfaces code using NUnit and Moq" code sample</title><link>https://alexanderdevelopment.net/post/2013/05/01/updated-unit-testing-dynamics-crm-c-interfaces-code-using-nunit-and-moq-code-sample/</link><pubDate>Wed, 01 May 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/05/01/updated-unit-testing-dynamics-crm-c-interfaces-code-using-nunit-and-moq-code-sample/</guid><description>Back in January, after I published my How to unit test C# Dynamics CRM interface code - part III post on how to use NUnit and Moq to test Dynamics CRM interfacing code, I uploaded my project files to the MSDN code gallery. Earlier this week I revisited my original solution while preparing a demo for some of my colleagues.</description></item><item><title>Documenting a Dynamics CRM custom workflow activity with Doxygen</title><link>https://alexanderdevelopment.net/post/2013/04/30/documenting-dynamics-crm-interfacing-code-with-doxygen/</link><pubDate>Tue, 30 Apr 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/04/30/documenting-dynamics-crm-interfacing-code-with-doxygen/</guid><description>In this post I will show how to document a Dynamics CRM 2011 custom workflow activity assembly and use Doxygen to generate a compiled HTML (CHM) help file. (Doxygen can actually generate documentation in a variety of different formats, but I&amp;rsquo;m partial to CHM files because they&amp;rsquo;re entirely self-contained.) For this example, I have a project that consists of these three C# files:</description></item><item><title>Posting/processing JSON in a Dynamics CRM 2011 custom workflow activity</title><link>https://alexanderdevelopment.net/post/2013/04/22/postingprocessing-json-in-a-crm-2011-custom-workflow-activity/</link><pubDate>Mon, 22 Apr 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/04/22/postingprocessing-json-in-a-crm-2011-custom-workflow-activity/</guid><description>With the proliferation of RESTful APIs, JSON is frequently used as a message format for interoperability. My MSDN &amp;ldquo;Posting/processing JSON in a CRM 2011 custom workflow activity&amp;rdquo; code sample shows how to POST JSON messages to a REST endpoint and process the response in a Dynamics CRM custom workflow activity.</description></item><item><title>Sending SMS messages and making robocalls from Dynamics CRM</title><link>https://alexanderdevelopment.net/post/2013/04/21/sending-sms-messages-and-making-robocalls-from-dynamics-crm/</link><pubDate>Sun, 21 Apr 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/04/21/sending-sms-messages-and-making-robocalls-from-dynamics-crm/</guid><description>In this post I will show how to send SMS messages and make automated phone calls from Dynamics CRM using Tropo, a cloud voice and SMS messaging API. Tropo is not the only player in this space, but I think it has the best set of features, and it&amp;rsquo;s completely free to use in development.</description></item><item><title>An overview of environments to support Dynamics CRM development</title><link>https://alexanderdevelopment.net/post/2013/03/26/an-overview-of-environments-to-support-dynamics-crm-solution-development/</link><pubDate>Tue, 26 Mar 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/03/26/an-overview-of-environments-to-support-dynamics-crm-solution-development/</guid><description>In my current Dynamics CRM project, I am the solution architect for a new initiative that was set up as a &amp;ldquo;mini-project&amp;rdquo; separate from the existing CRM solution&amp;rsquo;s production support and feature enhancement teams. We had our own PM, testing team, business analysts and developers. As we approach go-live of our solution, we are at a point where we are now integrating our work with the other work streams, and this has led me to wax philosophical on the optimal arrangement of environments (dev, QA, production, etc.</description></item><item><title>In which we explore unsupported Dynamics CRM database operations</title><link>https://alexanderdevelopment.net/post/2013/03/25/in-which-we-explore-unsupported-dynamics-crm-database-operations/</link><pubDate>Mon, 25 Mar 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/03/25/in-which-we-explore-unsupported-dynamics-crm-database-operations/</guid><description>If you work with Dynamics CRM long enough, I can almost guarantee you will one day encounter a problem where a direct SQL insert/update/delete (DML) against your CRM database is either the only possible solution or the alternatives are so cumbersome as to make the direct SQL approach the only practical solution.</description></item><item><title>Displaying Dynamics CRM FetchXML results in ASPX with XSLT</title><link>https://alexanderdevelopment.net/post/2013/02/27/displaying-dynamics-crm-fetchxml-results-xslt/</link><pubDate>Wed, 27 Feb 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/02/27/displaying-dynamics-crm-fetchxml-results-xslt/</guid><description>Last week I wrote a post that showed how to retrive the raw SOAP response from a Dynamics CRM query in C#, but I didn&amp;rsquo;t show how to do anything useful with it. In today&amp;rsquo;s post I will show a practical example of how to execute a FetchXML request against a Dynamics CRM instance, capture the raw SOAP response and transform it with XSLT for display in an ASPX page.</description></item><item><title>Accessing raw SOAP requests/responses from Dynamics CRM web services in C#</title><link>https://alexanderdevelopment.net/post/2013/02/21/accessing-raw-soap-requests-responses-from-dynamics-crm-web-services-in-c/</link><pubDate>Thu, 21 Feb 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/02/21/accessing-raw-soap-requests-responses-from-dynamics-crm-web-services-in-c/</guid><description>One of the things I have always found frustrating about WCF is that it effectively hides the actual SOAP message XML requests and responses in web service calls. From a Dynamics CRM perspective, I can think of at least three good reasons it would be nice to be able to access the raw XML generated and consumed by clients built with the SDK:</description></item><item><title>Misadventures with CRM 2011 web services and ADFS</title><link>https://alexanderdevelopment.net/post/2013/02/17/misadventures-with-crm-2011-web-services-and-adfs/</link><pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/02/17/misadventures-with-crm-2011-web-services-and-adfs/</guid><description>I think the Dynamics CRM 2011 SDK is swell for interoperability, but I wanted to get a closer look at how the actual web service calls work, so I decided to access the sandbox CRM instance my company provides using a WSDL-based proxy as described here. Because the SDK has several examples for connecting to CRM instances using different kinds of authentication in the SDK\SampleCode\CS\WsdlBasedProxies directory, I figured this would be a piece of cake.</description></item><item><title>Displaying FetchXML results with XSLT on the client side in a Dynamics CRM 2011 web resource</title><link>https://alexanderdevelopment.net/post/2013/02/11/displaying-fetchxml-results-with-xslt-on-the-client-side-in-a-dynamics-crm-2011-web-resource/</link><pubDate>Mon, 11 Feb 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/02/11/displaying-fetchxml-results-with-xslt-on-the-client-side-in-a-dynamics-crm-2011-web-resource/</guid><description>A few weeks back, I wrote a post that showed how to retrieve and display FetchXML using jQuery in a Dynamics CRM web resource. In that example, I used jQuery&amp;rsquo;s each() method to iterate through each result and append them to an HTML element on the page. Using each() is a good approach if you need to actually do something with each row, but if you just want to display data, XSLT is a much easier way to do it.</description></item><item><title>Better line charts in Dynamics CRM 2011 - part II</title><link>https://alexanderdevelopment.net/post/2013/01/27/better-line-charts-in-dynamics-crm-2011-part-ii/</link><pubDate>Sun, 27 Jan 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/01/27/better-line-charts-in-dynamics-crm-2011-part-ii/</guid><description>In part I of this series, I showed how to query Microsoft Dynamics CRM for aggregate data using FetchXML and then pass the results to Flot to generate a line chart. In this second part, I will expand on that to show how to query for and chart multi-series data. For my example today, I will be creating a chart that shows the number of contacts created by date and state (address, not statecode).</description></item><item><title>Better line charts in Dynamics CRM 2011 - part I</title><link>https://alexanderdevelopment.net/post/2013/01/24/better-line-charts-in-dynamics-crm-2011-part-i/</link><pubDate>Thu, 24 Jan 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/01/24/better-line-charts-in-dynamics-crm-2011-part-i/</guid><description>Earlier this week I posted an entry about using FetchXML and JQuery in a Dynamics CRM 2011 web resource. The reason I first started looking at those two together was that I wanted to see if I could generate better looking line charts than are available out of the box (spoiler alert: I did).</description></item><item><title>FetchXML + jQuery in a Dynamics CRM 2011 web resource</title><link>https://alexanderdevelopment.net/post/2013/01/21/fetchxml-jquery-in-a-dynamics-crm-2011-web-resource/</link><pubDate>Mon, 21 Jan 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/01/21/fetchxml-jquery-in-a-dynamics-crm-2011-web-resource/</guid><description>Over the weekend I started looking at a hobby project that involved querying and working with aggregate data from Dynamics CRM 2011 inside a hosted web resource using jQuery. Initially had I planned to use the OData/REST endpoint since that is much sexier than SOAP lately, but after a quick web search I realized that OData doesn&amp;rsquo;t support &amp;ldquo;group by&amp;rdquo; queries, so that left me looking at FetchXML.</description></item><item><title>Dynamically setting field requiredlevel attributes in Dynamics CRM 2011</title><link>https://alexanderdevelopment.net/post/2013/01/16/dynamically-setting-field-requiredlevel-attributes-in-dynamics-crm-2011/</link><pubDate>Wed, 16 Jan 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/01/16/dynamically-setting-field-requiredlevel-attributes-in-dynamics-crm-2011/</guid><description>One of the things I like best about the Dynamics CRM 2011 form object model is that it exposes the requiredlevel attribute for form fields, so you can dynamically set fields as required or not in response to user actions. This is great if you have different types of a single entity and business rules dictate that you must capture different data values for each type.</description></item><item><title>How to unit test C# Dynamics CRM interface code - part III</title><link>https://alexanderdevelopment.net/post/2013/01/13/how-to-unit-test-c-dynamics-crm-interface-code-part-iii/</link><pubDate>Sun, 13 Jan 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/01/13/how-to-unit-test-c-dynamics-crm-interface-code-part-iii/</guid><description>In parts one and two of this series, I gave an introduction to unit testing Dynamics CRM C# interfaces code with mock objects using NUnit and Moq, and I showed code samples for a couple of different scenarios. In this post I will show how to work with CRM metadata (optionset values, statuscode values, etc.</description></item><item><title>How to unit test C# Dynamics CRM interface code - part II</title><link>https://alexanderdevelopment.net/post/2013/01/09/how-to-unit-test-c-dynamics-crm-interface-code-part-ii/</link><pubDate>Wed, 09 Jan 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/01/09/how-to-unit-test-c-dynamics-crm-interface-code-part-ii/</guid><description>Earlier this week I wrote a post that gave an introduction to unit testing Dynamics CRM C# interfaces code with mock objects using NUnit and Moq. The sample code in that post was extremely simple, so I wanted to follow up with a more complex example that shows how to test multiple calls to the CRM web service instead of just a single one.</description></item><item><title>How to unit test C# Dynamics CRM interface code</title><link>https://alexanderdevelopment.net/post/2013/01/06/how-to-unit-test-c-sharp-dynamics-crm-interfaces-code/</link><pubDate>Sun, 06 Jan 2013 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2013/01/06/how-to-unit-test-c-sharp-dynamics-crm-interfaces-code/</guid><description>A while back I wrote a post that gave a high-level overview of some of the tools I had used at a previous job to do unit testing of Dynamics CRM interfaces code, but I didn&amp;rsquo;t get into the why or how. Here is an introduction to unit testing Dynamics CRM code using an automated unit testing framework and a mock object framework.</description></item><item><title>Simple C# class to populate datatable from FetchXML</title><link>https://alexanderdevelopment.net/post/2012/12/29/simple-c-class-to-populate-datatable-from-fetch-xml/</link><pubDate>Sat, 29 Dec 2012 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2012/12/29/simple-c-class-to-populate-datatable-from-fetch-xml/</guid><description>I&amp;rsquo;ve typically preferred to access Dynamics CRM data using SQL queries, so I have never worked much with FetchXML. I&amp;rsquo;ve recently started working on a bit of a hobby project where it makes more sense to populate a datatable from using FetchXML than to use a SQL query, but unfortunately I have encountered three differences between FetchXML and direct SQL that I don&amp;rsquo;t particularly like:</description></item><item><title>Unit testing Microsoft Dynamics CRM code</title><link>https://alexanderdevelopment.net/post/2011/04/01/unit-testing-microsoft-dynamics-crm-code/</link><pubDate>Fri, 01 Apr 2011 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2011/04/01/unit-testing-microsoft-dynamics-crm-code/</guid><description>If you&amp;rsquo;re developing code that runs against Dynamics CRM, you know you should be testing it, right? As a developer first and foremost, I always believed that tests and documentation got in the way of the important - and more fun - stuff, but as I transitioned into a management role with responsibility for my company&amp;rsquo;s Dynamics CRM system, I began to appreciate the value of the less-fun stuff.</description></item><item><title>Dynamically setting field requirement levels in Microsoft Dynamics CRM</title><link>https://alexanderdevelopment.net/post/2011/03/21/dynamically-setting-field-requirement-levels-in-microsoft-dynamics-crm/</link><pubDate>Mon, 21 Mar 2011 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2011/03/21/dynamically-setting-field-requirement-levels-in-microsoft-dynamics-crm/</guid><description>In Dynamics CRM you may have a field you want to be required some of the time, but not required, or maybe not even enabled, the rest of the time. In this post I&amp;rsquo;ll show you how to dynamically enable/disable and set/unset the required attribute of CRM form fields using JavaScript.</description></item><item><title>Activity coding in Dynamics CRM</title><link>https://alexanderdevelopment.net/post/2011/03/15/activity-coding-in-dynamics-crm/</link><pubDate>Tue, 15 Mar 2011 00:00:00 +0000</pubDate><guid>https://alexanderdevelopment.net/post/2011/03/15/activity-coding-in-dynamics-crm/</guid><description>At a previous job, we had used GoldMine (version 6.7 was where we parted ways) as our CRM system before moving to Dynamics CRM. At the time - maybe it&amp;rsquo;s still done this way - GoldMine allowed you to code activities with a hierarchy of references, codes and results. We used reference to separate activities either by department or broad functional grouping (e.</description></item></channel></rss>