サイト マップの編集

 

公開日: 2017年1月

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

次のいずれかの方法で既定またはアプリ固有のサイト マップを編集できます。

  • Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) で導入された新しいサイト マップ デザイナーを使用するか、または以前のバージョンの Microsoft Dynamics 365 を使用している場合は、サードパーティのサイト マップ エディターを使用します。

  • SiteMap エンティティ レコードを、プログラムを使用して更新して、SiteMap.SiteMapXml 属性の XML を更新します。

  • エクスポートされたアンマネージド ソリューションの customizations.xml ファイルの SiteMap ノード内の XML を手動で編集し、ソリューションをマネージドまたはアンマネージドとしてインポートします。

このトピックの内容

サイト マップ エディターの使用

サイト マップのプログラムによる更新

サイト マップの手動での編集

スキーマ検証を使用した編集

アンパサンド文字のエンコード

エラーからの回復

サイト マップ エディターの使用

Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) を使用している場合、新しいサイト マップ デザイナーを使用してサイト マップの作成と管理ができます。詳細:アプリのサイト マップの作成

それ以外の場合、サード パーティーのサイト マップ エディターを使用して、既定のサイト マップを編集します。 アプリ固有のサイト マップが Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) では導入されているために、サード パーティのサイト マップ エディターを使用するビジネス アプリ用サイト マップの編集は適切に機能しない場合があります。 既定のサイト マップを編集する一般的なサイトマップ エディターが、Microsoft Dynamics 365 MVP Tanguy Touzard によってリリースされた Dynamics CRM 2011/2013 用ツールボックス に含まれています。

これらのアプリケーションはサイト マップを編集するプロセスの効率化に役立ちますが、使用するにはサイト マップの XML スキーマに関する一定の知識が必要になります。 詳細については、「SiteMap XML reference」を参照してください。

注意

Microsoft Dynamics 365 のテクニカル サポートでは、サード パーティ製アプリケーションに対するサポートは行いません。 これらのアプリケーションに関するご質問は、アプリケーションの発行元にお問い合わせください。

サイト マップのプログラムによる更新

更新する SiteMap エンティティ レコードを取得して、レコードの SiteMap.SiteMapXml 属性の XML を更新します。 XML を編集する前に、サイト マップの XML スキーマに関する一定の知識があることを確認します。 詳細については、「SiteMap XML reference」を参照してください。

Update メソッドを使用して SiteMap レコードをプログラムで更新する場合、指定したサイト マップの XML が、レコードの SiteMap.SiteMapXml 属性の既存の XML を上書きします。

注意

  • アプリ固有の SiteMap レコードを、プログラムで作成および削除することもできます。 アプリ固有の SiteMap レコードを作成するには、少なくとも次の属性の値を指定する必要があります: SiteMapSiteMapNameUnique および SiteMap.SiteMapXml。 ただし、プログラム的にアプリ固有のサイト マップを作成および削除する代わりに、新しいサイト マップ デザイナーを使用してアプリ固有のサイト マップを作成および削除する必要があります。詳細:アプリのサイト マップの作成

  • 既定の SiteMap レコードをプログラム的に作成および削除することはできません。SiteMap.IsAppAware 属性を使用し、2 種類のサイト マップを区別できます。0 は既定のサイト マップを示し、1 はアプリ固有のサイト マップを示します。

サイト マップの手動での編集

エクスポートしたアンマネージド ソリューションの customizations.xml ファイルの SiteMap ノードを手動で編集し、それを Dynamics 365 にインポートして戻して、サイト マップを更新します。 アンマネージドまたはマネージド ソリューションをインポートしているかどうかが、SiteMap レコードが更新される方法を決定します。

  • アンマネージド ソリューションのインポートが、SiteMap レコードの既存のサイト マップ XML を上書きします。

  • マネージド ソリューションをインポートすると、最新の変更が反映された新しい SiteMap レコードが作成され、最新/アクティブな SiteMap レコードの SiteMap.OverwriteTime 属性値が DateTime フィールド (1900-01-01 00:00:00.000) の既定値に設定されます。 既存の SiteMap レコードの SiteMap.OverwriteTime 属性値が、更新時に datetime 値に設定されます。

サイト マップを編集するには

  1. [設定] をクリックし、[カスタマイズ] をクリックし、次に [ソリューション] をクリックします。

  2. 既定またはアプリ固有のサイト マップを、新規または既存のアンマネージド ソリューションに追加します。 このソリューションで、左側にある [コンポーネント] の一覧から [クライアント拡張] を選択します。 [既存の追加] を選択し、[サイト マップ] を選択します。 サイト マップのリストから:

    • 既定のサイト マップを追加するには、Site Map を選択します。

    • アプリ固有のサイト マップを追加するには、カスタム ビジネス アプリケーションのサイト マップを選択します。 ダイアログ ボックスには、アクセスできるすべてのカスタム ビジネス アプリケーションのサイト マップが表示されます。 例えば、この場合、Contoso Sales App または Contoso Service App を選択できます。

      Select default or app-specific site map to add

      注意

      アプリ固有のサイト マップには、Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) 以降を所有しており、Dynamics 365 インスタンスにカスタム ビジネス アプリがある場合のみ表示されます。 また、同じソリューションに追加するために、複数のアプリ固有または既定のサイト マップを選択することもできます。

    • [ソリューション コンポーネントの選択] 画面で [OK] をクリックします。

  3. [保存] をクリックして、ソリューションに変更を保存します。

  4. [ソリューションのエクスポート] をクリックして、ソリューション エクスポート ウィザードの手順に従い、ソリューションをエクスポートします。

  5. ソリューションをエクスポートしたら、圧縮ファイル (.zip) からファイルを展開します。

    ヒント

    圧縮ファイル (.zip) はバックアップとして保持しておいてください。

  6. customizations.xml ファイルで、次のものを見つけます。

    • ImportExportXml/SiteMap の下にある既定のサイト マップを編集する SiteMap ノード。

    • ImportExportXml/AppModuleSiteMaps/AppModuleSiteMap の下にあるアプリ固有のサイト マップを編集する SiteMap ノード。

      ヒント

      ソリューションをエクスポートする前に複数のアプリ固有のサイト マップを追加した場合、ImportExportXml/AppModuleSiteMaps/AppModuleSiteMap の下にある SiteMapUniqueName および SiteMapName ノードを使用して、アプリのサイト マップのために編集する必要のある customizations.xml ファイルの SiteMap ノードを決められます。

  7. 必要に応じて SiteMap ノードを編集します。

    注意

    スキーマ検証を提供するエディターを使用する場合、XML の編集は非常に簡単です。 詳細については、「スキーマ検証を使用した編集」を参照してください。

  8. 抽出したソリューション ファイルと編集した customizations.xml を含む、新しい圧縮ファイル (.zip) を作成します。

    ヒント

    エクスプローラーで、すべてのファイルを選択します。 右クリックし、[送る]、[圧縮 (zip 形式) フォルダ] の順に選択します。

  9. 新しいソリューション ファイルをインポートします。

    1. Microsoft Dynamics 365 で、[設定][カスタマイズ][ソリューション] の順にクリックします。

    2. [インポート] をクリックします。

    3. [参照] をクリックし、変更したソリューション ファイル (.zip) を探し、[次へ]、[インポート] の順にクリックします。

    4. インポートが終了したら、[閉じる] をクリックします。

  10. カスタマイズを公開します。

    ヒント

    変更がすぐに反映されない場合は、ブラウザーのページを更新してください。

スキーマ検証を使用した編集

優れたエクスペリエンスを実現するには、スキーマ検証を使用するアプリケーションで customizations.xml ファイルを編集し、IntelliSense サポートを提供します。 詳細については、「スキーマ検証を使用した XML カスタマイズ ファイルの編集」を参照してください。

アンパサンド文字のエンコード

アンパサンド文字 (&) を含むサイト マップに URL を追加する場合は、その文字を "&" に置換することでエンコードする必要があります。 この文字をエンコードしなかった場合、XML 検証が失敗し、ソリューションをインポートできません。 たとえば、次のようになります。

  • 正しい入力:
    <SubArea Id="new_customSubArea" Url="http://mysite/mypage.aspx?parameter1=value&amp;parameter2=value ">

  • 正しくない入力:
    <SubArea Id="new_customSubArea" Url="http://mysite/mypage.aspx?parameter1=value&parameter2=value">

エラーからの回復

ソリューションのインポート ツールは、サイト マップの検証を行います。 エラーが発生した場合、既定のサイト マップが適用され、エラー メッセージが表示されます。 サイト マップのエラーを修正して再度インポートする必要があります。 ただし、それでも複数のエラーが発生する可能性があります。

カスタム ビジネス アプリケーションのサイト マップを手動で編集またはインポートした後にカスタム ビジネス アプリケーションを実行するときに発生する可能性のあるエラー:

  • サブ領域がないサイト マップ

  • サイト マップにはサブ領域がありませんが、ユーザーにはそれらを表示する特権がありません

  • 無効なエンティティ (正式な Dynamics 365 エンティティ名ではない)

  • 無効な URL

  • サイト マップにはダッシュボード ノードがありますが、モジュール型のビジネス アプリ定義に、ダッシュボードが選択されていません

関連項目

Customize SiteMaps
SiteMap を使用したアプリケーション ナビゲーションの変更
サイト マップを使用して URL にパラメータを渡す
ヘルプとトレーニングのサイトへのアクセス制御
SiteMap XML reference
SiteMap schema

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権