reenhanced

Blog

  • 5 UI Custom Controls in Dynamics 365 You Should Start Using Today

    5 UI Custom Controls in Dynamics 365 You Should Start Using Today

    The Unified Interface in Dynamics 365 provides a plethora of custom controls to help your users to visualize data and streamline data entry. This blog will briefly review five of my favorite UI field-level custom controls to help increase user adoption. For detailed assistance on applying any of these features in your system, please feel free to reach out to me – I’m happy to help! Fill out our Contact Form with details about what you’re working on, or email me directly at heidi@reenhanced.com.

    This form has custom controls applied on multiple fields to aid in user adoption.

    Here are the five UI custom controls we love implementing for our customers:

    Linear Slider
    Flip Switch
    Star Rating
    Auto-Complete
    Input Mask

    Let’s take a few minutes to review how and where to implement custom controls, and how to set scope levels for each.

    Setting Custom Control Scope

    Each custom control can all be defined at the Web, Phone and Tablet levels, allowing you to tailor user experience based on the device used. Definitions of the clients are fairly straight-forward, but let’s briefly review what each of these options means to you as the system administrator/customizer:

    • Web: selecting the Web client for a control means users will see this control when they access Dynamics 365 from any web browser.
    • Phone: Make the control available on any mobile device running Dynamics 365 for Phones.
    • Tablet: Make the control available on any tablet device running Dynamics 365 for Tablets.
    How do I Enable Custom Controls for a Field?

    Where do you find these incredibly fantastic controls that will help your users? Easy peasy! If you want to enable custom controls on a field, it is applied at the form level. Follow these three simple steps to get started.

    1. First, open a solution file using the classic solution designer. From the Solution Explorer, expand Entities, expand Accounts (in this example) and select the Form you want to use.

    In the classic solution designer, navigate to the Form you want to apply custom controls on.

    2. Next, from the form designer, open the field you want to add a custom control on.

    3. Finally, on the Field Properties page and select the Controls tab. Then, select Add Control.

    On the Field Properties window, navigate to the Controls tab.
    Linear Slider

    If you apply a Linear Slider custom control to a field on a form, it will look like this:

    Linear slider custom control applied to a field on the Opportunity form.

    Field Types that work with a linear slider include:
    – Whole Number
    – Decimal
    – Currency

    To apply this custom control, you will need to set a min, max and step (increment) properties.

    Real-world example: Add a linear slider on the Opportunity form to visually set budget amount.

    Flip Switch

    If you apply a flip switch custom control to a field on a form, it will look like this:

    Flip switch custom control on a field.

    Field types that work with a flip switch:
    – Two Options

    Real-world example: Sales reps identify an Opportunity as Commercial or Residential.

    Star Rating

    If you apply a star rating custom control to a field on a form, it will look like this:

    Star rating lets users apply a rating from 1-5

    Field types that work with a star rating:
    – Whole Number

    This will set the value of the field to be 1 – 5. It is a frequently used field control for organizations, especially for mobile users.

    Real-world example: An Opportunity can be rated 1-5 to help determine priority.

    Auto-Complete

    If you apply an auto-complete custom control to a field on a form, it will look like this:

    Auto-complete control is implemented on the Spouse/Partner Name field.

    Field types that work with auto-complete:
    – Text

    Note: You will have to configure properties on this control, establishing source to pull in data for the auto-complete.

    Real-world example: The out-of-the-box State/Province field is a text field. Applying this control allows a user to be presented with options from a State entity.

    Input Mask

    If you apply an input mask custom control to a field on a form, it will look like this:

    Business Phone has an Input Mask control applied. Mobile phone does not.

    Field types that work with input mask:
    – Text

    Use this for any single line of text field where you need to input a specific format (like a phone number) to ensure streamlined data input and formatting. This is an amazing feat to be done simply through configuration – this sort of solution used to require JavaScript!

    Note: You will have to configure values for each property before implementing this control.

    Real-world example: Phone numbers must be properly formatted without using JavaScript.

  • ODATA Cheat Sheet for Dynamics 365 and Common Data Service (CDS)

    ODATA Cheat Sheet for Dynamics 365 and Common Data Service (CDS)

    Important Note
    This cheat sheet is limited to 1000 downloads.
    ODATA Cheat Sheet - A Quick Reference to everything you need to know about $filters

    Download your ODATA Cheat Sheet here. Dynamics 365 and Common Data Service Web APIs both use ODATA to query and return data. ODATA is a simple REST-based API that allows the return of JSON objects matching the query parameters, but despite the documentation provided, there exists no concise quick reference for building your ODATA queries.

    Why should I care about ODATA?

    If you work with Microsoft products on the web, sooner or later you will have to interface with ODATA. Whether it’s through the advanced settings on a Power Automate flow or inside your own application, ODATA is used in all of Microsoft’s most important applications.

    This means Sharepoint, Outlook.com, Dynamics 365, Common Data Service, Salesforce, MySQL, PostgresSQL, Excel Online and anything that uses an On-Premises Data Gateway. If you are interfacing with data in a Microsoft product, you’re going to need to know ODATA.

    We’ve built a cheat sheet / quick reference guide for ODATA $filter so that you can quickly and easily know exactly what is available to build out your query quite quickly. Enter your email address at the end of this post to subscribe to our newsletter and get the ODATA cheat sheet delivered to your inbox.

    Here’s what’s included:

    ODATA Cheat sheet - Parameters section

    A list of every query parameter available. $filter, $select, $top, $apply, $expand

    ODATA Cheat sheet - simple filters

    All of the simple filter operators which are most supported across different implementations. (With examples!)

    ODATA Cheat sheet - D365 and CDS specific functions

    CDS and D365 specific filter functions that are available only on these APIs. (Including a link to those not covered (mostly redundant))

    You’ll learn:

    • What ODATA parameters are available.
    • What the simple filters are with examples of how to use them
    • The simple functions that are supported across multiple APIs
    • CDS and Dynamics 365 specific functions available only with the Dynamics 365 and Common Data Service APIs

    Download the ODATA Cheat Sheet

    Limited to 1000 entries, after which the cheat sheet will not be available!

  • Applying the Editable Grid Control in Dynamics 365

    Applying the Editable Grid Control in Dynamics 365

    Applying an editable grid custom control gives users the ability to add data directly in a view! Depending on your use cases and users, implementing this simple control can be a big time saver for data entry and large quantity updates without having to individually open each record. This control, like others in the UI, allow users to interact with an editable grid when using the web app, tablet or phone.

    What does editable grid look like in action? Take a look at this GIF that shows you how simple it can be for an employee to make changes in an Editable Grid! In this example, the user groups all Active Contacts by Company Name, then makes updates to multiple records without ever leaving the view! So exciting and such a big win for user adoption! (Click the GIF below to enlarge and see more details.)

    How to Add Editable Grid Control

    At this time (as of February 18, 2020), you’ll have to implement this custom control (and any others) in the classic solution designer.

    After you have added the Entity to your solution file, you will expand the entity (in this example, the Contact), then click the Controls tab.

    Navigate to the entity, then click the Controls tab.

    On the Controls tab, click Add Control…

    Time to add a new control to this entity!

    In the Add Control window, scroll down and select Editable Grid (and notice all of the other fun controls available the entity level!)

    Select Editable Grid, then click Add.

    Now, the control has been added to the Entity, but by default is not enabled. Select Editable Grid on Web, Phone and/or Tablet, based on your business and end user requirements.

    The above configuration sets up Editable Grid on the web client only for Contacts. If I wanted to enable Editable grid on Phone and Tablet as well, I would simply fill in those bubbles

    Finally, click the Save icon at the top and it will update your entity. Publishing it will make it live in your Sandbox where you can set your users loose and let them start testing!

    Limitations of Editable Grids

    With all features available in Dynamics 365, I like to point out any limitations I’ve found or read about. Here are a few – let me know if you’d found others!

    Some data types are NOT editable in an editable grid: Composite fields (like Full Name and Address fields), State/Status fields, Lookup entity-related fields, Customer lookup fields, Owner
    Read only fields ARE editable in an editable grid: To fix, you’ll want to get some JavaScript on there! (Reenhanced can help!!)
    This is an all-or-nothing control. Since you implement it at the entity level, it will be applied on all views (there’s no way to have some be editable grid and others be the standard read-only grid)
    They won’t work on some out-of-the-box Sales entities: Opportunity Product, Quote Product or Invoice Product
    Click to Call phone numbers are not supported (it’s not a link, just text!)
    Click to send email (on email address field) is not supported (it’s not a link, just text!)

  • How to connect with XrmToolBox using Multifactor Authentication

    How to connect with XrmToolBox using Multifactor Authentication

    Multi Factor Authentication dialog box in Xrm ToolBox

    With enhanced security no longer an option for many organizations, you might find yourself needing to connect to XrmToolBox using MFA (Also known as Two-factor authentication or Multi-Factor Authentication.) Doing this for the first time can be intimidating!

    Let’s go through a step-by-step animated guide of how to get you up and running in less than 3 minutes.

    Step 1: Prepare XrmToolBox

    For the first step, we’ll just walk through the new connection dialog until we get to the point where we have no idea what to do next. Don’t worry, it’s actually pretty easy.

    Step 2: Create an App Registration on portal.azure.com

    The next step to connect is to visit the Azure portal and create an app registration. If you are managing multiple organizations, you will need to do this using an account with Azure permissions for the organization you will be connecting to. (Send them a link to this page if necessary.)

    Visit portal.azure.com (opens in new tab) and follow along:

    TIP: You can leave all of the defaults in place. You don’t need to configure anything special for your connection. What we’re doing in this step is getting the Application ID.

    In a later step, we’re going to need the Application (client) ID that was created when you finished this step. Once you have this, you can copy and paste it into your Xrm ToolBox connection window.

    Step 3: Generate a Reply URL for your connection

    This step helps make sure that both the client and server have the same information. When connections of this type are used in a web application, this Reply URL provides an additional layer of security for the underlying authentication mechanism. (But you don’t need to worry about that here.)

    Once you’ve generated the Reply Url you can copy and paste it into your XrmToolBox connection window.

    You'll need your Reply Url for the XrmToolBox connection
    Step 4: Allow your connection to access Dynamics 365 API

    In order for XrmToolBox to be able to access the Dynamics 365 APIs, you need to allow this API permission through your app registration. In doing this, system administrators can remotely revoke access in the future, which provides additional security.

    If you are managing multiple administrators who need access to XrmToolbox it’s a good idea to create an app registration for each individual so you can easily reset their connection if a laptop is lost or stolen without impacting other administrators.

    TIP: You do not need to grand admin consent. Users can authorize this on their own when connecting.

    There is nothing to copy and paste from this section. You now have everything you need to connect.

    Step 5: Copy/Paste values into XrmToolBox and your connection will be successful.

    If for any reason these steps don’t work for you, I promise I am friendly and will respond to your email. Reach out with questions, I am always happy to help: ? nhance@reenhanced.com

  • How to add Calendar Control to a View in Dynamics 365 CE

    How to add Calendar Control to a View in Dynamics 365 CE

    The Calendar Control has to be my most favorite control available in the unified interface, hands down. At Reenhanced, we have implemented this control for nearly every customer. Why? Because it’s just that darn useful! Talk about increasing user adoption – this control is a huge win! If you don’t have this in your Dynamics 365 system yet, you should.

    Adding a calendar control to a system view can be a huge win for user adoption!

    The calendar control, and all other controls that are available in the unified interface, can all be defined at the Web, Phone and Tablet levels, allowing you to tailor user experience based on the device used. Definitions of the clients are fairly straight-forward, but let’s briefly review what each of these options means to you as the system administrator/customizer:

    • Web: selecting the Web client for a control means users will see this control when they access Dynamics 365 from any web browser.
    • Phone: Make the control available on any mobile device running Dynamics 365 for Phones.
    • Tablet: Make the control available on any tablet device running Dynamics 365 for Tablets.

    An ideal place to start implementing this view is in Activities, but it can be used on any date field. Let’s walk through an example to show you how to add a calendar control to the Open Activities system view.

    Here is what the view currently looks like in my Dynamics 365 environment. We will use the Calendar control to make this list display as a calendar view.

    Standard system view for Open Activities in Dynamics 365

    To add a Calendar Control to my view, I’m going to open the Solution Explorer, expand Entities, expand Activities and select the View:

    Add view controls from the classic solution designer.

    In my classic view designer, click the Custom Controls button (highlighted below):

    Use the Custom Controls option in the Common Tasks box of the view designer.

    Click Add Control…

    Add Control to this view

    Select Calendar Control then click the Add button:

    Adding Calendar Control to our view.

    Back at the Custom Controls box for this view, we have to define where this control should run. In this example, I want to use it regardless of access type. Below, I have to set Start Date & Description on my control. This is how the system knows when to display which Activity on which date and the text that appears on my calendar. Here, I have set Start Date to be my Scheduled Start and Description is my Subject field. When you have finished, click OK.

    Select where this control should run and map Start Date & Description.
    TIP! Take this a step further and increase the user adoption even more. Add color to an Option Set (perhaps Appointment type?) – layer that on top of the Calendar Control and your entries will be color coded. Imagine how much more simplified the user experience can be! Need help with this? Email me at heidi@reenhanced.com and I can point you in the right direction.

    Once you have saved and published your changes, your Calendar control will change your view display.

    Welcome to the new version of the Open Activities view in Dynamics 365:

    More Information & Help

    Do you have questions about how to apply calendar controls or other controls your Dynamics 365 system? Feel free to reach out to reenhanced! Fill out our Contact Form with details about what you’re working on, or email me directly at heidi@reenhanced.com. You can also consult the official Microsoft documentation about this control.

  • What is the difference between a model-driven app and a canvas app?

    What is the difference between a model-driven app and a canvas app?

    canvas app or model-driven app?
    Building a model driven-app: session at 365 Power Up Philly conference.

    This past weekend, I was giving a presentation to Dynamics 365 system administrators and developers about how to make a model-driven app in PowerApps. I gave a very similar presentation at User Group Summit in 2019. In both sessions, the questions were mostly around the differences between model-driven apps and canvas apps. I consider myself an expert on model-driven apps. I build them often, for internal use at Reenhanced and more often for our many customers. I am not an expert on canvas apps. I default to my business partner, Nick Hance, to field those questions, since he is an expert on building them. He has experience building highly valuable canvas apps for customers and for himself to improve his own life (like here where he builds a canvas app to count daily pushups done for a challenge we are both doing!).

    Nick and I thought it would be give a definitive answer to that one question that we so often hear: what is the difference between a model-driven app and a canvas app.

    What is a model-driven app?

    A model-driven app is build on top of a data model (Dynamics 365, CDS, etc). From this data model, you can use a simple drag-and-drop interface to specify what is displayed to users in your App. Here’s a simple way to think of this: Dynamics 365 is your engine for a model-driven app. You will use Dynamics 365 components to build it. It looks and feels just like Dynamics 365. You’ll add on Dynamics 365 views, forms, charts, dashboards and reports. Use model-driven apps to streamline the user experience of Dynamics 365 and increase user adoption in your organization.

    With your data stored in Common Data Service (CDS) as a database, a model-driven app provides Create, Review, Update, and Delete (CRUD) abilities on that CDS data. The model-driven app is a layer on top of your data to control how users see, update, and delete that data.

    I’ve written a 6-part series on this blog about model-driven apps and how to build them. If you want to learn more, check out the first article here.

    What is a canvas app?

    Canvas apps are not necessarily related to Model-Driven apps. They provide a PowerPoint-type interface where administrators can build an interactive experience connected to a variety of data sources. Canvas apps offer a much wider scope in capability than model-driven apps and allow for rapid prototyping and deployment of custom applications across device types.

    If you can build a PowerPoint to demonstrate your application, you can likely build this experience using a Canvas app.

    In general terms, when you think of a simple idea for an app, you build this using a drag and drop interface in Canvas apps. Canvas apps can completely replace the need for custom development when the application workflow is relatively simple.

    What’s the difference?
    Model-Driven App
    Begin with your data model (Common Data Service).
    Quickly provide Create, Review, Update, and/or Delete (CRUD) capabilities on my data.
    A model-driven app can only do Create, Review, Update, and Delete of data using forms from Dynamics 365.
    Controlled by the security roles in Dynamics 365. It offers fine-grained and field level security.
    Controls use the form builder from Dynamics 365. You can use all custom components and form controls from there.
    Built using simple drag-and-drop of controls and components. Capabilities of what an administrator can do are exposed and easy to see.
    Canvas App
    Blank canvas: Design as you’d like. MANY database connections.
    Provide an interactive experience of my own design and am willing to invest more time to create.
    A canvas app can do everything that a model-driven app can do, but is more involved to setup and create.
    Not well suited to provide fine-grained security. It is a best practice to design a canvas app such that all users receive the same experience.
    Canvas apps have their own set of controls and have access to custom components. It’s likely there will be overlap in the future such that components can be used here and in Dynamics 365 forms.
    Use a drag and drop of simple controls but performing useful functions requires updating control attributes. It is not immediately evident what is possible and administrators must rely contextual recommendations to discover what each connector can do.
    Final Thoughts

    Model-driven apps are well suited for a Dynamics 365 System administrator. The layout and components feel familiar to what you’re already using to manage your Dynamics 365 environment.

    Canvas-apps require a more technical approach but offer a much wider set of capabilities. Once administration of Canvas apps are learned, an administrator’s capabilities are near limitless.

    Do you need help building an App for your organization? Do you have a great idea and need some help figuring out the best way to approach it? Feel free to reach out to reenhanced! Fill out our Contact Form with details about what you’re working on, or email us directly at heidi@reenhanced.com and nhance@reenhanced.com.

  • VARK Learning Styles Applied to Dynamics 365 Design and Build

    VARK Learning Styles Applied to Dynamics 365 Design and Build

    In a prior blog, we talked about how you can apply VARK learning styles to your Dynamics 365 training for end users. Let’s take it one step further today and talk about how you can apply VARK to the design and build phase of your CRM project or enhancement.

    Applying learning styles to CRM design

    How can understanding VARK learning styles help you with your design and build phase? Be aware of different components that can help different learning styles.

    Visual Learners
    Dynamics 365 is full of design components to aid in enhancing the user experience of visual learners. The graphic below spells them out in detail. Additionally, the Unified User Interface layout has a great balance of white space and boxes of information and visual controls you can use. Configuring a PowerApp (model-driven or canvas) is another great option for this learning style.
    Auditory Learners
    To be honest, I’m struggling with this learning style and how you can enhance user experience from a design and build perspective. Voice to Text is all I can come up with at this point, but if you have ideas, please leave a comment! I’d love to hear them!
    Reading and Writing Learners
    Users who best identify with the reading and writing learning style will benefit from lists and option sets over free text fields. Another great area for these users is the task and activity management areas of Dynamics 365.
    Kinesthetic Learners
    Apply drill down reporting and dashboard elements as you design your system to help your kinestheric users. Additionally, consider embedding or linking to videos where appropriate (for example, you can customize your help link to point to a video library).
    How to Enhance Your CRM System with VARK in Mind, by Heidi Neuhauser.
    More Information & Help

    Do you have questions about how to apply VARK to your CRM system? Feel free to reach out to reenhanced! Fill out our Contact Form with details about what you’re working on, or email me directly at heidi@reenhanced.com.

  • You Need A CRM: Here’s What’s Possible in 2020.

    You Need A CRM: Here’s What’s Possible in 2020.

    So it’s 2020 and you’re still unsure of the benefits of a CRM?
    Here are 5 things you can do today with a modern CRM system.

    Automatic Marketing

    Add someone to your CRM and your CRM can automatically begin the process of turning that lead into a sale. How?

    Let’s say you add someone from a trade show. You can have a set of processes that automatically run to email your new lead then have your salespeople followup and more. And all of this can happen without a single lead falling through the cracks.
    Micro-Applications for different user types

    Your CRM is not just for salespeople to remember phone numbers and appointments, it’s a tool for everyone who supports sales. But how can you ask non-salespeople to use it without being overwhelmed?

    This is 2020. Today, you can create micro applications that work with the same underlying database, but show non-technical users only the data they need to complete their role. By building smaller apps, you bring better data in and it can make the whole organization stronger. (Microsoft Dynamics calls these Model-Driven apps. See our Blog Series on Model-Driven Apps.
    Eliminate Data Silos

    You know the pain of having your organization’s data spread across multiple systems if you don’t have a CRM in 2020.

    A well implemented CRM gives your organization a single location where all of your organizations most valuable data can live. Until you have all of your data in a place you can work with it, you can’t gain insight from it.
    Powerful reporting, including trends and projections

    You’re losing ground to competitors if you still don’t have a way to visualize your company’s performance in real-time.

    Today’s modern CRMs give you tools and insights you need to stay competitive.
    Your CRM can work harder than your sales staff

    The real magic of CRM happens when you realize your systems can work harder than your sales staff can.

    You can setup automatons to hook into your website leads, chatbots to handle incoming leads on social networks, and integrations to work with any of your other custom apps.

    Instead of training your sales staff, your investment lets you build once and then continuously improve, ever widening your moat on the market.
    Contact Us for Help

    Have questions about how a CRM system can benefit your organization? Feel free to reach out to reenhanced! Fill out our Contact Form with details about what you’re working on, or email me directly at nhance@reenhanced.com. Happy training!

  • VARK Learning Styles Applied to Dynamics 365 Training

    VARK Learning Styles Applied to Dynamics 365 Training

    There are many schools of thought when it comes to learning styles. One I have found to resonate well with adult learners and the Microsoft Dynamics 365 platform are the VARK learning styles when planning your CRM training. VARK stands for the four main learning styles: Visual, Auditory, Reading & Writing and Kinesthetic.

    What is VARK and how can it apply to CRM training?

    The VARK theory says that you have a primary learning style. While you may be influenced by other learning styles, there is one primary area where learning comes easier.

    Understanding these four key ways adults learn can help us to plan and deliver useful, lasting CRM training to our end users.

    Visual learners learn best by observing, seeing and watching. They will give you undivided attention when you’re presenting PowerPoints and live demos.
    Auditory learners get a lot out of lectures, webinars and hearing.
    Reading and writing learners are likely taking notes as they read this.
    Kinesthetic learners (like me!) are hands-on. They’re the people who tell you that this CRM thing sounds great, but they need to get their hands on it to play around.
    Are you curious which modality is your preferred learning style? Take this free VARK questionnaire to find out.

    As a Dynamics 365 trainer, or as someone tasked with training your end users, your challenge is to balance the training to apply all learning styles. You will likely default to training in your most primary (and also most comfortable) learning style. Make sure to offer training across all learning styles!

    Applying learning styles to CRM training

    How can you use your understanding of the VARK learning styles to CRM training? Easy! Understand what sort of training approach reaches each style and pick and choose to combine into a beautiful training experience for your end users! We will look at each learning style and point out some training techniques and methods that work well for each.

    First of all, let’s discuss live training. As you will notice in the chart below, live training can reach all learning styles. This is by far the most effective method of training your end users. If at all possible, provide your end users with some sort of live, in-person training. In a perfect world, everyone will receive live training, supplemented with many of the materials listed below. For some organizations, especially those with an employee base that covers a large geographic area and multiple time zones, this can be difficult. But if should be the first option if possible!

    Check out the below graphic for many training tools and techniques. They are split into the VARK columns to make it simple to pick and choose those that will work best for your user base.

    How to Train Your Users with VARK in Mind, by Heidi Neuhauser.
    Need help?

    Have questions about training? Need our help deciding what’s best for your user group? Feel free to reach out to reenhanced! Fill out our Contact Form with details about what you’re working on, or email me directly at heidi@reenhanced.com. Happy training!

  • Model-driven Apps: Benefits to Your Users

    Model-driven Apps: Benefits to Your Users

    Welcome to the exciting conclusion of the model-driven app series! Today we will look at managing properties in a model-driven app. This series includes six articles that will help you to get to know and use model-driven apps and PowerApps:

    Benefits to Your Users

    A paramount part of designing your app is ensuring that your end users are part of the entire process. Follow user adoption best practices and involve your end user group in every aspect of the planning and design process. Have a few key members try out the app and record their feedback.

    Beyond simply involving your end users, how does a model-driven app help them? Here are a few ways model-driven apps are tied to an increase in user adoption:

    • Providing a customized model-driven app to experience CRM gives your end users with a streamlined way to access their data.
    • Only show users the information they need to see. Understand your user group and update your Site Map accordingly. Display areas that they use, in groupings that make sense to them and how they do their job.
    • Hide the noise they don’t need to see in order for them to complete their job successfully. Simplify the user experience.

    Following the steps within the blog series and engaging your user group will lead to a nice, streamlined way to access data, with the ultimate goal of increasing user adoption.