ソリューションの階層

ソリューションの階層化はコンポーネント レベルで実装されます。 管理ソリューションとアンマネージド ソリューションは、Microsoft Dataverse 環境内で異なるレイヤ―に存在します。 Dataverse には、2 つの異なるレイヤーがあります。

  • アンマネージド レイヤー インポートされたすべてのアンマネージド ソリューションとアドホック カスタマイズは、このレイヤーに存在します。 すべてのアンマネージド ソリューションは、単一のアンマネージド レイヤーを共有しています。

  • マネージド レイヤー インポートされ、管理されているすべてのソリューションとシステム ソリューションは、このレベルに存在します。 複数の管理ソリューションがインストールされている場合、最後にインストールされたのソリューションは、以前にインストールされた管理ソリューションの上にあります。 これは、インストールされている 2 番目のソリューションが前にインストールされたものをカスタマイズできるという意味です。 2 つの管理ソリューションに競合する定義がある場合、ランタイムの動作は "最新のものが優先"、または結合ロジックが実装されます。 管理ソリューションをアンインストールすると、その下の管理ソリューションが有効になります。 すべての管理ソリューションをアンインストールした場合、システム ソリューション内に定義された既定の動作が適用されます。 管理レイヤ― レベルのベースはシステム レイヤ―です。 システム レイヤーには、プラットフォームが機能するために必要なエンティティとコンポーネントが含まれています。

フォームやビューなど、コンポーネントのソリューションの階層化の例。

管理ソリューション内の階層化

各マネージド コンポーネントには、ソリューション内に階層があり、1 つ以上の修正プログラムまたはソリューションへの保留中のアップグレードがインポートされたかどうかに応じて、以下の階層を含めることができます。

  • 基本ソリューション レイヤーの最下部にある "スタック" は、基本レイヤーです。 このレイヤーには、コンポーネントの所有者とそれに関連付けられているマネージド プロパティを識別するソリューション発行者が含まれています。

  • 最上位 最上位層は現在のレイヤーと見なされ、コンポーネントの実行時のランタイムを定義します。 最上位層がアップグレードまたは修正プログラムの可能性があるか、または、ソリューションに修正プログラムもしくはアップグレードが適用されていない場合、基本ソリューションがコンポーネントのランタイム動作を決定します。

  • 更新で追加された階層:

    • 修正プログラム コンポーネントに 1 つ以上のソリューション修正プログラムがインポートされている場合、それらは基本レイヤーの上にスタックされ、最新の修正プログラムは、以前の修正プログラムの上に配置されます。

    • 保留中アップグレード 段階的アップグレード (_Upgrade という名前) がインポートされる場合、基本レイヤーと修正プログラム (ある場合) レイヤーの上に配置されます。

ソリューション内の階層化の例

重要

修正プログラムの使用はお勧めしません。 詳細: ソリューション修正プログラムの作成

次の画像は、基本ソリューション、パッチ、および保留中のアップグレードを表示するカスタム列のソリューション レイヤーの例を示しています。

ソリューション レイヤー。

ソリューション内のコンポーネントの階層を表示する方法については、ソリューションの階層 を参照してください。

統合動作

ソリューション メーカーは、ソリューションが更新されたとき、または同じコンポーネントに影響する複数のソリューションがインストールされたときの統合動作を理解しておく必要があります。 統合されるのは、モデル駆動型のアプリ、フォーム、およびサイト マップ コンポーネントの種類のみであることに注意してください。 他のすべてのコンポーネントは "最上位優先" の動作を使用します。

"上位優先" の動作

モデル駆動型アプリ、フォーム、サイト マップ コンポーネントを除き、他のソリューション コンポーネントは "上位優先" の動作を使用し、最上位にあるレイヤーがアプリの実行時にコンポーネントがどのように機能するかを決定します。 トップ レイヤーは、段階的な (保留中の) アップグレードによって導入できます。

保留中のアップグレードによって導入されたトップ レイヤー

これは、ソリューションへのアップグレード更新のステージで導入された上位優先コンポーネントの動作の例です。 詳細: ターゲット環境でのアップグレードまたは更新の適用

  1. 現在のトップ (ベース) レイヤーでは、既定の設定である 100 を使用したアカウント テーブルに対する コメント テキスト列の 最大長 プロパテがあります。

    ベース ソリューションのテーブル コンポーネント。

  2. ソリューション アップグレードは、アップグレードのステージ オプションを使用してインポートされ、新しいトップ レイヤーが作成されます。 保留中のアップグレードには、最大長 プロパティ値が 150 に変更されたアカウント テーブルの コメント テキスト列が含まれます。

    ベース レイヤーの上に導入されたアクティブ レイヤー。

この場合、アカウント レコードの コメント 列には、アプリの実行時に最大 150 文字まで使用できます。

ソリューションの更新と統合動作のアップグレード

前のセクションで説明したように、修正プログラムと段階的アップグレードは、基本ソリューションの上にスタックされます。 これらは Power Apps のソリューション領域からアップグレードを適用を選択することで統合でき、これにより階層をフラット化し、新しい基本ソリューションを作成します。

複数のソリューションの統合動作

管理ソリューションの配布の準備をするときは、環境に複数のソリューションがインストールされている可能性や、将来、別のソリューションがインストールされる可能性があることを考慮します。 ソリューションをベスト プラクティスに従って構築して、他のソリューションと競合しないようにします。 詳細: セグメント化されたソリューションを使用する

Dataverse のカスタマイズをマージするプロセスは、ソリューションの機能を保持することに重点が置かれています。 プレゼンテーションを保持するためにあらゆる処理が行われても、カスタマイズ間に非互換性があると、カスタマイズの機能を保持することが優先されて、プレゼンテーションの細部が変更されることがあります。

参照

管理ソリューションのマージ方法について