ソリューションの概念
ソリューションは、アプリケーション ライフサイクル管理 (ALM) を実装するためのメカニズムです Power Apps 。 Power Automate この記事では、以下の主要なソリューションの概念について説明します。
- ソリューションの 2 つの種類
- ソリューション コンポーネント
- ソリューションのライフサイクル
- ソリューション発行者
- ソリューションとソリューション コンポーネントの依存関係
管理ソリューションとアンマネージド ソリューション
ソリューションは管理かアンマネージドのどちらかです。
管理されていないソリューション が開発されます。 アンマネージド ソリューションは、アプリケーションに変更を加える間、開発環境で使用されます。 アンマネージド ソリューションは、アンマネージドまたはマネージドのいずれかとしてエクスポートできます。 エクスポートされたアンマネージド バージョンのソリューションは、ソース管理システムにチェックインする必要があります。 アンマネージド ソリューションは、Microsoft Power Platform 資産のソースとみなされます。 管理されていないソリューションを削除すると、それに含まれるカスタマイズのソリューション コンテナーのみが削除されます。 アンマネージド ソリューションはすべて効果性を保持し、既定のソリューションに属します。
マネージド ソリューション が展開されます。 マネージド ソリューションは、そのソリューションの開発環境ではない任意の環境に展開されています。 これには、テスト、UAT、SIT、および運用環境が含まれます。 管理ソリューションは、環境内の他の管理ソリューションから独立してサービスを提供できます。 ALM のベスト プラクティスとして、管理ソリューションは、アンマネージド ソリューションをマネージドとしてエクスポートし、ビルド成果物と見なして生成する必要があります。 さらに、
- 管理ソリューション内でコンポーネントは直接編集できません。 マネージド コンポーネントを編集するには、最初にそれらをアンマネージド ソリューションに追加します。
- これを行うには、アンマネージド カスタマイズとマネージド ソリューション間の依存関係を作成します。 依存関係が存在する場合、依存関係を削除するまで管理ソリューションをアンインストールすることはできません。
- 一部のマネージド コンポーネントは編集できません。 コンポーネントを編集できるかどうかを確認するには、マネージド プロパティをご覧ください。
- 管理ソリューションはエクスポートできません。
- マネージド ソリューションを削除 (アンインストール) すると、それに含まれるカスタマイズおよび拡張もすべて削除されます。
重要
- 元のアンマネージド ソリューションを含む同じ環境に管理ソリューションをインポートすることはできません。 マネージド ソリューションをテストするには、別の環境をインポートする必要があります。
- 管理ソリューションを削除すると、管理ソリューションの一部となっているユーザー定義のエンティティに格納したデータや、管理ソリューションの一部ではない他のエンティティ上の管理ソリューションの一部となっているユーザー定義属性に格納したデータは失われます。
- 管理ソリューション内でコンポーネントは直接編集できません。 マネージド コンポーネントを編集するには、最初にそれらをアンマネージド ソリューションに追加します。
メーカーと開発者は、アンマネージド ソリューションを使用して開発環境で作業し、それらをマネージド ソリューションとしてテストなどの他のダウンストリーム環境にインポートします。
注意
開発環境でカスタマイズすると、アンマネージド レイヤーで作業することになります。 次に、アンマネージド ソリューションを管理ソリューションとしてエクスポートして別の環境に配布すると、管理ソリューションがマネージド レイヤーの環境にインポートされます。 詳細ついては、ソリューションの階層 を参照してください
ソリューション コンポーネント
コンポーネントは、カスタマイズできる可能性のあるものを示します。 ソリューションに含めることのできるものは、コンポーネントです。 ソリューションに含まれるコンポーネントを表示するには、目的のソリューションを開きます。 コンポーネントは、コンポーネント リストに一覧表示されています。
注意Note
- ソリューションのサイズは最大 95 MB までです。
- 管理ソリューション内でコンポーネントは直接編集できません。
ソリューションに追加できるコンポーネントの種類のリストを表示するには、ComponentType オプション をご参照してください。
コンポーネントによっては、他のコンポーネントにネストしています。 たとえば、エンティティには、フォーム、ビュー、グラフ、フィールド、エンティティ関係、メッセージや業務ルールが含まれています。 各コンポーネントには、エンティティの存在が必要です。 フィールドはエンティティの外部に存在することはできません。 フィールドは、エンティティに依存していると言えます。 コンポーネントの種類は前述のリストの2倍ありますが、そのほとんどは他のコンポーネント内にネストされており、アプリケーションでは表示されません。
コンポーネントの目的は、マネージド プロパティおよびすべてのソリューションの依存関係を使用してカスタマイズできることの制限を追跡し、何も残さずにエクスポート、インポート、および (管理ソリューション内で) 削除することです。
ソリューション ライフサイクル
ソリューションは、アプリケーション ライフ サイクルのプロセスに役立つ次のアクションをサポートします。
著者 を作成し、管理されていないソリューションをエクスポートします。
更新 親 管理ソリューション. にデプロイされる 管理ソリューション の更新を作成します アップデートでコンポーネントを削除することはできません。
アップグレード ソリューションを既存の 管理ソリューション へのアップグレードとしてインポートします。これにより、未使用のコンポーネントが削除され、アップグレード ロジックが実装されます。 アップグレードには、そのソリューションに対するすべての修正プログラムをソリューションの新しいバージョンにロールアップ (統合) することが含まれます。 ソリューションのアップグレードでは、存在していたがアップグレードされたバージョンには含まれなくなったコンポーネントが削除されます。 すぐにアップグレードするか、段階的にアップグレードするかを選択して、アップグレードを完了する前にいくつかの追加アクションを実行出来ます。
パッチ パッチには、コンポーネントやアセットの追加や編集など、親 管理ソリューション, の変更のみが含まれます。 小さな更新を行う場合は修正プログラムを使用します (修正プログラムと同様)。 インポートされた修正プログラムは、上位のソリューションの上に重ねられています。 修正プログラムでコンポーネントを削除することはできません。
ソリューション発行者
作成されたエンティティやカスタマイズなどの、アプリやその他のソリューション コンポーネントはすべてソリューションの一部です。 すべてのソリューションには発行元があるため、既定のものを使用するのではなく、独自の発行元を作成する必要があります ソリューションを作成する際に発行元を指定します。
Note
カスタム ソリューションを使用していない場合であっても、Common Data Service の既定のソリューション や 既定のソリューションで作業することができます。 詳細情報 : 既定のソリューションと Common Data Service の既定のソリューション
コンポーネントが作成されたソリューションの発行者は、そのコンポーネントの所有者と見なされます。 コンポーネントの所有者は、そのコンポーネントを含むソリューションの他の発行者が何を変更できるか、または作成を制限できるかを制御します。 コンポーネントの所有権を同じ発行元内のあるソリューションから別のソリューションに移動することはできますが、発行者間ではできません。 管理ソリューションでコンポーネントの発行元を導入すると、そのコンポーネントの発行元を変更することはできません。 この制限があるため、後でソリューション間で階層化モデルを変更できるように、単一のパブリッシャーを定義することをお勧めします。
ソリューションの発行者は、アプリの開発者を指定します。 このため、適切なソリューション発行者名を作成する必要があります。
ソリューション発行者の接頭辞
ソリューション発行者には接頭辞が含まれています。 発行元の接頭辞は、名前の競合を回避するためのメカニズムです。 これにより、競合の少ない環境にさまざまな発行元のソリューションをインストールできます。 たとえば、ここに表示される Contoso ソリューションには、ソリューション発行者の接頭辞の contoso が含まれます。
注意
ソリューション発行者の接頭辞を変更する場合は、最初に作成した後にメタデータ アイテムの名前を変更できないため、新しいアプリまたはメタデータ アイテムを最初に作成する前に行う必要があります。
詳細:
ソリューションの依存関係
管理化ソリューションが階層化されているため、一部の管理ソリューションは、その他の管理ソリューションでソリューション コンポーネントに依存される可能性があります。 一部のソリューション発行者は、これを利用してモジュール式のソリューションを構築しています。 最初に「ベース」の 管理ソリューション をインストールし、その後、ベース 管理ソリューション 内のコンポーネントをさらにカスタマイズする2番目の 管理ソリューション をインストールする必要がある場合があります。 2 番目の管理ソリューションは、最初のソリューションに含まれているソリューション コンポーネントに依存しています。
システムはこれらのソリューション間の依存関係を追跡します。 インストールされていない基本ソリューションが必要なソリューションをインストールしようとしても、そのソリューションをインストールできません。 ソリューションを使用するには、まず別のソリューションをインストールする必要があることを知らせるメッセージが表示されます。 同様に、依存関係があるため、依存するソリューションがインストールされている間は、基本ソリューションをアンインストールすることはできません。 基本ソリューションをアンインストールする前に、依存ソリューションをアンインストールする必要があります。 詳細: 依存関係を削除する
ソリューション コンポーネントの依存関係
ソリューション コンポーネントは、カスタマイズできる可能性のあるものを示します。 ソリューションに含めることができるものはすべてソリューション コンポーネントであり、一部のコンポーネントは他のコンポーネントに依存しています。 たとえば、Web サイトのフィールドとアカウントの概要レポートは、どちらもアカウント エンティティに依存しています。 詳細: ソリューション コンポーネントの依存関係の追跡