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 […]

Tip #147: If it’s something weird and it don’t look good

Technology is a temperamental mistress and, from time to time, things may not go quite as planned, and that includes CRM Online. Good news that even basic CRM Online subscription includes reasonable level of support. What is the quickest way to reach for help when you need it? To start with, download Microsoft Dynamics CRM […]

Tip #146: Geo-restrictions for your CRM

One of our customers challenged us with a very specific requirement to limit access to their CRM to the users located in Australia. It’s always good to remember that CRM application server is a very sophisticated but a web site nevertheless and for a web site, we can use ipSecurity element in web.config that defines […]

Tip #144: Restrict AD browsing when adding new users

If you are a hosting provider or a security-conscious administrator managing multiple CRM deployments then you’d like to avoid exposing entire Active Directory when user with appropriate permissions clicks New Multiple Users and then opts to browse all trusted domains and groups. There are some unsupported methods as well as supported C# code to achieve […]

Tip #135: What to check if on-disk plugin registration fails

Registering plugin on disk has its benefits but can be tricky business. Plugin registration tool that comes with SDK is very coy about the errors and display the following message (in the log section of the form): ERROR: Occurred while checking whether the assembly exists You can opt to see more details about fault exception […]