This is a continuation of a series of articles on Microsoft Azure from an operational point of view that surveys the different services from the service portfolio of the Azure public cloud. The most recent article on Service Fabric discussed the Dataverse and solution layers. This document talks about merging the layers.
Microsoft Dataverse is a data storage and management system for
the various Power Applications so that they are easy to use with Power Query.
The data is organized in tables some of which are built-in and standard across
applications, but others can be added on a case-by-case basis for applications.
These tables enable applications to focus on their business needs while
providing a world class, secure and cloud-based storage option for the data
that are 1. Easy to manage, 2. Easy to secure, 3. Accessible via Dynamics 365,
has rich metadata, logic and validation, and come with productivity tools.
Dynamics 365 applications are well-known for enabling businesses to quickly
meet their business goals and customer scenarios and Dataverse makes it easy to
use the same data across different applications. It supports incremental and
bulk loads of data both on a scheduled and on-demand basis.
Solutions are used to transport applications and components from
one environment to another or to add customizations to an existing application.
It can comprise applications, site maps, tables, processes, resources, choices,
and flows. It implements Application Lifecycle management and powers Power
Automate. There are two types of solutions (managed and unmanaged) and the
lifecycle of a solution involves create, updates, upgrade and patch.
Managed and unmanaged solutions can co-exist at different levels
within a Microsoft Dataverse environment. They form two distinct layer levels.
What the user sees as runtime behavior, comes from the active customizations of
an unmanaged layer which in turn might be supported by a stack of one or more
user-defined managed solutions and system solutions in the managed
layer. Managed solutions can also be merged. The solution layers feature enables one to see
all the solution layers for a component.
Merge behavior is important because it
affects the same component when a solution maker should understand the merge
behavior when a solution is updated or when multiple solutions are installed
that affect the same component. Merging involves only mobile-driven applications,
forms and sitemap component types. All other components uses the “top level
wins” behavior. The “top wins” behavior is one where the layers that reside at
the top determine how the component works at app runtime. A top layer can be
introduced by a staged pending upgrade. This behavior can be demonstrated with
an example where the current top layer has a property say maximum length=100
and a solution upgrade is performed which adds a layer with the maximum length
of 150. In this case, the affected target
will permit a maximum length of 150.
Update and Upgrade merge behavior are
applied after they are stacked on top of the base solution. These can be merged
by selecting “Apply upgrade” from the Solutions areas in the Power Application,
which flattens the layers and creates a new base solution. When the solution is prepared for
distribution, the recipients may already have multiple solutions. Using
segmented solutions to achieve isolated solutions is recommended.
Solution segmentation involves
exporting solution updates with selected entity assets rather than entity
fields, forms and views rather than entire entities with all the assets. A
segmented solution is created by selecting one or more options when adding an
existing entity to the solution. These include the option to add no components
or metadata so that only the minimal entity solution information is added to
the solution. Another option is to select components associated with the entity
such as fields so that only those that have been added or changed are include
in the solution update. Similarly, there is an option to include only the
metadata associated with the entity but not the components. Lastly, there is an
option to include all components and metadata associated with an entity.
No comments:
Post a Comment