Web ページ

完了

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

ポータル内の各 Web ページ レコードには、次の属性があります。

  • Web サイト - ページが属している Web サイト。 これは、特定のポータル サイト内に Web ページ レコードを一意に配置する必須の列です。
  • 親ページ - Web サイトのコンテンツ階層内でテーブルの親である Web ページ。 Web サイトの単一ルート (ホーム) ページを除き、すべての Web ページには親ページが必要です。
  • 部分 URL - ページのポータル URL を作成するために使用される URL パス セグメント。 Web サイトの単一ルート (ホーム) ページ (親ページが関連付けられていない単一ページ) の部分 URL の値は、forward slash (/) を含む必要があります。

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

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

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

ページ生成プロセスは、Web ページの特定が完了した後、次のような大まかな手順から始まります。

  1. Web ページ アクセス制御ルールが調べられて、訪問者がページにアクセスするためのアクセス許可を持っているかどうかが決定されます。
  2. Web ページにリンクされたページ テンプレートが取得されて、ページのレンダリングに使用されるテンプレート (aspx ページまたは Web テンプレート) が決定されます。
  3. テンプレートが処理され、以下に基づいてページの出力が作成されます。
    • ポータル メタデータによって決定される静的コンテンツ。
    • Dataverse または Dynamics 365 からのデータを使用して生成される動的コンテンツ。

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

静的コンテンツ

Web ページ レコードのプロパティによって決定される静的コンテンツ。通常は、ページの HTML コンテンツが含まれる Copy 列によって決まります。 このコンテンツは、Power Apps ポータル スタジオで追加または編集したり、コンテンツ Web ページに追加したりすることができます。

コンテンツ ページ

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

1 つの言語のポータルでも、すべての Web ページには、ルート Web ページと基本言語のコンテンツ ページがあります。 これにより、新しい言語のコンテンツを後で追加できるようになります。

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

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

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

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

テンプレート

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

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

動的コンテンツ

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

  • テーブル リスト - これらのプロパティは Power Apps のモデル駆動型アプリのビュー定義を使用して、Dataverse または Dynamics 365 レコードのリストを Web ページの一部としてレンダリングします。カスタム コードは必要ありません。 ビュー定義を変更すると、ページの出力も変更されます。
  • テーブル フォーム - Power Apps のモデル駆動型アプリの定義がテーブル フォームによって取得されて Web ページに配置され、Dataverse または Dynamics 365 レコードから情報をレンダリングするための構成のみの方法が提供されます。 テーブル フォームは、情報を表示するためだけでなく、Dataverse レコードの作成と編集にも使用できます。
  • Web フォーム - Web フォームはテーブル フォームと似ていますが、いくつかの追加機能が含まれます。 1 つの Web サイトに複数のモデル駆動型アプリ フォームをレンダリングし、複数のエンティティで使用することができます。 Web フォームでは、単一または複数ステップのナビゲーションと、条件分岐ロジックがサポートされています。
  • Liquid - Liquid は、ポータルに統合されているオープンソースのテンプレート言語です。 テンプレートの開発者は、Liquid を使用して、ページに動的コンテンツを追加したり、さまざまなカスタム テンプレートを作成したりできます。 Liquid を使用すると、現在レンダリングされている Web ページとそのプロパティや、サイトの設定など、すべてのポータル エンティティにアクセスできます。 また、テーブル リスト/テーブル フォームを使用して、または FetchXML を使用して直接 Dataverse のデータを読み取ることもできます。 詳細については、FetchXML を使用したクエリの作成 を参照してください。

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

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

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

セキュリティを高めながらポータル ページを作成する方法を示す図。

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

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