Tip #209: Who’s your sister?

When it comes to the coding, not always but often, less means better, faster and more manageable code. I’ve recently come across of someone else’s (could it have been me 4 years ago?) piece of work updating bulk email setting for the contact:

Contact contact = 
    context.Retrieve(
        "contact", contactId, 
        new ColumnSet(true))
    .ToEntity<Contact>();
            
contact.DoNotBulkEMail = true;
context.Update(contact);

Sigh. The “all columns” sin aside, the retrieve is absolutely unnecessary. You know what to update, why wouldn’t you just send that information over and let the server do its job?

context.Update(
   new Contact()
   {
      Id = contactId,
      DoNotBulkEMail = true
   });

And no, “new” operator will not create a new contact record. Always remember, brevity is the sister of the talent.

Tip #208: Make Dashboards More Touch Friendly

In Dynamics CRM 2013 when using touch on a PC or a tablet like an iPad, you can view dashboards, but sometimes navigation and scrolling on dashboards via touch can be a bit tricky. When you touch a chart and swipe up and down, the dashboard will scroll as expected. However, if you touch a list and swipe up and down, the dashboard will not scroll. Rather, the list will scroll up and down. if you touch a list that has no data in it and swipe up and down, the page will get pulled up and down, but the dashboard will not scroll.

The following tips will make your dashboard more touch friendly:

  1. Teach your iPad users to use CRM in landscape orientation. When viewed in portrait orientation, you will only see one web part at a time. If you have a list/view on the dashboard, when you reach that component, you will be unable to scroll the dashboard. By viewing the dashboard in landscape orientation, you will see two components at the same time.
  2. Configure the dashboard so only charts appear on the right side, lists and web resources on the left. Since most people scroll webpages with their right hand, this will ensure that users get a consistent navigation experience when accessing CRM from a touch browser.

Tip #207: Remove password expiration for O365/CRM Online

Password expiration in CRM Online is indeed a nuisance and can be changed but the maximum password expiration period configurable using Office 365 administration portal is 2 years.Like a boss meme If you intend to use O365/CRM Online for longer than 2 years, you may want to consider using Powershell tools to do it like a boss.

The following instructions are applicable to Windows 8 x64 machine and are abridged version of managing Azure AD using Windows PowerShell:

  1. Install Microsoft Online Services Sign-In Assistant
  2. Install Azure Active Directory Module for Windows PowerShell (64-bit version)
  3. Start Windows Powershell and run the following script:
    Connect-MsolService
    
    Set-MsolUser -UserPrincipalName <user ID> `
       -PasswordNeverExpires $true
    
    # The following line will do it for all users.
    Get-MSOLUser | Set-MsolUser `
       -PasswordNeverExpires $true

Tip #206: Change the password expiration policy on Office365/CRM Online

Arghhhh – AGAIN?

If your company uses Office365 (Exchange Online), I am sure you’ve had reactions like the one above several times in your life. Every 90 days actually.

90 days is the default Password Expiration Policy for Office365 (shorter than the 42 days of Active Directory) and this affects CRM Online.

I get this question all the time: “Is there any way we can extend the expiration time for CRM Online?

Absolutely!

I’ve been a Certified Ethical Hacker since 2005 (It’s a real thing, look it up :)), and I can tell you that these expiration settings offer very little protection, in my opinion. Most “password attacks” are based on Social Engineering, and most people (including “IT Experts”) rotate the same 2 or 3 passwords every time they are asked to change it. I bet you do too. We all do.

These Password Expiration policies were created based on time estimates of how long it would take for a super computer to decode the hash (unicodePwd in Active Directory) and get everyone’s password. So the idea is that by requiring people to change their password every 6 weeks they won’t get any good passwords if they are able to decrypt the hash. Some companies even apply “password history” policies where you are unable to use any of your last 15 passwords or something along those lines to “increase security”. Most people just end up increasing a number within their password by one and calling it a day.

So, nowadays it seems that more and more organizations are agreeing with my thoughts on this subject and requesting an increase on the expiration policy.

After you make sure that your organization supports the change, follow these steps to increase the expiration policy in Office365:

1. Open the Office365 Admin Portal (https://portal.office.com):

1

2. Navigate to the Active Users Tab, and then click on “Change now” on “Change the password expiration policy for your users”:

2

 

3. Type the number of days before the password should expire. Choose a number of days from 14 to 730. Click Save.

3

 

Your new password expiration policy has been set!


What do you think about this tip?

Do you have any comments on the “Accepted wisdom” of password expiration policies?

Drop us a line here – we would love to hear your feedback!

Tip #205: Other Really Killer New Features Spring ’14

It’s the last day in the series of topic specific video posts for the Spring ’14 Dynamics CRM Online release.

Today we have finish up with a collection of 6 different topics that I have grouped together. When you finish this set in the series give yourself the Spring ’14 Badge of Knowledge.

Misc Items

YouTube player

SharePoint Document Management

YouTube player

Outlook Client

YouTube player

Installation of Product Updates

YouTube player

Social Profiles and Activities

YouTube player

Status Reason Transitions

YouTube player

Tip #204: Service and Cases New Features Spring ’14

It’s day number 4 and hopefully you have an invested one hour each day for the last 3 days getting up to speed on all the great new features in CRM Online.

Today there are few more videos than the other days and they are a bit longer. Why? Because the Service Module got a big bump with this release.

Serving them up to you now!

Case Management

YouTube player

Service Level Agreements

YouTube player

Timer Control

YouTube player

Queue Enhancements and Routing Rules

YouTube player

Automatic Case Creation

YouTube player

Entitlements

YouTube player

Tip #201: Mobile App New Features Spring ’14

If you are still trying to figure out all the new features in the Spring ’14 release to Microsoft Dynamics CRM Online, join the crowd. It’s the old, drink from the fire hose challenge. So over the next 5 days I am going to post by topic links to new feature videos that the CRM product team put together. Most of them are real short – 5 minutes or so, but none of this 1 hour stuff.

Here is the challenge, each day this week open up the next tip in the series and while you are eating lunch at your desk or taking a breather between tasks, play a video.

Today’s videos are all on Mobile

Overview

YouTube player

New Features

YouTube player

Windows 8 App

YouTube player

Android App

YouTube player

Tip #200: Now you see it now you don’t

As you may or may not know, Unified Service Desk (USD) has made its appearance alongside with CRM 2013 SP1 in May 2014. It makes use of User Interface Integration (UII) SDK capabilities that has been part of Dynamics CRM SDK download since December 2013. We thought it was important back then but now there are other reasons to be excited about it.

USD makes use of UII capabilities and is delivered within CRM overall framework but to make it work, the team had to add some features that’s been on our wishlist for a long time. One of these features is ability to hide navigation elements of the URL addressable forms, views, dialogs and reports.

The following are the query string parameters used with the main.aspx page to open entity forms or views:

navbar

…Controls whether the navigation bar is displayed and whether application navigation is available using the areas and subareas defined in the sitemap.

  • on — The navigation bar is displayed. This is the default behavior if the navbar parameter is not used.
  • off — The navigation bar is not displayed. People can navigate using other user interface elements or the back and forward buttons.
  • entity — On an entity form, only the navigation options for related entities are available. After navigating to a related entity, a back button is displayed in the navigation bar to allow returning to the original record.

cmdbar

…Controls whether the command bar is displayed.

  • true — The command bar is displayed. This is the default.
  • false — The command bar is hidden.

For example, try dropping the following into your browser and you should see Active Contacts view in a naked browser:

https://<your CRM URL>/main.aspx?etn=contact&pagetype=entitylist&viewid={00000000-0000-0000-00AA-000010001004}&viewtype=1039&navbar=off&cmdbar=false

What’s great about it is that now you can embed CRM views and forms into other web pages in iframes and drop them into portals or SharePoint. And if you have single sign-on sorted out, users won’t even know that it came from CRM.

This tip was a timely reminder from Mark “Sweet nzCRMguy As” Smith