We took the database backup of production CRM and restored in UAT and imported the organization to create UAT CRM environment. Users would like to connect Outlook client to both Production and UAT, but when user tries to add the second environment (it doesn’t matter which order), we get below error message:
“Cannot find any organizations on the server. Try entering the URL again. If the problem persists, contact your system administrator.”
Whenever an organization is configured in outlook there will be an entry in the registry with that organization GUID and the outlook client automatically detects there is one organization with the GUID of the first organization and therefore, while configuring the second organization with the same GUID, the CRM outlook client does not detect the organization ID
WORKAROUND TO COME ACROSS
- Restore the production organization database as TempUAT on the UAT server
- Build TempUAT organization in UAT server
- Backup the TempUAT and restore it as UAT on the UAT server
- Build UAT organization on UAT server
- Then the outlook client will identify both the organizations
Recently our testing server was getting loads of data through CRM Trace. When we check the trace properties all the keys mentioned as part of the Microsoft article are disabled.
We tried by
- Updating the registry entries Enable/Disable
- Removed all the Trace related entries
- Restarted the IIS and Machine for some times
- Used Diagnostic Tool to do the same jobs again
Still no luck….
At the end after some research on CRM Files/Database/Registry and Bing found that after Update Roll Up 6 these settings were moved to MSCRM_CONFIG database.
Here are the queries to check or to update the Trace settings
select * from OrganizationProperties where ColumnName =‘TraceEnabled’
update OrganizationProperties set BitColumn =‘0’where ColumnName =‘TraceEnabled’
Hope this helps some body 🙂
As part of the Update Roll Up 12, Microsoft released Updated User Experience for Sales and Customer Service. This will give an option to work with the forms without using much pop ups, but main problem is we cannot control the forms with Java Script. This is a limitation as of now but we can expect some enhancements in near future or in the next releases.
In the below Lead screen shot user can work on Lead through Contact and Opportunity without having a pop up. This is so nice of CRM.
Microsoft has given the flexibility to go for it or continue with classic UI. This can be installed from Product Updates section under System Settings, once installed this can not be rolled back but user can inter change between classic and updated form at any time while accessing the forms.
Here is the video from Microsoft on Polaris/December 2012 Service Update
CRM 2011 SDK 5.0.13 has been released with improvements. Here are some improvements
– ExecuteMultipleRequest. This request gives the ability to send multiple requests to the CRM service so that the requests can be executed in order without needing to come back to the client after each request. This is a significant performance boost especially when loading thousands of records into CRM. Use ExecuteMultiple to Improve Performance for Bulk Data Load
– Metadata Service. Previously had the option of returning a single attribute or entity metadata or retrieve all entity metadata. With the latest SDK, we now have the same flexibility when retrieving metadata that we do when querying records. Metadata can be filtered by entity, attribute, or even by the properties of the entity or attribute and even specifying which properties are returned.
– The Plug-in Registration tool executable file can now be found in the
Bin folder of the SDK download. The source code for the tool has been removed from the SDK download. These topics were updated to reflect that change.
– Added information about the new getClientUrl method. This method returns the base URL that was used to access the application. This is now the recommended method to use to access the organization URL. The getServerUrl method is deprecated. This method is new in Microsoft Dynamics CRM 2011 Update Rollup 12 and the Microsoft Dynamics CRM December 2012 Service Update
The above are on a high level, Download here and get into it.
The WordPress.com stats helper monkeys prepared a 2012 annual report for this blog.
Here’s an excerpt:
600 people reached the top of Mt. Everest in 2012. This blog got about 8,500 views in 2012. If every person who reached the top of Mt. Everest viewed this blog, it would have taken 14 years to get that many views.
As part of development we used to restore CRM organization many times. Recently we found that the out of the box reports are giving problems which have sub reports.
When we try to open a report it is giving “Error – Subreport could not be shown” whereever there is reference to sub report.
Problem here is the relation between parent report and sub report got disturbed and CRM doesnot able to link these two reports.
Resolution (atlease in my case):
- From Reports section select the sub report and click on edit
- Remove the value in Parent Report look up field
- Map Parent Report again
This would solve the problem. But in some cases we may need to re-publish the reports. Below steps will help us in publishing the reports again
- Open command prompt on CRM application server
- Go to Microsoft Dynamics CRM\Tools folder
- PublishReports.exe NameOfYourOrg
- Ex: C:\Program Files\Microsoft Dynamics CRM\Tools\PublishReports.exe mytestcrm
Hope this helps 🙂
Let me just give you a background on Sharing before we go into details.
Whenever a record is shared against a User or a Team, CRM will be tracking those entries in PincipalObjectAccess table and same will be queried using FilteredView.
If we see the FilteredView definition we can find how CRM uses this PincipalObjectAccess table.
-- object shared to the user or [Account].[AccountId] in ( select POA.ObjectId from PrincipalObjectAccess POA join SystemUserPrincipals sup (NOLOCK) on POA.PrincipalId = sup.PrincipalId where sup.SystemUserId = u.SystemUserId and POA.ObjectTypeCode = 1 and ((POA.AccessRightsMask | POA.InheritedAccessRightsMask) & 1)=1 )
The code snippet above was picked from FilteredAccount’s where condition. Here this view is getting the records by querying the PrincipalObjectAccess table
And it’s a known fact that POA is to cause performance bottlenecks. POA is one of the reasons why complicated business unit structures and extensive sharing is not recommended.
Refer to Microsoft Support article wherein we get the symptoms of Timeout issues. The large is the POA table size the more is the problems list.
Please refer to a nice article on “Why Large-Scale Sharing is Bad”
Here are some queries by which you can track and monitor how the organization sharing is being handled.
–Get the total number of shared records
SELECT COUNT(0) FROM PrincipalObjectAccess
–Get the total number of shared records grouped by Entity
SELECT EV.NAME AS [ENTITY NAME],COUNT(POA.OBJECTTYPECODE) AS [RECORDS COUNT] FROM PRINCIPALOBJECTACCESS POA INNER JOIN ENTITYLOGICALVIEW EV ON EV.OBJECTTYPECODE = POA.OBJECTTYPECODE GROUP BY EV.NAME ORDER BY 2 DESC
–Get the total number of shared records grouped by User
SELECT SU.FULLNAME AS [USER NAME],COUNT(POA.OBJECTTYPECODE) AS [RECORDS COUNT] FROM PRINCIPALOBJECTACCESS POA INNER JOIN SYSTEMUSER SU ON POA.PRINCIPALID= SU.SYSTEMUSERID GROUP BY SU.FULLNAME ORDER BY 2 DESC
–Get the total number of shared records grouped by Entity and User
SELECT SU.FULLNAME AS [USER NAME],EV.NAME AS [ENTITY NAME],COUNT(POA.OBJECTTYPECODE) AS [RECORDS COUNT] FROM PRINCIPALOBJECTACCESS POA INNER JOIN SYSTEMUSER SU ON POA.PRINCIPALID= SU.SYSTEMUSERID INNER JOIN ENTITYLOGICALVIEW EV ON EV.OBJECTTYPECODE = POA.OBJECTTYPECODE GROUP BY SU.FULLNAME,EV.NAME ORDER BY 1
Refer to Support Article on controlling PrincipalObjectAccess table growth and cleaning it up
Update Rollup 6 and later will clean the POA table by deleting the unshared records.
Hope this helps 🙂