SaRA is the acronym for the Office 365 Support and Recovery Assistant which is a powerful diagnostic platform created by the Office team. In many cases, SaRA offers automated solutions that can fix problems for you.
And now SaRa includes CRM diagnostics, initial scenario is for CRM Outlook Client configuration issues for CRM Online.
This diagnostic can detect issues related to CRM Outlook Client install, configuration, and can also detect and fix a disabled CRM add-in with the click of a button. It can also retrieve log files and event log information.
On heavy production systems bulk deletion jobs should be scheduled outside of the peak activity window. Unless you’re dealing with 24×7 global monstrosity, scheduling them outside normal working hours would do the trick.
There are handful of system jobs that are created for you when CRM organization is provisioned. You can guess what their start time is going to be – when you provisioned the organization – and that probably will be during the day.
Derik is back, rested and all. I think. In any case, it’s Friday and it’s video. In this weeks video we show you how to surface data coming from Microsoft Social Engagement into a Dynamics CRM instance.
Give us your feedback, all of it: good, bad, and ugly, I’m sure we can take it. Suggest new topics either in comments or by sending your ideas to firstname.lastname@example.org.
This release will introduce scenario-based Machine Learning (ML) integration with Azure ML for product cross-sell recommendations, and auto-suggest of relevant knowledge articles and case topic analysis. These scenarios are based on integration with Azure ML APIs for recommendations and text analytics. Azure ML integration offers a configuration experience and insights integrated into the CRM user interface. No data scientists required!
We observed this behavior on CRM 2013 SP1 and and CRM 2015 Update 0.2 on-premises. The report runs fine for small ranges (e.g. dates) but, as the range (and number of records to be processed) increases, report comes back blank, as if it didn’t run at all. No errors in CRM, SQL Server or SSRS logs. Both versions, SSRS and fetchxml, choked.
While we were unable to get to the bottom of this behavior, everything points out to the SSRS simply running out of some resources and quietly discarding the report.
To avoid excessive resources consumption:
If your report uses aggregates, move whatever aggregates you can to SQL Server. SQL Server will do the job of calculating your SUMs and AVGs better and much faster.
Avoid references and formulas involving report cells. Instead of ReportItems!foobar.Value use Fields!foobar.Value where possible. To get correct values from the cells, SSRS needs multiple passes over your report, slowing things down and consuming resources.
The above especially true when any grouping is involved. In other words, avoid aggregates over ReportItems like a plague.
Our results of following our own advice:
Original report for 3 months – 8 seconds, 12 months – blank.
We do not recommend using jQuery in form scripts and ribbon commands.
Right. And what are we to do with thousands lines of code already relying on that miracle? People insert libraries and keep their fingers crossed or follow the wise ones and encapsulate the instance with jQuery.noConflict() call.
There is an easier way, though. Since CRM uses jQuery itself, you can try doing something as simple as:
Woot-woot! Our video channel now has the official URL: https://www.youtube.com/CRMTipOfTheDay! (Hint: take a minute and subscribe). To celebrate this achievement, our video dude, Derik, has gone MIA. After 38 straight weeks of videos, can’t hold it against him.
So today’s tip is not a video but something that has been on my todo list for quite some time. In fact, the original code spans back to CRM 2011.
Duplicate detection has always been a pet hate of mine – it’s a cool feature but the interactive dialog has usefulness level of a DVD Rewinder.
But the most annoying part is not even the dialog, it’s the fact that it pops up after all data entry is done, party is over and everyone’s gone home. Imagine frustration of the users who duly enter all contact data including marital status, fax number, blood type and assistance name, only to find out that the contact already exists.
There is a smarter way to do duplicate detection – by making it proactive and real-time. Enter RetrieveDuplicate message – we can send it to the server when attributes change to see if the record is a potential duplicate as user enters the data. How do we know what attributes to monitor? duplicaterule and duplicaterulecondition entities to the rescue, they define the attributes taking part in the active duplicate detection rules.
The solution steps (for CRM2015+):
Download and install the unmanaged solution. Because it’s unmanaged, to remove it, you’d need to nuke by hand the resources it installs (there are only 4 of them)
Create a copy of a contact form – no need to experiment on the good ones.
At the very top, add a section and insert web resource alex_DDNotification.html. Name the control DDNotification.
Add alex_xrmsvctoolkit.0.2.js and alex_duplicatedetection.js scripts to the form.
Add call to AlexDuplicates.OnLoad to the form onload event.
Make sure some duplicate detection rules are activated.
As the form is loaded, code will retrieve duplicate rules from the server and attach onchange handlers to the form fields that are part of the rules.
When any of these fields change, code will send RetrieveDuplicateRequest to the server to get the potential list of duplicates.
If duplicates are found, warning section will be displayed listing the potential duplicates in the web resource area. User can continue as normal but now they are fully aware that record is a potential duplicate.
Since users are now notified well in advance, you can go to Settings > Data Management > Duplicate Detection Settings and switch off duplicate detection on create and update.
This solution has been ported from CRM 2011 so before you pull out pitchforks and apply spießrutenlaufen:
Teach your users how to use keyboard in a lookup control
I know it’s an old piece of wisdom but this morning I just couldn’t help myself when observing the typical frustrating pattern of a user trying struggling to fill in the lookup field: remove hands from keyboard, grab the mouse, struggle to position the mouse pointer over the magnifying glass button, click, look at the partial list, struggle to position mouse pointer over the scrollbar, scroll, click Look Up More Records, move hands to keyboard, start typing the name to search for, back to mouse, click magnifying glass, ad infinitum… You get the picture.
Do your users a favor and explain some fundamental keyboard operations in a lookup control:
Typing a search term in a lookup field and pressing TAB performs the quick search. You can use any of the search fields (e.g. phone number) as well as the * wildcard.
If a unique match is found, your job here is done!
If more than one record is found, CRM will display an exclamation mark and move to the next field. Just press Shift-TAB (you did know it goes back to the previous field, didn’t you?) and CRM will drop the list of matches. Use up/down arrows to navigate, press SPACEBAR to select.
Still not seeing the record? Press and hold down arrow until it hits Look Up More Records, press SPACEBAR. Here is your search dialog in all its glory.
If there is a value in the lookup field – press DEL button to clear it or just start typing if you’d like to replace the link.