Dynamics 365 – A view from the Summit

On Wednesday the 12th October the UG Summit ’16 keynote delivered an overview of what is in store when Dynamics 365 is unleashed on the world, and there could be some exciting times ahead.

The Amalie Arena in Tampa Florida played host to the keynote for the 2016 Dynamics UG Summit and delivered, for want of a better word, a dynamic message on what is in store for the future of CRM by Scott Guthrie, with key demos by; Ryan Cunningham, Marko Perisic, Param Kahlon and a very energetic (and funny) demo from Amir Netz.

I was lucky enough to be among those present for what was a sharply delivered keynote interwoven with demos that attempted to highlight the combined power of Dynamics 365, including but exclusive to;

  • Mobile and cross-platform working
  • Power Apps
  • NAV & AX integrations
  • Document view & generation
  • Customer Intelligence
  • Portal Builder

Key Messages

From the information delivered, working in Dynamics ‘silos’ may become a thing of the past where cloud solutions are concerned. The importance of using Dynamics 365 to span the customer interactions and order processing work streams is clear, with much of the demo time featuring a narrative that crossed these platforms.

The flow of the keynote was structured to deliver the message that Dynamics 365 will be;

Purpose-built: with applications that fit roles, industries and businesses – so organizations can start with and pay only for what they need and grow at their pace to run their entire business in the cloud.

Productive: enabling greater productivity where people need it by seamlessly integrating with familiar tools like Outlook and Excel, surfacing them in the context of their business processes, roles and jobs.

Intelligent: delivering built-in Intelligence with business processes that infuses big data, advanced analytics and “internet of things” to proactively guide employees and customers to optimal outcomes.

Adaptable: enabling organizations to transform at the speed of business. Business leaders can change and evolve their processes in real-time using a modern consistent, and extensible platform – so they are not being held back by legacy technology.

summit16_01

New Features

In addition to the key note and demos the preview airlift content is available on Microsoft Connect. Some of the key features that were woven into the demos and from the material made available in the airlift that have stood out for me were changes to; Business Processes and Automation, Editable Sub-Grids and updated Email and Portal functionality.

Business Process & Automation

  • Concurrent Processes
  • Security & Programming
  • Drag an Drop Visual Designer
  • New Out of the Box actions
  • Charting and Reporting

As well as additional SDK support via the ODATA API, it is interesting to see the current list of functions that have been made available, such as; Add Case to Queue, Add User yo Record Team (useful), Apply Routing Rule and Get Sales Order Products from Opportunity (finally!!).

processui_capture

Editable Grids

  • Home Grid
  • Sub-Grid
  • Nested Grids (On Mobile/Tablet app)
  • Support for JS Events

As it stands editable grid features include support for most data types. Though there are exceptions, including; state, customer type, composites, partlists and lookyp entity related fields.

The ability to sort by or group by any column in the view would also be a welcome one. The support of JavaScript events for home grids and sub-grids OnRecordSelect, OnChange and OnSave will also be very interesting. This is a feature much sought after, and sometimes teased at in previous releases.

Email Engagement

A much lamented part of Dynamics CRM functionality for a long time now, which finally seems to have been given a much needed face lift!

There are welcome additions such as; interactions (opened, link clicks, attachment viewed), reminders, delayed send and template analytics. As well as the ability to use relationship insights and email templates in response to items in Outlook using CRM templates.

email_analytics.png

Portals

From Amir’s demo, the use of portals and configuration of portals for Dynamics 365 was perhaps when of the most powerful potential additions. Since the procurement of ADX Studio I have been keen to see the direction taken for a more integrated portal offering with CRM. The next version of portals – or PRM – is centred around increased collaboration, 3rd party service integrations, knowledge management and search enhancements. With a very exciting looking portal builder UI and the use of Excel style expressions instead of code such as ASP.Net.

Relationship Analytics

Dynamics 365 will have configurable functionality (such as KPIs and health indicators) that can enable your organisation to get a better understanding of the relationship between you and your customer or client.

The functionality should enable the capture of signal data from Dynamics and Exchange to determine the health of the relationship, risks and next actions. The idea is to determine where the effort is being spent and where it SHOULD be spent against your customer/client base to cultivate the opportunities available. Identify your top contacts and work across devices and applications to get the best outcome.

rel_analytics_capture

I am very interested in the use of apps and cross-device working. With demos paying particular attention to using a mobile device (phone or tablet), Outlook and the Dynamics web UI.

Not to mention the use of Financials (NAV light?) and Operations (AX Online) as an integrated extension of the Dynamics application. A similar look and feel for both Operations and Financials allude to a ‘seamless’ user transition between common CRM sales functionality and Order fulfilment.

An interesting note from the speech delivered by Scott Guthrie was the use of the term; “xRM” – remember that? Those of you who have been around CRM long enough will remember xRM was all the rage but then the landscape and the messaging from Microsoft in particular changed. Well it is back, and I would expect to be hearing it again. It appears it will be focused around making Dynamics 365 ‘yours’, whatever you are doing.

Some Questions

As with any glimpse of new functionality or a change in direction, the information conveyed at the UG Summit did leave some pertinent questions, such as;

“How will I transition my CRM Online organisation to Dynamics 365 as an existing customer?” and “Is a migration required or is Dynamics 365 going to be supported on the same online infrastructure with processes and additional links to Azure?” and of course; “How much of this will be available On Premise for the initial release and when?”

Other questions would likely include; “How easy is it to configure integration between sales, financials and operations in Dynamics 365 and are custom entities supported?”

Unfortunately at the time of writing those are answers that I don’t have, however if you have registered for access to the Dynamics 365 Beta, there are downloads available for On Premise versions of Dynamics CRM from Connect (https://connect.microsoft.com) as well as the airlift content.

One thing I am convinced of is that I and few others will have a decent amount of upskilling to do, and as always the future looks to be exciting.

Happy CRM’ing.

 

 

 

Advertisements

Resco Mobile CRM with CRM o365 – Action Required

If you use or have clients that use Resco MobileCRM for Dynamics CRM Office 365 (CRM Online) then you may have received and email informing you of a critical issue due to a change in authentication;

The email from Resco consists of the following;

Critical issue: Resco Mobile CRM is unable to connect and synchronize with Microsoft Dynamics CRM Online (Office 365) organization. The On Premise installations of Microsoft Dynamics CRM are NOT affected.

Cause: Microsoft changed the authentication mechanism that causes a critical issue. The bug in the authentication policy parser was uncovered by the removal of a deprecated authentication policy.

Affected versions: All Microsoft Dynamics CRM Online organizations. All Resco Mobile CRM apps version 9.1.3 and older.

Dates: The change will be deployed by Microsoft automatically, starting on October 14th.

Fix: Update your Resco Mobile CRM app to version 9.1.4 by downloading the latest version from the app stores. No additional action is required at this time.

If you have any questions, feel free to contact us at mobilecrm@resco.net

The steps to take are easy, you can get the latest version of Woodford using the “Update” button in the Silverlight application or navigate to; https://www.resco.net/mobilecrm/woodford.html and grab the related managed solution (at the time of writing 9.2.0).

I applied the changes in test first, ensuring that test users update the local mobile app and test prior to Production updates, and found the following steps below apply to ensure a smooth transition.

Navigation Steps;

  1. Open the current version of Resco in CRMwoodfordlaunch
  2. When the Silverlight app’ loads select your project(s) and click “Export” and then “Yes” to the dialog messagewoodfordhome
  3. Close the Woodford Application and navigate to the Solutions area of CRM
  4. Click to Import a solution and select the previously downloaded Woodford updatewoodfordimport.png
  5. Click to “Maintain” customisations and import the solution
  6. Check for alerts/errors then click “OK”.Please Note; at this point is may be a good idea to refresh your browser/clear the browser cache so you see the updated version of Resco Woodford in CRM.woodfordsitemap
  7. Launch the Woodford tool again (metadata will reload), check your build version has been updated
  8. Attempt to open the Mobile Project, if the project loads check for errors using the “validate” button, if all is well – click “Publish”Please Note; if the project should fail to load, click “Import” then select the backup of the Mobile Project taken earlier and “Ok”. Once the project has been imported, check for errors using the “validate” button, if all is well – click “Publish”.woodfordproject.png
  9. The final step is to get your Resco Mobile CRM users to download the latest compatible app version from their app store.

If you have any problems that cannot be addressed using these steps in test contact the helpful Resco support team.

Happy CRM’ing!

 

Upgrading MS Dynamics CRM 2011 to CRM Online

For organisations still operating Microsoft Dynamics CRM 2011 a move to the cloud could be appealing, but what is involved in upgrading to CRM Online from CRM 2011?

I have previously blogged on items to consider when contemplating moving from MS Dynamics CRM on premise to CRM Online via Office 365. Once you have had the green light to move however, what exactly is involved in getting there?

The move isn’t as simple as backing up a solution, or migrating a backup of your database, but it can be broken down into a few suggested steps;

  • Assess – Your Current State
  • Prepare – Customisations and Data
  • Upgrade – Your On Premise version
  • Review – The updates
  • Migrate – The Solution and your Data

In the following sections I will attempt to provide a little more information on these steps based on current experience and the CRM upgrade path.

  1. Assess

    It is important you take time to assess the current implementation of CRM to identify any current issues which could affect your ability to upgrade successfully.

    It is also advisable that any custom elements such as; JavaScript, Plug-ins, Reports and Third Party Tools are assessed for suitability prior to upgrading CRM.

    Custom JavaScript will need to be updated and optimised for later versions of MS Dynamics CRM due to code changes and cross browser support*, the size of this task will vary depending on the volume of JavaScript involved in your solution. There is a custom code validation tool that can be utilised in this task which can be downloaded here. You can find more information on checking JavaScript here via msdn.

    Third Party Tools & Integrations will need to be assessed in order to decide if they can be replaced with the latest CRM Online features or indeed if they are supported for CRM Online and if they themselves require an upgrade.

    Integrations could benefit from the new CRM Web API, for information on the API and limitations please see this MSDN article; https://msdn.microsoft.com/en-gb/library/mt628816.aspx

    Reports may not be compatible with CRM Online, for example there may be reports built in SSRS, which is not available with CRM Online in Office 365. But you may be able to agree a strategy to replace some of these in Power BI.

    Data volumes will be an important part of the assessment; what can be cleansed? What data is required? How much storage will you need to purchase? How will attachments and documents be managed?

    *It is very important to identify which browsers are going to be used/suggested for users when accessing CRM Online as updating the legacy JavaScript to support many different browsers and the subsequent testing could be time consuming and/or costly.

  2. Prepare

    Once you have assessed the size of the task at hand it is time to begin the preparation for the upgrade – the data will be crucial to your end result, so it may be a good idea to start a data cleanse as soon as possible to ensure it is completed on time.

    If possible take a back-up of the current Production or an up to date Test instance
    and use this as an assessment/development instance. This means your current Production instance will continue unaffected until you are ready to move.

    Before the upgrade begins, obtain any product keys required. In later versions of Microsoft Dynamics CRM the server and client keys are combined so that only one key is required. It may be a good idea to review the need for a Bing Maps key for CRM too, keys can be generated here; https://www.bingmapsportal.com

  3. Upgrade

    There is no supported direct upgrade path to CRM 2016/Online from CRM 2011, therefor the upgrade will involve multiple steps in order to reach your target version. To upgrade you will need to take the pre-prepared version of CRM 2011 to CRM 2013, then 2015 and finally to CRM 2016.

    migration

    This means you will create a CRM 2013 environment with an instance of SQL Server that is supported, such as SQL Server 2014. This step may take some time depending on the size of the CRM database involved, this is because of the number of significant changes to the database when moving between CRM 2011 and 2013. You may want to review the upgrade at this point to check for any issues and insure the latest CRM 2013 roll-up is installed, if you are happy then you can move on to the upgrade to CRM 2015 (use the latest update version) and then finally 2016.

    For more on the MS Dynamics CRM Upgrade path please see the following article; https://technet.microsoft.com/en-us/library/hh699716.aspx

  4. Review

    After any successful upgrade of the CRM Server application you will then no doubt want to review the form layout, fields and workflow processes, as well as testing and updating any necessary JavaScript. The exact steps to take should be well defined from your assessment phase.

    Form layouts, fields capabilities and navigation of the application in the web UI changed significantly between versions so user acceptance testing and end user involvement in the review and configuration is key to successfully upgrading your solution.

  5. Migrate

    Once you and your user groups are happy with the changes it is time to migrate to CRM Online in the Office 365 cloud. This will likely involve the following;

    – Creating a new CRM Online instance in your Office 365 tenant
    – Exporting and Importing the CRM 2016 Solution from your On Premise version
    – Migration of cleansed CRM data (a third party tool may be required*)
    – Update and Test CRM plug-ins for CRM Online
    – Test your upgraded CRM solution (yes again)

    There may be some additional complication added to this step for any integrations that are affected by the move to CRM Online. Where possible this should be factored in using the CRM Web API.

    In order to allow users to authenticate with CRM Online using their organisational Active Directory credentials your administrators can enable Active Directory Sync’, single sign on can also be implemented using ADFS.

    *The size of the task involved in migrating the data to CRM Online will vary depending on the volume of records and if activities and other more troublesome items such as attachments are required – the recommendation is not to bloat the CRM Online database  with attachments, it may be a good idea to consider SharePoint online for documents storage.

Hopefully this post allows you to get started on your own upgrade plan, check out MSDN for lots more useful information and speak to your Microsoft Partner who can help you through the process.

Happy CRM’ing.

 

 

 

 

 

Get Data: Error Connecting PowerBI to the CRM Online OData Service

PowerBI in Office 365 can be a really useful tool, however many users may have come up against an issue with using the MS Dynamics CRM Online OData Service to “Get Data”.

You can easily register to use Power BI for your Office 365 tenant and download PowerBI Desktop, however it doesn’t appear to be as easy to use the “Get Data” function or register CRM as a data source using the OData Service for CRM Online.

If you a looking for a walkthrough on the set up of PowerBI, then this blog post from Steve Ivie is a useful place to start; https://www.packtpub.com/books/content/getting-dynamics-crm-2015-data-power-bi

The Problem

If like me you attempt to connect to CRM using the OData Service URL found in CRM Online then you might have used the following steps;

  1. Download and Open Power BI, from the pop-up menu select Get Data
  2. Select Dynamics CRM Online for the list and then click Connect
    GetData
  3. You are then prompted for the OData Service URL in the following dialog
  4. Now you would expect to enter the URL for the OData Service from CRM Online right? The format should be something like this; https://<your org>.crm5.dynamics.com/XRMServices/2011/OrganizationData.svcPlease Note: the URL ‘crm5’ section will vary depending on your datacentre. To find the OData Service URL navigate to; Settings > Customizations > Developer Resources in CRM.
  5. Once you have entered the URL click OK, the organisations available data sets should begin to load
    Odataentered
  6. In the Navigator menu select a data set or data sets from the CRM list and then click Load, (in the example AccountSet and ContactSet have been selected)
    powerbinavigator
  7. This is where the frustration starts! The load process is triggered and I receive the following message; OLE DB or ODBC error: [DataSource NotFound] OData Request failed (404) Not Found.At this point you cannot apply any changes and you have not data to work with. Close the message box.
    powerbierror

The Work Around*

Now, I researched the problem and couldn’t find a resolution for CRM 2015 Online, however if you have Microsoft Dynamics CRM 2016 Online your PowerBi dreams are but a URL away for fulfillment – *note I didn’t call this a “solution”, I will take answers on a postcard (or comment) from anyone who managed to get the OData Service working.

  1. In CRM Online 2016 navigate to; Settings > Customizations > Developer Resources
  2. Grab the Instance Web API from the field;
    crmapis.jpg
  3. Repeat steps 1-3 from the previous section
  4. Instead of the OData URL, enter the Instance Web API from CRM Online and click OK
  5. Once you have connected to CRM select the entity tables you want to work with in the Navigator menu and click Load
    powerbiload
  6. The data sets should now load and the glorious world of CRM with PowerBI is yours to explore at last!

Hopefully this will save some people from trawling support threads, if there is a better way or a way you have managed to use the OData Service for CRM Online 2015 or 2016 please get in touch!

Happy CRM’ing for now. 🙂

 

Multi-Tenancy or Multi-Instance with CRM Online?

A belated happy new year to you all! Since the Christmas break I have been involved in some interesting client discussions over the possibility of using a “multi-tenant” approach in Microsoft Dynamics CRM Online. During that discussion it became apparent that there are a few points to establish when considering what is possible.

Sometimes within an organisation there is the possibility that one area of the business works in an entirely different way to another, or have different data constraints based on their location, even though their may be a common data set meaning that the maintenance of a single instance of CRM isn’t palatable. With an On Premise deployment Dynamics CRM can be handled in a multi-tenant scenario with some legwork, but how would this work with CRM Online and Office 365?

Firstly we need to establish what we mean by multi-tenancy:

“Traditionally Multi-tenancy is an architecture in which a single instance of a software application serves multiple customers. Each customer is called a tenant. Tenants may be given the ability to customize some parts of the application, such as colour of the user interface or apply differing business rules and processes – without customising the code used by the application.

Multi-tenancy can be economical because software development and maintenance costs are shared. It can be contrasted with single-tenancy, an architecture in which each customer has their own software instance and may be given access to code. With a multi-tenancy architecture, the provider only has to make updates once. With a single-tenancy architecture, the provider has to work with multiple instances of the software in order to make updates.

In cloud computing, the meaning of multi-tenancy architecture has broadened because of new service models that take advantage of virtualisation and remote access. A software-as-a-service (SaaS) provider, for example, can run one instance of its application on one instance of a database and provide web access to multiple customers. In such a scenario, each tenant’s data is isolated and remains invisible to other tenants.”*

So we can see that the economical aspect of operating multi-tenancy deployments of an application such as CRM could be attractive, also the additional flexibility provided. However what does this mean when we apply the concept to Office 365 for CRM Online?

Well, from a Microsoft standpoint we need to clarify what a tenant means in Office 365;

“For Microsoft Dynamics CRM Online, a tenant is the account you create in the Microsoft Online Services environment when you sign up for a CRM Online subscription. A tenant contains uniquely identified domains, users, security groups, and subscriptions and can contain multiple CRM Online instances. The tenant created for you has a domain name of <account>.onmicrosoft.com. For example, contoso.onmicrosoft.com.” – TechNet

So – when you sign up for CRM as a service in Office 365 a tenant is created for you, to which you can log in using the administration portal and from here you can manage subscriptions, user and their access and add multiple “instances”. Which is the key element of that description.

In Office 365 an instance is defined as;

“When you sign up for a trial or purchase a Microsoft Dynamics CRM Online subscription, a CRM Online production instance is created. Each additional production or non-production (Sandbox) CRM Online instance you add creates a separate and isolated Microsoft Dynamics CRM organization on the same tenant. An instance has the URL format: https://<URL name>.crm.dynamics.com. For example, https://contososales.crm.dynamics.com.” – TechNet

So from this we can see that a typical CRM Online deployment includes one tenant only. A tenant can include one or more CRM Online instances; however, a CRM Online instance is always associated with a single tenant, as per the diagram below.

Users can be granted access to more than one instance of CRM under your Office 365 tenant and each instance will have it’s own specific URL and friendly name – which can help with brand identification.

o365_tenacy

So it is important that we establish the ‘need’, if what the client needs are in fact multiple instances, then this can be achieved within the O365 framework, however the data would sit in separate CRM databases underneath the main ‘tenant’ and would have different URLs, this would mean managing each business area as its own separate CRM environment with its own SQL database.

If there is a common data set or “master data” set required for more than one instance then the master data would need to be synchronised through all instances under the tenant. This could be managed using integration and data warehousing depending on the scale of the implementation there are a variety of things to consider, for more on this subject see a previous post – Things to consider when moving to CRM Online.

A single Office 365 tenancy can host many business critical applications besides CRM Online, for example SharePoint or Exchange. Each user can then consume a license for one or more of these services.

If the business has divisions that have differing markets or business models or there are legal and compliance considerations, it may be that they are inclined to run separate tenants in Office 365.

In order to run multiple tenants a user would need to have access to a specific Office 365 tenant and then additional access granted where required as per the diagram below. This could be managed by administrators but in this scenario both instances would require separate user accounts and a user accessing both tenant 1 and 2 would consume two licenses. The subscriptions and applications under these tenants would also need to be managed separately.

Each tenant will require a tenant administrator (at least one) with unique credentials to sign in, the instances under each tenant would need to be managed in separate admin consoles (in the O365 portal). Each instance of CRM would have its own SQL database.

Restrictions can include;

  • User Accounts cannot be shared across tenants
  • A single domain can only be federated with one tenant
  • On premise Exchange organisations cannot be split across tenants
  • Cross-tenant collaboration will be limited to Lync Federation and Exchange Federation features
  • Duplicate accounts can not exist across the tenants or partitions in on premise AD

o365_tenacy2

The alternative approach to running multiple instances in CRM would be to segregate users, data and processes within a single CRM instance. This requires strong data governance, a good business unit and security model and a consolidated approach to processes and configuration of the system.

Depending on the scale of the organisation it may be viable to split the business unit structure out under the root (organisation) in CRM as per the example below. Careful consideration needs to be given to security permissions and who has an “organisational” view of data.

This largely depends on the nature of the organisation and the resulting structure of the business. But within the CRM framework users can be given Parent and Child Business Unit access to data as well as Business Unit and User level permissions, and this means users must be placed within the right CRM business unit for their access levels. Sharing and both ownership and access teams can also be used for cross-level data access.

This is very manual in CRM as standard but can be augmented using the development of plug-ins and really depends on the complexity of the requirements.

Changes that affect entities, forms and users would need to be explored and accepted by a change board (CAB in ITL terms), but this is just good practice.

BU

Can an instance of CRM Online be created in a different geographical location to the tenant?

At the time of writing an O365 tenant is created within a region selected when first setting up your subscription – if it was a CRM Online trial created initially it will default to whatever was selected here. All additional instance will automatically be created in the same regional datacentre. However you can add instances to be deployed to another datacentre by contacting Microsoft Support (prior to adding your instance would be favourable). So if the organisation operates in Europe and South America, you can have dedicated instances deployed in a region more sympathetic to connecting to the cloud – or to data legislation for the country of operation.

Can multiple URLs be used for the same instance of CRM Online?

At this point in time one CRM instance cannot have multiple URLs in O365. You can manage/edit the URL and friendly name of a CRM instance in the Office 365 portal however, so if the use of a URL needs to be ‘generic’ or brand agnostic you could edit the default to suit the requirements.

Can an instance be moved to another tenant after it has been created?

Yes, this is possible but you would need to establish your requirements with MS Support in order to do so, it cannot be carried out in the portal by an administrator. It is much easier to get this right at the beginning though rather than remedially.

In conclusion; It is crucial to first analyse the organisational requirements and then define if a multi-tenant or multi-instance approach is required to meet those requirements. It is important to understand the need for unified data or indeed data separation prior to defining the approach and what integration constraints there are – both for the business and the region (i.e. data sovereignty or the use of customer data).

In many cases the operation of multiple production instances under a signal tenant can be a viable option, it is also more than possible for business units with different processes or data to co-exist in a single CRM instance, this just requires a different focus on the use of business units, teams and security in CRM and the decision to run additional tenants will largely come down to how difficult it will be to manage the differences in data, processes and customisations in a single instance.

A single tenant can include up to 50 CRM Online production instances and 75 sandbox instances making it scalable to say the least. There is flexibility with CRM Online but all aspects need to be considered and if the model doesn’t fit – then there is always on premise right? 🙂

Happy CRM’ing.

*The excerpt quoted was taken from a post published by Margaret Rouse in August 2014, see; http://whatis.techtarget.com/definition/multi-tenancy for more information.