BLOG

Free Webinar Friday: Introduction to Dynamics 365 Customer Service Features
In this Friday’s webinar we will discuss using the Customer Service module of Dynamics 365, how it can help you[...]
Free Webinar Friday: Introduction to Dynamics 365 Customizations
  Sorry for the short notice but this Friday's webinar will be covering the how, when, and why of the[...]
Vote for CRM Idea: CRM portals sandbox license
If you didn’t know, Microsoft moved from Connect to the new Ideas portal last year in hopes of soliciting additional[...]
Free Webinar Friday: Using Microsoft Flow with Dynamics 365
This week’s webinar is:   Using Microsoft Flow with Dynamics 365 In this webinar we will introduce you to using[...]
Free Webinar Friday: Dynamics 365 New Feature Overview
This week’s webinar:   Dynamics 365 new feature overviewIn this webinar we will cover some of the new features that[...]
Demo dataset for Microsoft Dynamics 365 for Field Service
If you are interested in the Dynamics 365 Field Service module, and quite honestly, who is not, you may find[...]
Decoding Data Import Errors: The file specifies a list value that does not exist in Microsoft Dynamics CRM
Data import is equal parts science and magic, but leaning heavily towards the magic side. Sometimes the errors you receive[...]
Registration for the Dynamics 365/CRM JavaScript Development Workshop Ends Soon
Hi Everyone, I wanted to remind you that registration for next week’s Dynamics 365/CRM JavaScript Development workshop will end at[...]
Error of the Day: You need a Microsoft Dynamics CRM Online license to continue
I ran into a situation yesterday where a customer was seeing this very scary error message:     This is[...]
Dynamics 365 Learning Path Authoring. Part 1: Getting Started
Yesterday the Microsoft Dynamics 365 Team announced that Learning Path Authoring was now available.  In this article, I’ll walk through[...]
Free Webinar Friday: Dynamics 365–All About Notes
This Friday’s webinar is:   Dynamics 365: All about notesFri, Jan 13, 2017 10:00 AM - 11:00 AM CST  [...]
Dynamics CRM/365 SDK Locations
Many of my training classes mention this list of the various Dynamics CRM SDKs so I thought I would post[...]
Free Webinar Friday’s are Back!
Hi Everyone,   Free Webinar Friday’s are back and here is the schedule for the next few weeks:   Becoming[...]
ALWAYS maintain control of your Dynamics CRM/365 assets
One of my customers learned (hopefully) a very important lesson this week regarding the protection of their Dynamics CRM/365 assets. [...]
Dynamics CRM Deep Dive: Administration is available in the UK and Europe
Hi Everyone, It looks like the replication to the other Amazon markets is complete. Amazon UK Amazon Germany Amazon France[...]
My Dynamics CRM Deep Dive: Administration book is finally published
Hi Everyone, After multiple revisions and proofs, my Dynamics CRM Deep Dive: Administration book is now available for purchase at[...]
Dynamics CRM Error of the Day: Internal error: Server stack limit has been reached
Hi Everyone, Here is a new error condition I thought I’d let you know about. One of my customers purchased[...]
My new favorite SnagIt feature: Removing Cursors
In the haste to get your screens captured, I’m sure we have all grabbed an image only to find that[...]
Dynamics CRM Security: Crossing your I’s and Dotting your T’s
I learned an important lesson, again, for making sure you have all of your facts. This is often referred to,[...]
Two Steps to Becoming a better Dynamics CRM JavaScript Developer
Happy Friday everyone. I get asked all of the time about becoming a Dynamics CRM Developer or becoming a better[...]
Dynamics CRM SDK Version 8.1.0 Release Notes
The Dynamics CRM SDK was updated on 6 May and here is a list of the changes. Apply SLAs to[...]
What’s new for administrators and customizers in Microsoft Dynamics CRM 2016 and CRM Online
I accidentally stumbled across this article today.  Really worth the time and effort to read and a really great summary[...]
First look at the Dynamics CRM Organization Insights Dashboard Preview Feature
Dynamics CRM Online 2016 Update 1 has included a preview feature to allow you to view some collected statistics on[...]
Developing Dynamics CRM Plugins? I could use some feedback
Hey Everyone, I’m finishing up my Deep Dive Plugins book and I am curious about the types of examples you[...]
Bad Design: A tale of De-Architecture and De-Engineering
Every one of us has been guilty, or will be guilty, of creating a bad solution to a problem at[...]
Office 365 Support and Recovery Assistant (SaRA) adds Dynamics CRM diagnostics
  Just in case you missed the announcement, the Office 365 team has adding the Dynamics CRM Outlook Client to[...]
Setting a Dynamics CRM field’s value to Title Case using JavaScript
In a thread on one of the community forms, Debra asked how to properly add some JavaScript she had found[...]
Dynamics CRM Webinars for May from xRM Coaches
  Hi Everyone, This month I will be holding the following webinars: Defining and creating your Sales Process within Dynamics[...]
Repurposing Dynamics CRM Fields. Just Say No!
I was preforming a pre-upgrade cleanup for a customer when I ran into this: As you can see, they took[...]
Is it time for you to hire a Dynamics CRM Coach?
Hi Everyone, Have you ever seen a sports team without a coach? Probably not. Coaches can help guide both the[...]
Update a closed Dynamics CRM Opportunity? Impossible! Yet you can.
Everyone knows that you can’t update a closed record within Dynamics CRM, right?  I mean, everyone knows that. But what[...]
5 Ways that SnapShot! for Dynamics CRM will save your …
SnapShot! for Dynamics CRM is the ultimate documentation tool for your Microsoft Dynamics CRM organization. It produces reports that can[...]
Dynamics CRM JavaScript Learning Plan now available
Happy Friday Everyone, I’ve released a free learning plan for those of you interested in Dynamics CRM JavaScript. It shows[...]
Trainer/Presenter Tip of the Day: Cough Drops
One of the little tricks I learned while conducting webinars, training, or presenting, is to always have cough drops (throat[...]
Now Available: Introduction to JavaScript Training Guide
Happy Friday Everyone, I just released a free Introduction to JavaScript Training Guide for those of you who are looking[...]
Enhancing the GoToWebinar Connection from Thrive Themes
I am in the process of moving all of my websites over to Thrive Themes (which I really love, by[...]
Now Available: Fun with fields, a Dynamics CRM Customization Training Guide
Happy Friday Everyone, I have just released a new training guide for those of you interested in growing your Microsoft[...]
Dynamics CRM SDK 8.0.2 is available
The SDK for Dynamics CRM 2016 has been updated. You may download it here. Release history for SDK Version 8.0.2,[...]
SnagIt Cut Out Options
I use Techsmith’s SnagIt utility every day for just about everything: blog posts, documentation, troubleshooting, etc. One of the features[...]
Unexpected interaction between a Plugin and the Dynamics CRM Social Pane
One of my customers has customized the Appointment and added Appointment Type and a Competitor fields to allow them to[...]
V4.3 of SnapShot! for Dynamics CRM is available
  Version 4.3 of SnapShot! for Dynamics CRM is available and you may read more about it here: http://www.crmaccelerators.net/SnapShot Most[...]
A trip down .NET Application upgrade lane
All of my Dynamics CRM-related utilities have, until this point, been built and maintained with Visual Studio 2010, which is[...]
A journey of a thousand miles starts with a single step–and a Blog Post
Hi Everyone, I started this blog in December of 2005. Ten years and 1,069 blog posts later, I thought it[...]
CRM 2016 – Online vs on-premises features FAQ
More greatness from our Dynamics CRM documentation team.  Thanks Amy! https://www.microsoft.com/en-us/dynamics/crm-customer-center/crm-2016-online-vs-on-premises-features-faq.aspx[...]
What exactly is a minimum viable product (MVP)?
Earlier this month I gave a talk to several groups of 8th graders at a middle school where a friend[...]
Current list of Dynamics CRM Online regions
As of January 2016, here is a list of the current Dynamics CRM Online regions: North America (crm) South America[...]
Why do you not blog: A Challenge
Everyone should have a blog, as I have stated many times in webinars or in conference presentations.  Everyone has unique[...]
Readonly Fields and The Dynamics CRM Workflow Editor
I ran across an issue this week creating a workflow for an entity that had fields set to read-only. If[...]
MVP Renewed
I got MVP renewal package today: Now just waiting on my 10 year disk! Still one of the greatest honors[...]
Transformer! 3.0 is available. Convert your CRM 4.0 JavaScript to 2011+ in minutes
Version 3.0 of Transformer! for Dynamics CRM is now available. The main addition to this version is the ability to[...]
More Azure ADAL error handling
Back in October I published a post titled: How to capture moble login errors with Azure ADAL. Here is an[...]
Dynamics CRM Code Snippet: Get Maximum Attachment Size Limit
If you are ever working with any code that needs to upload attachments to Dynamics CRM, you may run into[...]
Dynamics CRM 2015: Invalid Argument error encountered while merging records
This morning one of my customers ran into this error while merging two Accounts: Not very descriptive and since the[...]
Dynamics CRM Developer Tip O’ the Day: Does the user have a security role?
Occasionally, when working with .NET and the Dynamics CRM SDK, you’ll find a need to see if the current user[...]
v4.0 of SnapShot! for Dynamics CRM is available
Hi Everyone, Version 4.0 of SnapShot! is now live.  This is the most major update I’ve made in quite a[...]
Notes from the Field: Working with Dynamics CRM Dialogs
Here are a few notes I’ve collected while working with a Dynamics CRM project involving dialog processes: Required Fields There[...]
How to capture moble login errors with Azure ADAL
If you are creating a mobile application that uses the Azure Active Directory Access Library (ADAL) component, you will need[...]
Elements of Great Design: Fractureme.com
Every now and then, I run into someone who is really thinking out of the box so this week’s “Hats[...]
Dynamics CRM JavaScript: Ensure the current record is Saved before opening a new record
In yesterday’s post, Tracing the Dynamics CRM Form Data save Operation, I discussed identifying data that would be sent to[...]
Tracing the Dynamics CRM Form Data save Operation
I ran into an interesting issue this week where I was opening up a new Opportunity Entity form from the[...]
How about an upgrading Dynamics CRM webinar?
Hi Everyone, I have added a new poll to my site to gauge interest in a webinar that walks you[...]
Dynamics CRM JavaScript: Working with Tabs and Sections-The right way
Back in March I wrote the following article: Dynamics CRM Developer Tip O’ the Day: Working with Tabs. Today I[...]
Help! I can’t create quotes!
[Dynamics CRM 2013] One of my customers emailed in a panic (rightfully so), because they could not create a Quote[...]
Source code recovery tip: Was this written in c# or VB.NET?
Every now and again I run into the unfortunate circumstance where someone has lost the source code to a Dynamics[...]
Xamarin Dev Days: Dallas
We had a huge turnout today in Dallas for Xamarin Dev Days. Here we have @JamesMontemagno and @shawnweisfeld performing an[...]
Dynamics CRM Upgrade Blocker: Orphan Plugin Step Image records
Last week I was working with another Microsoft partner who was upgrading a customer’s Dynamics CRM from 2011 to 2015[...]
I just can’t brainstorm without a whiteboard
I’m at the office today working on some new business initiatives mainly because I have two huge whiteboards in my[...]
Manually Repairing a Sitemap. Part 1
As I mentioned a couple of week ago, my upgrade from CRM 2013 to CRM 2015 did not go well.[...]
SnapShot! 3.7 for Dynamics CRM is Available
My Dynamics CRM documentation tool, SnapShot!, version 3.7 is now available. This version includes the following enhancements and corrections: Compatibility[...]
Final eminder: Turn your .NET Developer into a Dynamics CRM Developer Class
Just a reminder but registration ends on Thursday at Noon (CDT) so be sure to register before then. Turn your[...]
Working on your personal brand
This Spring I was teaching a Dynamics CRM course at Minnesota State University Moorhead and we got into a discussion[...]
Announcing my Mentoring Program
Hi Everyone, I decided to formalize my mentoring program to hopefully open the door to more organizations. This is a[...]
Solution: Cannot load shared project in Windows Universal app after upgrading to Azure SDK 2.6
If you had any Visual Studio projects using the Shared Project model, you probably noticed that the installation of the[...]
Discovering Great Moments in UX Design
Every now and then, you run across something that is truly amazing. This happened to me today as I was[...]
Using the Xamarin Forms InputTransparent Property
The Xamarin.Forms.VisualElement class has a property called InputTransparent, that: Gets or sets a value indicating whether this element should be[...]
Webinar Campaigns with Click Dimensions
I have been doing a lot of webinars lately through my Teaching Tuesdays program and in doing so, I am[...]
New Xamarin.Forms Control: WaitingPage
Last week I got into a conversation with Christine Blanda on the Xamarin Forms forum about creating a page that[...]
Dynamics CRM 2015 Spring: Delete Plug-in Trace Log Records
So I am digging around the Dynamics CRM 2015 Spring Update, as I am apt to do, when I ran[...]
Query an NTP server for the current internet time using Xamarin Forms
There were a couple of threads (here, and here) this week regarding querying an Internet-based time server using Xamarin forms.[...]
working with the ListView.GroupHeaderTemplate
One of my current projects makes used of ListView Grouping and for quite some period of time, I could not[...]
Dynamics CRM 2015 Spring: Older than ‘X’ Query Conditions
Yay Team!  Here is a bright and shiny bit of newness that has been added to the Date field condition[...]
Beacon Idea #7: Where did they go?
Xamarin is holding contest to get ideas of how beacons (iBeacons) can be used to context-aware mobile applications. I have[...]
Beacon Idea #6: Your bag has arrived
Xamarin is holding contest to get ideas of how beacons (iBeacons) can be used to context-aware mobile applications. I have[...]
Beacon Idea #5: Retail, Analysis, and Dynamics CRM
So if you have been reading my blog frequently over the past few months you will notice that I have[...]
Taking screen shots of a mobile application
There was a really great thread on the Xamarin Forms forum yesterday regarding taking screen shots of your mobile application.[...]
Beacon Idea #4: Restaurant Check-in and Loyalty Program
Xamarin is holding contest to get ideas of how beacons (iBeacons) can be used to context-aware mobile applications. I have[...]
Beacon Idea #3: Find my friends
Xamarin is holding contest to get ideas of how beacons (iBeacons) can be used to context-aware mobile applications. I have[...]
Beacon idea #2: Don’t touch my beer
Xamarin is holding contest to get ideas of how beacons (iBeacons) can be used to context-aware mobile applications. I have[...]
Beacon Idea #1: Did I take out the trash
Xamarin is holding contest to get ideas of how beacons (iBeacons) can be used to context-aware mobile applications. I have[...]
Dynamics CRM Developer Tip O’ the Day: Working with Tabs
I learned an important lesson yesterday, again, on working with tabs with Dynamics CRM forms. There are several ways to[...]
Dynamics CRM 2015 Spring: Plugin Trace Log
Yay! Finally, the good folks on the Dynamics CRM team have added the ability to log errors that occur in[...]
Dynamics CRM 2015 Spring: New Forms Engine
The Spring Release of Dynamics CRM 2015 includes a new forms engine. You may have seen reference to this feature[...]
Convergence Wrap-Up
This year’s Convergence conference in Atlanta was a blast.  Lots of new announcements for both the Dynamics product line as[...]
Azure March Announcement
Microsoft just keeps releasing new stuff: Join the virtual event to watch as Scott Guthrie announces an exciting new Microsoft[...]
Xamarin.Forms: Solving the mystery of Grid.Children.Add(left,right,top,bottom)
The Xamarin.Forms Grid layout has three methods for adding Child views to the grid. Two of them allow you to[...]
Bulk-Editing Marketing List Members
Like many people, I used marketing lists extensively to track different groups of people that I work with. Today I[...]
Click Dimensions Email Sends: Don’t Panic
Just a reminder, but when you are using the Email Send functionality of Click Dimensions, the sending is not always[...]
Remove Old Click Dimensions System Jobs
Click Dimensions uses a variety of workflows to accomplish tasks behind the scenes and depending on your usage, you can[...]
Correcting Filtered Views and an Inaccurate “First ten” list
I ran into a situation at one of my customers while performing an upgrade from Dynamics CRM 2011 to 2015.[...]
System-Wide Alerts in Dynamics CRM 2015
Dynamics CRM 2015 implemented a new system-wide alerts to inform you of issues with things like the Server-side Sync process.[...]
Dynamics CRM Environment Diagnostics.
When you install Dynamics CRM (on-premise) or import an existing organization database, it performs a series of environmental checks to[...]
21 Squared: CRM Administration (On-Premise) is now live
After 123 pages and 19,073 words (according to Microsoft Word, anyway), the 21 Squared: CRM Administration (On-Premise) self-paced course is[...]
Click Dimensions QwikTip: Posted Forms-How many of what?
I use Marketing Lists as my primary driver for my communications efforts and most of my marketing efforts, whether it[...]
Visual Studio: Where did my macros go
  So I have this open-source project that I created a couple of years ago that helps the Dynamics CRM[...]
CRM JavaScript Conversion Strategies Summary
Over on my main company site, CRM Accelerators, I have concluded a series on strategies related to converting your JavaScript[...]
Dynamics CRM 2015 Implementation Guide 7.0.1 (January 2015)
There is an update to the Implementation Guide available on Technet: https://technet.microsoft.com/en-us/library/hh699811.aspx At this point, this information is not available[...]
The often overlooked Xamarin.forms scale property
Sometimes it is the simplest things that make me happy.  I was digging through some Xamarin.Forms code on Github when[...]
Click Dimensions QwikTip: Create a standard blank email template
I have found it very convenient to have a standard email template to use as a basis for sending out[...]
Dynamics CRM: The error is not always what you see
One of my customers has had an issue with their CRM system since I upgraded them from Dynamics CRM 4.0[...]
Finding all activities for a particular entity type
I am in the process of migrating one of my customers from Dynamics CRM 2011 to Dynamics CRM 2015. While[...]
Recommendation: Aspose Words and Cells
Several of my tools generate Microsoft Excel and Word documents as part of their output and for the longest time,[...]
Developing applications for multiple versions of Dynamics CRM
As most of you know, I have a several add-on products for Dynamics CRM developers, administrators, and consultants. They all[...]
Dynamics CRM 2013 and 2015 Installation Notes: SSRS
I ran into a couple of things while performing a fresh on-premise installations of Dynamics CRM 2013 and 2015 that[...]
Extended Color Palette for Xamarin.Forms
Way back in 2006 I write an article, Cascading Style Sheet Color chart, with a link to a site that[...]
Microsoft Windows Tip of the Day: Copy a Dialog Box Text
I find it very helpful to have a textual copy of error reports found in dialogs such as the one[...]
Dynamics CRM files do not open in Excel 2013 as expected
[via Susan Bradley] The Excel team blog has an interesting article regarding Excel files generated by Dynamics CRM.   Example[...]
Reviewing the Dynamics CRM 2013 LegacyFeatureCheck Logs
Here is the detail of that error: Some plug-ins or custom workflow activities in your system appear to be using[...]
Microsoft Dynamics CRM is becoming more social
The Dynamics CRM team has added YouTube and a Facebook app to their growing list of social and community sites.[...]
Announcing Twenty-One Squared: Self-Study Training for Dynamics CRM
  Twenty-One Lessons in Twenty-One Days I have conducted a lot of training over the past two years but found[...]
Announcing Twenty-One Squared: Self-Study Training for Dynamics CRM
  Twenty-One Lessons in Twenty-One Days   I have conducted a lot of training over the past two years but[...]
Using the Xamarin.Forms 1.3.0 ListView.ScrollTo Method
Xamarin.Forms v1.3.0 has a really great addition which allows us to scroll to a specific location within a ListView. ScrollTo[...]
Troubleshooting Dynamics CRM: The Mother of all call stacks
So one of my customers ran into this issue while opening an Opportunity.  As you can see, a custom plugin[...]
XRM Toolbox Updates
The XRM Toolbox for Dynamics CRM is a collection of utilities for Dynamics CRM developers and administrators, written by fellow[...]
Creating a semi-transparent background with Xamarin.Forms
I picked up a really cool tip from Rui Marinho and @DhirendraKumar in answer to a forum post last month.[...]
GotoMyPC as a Mobile Developer Productivity Tool
Like most Xamarin developers I have a Mac setting on my desk.  Unfortunately I do not find myself to be[...]
New tool for Dynamics CRM Developers: CRM REST Builder
Fellow MVP Jason Lattimer (@JLattimer) has released a really cool tool for us Dynamics CRM JavaScript developers: CRM Rest Builder[...]
“Object reference not set to an instance of an object” error occurs when configuring the Microsoft Dynamics CRM for Outlook client
Here is an interesting issue related to Dynamics CRM 2013 and the Outlook client. http://support2.microsoft.com/kb/2986728[...]
The importance of correct time when working with Dynamics CRM
Time is a funny thing.  Invented by scientists to keep everything from happening at once, and the thing that drives[...]
Updating Xamarin.Forms using Nuget when Resharper is installed
Nuget is the direction that may developers, including Xamarin, are moving as far as pushing components into solutions written using[...]
Setting a Section Label based on a Field Value
I was adding some “fancy” to a Contact form today that I thought I would share with you: [wpgist id="38d9fb0f91118186f96e"][...]
Event Follow-up using Click Dimensions Event Registration Data
In our previous article, Click Dimensions: Use webinar data to create marketing lists, we discussed how to create marketing lists[...]
Click Dimensions Survey Tip of the Day: Email Field
Surveys are a great feature of Click Dimensions because it allows you to collect information directly from a person, then[...]
Monitor Queue Routing Rule Workflows
We ran into a fascinating issue when creating Routing Rule recently. Here is the rule: This is fairly straightforward, but[...]
Microsoft System Center Management Pack for Dynamics CRM 2013
SCOM Pack for Dynamics CRM 2013 is out. The views, monitors, rules, and knowledge specific to Microsoft Dynamics CRM 2013[...]
Click Dimensions: Use webinar data to create marketing lists
One of the things that I really love about the integration between GoTo Webinar and Click Dimensions is the ability[...]
Do not allow bulk email. Good or Bad?
If you have any of the marketing solutions that integrate with Dynamics CRM, like Click Dimensions, Silverpop, or PowerMailChimp,(to name[...]
Enable the Contact Field: Do Not Allow Bulk Email to be used in Advanced Find
It turns out that the Searchable proper on the Contact field Do not allow bulk emails defaults to No, as[...]
CRM Code Snippet of the Day: IsTeamMember
Here is a small method to help you determine if a User is a member of a specified Team: [wpgist[...]
Email Router configuration error – “Incoming Status Failure: No results were found”
This turned out to be a very valuable article. Error:  Email Router configuration error "Incoming Status Failure: No results were[...]
Integer-Based Extended Slider for Xamarin.Forms
I was trolling the Xamarin.Forms forum when I saw this question: Can you limit a Slider to only allow integer[...]
My Non-Entry for this year’s Xamarin Xammy Awards
So I am coming out of stealth-mode to announce what I think we all can agree is a “game changing[...]
Enhancing the ClickDimensions Forms CAPTCHA Control
I accidentally figured out a great way to enhance the CAPTCHA control used on ClickDimensions forms to prevent auto-bots from[...]
Monitoring Prospects and their Email Preferences
Microsoft Dynamics CRM has two settings that determine how email is delivered to a Lead, Contact, or Account: Do Not[...]
Searching for Contacts with the Do Not Bulk Email Flag Set
Ok, this is actually a trick, because you can’t.  The attribute on this field that allows it to be searched[...]
Refreshing your development or QA environment with production data
In a multi-server environment (Development, QA/Staging/Testing, Production), you occasionally run into an issue where you need to have the latest[...]
Adding the Addresses navigation link back to the Contact form
I ran into a facinating issue last week. It turns out that the new form for Contact doesn’t have a[...]
Migrating .NET code from Dynamics CRM 4.0 to 201x
Hi Everyone, Since I think a lot of people never get around to searching the archives, I thought I’d mention[...]
Dynamics CRM SDK Nugget: TopCount
I still occasionally run into hidden greatness inside of the Dynamics CRM SDK.  Last week I found a great addition[...]
Creating a drawing app using Xamarin.Forms
So Xamarin released an update (v3) last week and it is truly a huge step forward for mobile developers.  So[...]
Updating the Android SDK with Visual Studio 2013 and Xamarin 3
I had a few minutes this morning before one of my classes and thought I’d start working with the new[...]
Important information about supported configurations in the next release for CRM
The CRM team just released the new supported configuration information for the next release of CRM: http://blogs.msdn.com/b/crm/archive/2014/05/14/important-information-about-supported-configurations-in-the-next-major-release-for-crm.aspx[...]
Workflow ownership and disabled users
I and into a situation this week that I have never encountered.  Some of my workflows were in a waiting[...]
Have you signed up for KnowledgeBit delivery yet?
Hi Everyone, KnowledgeBits, my new free information-delivery service, is almost fully populated and will finish going live this week.  The[...]
Correcting Email Router issues after transitioning CRM Online to Office 365
I had one of my CRM Online organizations transition to the O365 platform a couple of weekends ago.  Not exactly[...]
Dynamics CRM, PowerShell, and Async Operations
Have you used the Dynamics CRM PowerShell commandlets to automate any of your deployment tasks?  If not, then you should. [...]
The quickest way to get the ID of the current CRM User with .NET
In case you have ever wondered or needed to know, here is how you get the ID of the current[...]
How to find what does not exist
Using a static Marketing List to identify records where a specific criteria does not exist Today we have a guest[...]
Correcting iOS Deployment Failures with Xamarin Visual Studio Plugin
So picture this: I am trying to get my very own C# t-shirt by compiling the Xamarin Store App using[...]
Plug-ins and Entity Reference fields. Things You Should Know.
Every now and then I run into an issue that I should have already known about.  Either that, or I[...]
PowerShell and Dynamics CRM Administration
If you are doing any work at all with Dynamics CRM 2011 or 2013 you need to become a friend[...]
Random SSRS Troubleshooting Notes
Notes to myself on troubleshooting issues with SSRS. Error: Report render failure. Error: An error has occurred during report processing.[...]
Announcing KnowledgeBits
Hi Everyone, I am created a new information-delivery service on all of my web sites called KnowledgeBits.  These are tips[...]
Transformer!, the ultimate JavaScript conversion tool has been updated
Hi Everyone, I have just released version 2.6 of my JavaScript conversion tool: Transformer! for Dynamics CRM. You may read[...]
Searching for Emails to a specific person
I ran across something yesterday that I can honestly say I have never had to do within Dynamics CRM: Show[...]
Interesting Dynamics CRM 2011 Bug: Attachments do not get deleted
I verified a strange bug related to attachments and the deleting of the parent record chain. If you delete an[...]
The Email Router and Microsoft.Crm.Tools.EmailAgent.SystemState.xml file
Occasionally, and for reasons that are unclear, the CRM Email Router file  Microsoft.Crm.Tools.EmailAgent.SystemState.xml gets corrupted which causes the Email Router[...]
Online2 is available for Microsoft Dynamics CRM Online
It seems Microsoft has started rolling out an update to CRM 2013 Online called, “Online2.’ Here is a link to[...]
Handy Help Links for Dynamics CRM 2013
I just received a great link to a information page from one of the Microsoft folks: Check Out These Handy[...]
How much space are my Attachments using, part deux
In the first article we discussed using SQL to determine the size of the Attachments in the database. My friend[...]
CRM SDK Nugget: Metadata Browser
Way back when, like in version 3.0 and 4.0, Dynamics CRM had a hidden page that would display a list[...]
CRM 2013: Modifying Administration Navigation
While we’ve already discussed using the Quick View Menu to help with Dynamics CRM 2013 navigation, I thought I’d take[...]
Easing Dynamics CRM 2013 Navigation Troubles
If you have upgraded to Dynamics CRM 2013 you have probably noticed that the navigation has changed quite substantially. This[...]
Updated: How much space are my Attachments using? (OnPremise)
I was digging through a customer’s CRM database today to determine where all of the space had gone and thought[...]
Renewing a Contract Error: The state of end date is not valid
One of my customers occasionally runs into the following error when attempting to renew a contract: This is a very[...]
CRM Rocks Podcast Interview
Markus Erlandsson of the CRM Rocks podcast interviewed me recently to discuss JavaScript development with Dynamics CRM.  The show is[...]
Fascinating Solution to Dynamics CRM 2013 Navigation Issues
My friend Rhett has created an excellent menu alternative should the current Dynamics CRM 2013 navigation. http://bingsoft.wordpress.com/2013/12/17/crm-2013-quick-view-menu/ Check it out.[...]
Dynamics CRM Deep Dive: Security, Second Edition is Coming Soon
Hi Everyone, I am working on the second edition of my Dynamics CRM Deep Dive: Security book to add more[...]
New Upgrade Tool Released: Kill Plugin
There are occasions which some of us may experience during or shortly after the upgrade of a Dynamics CRM 4.0[...]
Error: Proxy type with the name account has been defined by another assembly
I am a big fan of the Simplified Connection technology added by the Xrm.Client assembly and use it almost exclusively.[...]
Date.js and Dynamics CRM 2011
In a word: NO. I recently added the JavaScript date library Date.js to an installation to get some date calculation[...]
Upgrades: Contracts and Contract Detail Records
Contracts within Dynamics CRM can sometimes be a little peculiar to work with.  Case in point: You must have at[...]
Retrieving the OptionSet Label using JavaScript
I was adding some custom JavaScript to a customer's Opportunity Entity when I, again, learned the importance of not over-thinking[...]
Contracts, Renewals, and Plugins
I ran into an interesting issue today during a CRM 4.0 upgrade to 2011. We have a plugin that automatically[...]
Working with Queues
I was working on some queues at a customer last week when I discovered a design issue that I needed[...]
Associating Marketing Lists and Campaigns
I ran across an unusual SDK topic last week that I thought I would share. I need to associate a[...]
.NET Upgrade: Interesting Workflow Activity Upgrade Issue
I ran into an interesting issue today upgrading a custom workflow activity.  I received this error: <OrganizationServiceFault xmlns="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">  [...]
New Open-Source Project: .NET Code Migrator for Dynamics CRM
I have been doing a lot of CRM upgrades lately and one of the side-effects of this process is a[...]
JavaScript Upgrade Strategies webinar follow-up
The recording today's webinar is now up: http://www.xrmvirtual.com/events/javascript_upgrade_crm2011_Mitch_Milam Here are the main talking points from today's meeting: Strategies: Here are[...]
Don’t throw away your CRM 4.0 SDK just yet
So we're two and a half years into the realm of CRM 2011 with the next version, code-named Orion, just[...]
Tip o’ the Day: Working with Queues
At times, it can be difficult to manage queues, if you have a large number of users because the normal[...]
ALM for Microsoft Dynamics CRM 2011: CRM Solution Lifecycle Management
As Microsoft Dynamics CRM continues pushing towards the enterprise space, it becomes increasingly important to support the requirements of the[...]
CRM Developer Tip o’ the Day: Working with PartyLists
I ran into an issue in a plugin this week where I needed to decode the To and From fields[...]
CRM Upgrade Note: Check your URL References
I ran into an unexpected situation during an upgrade that quite honestly, left me a bit baffled. It seems a[...]
Contacting Your Customer: The Good and The Bad
I wanted to show you two examples of contact with a customer. In my opinion, one is good, and one[...]
Dynamics CRM development and the new auto-save feature
The Dynamics CRM 2011 December 2012 service update (otherwise code-named Polaris) gave us the new Flow-UI forms. These forms include[...]
Worst-Ever Mobile Login Design Experience
This has to be the worst design of any mobile application that I use:   Do you see the big[...]
CRM SDK Nugget: Entity.ToEntityReference Method
Here is another cool Entity extension method that I keep forgetting to use: Entity.ToEntityReference. Normally, when creating a reference to[...]
Heads up: Get ready to upgrade your CRM 4.0 .Net code
There has been a some coverage of the upcoming version of the next version of Dynamics CRM, currently code-named Orion,[...]
Visual Studio Tip O’ the Day: Delete your test results
You may not realize it, but Visual Studio keeps the runs of your unit tests for a long time, if[...]
Dynamics CRM Topics of Interest (April 19th)
I thought I'd share a few things of interest in the Dynamics CRM world that I've seen in the past[...]
CRM SDK Nugget: Entity.FormattedValues Property
When working with the Dynamics CRM SDK, I think we may all overlook a very handy property that can save[...]
Here’s a Shout-Out to the Dynamics CRM SDK Team
I don't think enough Dynamics CRM developers understand the amount of time and effort that the SDK team has put[...]
Using Multi-tenancy in Microsoft Dynamics CRM 2011 to Address Challenges in Enterprise Business Environments
The CRM Engineering for the Enterprise has released a new white paper.   You may download it here: http://www.microsoft.com/en-us/download/details.aspx?id=36056  [...]
Extracting Localized Yes/No Values from Dynamics CRM
As I am working on an update of my SnapShot! documentation tool, I realized that most people understand the values[...]
Dynamics CRM Security is not always about Roles
Occasionally, I find myself wasting time because I didn't check all of my facts. I ran into an issue today[...]
CRM Online and a Locked Windows Live ID Account
Symptom Your Windows Live ID becomes locked or disabled by the system because the account has 100,000+ failed login attempts.[...]
More Resources for Dynamics CRM Developers
Marc Schweigert of Microsoft has released more goodness for Dynamics CRM Developers. His latest is this: Unit testing CRM 2011[...]
CRM Online and the Organization Unique Name
Each CRM organization has two names associated with it: The Friendly Name This is the name that is displayed in[...]
SnapShot! for Dynamics CRM Released
The ultimate documentation tool for Dynamics CRM 2011 extracts and consolidates the following components: System Settings Entities Fields Relationships Views[...]
SnapShot! for Dynamics CRM Released
The ultimate documentation tool for Dynamics CRM 2011 extracts and consolidates the following components: System Settings Entities Fields Relationships Views[...]
New CRM documentation tool to be released this week
Hi Everyone, Sometime this week I'll be releasing SnapShot! for Dynamics CRM 2011. Overview I work with organizations all of[...]
CRM Development Troubleshooting Quick Tip
There may be times when developing custom Dynamics CRM components that errors occur which may or may not involve your[...]
CRM Metadata, upgrades, and strangeness
Occasionally you run into very strange issues retrieving metadata from a Dynamics CRM organization that has been through an upgrade[...]
Reading PDF form fields using iTextSharp
Here's a quick bit of code to help you extract data from a PDF with form fields: Open the PDF:[...]
Present from the Book Fairy: The CRM Field Guide
I got my author's copies of The CRM Field Guide today:     Find out more at http://crmfieldguide.com[...]
CRM Data Explorer Released
Version 3 of my CRM Data Explorer, formerly called the CRM Data Validation tool, is now live. Have you ever[...]
The CRM Field Guide Released
If you have not heard by now, a group of CRM MVPs collaborated on a book we're calling the CRM[...]
JavaScripting with Dynamics CRM 2011 Deep Dive workshop registration is open
I am holding the first-ever JavaScripting with Dynamics CRM 2011 Deep Dive workshop. This workshop is going to be a[...]
Book Review: Bootstrapping Design
And now for something a little different. If you are working with any type of media that presents information to[...]
JavaScript Conversion Discussions Webinar Follow-up
I've uploaded the recording and supporting materials from last week's webinar to my CRM Accelerators site: JavaScript Conversion Discussions Webinar[...]
Dynamics Deep Dive: Security now available directly from Amazon.com Kindle Store
You can now purchase the Kindle edition of Dynamics Deep Dive: Security directly from Amazon.com or the Kindle Store.[...]
Exception handling in Custom workflow activities
Handling exceptions is an important part of any development effort. In the past few months, I've run across several instances[...]
Adding People to Marketing Lists
I was verifying some data in one of my CRM Online instances when I noticed something about Marketing Lists that[...]
Dynamics CRM Deep Dive: Security available in Apple iBookstore
My Dynamics CRM Deep Dive: Security book is now in available in the Apple iBookstore. Here is the link. You[...]
OpenXML: Deleting a worksheet from a workbook
Working with OpenXML can be quite challenging a times. While working on an update to my CRM Migration Assistant, I[...]
Formatting JSON Responses
I was debugging a CRM 2011 LINQ query today and needed to view the debug information, which is in JavaScript[...]
CRM SDK Nugget: Create Solutions That Support Multiple Languages
I my class last week we were discussing customizing CRM and the need to translate custom text and option set[...]
Dynamics CRM Deep Dive: Security book now available directly from Amazon.com Europe
Hi Everyone, Amazon.com has expanded their distribution channels in Europe so you may now purchase my book from the following[...]
JavaScript Libraries and Form Events
[note to myself] Removing a JavaScript library from a form will cause all events that reference that library to be[...]
Defaulting Advanced Find to always show details
I was teaching a webinar on Thursday and I told the students about a personal options setting that will save[...]
Microsoft Dynamics Most Influential People Top 100
The 2012Microsoft Dynamics Most Influential People Top 100 list is out. And wow!  I made the list this year and[...]
Creating an E-mail-Enabled Entity
One of the new features Microsoft included in Dynamics CRM 2011 is the ability to create entities which are e-mail[...]
Issues Exporting View Data to Microsoft Excel
Occasionally I see issues when I am trying to export data from a Dynamics CRM 2011 view to Microsoft Excel.[...]
Great Article: 14 Lessons From Benjamin Franklin About Getting What You Want In Life
This is a great article regarding Ben Franklin's thoughts and practices on how to get things done.[...]
Book Excerpt: Auditing Metadata Changes
I thought I'd pull out a small section of my Dynamics CRM Deep Dive: Security book and discuss metadata changes.[...]
4.0-2011 Upgrades and Security Roles
I ran into a very interesting issue last week involving a CRM 4.0 organization that was upgraded to CRM 2011.[...]
Manually hiding the CRM 2011 Ribbon
Some may call me Captain Obvious, but sometimes it is the obvious that passes us by. As is today's Dynamics[...]
Manually hiding the CRM 2011 Ribbon
Some may call me Captain Obvious, but sometimes it is the obvious that passes us by. As is today's Dynamics[...]
Free Utility Updated: Export Web Resources
This week, while working on a migration from CRM 4.0 to 2011, I discovered a need to back up my[...]
CRM 2011 SDK Nugget: Images
If you've ever explored the CRM SDK folder system, then you have probably noticed it includes various unexpected goodies, which[...]
Recalculate Opportunity and the Page Life Cycle
If you have ever worked with the Dynamics CRM Opportunity, you know that it contains a function to recalculate the[...]
REVISED: Retrieve all of the field names in a Tab
Revised 4/16/2012: Added checks for control type to prevent exceptions.   I ran into a need to build a list[...]
Worse CRM-Related JavaScript Ever
I see a lot of 'interesting' JavaScript working with CRM installations that have been in operation for more than a[...]
Looking for CRM 4.0 JavaScript samples
I have an update to my JavaScript conversion tool, CRM Migration Assistant, coming out this week and I am looking[...]
Dynamics CRM Deep Dive: Security eBooks available
I just finished the conversion of my Dynamics CRM Deep Dive: Security book to eBook format. In 2-3 weeks, they[...]
Dynamics CRM 2011 Quick-Tip: Double-clicking e-mail addresses
I didn't actually realize it until this week, but if you double-click on an email address field within Dynamics CRM[...]
Users with no assigned security roles
If you open Dynamics CRM 2011 as an administrator you may one day find the following notification: As the message[...]
Dynamics CRM Deep Dive: Security book now available in paper format
The paper version of my new book is now available at my Amazon store. Visit the book page for more[...]
Book Release: Dynamics Deep Dive Security
Today I am releasing the first in a series of Deep Dive books related to all things Dynamics CRM: The[...]
Set the field’s default date and time using JavaScript
Sometimes I get a requirement to set the initial value for a DateTime field, such as the Due Date of[...]
Free Plugin Configuration Solution Released
I updated my Plugin Configuration solution to work as a real solution within Dynamics CRM 2011. You will find it[...]
CRM Export JavaScript Updated
I updated the utility exports to disk the JavaScript found in a solution in Dynamics CRM 2011. To read more[...]
CRM Find Privilege Utility Updated
I've corrected some issues I found with the utility that allows you to look up User and Privilege information by[...]
Dynamics CRM News: CRM Anywhere
Dennis Michalis, Microsoft Dynamics General Manager, released the roadmap for the upcoming Q2 2012 release of Dynamics CRM 2011, which[...]
Virtual Machine Tip ‘o the Day: Removing Integration Services
If you ever need to move a virtual machine from Virtual PC to Virtual Server, you need to uninstall the[...]
Training, Training, Training
Earlier in the month I participated in an MVP Roundtable with the xRMVirtual Users Group where I discussed the importance[...]
CRM 2011 Cross-Browser Support Poll
HI Everyone, If you have not heard, Dynamics CRM 2011 will very shortly support browsers other than Internet Explorer. I[...]
Sandboxed Plugin Development: HtmlDecode Tidbit
When working with things like Email, it is sometimes necessary to decode a string of text that has been HTML-encoded.[...]
Converting to CRM 2011 JavaScript: Form Elements
One of the most fascinating things I found during the creation of the CRM Migration Assistant is the different methods[...]
Debugging Sandboxed Plugins
I learned some interesting things about working with Sandboxed plugins last week that I thought I'd share. Attaching to Processes[...]
CRM 4.0: Moving customizations between organizations
One of the things that gets CRM 4.0 developers into trouble is moving customizations between organizations. Here is a tip[...]
CRM SDK Deep Dive: Error Codes
As I was reviewing notes from the recently released CRM SDK 5.0.9, I noticed a section on Error Codes.  "This[...]
CRM SDK Deep Dive: Plugin Messages Support
If you are developing a plugin, sooner or later you will need to do something in a plugin that requires[...]
CRM Online Organization Unique Name
A CRM Organization's unique name is the name of the organization as it referred to internally. For example, it's the[...]
Update Rollup 6 for Microsoft Dynamics CRM 2011 Released
You can download it here. For more information about this release, see Microsoft Knowledge Base article 2600640: Update Rollup 6[...]
Changing the Lead Qualification Status Values
The Lead Entity within Microsoft Dynamics CRM 2011 is used to track your relationship with prospective customers. At some point[...]
Monotouch Day 3: To Universal App or not to Universal App?
That is the question. A Universal App is one that will work on both the iPhone/iTouch and the iPad. One[...]
Getting Started with CRM Mobile Express
In case you didn't know, Dynamics CRM 2011 has a basic mobile web site built into the product. You access[...]
Monotouch Day 2: Images and Icons
As I'm working through the tutorials and other documentation I realize that you're going to need quite a few icons[...]
Microsoft Security Bulletin MS11-100 and Dynamics CRM
Vulnerabilities in .NET Framework Could Allow Elevation of Privilege (2638420) Microsoft has release a fix for a security vulnerability identified[...]
Monotouch Day 1: Getting Started
Boy oh boy, talk about a learning curve. It is not rocket science by any means, but learning how the[...]
Multi-Column Sorting Views in Dynamics CRM 2011
Views within Microsoft Dynamics CRM 2011, by default, support up to two pre-defined sortable columns, which are selected when the[...]
21 Days of Monotouch
I have been attempting to carve out time in my schedule to work with Xamarin's Monotouch framework for developing applications[...]
Ribbons and Entities
When customizing the ribbon of an Entity, it is important to note that the ribbon is part of the Entity[...]
Developer Tip ‘o the Day: Solutions and the SiteMap
This week I learned, again, the importance of including the SiteMap in a custom solution. If you do not add[...]
Developer Tip ‘o the Day: Ribbons and Web Resources
You can customize the CRM 2011 Ribbon to add additional functionality via buttons, for example. When you add such a[...]
Refreshing a CRM View
In case you didn't know, there is a refresh button built into the display of each and every View within[...]
Default Minimum Value for Currency Fields
I just realized that unlike other number fields, the default minimum value for the currency field type is 0: While[...]
Help get your Dynamics CRM Case Solved Faster using Diagnostics
Dana Martens of Microsoft posted an article on the CRM Team Blog about some tools and techniques that will help[...]
Two Options (bit) Fields and the OnChange Event
I noticed something rather interesting regarding the way CRM 2011 handles the OnChange event for a Two Option ( or[...]
What is inside a CRM 2011 Solution file anyway?
Dynamics CRM 2011 introduced us to Solutions, which are self-contained packages of components, customize CRM 2011 to add specific features[...]
Dynamics CRM 4.0-2011 Upgrade Tips
Here is a list of my tips CRM 4.0 to CRM 2011 upgrade tips, as published on my CRM Accelerators[...]
Be careful changing the full name format within Dynamics CRM
One of the settings that is available to a Dynamics CRM administrator is the ability to change the format of[...]
Dynamics CRM: There is a whole lot of clicking going on
People new to Dynamics CRM are sometimes a little confused, and sometimes baffled, by the user interface. The most important[...]
CRM 2011: Changes to the way things are deleted
It is worth nothing that there was a major change in the way that Dynamics CRM handles the deletion of[...]
CRM 2011 SDK Development and Microsoft.IdentityModel Assembly
This is actually a repost from this article, but it seems a lot of people are running into the error[...]
CRM 2011: Using Sample Data
As you may know, Microsoft Dynamics CRM has a log of parts and pieces and sometimes it is difficult to[...]
CRM 2011: Unexpected dependencies when deleting fields
When you attempt to delete a field with in Dynamics CRM, a check will be performed to see if the[...]
Developer Tip o’the day: Form Editor Keyboard Shortcuts
Here are some keyboard shortcuts that you may not have been aware of when working in the CRM 2011 form[...]
ILMerge and StackOverflowException
I was working away this afternoon upgrading one of my products to CRM 2011 when I encountered a very odd[...]
CRM 2011 Quick Start Guides Releases
The Dynamics CRM User Assistance team has released two new pieces of user documentation: Quick Start guide for Microsoft Dynamics[...]
Free Utility Released: Count CRM Users
If you have multiple organizations and you found a need to get a count of the number of users across[...]
CRM 4.0 Developers: Unsupported JavaScript usage question
Hi Everyone, I'm adding some new conversion points to my JavaScript conversion tool, CRM Migration Assistant, and I am curious[...]
CRM 2011 Tip o’the Day: Hide the Getting Started Pane
CRM 2011, by default, displays a feature at the top of every data view called the Getting Started Pane.  Here's[...]
CRM 2011 Reporting: Showing Date-Only in a datetime field
Let's say I have a report of my CRM leads that looks like this: Very simple, just name, created on[...]
WorkflowLog Entity Status Values
The workflowlog.status values are not clearly documented in the SDK so you may use the following table to correlate the[...]
CRM 2011 Debug Information Page
An excellent post today from EMEA Dynamics CRM Support that is worth sharing: CRM Debug Information Page Each CRM installation[...]
What is CRM doing with my Email?
If you have ever wondered if Dynamics CRM is holding on to your email and not sending it, there is[...]
CRM 2011 JavaScript and namespaces
The CRM 2011 SDK makes use of the JavaScript namespace feature. I am curious if anyone currently developing for CRM[...]
Displaying Properties for a CRM record
There is an often overlooked feature within the CRM web client that allows you to view the properties of a[...]
CRM 2011: Programmatically creating a bulk delete job
This weekend while working on new product I realized it would be of tremendous use to have a bulk-delete job[...]
Web Resource Naming
I found something quite interesting while working on my CRM Migration Assistant JavaScript conversion tool. We you create a web[...]
CRM 2011 Development Skeleton
Back in 2009 I released a small Visual Studio solution that contained all you needed to get started connecting and[...]
Another Cool Windows Live Writer Feature: Post draft to blog
Have you ever noticed that button: Like many of you, I have too; but wasn't really sure why I would[...]
Export JavaScript utility updated (revised)
I've updated my Export JavaScript utility to work with CRM 2011. You may download it here. The operation is pretty[...]
Changing the CRM startup experience
In case you didn't know, each CRM user can change their initial web client startup experience by modifying several different[...]
So just how fast is your JavaScript conversion tool?
People have asked that question and I don't know why, but it's been a very long time since I've actually[...]
Using Advanced Find to quickly navigate to a specific entity
As you may know, when you create an entity within CRM you specify which areas the entity is display in,[...]
CRM 2011: Exploring the Developer Resources Page
CRM 2011 includes a Developer Resources page which provides additional information and tools for the CRM developer. You find the[...]
Free Utility Released: Export CRM 4.0 Plugins
Updated: 9/30/2011. Version 1.1 Occasionally I find the need to extract a plugin from the CRM database. This could be[...]
CRM 2011 Tip o’the day: Disabling the Install Outlook Notification
When the CRM 2011 web client is opened, it performs a check to see if you have the Outlook client[...]
Categorize your CRM Contacts using Relationship Type
One of the most powerful fields on the Dynamics CRM Contact entity is something called the Relationship Type. This field[...]
CRM 2011 Tip o’the Day: Keyboard Shortcuts
It’s amazing what you can find browsing through the help file or manual sometimes. Case in point: Did you know[...]
Connecting Windows Live Writer and Outlook
I use Windows Live Writer (WLW) to compose my blog posts and quite frankly, it is the main reason I[...]
CRM 2011 Tip o’the Day: Moving to the next and previous records
By any odd chance have you ever noticed this new piece of chrome in the upper right corner of the[...]
Using CRM workflow to detect company email addresses within contacts
Introduction In case you didn’t know, it is a very bad practice to allow users to create contacts for employees[...]
CRM SDK Nugget: SolutionId Value for the Active Solution
I’ve been working with solutions and web resources a lot lately so this next series of articles will focus on[...]
Adding form labels using HTML web resources
Occasionally, I have a requirement where a user must complete one of two fields on the form. This presents some[...]
CRM Bit fields: Creating a consistent user experience
When customizing Dynamics CRM you should always keep the end-user experience in mind. One item that sometimes escapes configuration is[...]
Rock, Paper, Azure
Well I entered the Rock, Paper, Azure contest and for the most part, got my butt kicked.  Mostly because I[...]
Interesting issue encountered while deleting a lookup
I was deleting an unused lookup from a custom entity when I received and error stating that I could not[...]
CRM Tip o’the Day: Working with CRM Security Role Privileges
This tip has existed since at least CRM 4.0, but I’ve been creating a lot of security roles on my[...]
Locating the Process ID for the CRM Web Site
If you have ever had to connect to IIS to perform remote debugging you have probably encountered an situation where[...]
Dynamics CRM: Canceling the Save operation
There are occasions where you need to abort the saving of a record within CRM. This is accomplished by using[...]
CRM 2011 Developer Tip o’the Day: Customization Navigation
I am going to admit up front I may be the only person using CRM 2011 to have this problem,[...]
CRM 2011: Managing Deletion Jobs
In our last article, we discussed the creation of bulk deletion jobs. In this article we are going to discuss[...]
CRM 2011: Exploring bulk delete operations
I was entering some sample data when I happened to notice the Delete button on the ribbon contained an arrow. [...]
CRM Tip o’ the Day: Workflow Naming Conventions
Over the years I have found it very helpful to categorize the workflows for my own projects or customer’s by[...]
Grouping Navigation Items using the SiteMap ShowGroups Setting
When working with the CRM SiteMap, it is sometimes very useful to categorize the navigation elements into logical or functional[...]
CRM 2011: Tracing Sitemap Errors
While working on yesterday’s article, I ran into several issues attempting to import my Sitemap.  Since I wasn’t exactly sure[...]
CRM 2011: Adding a view to the sitemap
Occasionally I have requirements to add links to the CRM Sitemap that are pointers to specific system views that we’ve[...]
CRM 2011 Factoid: Deleting Records
When you deleted a record in CRM 4.0, it didn’t physically delete the record at that point in time, it[...]
CRM Migration Assistant Update and News
Hi Everyone, I am really enjoying Convergence 2011 this week so I thought I would pass along some great news[...]
CRM 2011: Tracing Errors during SDK Development
I am working hard to put one of the last major features into my CRM Migration Manager and ran across[...]
CRM 2011: Renaming an Organization
Occasionally, you will find a need to change the display name of an organization, which is an operation performed through[...]
Podcasts anyone?
I was thinking about adding to the list of podcasts that I listen to and was curious if anyone has[...]
Question regarding CRM Trace Logs
I am looking for people who review CRM Trace Logs on a regular basis. I am working on a couple[...]
CRM 2011: Editing the SIteMap
I thought I’d make not of this topic ( which is found in the CRM 2011 SDK ) because when[...]
CRM 2011 SDK Development and Microsoft.IdentityModel Assembly
If you plan on writing anything that uses the CRM 2011 SDK, you may at some point run into the[...]
Visual Studio 2010 Error Message of the Day
I guess I was low on memory or some such thing this morning and VS2010 got all kinds of “wonky�[...]
Visual Studio 2010: JScript Editor Extensions Released
Via ScottGu: An extension has been added to Visual Studio 2010 to enhance the JavaScript coding experience. JScript Editor Extensions[...]
CRM 2011: Accessing the parent form from a child form
In CRM 4.0 developers sometimes needed to extract data from the parent form of a record opened from one of[...]
Batch Duplication Detection Discussion and Possible Solution
I was visiting a local customer this week and learned they are about the begin a de-duplication process for their[...]
Retreiving User Roles in CRM 2011
As I was producing the associated documentation for my CRM Migration Assistant application, I decided to explore a comparison between[...]
OpenXML Worksheet: Adding AutoFilter
I wasted more time than I want to think about on this, so here is a solution I hope will[...]
Creating a query to find all users with a specified security role
I ran into an interesting requirement this morning that let’s me show off one of my favorite CRM add-on utilities:[...]
Book Recommendation: Professional iPhone Programming with MonoTouch
I have been dabbling a bit with iPhone development as a way to stretch my development skills.  Unfortunately,Apple’s language of[...]
Verifying CRM 4.0 Installation File Dates the Easy Way
This morning I was verifying the version of a CRM 4.0 installation when I realized that instead of opening individual[...]
The Visual Studio 2010 Build Configuration Dropdown Missing
I have been noticing lately that the Build Configuration dropdown list that is normally found the the Standard Toolbar is[...]
Sales Centric is back in action
Well, it looks like Sales Centric and their Relationship Charts product is back on the market after having taken quite[...]
Learning how to query for Marketing List Members
This morning I was adding some functionality to my Dynamics Tutorials site and needed to determine if a user was[...]
Issue found while upgrading reports from SQL 2005 to SQL 2008
One of my local customers recently moved from Small Business Server 2003 to Small Business Server 2008.  Among other things,[...]
Automating Task Notification
If you have ever assigned a task to someone and wondered when or if they completed it, this workflow process[...]
Viewing How Users Have Configured CRM
We ran into an issue last week where a user was creating an Order directly, instead of from the Opportunity,[...]
Finding the value of the state and status codes
If you’ve ever wondered how to find the values for the statecode and statuscode, you can use the following SQL[...]
Testing Customizations as a Normal User
This will probably be old news to most of you, but for those who are just starting with CRM, you[...]
CRM Customization File Best Practices
Today I thought I’d share what I think are some best practices when working with CRM’'s customization files. Procedure When[...]
CRM 4.0’s Built-in SQL Functions (Part 5 of 5)
The final installment in this series contains miscellaneous SQL functions. You may wish to review the following articles before proceeding:[...]
CRM 4.0’s Built-in SQL Functions (Part 4 of 5)
In this section, we’ll cover year-related functions. You may wish to review the following articles before proceeding: CRM 4.0’s Built-in[...]
CRM 4.0’s Built-in SQL Functions (Part 3 of 5)
Today we are continuing on with part three of our series on using CRM 4.0’s built-in SQL functions. You may[...]
CRM 4.0’s Built-in SQL Functions (Part 2 of 5)
As we continue onto the second article in our set, you may wish to review the previous article:  CRM 4.0’s[...]
CRM 4.0’s Built-in SQL Functions (Part 1 of 5)
As I mentioned in a previous article, CRM 4.0 includes a group of user-defined functions that are commonly used within[...]
Applying Visualization to Software Development
Over the past several years, I have read and seen multiple references to a practice called Visualization, which is when[...]
Cascading Style Sheet Color chart
While digging around the Net today, I ran across an extremely valuable color chart for cascading style sheets. They actually[...]
Running NetScreen and Cisco VPN clients on the same workstation
I ran into an issue a couple of months ago where the CPA of one of my customers was having[...]
Hiding a tab on a data entry form in CRM 3.0
I ran into an issue recently where I need to remove certain fields from a CRM data entry form. The problem[...]