Tip #172: Easy forecasting with Dynamics CRM

I can see the future!

Dynamics CRM deployment can amass vast quantities of data, both relevant and irrelevant. If this information is not used, it’s a burden on your infrastructure (on premises) or your wallet (online), and a dead weight for your business. It’s important to know or, at very least, have appreciation of forecasting techniques, for example, as demonstrated […]

Tip #171: If email router is having a slow day or how to add custom index

Sometimes things are slow. Very. Slow. So slow that your email router starts spitting dreadful messages: #9628 – An error occurred while delivering the e-mail message with subject “None of your business” in mailbox foo@bar.baz for delivery to https://crm.bar.baz. System.ServiceModel.FaultException`1 [Microsoft.Xrm.Sdk.OrganizationServiceFault]: SQL timeout expired. (Fault Detail is equal to Microsoft.Xrm.Sdk.OrganizationServiceFault). If you are on CRM […]

Tip #170: There is no queue like a business queue

Business Queue View

When user wants to add item to a queue, the default view used to perform the lookup is the “Business Queues” view. Don’t try to look it up in customizations – it’s not there and seems to be hard-coded. Not only that, it’s not documented anywhere [I could find] making it extremely difficult to understand […]

Tip #166: Become role customizer ninja

Role Editor

If you frequently modify security role and your wrist hurts because of all tiny mouse movements, there are some undocumented explicit links on the role dialog that could make your life much easier. Clicking on the entity name (e.g. Account) will cycle all privileges for this entity (i.e. Create, Read, etc) through all access levels […]

Tip #165: 1:1 with security twist

Usability of 1:1 relationships stretches far beyond UI candy. They can become a very useful tool that secures parts of the same logical record. For example, financial services company might use account entity to hold information about their customers but due to Chinese walls within the company, investment manager should not be able to access […]

Tip #164: Not all roles are created equal

It’s a reasonably well-known fact that recreating roles from scratch and adding all privileges to replicate one of the system roles is not the same as copying that system role. There are some hidden privileges that are not exposed via security dialog. This topic has been discussed and documented for CRM 4.0 and for CRM […]

Tip #160: If all I have is a Surface, how do I test Windows client?

Windows 7 & 8 in Azure

My work laptop is a mighty Lenovo W530 with upteen cores, bazillion GBs of RAM and quadrillions of TBs of SSD drive space. The only problem is that carrying it around keeps my chiropractor very busy. So when I travel, I dock this monster behind the firewall and carry around something like Surface or the […]

Tip #159: PowerShell fails in IFD deployment

Microsoft Dynamics CRM Windows PowerShell snap-in is an excellent automation tool but on some Internet Facing Deployments even an innocuous call to Get-CrmServer can fail with a fairly generic message “The caller was not authenticated by the service“. One of the possible reasons is that the tool always runs on CRM server but for IFD […]

Tip #155: During the upgrade all your CRM are belong to us

When importing a CRM 2011 organization into CRM 2013 UR2 or SP1 environment, you may receive a cryptic message “Database having version 6.0.0.809 is not supported for upgraded”. As it turns out, it has nothing to do with the version of the database being imported. If you are trying to import an organization database that […]

Tip #154: One pre-validate to rule them all

It may come as a surprise but when a contact is created as a side-effect of another operation, e.g. qualifying a lead or processing incoming message with contact auto-create in force, pre-validation plugin does not fire at all. It happens when operation performed is a compound message such as QualifyLeadRequest or DeliverPromoteEmailRequest. This behaviour, unintuitive […]