Thumbnail with text: Dynamics 101 - Learn the Lingo

Dynamics 101: Learn the lingo

When you first start to learn a new topic, you will most likely be overwhelmed by all the new words. This post tries to summarize and explain some of the words used by Dynamics Customizers, Admins, and Developers.

What is Dynamics 365?

Dynamics is a suite of different web services aimed towards optimizing and digitalizing business processes. There are three(-ish) main physical products, which make up the Dynamics suite:

  • Dynamics Customer Engagement
    • This covers Dynamics CRM and includes Dynamics for Marketing, Sales, Field Operations and Customer Support modules
  • Dynamics for Finance and operations
    • previously called Dynamics AX
    • This product includes Finance, Supply chain Management (Manufacturing), Retail,
  • Dynamics Business Central
    • previously called Dynamics NAV and before that called Navision
    • This product is an All-In-One ERP solution suited for small to medium businesses and includes everything a company needs

Each of these products is managed and configured in its own console. They use separate databases and are customized separately and in their own ways. Even though they are separated, they provide great integration options with each other. It’s also worth noting that each of these products can be customized to include everything that the other ones include – it’s all about specialization – each module from above is specialized and optimized for its job and it saves a lot of time to just use them instead of customizing and building everything from the ground up.

On this blog, we focus on the Customer Engagement.

What is Dynamics Customer Engagement

We are making a wild guess that our readers are developers or tech-sawy people, so we will try to explain Microsoft terms in as technical terms as possible.

Dynamics Customer Engagement is a web application built on Microsoft stack and running on Azure:

  • Microsoft SQL Server as the database
  • ASP.NET, EF, WCF web app as the Rest + SOAP API
  • React.js frontend

The core feature of Dynamics for Customer Engagement is the ability to dynamically add / change / delete database tables and columns while the database is online. This allows for very easy data modelling. Then the API allows for very easy, secure and structured data manipulation. Microsoft’s name for this set of features is called Microsoft Dataverse.

What does it look like

It looks like this:

Let’s break it up into pieces and explain everything:

Right now, you are looking at Table Form or just Form. Dynamics CRM is based on a Database. As you may or may not know, Databases are made up of tables. In Dynamics every database table has a Form. Right now, you are looking at the Opportunity database table and a record named “Interested in new 3D printer Suite“. Each form includes:

  • a Ribbon (Number 3 – the buttons), which enables you to perform actions on table records
  • form Fields (Number 7 – Topic Field), where your users read and enter data
  • form Tabs (Number 6), which enable you to split the form into multiple parts to make it less cluttered
  • (optional) Business process Flows (Number 5), which guide users through the interface and systematize data input

What you are also looking at right now is Model-Driven App called Dynamics CRM for Sales. As you add more and more tables to the database, the user interface may start to look cluttered, therefore Microsoft made a clever feature called “Model-Driven Apps“. These are just containers for multiple tables, forms, views and other elements which enable you – the customizer – to simplify the user interface and split it into logical pieces. You can make as many Model Driven apps as you want. You can easily switch between different apps using the App Switcher at the top (Number 1 – Sales). To navigate between entities, your users can use the SiteMap (Number 4). Each Model Driven App can have its own SiteMap.

Table, record, field, …

Table (or previously called Entity) represents a table in the database.

Dataverse is built around entities. It allows you to easily prepare frontend for your data, adjust access levels.

Record is a row in the database.

Entity records in database are encrypted and automatically backed up. In case of emergency, you can always restore the database to a previous version. Backups are differential (only changes are saved) and are made every half an hour. Backups are retained for 28 days. More about this here.

Field is a column in the database.

Access control is maintained using Security Roles, Record Sharing, Hierarchical security, and Field Security profiles.

Frontend

You can view multiple records on one screen using a Grid. Specifying which columns to display, what rows to display (filtering) and how to order them can be done using Views.

A single record is displayed on a Form (seen above). It defines a graphical structure of the fields and allows you to specify special behavior. You can embed a Grid of related records inside a form using s Subgrid.

You can add On-Demand functionality to your grids, forms and subgrids using the Ribbon (seen above).

You can also apply simple Business Rules using a graphical interface, but more advanced rules require creating a WebResource, Workflow or a Plugin.

Plugins, Workflows, Actions

A plugin is a piece of code which executes on various occasions in Dynamics. You must register a plugin to run when a specific event occurs. Plugins work in “When this happens, do that” fashion. You can register them to listen for different events, for example:

  • when an entity record is Created / Updated / Deleted
  • when a custom Action is called.

These “events” are called Messages in Dynamics. Everything that happens with data is caused by a Message. The five basic messages are:

  • Create a record
  • Update a record
  • Delete a record
  • Retrieve a single record
  • Retrieve Multiple records

There are lots of other messages in Dynamics, you can find more messages here.

You can also add your own messages by creating Actions. An action is a definition of a message. When you create an action, the Dataverse API allows you to call custom C# code through sending a HTTP request. More on plugins and actions later.

If you have some trivial business logic to implement, you can create a Workflow instead of coding a plugin.

Model Driven apps

Model driven app is a container which groups multiple entities together. You can create your own apps and decide which entities to include in them. For each entity, you can specify what forms and views you want to include in your app. This allows you to split the functionality and create specialized applications for each team in your company or even for specific processes.

Dynamics CE is a common name for four pre-made Model Driven apps:

  • Dynamics 365 for Sales
  • Dynamics 365 for Marketing
  • Dynamics 365 for Field Service
  • Dynamics 365 for Customer Support

For each of these apps, you must buy a separate license from Microsoft, although bundles are available.

If you don’t need any of these apps and just want to utilize Model Driven apps as a Low-Code platform, you can certainly do that by buying just a PowerApps license.

Conclusion

You have learned some basic Power Platform words here. Our goal with this blog is to go through each of these words and add them to context, so you will be able to learn how they work and how to customize them. Almost everything in Dynamics can be customized – that’s why Dynamics is so popular. But as with everything in life – with flexibility comes confusion. We will try to simplify your learning process as much as possible.

You can read more about each of them in separate posts. If you find a word which we forgot to mention, be sure to write it down in the comments.

Thank you very much and have a nice day!

Share this article
Shareable URL
Prev Post

Step-by-step tutorials made easy

Next Post

How to centralise your documentation with SharePoint and Teams