Bug tracked down: Broken account images in hierarchical tile view in Microsoft Dynamics 365 On-Premise
Bastian Nowak
-
-
Lesezeit: 4 min
Kategorie:
CRM
Microsoft Dynamics
Microsoft Dynamics CRM 2015 introduced a new feature making it possible to display associated accounts, contacts and opportunities in their hierarchical relationship. One of our customers recently pointed out a problem with broken account images: while the saved customer logos are displayed correctly in the account form only broken image links are visible in the hierarchical view. While checking the corresponding requests we’ve been noticing two things: the request to load the account images are (obviously) broken and get a 404 response code. A second glance at the request itself shows another distinction to the working requests: the requests to load the account images are missing the organization in the called url. So the called image URL displays this pattern:
http ://[myCrmServer]:[port]/Image/download.aspx?[...] We decided to run another test with two different test users on multiple development organizations (Dynamics 365 on premise, Version 8.2.2.112) and got some interesting results: While one out of five organizations could render the account images correctly in hierarchical view, the organization showing non-broken images differed between the two test users. Further investigation showed the root cause, as the default organization was different for both used test users and for each user only his default organization could render the account images correctly. The default organization is set when an user is created the first time in any organization in a CRM deployment. The setting is saved for all users in the CRM configuration database MSCRM_CONFIG, or to be more specific in the SystemUser table. Microsoft seems to redirect requests without org-name to the default organization for that user. We changed the default org for our two test users to one organization that did not render the images correctly in the first test (and did an IIS-reset, since the default org is cached in the CRM app pool). Lo and behold, the newly set org renders the account image while the previous working organizations (the old default orgs) can only render broken image links. Armed with these information we could now map all our customer users to their live organization, in particular because the account images are not that important in their respective test and training organizations. Any change to the CRM configuration database is not supported by Microsoft. On the other hand there’s no supported way either, by a configuration wizard or any other MSCRM-Tool to change the default organization. As the CRM configuration database is a very critical component please remember to back it up prior to any changes – its just a couple of mb anyway. Also note that the crm systemuser id of the crm organizations does not correspond to the userid in the MSCRM_CONFIGs systemuser table, you need to join the ids via the SystemUserOrganizations table, the crm org systemuserid maps to the column CrmUserId. These steps are covered in more detail in this blog post that helped us along our own research.