Microsoft-crm-solutions
Microsoft Dynamics CRM-ソリューション
ソリューションは、ビジネスの機能に合わせてコンポーネントをパッケージ化、インストール、およびアンインストールするためのフレームワークを提供します。 ソリューションにより、カスタマイザーと開発者は、CRMを拡張するソフトウェアのユニットを作成、パッケージ化、および保守できます。 CRMで実行されるカスタマイズ、拡張、または構成は、ソリューションを使用してパッケージ化、管理、および配布されます。 ソリューションは、ソース組織からzipファイルとしてエクスポートでき、ターゲット組織にインポートできます。
これを理解するために、次のシナリオ例を検討してください-
- 開発者またはカスタマイザーとして、開発環境でCRMを拡張またはカスタマイズしました。 次に、変更をパッケージ化し、次の環境に移動します。 このために、個々のソリューションを作成し、それらをより高い環境で公開できます。
- サードパーティのCRMプロバイダーとして、外部WebサービスAPIを使用してMicrosoft Dynamics CRMエンティティのデータを管理できるCRMモジュールを作成しました。 次に、このモジュールを他のクライアントに販売します。 ソリューションを使用して、このモジュールをパッケージ化し、このソリューションをインストールし、モジュールが提供する機能を使用できる他のクライアントに配布できます。
ソリューションの種類
デフォルトのシステムソリューション
システムソリューションには、カスタマイズなしでMicrosoft Dynamics CRM内で定義されたすぐに使用できるソリューションコンポーネントが含まれています。 システムソリューションのコンポーネントの多くはカスタマイズ可能であり、マネージドソリューションまたはアンマネージドカスタマイズで使用できます。
このチュートリアルでは、ソリューションを作成せず、デフォルトのシステムソリューションをカスタマイズしました。 思い出すと、設定→カスタマイズ→システムのカスタマイズに行きました。 このオプションは、デフォルトのソリューションを直接カスタマイズします。
管理ソリューション
マネージドソリューションとは、完了して配布およびインストールすることを目的としたソリューションです。 管理ソリューションは、システムソリューションまたは他の管理ソリューションの上にインストールできます。
重要なポイント-
- ある組織から管理ソリューションをエクスポートして別の組織にインポートする場合、新しい組織でソリューションを編集することはできません。
- 管理ソリューションは、システムソリューションを直接参照しません。
- 管理ソリューションをアンインストールすると、ソリューションに関連付けられているすべてのカスタマイズがアンインストールされます。
- デフォルトでは、管理対象ソリューションをターゲット組織でカスタマイズすることはできません。 ただし、管理プロパティの概念を使用して、ソリューションコンポーネントをカスタマイズ可能にするかどうかを定義でき、もしそうであれば、ソリューションを管理ソリューションとしてエクスポートした後にコンポーネントの特定の部分をカスタマイズできます。
管理されていないソリューション
管理されていないソリューションは、まだ開発中であり、配布することを意図していないソリューションです。 管理されていないソリューションには、追加、変更、削除、または削除されたコンポーネントを含む、CRMコンポーネントのすべての管理されていないカスタマイズが含まれます。 デフォルトでは、新しいソリューションは管理されていないソリューションです。 ただし、非管理ソリューションを管理ソリューションまたは非管理ソリューションとしてエクスポートできます。
重要なポイント-
- ある組織から管理されていないソリューションをエクスポートし、別の組織にインポートする場合、新しい組織でソリューションを編集できます。
- 管理されていないソリューションは、システムソリューションを直接参照します。 したがって、1つのアンマネージドソリューションに加えられた変更は、システムソリューションを含む同じコンポーネントを参照するすべてのアンマネージドソリューションに適用されます。
- 管理されていないソリューションからソリューションコンポーネントを削除すると、そのコンポーネントはシステムから完全に削除され、使用できなくなります。 特定のアンマネージドソリューションからコンポーネントを削除するだけの場合は、deleteではなくremoveを使用します。
- 管理されていないソリューションをアンインストールしても、関連するカスタマイズは削除されません。 システムからソリューションを削除するだけですが、行った変更はそのまま残ります。
ソリューションコンポーネント
ソリューションを使用して、デフォルト、非管理、または管理ソリューションを使用してカスタマイズできる次のコンポーネントをパッケージ化できます。
コンポーネントの種類
成分
スキーマ
実体
属性
関係
グローバルオプションセット
ユーザーインターフェース
アプリケーションリボン
サイトマップ
フォーム
エンティティリボン
Webリソース
アナリティクス
ダッシュボード
レポート
視覚化
プロセス/コード
プロセス
対話
ワークフロー
プラグイン
アセンブリ
処理手順
テンプレート
差し込み印刷
Eメール
契約する
記事
セキュリティ
セキュリティロール
フィールドレベルのセキュリティプロファイル
ソリューションを作成する
- ステップ1 *-[設定]→[ソリューション]に移動します。 新規をクリックします。
- ステップ2 *-次のウィンドウで、次の詳細を入力し、[保存して閉じる]をクリックします。
表示名-サンプルソリューション(これは任意の名前にすることができます)。
名前-表示名に基づいて自動的に設定されます。 ただし、これは変更できます。
*Publisher* -デフォルトのパブリッシャー。 ソリューション発行元は、共通のカスタマイズプレフィックスとオプション値のプレフィックスを提供します。 ソリューション発行元を定義すると、配布後の管理ソリューションの更新方法が制御されます。 ただし、この例およびほとんどの一般的なケースでは、これをデフォルトのパブリッシャーとして設定できます。
バージョン-次の形式でバージョンを指定します:major.minor.build.revision。 例:1.0.0.0。
デフォルトでは、すべてのソリューションが管理されていないソリューションとして追加されます。 ソリューションを追加したら、このソリューションのコンテキストでソリューションコンポーネントを作成するか、他のソリューションから既存のコンポーネントを追加して、ソリューションコンポーネントを追加できます。 たとえば、新しいエンティティ、フォームなどを作成できます。 この新しいソリューションのコンテキストで。
ソリューションのエクスポート
マネージドソリューションまたはアンマネージドソリューションとしてパッケージ化する変更をすべて実施したら、次のようにソリューションをエクスポートできます。
- ステップ1 *-ソース組織を開き、[設定]→[ソリューション]に移動します。 エクスポートするソリューションを選択し、[エクスポート]ボタンをクリックします。
- ステップ2 *-[カスタマイズの公開]ウィンドウで、[すべてのカスタマイズの公開]をクリックし、[次へ]をクリックします。
- ステップ3 *-次のウィンドウで、オプションで自動番号付け、カレンダー設定などのシステム設定を選択できます。 ソリューションとともにエクスポートされます。 現時点では、オプションを選択せずに「次へ」をクリックします。
- ステップ4 *-[パッケージタイプ]ウィンドウで、パッケージを管理されたソリューションとしてエクスポートするか、管理されていないソリューションとしてエクスポートするかを選択できます。 この例では、管理されていないものとしてエクスポートします。 完了したら、「次へ」をクリックします。
- ステップ5 *-次のウィンドウで、使用しているCRMのソースバージョンを確認し、ターゲットバージョンを選択できます。 エクスポートをクリックします。
- ステップ6 *-[エクスポート]をクリックすると、ソリューションがzipファイルとしてエクスポートされます。 このzipファイルをシステム上の目的の場所に保存します。
ソリューションのインポート
ここで、前のセクションでエクスポートしたソリューションzipファイルを新しいターゲット組織にインポートします。
- ステップ1 *-ターゲット組織を開き、[設定]→[ソリューション]に移動します。 インポートをクリックします。
- ステップ2 *-エクスポートステップからダウンロードしたzipファイルを参照し、[次へ]をクリックします。
- ステップ3 *-次のウィンドウから、必要に応じてソリューションパッケージの詳細を表示できます。 [インポート]をクリックすると、ソリューションのインポートプロセスが開始されます。
- ステップ4 *-インポートプロセスが完了すると、成功または失敗のステータスが表示されます。 プロセスが成功したら、[すべてのカスタマイズを公開]をクリックします。 ソリューションのインポートが失敗した場合、インポートプロセスのどのステップが失敗したかに関する詳細なエラーログが表示されます。
- ステップ5 *-これで完了です。 ソリューションがターゲット組織に正常にインポートされます。 閉じるをクリックしてください。
紛争解決
複数の開発者がCRMのカスタマイズと拡張に取り組むことができるため、複数の管理ソリューションと非管理ソリューションを使用できます。 これらのソリューションをエクスポートおよびインポートすると、競合シナリオが発生する場合があります。 たとえば、「ソリューションA」にフォーム上のフィールドが含まれ、「ソリューションB」がフィールドを削除し、「ソリューションC」がフィールドの名前を変更したとします。 このシナリオでは、最終的な変更は何ですか? このような矛盾するシナリオでは、CRMは2つのアプローチを使用します。
マージ-このアプローチは、コマンドバー、リボン、サイトマップなどのユーザーインターフェイスコンポーネントに使用されます。 このアプローチに従って、ソリューションコンポーネントは下から再計算され、組織の管理されていないカスタマイズが最後に適用されます。
トップウィン-このアプローチは、ユーザーインターフェイスコンポーネントを除く他のすべての競合シナリオに使用されます。 このアプローチでは、最後の変更(管理対象または管理対象外)が優先され、適用されます。
結論
この章では、ソリューションの概念と、さまざまなタイプのソリューションとそのコンポーネントを紹介しました。 次に、ソリューションを作成、エクスポート、インポートする方法を学びました。 最後に、同じソリューションコンポーネントに影響を及ぼす複数のマネージドソリューションとアンマネージドソリューションがある場合に発生する2つの競合解決戦略について検討しました。