Tip #143: 10 Ways to Free Storage Space in Microsoft Dynamics CRM Online

If you get the eerie email warning you that you have reached 80% of the storage available for your CRM Online instance don’t panic.

CRM Online Storage Space Warning

CRM Online Storage Space Warning

You have several options.

One way to go is to buy an additional 1GB of storage for $9/month. The other alternative is to trim some of your existing use of the storage you now have.

There are 10 documented ways to reduce the amount of storage space used by removing or deleting different types of of information from Microsoft Dynamics CRM Online. Use one or more of these methods to control your total data storage usage with Microsoft Dynamics CRM Online. You can delete certain categories of data as the need arises, or you can set up bulk deletion jobs to reoccur at set intervals.

Use the following link to get to the CRM Team authored 10 methods to reduce existing storage:

  • Method 1: Delete bulk e-mail and workflow instances using a bulk deletion job
  • Method 2: Evaluate and delete suspended workflows
  • Method 3: Remove e-mail attachments using Advanced Find
  • Method 4: Remove e-mail messages with attachments using a bulk deletion job
  • Method 5: Remove notes with attachments using Advanced Find
  • Method 6: Remove notes with attachments using a bulk deletion job
  • Method 7: Remove bulk duplicate detection jobs and associated copies of duplicate records
  • Method 8: Delete bulk import instances using a bulk deletion job
  • Method 9: Delete bulk deletion job instances using a bulk deletion job
  • Method 10: Delete audit logs

Tip #142: Piggyback customer’s CRM for support

If you are a solution provider, CRM consultant or ISV, most likely you provide support to end-users in some shape or form. That includes collecting bug reports and feedback from the users. Extend your solution and include one or two additional entities, starting, for example, with Product Feedback and Bug Report, so that users do not have to leave their environment to create a suggestion to improve your solution.

Don’t forget to create a workflow or two emailing that feedback over to the support queue in your CRM.

Other possible elements include dialogs if feedback needs to be a bit more structured than a simple title + description form (though there is always a danger of making feedback forms so complicated that no one will ever fill them in). Dialogs can also provide some data context not available in a simple entity.

This tip was gifted to us long, long time ago, like really long time ago, like when CRM 3 was around, by none other than
Guy “One tweet is ought to be enough for anyone” Riddle

.

Tip #141: Why do some fields not appear on the mobile form?

You configure a mobile form for a Dynamics CRM entity and add a new field to it. But when you pull up a record on your phone, you don’t see the field.

But when you go to edit mode, there is the field. Why does it do that?

The answer is that CRM for Phones forms only display fields that contain data in read mode. This saves space on the smaller mobile screens. When you switch to edit mode, the field is available, and after you add data to the field, you will see it in read mode.

 

Tip #140: Working with Dynamics CRM on iPad as System Admin or Customiser

As reported by Andre “I’ve got 88 in my handle” Margono:

Recently I stumbled across a question in Dynamics CRM Forum regarding “How to see CRM Settings on a tablet browser”

Out of my curiousity, I tried something on my iPad. The steps that I used to achieve this is using Google Chrome on iPad (never bother to check it on Safari though, as I never use that):

  1. Open a new Tab, navigate to Dynamics CRM instance.
  2. On Google Chrome option (the three lines at the right hand side of url bar), select “Request Desktop Site”
  3. It will redirect to https://<crmserverinstance>/m/default.aspx change it to https://<crmserverinstance>/main.aspx
  4. Voila, the Settings button is there and works! It’s quite slow though.

System settings on iPad

Tip #139: Train your users on CRM for Tablets

If you are deploying CRM for Tablets for iPad, how do you train your users? Like with any CRM deployment, you will want to conduct user training and maybe record the training for future reference. This can be a challenge, because you can’t easily display your iPad screen on all screen sharing solutions (like Microsoft Lync), and recording options are limited.

One very good option is Reflector from Airsquirrels. Reflector makes your PC or Mac an Airplay receiver, so you can then mirror your iPad screen on your PC, share via Lync meetings, and record using tools like Camtasia Studio.

Tip #138: Update your tablet app

There is a new update available for CRM for tablets app for iPad. The update allows the app to be reconfigured to other users or organizations.

crmtabletsupdate

This is a big enhancement, and will be welcome news to anyone who works with multiple CRM organizations. It will also be very useful when testing customization changes in your CRM environment, as you can test how the customization performs under the context of different users or security roles without having to reinstall the app.

Tip #137: Find another use for fiscal settings

You may have wondered what to do with all fiscal periods when they are not used by the business. Turns out, they could come really handy for crafting some advanced views.

Just yesterday I needed to find in our CRM all past time entries excluding current month, that have not been invoiced yet (of course, we use our CRM for time keeping and billing, isn’t everyone here?). I could have entered a standard “on or before” condition but I wanted to have a fixed view without the need to re-enter the date.

Step 1. Set your fiscal period under Settings > Business Management > Fiscal Year Settings to month:

Set fiscal period to month

Step 2. Add Last X Fiscal Periods condition to your query and enter a sufficiently large number (I chose 3 years):

Filtering previous 3 years

That condition alone will return all previous entries excluding the current month (which, in fact, is our fiscal period, because we do our invoicing on a monthly basis). By adding another condition on record status I can now retrieve all time entries that need to be invoiced.

Tip #136: OnPremise Orgs I hope you are under SA

Like most software companies Microsoft is a strong enthusiast of annual maintenance fees. In the Microsoft world it is known as Software Assurance. In the Fall (or so) when the next major version of CRM is released (think V7.0) operating systems and other remnants from the previous decade will no longer supported. You can kiss just about anything that has the numbers 2008 in it goodbye.

The CRM Team Blog has given everyone fair warning to immediately start planning ahead. For those of you that are in organizations that acquire Software Assurance you will be automatically eligible for the new licenses. For those that aren’t it will require new OS purchases and more to be able to get with all the latest and greatest features in the next Dynamics CRM version.

Important information about supported configurations in the next release for CRM

Changes in supported platform software

“For the next release, we’re removing the following operating systems from our Microsoft Dynamics CRM Server support matrix:

  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Small Business Server (All versions)

We’re removing the following SQL Server versions from our Microsoft Dynamics CRM Server support matrix:

  • Microsoft SQL Server 2008
  • Microsoft SQL Server 2008 R2

We’re removing Microsoft Dynamics CRM for Outlook support for:

  • Windows Vista
  • Windows Server 2008 Remote Desktop Services
  • Microsoft Office 2007

Our current plan for Microsoft Dynamics CRM Server is to target only Windows Server 2012, Windows Server 2012 R2, and SQL Server 2012 for the next release time frame.

Note that we’re exploring support for SQL Server 2014 with Microsoft Dynamics CRM Server, but we haven’t made a decision at this time.”

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 but it’s even less descriptive:

<InnerFault>
   <ErrorCode>-2147204719</ErrorCode>
   <ErrorDetails xmlns:a=”blah-blah-blah” />
   <Message>Unable to load plug-in assembly.</Message>

  1. It’s non-intuitive (since you have to look up assembly on disk during the registration process!) but you already must have the assembly copied over into <CRMInstallation>\Server\bin\assembly folder on the server.
  2. Other reason is a bit trickier: CRMAppPool account must have at least read permissions on <CRMInstallation>\Server\bin\assembly folder. Normally everything is OK after the installation, but, after switching pool to another account (e.g. switching to domain account from NETWORK SERVICE for load balancing), folder permissions may go out of sync.

That wouldn’t have happened, of course, if you followed advice of Gonzalo “Comer mis pantalones cortos realizados en Canadá” Ruiz and registered your assembly in the database.

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.