As with any release, the release of Dynamics 365 yesterday has introduced a bunch of new features. Head over to the CRM Roadmap site, or the CRM What’s New site to see first hand the features that have recently gone live. You can also see what’s in preview, in development, previously released, or indefinitely postponed.
With this release, a new concept has been introduced to Dynamics 365 for Sales (formerly Dynamics CRM). This concept is the ability to have multiple Apps within the product. First off, note that this feature is in preview only mode for this release.
What is an app? Well in its simplest form, this is a collection of related entities, dashboards, and business process flows that will allow you to streamline and tailor Dynamics 365 for Sales so that your end users in different business areas can see only the pieces of the product that matter to them. It also allows you to filter sub components of what you add – for example, your users only see a specific view of an entity you’ve added.
You could perform portions of this functionality with the older versions of Dynamics CRM. For example, you could have only specific forms or dashboards display for users in specific security roles. However, everything in your solution was in a single site map and you had to manage it as such, which forced configurators to always remember that the application they’re designing and building is visible to all users, unless they update the specific dashboards and forms to be visible only to users in a specific security role (by default they’re visible to all).
However, with the introduction of Apps for Dynamics 365 for Sales, configurators can now more easily put components that they want specific users to have visibility to into a specific app for those users. This means that when you have new users rolling onto CRM, you can easily create a new security role for them, and then start putting the components of the system into their own app that only they’ll have visibility to. Also you can filter what sub components of those artifacts you want visible in your app – this functionality doesn’t exist in previous versions of the product.
Also of note is that your apps will have a unique URL should you want to provide that to users to navigate to directly. The URL will be in the format of <crmurl>/apps/AppName.
App Creation and Basics
When you create a new App (done from the solution since apps are solution aware), you’ll need to provide a few pieces of information. Note that the Application URL will be the name used at the end of the URL for the application specific URL mentioned above. This (along with the Unique Name) cannot be changed once you click Done on this initial app creation page. The Name, Description, and Use Default Image can be modified after creation.
After providing the basic information above, you’ll be taken into the designer area of the app. From here you’re able to add the following components to your app.
- Site Map – this is required and will is discussed in more detail in this blog post
- Dashboards – you can filter what dashboards display in your app
- Business Process Flows – you can filter what business process flows appear on entities for your app
- Entities – you can filter what forms, views and charts appear on the entities for your app
After you add each of these components, you’ll have different properties to set for each. For entities, you’ll be able to select which Forms, Views, and Charts are available in your app. After you start adding components, your app will start to accrue a list of other dependent components that. For example if you select a form that has a view from another entity used in a sub grid, you’ll need to make sure that view is in the target environment you’re deploying your app to or the deployment will fail. If it doesn’t exist, simply make sure to add that component to the solution prior to deployment.
Note: If you do not select any forms, views, or charts for an entity in your app, that entity will still display in your app but all forms, views, and charts will be displayed for it. Even though you’ll get a warning when validating your app (see validation details below), the app will still work and show you all components of that entity without filtering some of them out.
With Dashboards and Business Process Flows, you simply have the option to select which of those you want to include in your app. Note, when you do this, if there are entities that are required for the dashboard or business process flow that you add, they’ll automatically be added to your app. However they’ll be added but no sub components of them will be added (forms, views, or charts) which will throw warnings during validation (as discussed above). We'll review validation in more detail in the next section.
These entities will be added but are not needed in your app. They’re only needed if you want to further filter out the forms, views and charts that are visible to end users. If you don’t want to filter them out and want to keep your app clean, you can simply click on the entity name and then click on the trash can / remove icon on the top of the page to remove it from your app. Doing so will provide you a confirmation dialog prior to removing the entity.
In addition to removing an entity from the app, you can also click on the Edit button that will open up the entity in an entity specific solution window. Finally, the Add button will let you quickly add another artifact or entity asset to the app.
As stated above, once you start adding components to your solution, you’ll app will start to take on dependencies which means that if they’re not in the target environment you’re deploying your app to, your solution import will fail.
For example if you select a form that has a view from another entity used in a sub grid, you’ll need to make sure that view is in the target environment you’re deploying to. If it doesn’t exist, simply make sure to add that component to the solution prior to deployment.
To validate your app, simply click on the “Validate” button at the top right of the app. You’ll get a summary at the top that you’ll be able to expand and see more details of what errors and/or warnings the validation identified. You’ll also see on the visual designer the components highlighted that are causing the dependencies. Finally, if you click on the “Required” tab on the right pane, you’ll be able to see a list view of the dependencies for the components added to your app, and those components are already added to your app will be checked off.
As stated before, an App is solution aware which means that you can put the app into a solution when you’re ready to promote it from Dev to QA to Production. Remember that if you have new components you created for your app (such as an app specific site map), those components also need to be included in your solution or the deployment will fail.
Also note that while you’re working on your apps, you don’t need to go through the Apps solution component to be able to resume development on the app. You’re also able to see your published apps and apps being edited by going to Settings –> Application –> My Apps. The default app that contains all your configuration and site map prior to the new app concept will be the only published app out of the box. This app cannot be edited through the app designer and needs to be edited the old way through solutions.
When the app is unpublished, you’ll be able to click on the ellipses and select Publish or Open in App Designer.
Once you have your custom app published, you’ll be able to Manage Roles to indicate what security roles should have access to view the app. By default, only the System Administrator and System Customizer roles have access to view the app so don’t be worried that you’re only able to get to this screen after the app is published (which means if all roles had access to the app there would be a period of time between publishing and removing roles, that some users may have access to the app – that’s not the case).
Using the App
After the application and site map have been completed and published, you access your new app via the app switcher which is the breadcrumb just to the right of the O365 tiles icon. You can quickly jump between all the apps you’ve developed via this app switcher. You also have the ability to “Pin This App” which will pin the app to the Home area.
Clicking the top Home icon will take you to https://home.dynamics.com/ which is a new home for all of your Dynamics 365 business apps. As mentioned above, your pinned apps will appear in a separate section on this page.
Note that when testing out the new Apps functionality, I ran across what seemed like a couple defects with the Home area.
- The Home area doesn’t seem to load when using IE11, but will load fine with Chrome
- After clicking in the Home area, when I went back up to the App Switcher, only my pinned apps appeared for me to select. In my example below, you’ll see that I no longer see the “Dynamics 365 – custom” app that I saw in my screenshot above. Once I navigated to an app, it reappeared for me.
If you click on “My Apps” in the App Switcher, you’re able to see all apps, and also search for apps should you have a lot in your list. You’ll also see in this list any other CRM organization you have access in your O365 deployment allowing you to quickly jump to those orgs from your current org.
In the main menu under “Home” you’ll see just the current Dynamics 365 organization apps. Additionally, you’ll see a light blue vertical bar to the left of the apps for the current org you're in.
When in your app, you’ll only see the dashboards, entities, forms, views, charts, and business process flows that you included in the design of your app.
Apps are another great feature for this continually evolving product. We’re excited to see where this concept goes in the upcoming releases (what other components they allow you to configure to be app specific), and are as always excited for all the new features being released with Dynamics 365.
Stay tuned for more new Dynamics 365 feature reviews.