Tip #134: How to block click-to-call in CRM

People would like to have an option to switch click-to-call functionality off.

Unfortunately, none of the suggestions is going to work. Why? Because this functionality relies on URL protocols skype: (for Skype) and tel: (for Lync). You can try fooling the system by deregistering protocols, fiddling with the registry, disabling addins, blocking addins, directing to one instead of another but the truth remains that CRM, while not being able to invoke Skype/Lync will duly create a blank phone activity record you’d have to cancel.

Hear you.

Step 1. If you strong opponent of unsupported customization, close your browser window now.

Step 2. I’m glad you stayed. Create and publish javascript resource with the following code:

function BlockCalls() {
   Mscrm.ReadFormUtilities.handlePhoneNumberClick 
      = function(a) {};
}

Step 3. Add this resource to the form where you’d like to disable the functionality, e.g. contact form

Step 4. Add BlockCalls to Form’s OnLoad event, save and publish.

You are welcome.

The usual disclaimer: use at your own risk, contains small parts, choking hazard, swim between the flags. Not tested on animals, children or CRM 2011.

Tip #133: Do not add CRM application pool account as a user

It’s quite common to configure Microsoft Dynamics CRM during the installation to use domain account to run web application service. In fact, this is exactly how you configure load balancing front-end configuration.

It might be tempting to add the domain account selected to run CRMAppPool as CRM user. (Have no idea why, it just is). Harmless, right? Well, yes, if you consider completely crashing your CRM server a harmless event.

If you did not know any better, it is not the end of the world, the recovery process is reasonably straightforward and painless.

This tip is brought to you by Andre “I’ve got 88 in my handle” Margono.

Tip #132: Consider how users will be accessing CRM

Now that we live In a multi-browser, multi-device world, it is very important to consider how your users will be accessing CRM when you configure forms. Dynamics CRM 2013 includes a fantastic responsive design that rearranges the tabs and sections to fit the screen size on which it is being viewed.

This means that, if you don’t test all the ways that your users will be accessing the system, their user experience may be different than you intend it to be.

For example, when viewed in landscape orientation on an iPad in Safari, only two columns from the standard three column layout will be displayed at a time. The column on the far right drops below the left column.

If you have records that don’t have many activities or notes associated with them, this creates a large white gap and can make users miss the right column.

That’s why if users will be accessing CRM in Safari on iPad, I will move the activity/notes pane to the third column. That way users see all the summary information, then the activities and notes.

Tip #131: Test CRM for Tablets from CRM not for Tablets

Following a cool tip about testing CRM for Tablets from my fellow tipster Joel, I figured that if anyone knows your URL and orgname, it’d be your CRM organization and it should be possible to run this test from inside any CRM organization without trying to memorize ngas and orgnames or remember to login before the test.

Download Tablet Tester Managed Solution, import into your organization then simply open the solution and click Configuration. Voilà!

The usual disclaimer: use at your own risk, contains small parts, choking hazard, swim between the flags. Not tested on animals or CRM 2011.

PS. For those who wondered how to simulate the downward swipe – it’s a right-mouse click followed by ESC to dismiss context menu.

Tip #130: Finding CRM 2013 Trial Key Licenses

Once you get to the download page for Microsoft Dynamics CRM Server 2013 for obtain the code to install the onpremise implementation we often neglect to think to look on the page for the trial key license. All you need to do is to expand the Details tab to expose the keys.

Or should not even want to do that, the keys are:

  • Microsoft Dynamics CRM Workgroup Server 2013 (5 CAL limit): NX77Y-BTBCV-JP3T3-8W7JH-94QJP
  • Microsoft Dynamics CRM Server 2013 (no CAL limit): CQWW3-TNXBF-HRQWC-CVTW9-M968H
Microsoft Dynamics CRM 2013 Trial Keys

Microsoft Dynamics CRM 2013 Trial Keys

 

 

Tip #129: Migrating to the cloud

When you move from CRM On Premises to CRM Online, you have to migrate your data. This can be done easily using a tool like Scribe Insight, SSIS with Kingswaysoft, or the Dynamics Connector. The following tips will make your life easier when making the move.

  1. Add a custom field to the 2013 user record to hold the old user id to simplify translation of record owners.
  2. When you import records, map the CRM record GUIDs to the new record IDs, so you don’t have to transform to populate lookups
  3. Bring in all records before setting statecode/status code. You can’t add relationships to closed records, so wait until all records are imported, then do another pass and update the closed records
  4. Some things need to be updated post closing of the records. Activity and case “actual” fields, for example.
  5. If multiple currencies are involved, set the exchange rates on currencies in CRM Online before you import the records.
  6. Temporarily create CRM Online users for disabled users in CRM on premise so you can maintain legacy record ownership.
  7. Be aware that modified on, modified by, and created by cannot be overwritten. Create a dedicated migration/integration user for the migration to run as.

Tip #128: Are you confusing your users?

Don’t leave your end users scratching their heads due to the number of unused fields listed in Advanced Find.  Ensure you set the Searchable characteristic of all “unused” attributes to No.  Unused attributes are those fields that do not show up in Views or on Forms.  From an end user perspective, they are not used since the end user does not see them when using the application.  Ensuring the Searchable property of the Attribute is set to the applicable value will go a long way to improve the End User experience.

Tipped to the jar by

Tipp Jarr’s Double Dip

Note, there are a couple of core system fields that you do not want to make non searchable. Making the transaction currency field or the primary attribute ID field non searchable will break Advanced Find and make some views unusable.

Also, if you want a quick way to bulk update the searchable property of attributes, use the XRM Toolbox, or, for the attributes that are on the same page, simply select them all, click Edit button and enjoy bulk-edit:

Bulk editing fields properties

Tip #127: Test CRM for Tablets from a PC browser

So you want to test CRM for tablets, but don’t have a tablet? No problem.

You can open the CRM for Tablets user interface in a web browser. This is handy for testing how your configuration will look in CRM for tablets. The following works with Chrome browser.

First, log in to CRM using the desired user credentials. Then, in another tab enter the following:

https://orgname.crm.dynamics.com/nga/main.htm?org=orgname&server=https://orgname.crm.dynamics.com

Replace “orgname” with your CRM organization name. You may get a warning that it cannot be accessed via a web browser, but after clicking “ok,” it should work.

Tip #126: Removing an entity from “Quick Create”

One of the new features of Microsoft Dynamics CRM 2013 is the ability to use Quick Create:

Quick_Create_1

The Quick Create menu contains multiple entities out of the box but you can remove an entity the organization is not using by following these 3 simple steps – we will remove the “Competitor” entity in this example:

1. Navigate to the Settings -> Customization -> Customize the System

2. Click on the entity you would like to remove from the Quick Create bar

3. Deselect “Allow quick create” on the Data Services section of the entity. Save and Publish All Customizations.

quick_create_2

Refresh your page and notice how  “Competitor” is no longer an option:

quick_create_3

Enjoy!

Tip #125: The wait is over

This week has all been about workflows and waiting. To finish it off, we’d like to present a short video demonstrating how to schedule a long running process (sending anniversary gifts to contacts in this case) without creating a bunch of forever waiting workflows. It’s done by using wonderful solution by Lucas Alexander.

YouTube player

We also added two new tags that over time, hopefully, will grow into new streams of thoughts.

nocode — throwing plug-in at a problem is not always the best solution; it probably will get the job done but the cost will be high and flexibility will suffer. That does not mean that coding is bad, reuse of good code is perfectly acceptable.

shoestring — not everything needs to cost an arm a a leg. It is possible to create flexible and inexpensive solutions by being smart, by reusing code and third-party solutions, both free and reasonably priced ones. Save your energy for what really matters.