Webseiten

Abgeschlossen

Webseiten sind der Kern jeder Website, einschließlich Power Apps-Portalen. Eine Webseite in einem Power Apps-Portal kann sowohl statischen als auch dynamischen Inhalt anzeigen und so konfiguriert werden, dass es einer Site-Hierarchie folgt. Portal-Webseiten haben auch eine einzigartige Struktur, damit Inhalte in verschiedenen Sprachen angezeigt werden können.

Jede Webseitenzeile in einem Portal hat folgende Spalten:

  • Website – Die Website, zu der die Seite gehört Diese Spalte ist erforderlich. Es platziert die Webseitenzeile eindeutig in einer bestimmten Portalwebsite.

  • Übergeordnete Seite – Die übergeordnete Webseite der Tabelle in der Inhaltshierarchie der Website Alle Webseiten außer der Einzelstammseite bzw. Homepage einer Website sollten eine übergeordnete Seite haben.

  • Teil-URL – Das URL-Pfadsegment, mit dem die Portal-URL der Seite erstellt wird Die Einzelstammseite bzw. Homepage der Website (die einzelne Seite, der keine übergeordnete Seite zugeordnet ist) muss den Teil-URL-Wert eines Schrägstrichs (/) haben.

Diese hierarchische Struktur bietet genügend Informationen für jede Webseite, um den innerhalb der Website eindeutigen Pfad zu berechnen.

Webseite Übergeordnete Seite Teil-URL Berechneter Pfad
Start - / /
News Start news /news/
Partnernachrichten News partner /news/partners/
Preisliste Partnernachrichten price-list /news/partners/price-list/

Wenn die Web-App des Power Apps-Portals eine Anforderung erhält, werden die Microsoft Dataverse-Zielumgebung und die Websitezeile anhand des Domänennamens ermittelt. Mit dem Pfadteil der Anforderung wird dann die Zeile der Webseite mit dem übereinstimmenden berechneten Pfad lokalisiert.

Nachdem die Webseite ermittelt wurde, beginnt der Seitengenerierungsprozess mit den folgenden allgemeinen Schritten:

  1. Anhand der Webseiten-Zugriffssteuerungsregeln wird geprüft, ob der Besucher auf die Seite zugreifen darf.

  2. Die mit der Webseite verknüpfte Seitenvorlage wird abgerufen, um die zum Rendern der Seite verwendete Vorlage zu ermitteln (entweder eine feste Seitenvorlage oder eine Webvorlage).

  3. Die Vorlage wird verarbeitet. Die Seitenausgabe basiert auf:

    • Statischem Inhalt, der von den Metadaten des Portals bestimmt wird

    • Dynamischem Inhalt, der mit Dataverse-Daten von anderen Entitäten generiert wird

Jede Webseite stellt eine bestimmte URL auf Ihrer Website dar, die Benutzer aufrufen können. Wenn ein Benutzer eine URL aufruft, wird der mit dieser URL verknüpfte Inhalt angezeigt.

Statische Inhalte

Statischer Inhalt, der durch die Eigenschaften der Webseitenzeile, insbesondere durch die Spalte Copy bestimmt wird, das normalerweise den HTML-Inhalt der Seite enthält. Dieser Inhalt kann im Power Apps-Portalstudio hinzugefügt oder bearbeitet oder zu Inhaltswebseiten in der App „Portalverwaltung“ hinzugefügt werden.

Inhaltsseiten

Im Allgemeinen wird eine Webseite als einzelne Zeile bezeichnet. Diese Referenz dient der Übersichtlichkeit. Auf jeder Seite sind mehrere Webseiteneinträge vorhanden. Ein Webseiten-Stammzeile ist Teil der Seitenhierarchie der Website, den Sie beim Erstellen einer neuen Seite bearbeiten. Andere Komponenten auf der Seite sind mehrere untergeordnete Zeilen oder Inhaltsseiten, die auf den Stammeintrag verweisen. Diese Komponenten unterstützen mehrsprachige Implementierungen, bei denen jede untergeordnete Zeile für den Inhalt in einer der konfigurierten Sprachen verantwortlich ist.

Jede Webseite – auch in einem einsprachigen Portal – verfügt über eine Stammwebseite und eine Inhaltsseite für die Ausgangssprache. Dadurch können später Inhalte für weitere Sprachen hinzugefügt werden.

Diagramm der Inhaltsseiten und Webseiten für Startseite, Nachrichten und Hilfe

Beim erstmaligen Erstellen einer Webseite werden alle Eigenschaften wie „name“, „partial URL“, „template“ usw. in der Stammzeile gespeichert. Inhaltsspalten werden für jede Sprache erstellt, und die Seiteneigenschaften werden kopiert. Danach werden die Seiteneigenschaften und der Seiteninhalt in der Inhaltsspalte der Webseite verwaltet. Seiten in verschiedenen Sprachen können nicht nur unterschiedliche Inhalte haben. Auch die Vorlage, das Ablaufdatum, die Navigation, der Autor und das Veröffentlichungsdatum können abweichen.

Screenshot der Seitenliste „Lokalisierter Inhalt“

Um genau zu sein, können Sie den Pfad der Anforderung verwenden, um die Webseitenzeile oder der Webseiten-Stammzeile zu suchen. Die Anforderungssprache wird durch die Anfrage-URL, z. B. https://www.contoso.com/es-ES/news, oder ein Browsercookie definiert, um die entsprechende Inhaltsseite zu lokalisieren. Die Inhaltsseite definiert den Inhalt und die Vorlage, enthält jedoch keine Informationen dazu, wie der Inhalt angezeigt werden soll. Dies wird durch die Seitenvorlage festgelegt.

Vorlagen

Neben dem Inhalt, der in der Spalte Copy auf der Seite definiert wird, kann eine Vorlage auch andere Eigenschaften wie Title, Summary, Display Date usw. verwenden. Vorlagen enthalten häufig die Funktion Inhaltsausschnitte als wiederverwendbare Fragmente, um beispielsweise allgemeine Informationen wie Copyright-Informationen zu rendern.

Vorlagen können Verweise auf Elemente der Siteübersicht verwenden, z. B. Webdateien, Verknüpfungen und Weblinks. Da Siteübersicht-Elemente geschützt werden können, werden sie anhand der Webseiten-Zugriffssteuerungsregeln überprüft. Wenn ein Besucher beispielsweise nicht zum Zugriff auf die Zielseite einer Verknüpfung berechtigt ist, wird die Verknüpfung standardmäßig nicht gerendert.

Dynamischer Inhalt

Dynamische Inhalte werden bei Verwendung der folgenden Eigenschaften generiert:

  • Listen – Diese Eigenschaften verwenden die Ansichtsdefinition einer modellgesteuerten Power Apps-App, um die Liste von Dataverse-Zeilen als Teil einer Webseite zu rendern, ohne dass ein benutzerdefinierter Code verwendet werden muss. Mit der Ansichtsdefinition ändert sich auch die Seitenausgabe.

  • Basisformulare – Basisformulare platzieren die Definition des Formulars einer modellgesteuerten Power Apps-App auf einer Webseite, indem eine reine Konfigurationsmethode zum Rendern von Informationen aus Dataverse-Zeilen bereitgestellt wird. Basisformulare eignen sich nicht nur zur Informationsanzeige, sondern auch zum Erstellen und Bearbeiten von Dataverse-Zeilen.

  • Erweiterte Formulare – Erweiterte Formulare ähneln Basisformularen, enthalten jedoch zusätzliche Funktionen Sie können mehr als ein modellgesteuertes App-Formular auf einer Website rendern und mit mehreren Tabellen arbeiten. Erweiterte Formulare unterstützen die ein- oder mehrstufige Navigation sowie bedingte Verzweigungslogik.

  • Liquid – Liquid ist eine Open-Source-Vorlagensprache, die in Portalen integriert ist. Sie kann verwendet werden, um Seiten dynamische Inhalte hinzuzufügen und eine Vielzahl von benutzerdefinierten Vorlagen zu erstellen. Liquid ermöglicht den Zugriff auf alle Portaltabellen, wie die aktuell gerenderte Webseite sowie deren Eigenschaften oder Websiteeinstellungen. Die App kann auch Dataverse-Daten lesen, indem Listen/Basisformulare oder direkt FetchXML verwendet wird. Weitere Informationen finden Sie unter Anfragen mit FetchXML erstellen.

Um den Zugriff auf Dataverse-Daten zu steuern, nutzen Portale die Eigenschaft Table Permissions. Tabellenberechtigungen werden anhand der Beziehungen zwischen einem Kontakt und den anderen Zeilen festgelegt. Berechtigungen können etwa auf die Anfragentabelle angewendet werden, sodass authentifizierte Portalbenutzer nur Zugriff auf ihre eigenen Anfragen haben.

Betrachten Sie die Eigenschaft Table Permissions als das Portaläquivalent der Dataverse-Sicherheitsrollen. Sicherheitsrollen sind Power Apps-Benutzern zugeordnet, während Tabellenberechtigungen für Portalbenutzer (Kontakte) gelten.

Eines der Ziele beim Erstellen einer Webseite besteht darin, die Sicherheit zu verbessern. Jeder Zugriff auf Portalstrukturen unterliegt den Webseiten-Zugriffssteuerungsregeln, während Tabellenberechtigungen den Zugriff auf Dataverse-Daten sichern.

Diagramm dazu, wie Portalseiten mit verbesserter Sicherheit erstellt werden

Power Apps-Portale enthalten einen sehr robusten und flexiblen Mechanismus, mit dem sich nicht nur statische Seiten oder Seiten mit Daten anderer Dataverse-Tabellen erstellen lassen. Durch Kombination aus Listen, Basis- und erweiterte Formulare sowie Liquid und JavaScript können Sie vollständige Webanwendungen erstellen, indem Sie Ihre Dataverse- oder Dynamics 365-Lösungen auf externe und interne Zielgruppen erweitern.

Weitere Informationen finden Sie unter Webseiten verwalten.