対応しているカスタマイズと対応していないカスタマイズ プラクティス
Dynamics 365 Customer Engagement (on-premises) を拡張する開発者は、SDK: Dynamics 365 Customer Engagement (on-premises) での開発におけるベスト プラクティス に文書化されている規則とベスト プラクティスに従う責任があります。 SDK は、開発者が利用できる API を文書化し、それらを活用する方法についての手引きを提供します。 Microsoft は、SDK に文書化されている API とプラクティスのみをサポートします。 問題の解決方法がインターネットで見つかったとしても、SDK で文書化されている API を活用していない場合、その方法は Microsoft によってサポートされません。 開発者に変更を適用してもらう前に、サポートされているメソッドを使用していることを確認してください。
開発者が SDK に記載されている API とベスト プラクティスを使用する場合、Customer Engagement に加えた変更が既存のカスタマイズを壊す可能性があるかどうかをテストすることができます。 目的は Customer Engagement アプリの新しいバージョンまたは更新がリリースされても、サポートされているメソッドを使用して記述したコードのカスタマイズが引き続き機能することです。 開発者が毎回コードを変更しなくても、改良された機能を持つ新しいバージョンにアップグレードできるため、大変便利です。
Customer Engagement アプリの新しいバージョンの変更がサポートされているカスタマイズを壊すことが検出された場合は、影響の内容とコード修正のためのコードの変更方法を文書化します。
Dynamics 365 Customer Engagement (on-premises) ではどの種類のカスタマイズはサポートされませんか。
特定の API およびプログラミングのプラクティスが Microsoft によってサポートされていないからと言って、機能しないというわけではありません。 "Microsoft によってサポートされていない" というのは、Microsoft からこれらの API またはプログラミングの方法についてサポートを利用することはできないということです。 Microsoft はテストを実施せず、変更がカスタマイズを壊わすかどうかを知りません。 Microsoft は、ユーザーがアプリケーションのコードを変更しても何が起こるか予測できません。
サポートされていない API およびプログラミング プラクティスを使用する開発者が、コードをサポートする責任を負います。 機能するかどうか開発者がコードをテストする必要があります。
Customer Engagement アプリの展開でサポートされていないカスタマイズを使用することを選択した場合、Dynamics 365 Customer Engagement (on-premises) のテクニカル サポートに問い合わせる前に、実施したことを記載し、そのカスタマイズの削除方法を確認しておく必要があります。 サポートされていないカスタマイズでヘルプを必要とする場合は、カスタマイズを準備または開発した開発者に問い合わせてください。
サポートされていないカスタマイズの共通のプラクティス
サポートされないカスタマイズの一般的なプラクティスの一覧を次に示します。 これは完全な一覧ではありません。 詳細: Dynamics 365 Customer Engagement (on-premises) でサポートされている拡張機能。サポートされていないカスタマイズ。
JavaScript を使用して Web アプリケーションのドキュメント オブジェクト モデル (DOM) の要素と対話する
アプリケーションの任意の場所で使用される JavaScript ライブラリは、文書化されている API とのみ対話します。 JavaScript の開発者がアプリケーションで作業する際、特定名を使用し DOM 要素に頻繁にアクセスします。 Dynamics 365 Customer Engagement (on-premises) は Web アプリケーションであるため、これらのテクノロジは機能しますが、参照する要素名がいつでも変更されてしまうため、アップグレード時に破壊されてしまいます。 Microsoft には、アプリケーションで必要な変更を加える権利があります。つまり、ページの構成方法が変わることを意味します。 ページの現在の構造に基づく変更を追加する場合、アプリケーションのアップグレードのたびにこれらのスクリプトのユーザー定義コードをテストおよび時には変更することに投資する必要があります。
jQuery は JavaScript の開発者によって使用される非常に一般的なライブラリです。 jQuery を使用する利点の多くは、開発者が DOM 要素を作成してアクセスするための能力を簡素化することです。これは Customer Engagement アプリのアプリケーション ページではサポートしていません。 開発者が HTML Web リソースを使用するカスタム ユーザー インターフェイスを作成するときは jQuery が推奨されますが、Customer Engagement アプリのアプリケーション ページ内では、サポートされる API は jQuery の使用を必要としません。
JavaScript を使用する文書化されていない内部オブジェクトまたはメソッドを使用する
Dynamics 365 Customer Engagement (on-premises) はページ内で多くの JavaScript オブジェクトを使用します。 JavaScript の開発者はページをデバッグしてそれらのオブジェクトを検出し、これらのオブジェクトにアクセスし再利用できます。 Microsoft は、削除またはメソッド名の変更など、これらのオブジェクトに対する必要な変更を加える権利を有します。 スクリプトがそれらのオブジェクトを参照している場合は、オブジェクトが見つからない場合、スクリプトは停止します。
関連項目
Dynamics 365 for Customer Engagement、バージョン9(オンプレミス) におけるアプリケーション作成とカスタマイズの概要