モデル駆動型アプリの Web リソース

Web リソースは Microsoft Dataverse データベースに保存されている仮想ファイルで、一意の URL アドレスを使用して取得できます。

注意

認証境界の背後にあるコンテンツの IFRAME 化は、Web リソースや Power Apps Component Framework ではサポートされていません。 一部の埋め込み IFRAME は、ユーザーが外部サービスに直接ログインする場合、ブラウザ クライアントで動作する場合がありますが、モバイルやタブレットのアプリケーションではサポートされていません。 IFRAME 内にフォームを埋め込み、別のフォームに埋め込むという特定のシナリオはサポートされていません。 そのようなシナリオでは、コンポーネントとしてのフォーム の使用をお勧めします。

構成可能、再利用可能、そして緊密な外部統合を構築するには、一般的に Power Apps Component Frameworkカスタム ページ の使用をお勧めします。 詳細: IFRAME コンポーネント

Web リソースの機能

Web リソースとは、html ファイル、JavaScript および CSS などの Dataverse Web アプリケーションの拡張に使用できるファイル、またいくつかの画像の形式を意味します。 Web リソースは URL 構文を使用して参照できるので、フォームのカスタマイズ、SiteMap、またはアプリケーション リボンに使用できます。

Web リソースの URL 構文では、相対パス参照が許可されています。 開発ツールで、Web リソースと互換性のあるファイル タイプを使用することにより、開発サーバー上に相互依存ファイルのグループを作成できます。 一貫した命名規則と相対パス参照を使用する場合、すべてのファイルを Dataverse にアップロードした後で、Web サイトが機能します。

Web リソースは Dataverse に保存されており、ソリューション コンポーネントなので、簡単にエクスポートして、他の Dataverse 組織にインストールできます。 Web リソースはオフライン アクセス対応 Dataverse for Microsoft Office Outlook ユーザーのデータと同期しているため、オフライン時にも使用できます。

フォーム エディターを使用して、フォーム対応の Web リソースをフォームに追加し、構成できます。

Web リソースはレコードとしてデータベースに保存されているので、レコードを作成、取得、更新する標準的な手法を使用して、プログラムによって管理できます。 テキストベースの Web リソース (JScript、CSS、XML、XSL、RESX、HTML) は、アプリケーションで編集して保存できます。

Web リソースに関する制限事項

サーバー上でコードを実行するための ASP.NET(.aspx) ページの機能をサポートしている Web リソースの種類はありません。 Web リソースは、ブラウザーで処理される静的ファイルに限られています。 Web リソースには、Web サービス呼び出しを実行して Dataverse データを操作するためにブラウザーで処理されるコードを含めることができます。

Web リソースは、Dataverse Web アプリケーションのセキュリティ コンテキストを使用してのみ、使用できます。 スクリプト Web リソースにアクセスできるのは、必要な特権を持つ、ライセンスを受けた Dataverse ユーザーだけです。

サイズ制限

アップロードできる最大ファイル サイズは、Organization.MaxUploadFileSize プロパティによって決まります。 このプロパティは、Dynamics 365 アプリケーションのシステム設定の電子メールタブで設定します。 この設定で電子メール メッセージ、メモ、および Web リソースに添付できるファイルのサイズを制限します。 既定の設定は 5 MB です。

Web リソースの種類

web リソースの作成には 10 種類のファイル形式を使用できます。 次の表は、それぞれで使用する各ファイル形式、許可されているファイル拡張子、種類の値の一覧を示します。

ファイル ファイル拡張子
Web ページ (HTML) .htm、.html 1
スタイル シート (CSS) .css 2
スクリプト (JScript) .js 3
データ (XML) .xml 4
イメージ (PNG) .png 5
イメージ (JPG) .jpg 6
イメージ (GIF) .gif 7
Silverlight (XAP) .xap 8
スタイルシート (XSL) .xsl、.xslt 9
イメージ (ICO) .ico 10
ベクター形式 (SVG) .svg 11
文字列 (RESX) .resx 12

Web リソースの参照

Web リソースの参照に使用できる方法はいくつかあります。

注意

  • 可能な場合は、$webresource ディレクティブを使用してください。 依存関係が確立されるのは、サイト マップまたはリボン コマンドで $webresource ディレクティブを使用している参照のみです。 Web リソースが相互参照している場合、依存関係は作成されません。
    • Silverlight Web リソースをフォームまたはグラフの外側に表示するには、その Silverlight Web リソースのホスト ページとなる HTML Web リソースを作成します。 その後、$webresource: ディレクティブを使用して HTML Web リソースを開きます。

$webresource ディレクティブ

リボン コントロール、またはSiteMapのサブ領域から Web リソースを参照する場合は、常に $webresource ディレクティブを使用する必要があります。 XML が URL 値を許可している場合は常に $webresource ディレクティブを使用してください。 次のサンプルは、その使用方法を示しています。

$webresource:<name of Web Resource>  

注意

$webresource ディレクティブを使用すると、Dataverse によってソリューションの依存関係が作成または更新されます。

Xrm.Navigation.openWebResource

Xrm.Navigation.openWebResource 関数は、Web リソースの名前を渡すパラメーター、データ パラメーターで渡されるいずれかのクエリ文字列データ、およびウィンドウの高さや幅に関するおよび情報を含む、新しいウィンドウで HTML Web リソースをオープンします。

生成された URL には、キャッシュされた web リソースを読み込まれるように、一意の GUID にトークンが含まれます。

相対 URL

$webresource: ディレクティブの使用をサポートしていない領域から Web リソースを参照する場合は、相対 URL を使用できます。 相対 URL を使用できるようにするため、仮想ファイル構造を反映した Web リソースに一貫した命名規則を使用することをお勧めします。 ソリューション発行者のカスタマイズの接頭辞は、Web リソース名の接頭辞として常に含まれます。 これは、その発行者が追加するすべての Web リソースの仮想 "root" フォルダーを意味します。 スラッシュ (/) を使用して、Web サーバーが受け入れるフォルダー構造をシミュレートできます。

相互参照のため、常に別の Web リソースからの相対 URL を使用する必要があります。 たとえば、Web ページ Web リソース new_/content/contentpage.htm が CSS Web リソース new_/Styles/styles.css を参照するには、次のようにリンクを作成します。

<link rel="stylesheet" type="text/css" href="../styles/styles.css" />  

Web ページ Web リソース new_/content/contentpage.htm が Web ページ Web リソース isv_/foldername/dialogpage.htm を開くには、次のようにリンクを作成します。

<a href="../../isv_/foldername/dialogpage.htm">Dialog Page</a>  

注意

WebResources フォルダーを URL のルート パスとして使用する相対 URL は使用しないでください。 たとえば、/WebResources/<name of web resource> は使用しないでください。 ユーザーがサーバー上の複数の組織に属している場合、このパスは常にユーザーの既定の組織を参照します。 ユーザーが既定の組織を使用しない場合、および想定される Web リソースがユーザーの既定の組織に含まれていない場合は、Web リソースがユーザーの現在作業している組織内にあっても、ファイルが見つからないエラーが発生します。

完全 URL

次のサンプルでは、Web リソースの表示に使用できる URL の形式を示しています。

<Dataverse Environment URL>/WebResources/<name of web resource>  

アプリケーションによりこの URL が処理され、Web リソースの最新版が含まれるファイルが返されます。 この URL は次のように表示されます。

<Dataverse Environment URL>/%7B<version value>%7D/WebResources/<name of web resource>  

カスタマイズを公開するとバージョン値が更新され、ブラウザーで最新のキャッシュ済み Web リソースが確実に使用されます。 このため、Web リソースの相対パスか、Xrm.Navigation.openWebResource 関数、または可能であれば $webresource ディレクティブ を使用します (バージョン値が自動的に含められるためです)。 大きな Web リソースの場合、ファイルのキャッシュされたバージョンを使用しないと、パフォーマンスにかなりの影響がある場合があります。

次のサンプルは、Dataverse Online の URLを示しており、ここで、MyOrganization は Dataverse 環境の名前で、new_/test/test.htm は Web リソース名です。

https://MyOrganization.crm.dynamics.com/WebResources/new_/test/test.htm  

注意

Web リソース名に '/' 文字とファイル名拡張子を含めることは、任意のベスト プラクティスです。
Dataverse に対して機能する必要がある Web リソースを参照するコードを記述する場合は、getClientUrl 関数を使用する必要があります。

従来の Web クライアントと統一インターフェイスのレイアウトの違い

特定の行数を使用するように構成された Web リソース コントロールは、Web クライアント アプリケーションと比較して、Unified Client アプリケーションで異なる高さを持ちます。 これは、統一インターフェイスと Web クライアントの間で行の高さに違いがあるためです。 Web クライアントと統一インターフェイスの両方でフォームが必要な場合、統一インターフェイス アプリと Web クライアント アプリで異なるフォームを使用し、各フォームで適切な行数を使用するようにコントロールを構成できます。

コミュニティ ツール

WebResources マネージャーは、Dataverse に XrmToolbox コミュニティが開発したツールです。 コミュニティ開発ツールのトピック、開発者ツール を参照してください。

注意

コミュニティ ツールは Dataverse の製品ではなく、コミュニティ ツールのサポートを拡張するものではありません。 このツールに関するご質問は、その発行元にお問い合わせください。 詳細: XrmToolBox

関連項目

アクセス可能な Web リソースの作成
Web ページ (HTML) の Web リソース
JavaScript Web リソース
イメージ Web リソース
スタイルシート (XSL) Web リソース
データ (XML) Web リソース
スタイル シート (CSS) Web リソース
Web リソース テーブル参照
サンプル: データ パラメーターを使用した Web リソースへの複数の値の引き渡し
サンプル: Web リソースとしてのファイルのインポート
Fiddler の AutoResponder を使用して Web リソース開発を合理化する

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。