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

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

マネージド ソリューションのインストールの準備をするときは、組織に複数のソリューションがインストールされている可能性や、将来、別のソリューションがインストールされる可能性があることを考慮します。 ソリューションをベスト プラクティスに従って構築して、他のソリューションと競合しないようにします。

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

このトピックの内容

フォームのカスタマイズのマージ

ナビゲーション (サイト マップ) のカスタマイズのマージ

オプション セット オプションのマージ

フォームのカスタマイズのマージ

フォームのカスタマイズの中で、唯一、マージする必要があるのは、組織内の既存のエンティティ フォームに対して実行されるカスタマイズです。 つまり、通常は、Microsoft Dynamics 365 のインストール時に作成されたエンティティ用に含まれているフォームをソリューションでカスタマイズする場合にのみ、フォームのカスタマイズをマージする必要があります。 フォームのマージを回避する方法の 1 つとして、どの Microsoft Dynamics 365 エンティティにも新しいフォームを提供します。 カスタム エンティティ用のフォームをマージする必要があるのは、カスタム エンティティとそのフォームを作成した既存のマネージド ソリューションを更新または変更するソリューションを作成する場合に限られます。

ソリューションをマネージド ソリューションとしてパッケージすると、FormXML に格納されているフォーム定義と元の FormXML とが比較され、相違点のみがそのマネージド ソリューションに取り込まれます。 そのマネージド ソリューションを新しい組織にインストールすると、フォームのカスタマイズの相違点が既存のフォームの FormXML とマージされて、新しいフォーム定義が作成されます。 ユーザーに表示されるフォーム定義は、この新しい方のフォーム定義で、システム カスタマイザーが変更できるのも、この新しいフォーム定義です。 このマネージド ソリューションをアンインストールすると、その中に取り込まれていた相違するフォーム要素のみが削除されます。

マージするフォームに新しい要素を追加するときは、新しい要素を新しいコンテナー要素 (タブまたはセクション) に含めることをお勧めします。 要素はコンテナーの最下部に追加されます。 たとえば、フィールドをセクションに追加すると、そのフィールドはセクションの最下部に配置されます。 通常は、ソリューションをインストールするカスタマイザーがそのインストール後に、フォームを変更して要素を配置し直します。

マネージド ソリューションに含まれるフォームで新しいセキュリティ ロールを使用していると、そのマネージド ソリューションは、それらのセキュリティ ロールに依存します。 そのようなセキュリティ ロールがある場合は、マネージド ソリューションと共に含める必要があります。 あるフォームに関連付けられているセキュリティ ロールが、マネージド ソリューションのインストール先組織に存在しなくても、インストールは失敗しませんが、フォームはどのセキュリティ ロールにも関連付けられない可能性があります。 マネージド ソリューションをアンインストールすると、そのマネージド ソリューションに付属するセキュリティ ロールもすべて削除されます。 その後、それらのセキュリティ ロールにマネージド ソリューション外のフォームを関連付けることはできません。

注意

マネージド ソリューション エンティティに複数のフォームが含まれ、組織エンティティ フォームにも複数のフォームが含まれている場合、新しいフォームは、使用可能なフォームのリストの最下部に追加されるのではなく、元のエンティティ フォームに挿入されます。

ナビゲーション (サイト マップ) のカスタマイズのマージ

ソリューションをマネージド ソリューションとしてパッケージすると、そのサイトマップ XML は、元のサイトマップ XML とそのサイトマップに加えられた他のカスタマイズと比較されます。 マネージド ソリューションには相違点のみ取り込まれます。 変更、移動、追加、または削除されたアイテムなどが相違点です。 マネージド ソリューションを新しい組織にインストールすると、サイトマップの変更は、マネージド ソリューションのインストール先組織のサイトマップ XML とマージされます。 ユーザーに表示されるのは、新しいサイトマップ定義です。

この時点で、カスタマイザーは、サイトマップをアンマネージド ソリューションにエクスポートでき、そのサイトマップの定義には、アクティブなサイトマップのすべての要素が取り込まれます。 その後、カスタマイザーはサイトマップを変更し、非管理カスタマイズとして再インポートできます。 後で、このマネージド ソリューションをアンインストールすると、このマネージド ソリューションと共にインポートされたサイトマップ XML は、このマネージド ソリューションと共に追加された変更を削除するために参照されます。 新しいアクティブなサイトマップが計算されるのはその後です。

サイトマップに追加される新しい可視要素は、常に、その要素が属するコンテナーの最下部に表示されます。 たとえば、新しい領域を追加すると、ナビゲーション領域の最下部に表示されます。 追加された要素を適切な場所に配置するには、まず、サイトマップをエクスポートして、正確な位置を設定するように編集する必要があります。その後、さらに、そのサイトマップをアンマネージド ソリューションとして再度インポートする必要があります。

注意

公開間に適用できるサイトマップのカスタマイズは 1 つのみです。 未公開のサイトマップのカスタマイズは、新しいサイトマップの定義がインポートされると失われます。

オプション セット オプションのマージ

新しい各オプション セット オプションは、接頭辞付きのオプション値を含む、割り当て済み整数値によって初期化されます。 オプション値の接頭辞は、オプション値の前に追加される 5 桁の数字です。 オプション値の接頭辞は、ソリューション発行者のカスタマイズによる接頭辞に基づいて生成されますが、任意の値に設定することもできます。 オプション値の接頭辞があることで、特定のソリューション発行者のコンテキストで作成された新しいオプション セット オプションを区別しやすく、オプション値が競合する可能性を容易に低減できます。 オプション値の接頭辞の使用は必須ではありませんが、使用することをお勧めします。

マネージド ソリューションは、通常、組織内の既存のオプション セット (取引先企業のカテゴリまたは業種オプション セットなど) のオプションを更新または追加します。 マネージド ソリューションでオプション セット内の使用可能なオプションを変更すると、そのマネージド ソリューションに定義されているすべてのオプションが組織内で使用できるようになります。 そのマネージド ソリューションをアンインストールすると、オプション セットは元の状態に戻ります。

関連項目

ソリューション開発の計画
マネージド プロパティの使用
ソリューションを使用した拡張機能のパッケージ化および配布
エンティティ フォームのカスタマイズ
SiteMap を使用したアプリケーション ナビゲーションの変更

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権