Microsoft Dynamics CRM 2015 における、サポートされる構成


みなさん、こんにちは。

今回は Microsoft Dynamics CRM 2015 における、サポートされる構成についての情報をお届けします。
情報元: Important information about supported configurations in the next release for CRM 
             Supported configurations for the next version of CRM (v7)

=============================================================

これまでのリリース同様、最新の技術や製品に対応すべくサポートされるスタックの
変更が行わえる予定です。

サポートされるプラットフォームの変更

Microsoft Dynamics CRM 2015 では、以下の変更があります。

以下のオペレーティングシステムがサポートされる構成から除外されます。
・Windows Server 2008
・Windows Server 2008 R2
・Windows Small Business Server (All versions)

以下の SQL Server がサポートされる構成から除外されます。
・Microsoft SQL Server 2008
・Microsoft SQL Server 2008 R2

以下の製品が Outlook 用 Microsoft Dynamics CRM のサポートされる構成から
除外されます。
・Windows Vista
・Windows Server 2008 Remote Desktop Services
・Microsoft Office 2007

Microsoft Dynamics CRM Server 2015 は以下プラットフォームのみサポートします。
・Windows Server 2012
・Windows Server 2012 R2
・SQL Server 2012
・SQL Server 2014

サポートされるアプリケーション機能の変更 

クライアント API (JavaScript)

以下の クライアント SDK API が削除されます。
・GetServerUrl()
・IsOutLookClient()
・IsOutlookOnline()

上記 API を利用している場合、アップグレードに動作しなくなりますので、 スクリプトの
改修をご検討ください。

・GetFormType() の戻り値から ReadOnly および CRM 4.0 QuickForm  タイプを削除

すでに Microsoft Dynaimcs CRM 2013 では利用しない値のため、この変更 による
影響はないと考えています。

コードの改修については以下のリンクを参考にしてください。(英語)
Client-side Context Reference for CRM 2013

フォームの変更

以下のフォームタイプが削除されます。
・読み取り最適化フォーム
・Microsoft Dynamics CRM 2011 から Microsoft Dynamics CRM 2013 へ  アップグレードされた
フォーム

上記の変更のため、Microsoft Dynamics CRM 2015 に移行する前に、全てのフォームを
Microsoft Dynamics CRM 2013 フォームに移行してください。

エンティティ

製品におけるキットタイプの互換性維持がなくなります。Microsoft Dynamics CRM 2015 では
基本的なテストのみ行い、それ以降の製品で削除される予定です。

テーブルの統合について

テーブルはすべて統合された状態となります。Microsoft Dynamics CRM 2013 の時のように
統合をスキップすることはできません。

電子メールルーター

Exchange Server 2007 への互換性維持がなくなります。Microsoft Dynamics CRM 2015 では
基本的なテストのみ行いそれ以降の製品でサポートが削除される予定です。

ブラウザ

以下のブラウザがサポート対象外となります。
・Internet Explorer 8
・Internet Explorer 9

上記ブラウザを利用した場合、Microsoft Dynamics CRM for phones に リダイレクトされる
ことはなく、引き続き通常の画面へと遷移しますが、 最適な体験を提供できない可能性があり、
問題が発生した場合もサポート されているブラウザで再現するかをまず確認する必要があります。

2007 SDK SOAP エンドポイント

こちらのエンドポイントは完全に削除されます。

/mscrmservices/2007/crmservice.asmx

=============================================================

まとめ

Microsoft Dynamics CRM 2015 についての情報は、こちらのブログでも随時提供していきます。
Microsoft Dynamics CRM 2015 への移行を検討されている場合は現在利用してる環境が
Microsoft Dynamics CRM 2015 に対応しているかご確認いただき、 対応していない場合は、
構成変更の予定を是非ご検討ください。

– 早川 邦彦 

Comments (2)

  1. 通りすがり より:

    いつも有益な情報ありがとうございます。

    2011オンプレミスで作成したエンティティを、2013オンラインへ、ソリューションのインポートで移行して稼働している環境があります。

    多数のエンティティから、2011フォームの一覧を抽出する方法、あるいは2015への移行前に、2011フォームが残っていないことを確認する方法として、どのような手順が合理的でしょうか?

    差し支えなければご教示いただけましたら、助かります。

    よろしくお願いいたします。

  2. コメントありがとうございます。

    現在のカスタマイズから Dynamics CRM 2011 のフォームを抽出するには、目視で画面を見ていくか、SDK を利用してフォームを取得して確認する必要があります。Dynamics CRM 2011 のフォーム名は既定で「情報」となっています。ただしいくつかのエンティティではメインフォームが1つしかなく、依然名前も「情報」となっているものもございます。

    SDKを利用する場合、フォームは SystemForm エンティティとして保存されており、Type フィールドの値が 2 のものがメインフォームとなるため、例えば以下のようなコードで確認が可能であると考えます。

    ※以下コードはあくまでサンプルとして参照ください。また以下コードにて意図した全てのフォームが正しくとれる保証はない点、事前にご了承ください。例えば Dynamics CRM 2011 フォームを元に追加で開発されたフォームなどはここでは考慮していません。その場合、複数のメインフォームを持つエンティティの情報を確認するなど、クエリの調整を検討してください。

    // フォームエンティティのクエリ作成

    var query = new QueryExpression(SystemForm.EntityLogicalName);

    // 必要な列を指定 *ここでは全ての列を指定

    query.ColumnSet = new ColumnSet(true);

    // フィルターの追加

    query.Criteria = new FilterExpression();

    // メインフォーム (Type=2) だけを取得

    query.Criteria.Conditions.Add(new ConditionExpression("type", ConditionOperator.Equal, 2));

    // フォームの取得

    var results = _serviceProxy.RetrieveMultiple(query);

    // エンティティ単位でグループ化

    var groupedResults = results.Entities.GroupBy(x => (x as SystemForm).ObjectTypeCode);

    // エンティティごとに処理

    foreach (var groupedResult in groupedResults)

    {

       // エンティティに複数のメインフォームがある場合

       if (groupedResult.Count() > 1)

       {

           // フォーム名が情報のものを確認

           SystemForm crm2011form = groupedResult.Where(x => (x as SystemForm).Name == "情報").FirstOrDefault() as SystemForm;

           // 存在したら画面に表示

           if(crm2011form != null)

               Console.WriteLine(String.Format("EntityName {0}", crm2011form.ObjectTypeCode));

       }

    }

    中村 憲一郎

Skip to main content