Dynamics CRM 2016 新機能: ソリューションフレームワークの拡張 その 1
みなさん、こんにちは。
今回から数回で、Dynamics CRM 2016 で拡張されたソリューションフレーム
ワークの機能を紹介します。
概要
これまで、本番環境へリリースしたマネージドソリューションに対して新しい
バージョンのソリューションをリリースする場合、以下の問題がありました。
- ソリューションの合計数が増える
- 他の環境に展開する場合に、リリースするソリューション数が増える
- 他のソリューションが混在する場合、インポート順に蓄積されるため結果が
想定と異なる場合がある
- ソリューションに既定の設定も含まれるため、展開先の設定を上書きしてしまう
- パフォーマンス問題
今回のリリースではこれらの問題を解決すべく、以下の機能が追加されます。
- パッチソリューションの作成
- パッチは常にベースソリューションのすぐ上の階層にインポートされる
- メジャーバージョンリリース時に、ベースソリューションとパッチをすべて
統合して 1 つのソリューションにする
- より柔軟な要素のエクスポート
- コンポーネントの削除
- パフォーマンスの改善
これらの機能は GUI からも SDK からも操作が可能になっています。
ベースソリューションとパッチソリューション
以下の図はベースソリューションである Solution A (バージョン 1.0.0.0) と
パッチソリューションを示しています。
ベースソリューションからパッチソリューションを作成する場合は
GUI 上からパッチを作成するか、 CloneAsPatchRequest メッセージを
利用して作成します。
本番などリリース先の環境に展開した場合に、他のマネージド
ソリューションが存在しても、ベースソリューション階層の上に
パッチソリューションは展開されます。
ソリューションのマージ
ベースソリューションと複数のソリューションを次のバージョンの
ベースとしてマージすることができます。
下の図では、ベースソリューションである Solution A バージョン 1.0.0.0
に対して 3 つのパッチソリューションが作成されていますが、GUI から
または CloneAsSolutionRequest メッセージを利用して Solution A 1.1.0.0 の
作成を行っています。
この場合 1.1.0.0 バージョンのソリューションはこれまでのすべての要素を
含むソリューションとなります。
要素の削除
カスタムエンティティなど、既存のソリューションに含まれる要素が
新しいバージョンのソリューションには含まれない場合、完全に移行
することで要素を削除することが可能です。こちらも GUI からの操作
または DeleteAndPromoteRequest メッセージを利用して行えます。
まとめ
今回は Dynamics CRM 2016 で提供されるソリューションフレームワークの
機能概要を紹介しました。次回からは実際の動作をハンズオン形式で紹介
しますので、お楽しみに!
- 中村 憲一郎
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。