Erste Schritte
Von einer leeren WordPress-Site zur ersten veröffentlichten Collection: eine App in Entra ID registrieren, ihr in Dataverse einen Anwendungsbenutzer mit minimalen Rechten geben, die Zugangsdaten in wp-config.php hinterlegen, den Verbindungstest ausführen und die erste Tabelle per Shortcode oder Block veröffentlichen. Etwa dreißig Minuten, wenn Sie in beiden Systemen Administratorrechte haben.
1. App-Registrierung in Entra ID
- Öffnen Sie im Microsoft Entra Admin Center App-Registrierungen und legen Sie eine neue Registrierung an. Einzelner Mandant, keine Umleitungs-URI.
- Notieren Sie die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandant).
- Erstellen Sie unter Zertifikate & Geheimnisse ein Client Secret. Kopieren Sie den Wert sofort; er wird nur einmal angezeigt. Tragen Sie das Ablaufdatum in Ihren Kalender ein: Ein abgelaufenes Secret ist der häufigste Grund, warum eine Dataverse-Site nicht mehr funktioniert, und die geplante Prüfung des Plugins meldet es Ihnen, wenn es so weit ist.
Für den Client-Credentials-Flow sind keine API-Berechtigungen nötig: Der Zugriff wird im nächsten Schritt innerhalb von Dataverse über den Anwendungsbenutzer erteilt.
2. Anwendungsbenutzer und Sicherheitsrolle
- Öffnen Sie im Power Platform Admin Center Ihre Umgebung, dann Einstellungen, Benutzer + Berechtigungen, Anwendungsbenutzer, und fügen Sie die App-Registrierung als Anwendungsbenutzer hinzu.
- Erstellen Sie eine eigene Sicherheitsrolle und weisen Sie sie zu. Verwenden Sie nicht die Rolle Systemadministrator.
Die Rolle braucht nur das, was die von Ihnen genutzten Funktionen verlangen:
| Funktion | Berechtigungen auf der Tabelle |
|---|---|
| Collections, Detailseiten, Bilder und Dateien | Read (Bereich Organisation bei einer öffentlichen Site) |
| Formulare im Create-Modus | Create; dazu Append, wenn das Formular ein Lookup bindet oder sich auf einen Datensatz bezieht |
| Formulare im Update-Modus | Write, dazu Read über die gebundene Collection |
| Lookup-Felder und "relate to" | Read und Append To auf der Zieltabelle, damit das Plugin Namen auflisten und den Datensatz binden kann |
| Feldgesicherte Spalten | Ein Feldsicherheitsprofil, das dem Anwendungsbenutzer Zugriff auf die Spalte gewährt |
Spaltenbeschriftungen, Auswahloptionen und Pflichtstufen stammen aus den Tabellenmetadaten, die jeder Anwendungsbenutzer lesen kann. Die Berechtigungen heißen in der deutschen Power-Platform-Oberfläche Lesen, Erstellen, Schreiben, Anfügen und Anfügen an.
3. Zugangsdaten in wp-config.php
Konstanten sind der empfohlene Ort: Sie sperren die zugehörigen Felder auf der Einstellungsseite und halten das Secret aus der Datenbank heraus.
define('WBS_DATAVERSE_CONNECT_TENANT_ID', '00000000-0000-0000-0000-000000000000');
define('WBS_DATAVERSE_CONNECT_CLIENT_ID', '00000000-0000-0000-0000-000000000000');
define('WBS_DATAVERSE_CONNECT_CLIENT_SECRET', 'your-client-secret');
define('WBS_DATAVERSE_CONNECT_ENV_URL', 'https://yourorg.crm4.dynamics.com');
Ohne die Konstanten tragen Sie die vier Werte in wp-admin unter "Dataverse Connect", Tab "Connection" ein. Das Secret wird in der Options-Tabelle gespeichert und nie wieder angezeigt. Jede Änderung an einem Verbindungswert verwirft das zwischengespeicherte Token und leert den Lese-Cache.
Derselbe Tab enthält die seitenweite "Cache TTL" (Standard 300 Sekunden, 0 schaltet das Caching ab) und die Einstellungen für Health Alerts.
4. Verbindungstest
Klicken Sie auf dem Tab "Connection" auf "Test connection". Das Plugin fordert ein neues Token an und ruft WhoAmI auf; bei Erfolg wird die ID des Anwendungsbenutzers angezeigt. Bei einem Fehler sehen Sie die Ursache: invalid_client bedeutet ein falsches oder abgelaufenes Secret, ein HTTP 403 bedeutet, dass der Anwendungsbenutzer fehlt oder keine Rolle hat.
5. Erste Collection
Legen Sie auf dem Tab "Collections" eine Collection an. Die vier Pflichtwerte:
| Feld | Beispiel | Wo Sie den Wert finden |
|---|---|---|
| Key | listings | Frei wählbar; wird im Shortcode und im Dropdown des Blocks verwendet |
| Table (logical name) | wbs_listing | Power Apps Maker Portal, Tabelleneigenschaften |
| Entity set (plural) | wbs_listings | Am selben Ort, "Set name"; meist der logische Name mit einem s |
| Name column | wbs_name | Die primäre Namensspalte der Tabelle |
Fügen Sie die anzuzeigenden Spalten hinzu, eine pro Zeile, und einen Statusfilter wie statecode eq 0, damit nur aktive Datensätze öffentlich sind. Alle weiteren Felder erklärt die Seite Collections. Speichern leert den Cache.
Setzen Sie den Shortcode auf eine Seite:
[wbsdvc_collection name="listings" per_page="12" columns="3"]
Dieselbe Seite rendert die Detailansicht eines Datensatzes, sobald ?dvc=<slug-or-id> an ihre URL angehängt wird; eine Seite genügt also.
6. Erster Block
Fügen Sie im Block-Editor den Block "Dataverse Collection" (Kategorie Widgets) hinzu, wählen Sie in der Seitenleiste listings aus dem Dropdown und passen Sie Datensätze pro Seite, Spalten sowie die Schalter für Suche, Filter und Sortierung an. Der Editor zeigt eine serverseitig gerenderte Vorschau; die veröffentlichte Seite rendert genau den Shortcode von oben. Details auf der Seite Blöcke.
Nächste Schritte
- Schalten Sie Suche, Filter und Sortierung für die Collection ein und legen Sie eine Slug-Spalte für lesbare URLs fest.
- Legen Sie auf dem Tab "Forms" ein Formular an und hängen Sie es mit dem Attribut
forman die Collection, damit jede Detailseite ein Anfrageformular trägt, das mit ihrem Datensatz verknüpft ist. - Hinterlegen Sie auf dem Tab "Connection" die E-Mail-Adresse für Alerts und fügen Sie einen Webhook hinzu, wenn ein Flow auf Einsendungen reagieren soll.