Sonoma Partners Microsoft CRM and Salesforce Blog

CRM On-Premise to Online Conversion

Today's blog post was written by Jen Ford, Principal QA at Sonoma Partners.

For those of you using Microsoft Dynamics On-Premise (2011/2013/2015), there is now a way to get assistance from Microsoft when converting from CRM On-Premise to Online using Dynamics Lifecycle Services.

Dynamics Lifecycle Services is an Azure-based collaboration portal to help you manage your Dynamics 365 for Operations implementations.

At a high level, Lifecycle Services (LCS) allows you to manage projects and its related tasks. If you have a CRM Online usage license, you can log into Lifecycle Services with that same account with no additional cost. And now, we can also use it to facilitate the conversion process.

Dynamics implementations have many things that make an upgrade or migration not-so-simple: custom code/entities/fields/reports, new options added by Microsoft, or depreciations removed by Microsoft. Tackling this by yourself requires someone dedicated to review the code, fix the code, and migrate your customizations, code, and data. This could end up being a time-intensive, costly effort that can require many resources, require you to engage your partner for a large scale project, and/or can produce significant amounts of manual testing to verify that the migration and upgrade were successful. Many clients end up purchasing third party tools to help facilitate this effort – another added expense.

Dynamics Lifecycle Services aims to automate some of these steps so that time spent reviewing and fixing code, upgrading, and migrating are all minimized so that you can focus your efforts on more important aspects of your implementation, such as taking advantage of the new features in Dynamics 365.

Right now, using this feature to convert from CRM On-Premise to Online is available through nomination into the Preview program only. Feature improvements to the conversion process will be made available in monthly releases. You can contact your Dynamics Partner to get nominated. Once your nomination is accepted, you will receive an access key that you can use to add a new Private Preview Feature in Lifecycle Services and create a Project specifically for the CRM On-Premise to Online Migration.

Jen ford migration 1

This sets up the three-phase Project in Lifecycle Services to guide you through all of the necessary steps to move to CRM Online.

Phase 1 – Customer Information Gathering Phase

This step is all about prep work. In this phase, you are identifying your organization and making your data available for eventual migration/upgrade. You will connect Lifecycle Services with your Azure subscription, and upload a backup of your SQL database to your Azure environment, as well as an Active Directory User file to set the users in your new Online instance.

Jen ford migration 2

Phase 2 – Staging Environment Setup and Validation Phase

This is an iterative phase, and you may need to cycle through this a few times to make sure your customizations and code are ready for conversion.

First, the project will guide you through creating a CRM staging environment. Then, Validation services are initiated from Lifecycle Services. Two tools are run: the Upgrade Assessment Tool and the Code Conversion Tool. This is trying to uncover unsupported customizations and code that will not upgrade. When these tools are done running over your CRM database, errors will be saved in a SQL Azure database and will be shown to you on the Power BI dashboard. You will need to fix the errors and rerun the validation services again. Then, lather, rinse, repeat until the errors are all cleaned.

The next step is to go through the upgrade process to get the database to the minimum possible version that it needs to be before it is converted to CRM online. If you are on CRM 2011, it will first upgrade your database to CRM 2013, and then to CRM 2015, before it is ready for CRM Online. If you are on CRM 2013, it will first upgrade your database to CRM 2015 before it is ready for CRM Online. At the time this blog was posted, converting from CRM 2016 to CRM Online was not yet supported, but will be in the future.

Phase 3 – CRM Online Migration Phase

In this last phase, the database is upgraded to CRM Online. Your users are created in CRM, and the data uploader service provides a way to get your data and customizations set in your new Dynamics 365 Online organization.

Once all steps of the guided project are completed, your CRM Online organization will be ready to use.

Topics: CRM Upgrade

CRM Upgrade with SQL AlwaysOn

Today's post was written by Neil Erickson, Development Principal at Sonoma Partners.

As a firm that specializes in CRM consulting, we are proponents of using the technology we sell in our own processes. 

When upgrading to Dynamics CRM 2015 we went through the effort of moving to new hardware for both the CRM servers and SQL server. We decided that it was time to implement SQL AlwaysOn for redundancy.  A year later when it was time to upgrade one of our systems to CRM 2016, we elected for an in-place upgrade since both Windows and SQL remained up to date.

The upgrade process was going along without issue until the following error occurred:

System.Exception: Action Microsoft.Crm.Tools.Admin.SetReadCommittedSnapshotIsolation failed. ---> System.Data.SqlClient.SqlException: The operation cannot be performed on database "Grapevine_MSCRM" because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.

Microsoft Dynamics CRM with SQL AlwaysOn

Upon reading the exception, my first thought was that we would need to completely undo the availability group and then rebuild it once the upgrade was complete.  Due to the size of the database, I expected that this could add an additional two hours to the upgrade process. 

Luckily, this process was not as lengthy as I imagined.  It was possible to go in and remove it from the Availability Group and have the upgrade process retry the action.

Remove Datasbase from Availability Group

This leaves the database running on what was the Primary Replica, and in the restoring state on the secondary.





Once the upgrade finishes you can add the database back to the availability group. Because the secondary is still in restoring mode, it will simply catch up the changes. This takes considerably less time than a full backup and restore cycle, and it can be accomplished by selecting “Join Only” for your initial data synchronization preference.

Topics: CRM Upgrade Microsoft Dynamics CRM

Mobile Friendly Experience with Dynamics CRM 2016

Microsoft Dynamics 2016 has recently been released, and with it comes a slew of new features.  Microsoft once again continued its investment in the mobile space and has made their free mobile client which is available from the app stores now have an extra level of configurability to give them an even better mobile touch.

Microsoft has constantly preached their “configure once, deploy everywhere” motto, and recent dynamics updates have continued that line of thinking by allowing users to configure the CRM record form once, and have it deploy to the Web client, Tablet client, and Phone client all at once without having to configure them separately.

Now with 2016 Microsoft has added the ability to add a little bit of mobility flavor to the form configuration.  They’ve realized that there needs to be more creativity in an application versus just a form and a list of fields, especially with mobile devices.  And with such thinking they are allowing users to configure the form once, but for the Phone and Tablet client, allowing users to specify a mobile friendly control to wrap around that field.

What does this mean?  It means that instead of having an integer field show up as a text box that allows numbers only, it can show up as a slider control that can be easily dragged and dropped when on a mobile device.  It means that instead of having a field that opens up a dropdown list of values, that the options show up as tabs that are clickable in which clicking selects that value for the field.

Sounds pretty neat right?  Well it is and below we go into more details about how to set this up.

Configuring the Mobile Friendly Controls

As mentioned above, this is all configured from the single Form definition, and administrators don’t need to go to a different location in order to enable the mobile friendly controls for the Phone client or Tablet client.  By double clicking on a field and going to the “Controls” tab, you’re able to add a control, of which you can then apply it to the Phone client, Tablet client, or both.



As you can see above, you can also populate some parameters per the control.  For example, on the Linear Slider on a currency field, you’re able to specify the minimum amount, maximum amount, and what the step amount is each time you move the slider left and right.  This configurable value can be hardcoded to a static value, or you can actually bind it to another value on the form which makes your controls much more dynamic based on the data you have in your environment.

Available Controls

Now that you’ve seen how to configure the controls, lets dive deeper and see a preview of what each of the controls looks like.  For each of the controls below I’ve first provided a screenshot of configuring the control that shows what types of fields it can be used with, and then I provide a screenshot of the actual control as it appears on the Tablet App.


The Calendar Control replaces any list on a dashboard, view, sub grid on form. This isn’t available for only Activity related records, but will work for any entity that has a date (e.g., displaying Opportunities by Created On or Estimated Close Date on the Account form)

image image

Arc Knob

The Arc Knob control binds to numeric controls and allows you to visualize the value of your field in an arc that has configurable min/max/step values.

image image


The Auto complete control provides your users a way to enter data to a Single Line Text field, using a predetermined list of values.  The values can be bound to an Option Set, or to an Entity with a specific  View.  A great use case for this control would be a list of States and Countries, where you can have an entity for the State and Country values, but provide users a quick way of entering that data versus the expensive route of using lookup controls.

image image

Bullet Graph

The Bullet Graph control allows you to to see the value of your field in relation to a target.  You’re required to set a min value, max value, and a target value.  Then you can also provide a “Good” and “Bad” value which will further assist end users with visualizing how they’re doing compared to the company standards.  A great use case of this would be binding to the Actual Revenue and Estimated Revenue fields on an Opportunity to visualize actual versus estimated revenue.

In my example below, my min is 1, max is 100, and target is 75.  Then I have a good marker of 90, and bad marker of 50.  Given the value of the field which is 60, you can see how the other values are represented on the control.

image image 

Flip Switch

The Flip Switch control is another way of visualizing a bit field with only two options.  Instead of a checkbox, or radio buttons, the control displays the selected value in an “on/off” electrical switch type of manner.

image image

Input Mask

Input Mask controls are a great way to get data in a Single Line of Text field formatted a specific way.  For example, if you want to have all of your phone numbers formatted with parenthesis and dashes, then you’d have your Mast value set to the following:


Doing so provides the end user an experience as displayed in the screenshots below.  The user will not be able to save the value entered in the field until the entire input mask is honored.

However, note that the data IS NOT stored in the database field with the mask.  That means for my example below, if I entered (312) 627-0700, the data would appear on the CRM web form (and in the database) as 3126270700.

image image image

Linear Gauge

The Linear Gauge control is another visual representation of a number / currency field.  It gives you the ability to configure a min, max, and step values.  This is very similar to the other numeric controls but simply another variation to provide you with multiple options.

image image

Linear Slider

Similar to Linear Gauge, Linear Slider is another variant on displaying a number / currency field in a more visual aspect.  The same min, max, and step values are configurable on this control.

image image


The Multimedia control is a great way to take a URL field (Single Line of Text formatted as such) and have it play audio or video directly within the application without having to leave and visit a web browser.


Number Input

Another way to quickly update number and currency fields is the Number Input control.  This provides users the ability to type a number directly in the middle white area, or use the plus and minus buttons to quickly increment or decrement the value based on the step that’s configured within the control on the form.

image image

Option Sets

The Option Set control is used with, well you probably already guessed it, Option Set fields.  The control provides tabs in a horizontal line with the available options for the user to quickly tap and select a value.

Note that this control is best used with a small number of options (2 or 3) and also ideal for option sets where the length of the text in the values is short.  You want to make sure that the options horizontally visually fit in a single line otherwise your users won’t see the benefit of this control.

image image

Pen Control

The Pen Control is a way to use the touch feature of mobile devices such as a Surface or iPad, in order to capture free form drawings or written text.  The control is only available for Multi Line Text fields

 image image

Radial Knob

The Radial Knob control is yet another flavor of how to display a number or currency field on a mobile device.  With this control, clicking and dragging clockwise around the knob increments the value of the field based on the step configured.

image  image

Star Rating

The Star Rating control allows you to set a numeric value via the use of up to 5 stars.  Since the field in CRM could have a max larger than 5, what happens is that the tablet would represent any value of 5 or higher as 5 stars.  Similarly, any value of 0 or less will be represented as 0 stars.


Website Preview (CRM Online Only)

This control allows any Single Line of Text URL field to preview the beginning of a website entered into it.  Microsoft provides a disclaimer with using this control indicating that you consent to allow users to share certain identifiable device information with an external system as this makes use of an external service.  Note that this control is only available for CRM Online orgs.

image image

What Next?

As you can see the focus on mobility by the Dynamics CRM team has led to great improvements in the mobile clients and we’re excited to see where the product goes next.

If you have any questions about the mobile clients, CRM 2016, or anything else please don’t hesitate to reach out and Contact Us.

Topics: CRM Upgrade Microsoft Dynamics CRM 2016

Upgrading to Microsoft Dynamics CRM 2015? Here's What You Should Consider


Are you currently working with a version of Dynamics CRM pre-2015?  Have you not yet experienced the new flattened “single window” UI?  Do you not know what a CRM Solution is?  Or even worse, do you still use call-outs and deploy custom web resources to the physical CRM Servers (yikes!)?  If so, it may be time to start thinking of an upgrade to Microsoft Dynamics CRM 2015.

Upgrading any software can be a frightening thought and something you’d rather just put on the back burner.  However, delaying the upgrade has some negative impacts as well:  you obviously miss out on the latest and greatest features, and delaying the current pain of an upgrade may mean more pain down the road if you’re not on top of the latest software. Upgrading from 2011 to 2015 is much easier than 3.0 to 2015.  In other words, your current self can rest easy, but the pain you’re causing your future self is growing by the day. 

How configured are you?

A good consideration to take when you do decide to upgrade is, how much of a beast has your CRM system become?  You may have had multiple vendors, multiple deployments, multiple internal project sponsors with different priorities of a CRM system, and years of band-aiding a system you don’t even want to think about upgrading.

In this scenario, it may be best to take a step back.  Look at the Dynamics CRM upgrade as an opportunity to clean up all the noise that has accumulated in your deployment and revalidate the work that has been done over the years.  Use this as your opportunity to deploy 2015 in a “clean slate” and interview the key business groups as if they don’t have a CRM system at all.  Just because something was built and functionality was added to your deployment, doesn’t mean it’s needed.  Ask the question “why?” and if nobody can provide an answer, seriously consider leaving it behind.

Going through this process means you’ll most likely need to write a process to migrate data from your current version, to 2015.  You don’t want to go through the upgrade process which would automatically take all your current customizations and migrate them to 2015.  Instead, you’ll want to start with a fresh install and reconfigure your environment based on the requirements you obtained during the “revalidation discovery” process.  E.g., there may be fields that drop from your schema going forward.

On the other hand, if your system is small, relatively new, and hasn’t had many deployments to it since go-live, you may want to have the upgrade process perform most of the heavy lifting for you.  This means you won’t have to write a migration process – the upgrade process will automatically perform any data conversion needed for 2015.

If your current system hasn’t been too configured, chances are that the changes you’ve made have been supported.  Therefore, they should automatically upgrade through the upgrade process with not much falling out for you to manually clean up.

Budget is a big driver of this conversation as well.  If you have a massive implementation, it may be quicker for you to start fresh and implement just those features you want to carry forward versus trying to upgrade an old archaic system with a lot of deprecated code.  However, if your implementation isn’t complex, and all your code was supported via the API and nothing is deprecated, an actual upgrade may be quicker versus redeveloping.

Pre 2011 vs. Post 2011

There are a lot of clients out there that aren’t on Dynamics CRM 2011 or greater.  If this is you, you’ll want to definitely consider adding more time to your upgrade process as 2011 introduced some pretty groundbreaking changes to the deployment model.

With 2011, all customizations and configurations are packaged up in a Solution.  This includes any custom web pages, JavaScript files, etc.  With versions prior to 2011, these files were manually deployed to the server which means that they would have to be converted to 2011 format prior to upgrading to 2015.  If you’re on 2011 or later, then that work has been done already for you.  If you’re on a pre-2011 version, then you’ll need to factor that time into your upgrade decision.

Continued Investments into Mobile

Microsoft officially entered the mobile space with Dynamics CRM 2013, and they continue to improve upon that story.  With the release of 2015 they made enhancements to the Tablet Client by introducing an offline story, and making the dashboards more configurable.

Now with 2015 Online Update 1, they have introduced a refreshed phone app that has the same rich functionality that the tablet app has.  There’s still a lot of room for improvement in these apps, and during our time at Convergence 2015, the mobile roadmap looked feature rich.  If mobility is something you’re looking to get into, upgrading to the latest version of CRM could go a long way as you’d get a free mobile app in the process.

Features, features, features

Of course, the main driver for upgrading usually is the features that the new product comes with, and Dynamics CRM 2015 doesn’t fall short in this category.  With 2015, and 2015 Online Update 1 (Carina), Microsoft has continued to add to its already feature-heavy product.  Key notable features rolled out in these latest versions are:

  • Multi Entity Search
  • Business Rules
  • Business Processes
  • Continued Mobile Improvements
  • Hierarchical Security
  • Hierarchy Visualizations
  • Outlook Sync Improvements
  • Folder Level Tracking – Outlook Email Sync
  • Refreshed UI with cleaner Site Map
  • Theming
  • Date Only Fields
  • Office Groups Integration
  • OneNote Integration
  • Immersive Excel
  • Export to Excel Improvements

If any of these features are something you’ve been waiting for in the product, an upgrade now may be a no-brainer.

If your organization is considering a Microsoft Dynamics CRM 2015 upgrade, please let us help you decide the best way to approach the project.

Topics: CRM Upgrade Microsoft Dynamics CRM Microsoft Dynamics CRM 2015

eBook: The Trail to CRM Triage

So your first attempt at implementing a CRM system didn't go as planned. Did you know that an astounding 63% of CRM initiatives fail? And they fail for lots of different reasons:

  • Lack of ownership
  • Lack of system management
  • Lack of priority on project's success
  • Inadequate planning and road-mapping
  • Specific partner shortcomings

Maybe your previous partner over-promised and under-delivered. Perhaps there was a lack of planning and poor communication that led your system to its inevitable downfall. Maybe the final product could be described as lackluster at best; it looked great but it didn't really do anything. Or maybe, the project went swimmingly and you're elated with the final product but no one is using it.

Regardless of the reason, we've seen and rescued our fair share of poor CRM deployments. If it makes you feel any better, you're not alone. 

If your previous attempt at CRM left you with a plundering system and an overall sense of frustration, don't give up just yet. A well implemented CRM can do much more than manage prospects, contacts, and sales pipelines. A successful CRM system can help you meet your company's business objectives and ensure that you compete successfully over time.

Download our new eBook, The Trail to CRM Triage, and follow these five steps to guarantee CRM success the second time around. 

Topics: CRM Best Practices CRM Upgrade

Dynamics CRM 2015 – Advanced Find Returns

Like most users of Dynamics CRM 2013, it’s taking me awhile to get used to the new navigation.  However, with any software deployment, it takes users time to get used to the new functionality and especially the new look and feel. 

It’s hard to remember when CRM 2011 came out (way back almost 4 years ago now) and the introduction of the ribbon.  What a crazy concept the ribbon was and how would we ever get used to it?  However, after using 2011 over time (and honestly any Microsoft product), the ribbon became second nature.  When Microsoft removed the ribbon in 2013, everyone complained it was missing.  How would we now get used to not having a ribbon?  I believe that over time Dynamics CRM 2013 and 2015 will fall into the same camp as 2011 where users will become comfortable using the new navigation and will have forgotten the ribbon ever existed.

We recently just upgraded our internal CRM deployment to 2015 and I’m forced to get used to the navigation even quicker than originally anticipated.  Of course with every new release there are those learning curves and the questions you ask “why did they do it this way?” but the good news is that with Microsoft, they’re listening.

One of the biggest complaints of 2013 is the fact that the Advanced Find was buried and not readily available on the global tool bar like it was in 2011.  In some areas of the application you couldn’t even initiate Advanced Find.  And those areas where you could, you had to click on the ellipsis to bring down additional contextual menu items to find Advanced Find.


However, the good news is in 2015, Microsoft has listened to initial feedback from users of 2013, and have added the Advanced Find menu back in the global tool bar so that you can always initiate Advanced Find no matter where you are in the application. Enjoy!


Topics: CRM Upgrade Microsoft Dynamics CRM Microsoft Dynamics CRM 2011 Microsoft Dynamics CRM 2013 Microsoft Dynamics CRM 2015

Upgrading to Microsoft Dynamics CRM 2013? Here's What You Should Consider

If your organization is running Microsoft Dynamics CRM 2011 (or heaven forbid CRM 4.0!), you’re probably starting to think about an upgrade to the Microsoft Dynamics CRM 2013 release. Of course you will need to upgrade eventually, but it’s a fair question to ask when is the best time to upgrade? Should you jump in right in, or take your time to get things going? Some of the big factors that we think will impact your Microsoft Dynamics CRM 2013 upgrade decision include:

  • Lower case or upper case Upgrade
  • New user interface
  • New mobile and marketing capabilities
  • More changes coming

Lower case or upper case Upgrade?

When you’re planning for your Microsoft Dynamics CRM 2013 upgrade, please keep in mind that not all upgrades are created equal. We make a distinction between “lower case” and “upper case” upgrades. Lower case upgrades mean that you want to update the system to the newest release by going through the upgrade process as quickly as possible. These upgrades can go pretty quickly if your deployment contains supported customizations.

However we also see customers that want to go through upper case upgrades. We refer to an upper case upgrade when customers take a step back to re-evaluate their CRM system capabilities, system successes/failures, business rules, etc. and consider making big changes at this time. Just as important, they factor into new system capabilities into their upgrade workplan. One obvious example in Microsoft Dynamics CRM 2013 would be removing old javascript customizations and replacing them with the new Business Rules framework where possible. Of course this step isn’t required, but doing so during the upgrade might provide better administration capabilities for the coming years.

Obviously, going through an upper case upgrade takes a lot more time and planning because of the additional work involved. However, we think that customers with relatively complex or highly customized deployments should plan for upper case upgrades. Making the changes now will typically pay off with less work and re-work down the road.


New User Interface

If you’ve seen a demo of Microsoft Dynamics CRM 2013, you know that Microsoft made some drastic changes to the user interface. These changes include:

  • Using the “Modern UI” look and feel to more closely match Windows 8 styling
  • Improved usability for touch screen interfaces (bigger buttons for fat fingers!)
  • Added the process bar
  • Ability to integrate Yammer feeds directly into the user interface

You need to factor these user interface changes into your upgrade decision timeline because Microsoft Dynamics CRM 2011 users will need some time to learn and adjust to these changes. If you have a highly successful CRM 2011 deployment with lots of happy users, please make sure you have a good change management plan in place! Change freaks people out, so you will need to make sure that the prior users know how to get stuff done in the new UI.  Planning on additional training and adjustment time makes a lot of sense to us. You might even want to conduct some end user focus groups with the new UI to get feedback because it does behave quite differently.

We also think that the new Microsoft Dynamics CRM 2013 user interface means that more customers should plan on upper case upgrades. You will want to carefully plan and think through how your users will interact with the new screens, you definitely should not run this update without careful planning.

New Mobile and Marketing Capabilities

We know that a lot of Microsoft Dynamics CRM 2011 customers want to upgrade to CRM 2013 to take advantage of the new mobile capabilities. These new features include:

In addition to the new mobile capabilities, Microsoft also showed off a bunch of new features at the recent Microsoft Convergence conference. Some of the highlights include:

The sooner you upgrade your system to Microsoft Dynamics CRM 2013, the sooner your users can take advantage of these new mobile capabilities. We think that strong mobile capabilities are key to making sure your system is highly adopted, so obviously getting mobile into your users’ hands faster makes a lot of sense to us!

More Changes Coming

A few years ago, Microsoft would release updates to the Microsoft Dynamics CRM software once every few years. Therefore waiting a few months to update your system didn’t really cause any problems or issues. However now Microsoft has drastically decreased the amount of time between updates so you will see more updates more frequently. Microsoft Dynamics CRM Online customers will see multiple updates per year, while on-premise customers will see updates about once every year.

From an upgrade timing standpoint, we think this faster release cycle encourages customers to not wait too long before updates. Falling two or three updates behind the current release might create a lot of unnecessary heartburn. We talk with customers now that are running Microsoft Dynamics CRM 4.0 and for them to get to the latest release they need to go through TWO upgrades at once:

  • Upgrade Microsoft Dynamics CRM 4.0 to Microsoft Dynamics CRM 2011
  • Upgrade Microsoft Dynamics CRM 2011 to Microsoft Dynamics CRM 2013

If your organization is considering a Microsoft Dynamics CRM 2013 upgrade, please let us help you decide the best way to approach the project. 



Topics: CRM Upgrade Microsoft Dynamics CRM 2013