Web ページ

完了

Web ページは、Power Pages を含むあらゆる Web サイトの中核となります。 Power Pages Web サイトの Web ページには、静的コンテンツと動的コンテンツを表示できます。また、サイト階層に従うように Web ページを設定することもできます。 Web ページには、コンテンツをさまざまな言語で表示するための独自の構造も用意されています。

Web サイト内の各 Web ページ行には、次の列があります。

  • Web サイト - ページが属している Web サイト。 これは、特定の Web サイト内に Web ページ行を一意に配置する必須の列です。

  • 親ページ - Web サイトのコンテンツ階層内でテーブルの親である Web ページ。 Web サイトの単一ルート (ホーム) ページを除き、すべての Web ページには親ページが必要です。

  • 部分 URL - ページの Web サイト URL を作成するために使用される URL パス セグメント。 Web サイトの単一ルート (ホーム) ページ (親ページが関連付けられていない単一ページ) の部分 URL の値は、スラッシュ (/) である必要があります。

その階層構造によって、Web サイト内で一意のパスを計算するのに十分な情報が、各 Web ページに対して提供されます。

Web ページ 親ページ 部分 URL 計算されたパス
ホーム - / /
ニュース ホーム ニュース /ニュース/
パートナー ニュース ニュース パートナー /ニュース/パートナー/
価格表 パートナー ニュース 価格表 /ニュース/パートナー/価格表/

Power Pages Web アプリが要求を受信すると、ドメイン名に基づいて、ターゲットの Microsoft Dataverse 環境と Web サイト行が決定されます。 その後、要求のパス部分を使用して、計算されたパスと一致する Web ページ行が検索されます。

Web ページが特定された後、ページ生成プロセスの最初に、次のような大まかなステップがアプリによって実行されます。

  1. Web ページ アクセス制御ルールを調べて、訪問者がページにアクセスするためのアクセス許可を持っているかどうかを特定します。

  2. Web ページにリンクされたページ テンプレートを取得し、ページのレンダリングに使用するテンプレート (固定ページ テンプレートまたは Web テンプレート) を決定します。

  3. テンプレートを処理し、以下に基づいてページの出力を作成します。

    • ページ コンテンツとコンテンツ スニペットなどの Webサイト メタデータによって決定される静的コンテンツ。

    • Dataverse からのデータを使用してアプリで生成される動的コンテンツ。

各 Web ページはサイト内の特定の URL を表し、ユーザーはそのページに移動できます。 ユーザーがある URL に移動すると、その URL に関連付けられているコンテンツが表示されます。

静的コンテンツ

静的コンテンツは Web ページ行のプロパティ、特に Copy 列によって決まります。この列には通常、ページの HTML コンテンツが含まれています。 このコンテンツは、Power Pages デザイン スタジオや Visual Studio Code エディターで追加または編集したり、ポータル管理アプリでコンテンツ Web ページに追加したりすることができます。

コンテンツ ページ

通常、Web ページは単一の行として参照されます。 ただし、この参照は便宜上のもので、各ページには複数の Web ページ エントリが存在します。 単一のルート Web ページ行は、サイト ページ階層の一部であり、新しいページを作成するときはこれを編集します。 ページのコンポーネントには、ルート エントリを指し示す複数の子行またはコンテンツ ページもあります。 これらのコンポーネントは多言語の実装をサポートし、各子行が、構成されているいずれかの言語のコンテンツに対応しています。

単一言語の Web ページでも、すべての Web ページには、基本言語のルート Web ページとコンテンツ ページがあります。 その結果、他の言語のコンテンツを後から追加できます。

ホーム、ニュース、ヘルプの Web ページおよびコンテンツ ページの図。

Web ページが最初に作成されるときに、名前、部分 URL、テンプレートなどのすべてのプロパティがルート行に保存されます。 コンテンツ行が言語ごとに作成され、ページのプロパティがコピーされます。 その後、ポータル管理アプリで、ページ プロパティと個々のコンテンツ Web ページ行のコンテンツが管理されます。 異なる言語のページは、コンテンツとテンプレート、有効期限、ナビゲーション、作成者、公開日が異なっていてもかまいません。

[ローカライズされたコンテンツ] ページの一覧のスクリーンショット。

要求のパスを使用して、Web ページ、正確にはルート Web ページを探すことができます。 要求の URL (たとえば、https://www.contoso.com/es-ES/news) またはブラウザーの Cookie によって要求の言語を定義すると、対応するコンテンツ ページが検索されます。 コンテンツ ページではコンテンツとテンプレートが定義されていますが、ページ テンプレートで決定されるコンテンツの表示方法に関する情報は含まれません。

テンプレート

ページのコンテンツを定義する Copy 列の他に、テンプレートでは、タイトル概要表示日など、他のプロパティを使用することもできます。 多くの場合、テンプレートには、再利用可能なフラグメントとしてコンテンツ スニペット機能が含まれます。たとえば、著作権に関するメッセージのような共通情報をレンダリングする場合などです。

テンプレートでは、Web ファイルショートカットWeb リンクなど、サイト マップの要素への参照を使用できます。 サイト マップの要素はセキュリティで保護できるため、Web ページ アクセス制御ルールに対して検証されます。 たとえば、訪問者がショートカットのターゲット ページにアクセスするためのアクセス許可を持っていない場合、既定ではショートカットはレンダリングされません。

動的コンテンツ

動的コンテンツは、次のプロパティを使用して生成できます。

  • リスト - これらのプロパティは Power Apps のモデル駆動型アプリのビュー定義を使用して、Dataverse 行のリストを Web ページの一部としてレンダリングします。カスタム コードは必要ありません。 ビュー定義を変更すると、ページの出力も変更されます。

  • フォーム - Power Apps のモデル駆動型アプリの定義がフォームによって取得されて Web ページに配置され、Dataverse 行から情報をレンダリングするための構成のみの方法が提供されます。 フォームは、情報を表示するためだけでなく、Dataverse 行の作成と編集にも使用できます。

  • マルチステップ フォーム - マルチステップ フォームはフォームと似ていますが、他の機能が含まれます。 1 つの Web サイトに複数のモデル駆動型アプリ フォームをレンダリングしたり、複数のテーブルを使用したりすることができます。 マルチステップ フォームでは、単一または複数ステップのナビゲーションと、条件分岐ロジックがサポートされています。

  • Liquid - Liquid は、Power Pages に統合されるオープンソースのテンプレート言語です。 Liquid を使用すると、ページに動的コンテンツを追加したり、さまざまなカスタム テンプレートを作成したりできます。 Liquid を使用すると、現在レンダリングされている Web ページとそのプロパティや、サイトの設定など、すべての Web サイト テーブルにアクセスできます。 また、ビューを使用するか、直接 FetchXML を使用して、Dataverse のデータを読み取ることもできます。 詳細については、「FetchXML の使用によるクエリの作成」を参照してください。

Dataverse のデータへのアクセスを制御するため、Power Pages ではテーブルのアクセス許可プロパティが使用されます。 テーブルのアクセス許可のスコープは、連絡先と他の行のリレーションシップを使用して設定できます。 たとえば、アクセス許可をサポート案件テーブルに適用して、認証された Web サイト ユーザーが自分のサポート案件だけにアクセスできるように制限できます。

テーブルのアクセス許可プロパティは、Power Pages で Dataverse セキュリティ ロールに相当するものと見なすことができます。 セキュリティ ロールが Power Apps ユーザーに関連付けられるのに対し、テーブルのアクセス許可は Web サイト ユーザー (連絡先) に適用されます。

Web ページの作成プロセスにおける 1 つの目標は、セキュリティを強化することです。 Web サイトの構造へのアクセスは Web ページ アクセス制御ルールによって制御され、Dataverse データへのアクセスはテーブルのアクセス許可でセキュリティ保護されます。

セキュリティを高めながら Web サイト ページを作成する方法を示す図。

Power Pages には、静的なページや Dataverse テーブルのデータが含まれるページを作成するための、非常に堅牢で柔軟性のあるメカニズムが用意されています。 リスト、フォーム、マルチステップ フォーム、Liquid、JavaScript を組み合わせて使用することにより、Dataverse または Microsoft Dynamics 365 ソリューションを外部と内部の対象ユーザーに拡張して、完全な Web アプリケーションを構築できます。

詳細については、「Web ページの管理」を参照してください。