Dynamics CRM 2015 : 開発した JavaScript コードがアップグレード可能か確認する
みなさん、こんにちは。
今回は、開発した JavaScript が Microsoft Dynamics CRM 2015 にアップグレード
可能か確認するツールを紹介します。こちらのツールは以前のバージョンより
提供されており、今回 Dynamics CRM 2015 用が公開されました。
=====================================================================
新しいバージョンの Microsoft Dynamics CRM の新機能を利用するためにも、
現在利用中の JavaScript コードがアップグレードに向けて準備できているか
確認する必要があります。以下に確認ポイントを紹介します。
Microsoft Dynamics CRM 2015 Custom Code Validation Tool のダウンロード
なぜ既存のスクリプトを確認する必要があるか
開発されたスクリプトは現バージョンで動作するものですが、アップグレード
した場合にはいくつかの要件が変わる場合があるため、アップグレード後も
引き続き動作させるためには準備が必要な場合があります。
Microsoft Dynamics CRM 2015 で廃止となったメソッド
今回のリリースで廃止となったメソッドは以下の通りです。
getAuthenticationHeader
このメソッドは Microsoft Dynamics CRM 4.0 時代の Web サービスの利用で
使用されるものですが、すでに該当 Web サービスは廃止されました。
getServerUrl
このメソッドはアプリケーションがアクセスサーバーの URL を返しますが
Microsoft Dynamics CRM 2011 の時点で次期バージョンでのサポート終了が
宣告されています。代わりに getClientUrl を利用してください。
isOutlookClient
このメソッドはスクリプトが Outlook クライアントで実行されているかを
判定しますが、Microsoft Dynamics CRM 2013 の時点で次期バージョンでの
サポート終了が宣言されています。代わりに client.getClient を利用します。
isOutlookOnline
このメソッドは Outlook クライアントがオンラインモードかを判定しますが、
Microsoft Dynamics CRM 2013 の時点で次期バージョンでのサポート終了が
宣言されています。代わりに client.getClientState を利用します。
どのようにコードを確認できるか
問題があるスクリプトを確認するために、Microsoft Dynamics CRM 2015 カスタム
コード検証ツールを提供します。ツールはこちらよりダウンロード可能です。
ツールはマネージドソリューションとして提供されますので、検証したい組織に
インポートして利用し、不要になれば削除が可能です。
※ただしこちらのツールで全ての問題を検出できるとは限りません。ツールでは
特定の文字列などを確認し、それらをハイライト表示することで、開発者に対して
注意を促すことが出来ます。また検知されたとしても問題ない場合もあります。
問題ない場合の例としては以下のものがあります。
・カスタム HTML Web リソース内の DOM を直接操作している場合
・複数ブラウザに対して機能確認を行うためのテストコード
・コメントアウトされているコード
ツールでは検出できない問題もあり得るため、アップグレードプロセスの一環と
して、かならずテストを含めてください。
どのようにコードを修正するか
コードが外部から提供されたソリューションに含まれる場合
ソリューションの提供元に連絡し、Microsoft Dynamics CRM 2015 対応状況を
確認する必要があります。
コードがパートナーによって開発された場合
パートナーに連絡を取り、今後の対応について確認する必要があります。
コードが自分の組織で開発された場合
まずはカスタムコードが実行するロジックを理解する必要があります。Microsoft
Dynamics CRM API の利用方法を理解している JavaScritp 開発者とプロセスを
理解しているビジネスアナリストと一緒に、どのコードを修正するか検討する
必要があります。
以下に問題とその対応方法をまとめました
問題: CRM 4.0 サービスエンドポイントを利用している。
対応: CRM 2015 サービスエンドポイントを利用するように改修。用途によって
REST エンドポイントを利用するか SOAP エンドポイントを利用するか検討。
参考情報: https://msdn.microsoft.com/ja-jp/library/gg490659.aspx
問題: CRM 4.0 スクリプトオブジェクトモデルを利用している。
対応: Xrm.Page オブジェクトモデルを利用するように改修。
参考情報: https://msdn.microsoft.com/ja-jp/library/gg328261.aspx
問題: 非サポートの API を利用している。
対応: 新しいバージョンにおいてサポートされた方法で実現できないか
確認し改修。
全てのコードを改修する必要があるか
状況によって回答が異なります。アップグレード先の要件に合わせた改修
を行ってください。
=====================================================================
尚、現在 Microsoft Dynamics CRM 2011 を利用している環境で Microsoft
Dynamics CRM 2013 にアップグレードを検討されている場合は、同様の
ツールを利用いただけます。詳細は以下の記事をご覧ください。
Dynamics CRM 2013 : 開発した JavaScript コードがアップグレード可能か確認する
最後にツールの使い方を簡単に紹介いたします。
1. Microsoft Dynamics CRM 2015 Custom Code Validation Tool をダウンロードします。
https://www.microsoft.com/en-us/download/confirmation.aspx?id=45535
2. ダウンロードしたファイルを実行することでマネージドソリューションが解凍されます。
3. 解凍されたソリューションをインポートします。
4. インポートされたソリューションをソリューションの画面より開きます。
5. ソリューション画面より「Open the CRM 2015 Custom Code Validation Tool」を
クリックします。
6. 画面左上に登録済みのスクリプト Web リソースが表示されます。既定で一番
始めになっているものはコードが画面中央、結果が下に表示されます。
赤で表示されているものは Internet Explorer で、青で表示されるものは Chrome、
Firefox、Safari で問題がでる可能性があるものです。
尚、どのようなコードが評価されるかの詳細は、以前のものですが以下の記事が
ございますので、ご参照ください。
Dynamics CRM 2011 : カスタムコード検証ツール公開
まとめ
製品をアップグレードする際は、対応している SQL Server のバージョンやブラウザ
バージョンといったソフトウェア要件やハードウェア要件だけでなく、開発した
モジュールの対応状況も事前に確認しておく必要がありますが、アップグレード
作業自体を妨げるものではないため、確認ポイントの参考としてご活用ください。
また独自に開発している HTML ページで利用する JavaScript に対する検査も通常の
フォームスクリプト同様行われますので、本当に修正が必要な箇所は選定いただく
必要がございます。
- 中村 憲一郎