3Aug

Microsoft CRM 2011 Update Rollup Version

Microsoft Dynamics CRM updates and rollups are an important part of maintaining a healthy CRM system. In addition to resolving documented issues, updates can deliver new features (e.g. UR 12 with cross browser support).

Staying current is strongly recommended and getting too far behind can turn costly when trying to upgrade.  Luckily, checking the current rollup is simple.

Finding the current Microsoft CRM 2011 Update Rollup Version

From the Web Client, click File > Help > About Microsoft Dynamics CRM

About Microsoft Dynamics CRM

Finding the current Microsoft CRM 2011 Update Rollup Version

 

At the top of the dialog is the current version of the environment:

Finding the current version

 

 

From Outlook, the process is just as easy.  Click File > CRM > About Microsoft Dynamics CRM

Finding the current CRM Version in Outlook

 

Microsoft CRM 2011 Update Rollup Version History

 

Version Build Number Release Date (M/D/YYYY) KB Articles:  SDK Version
RC 05.00.9688.53 KB2461082
RTM 05.00.9688.583 2/16/2011
Update Rollup 1 05.00.9688.1045 4/7/2011 KB2466084
Update Rollup 2 05.00.9688.1155 6/6/2011 KB2466086
Update Rollup 3 05.00.9688.1244 7/26/2011 KB2547347  5.0.5
Update Rollup 4 05.00.9688.1450 9/19/2011 KB2556167
Update Rollup 5 05.00.9688.1533 10/20/2011 KB2567454  5.0.7, 5.0.8
Update Rollup 6 05.00.9689.1985 1/12/2012 KB2600640  5.0.9
05.00.9690.1992 1/20/2012
Update Rollup 7 05.00.9690.2165 3/22/2012 KB2600643  5.0.10
Update Rollup 8 05.00.9690.2243 5/3/2012 KB2600644
Update Rollup 9 Cancelled
Update Rollup 10 05.00.9690.2730 8/16/2012 KB2710577  5.0.12
05.00.9690.2740 10/4/2012
05.00.9690.2835 10/11/2012 KB2739504
Update Rollup 11 05.00.9690.2838 10/23/2012
Critical Update for Update Rollup 11 05.00.9690.2903 7/26/2013 KB2855319
Update Rollup 12 05.00.9690.3218/ 1/7/2013 KB2795627  5.0.14
(OnPremise / v2) 05.00.9690.3233/ 1/30/2013
05.00.9690.3236
CRM Online “Polaris” (UR12+) 05.00.9690.3233 1/13/2013  N/A  5.0.14
Update Rollup 13 05.00.9690.3448 3/26/2013 KB2791312  5.0.15
Update Rollup 14 05.00.9690.3557 7/13/2013 KB2849744  5.0.16
Update Rollup 15 05.00.9690.3731 10/8/2013 KB2843571  5.0.17
Update Rollup 16 05.00.9690.3911 1/22/2014 KB2872369
Update Rollup 17 05.00.9690.4150 5/8/2014 KB2915687
Update Rollup 18 05.00.9690.4376 9/24/2014 KB2958724

 

Knowing where you are at and where you want to go is important.  If you are on a CRM 2011 version and are thinking about upgrading to CRM 2015, then upgrading to UR 14+ is required to get to CRM 2013.  As a general rule, it is good to install the updates and be proactive toward issues.

11Feb

Navigating CRM 2015

Navigating CRM 2015 is quite different for users familiar with CRM 4.0 or 2011.  Have you ever been in a CRM window and notice the browser’s back button isn’t there?

When training new users, I often hear people concerned about not seeing the back button and feeling stuck.

Missing the Back Button

The developer behind this loves “where’s waldo”

 

Luckily this is very easy to handle.  To go back, you can use a keyboard shortcut of “[alt] + [left arrow]”.  Pretty easy.

If you want to try it yourself, open a record via Advanced Find and then click a related record.  To get back to the record you first opened, you can hold [alt] and press the [left arrow] key to browse back.

Between the advanced find in the ribbon and the global search feature, users will easily be able to quickly find what they are looking for.  With this shortcut, users won’t ever feel stuck and will enjoy navigation CRM 2015.

26Nov

Fetch XML Editor Error Handling

Recently I added an update concerning the Fetch Tester 3000 containing some improved error handling.  If you are unfamiliar, Fetch Tester 3000 is a terribly named Fetch XML Editor available on CodePlex.  Before we look at the Fetch XML Editor Error Handling, let me provide a quick general update…

Twitter is awesome!

Last Friday was interesting for me. I finally released the editor and oddly enough someone else released one as well.  These solutions were hours apart and @crmanswers brilliantly called it “FetchXML Friday.”

The FetchXML builders are quite different presently but the feature paths look similar.  My plan is to have the Fetch Tester 3000 work with both the XrmToolbox and as a managed solution within CRM.  I can see users having a strong preference for one way or the other and so why not both?  I also want to build a GUI.  In fact, I’ve got a laundry list of features planned.

The benefit of the managed solution is leveraging context within CRM.  I want to save and edit views with this tool.  The SDK allows for complexities the normal interface doesn’t offer.  Additionally, it would be cool to have an advanced find and switch to the Fetch Tester 3000 with it loading what’s already built in the advanced find.  A managed solution can also be used with tablets.

Read More »

14Nov

Fetch XML Editor (Part 2)

The saga continues…

I’m infatuated slightly so I’m not trying to hype this as much as just broadcast my own excitement.  The tool might not be as easy as stunnware was back in the day, but it should make things significantly easier.

Fetch XML Editor (Part 2)

Tonight I was able to get the auto-complete working for the linked-entity relationships (one-to-many).  Justin has got the validation taking place and it’s pretty incredible.  The error messages are clear and helpful.

I also built a mockup of the interface (let us know your feedback).

Love it or hate it?

Love it or hate it?

 

Random Useless Info

Found something the other day that I thought was interesting.  I never noticed this because I usually validate my fetch using Notepad++, but CRM doesn’t validate your fetch against the schema before executing.  This is probably due to performance.

Anyhow, this fetch will execute:

The results are NOT correct; however, the fetch does execute.

Why does this matter?  Look, I already said this was useless…  But it also means the validation feature within ft3 will be optional.

12Nov

Fetch XML Editor (part 1)

I’m a big fan of Fetch XML.  Unfortunately, to many, it can be frustrating.  Anytime I’m at a conference and I talk about fetch being my preferred way to pull data, I unintentionally create an argument.  I get that fetch is complicated.  I agree that fetch barely has any of the features of SQL.  However, fetch is still the fastest way to pull data from CRM and offers the most flexibility in retrieving complex information.

Note: As a reference for performance, if you ever used my CRM Data Detecitve tool, you’d know that aggregate calls are quite fast.

Years ago I wrote a few blog posts on executing fetch via JavaScript simply because the 2011 endpoint had some awesome functionality I wanted to leverage.  Later I wrote a simple tool for my own use and dubbed it Fetch Tester 3000 (after mystery science theater 3000).  I never published this but friends saw the tool and kept asking for me to share it.  A couple weeks ago a buddy mentioned wanting to create a community tool and I mentioned my fetch utility.  At that point we decided to upgrade the tool and get this out to the community.

Why create a Fetch XML Editor?

Simple.  To make writing fetch easier than ever.  But if we’re making a fetch tool, we have to include some extra features:

  • Editor with an intelligent auto-complete
  • Fetch XML Schema validation to provide better error messages
  • Tabular output with export to excel functionality

These are only a few of the features we’re actively addressing and here is a sneak peek…

Auto-complete of CRM metadata

 

 

18Jul

Sending Text Message Alerts from CRM 2013

I often find users are looking for ways to alleviate the email overload.  Sometimes important emails are missed due to a hectic day.  In some situations a remedy I like to incorporate is the ability to text message a user for events or status changes the user really cares about.  Leveraging Microsoft CRM and cell phone carriers’ email feature, we can offer users the ability to receive critical alerts via text messaging in addition to normal email.

 

Emailing a Text Message

What’s great about this is that you don’t need to install a special add-on to send text message alerts from CRM.  What you will need is the recipients cell phone number and carrier.  Each carrier has a specific text message domain, here’s a list of the most common carriers (full list here):

Carrier Domain
AT&T @txt.att.net
Sprint @messaging.sprintpcs.com
T-mobile @tmomail.net
Verizon @vtext.com

All of the carriers use the format of phone number followed by the domain.  For example to send a text message to a Verizon user, you’d email them 8645551234@vtext.com.

When you send text message alerts from CRM you’ll have the subject in parenthesis (if populated) and the body will be shown right after.  Here’s an example:

image

Read More »

30Jun

JavaScript references in Microsoft Dynamics CRM 2013

CRM 2013 is designed to be customized in almost any way imaginable.  Through the use of plugins, workflows, JavaScript and configuration, CRM can be adapted to fit a massive number of needs.  One of the best tools is JavaScript, which allows you to customize the form to interact and guide the user how you see fit.

I had searched through the SDK to provide a comprehensive reference to pass along to some developers getting ramped up on 2013, but really couldn’t find a nice collection.  I of course went to Bing and found a nice collection to share.

Slightly modified, here is reference documentation for client-side events and object models that can be used with JavaScript libraries (*marked is new in CRM 2013).

To start, this page is broken into the following:

Xrm.Page provides a namespace container for three objects: context, data, & ui

Xrm.Page provides a namespace container for three objects: context, data, & ui

 

Xrm.Page.context

Xrm.Page.context provides methods to retrieve information specific to an organization, a user, or parameters that were passed to the form in a query string. The following table lists the functions of Xrm.Page.context.

 Xrm.Page.context
client.getClient* Returns a value to indicate which client the script is executing in.
client.getClientState* Returns a value to indicate the state of the client.
getClientUrl Returns the base URL that was used to access the application.
getCurrentTheme Returns a string representing the current Microsoft Office Outlook theme chosen by the user.
getOrgLcid Returns the LCID value that represents   the base language for the organization.
getOrgUniqueName Returns the unique text value of the   organization’s name.
getQueryStringParameters Returns a dictionary object of key   value pairs that represent the query string arguments that were passed to the   page.
getUserId Returns the GUID of the SystemUser.Id value for the current user.
getUserLcid Returns the LCID value that represents the provisioned language that the user selected as their preferred language.
getUserName* Returns the name of the current user.
getUserRoles Returns an array of strings that represent the GUID values of each of the security roles that the user is  associated with.
isOutlookClient (Deprecated) Returns a Boolean value indicating if the user is using Microsoft Dynamics CRM for Outlook.
isOutlookOnline (Deprecated) Returns a Boolean value that indicates whether   the user is connected to the CRM server.
prependOrgName Prepends the organization name to the   specified path.

Read More »

22May

CRM 2013 FetchXML Improvements

With CRM 2013, Microsoft added some awesome improvements to their FetchXML.  For those unfamiliar, FetchXML provides you an easy way to query information out of CRM.  With the CRM 2013 FetchXML improvements you can perform significantly more queries than ever before.   Today I want to show you my favorite new feature which is alias filters.

CRM 2013 FetchXML Improvements – Looking at an Example

Let’s say you wanted to find the number of active accounts without contacts.  With CRM 2013, this is now possible and super simple, here’s how.

To start, let’s query for all of our accounts:

Simple enough, and in my test scenario I get 15,179 records.

To be fair though, we are only looking at active accounts, so let’s add a filter.

This returns 14,589 active records.

Adding our Linked Entity and Alias Filter

Now comes the fun part, with 2013 we can also add to our filter, columns concerning our linked entity.

This returned 839 records.  That means in my CRM environment, I have 839 accounts that do not have any contacts associated.  In my case, I want to list those accounts and find which ones need to be deactivated and/or who from sales I should contact to make sure we get the proper contact information inside CRM.

At this point, the count tells us the number of companies we need to review, but really we want tangible data.  Let’s modify this query to get something we can have someone analyze.

Here I’ve added the telephone and composite address (which pulls line 1, city, state, and zip).  I’ve also limited this to 10 records in case your environment has way more than 800.  The primarycontactid should not return, but I’ve included so you can verify.

 

Looking at our Fetch filter, you may notice a new attribute called entityname.  For some of you, this is pretty exciting and ideas are churning through your head already.  If you’re like me, you have had to perform multiple queries to accomplish similar feats.  Luckily with CRM 2013 we can get to our desired data quicker and easier then ever before.

 

What are some more scenarios?

With the new alias filter option, you can look for:

  • Leads without tasks
  • Contacts without activities
  • Strategic contacts without activities for the last 6 months
  • Contacts for top tier accounts in one city combined with contacts for top tier & important accounts in another city

The last one may seem random, but the more you explore the alias filter the more you will be glad you did.

I hope you enjoy!

 

 

25Apr

CRM 2013 – Aggregate Query Record Limit Exceeded

If you are using my CRM Data Detective or trying to perform aggregate queries against your CRM database, you may occasionally see an obscure error message.

CRM 2013 - Aggregate Query Record Limit exceeded

CRM 2013 – Aggregate Query Record Limit Exceeded

 

The specific message is:

AggregateQueryRecordLimit exceeded.  Cannot perform this operation.

 

CRM 2011 and CRM 2013 by default are limited to performing aggregate queries on less than 50,000 records.  With online, you cannot change this value; however, with on premise or partner hosted you can.  I’d recommend modifying this value to 250,000.

In my experience, CRM easily handles 250,000 records as long as you’re following the hardware specs Microsoft recommends.

Modifying the On Premise Settings

Warning!  If you are unfamiliar with making these changes, ask someone who is familiar for help.  Whenever you are making advanced setting changes, use caution.

To increase the limit, you’ll need to modify:

Database: MSCRM_CONFIG
Table: Deployment Properties
Column: AggregateQueryRecordLimit

To query the current value:

To modify:

 

Here’s an MSDN reference for using C# and/or PowerShell: http://msdn.microsoft.com/en-us/library/gg328128.aspx

 

If you are interested in other limits CRM has, take a look at this:

http://social.technet.microsoft.com/wiki/contents/articles/12601.crm-2011-timeouts-and-limits.aspx

 

I hope you enjoy!

© Copyright 2012-2014, All Rights Reserved