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 #169: Update related records with a workflow
Ever wish you could use a workflow to update related/child records? For example, when I update the address on an account, update the address on all of the related contacts. You can, with the help of the very helpful CRM 2011 Distribute Workflow Activity assembly written by Alberto Gemin on Codeplex. While this says “CRM 2011” […]
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 #163: Create a 1:1 relationship
Creating a 1:N or N:1 relationship between two entities is very straightforward, but what if you want to do a 1:1 relationship? For example, say you have a subprocess that needs to be owned by a different user than the account owner, or you have a child relationship where only one record should be associated […]
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 #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 #145: Make tip 43 work again
If you have tried Tip # 43: Embed a pre-filtered report in an iframe lately, you may have found the results were not quite as advertised, at least in Internet Explorer. This is because shortly after that post was published, an update to the CRM report viewer control for Internet Explorer broke the ability for reports […]
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 […]