Power Platform ではマネージドソリューションとして配布することが推奨されています。
その理由はいくつかあります。
- バージョン管理: マネージドソリューションはバージョン管理が容易で、更新やアップグレードがスムーズに行えます。これにより、ソリューションの一貫性と安定性が保たれます。
- セキュリティ: マネージドソリューションは、ソリューションのコンポーネントがロックされているため、意図しない変更や削除を防ぐことができます。これにより、セキュリティが向上します。
- 依存関係の管理: マネージドソリューションは、依存関係の管理がしやすく、必要なコンポーネントがすべて含まれていることを保証します。これにより、ソリューションのデプロイメントが簡単になります。
- サポートとメンテナンス: マネージドソリューションは、ベンダーや開発者からのサポートが受けやすく、問題が発生した場合のトラブルシューティングが迅速に行えます。
- 再利用性: マネージドソリューションは、他の環境やプロジェクトで再利用しやすく、開発の効率を向上させます。
これらの理由から、Power Platform ではマネージドソリューション (Managed solution) として配布することが推奨されています。
一方で、マネージドソリューションはソシューション内のオブジェクトを基本的には変更することができません。
マネージドソリューションの中身を編集したいときはどのようにしたら良いでしょうか?
目次
マネージドソリューションのオブジェクトをアンマネージドソリューションに追加することで編集可能にできる
マネージドソリューションのオブジェクトをアンマネージドソリューションに追加することで編集可能にすることができます。絵にすると以下のようになります。
もし、追加したとしてもマネージドソリューションのレイヤーには残り続けるので、マネージドソリューションレイヤーレベルのバージョンは破壊されることは有りません。
操作手順
手順にして説明致します。
新しいアンマネージドソリューションを作成します。
「ソリューション」タブで「新しいソリューション」をクリックし、必要な情報を入力してアンマネージドソリューションを作成します。
例えばこのような名前のソリューションを作成します。このように作成したソリューションはアンマネージドソリューションとして作成されます。
今作成したアンマネージドソリューション内に移ります。
既存を追加からインポート済みのマネージドソリューションの内部にある編集したいオブジェクトを追加します。今回は、例えばキャンバスアプリを追加してみようと思います。
検索機能を使い、追加したいオブジェクトを追加します。
追加が完了したら、アンマネージドソリューション内でオブジェクトを編集できるようになります。
ソリューションの違いとソリューションレイヤーの考え方
ソリューションレイヤーは、Power Platform でのソリューション管理において非常に重要な概念です。これにより、同じアプリでもマネージドソリューションのバージョンを破壊せずアプリの編集を行うことができます。
ソリューションレイヤーの基本概念
- レイヤーの階層構造:
- ソリューションレイヤーは、環境内のソリューションが適用される順序を示す階層構造を持っています。上位のレイヤーが下位のレイヤーを上書きする形で適用されます。
- デフォルトレイヤー:
- 環境にはデフォルトのアンマネージドレイヤーがあり、ここにはすべてのカスタマイズが最初に保存されます。これは最も下位のレイヤーです。
- マネージドレイヤー:
- マネージドソリューションがインポートされると、それぞれのソリューションに対して個別のマネージドレイヤーが作成されます。これらのレイヤーはデフォルトレイヤーの上に積み重ねられます。
- アンマネージドレイヤー:
- ユーザーが直接行うカスタマイズや、アンマネージドソリューションのインポートによる変更は、デフォルトレイヤーに適用されます。
- レイヤーの削除:
- マネージドソリューションをアンインストールすると、そのソリューションのレイヤーが削除され、下位のレイヤーが再び適用されます。
- 今回のように作成したマネージドソリューションの上に存在するアンマネージドソリューションのオブジェクトを削除した場合、マネージドソリューションのバージョンに戻すことができます。
このようにソリューションのタイプをうまく使い分けでアプリの編集とバージョンアップに備えましょう!