Dynamics CRM and ILMerge: The Easy Way to Merge DLLs for Plugins

Being able to use external DLLs in Dynamics CRM plugins is challenging but doable. Most people who have been doing development on the Dynamics CRM platform for any period of time know that it is not enough to simply reference the DLLs in Visual Studio – you must somehow make them available to run on the server – this can range from mildly annoying to impossible (if you using CRM Online.)

Read more

Uber Event/Complex Location Pickup

Black Town Car

This is a product idea I have for Uber. I’m hopeful they will, one day, implement it.


Allow users to better understand and communicate pick-up locations at complex locations (stadiums, airports, conference centers, etc.) and special events (Super Bowl, Golf Tournament, etc.)


In many of these instances it is very difficult for a requestor to understand and communicate their location to the driver in a manner that is consistent with the vehicle pick-up regulations.
Read more

Dynamics CRM: SQL to Get CRM Metadata in 2011 & 2013

Occasionally, I need (or want – depending on your preference) a list of all the attributes (basic CRM metadata) in a Dynamics CRM organization. While there are several ways, including some great document generators, that will get such a list for you, SQL is always an option. If you are on-premises, or working in a developer VM, you can run this query against a CRM organization database to get the basic details. It can also be used as a starter for more complicated metadata query requirements.

SELECT		en.LogicalName
      , en.ObjectTypeCode
      , att.LogicalName
      , typ.Description
      , typ.XmlType
FROM		MetadataSchema.Entity en
        JOIN MetadataSchema.Attribute att on en.EntityId = att.EntityId
        JOIN MetadataSchema.AttributeTypes typ on att.AttributeTypeId = typ.AttributeTypeId
ORDER BY	en.LogicalName
      , att.LogicalName