Dynamics CRM 2016 新機能: ソリューションフレームワークの拡張 その 2 パッチソリューション
みなさん、こんにちは。
前回に引き続き、Dynamics CRM 2016 で拡張されたソリューション
フレームワークの機能を紹介します。前回は拡張された機能の概要を紹介
しましたが、今回はパッチソリューションの動作を実際に確認してみます。
事前の準備
今回の機能を試すには、開発環境とリリース先の環境が必要となります。
体験版をサインアップするか、設置型の場合は複数の組織を作成してください。
今回は以下の作業を行います。
- カスタムエンティティを 1 つもつベースソリューションの作成
- ベースソリューションに対してパッチソリューションの作成
- パッチソリューションでカスタムエンティティに対してフィールド追加
ベースソリューションの作成
以下の手順でベースソリューションを作成します。
1. ブラウザで開発環境に接続し、設定 | カスタマイズ を選択します。
2. 発行者をクリックして「新規」ボタンをクリックします。
3. 表示名に「CRM 2016 Test」名前に「CRM2016Test」と入力します。
また接頭辞を test にして、「保存して閉じる」ボタンをクリックします。
4. 設定 | カスタマイズ | ソリューションを選択します。
5. 「新規」ボタンをクリックして、発行元に作成した発行者レコードを
指定します。
6. 表示名に「ソリューション A」、名前に「SolutionA」と入力します。
7. バージョンに 1.0.0.0 を指定して、「保存」ボタンをクリックします。
8. ソリューションが一旦保存されたら、新規 | エンティティをクリックします。
9. 以下のようにカスタムエンティティを作成します。「保存して閉じる」
をクリックします。
11. 「ソリューションのエクスポート」をクリックしてソリューションを
エクスポートします。パッケージの種類にて「マネージド」を選択して、
エクスポートします。
以上でベースソリューションの作成は完了です。
パッチソリューションの作成
次にパッチソリューションを作成します。
1. 設定 | カスタマイズ | ソリューションに移動し、ソリューション A を選択します。
2. 「修正プログラムの複製」ボタンをクリックします。このボタンをクリックする
ことでパッチソリューションを作成できます。
3. 任意のバージョン番号を入力します。ここでは既定のまま「上書き保存」を
クリックします。
4. ソリューション一覧にパッチソリューションが作成されます。名前と説明は
自動的に付与されます。
5. 作成されたソリューションを開きます。ベースソリューションのコンポ―ネント
も含まれない空のソリューションとなっています。「既存の追加」ボタンより
「エンティティ」を選択し、ベースソリューションに含まれるカスタムエンティティ
を選択して「OK」ボタンをクリックします。
6. どの要素を含めるか選択する画面が表示されます。このように含める要素を
細かく指定することができます。「すべての資産を追加」のチェックボックスを
外してから、メインフォームのみ選択して「完了」をクリックします。
7. 追加したカスタムエンティティを展開してメインフォームが追加されて
いることを確認します。
8. フィールドをクリックして「新規」ボタンをクリックします。
9. 以下のように表示名、名前を入力し、それ以外は既定のまま作成します。
10. フォームよりメインフォームを開き、作成したフィールドをメイン画面の
任意の場所に配置します。「保存して閉じる」ボタンをクリックします。
11. 左側のナビゲーションペインで「コンポーネント」を選択して、「すべての
カスタマイズの公開」をクリックします。
12. 公開完了後、「ソリューションのエクスポート」ボタンをクリックします。
こちらもマネージドとしてエクスポートします。
ベースソリューションのロック
パッチソリューションを作成すると、ベース側で変更が行われないように自動的に
ロックがかかります。パッチソリューション作成後にベースソリューションを
開くと以下のメッセージが表示されます。
ターゲット環境へのインポート
最後にエクスポートしたベースソリューションとパッチソリューションを
ターゲット環境へインポートします。
1. ブラウザでターゲット組織に接続し、設定 | カスタマイズ | ソリューションを
選択します。
2. 「インポート」ボタンをクリックして、パッチソリューションのインポートを
試みます。
3. ベースソリューションが必須のエラーが出て失敗します。
4. ベースソリューション、パッチソリューションの順番でソリューションを
インポートします。問題なくインポートできることを確認します。
まとめ
今回のリリースでは、上記で紹介した通り、ベースソリューションとパッチ
ソリューションの機能を提供することでより明確にソリューションの更新方法を
提示しています。これまでベースソリューションを更新し続けて開発している
場合にも、是非こちらの方法を一度お試しください。
次回はソリューションのマージを紹介します。
- 中村 憲一郎
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。