2015 Update 1: Theming

Microsoft Dynamics CRM 2015 Update 1 (code named Carina) brings a lot of new great functionalities, in this post the new theming functionality is presented.

Event though not essential when customizing CRM to the customer’s specific needs (traditionally getting they’re business specific processes up and running would the main thing), I lost count on how many times this was requested by customers.

It seems theming plays a key role for customers to feel they have something of their own, rather than just another standard OOB solution.

On previous versions changing CRM “css” was highly unadvisable, not to bluntly say unsupported.

Well, now the functionality is there.

Setting a new Theme

There is a new “Themes” option available in Settings > Customizations:

Users can set new themes, clone from existing themes and finally publish themes.

Only one theme can be set as default, and AFAIK there it is not possible to define different themes for different users, but the customization options are pretty much aligned to make this a reality, probably it will come out on a “Update 2”.

Previewing: Users can also preview the theme they are setting, as per button in image above:

  • This will set a cookie that allows the user to use this theme for a set time before it reverts (how long is the “set time”? It seems to be a secret of the gods for now. If anyone knows the answer feel free to share it in the comments area).
  • Previewing or publishing a new theme resets it. Erasing cookies will erase this as well.

Last, but not least, a theme allows for the following to be configured (more details on each configuration option can be found in the next section):

What Changes can be done to the UI?

  • Navigation Bar:
    • Logo
    • Logo Tooltip
    • Navigation Bar Colour
    • Navigation Bar Shelf Colour
    • Header Colour: This affects main navigation bar as well as view and form navigation bars, as per images below:


  • UI Elements
    • Global Link Colour: The colour for links, such as email addresses or lookups.
    • Link: This is not for Global Links, this is the colour that commands or lists will use when you hover over the items.
      • Selected Link Effect: The colour that commands or lists will use to indicate selected items.
      • Hover Link Effect: The colour that commands or lists will use when you hover over the items.

    • Process Control Colour: The primary colour for process controls.
    • Default Entity Colour: The default colour for system entities if no colour is assigned.
    • Default Custom Entity Colour: The default custom entity colour if no colour is assigned.
    • Control Shade: The colour for controls to use to indicate when you hover over items. and
    • Control Border.

More details can be found here (this link is actually on the theme entity itself (useful if a developer wants to query / further enhance themes with automation, but also provides a god description on what each configuration setting means).

Example Custom Theme

Below are some example images on how a custom theme could look like in CRM 2015 Update 1.

  • Navigation Level:

  • Form Level:

  • Field Level:

Tips, Tricks and Recommendations

Below some tips, tricks and recommendations on themes:

  • Primarily for Branding:
    • Logos, Main Navigation.
    • Adjusting Accent colours only: Hover colours, Selection colours.

  • Not designed to alter CRM UI drastically: The theming is designed to make colour changes and not to drastically alter the CRM UI.
  • Core CRM Icons are not exposed to theming this release, and some are legacy (i.e. still are 2011 icons and will continue to use the default colour for hover effects.
  • Entity Colours (they can also be adjusted):
    • They are part of Entity Metadata.
    • Limitations: The same entity must be the same colour even if under different Sitemap nodes (e.g.: Cannot make all Service entities one colour and all Sales entities one colour because they overlap).
  • Contrast
    • Beware of colour contrast. The OOB theme has the correct contrast ratios to ensure optimal usability, consider them as a basis for your custom themes.
    • High contrast mode will always be using the default colour settings.
  • Don’t over-use colours
    • Every entity can have a different colour if necessary, but the recommend is using one of 2 patterns:
      • Make all entities neutral and highlight the key ones.
      • Make all entities that mean something with similar or same colour. Keep the total number of groups low.
  • Theming across environments:
    • There’s are set as records of a new “Theme”, as such it is not possible to bring them across as part of a solution. A traditional post deployment data “sync”/”migration” is advised it this is intended.
    • As an alternative themes can be exported and re-imported into another environment (details on this can be found in Manage configuration data). Then they must be published to become active.

Ohh…and one more thing… 🙂, Microsoft has a nice little video on all the above here: Theming with Microsoft Dynamics CRM Online 2015 Update 1.

Stay tuned, more posts to come on 2015’s Update 1 and its new functionalities.

2015 Update 1: Immersive Excel

Microsoft Dynamics CRM 2015 Update 1 (code named Carina) brings a lot of new great functionalities, in this post the new Immersive Excel functionality is presented.

Immersive Ad-hoc Analysis

Two areas to take into consideration for the Ad-hoc Analysis:

  • Embedded experience in CRM: CRM views can now be viewed as excel lists from inside CRM as example image below.

  • Bring in Excel capabilities into CRM: Users can do all the major features expected on excel (e.g.: filters, pivot tables, charts, etc.), as they did before on real-time data, but now without leaving CRM web interface and having to export views as excel files.

Immersive Bulk Edit

The image below perfectly captures how immersive bulk edit works:

In detail:

  • Views will now present the capability to “Open in Excel Online”.
  • The view will then be presented to the user as an excel online sheet, imbedded into the CRM UI. This is very similar to SharePoint’s functionality “Quick Edit”, where a user can bulk update a list, where excel like functionality presented to the user.
  • The user can then make the updates inline and click “SAVE CHANGES TO CRM” to confirm the bulk update.
  • The action that follows actually recuses the standard functionality, already available on previous versions of CRM (dated back to a least CRM 4.0):
    • The standard functionality by itself allows a user to:
      • Export data to a excel file, with the “bulk update” option selected.
      • This will export the excel file with hidden columns, such as the records GUID.
      • The user can then update data in the excel and import is back to CRM, by using its Import functionality.
      • The imported file would go to a “import queue”, where the file would pass through various stages, parsing, transforming and eventually importing (more details on the stages can be found here).
    • The functionality explained in the bullet above still occurs in “Immersive Bulk Edit” but CRM manages all the process for the user, as follows:
      • Creates a temporary excel with the data from the view, including the GUID (this excel would have the same format as if it would have been exported for re-import manually).
      • After user clicks on “SAVE CHANGES TO CRM”, the excel is imported into CRM and presents the user with the option to access the imports view.
  • This functionality does not replace the existing export for re-import, on CRM Update 1 both will be available, but Immersive Bulk Edit will now provide a faster alternative for bulk updates.


Online only, further details:

  • CRM Online only
  • Might require the user to have an Office 365 License (TBConfirmed): This functionality leverages the Online versions of Office only
  • The user Role in CRM has to have the “Export to Excel” privilege set.

Best Practices

At least 6 to take into consideration:

  1. Immersive Excel is purely “On the Fly”: If you need to save the file permanently, copy data to another place or use Export to Excel functionality in CRM instead.
  2. Check file generated time in the UI: Time indicator on the top right, it regenerates the file (per view per user) after 5 minutes.
  3. Navigate away when you no longer need the content: If you need the content, import the data or copy the changes to somewhere else.
  4. Monitor Bulk updates is recommended: Import is asynchronous, and might fail is new data is badly formatted, go to imports section to track progress if required.
  5. Immersive Excel is available purely in Web Client: It will not allow the user to open the excel in desktop mode, the user will have to save/export to local folder.
  6. Always start Immersive Excel from a full CRM view: If Advanced Find is used to get the date to bulk update, save as a view first.


Ad-hoc Analysis and Bulk Edit can be accessed the same way, the same excel will be presented, the difference between them is what the user choses to do once the excel file is open, as follows:

  • If the user choses to create new sheets with pivot tables, charts etc, as a concept, this is considered to be “Immersive Ad-hoc Analysis”.
  • If the user choses to update the values of the data being presented and the “SAVE CHANGES TO CRM”, as a concept, this is considered to be “Immersive Bulk Edit”.

Stay tuned, more posts to come on 2015’s Update 1 and its new functionalities.

2015 Update 1: OneNote Integration

Microsoft Dynamics CRM 2015 Update 1 (code named Carina) brings a lot of new great functionalities, in this post the new integration capabilities with OneNote are presented.

Traditional CRM Notes vs OneNote Integration

The new integration with OneNote brings interesting new capabilities to further use the full stack of Microsoft solutions. Below is a comparison on features and on how integration with CRM works on the “traditional” CRM notes functionality (which will continue to be available) VS the new OneNote integration.

Feature Comparison

Some are worth detailing a little bit more:

  • Record Voice Notes: Why implement from scratch when OneNote already does this, and a lot more.
  • OCR capabilities, through OneNote’s built-in OCR capabilities and leveraging additional applications
    that already integrate with OneNote (e.g.: Office Lens).
  • The ability to use existing online solutions that
    integrate with OneNote, e.g.: IFTTT to automate note taking, ads another level to the automation possibilities on data related to CRM records.

Interaction Comparison

On another level, the table below shows how the existing CRM notes compares with the new OneNote Integration, on how it interacts with CRM.

Requirements and How to Setup

On this first release, OneNote Integration will be only possible in a…Online…SharePoint enabled… configuration scenario only.

In detail:

  • Only works in CRM Online
  • SharePoint integration must be configured/enabled in CRM: Only after this will the “OneNote Integration” option be available in CRM’s Documents Management area, to be used to further setup/configure the OneNote integration.

  • SharePoint Document Integration needs to be setup for the entity
    to have OneNote notebooks to be presented as related to the record.
  • OneNote Integration configuration needs to be setup for the entity
    to have OneNote available this must be specifically set on each entities configuration.

  • OneNote Integration must be enabled on the entity configuration itself.

Jesper Osgaard has a great post with step by step on how to setup this. After be above is done the user will start seeing a new tab on the Activity Wall section of the record.

How Notes are Stored and linked?

They will be stored in SharePoint.

In detail:

  • By default each record will have a new notebook

  • The notebook is only created when the user clicks on the “ONENOTE” option inside the record for the first time (this is identical to how the SharePoint Documents integration works for creating a document folder per record on first access):

  • Naming Convention:
    • Notebook name: Will have the same name has the record “name” field at the time of creation.
    • First Section: A new first section is created when the notebook is created, it will be called “Untitled” by default.
  • While in CRM Web interface, clicking on the first “untitled” link will be direct to OneNote’s web interface to the specific section:

  • Adding more sections will add more links to be presented in the record’s Activity Wall:

  • The user can manually change the location of the notebook, and even point the same notebook to several records (identical on how its currently being done for SharePoint document locations)

OneNote in CRM for Tablets

OneNote integration is also available in CRM for Tablets:

  • Clicking on links will open the OneNote app, if installed.

OneNote in CRM for Phones

OneNote Integration is also available in CRM for Phones:

  • Clicking on links will open the OneNote app, if installed.
  • Sections are sorted by “modified time”.

OneNote is everywhere

And the idea behind this new feature is to leverage that. OneNote is already a well-established solution with a vast ecosystem of:

  • Functionalises that complement other Office / Microsoft solutions.
  • Applications on all major OS’s.
  • Third party add-ons, integrations that further enhance OneNote’s capabilities.

CRM user licences still cost some €€, this will further help customers managing their licensing costs by allowing users, that only require the OneNote notes, to interact with CRM and its user’s without additional CRM licencing costs. For all this, the addition of the OneNote integration capability is very welcome.

Best Practices

Microsoft has advised on some tips and best practices on how to setup and use this new feature, a summary is below:

  1. Pin your notes in OneNote app on your device: Pin recent notes, pin to Start (Windows only).
  2. Use side-by-side experience on Surface Pro and Pen: e.g.: Surface Pen to one-click open the notes.
  3. Take notes in Quite Notes and move page later: If you are in a hurry.
  4. Close notebooks when you longer need them: Better for OneNote performance and search results.
  5. Notebook is auto created when user first clicks, very important
    Only in OneNote tab in Web Client.
  6. Navigate to OneNote to add a new note.
  7. Only enable the entities that needs a full notebook per record.

I believe this is my longest post yet, hope its useful and not a TLDR, ;). I believe the topic required it, will try to keep them as short and sweet as possible.

Stay tuned, more posts to come on 2015’s Update 1.

2015 Update 1: Form Navigation

Microsoft Dynamics CRM 2015 Update 1 (code named Carina) brings a lot of new great functionalities, in this post the changes to the Form Navigation are presented.

Navigation to Related records

As with the Navigation Bar, the navigation to related records from within a form has also been changed, this allows for a more compact / easier way to access the records, avoiding the horizontal scroll, typically presented up until now.

Navigation Drop-down

Navigation drop-down has also been slightly changed, as per example below.

The dropdown is not on the current form name itself and has its own symbol and place right beside it.

Stay tuned, more posts to come on 2015’s Update 1 and its new functionalities.

2015 Update 1: Navigation Bar and Global MRU

Microsoft Dynamics CRM 2015 Update 1 (code named Carina) brings a lot of new great functionalities, in this post the changes to the Navigation Bar and MRU are presented.

Navigation Bar

As per image below, some things change in the Navigation bar

In detail:

  1. The name of the product, previously used as “Area/Module Switch”, is now the Home button: Users can click on it to go to the default view/location that have chosen to see when they login.
  2. “Home” is now “Area/Module Switch”: Now the user can not only see all modules and, when clicking in the module, also the see the options inside each module and quickly navigate to them (image below on it).
  3. New button for “Global MRU”: This is a new feature that we are going to detail in the section below.

Global Most Recently Used (MRU)

Previously users could see MRU lists when navigating in a specific entity view (e.g.: Opportunity, etc.), this would show up to the last 10 records the user has navigated to, and would be in relation with the browser the user was in (as it was stored in a cookie, where the same user, logging into other browsers and/or machines, would not see the same list). Now there’s a new functionality called Global MRU, which allows users to see all the most recent records they navigated to and now also the most recent views accessed. Additionally the user can now pin MRU records and views on the Global MRU so that they stay in this list even if not accessed recently anymore.

There’s not much detail into whether this is still linked to each browser or if this is now stored in CRM globally, in order for the same user to have the same lists everywhere they login, but judging by the pin functionality, and considering this already exists for views globally, this would almost certainly be cookie less now. A nice cherry on top of the cake, :D.

Stay tuned, more posts to come on 2015’s Update 1 and its new functionalities.

Merger Ahead

Can Merging Tables in CRM 2013 Wait?

This topic came up no long ago in a customer, the upgrade to 2013 automatically merges the tables, which would be fine if it did not take so long.

You might not notice the issue when upgrading DEV or UAT environments, but it’s when you try the PRD database where the fun really starts.

In our case it was taking +24h for the upgrade alone. And some times one cannot afford to wait that long.

Consider that on top of those +24h you have to do configuration changes in CRM (specially if it’s a side-by-side upgrade), and smoke test core functionalities (e.g.: integration points) before considering the deployment complete and “we’re live” can be announced.

If its an in-place upgrade, CRM wont be operational or running very slow, and lets face it, users should not use a system during a deployment.

If its a side-by-side upgrade, usage of the old system while you upgrade will for sure be requested, and that means to migrate deltas after go live, and migrating deltas has to be carefully planned, topics such as the following should be considered:

  • How can you identify the deltas? Is createdon and modifiedon enough?
  • What will users do while the deltas are not migrated? (they probably will manually re-create some data, and we can see where this is headed…)
  • How will you migrate the data? Will the lovely MSCRM Toolkit do the job?

The above are not really good options, but there is a third one.

Can I leave merging for later?

You sure can. This registry change does the trick, but it has to be done before running the migration in CRM Deployment Manager:

  • Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\ MergeBaseAndExtensionTables
  • Type: DWORD (32-bit)
  • Value: 0

as per Microsoft’s article Run the base and extension table merge as a separate operation

This can allow a go-live during a weekend, and leave the merger for another time.

Why run it at all?

The reason for Microsoft to merge the tables is to “reduce SQL deadlocks and performance related issues”.

So…it will run better, but will it run worse than the previous versions if not merged? So far there have been no indications that it does, and so far new Update Rollups can be deployed without having the tables merged as a requirement.

Despite the above, merging is the default action, and the recommended one. Not doing it will only postpone the issue.

Consider, time and budget availability, if it is not considered as critical as other initiatives, you could pull it off for a while…

How long can I get away with it?

Andy Zhang has a good post that helps address this topic, in short you cannot disable merging for a 2015 upgrade, so that’s how far you can go, or until Microsoft releases a UR with merging as a requirement, ;).

Check out Andy Zhang’s post CRM 2015 Upgrade: A Few Things You Can Prepare Ahead of Time, very useful.

Top 10 CodePlex Tools for Microsoft Dynamics CRM

CodePlex is probably the best source of free and open source Microsoft projects.

Amongst other uses, it is used extensively by the Microsoft Communities to share free tools and add ons to existing CRM technologies (MSCRM; SharePoint; etc.)

Currently hosts around ~794 on CRM.

So… a lot…to trim it down a little bit, below is a top 10 of what I consider currently to be the best, most helpful, tools in CodePlex for MSCRM. These are tools I use consistently in a daily basis and that in generally an IT professional working in the Microsoft CRM arena, would, or should, know.


And you? What is your top 10? Got any favorites? Share your thoughts in the comments below. Chers.

MSCRM ToolKit updated to work with CRM 2015

MSCRM ToolKit was updated this weekend to work with CRM 2015.

MSCRM ToolKit  is now compatible with Microsoft Dynamics CRM 2011,2013 and 2015 projects.

MSCRM ToolKit allows for core records to be migrated between environments (DEV; UAT; PRD) and keep the same guids, this is extremely valuable as it prevents several issues when using lookups to these records on workflows, views etc.

This tool is available at http://mscrmtoolkit.codeplex.com/

Custom Code Validation Tool for Microsoft Dynamics CRM 2015

To help prepare for upgrading to Microsoft Dynamics CRM 2015, Microsoft has just released the Code Validation Tool for CRM 2015.

This tool will help identify potential issues with custom JavaScript in JavaScript libraries and HTML web resources.

The most common issues that this tool targets are:

  • Common DOM manipulations
  • CRM 2013 Deprecated APIs