With the new update to Dynamics CRM, one the last outstanding issues with small footprint but big impact is the addition of a Customer field type. Where before we had to hack all kinds of approaches to reference either an Account or a Contact, now we can easily do it on any entity type. Hurray!

In order to add a Customer field, modify an existing form or create a new one, and add a new field. In the data type select from the drop-down Customer, as seen below.

0001-01

Once you do that, you can select the naming preference for the new relationships that are added. As seen in the screenshot below, new relationships are added to both the Account and Contact entities.

0001-02

Looking into the N:1 Relationships, you will find these new ones as seen below:

0001-03

With the field added to the form, we can now select either a Contact or an Account, as seen below:

0001-04

The Customer lookups that were already available on the following entities will remain the same, and function just as before:

  • Contract
  • Incident
  • Lead
  • Quote
  • Opportunity
  • SalesOrder

If you need to create this lookup programmatically, you can call new CreateCustomerRelationshipRequest message. For the technical details see the MSDN documentation available at:

https://msdn.microsoft.com/en-us/library/gg509035.aspx#BKMK_createcustlookup

For the class details see:

https://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.messages.createcustomerrelationshipsrequest.aspx

Enjoy!

Advertisements

Update: Book has been officially released. Find it either at Packt or at major online bookstore retailers.

My new book just became available for pre-order. Due to the great feedback received from the previous edition, I am releasing a new and improved version to the Dynamics CRM Customization book. This new edition includes coverage of the newly added features up to Dynamics CRM 2016.

BookCover

The book will be available through the usual channels. I will be adding more links here as they become available:

Packt Publishing

Amazon.com

Enjoy!Winking smile

One of the new features made available in preview is the Task Flow functionality. This applies to creating logical business flows to execute on mobile devices (both phones and tablets). One example provided in the documentation is the post-meeting steps to be executed after a client meeting.

The official documentation is available at:

https://www.microsoft.com/en-us/dynamics/crm-customer-center/preview-feature-create-a-new-task-flow.aspx

As per the note, a preview feature is not to be used in production, as it might not only change, but it might contain incomplete features.

In order to enable preview features, you must be an administrator. Go to Settings > System Settings. Find the Preview tab all the way to the right.

clip_image002

Here make sure you check the agreement check box, and then switch the Task Flows for Mobile Preview radio button to Yes. Click OK when done.

The provided steps in the documentation demonstrate how to create a new flow. Observe the following change to the process flow creation:

clip_image003

Once the process flow is created, the configuration interface is very similar to any other process flow. You have the usual features, like adding fields, steps, branching, pages etc.

On the Task Flow Details section, once you expand it, you can set an image and a description.

The paging concept is similar to that of a classic Dialog, where we guide the user through several screens to get to a final point.

Branching works again just like with other processes, where conditions are set to dictate the correct path to follow.

clip_image005

Don’t forget to Save and Activate the new process. It will show up in your My Processes/All Processes view, depending on the owner you assign.

clip_image007

With the Task Flow activated, once you refresh the mobile application it will be available to use.

clip_image009

The refresh will take a short while. Once it’s done, since we created this task flow on the contact entity, let’s navigate to a Contact. We can trigger the newly created Task Flow by selecting the symbol at the bottom-left of the screen.

clip_image011

Observe the image we selected appears as the background for our Demo task Flow. Select this flow. It will take you through the following screens.

clip_image013 clip_image015

That same image is in each form header. The title shows up right on top, as defined for each form.

Enjoy!

Traditionally, consulting organization, in particular in IT, have been focused on specific technologies. As a result, we have seen a lot of services and offerings around a specific stack, with a very defined platform and skillset.

This approach is very efficient, and allows organizations to maximize resource allocation. The clear focus on a particular platform allows for the creation of a highly skilled workforce, very good technical resources with the ability to handle complex situations in a very dynamic way.

Is this the way to go? Is this what the market really needs?

The advantages of platform and/or technology focused teams is undisputable. From the ability to handle complex situations, to the ability to deliver complex projects in record time, it is a great win for both consulting organizations as well as customers. But the market evolves at a very rapid pace. We are seeing more projects where not only requirements evolve during the project evolution, but instances where the market dictates evolutionary changes. The increased level of customizations and options in various products requires rapid adaptability and an increased interaction between multiple platforms. What used to be a very focused solution now can easily span multiple technologies, with various degrees of integration complexity.

The focus now becomes how to communicate and position an engagement with that level of complexity. We are boxing ourselves in when we have a platform focused discussion with a customer. There are a few different aspects to be considered now. The discussion starts with the focus on the business. For technical people, many times, it is difficult to disconnect yourself from the technology and listen to the business need alone. Making abstraction of the underlying technology solutions is even harder when the consulting organization is structured around technical platforms and skillsets, and the commission is based that particular sale.

We need the ability now to stand back and look at the big picture. We need to focus primarily on the business, the processes, and the ability to influence substantial improvements. This will lead us sometimes on the path of solving a more complex problem, and providing better return on investment.

The way we tackle these discussions has the potential to define us as trusted advisors for our customers. We can bring to the table years of experience when it comes to various technologies, but we need to appreciate more the years of business knowledge the client brings to the table. The best solution is a solution that blends both. And also, a solution that is not focused on a single platform where we might be experts at.

We should strive to become experts at piecing things together like Lego blocks. We also see that approach with many solution providers. In the Microsoft ecosystem alone, during the last few years, we are seeing how platforms are starting to blend together and function as one. Selling a SharePoint engagement, or a Dynamics CRM project, or any other type of project is a simplistic way of looking at things. Too often we have to begin by looking at how the business performs, and what are the top features required for that particular organization. We can then start extrapolating, and looking at a generic overall solution that encompasses various processes and functions. Only when that picture is clear, we can start looking at what pieces fit the model.

With the advancements of cloud, that story becomes easier to tell. A lot of new features now rely on communication between all these components. We see a re-focus around Azure and Office 365 working with SharePoint as a background service more than anything else. We can use these features now in Dynamics CRM and Dynamics AX to an extent. We can use 3rd party solution like the ones from KingswaySoft or Scribe for integration to other platforms. This gives us the flexibility to step outside of the Microsoft ecosystem, and integrate now into other SaaS platforms. Custom Azure APIs allows us to tap into pretty much any other system. What used to be traditionally a Microsoft owned shop now has the ability to become a blend of the best tools for the trade, no matter the source. And Microsoft understands this. We have seen this over and over, with opening the office tool set to all platforms, with the increased adoption of open source and embracing Linux, and more recently with SQL on Linux. It becomes harder to ignore the trend.

As consultants, our responsibility now also increases exponentially. We now have to understand multiple platforms, and we need the ability to make the right decision on which tools apply better to a particular engagement. We need to see the bigger picture, and we need to be able to advise and guide our customers towards the best possible outcome. This could be a solution that might seem at first more complex than needed, but it gives our customers the ability to grow and expand as the business evolves. This could be a modular solution, that allows adding and removing components as needed, allows changing business processes on the fly at no or minimal cost to adapt to change.

The Value Proposition now takes into consideration all these aspects, and the potential client now trusts you enough to award you the project. It is as much of an elevator pitch as it is a process to understand and educate customers.

The Spring Wave release for Microsoft Dynamics CRM 2016 has been announced. Here’s the announcement:

Dynamics Blog

As mentioned, the focus is on the FieldOne and Adxstudio acquisitions and their integration onto the core platform, as well as Machine Learning enhancements.

A video of the new features is available here:

https://youtu.be/2Uy5Ql30tQc

In addition, and of great importance, the CRM Roadmap site has been also announced. It is available here:

CRM Roadmap

Here you will find all the necessary details about existing features release, in preview, in development or postponed. A great source of information.

Enjoy!

One of the greatest features of the Microsoft Dynamics CRM platform is the ability to configure entity forms to be available only for specific security groups. While this works great, in principle, the story quickly becomes muddy when you start implementing it in organizations with a more complex security structure. In particular, when working with different business units.

As we know by now, when adding elements to a solution, we can only capture security roles from the root business unit. This is a limitation of the solution package, and we have ways to work around it for most situations. For example, if we want security roles to be solution aware, even though we need them in child business units, we create them in the root business unit. They are inherited to the child business units, and we can assign the users at the business unit where we need them to have the respective security roles.

Unfortunately, one overlooked aspect is the role based forms. While the scenario described above works fine for users and security roles, once we bring into our equation role based forms, the whole pyramid collapses. Lets look at an example.

We’re going to start with a set of business units as described in the screenshot below.

businessunits

As we can see, we have the root business unit called very creatively me4co. Right below this, we have the following child business units: Finance and IT. And just to make it more interesting, we have the following three child business units underneath the IT business unit: Cloud, Delivery and Infrastructure.

Now let’s create a few security roles. Go back to Settings > Security and choose Security Roles. Here we see the default security roles on an organization, all under the root business unit. We’ll come back to this view in a moment.

Once we’ve seen the default security roles, let’s go and create some new roles in the context of a solution. So, go to Settings > Solutions. Create a new solution if one is not already available for playing with. In this solution go to Security Roles. Once there, create a New role and name it creatively role1. For business unit, leave the root business unit. Click on Save and Close. I’m not going to assign any permissions here, i’m just using it for demonstration purpose.

Same way as before, go ahead and create a new security role. Keeping in line with our extremely creative naming convention, name this one role2. Only this time, instead of leaving the default business unit, change it to Cloud. This is a 3rd level down business unit, having IT as parent, which in turn has me4co as parent (the default business unit). Again, hit Save and Close. Now, looking at the solution, this new role called role2 does not appear in the Security Roles part of this solution. This is because only Security Roles in the default root business unit are being captured in a Solution package. To verify that our newly create security roles was indeed created, navigate to Settings > Security > Security Roles. Select from the Business Unit drop-down the root business unit if not already selected, and observe that role2 is also missing. But if you change the business unit to Cloud, now you will also find role2 in the list. See the below screenshot.

securityroles

Now, with all these items setup and ready, let’s have a quick look at role based forms.

Go to Entities in your solution, select Add Existing, and select Contact.  When prompted to select entity assets, do not select anything, as we’ll just add a brand new view.

Entity Assets is a new feature added  with Dynamics CRM 2016, as part of enhancements to the Solution package model.

Click on Finish. Go to the Contact Forms, and add a new Main Form. Click on Save As, and name this form to RBF (short for role based form, but you can name it anything you want).Save and Close this form. In the Active Forms view for Contact, select this newly created form, and click on Enable Security Roles in the ribbon. The new screen that opens up allows you to choose a security role. Unfortunately, you only have a choice from the security roles created in the root business unit. No option to change the business unit selection. This relates to the fact that security roles in child business units are not captured in a solution package.

Conclusion: part of a Solution package, you cannot assign security roles to a role based form if the security role is not part of the root business unit.

But, if you really, really, really need to do this, you can still do it outside of a solution package. Do keep in mind that this configuration can not be ported to another organization through the use of a solution package. If you need this kind of configuration, you will have to manually implement if in all instances (dev, qa, uat, prod)… ugh…

Instead of doing this as part of the existing solution, let’s go back to Settings > Customizations. Select Customize the System instead. These customizations are applied directly to the root solution. Find the Contact entity, go to Forms and find the RBF form we’ve created earlier. Observe how the form created in an unmanaged solution is also present in the default solution.

Now, when you click on the RBF form and select Assign Security Roles, you will find role2 in the list of roles, as shown in the screenshot below.

securityroles2

Once you Save and Publish your customizations, your newly created role based form is available as defined.

Use this approach with care, and only if really necessary. The fact that this configuration can not be captured in a context of a Solution package, and can not be ported to another environment/organization is a major downfall, and it goes against best practices regarding solution management and deployment models.

Enjoy!

 

The CRM User Group (Canada) has published the dates for the following two chapter meetings. They are as follows:

  • When: Thursday, Feb. 18, 2016
  • Locations: Calgary, Montreal, Ottawa, Regina, Toronto, Vancouver – Microsoft Offices
  • Time: 12:00PM to 04:00PM ET

and

  • When: Thursday, Apr. 21, 2016
  • Locations: Calgary, Montreal, Ottawa, Regina, Toronto, Vancouver – Microsoft Offices
  • Time: 12:00PM to 04:00PM ET

The audience is described as:

All Dynamics CRM users are welcome. Your CRMUG membership extends to ALL employees at your company, so we encourage you to invite your colleagues and fellow peers. Partners members are welcome to attend provided they are accompanied by a customer.

For more details see the GRMUG portal at:

https://www.crmug.com/engage/chapter#chapterevents

Enjoy!

The following new Dynamics CRM 2016 Certification Exams have been added at the end of January 2016:

  • Microsoft Dynamics CRM 2016 Online Deployment MB2-710
  • Microsoft Dynamics CRM 2016 Customization and Configuration MB2-712
  • Microsoft Dynamics CRM 2016 Sales MB2-713
  • Microsoft Dynamics CRM 2016 Customer Service MB2-714

Enjoy!

I see this question asked every now and then, so I’ve decided to put all the new steps together. You have your Dynamics CRM Trial set-up. You’ve started from this URL:

https://www.microsoft.com/en-ca/dynamics/crm-free-trial-overview.aspx

with the Self-Start Trial, followed all the steps, and your 30-day Trial is up and running. Hopefully you’ve made a note of the username and password configured, as well as the URL provided. If you did not save the URL, no problem, as you can login into the O365 portal with the user name and password, and get to your CRM instance from there:

image

But, soon after, you realize that a whole bunch of services require a little more than just your instance of Dynamics CRM to run properly. Things like the Document Management features, OneNote, Office Groups, etc. require also a subscription to Office 365 Online.

No problem. You can easily add a 30-day trial of O365. But in order to be able to easily integrate these services with your Dynamics CRM Online instance, you should spin-up this trial on the same O365 instance. To do this follow these steps:

In the Office 365 Admin portal, once you logged in with the credentials for your Dynamics CRM trial organization, navigate to Billing > Subscriptions

image

On the top-right of the page, find the Add subscriptions link.

image

On the next page, scroll down until you find the Enterprise Suite section. Here you can choose to add a trial of Office 365 Enterprise E3, Office 365 ProPlus or Office 365 Enterprise E5. E5 replaces the old E4 and adds a few new features. E3 is still the most popular option. For the purpose of the demo, go for the best available option. That is, select the E5 trial.

image

Confirm your order by selecting the try now button, and click continue on the next screen.

image

And with that, your setup is complete. Don’t forget before you move on to assign the proper licenses to all users. You do that by navigating to Users > Active Users

image

Select a user from the list, and on the right side, find Assigned licenses and click on Edit.

image

Make sure both Microsoft Dynamics CRM Online Professional and Office 365 Enterprise E5 licenses are checked, and click on Save.

image

That’s it. Now your user has access to both Dynamics CRM Online and Office 365 Enterprise for 30 days. With this set-up in place, you can now go ahead and use the O365 services for integration in Dynamics CRM. Configure Document Management, set-up your integration with OneDrive for Business, Office Graph (Delve), and OneNote. Further more, while at it, have a look at the new CRM App for Outlook too once you’ve configured Server-Side Synchronization.

NOTE: Alternatively, you can do the reversed process, starting with an Office 365 Enterprise E3/E5 trial and adding the Dynamics CRM Online trial. The process is quite similar.

Enjoy!

I’m being asked every now and then about the URLs format for various services and global zones. I usually have a bunch of links bookmarked about this, but I’m pulling all information together here to make it easy for me to find it when needed.

The format of the Dynamics CRM Online Organization URL describes the data centre location. As such, the standard format is as follows:

https://OrganizationName.crm%5Bx%5D.dynamics.com

The OrganizationName is the name you have selected for your online organization. This is customizable, and is validated for uniqueness within the respective data centre.

The [x] represents a number. As of the time of this writing, this number can be anywhere between 2, 4, 5, 6, 7, 9 or no number at all. This describes the global data centre used to host your organization. The following table maps the data centre to the URL format.

URL Format

Global Data Centre Location

crm.dynamics.com

NAM

crm2.dynamics.com

SAM

crm4.dynamics.com

EMEA

crm5.dynamics.com

APAC

crm6.dynamics.com

OCE

crm7.dynamics.com

JPN

crm9.dynamics.com

GCC

Out of these global locations, usually the following are getting the preview and new features first:

Organization

Global Location

crm.dynamics.com

North America

crm4.dynamics.com

Europe, the Middle East and Africa

crm5.dynamics.com

Asia-Pacific

The crm9 is reserved for Dynamics CRM Online for Government (public sector). The following page provides additional details on this offering.

Enjoy!

Microsoft Business Solutions MVP

Reviewed Book

Microsoft Dynamics 365 Extensions Cookbook

Microsoft Dynamics 365 Extensions Cookbook

Check out my Book

Microsoft Dynamics CRM 2016 Customization - Second Edition

Microsoft Dynamics CRM 2016 Customization - Second Edition

Check out my Book

Microsoft Dynamics CRM Customization Essentials

Microsoft Dynamics CRM Customization Essentials

Check out my Book

Microsoft Dynamics CRM 2011 Scripting Cookbook

Microsoft Dynamics CRM 2011 Scripting Cookbook

Reviewed Book

Microsoft Dynamics CRM 2011: Dashboards Cookbook

Microsoft Dynamics CRM 2011: Dashboards Cookbook

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 414 other followers

Follow TheCRMwiz on WordPress.com