All Content
Timespan
explore our new search
Understanding Metadata Behavior in Solution Development
Image Source: Shutterstock.com
Developer Tools
Oct 20, 2022 8:09 AM

Understanding Metadata Behavior in Solution Development

by HubSite 365 about EY Kalman (The CRM Ninja) [MVP]

Microsoft MVP/MCT | Dynamics 365/Power Platform Technology Evangelist | Host of #TheOopsFactor series

Citizen DeveloperDeveloper ToolsM365 Hot News

Unlock the power of Microsoft solutions with our expert guide on understanding and optimizing metadata behaviour.

A Deep Dive into Power Platform's Metadata behavior

The core subject of EY Kalman's blog post lies with the behavior of Metadata in conjunction with solutions in Microsoft's Power Platform. Defining Metadata as a 'set of data that describes and gives information about other data', Kalman simplifies the concept with an analogy of describing a car using Manufacturer, Model, Colour, Engine size and more as Metadata.

Within Power Platform, Metadata is responsible for defining the solution structure, tables, columns and column types, exclusive of the data input by users. In essence, the entire solution file can be perceived as Metadata designed for deployment in downstream environments.

The significance of the Metadata extends beyond merely describing the tables and columns within a solution - it also outlines the actual attributes including table type and the state of duplicate detection rules.

According to Kalman, the process of creating a new table results in automatic Metadata creation. Conversely, importing an existing table into a solution presents the option to include or exclude Metadata, with profound implications.

Troubleshooting Auditing Feature within Power Platform

Highlighting a case where the 'include table metadata' box was left unchecked during table importing, Kalman shares an encounter revolving around the auditing feature within Power Platform. Despite enabling auditing in the original (development) environment, the feature failed to translate into the User Acceptance Testing (UAT) environment due to omitted metadata.

On closer inspection, the auditing value set in the original environment was excluded from the XML in the UAT environment. An experiment with including table metadata during the import process ensured the inclusion of the auditing value (and other metadata values) into the UAT environment.

This experience might appear exasperating as users may unintentionally affect a different setting by importing unnecessary metadata. Pointing this out to Microsoft, Kalman was informed that by not including table metadata, any attributes or values set within a solution are irrelevant during solution export.

Currently, full indemnity must be granted for exporting or skipping metadata as part of a solution. Unfortunately, selective choice of metadata inclusion is unavailable. The 'include table metadata' option has to be checked for changes or modifications on metadata behavior.

The author presents a possibility for more selective metadata inclusion in the future and eagerly anticipates the beneficial implications on software developers' workflow. More Information on Developer Tools

Final Thoughts

Conclusively, understanding the role of Metadata within Power Platform solutions remains pivotal in successful solution development and deployment. Through EY Kalman's exploration, software developers and platform users can better comprehend the significance of including Metadata in solution imports - a seemingly minor choice with consequential effects on the behavior and functionality of Power Platform solutions.

Read the full article Metadata behaviour with solutions

Developer Tools - Understanding Metadata Behavior in Solution Development

Learn about Metadata behaviour with solutions

Learning about metadata as it relates to Microsoft Power Platform and its solutions can be a challenging venture for any novice. Metadata, put simply, is a set of information that explains and gives insights about other data. If we were to describe a vehicle, for instance, its metadata could look something like:

  • Manufacturer
  • Model

But metadata operates a bit differently on Power Platform. Here, metadata pertains to the structure of the solution — the tables, columns, and column types. It also outlines the solution but doesn’t carry any user-entered data. Basically, you can look at the solution file as being metadata that you create and then implement in subsequent environments.

Within the solution, you don't solely get a description of the tables and columns involved. It also spells out the attributes of the data table, like the table type itself, whether or not the rules for duplicate detection are switched on, etc.

So, when you’re building a new table, its metadata is self-created. You don't have to intervene, unless you wish to adjust its behaviour. When importing a table to a solution, though, you get to choose whether you'd like to include metadata.

This choice can have a big impact, as it influences how you set table properties. Let’s use the example of developing a solution for a client that includes common tables like accounts and contacts. If you do not pick the Include table metadata option during this process, you might encounter problems later when auditing.

Throughout the development process, you might have selected the standard table auditing feature in your custom solution. But when importing the solution to UAT, you might not see any auditing. Even though the auditing flag shows up in the DEV environment, it doesn't seem to carry over, which can be disconcerting.

Upon close inspection of the solution file exported from DEV, it may be discovered that the auditing value set is not included in the XML. So, you decide to try again, this time ticking the Include table metadata box. While you will now see the audit value and other metadata values, you might worry about potentially affecting other settings.

According to Microsoft, when you don't include the table metadata while adding it to a solution, it doesn't matter if you set any attributes or values within the solution. When exporting a solution, a single flag decides if all metadata of a table gets exported or skipped. This includes all table attribute details like the display name, description, audit flags, and more.

So, if you wish to alter metadata behaviour, you must set the flag to Include table metadata. At present, there is no way to individually select which metadata you want to include—it’s an all-or-nothing game. But based on user feedback, Microsoft might incorporate selective metadata inclusion in the future.

To understand more about different metadata options and how they can best serve your needs, check out "EntityMetadata EntityType" on Microsoft Learn. This will provide you a detailed understanding of all metadata options and their implications.

So, if you've ever felt stumped by something like this metadata option, you're definitely not alone. Feel free to share your experiences and insights in the comments!

More links on about Metadata behaviour with solutions

Metadata behaviour with solutions
Nov 22, 2022 — Let's start with a definition: Metadata is a set of data that describes and gives information about other data. Crystal clear, right?
Metadata behaviour with solutions - Dynamics 365 Community
Nov 22, 2022 — When it comes to Power Platform, the metadata is referring to the solution structure, ie tables, columns (& column types), etc. Essentially it ...
Metadata Publishing Behavior - WCF
Sep 15, 2021 — In this article. The Metadata sample demonstrates how to control the metadata publishing features of a service.

Keywords

Metadata solutions, metadata behaviour, metadata management, data solutions, managing metadata, metadata optimization, metadata strategy, metadata technology, metadata analysis, implement metadata solutions