Aan de slag met de Power Pages-invoegtoepassing voor GitHub Copilot CLI en Claude Code

De Power Pages-invoegtoepassing voor GitHub Copilot CLI en Claude Code biedt een door AI ondersteunde werkstroom voor het maken, implementeren en beheren van moderne single-page application (SPA) sites op Power Pages. In plaats van projecten handmatig te maken, standaard-API-code te schrijven en machtigingen te configureren, beschrijven wat u in natuurlijke taal wilt, en de invoegtoepassing verwerkt de implementatie.

De invoegtoepassing ondersteunt de volledige levenscyclus van siteontwikkeling via gespreksvaardigheden, van het opzetten van een nieuwe site tot het implementeren ervan, het instellen van Dataverse-gegevensmodellen en het configureren van verificatie.

Important

  • Een generatieve AI-coderingsagent, zoals GitHub Copilot CLI of Claude Code, gebruikt de vaardigheden en werkstromen van deze invoegtoepassing om Power Pages-specifieke taken te voltooien.
  • Code en configuratie die door de AI-coderingsagent worden gegenereerd, kunnen onnauwkeurig zijn. Controleer, test en valideer alle gegenereerde inhoud voordat u deze goedkeurt of implementeert. Controleer altijd agentvoorstellen voordat u ze goedkeurt.

Vereiste voorwaarden

Controleer voordat u begint of u over de vereiste software en machtigingen beschikt.

Softwarevereisten

Onderdeel Minimumversie Meer informatie
Node.js 18.0 of hoger Node.jsdownloaden
Power Platform CLI (PAC CLI) 2.6.3 of hoger (vereist voor serverlogica) PAC CLI installeren
Azure CLI Latest Azure-CLI installeren
GitHub Copilot CLI of Claude Code Latest GitHub Copilot CLI of ClaudeCode
Visual Studio Code- en Power Platform Tools-extensie (optioneel) Latest VS Code downloaden en Power Platform Tools installeren

U hebt ook het volgende nodig:

  • Een Power Platform-omgeving waarvoor Power Pages is ingeschakeld.
  • Een geverifieerde PAC CLI-sessie die is verbonden met uw doelomgeving. Start pac auth create als u nog geen verbinding hebt gemaakt.
  • Een Azure CLI-sessie die is aangemeld bij dezelfde tenant. Voer az login --allow-no-subscriptions uit om te authentiseren.

Verificatie verifiëren:

Controleer of u bent geverifieerd met behulp van de pac auth list opdracht.

pac auth list           # Should show authenticated profile

Als u niet bent geverifieerd, voert u deze opdracht uit:

pac auth create --environment <Instance url>        # Authenticate to Power Platform

Tip

Als u de exemplaar-URL wilt ophalen, gaat u naar de startpagina van Power Pages, selecteert u het pictogram Instellingen in de rechterbovenhoek en selecteert u sessiedetails.

De invoegtoepassing installeren

Installeer de Power Pages-invoegtoepassing vanuit de marketplace. Als u GitHub Copilot CLI gebruikt, raadpleegt u de documentatie voor Copilot CLI-extensies voor gelijkwaardige installatiestappen. De volgende opdrachten gebruiken de syntaxis van Claude Code.

Voer het installatieprogramma uit om alle invoegtoepassingen in te stellen waarvoor AutoUpdate is ingeschakeld:

Windows (PowerShell):

iwr https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js -OutFile install.js; node install.js; del install.js

macOS/Linux/Windows (cmd):

curl -fsSL https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js | node

Het installatieprogramma werkt automatisch.

  • Installeert de pac CLI als deze nog niet is geïnstalleerd.
  • Detecteert beschikbare hulpprogramma's, zoals Claude Code en GitHub Copilot CLI.
  • Registreert de marketplace voor de invoegtoepassing en installeert alle vermelde invoegtoepassingen.
  • Hiermee schakelt u autoupdate in, zodat plug-ins actueel blijven.

Na de installatie start u Claude Code of GitHub Copilot CLI opnieuw om toegang te krijgen tot de vaardigheden van de invoegtoepassing als slash-opdrachten in uw agentsessie.

Installeren vanuit Marketplace

  1. Open Claude Code in je terminal.

  2. Voeg de Microsoft Marketplace toe:

    /plugin marketplace add microsoft/power-platform-skills
    
  3. Installeer de Power Pages-plugin:

    /plugin install power-pages@power-platform-skills
    

Nadat u de invoegtoepassing hebt geïnstalleerd, start u Claude Code of GitHub Copilot CLI opnieuw, zodat de vaardigheden van de invoegtoepassing beschikbaar worden als slash-opdrachten in uw agentsessie.

Tip

Als u automatisch updates voor de marketplace en vaardigheden wilt ontvangen, schakelt u automatische updates in. Gebruik de /plugin opdracht, ga naar Marketplaces, kies de marketplace en schakel automatisch bijwerken in.

Overzicht van vaardigheden

De invoegtoepassing biedt vaardigheden die betrekking hebben op de volledige levenscyclus van een Power Pages-site. Roep elke vaardigheid via een gesprek aan, als slash-opdracht of door te beschrijven wat u wilt doen.

Vaardigheid Opdracht Wat het doet
Site maken /create-site Zet een site op, past uw ontwerprichting toe en bouwt pagina’s en componenten
Site implementeren /deploy-site Bouwt het project en uploadt het naar Power Pages met behulp van PAC CLI
Site activeren /activate-site Een websiterecord inrichten en een openbare URL toewijzen
Gegevensmodel instellen /setup-datamodel Dataverse-tabellen, -kolommen en -relaties maken
Voorbeeldgegevens toevoegen (optioneel) /add-sample-data Hiermee worden Dataverse-tabellen gevuld met realistische testrecords
Web-API integreren /integrate-webapi Hiermee genereert u getypte API-clientcode, -services en -tabelmachtigingen
AI-samenvattingen toevoegen /add-ai-webapi Integreert de generatieve AI-samenvattings-API's (zoeksamenvatting en gegevenssamenvatting) in uw pagina's. Genereert een getypeerde overzichtsservice met afhandeling van anti-vervalsingstokens, frameworkspecifieke wrappers, gekoppelde aanroepsites en de bijbehorende Summarization-site-instellingen
Authenticatie instellen /setup-auth Hiermee voegt u aanmelding, afmelding en op rollen gebaseerd toegangsbeheer toe. Ondersteunt Microsoft Entra ID, Microsoft Entra Externe id, OpenID Connect, SAML 2.0, WS-Federation, Microsoft-account, Facebook, Google en lokale verificatie van gebruikersnaam en wachtwoord, inclusief configuraties voor meerdere providers
Webrollen maken /create-webroles Genereert YAML-bestanden voor de webrole voor het beheer van gebruikersrechten.
Serverlogica toevoegen /add-server-logic Hiermee worden beveiligde JavaScript-eindpunten aan de serverzijde gegenereerd voor validatie, externe API-aanroepen, geheimbeheer en gegevensbewerkingen
Cloudstroom toevoegen /add-cloud-flow Integreert bestaande Power Automate cloudstromen in uw site voor goedkeuringswerkstromen, meldingen en geplande automatisering
Back-end integreren /integrate-backend Analyseert uw prototype, bepaalt de juiste benadering (web-API, serverlogica of cloudstroom) voor elke functie en organiseert de volledige buildreeks
SEO toevoegen /add-seo Genereert robots.txt, sitemap.xmlen metatags
Beveiligingsbeoordeling uitvoeren /security-review Hiermee worden de gerichte beveiligingsvaardigheden georganiseerd en wordt elke bevindingen samengevoegd tot één HTML-rapport. Behandelt code, afhankelijkheden, scan van geïmplementeerde sites, browserheaders, webtoepassingsfirewall, tabelmachtigingen en verificatieconfiguratie
Broncode scannen /scan-code Voert statische analyse en afhankelijkheidsscans uit op lokale bronbestanden; geeft resultaten weer voor codepatronen, kwetsbare pakketten, in code vastgelegde geheimen en licentieproblemen
Geïmplementeerde site scannen /scan-site Start een beveiligingsscan aan de serverzijde op de livesite, haalt het meest recente rapport op en groepeert bevindingen op ernst
Browserbeveiligingsheaders beheren /manage-headers Controleert en configureert de HTTP-beveiligingsheaders die een site verzendt naar browsers: Inhoudsbeveiligingsbeleid, frame- en clickjackingbeveiliging, cross-origin delen, cookiegedrag en gerelateerde site-instellingen
Web Application Firewall beheren /manage-firewall Inspecteert en configureert de Web Application Firewall (WAF) op een productiesite: hiermee kunt u beveiliging inschakelen, IP-blokken, landblokken, padblokken en frequentielimieten toevoegen of verwijderen
Tabelmachtigingen controleren /audit-permissions Controleert bestaande tabelmachtigingen voor sitecode en Dataverse-metagegevens; produceert een HTML-rapport gegroepeerd op ernst met voorgestelde oplossingen
Uitrol van het plan /plan-alm Detecteert de projectstatus, verzamelt uw promotiestrategie, geeft een visueel plan weer en organiseert de andere ALM-vaardigheden (Application Lifecycle Management) in de juiste volgorde
Oplossing maken /setup-solution Hiermee maakt u een uitgever en oplossing, voegt Power Pages onderdelen toe, classificeert u site-instellingen en stelt u omgevingsvariabelen en Azure Key Vault geheimen voor
Pijplijnhost instellen /ensure-pipelines-host Een hostomgeving inrichten of detecteren voor Power Platform Pipelines
Pijplijn instellen /setup-pipeline Registreert een pipelinedefinitie in Dataverse en koppelt promotiefasen aan doelomgevingen
Implementeren via pijplijn /deploy-pipeline Activeert een uitrol van een pijplijn voor een doelfase met overschrijvingen van omgevingsvariabelen per fase
Force-link-omgeving /force-link-environment Een doelomgeving opnieuw toewijzen aan een nieuwe Power Platform Pipelines-host wanneer een hostconflict de implementatie blokkeert
Oplossing exporteren /export-solution Exporteert de oplossing als een beheerde of onbeheerde zip, met een volledigheidscontrole voordat u exporteert
Oplossing importeren /import-solution Hiermee wordt een solutionzip naar een doelomgeving geïmporteerd, gefaseerd of rechtstreeks
Testsite /test-site Controleert een geïmplementeerde site met een browsertest: paginaverkenner, op rollen gebaseerde toegangscontroles en web-API-verificatie
Implementatie diagnosticeren /diagnose-deployment Komt overeen met implementatiefouten in een catalogus met bekende fouten en stelt een oplossing voor

Typische werkproces

Een algemene end-to-end-werkstroom volgt deze reeks:

  1. /create-site : Schetsen, ontwerpen en bouwen van pagina's
  2. /deploy-site: Uploaden naar uw Power Pages-omgeving
  3. /activate-site : een openbare URL instellen
  4. /setup-datamodel: Dataverse-tabellen maken
  5. /add-sample-data : Tabellen vullen met testrecords
  6. /integrate-webapi: API-clientcode genereren en machtigingen configureren
  7. /create-webroles : Definieer toegangsrollen
  8. /setup-auth : aanmelding, afmelding en gebruikersinterface op basis van rollen toevoegen
  9. /add-server-logic : Beveiligde eindpunten aan de serverzijde toevoegen
  10. /add-cloud-flow : Bestaande Power Automate-flows integreren
  11. /add-seo : Zoekmachineoptimalisatie
  12. /deploy-site : Breng definitieve wijzigingen live
  13. /security-review : voer een end-to-end beveiligingsbeoordeling uit voordat u naar productie gaat
  14. /plan-alm : Uw site promoveren naar test- en productieomgevingen

Tip

  • U hoeft deze exacte bestelling niet te volgen. Elke vaardigheid controleert zijn eigen vereisten en geeft aan of er iets ontbreekt. U kunt bijvoorbeeld eerder /setup-auth uitvoeren /integrate-webapi als uw site eerst verificatie nodig heeft.
  • Als u niet zeker weet welke benadering u voor elke functie moet gebruiken, voert u /integrate-backend uit in plaats van stap 4 tot en met 10 afzonderlijk. Het analyseert uw prototype, bepaalt of elke functie web-API, serverlogica of een cloudstroom nodig heeft en de vaardigheden in de juiste volgorde indeelt.
  • Als u door AI gegenereerde samenvattingen van zoekopdrachten en records wilt toevoegen, voert u /add-ai-webapi uit na /integrate-webapi. Hiermee worden de tabelmachtigingen en site-instellingen hergebruikt die door /integrate-webapi worden geconfigureerd, dus voer dit uit zodra uw Web API-integratie gereed is.

Uw Power Pages-site bouwen

In deze stapsgewijze handleiding wordt de volledige levenscyclus van het bouwen van een Power Pages-site met de invoegtoepassing behandeld, van opstelling tot implementatie. Elke stap beschrijft wat u zegt en wat de invoegtoepassing doet in reactie.

Stap 1: Uw site maken

Beschrijf de gewenste site in natuurlijke taal: waarvoor deze is bedoeld, welke pagina's het nodig heeft en eventuele ontwerpvoorkeuren, zoals kleurenschema, indelingsstijl of lettertypen. Voer /create-site uit of beschrijf uw site alleen en de invoegtoepassing herkent de intentie.

Als u geen framework opgeeft, vraagt de invoegtoepassing u er een te kiezen (React, Vue, Angular of Astro), dan:

  1. Stelt het project op vanuit een sjabloon en past uw sitenaam, kleuren en ontwerptokens toe.
  2. Installeert afhankelijkheden, start een ontwikkelserver en opent een voorbeeld van een livebrowser.
  3. Bouwt elke pagina, elk onderdeel en route uit die u hebt aangevraagd met relevante afbeeldingen.
  4. Hiermee maakt u git-commits bij belangrijke mijlpalen, zodat u ingebouwde terugdraaigeschiedenis hebt.

Stap 2: Uw site implementeren

Voer /deploy-site uit om uw site te uploaden naar Power Pages. De invoegtoepassing:

  1. Controleert of PAC CLI is geïnstalleerd en of uw verificatiesessie actief is.
  2. Bevestigt de doelomgeving met u voordat u doorgaat.
  3. Voert een productiebuild uit en uploadt de gecompileerde uitvoer.
  4. Hiermee maakt u een map met implementatieartefacten als deze nog niet bestaat.

Note

Als uw omgeving bepaalde bestandsbijlagen blokkeert, detecteert de invoegtoepassing het probleem en geeft hij instructies om het probleem op te lossen.

Stap 3: Uw site activeren

Voer /activate-site deze opdracht uit om de site openbaar toegankelijk te maken. De invoegtoepassing:

  1. Hiermee wordt een subdomein voorgesteld op basis van uw sitenaam en kunt u dit aanpassen.
  2. Richt een websiterecord in via de Power Platform-API.
  3. Pollt totdat de site live is en retourneert de openbare URL.

Op dit moment hebt u een werkende site op een openbare URL. De resterende stappen voegen gegevens, verificatie en SEO toe. Sla alle stappen over die niet van toepassing zijn op uw site.

Stap 4: Uw gegevensmodel instellen

Voer deze opdracht uit /setup-datamodel om de Dataverse-tabellen te maken die uw site nodig heeft. Als u al een ER-diagram of specifiek schema hebt, geeft u het rechtstreeks op in plaats van dat de agent uw code analyseert.

De invoegtoepassing spawt een Data Model Architect-agent die:

  1. Analyseert de code van uw site om te bepalen welke gegevens de pagina's en onderdelen nodig hebben.
  2. Query's uitvoeren op uw Dataverse-omgeving voor bestaande tabellen om duplicaten te voorkomen.
  3. Stelt een gegevensmodel voor met tabellen, kolommen, gegevenstypen en relaties, gevisualiseerd als EEN ER-diagram.

U beoordeelt en keurt het voorstel goed. De plugin maakt niets totdat u het bevestigt. Nadat de invoegtoepassing is goedgekeurd, worden de tabellen en kolommen gemaakt via API-aanroepen en wordt een manifestbestand opgeslagen dat in stap 5 en 6 wordt gebruikt.

Stap 5: Voorbeeldgegevens toevoegen (optioneel)

Voer /add-sample-data uit om uw tabellen te vullen met testrecords. Voor deze stap is het gegevensmodel uit stap 4 vereist.

De invoegtoepassing voert de volgende acties uit:

  1. Leest het manifest om inzicht te hebben in uw tabellen, kolommen en relaties.
  2. Genereert contextuele geschikte waarden voor elk kolomtype, zoals realistische e-mailberichten, plausibele datums en opgemaakte valutabedragen.
  3. Records in afhankelijkheidsvolgorde invoegen (bovenliggende tabellen vóór onderliggende tabellen) en verificatietokens automatisch vernieuwen tijdens bulkinvoegingen.

Stap 6: Integreren met de Dataverse-web-API

Voer /integrate-webapi uit om mockgegevens te vervangen door live Dataverse-query's. Voor deze stap is het gegevensmodel uit stap 4 vereist.

De invoegtoepassing voert de volgende acties uit:

  1. Scant uw codebasis op onderdelen die gebruikmaken van modelgegevens, aanroepen om tijdelijke aanduidingen op te halen of hardgecodeerde matrices. Deze onderdelen worden gekoppeld aan uw Dataverse-tabellen.
  2. Spawns a Web API Integration agent voor elke tabel die genereert:
    • Een gedeelde API-client met anti-vervalsingstokenbeheer en logica voor opnieuw proberen.
    • TypeScript-entiteitstypes en domeintoewijzers.
    • Een CRUD-servicelaag.
    • Frameworkspecifieke patronen, zoals React hooks, Vue composables of Angular services.
  3. Spawns a Permissions Architect agent die tabelmachtigingen en site-instellingen voorstelt.

U controleert en keurt het voorstel voor machtigingen goed. De invoegtoepassing maakt geen configuratiebestanden totdat u dit bevestigt.

Door AI gegenereerde samenvattingen toevoegen (optioneel)

Voer /add-ai-webapi uit om generatieve AI-samenvattingen toe te voegen aan uw Web API-integratie. Deze vaardigheid verbindt twee preview-API's voor samenvattingen met uw recorddetail- en lijstpagina's:

  • Api voor zoeksamenvatting: retourneert een ai-verkorte samenvatting van zoekresultaten, met bronvermeldingen.
  • Api voor gegevenssamenvatting: retourneert een samenvatting per record of inzichten op lijstniveau voor een Dataverse-tabel.

Deze stap bouwt voort op het gegevensmodel uit stap 4 en de web-API-integratie uit stap 6. De invoegtoepassing voert de volgende acties uit:

  1. Scant uw code op overzichtsintegratiepunten en bevestigt de doelpagina's, tabellen en welke API's moeten worden gebruikt.
  2. Delegeert eventuele ontbrekende vereisten voor web-API(tabelmachtigingen, kolomlijsten en webrollen) aan /integrate-webapi en /create-webroles, dus er is één bron van waarheid voor machtigingen.
  3. Creëert een AI Web API Integration-agent die een getypeerde samenvattingsservice (aiSummaryService.ts) genereert met afhandeling van anti-vervalsingstokens, frameworkspecifieke wrappers (React-hooks, Vue-composables of Angular-services) en aangesloten aanroeppunten op de doelpagina's.
  4. Start een AI Web API Settings Architect-agent die de Summarization-site-instellingen voor prompts en inhoudslimieten maakt.

U beoordeelt en keurt de voorstellen goed. De invoegtoepassing genereert geen code of maakt instellingen totdat u dit bevestigt.

Note

De samenvattings-API's zijn in preview en zijn afhankelijk van beheer- en sitebeheeropties die worden ingeschakeld. Als samenvattingen niet worden weergegeven na de implementatie, controleert u of de functie is ingeschakeld via de relevante site-instellingen en beheerbesturingselementen. Zie Overzichts-API voor gegevenssamenvatting en Power Pages zoeken met generatieve AI voor meer informatie.

Stap 7: Webrollen maken

Voer /create-webroles uit om gebruikers toegangsrollen te definiëren. De invoegtoepassing:

  1. Query's uitvoeren op uw omgeving voor bestaande webrollen om duplicaten te voorkomen.
  2. Hiermee worden roldefinities met unieke id's gegenereerd.
  3. Hiermee wordt afgedwongen dat elke site maximaal één anonieme rol en één geverifieerde rol heeft.

Stap 8: Verificatie instellen

Voer /setup-auth deze opdracht uit om aanmelding, afmelding en op rollen gebaseerd toegangsbeheer toe te voegen aan uw site. De invoegtoepassing ondersteunt de volgende id-providers en u kunt één provider of meerdere tegelijk configureren.

Provider Ideaal voor
Microsoft Entra Externe id (aanbevolen voor klantgerichte sites) Openbare sites en klantportals met selfserviceregistratie.
Microsoft Entra ID Interne werknemersportalen of business-to-business (B2B)-partnersites. Power Pages configureert automatisch de bovenliggende tenant van de site, zodat u geen tenantinformatie hoeft in te voeren.
Microsoft, Facebook, Google Inloggen via sociale media voor consumentendoelgroepen.
Lokale verificatie Aanmelding met gebruikersnaam en wachtwoord. Niet aanbevolen en wordt alleen geconfigureerd wanneer u deze expliciet aanvraagt.

Zie Overview van verificatie in Power Pages voor meer informatie over ondersteunde providers, inclusief protocollen en configuratieoverwegingen.

De invoegtoepassing:

  1. Analyseert uw site (doel, pagina's, doelgroep) en stelt een verstandige standaardinstelling voor. De invoegtoepassing stelt bijvoorbeeld Microsoft Entra Externe id voor met open registratie voor een klantgerichte site of Microsoft Entra ID met alleen-uitnodigingsregistratie voor een interne portal. U accepteert de aanbeveling of kiest uw eigen providers.
  2. Voor elke provider wordt u door elke vereiste stap geleid in het beheercentrum van de identiteitsprovider, zoals het maken van tenants, het registreren van apps, het maken van gebruikersstromen en het vastleggen van client-id's en omleidings-URI's. De invoegtoepassing valideert elke waarde die u in het gesprek plakt en berekent de exacte omleidings-URI voor uw site, zodat de waarde die in de app-registratie is geplakt, overeenkomt met de waarde die is geschreven in site-instellingen.
  3. Vraagt hoe gebruikersprofielgegevens moeten worden doorgegeven van de identiteitsprovider naar het contactrecord in Dataverse (claimstoewijzing), of deze bij elke aanmelding of alleen bij de eerste aanmelding moeten worden gesynchroniseerd, en of externe aanmeldingen automatisch op basis van e-mailadres moeten worden gekoppeld aan bestaande contactpersonen.
  4. Genereert de authenticatieservice, typedeclaraties, hulpprogramma's voor op rollen gebaseerde autorisatie (hasRole, RequireAuth, RequireRole), een keepalive-hook voor sessies die voorkomt dat SPA-sessies ongemerkt verlopen, en een UI-onderdeel voor aan- en afmelden dat is geïntegreerd in de sitelay-out. De plug-in gebruikt overal de patronen van je framework, zoals React hooks, Vue-composables, Angular-services of Astro-componenten.
  5. Wanneer meer dan één provider is geconfigureerd, wordt een /login-pagina gegenereerd die wordt weergegeven in de door u gekozen lay-out: horizontale rij, verticale stapel, primaire uitlichting of met tabbladen.
  6. Schrijft de overeenkomende site-instellingen onder .powerpages-site/site-settings/ voor elke provider, registratiemodus, claimtoewijzing en optionele functie.

De invoegtoepassing configureert ook de volgende optionele functies wanneer u deze inschakelt:

  • Algemene voorwaarden: een /terms SPA-pagina die gebruikers moeten accepteren voordat ze het aanmelden voltooien, plus de bijbehorende site-instelling en inhoudsfragmenten.
  • Gebruikersprofielpagina: Een /user-profile SPA-pagina waar aangemelde gebruikers hun contactgegevens bewerken via de Power Pages Web-API.
  • Federatieve afmelding: de gebruiker wordt ook afgemeld bij de id-provider wanneer ze zich afmelden bij de site, voor scenario's met gedeelde apparaten of gereguleerde scenario's.

Tip

Als u een tweede id-provider wilt toevoegen aan een bestaande site, voert u deze opnieuw uit /setup-auth . De invoegtoepassing detecteert wat er al is geconfigureerd en biedt om een nieuwe provider toe te voegen zonder de bestaande provider te overschrijven. Deze benadering is handig voor incrementele scenario's, zoals beginnen met Microsoft Entra Externe id en later toevoegen van Google voor aanmelding via sociale netwerken.

Note

Autorisatie aan de clientzijde (RequireAuth, RequireRole, hasRole) is alleen bedoeld voor gebruikerservaring. Hiermee bepaalt u wat de gebruiker ziet. Tabelmachtigingen aan serverzijde, geconfigureerd door /integrate-webapi, dwingen daadwerkelijke beveiliging af.

Stap 9: Serverlogica toevoegen

Voer /add-server-logic deze opdracht uit om beveiligde eindpunten aan de serverzijde toe te voegen aan uw site. Gebruik Serverlogica wanneer uw site logica nodig heeft die niet kan worden uitgevoerd in de browser, zoals externe API-aanroepen, validatie aan de serverzijde, geheimbeheer of gegevensbewerkingen tussen entiteiten.

Important

Voor ondersteuning voor serverlogica is PAC CLI versie 2.6.3 of hoger vereist. Gebruik het script voor snelle installatie om bij te werken naar de nieuwste versie.

Beschrijf wat u nodig hebt in gewone taal en de invoegtoepassing:

  1. Spawns a Server Logic Architect agent die uw use case analyseert en de complexiteit ervan classificeert.
  2. Stelt een eindpuntontwerp, beveiligingsconfiguratie en eventuele vereiste tabelmachtigingen voor uw beoordeling voor.
  3. Nadat u het goedkeurt, genereert u het JavaScript-eindpunt aan de serverzijde op /_api/serverlogics/<name>.
  4. Hiermee maakt u een getypeerde service aan de clientzijde om het eindpunt van uw onderdelen aan te roepen.
  5. Hiermee worden uw onderdelen bijgewerkt om de nieuwe service aan te roepen.
  6. Hiermee configureert u webroltoewijzingen en tabelmachtigingen voor het eindpunt.

U beoordeelt en keurt het voorstel goed. Er wordt geen code gegenereerd totdat u dit bevestigt.

Veelvoorkomende gebruiksvoorbeelden:

Note

Voer /add-server-logic eenmaal per use case uit. Als uw site bijvoorbeeld zowel een eindpunt voor inventarisvalidatie als een globaal zoekeindpunt nodig heeft, voert u de vaardigheid twee keer uit.

Stap 10: Cloudstromen integreren

Voer /add-cloud-flow uit om bestaande Power Automate cloudstromen in uw site te integreren. Deze vaardigheid verbindt uw Power Pages site met stromen die u al in Power Automate hebt gemaakt. Er worden geen nieuwe cloudstromen gemaakt.

De invoegtoepassing:

  1. Registreert de bestaande cloudstroom bij uw site.
  2. Hiermee genereert u code aan de clientzijde om de stroom van uw pagina's te activeren.
  3. Verwerkt asynchrone werktroomstatussen en callbackpatronen.
  4. Hiermee wordt de uitwisseling van gegevens tussen de pagina en de stroom verbonden.

Gebruik /add-cloud-flow voor goedkeuringswerkstromen, e-mailmeldingen, geplande taken en gebeurtenisgestuurde automatisering die beter worden afgehandeld door Power Automate dan door eindpunten aan de serverzijde.

Alternatief: Gebruik /integrate-backend om de volledige servicelaag te plannen

Als u niet zeker weet welke functies web-API, serverlogica of een cloudstroom nodig hebben, voer dan /integrate-backend uit in plaats van stap 4 tot en met 10 handmatig uit te voeren. Deze functie fungeert als orkestrator die:

  1. Analyseert uw prototype om alle functies te identificeren die een servicelaag nodig hebben.
  2. Classificeert elke functie in de juiste benadering: Web-API voor standaard CRUD, Serverlogica voor validatie aan de serverzijde en externe API's, of cloudstroom voor goedkeuringswerkstromen en automatisering.
  3. Stelt een gesequentieerd uitvoeringsplan voor met alle vaardigheden, afhankelijkheden en configuraties.
  4. De vaardigheden in de juiste volgorde indeelt nadat u het plan hebt goedgekeurd.

Het plan is permanent, hervatbaar en bewerkbaar. Stop na een stap om gegenereerde code te controleren of de site te testen en ga verder waar u was gebleven door opnieuw uit te voeren /integrate-backend .

Stap 11: SEO toevoegen

Voer deze opdracht uit /add-seo om uw site te optimaliseren voor zoekmachines. De invoegtoepassing:

  1. Detecteert routes vanuit de routerconfiguratie van uw framework.
  2. Hiermee worden zoekprogramma-instructies en een sitemap voor alle gedetecteerde routes gegenereerd.
  3. Voegt metatags toe: viewport, charset, description, Open Graph, Twitter Card en favicon-verwijzingen.

Stap 12: De laatste site implementeren

Als u optionele stappen uitvoert, voert u deze opnieuw uit /deploy-site om de wijzigingen live te pushen. De invoegtoepassing voert een productiebuild uit en uploadt de site samen met alle implementatieartefacten (tabelmachtigingen, site-instellingen, webfuncties, serverlogicabestanden) naar uw Power Pages-omgeving.

Stap 13: Een beveiligingsbeoordeling uitvoeren

Voer /security-review uit om een volledige beveiligingsbeoordeling van uw site uit te voeren voordat u in productie gaat. De vaardigheid organiseert de gerichte beveiligingsvaardigheden en consolideert elke bevindingen in één HTML-rapport op docs/security-review-<timestamp>.html.

De plug-in stelt één duidelijk geformuleerde vraag over uw doel en kiest de bijpassende reeks specifieke vaardigheden:

Doel Wat wordt gecontroleerd
Code en configuratie Broncode, afhankelijkheden, tabelmachtigingen en verificatieconfiguratie. Werkt alleen op lokale bestanden- geen implementatie vereist.
Releasegereedheid (aanbevolen) Volledige beoordeling voordat u publiceert. Voert elke gefocuste vaardigheid uit: code en afhankelijkheden, scan van geïmplementeerde site, browserbeveiligingsheaders, webtoepassingsfirewall, tabelmachtigingen en verificatie.
Geïmplementeerde site Alleen een live scan van de geïmplementeerde site. Handig voor doorlopende bewaking van een gepubliceerde site.

Nadat u hebt bevestigd, voert de plug-in de overeenkomende gerichte vaardigheden parallel uit en worden de bevindingen in één rapport geschreven:

  • /scan-code: voert statische analyse (opengrep) en afhankelijkheidsscans (trivy) uit op lokale bronbestanden. Codepatronen, kwetsbare pakketten, in code vastgelegde geheimen en licentieproblemen worden weergegeven. Als een van beide hulpprogramma's niet is geïnstalleerd, biedt de functie een handmatige codebeoordeling als alternatief.
  • /scan-site: Hiermee start u een beveiligingsscan aan de serverzijde voor de livesite en haalt u het meest recente rapport op. De scanduur is afhankelijk van de sitegrootte: kleine sites zijn in minuten voltooid, grote sites kunnen uren duren. Bevindingen worden gegroepeerd op ernst. Vereist een geïmplementeerde site.
  • /manage-headers: Controleert de HTTP-beveiligingsheaders die zijn geconfigureerd onder .powerpages-site/site-settings/: Content Security Policy, X-Frame-Options, CORS, cookie SameSite en gerelateerde instellingen. Identificeert ontbrekende of zwakke waarden en stelt aanbevolen standaardwaarden voor.
  • /manage-firewall: Inspecteert de Web Application Firewall (WAF) voor de productiesite, inclusief de status van beheerde regels en aangepaste regels (IP-blokken, landblokken, padblokken, frequentielimieten). Alleen beschikbaar op productiesites in ondersteunde regio's; de vaardigheid detecteert en rapporteert geschiktheidsproblemen.
  • /audit-permissions: Controleert bestaande tabelmachtigingen voor sitecode en Dataverse-metagegevens. Brengt ontbrekende machtigingen, te permissieve rollen, ongebruikte machtigingen en problemen met het YAML-schema aan het licht.

Het geconsolideerde rapport groepeert bevindingen per sectie, wordt geopend in uw standaardbrowser en bevat herstelrichtlijnen in duidelijke taal. In de chat biedt de invoegtoepassing vervolgens aan om je door oplossingen te leiden: kies een bevinding en de invoegtoepassing zet de bijbehorende gerichte vaardigheid interactief in om de aanpassing door te voeren.

Note

De beveiligingsbeoordeling past nooit automatisch wijzigingen toe. Elke gefocuste vaardigheid draait tijdens de geconsolideerde uitvoering in de beoordelingsmodus met alleen-lezenrechten. Als u een oplossing wilt toepassen, roept de invoegtoepassing de overeenkomende vaardigheid interactief aan nadat u de actie hebt gekozen.

Tip

U kunt ook elke gerichte vaardigheid zelfstandig uitvoeren:

  • Voer /scan-code uit tijdens de ontwikkeling om problemen op codeniveau vroeg te ondervangen.
  • Voer /manage-headers deze opdracht uit om een specifieke inhoudsbeveiligingsbeleidsfout op te lossen of CORS in te stellen.
  • Voer /manage-firewall uit om een frequentielimiet toe te voegen op de aanmeldingspagina of verkeer per land te blokkeren.
  • Voer uit /audit-permissions nadat u tabelmachtigingen hebt gewijzigd om te controleren of ze nog steeds overeenkomen met de sitecode.
  • Voer /security-review opnieuw uit met het doel Geïmplementeerde site om een productiesite gedurende langere tijd te monitoren.

Uw site verifiëren

Nadat u de vaardigheden hebt voltooid, controleert u of uw Power Pages site correct werkt.

  1. Ga naar Power Pages.
  2. Zoek uw site in de lijst met actieve sites .
  3. Bekijk een voorbeeld van uw site op het bureaublad met behulp van de optie Voorbeeld .
  4. Test de functionaliteit.

Uw site promoten in omgevingen

Nadat uw site in uw ontwikkelomgeving werkt, gebruikt u de ALM-vaardigheden (Application Lifecycle Management) om deze te promoten voor test- en productieomgevingen. De invoegtoepassing verpakt uw site als een Power Platform-oplossing, identificeert waarden die per omgeving variëren en implementeert de oplossing via Power Platform Pipelines of via handmatig exporteren en importeren.

Als u de ALM-vaardigheden wilt gebruiken, hebt u ook ten minste één power platform-doelomgeving nodig (test, productie of beide). Als u de optionele Azure Key Vault-stroom voor geheimen wilt gebruiken, hebt u ook toestemming nodig om een sleutelkluis te maken in uw Azure-abonnement.

De implementatie plannen

Voer /plan-alm uit om te starten. /plan-alm is het toegangspunt voor ALM en organiseert de andere ALM-vaardigheden, zodat u ze doorgaans niet rechtstreeks uitvoert. De invoegtoepassing:

  1. Detecteert de huidige status van uw project, oplossing en doelomgevingen.
  2. Vraagt over uw promotiestrategie (Power Platform Pipelines of handmatig exporteren en importeren), de doelfasen en eventuele beperkingen die moeten worden toegepast.
  3. Genereert een visueel plan bij docs/alm-plan.html waarin elke actie wordt getoond die het van plan is uit te voeren.
  4. Wacht op uw goedkeuring voordat u een volgende vaardigheid uitvoert.

Het plan blijft op schijf, zodat elke downstream-vaardigheid leest van en schrijft naar hetzelfde persistente plan. Als een fase mislukt, voert u /plan-alm opnieuw uit en wordt deze hervat vanaf het punt waar deze is gestopt.

De oplossing ontwerpen

Voer /setup-solution uit om uw site te verpakken als een Power Platform-oplossing. De invoegtoepassing:

  1. Hiermee maakt u een uitgever en oplossing en voegt u vervolgens uw Power Pages onderdelen toe: de site, webfuncties, serverlogica-eindpunten, cloudstroomregistraties en OAuth-providerinstellingen.
  2. Classificeert elke site-instelling op gevoeligheid en stelt omgevingsvariabelen voor voor waarden die per omgeving verschillen.
  3. Aanbiedingen voor het inrichten van een Azure Key Vault en het opslaan van referentietypewaarden, zoals verbindingsreeksen en API-sleutels.
  4. Wordt uitgevoerd in de synchronisatiemodus wanneer er al een oplossing voor uw site bestaat om onderdelen af te stemmen zonder een nieuwe oplossing te maken.

U beoordeelt en keurt het voorstel goed. De invoegtoepassing maakt geen configuratie totdat u dit bevestigt.

Tip

Als uw oplossing te groot of verstrengeld is om betrouwbaar te implementeren, raadt de invoegtoepassing een splitsing aan en stelt u voor waar u deze kunt splitsen. Bevestig de splitsing voordat wijzigingen van toepassing zijn.

Implementeren met Power Platform Pipelines

Als u Power Platform Pipelines als promotiestrategie hebt gekozen, voert de invoegtoepassing deze vaardigheden uit:

  1. /ensure-pipelines-host voorziet of detecteert een hostomgeving voor Power Platform Pipelines. De vaardigheid kiest de laagste kostenoptie die beschikbaar is voor uw tenant: een gratis platformhost, de Pipelines-app in een bestaande omgeving of een aangepaste host.
  2. /setup-pipeline registreert een pijplijndefinitie in Dataverse, configureert de fasen die u hebt gekozen en verbindt elke fase met een doelomgeving.
  3. /deploy-pipeline start een uitrol voor een fase, past via deploymentSettings.json overschrijvingen van omgevingsvariabelen per fase toe en houdt de status bij in een uitrolregister.

Als een implementatie mislukt omdat de doelomgeving al is gekoppeld aan een andere Power Platform Pipelines-host, kan de plug-in /force-link-environment uitvoeren om de omgeving opnieuw toe te wijzen. De actie vereist uw expliciete toestemming en kan worden teruggedraaid.

Implementeren met handmatig exporteren en importeren

Als u de handmatige methode kiest, wordt de plug-in uitgevoerd:

  1. /export-solution als u de oplossing wilt exporteren als een beheerde of onbeheerde ZIP, met een volledigheidscontrole voordat u exporteert.
  2. /import-solution om het ZIP-bestand in de doelomgeving te importeren, ofwel gefaseerd om eerst afhankelijkheden te controleren, of rechtstreeks.

De geïmplementeerde site activeren en valideren

Na een geslaagde implementatie in de doelomgeving gebeurt het volgende in de invoegtoepassing:

  1. Voert /activate-site uit om de openbare URL op de doelomgeving in te stellen.
  2. Voert /test-site uit om de uitrol te controleren. De plug-in gebruikt een browser om representatieve pagina's te doorzoeken, rolgebaseerde toegangscontroles uit te voeren, /_api/-aanroepen te verifiëren en antwoordstructuren van /_api/serverlogics/-eindpunten vast te leggen. De vaardigheid rapporteert het resultaat als PASS, WARNINGS of FAIL, met details per controle gekoppeld vanuit het plan.

Als een stap mislukt, voert de invoegtoepassing /diagnose-deployment uit. De vaardigheid toetst de fout aan een catalogus van bekende uitrolfouten, zoals een verouderd manifest, ontbrekende afhankelijkheden, hostconflicten, geblokkeerde JavaScript-code of verlopen authenticatie, en stelt een concrete oplossing voor. De invoegtoepassing past nooit een fix toe zonder uw toestemming.

Note

Elke ALM-vaardigheid leest van en schrijft naar artefacten op schijf: het oplossingsmanifest, plangegevens, pijplijnboek, implementatieboek en testresultaten. De orchestratie is hervatbaar en auditbaar. Als u wilt zien wat er in een stap is gebeurd, inspecteert u de artefacten.

Tips en beste werkwijzen

De volgende tips helpen u optimaal gebruik te maken van de invoegtoepassing en de AI-coderingsagent bij het bouwen van Power Pages-sites.

Controleer de terminaluitvoer op ontbrekende tools tijdens de eerste uitvoering

De invoegtoepassing biedt de vaardigheden en werkstromen, maar de AI-coderingsagent - GitHub Copilot CLI of Claude Code - voert de werkelijke opdrachten uit op uw computer. Wanneer u deze hulpprogramma's voor de eerste keer gebruikt, bekijkt u de uitvoer van de terminal nauwkeurig. De AI-coderingsagent voert opdrachten en scripts achter de schermen uit. Sommige van deze opdrachten zijn afhankelijk van hulpprogramma's die mogelijk niet op uw computer zijn geïnstalleerd. Als een stap mislukt, wordt in de terminaluitvoer meestal weergegeven welk hulpprogramma of welke opdracht niet kan worden gevonden.

Als er een fout wordt weergegeven zoals command not found of is not recognized, installeert u het ontbrekende hulpprogramma en activeert u de werkstroom opnieuw. De AI-coderingsagent gaat verder waar deze gebleven was zodra het hulpprogramma beschikbaar is.

Agentvoorstellen beoordelen voordat deze worden goedgekeurd

De AI-coderingsagent presenteert voorstellen, zoals die van de Data Model Architect en Permissions Architect, voordat deze wijzigingen aanbrengt. Code en configuratie die door de AI-coderingsagent worden gegenereerd, kunnen onnauwkeurig zijn, dus controleer, test en valideer elk voorstel en alle gegenereerde code voordat u deze goedkeurt of implementeert.

  • Voorstellen voor gegevensmodellen: controleer of tabelnamen, kolomtypen en relaties overeenkomen met uw bedrijfsvereisten. Het is eenvoudiger om een voorstel aan te passen dan de naam van kolommen te wijzigen nadat gegevens al zijn ingevoegd.
  • Voorstellen voor machtigingen: controleer of elke rol het juiste toegangsniveau heeft (maken, lezen, bijwerken, verwijderen) voor elke tabel. Te veel machtigingen voor tabellen zijn een veelvoorkomend beveiligingsrisico.
  • Gegenereerde code: lees de gegenereerde code en test de site lokaal voordat u implementeert. Door AI gegenereerde code kan fouten of beveiligingsproblemen bevatten.

Fouten rechtstreeks plakken met context

Als er iets mislukt, of het nu gaat om een buildfout, een implementatiefout of een runtime-uitzondering in de browser, kopieert u de volledige foutuitvoer. Plak deze samen met een korte beschrijving van wat u deed. Hoe meer context u opgeeft, hoe sneller de oplossing.

Voorbeeld: Build-fout

I ran npm run build and got this error. Fix it.

error TS2339: Property 'jobTitle' does not exist on type 'JobPosting'.

  src/components/JobCard.tsx:24:31
    24   <Text>{posting.jobTitle}</Text>
                                 

Tip

Neem de bestandsnaam op, de opdracht die u hebt uitgevoerd en wat u verwachtte te gebeuren. De invoegtoepassing gebruikt deze context om het probleem te vinden en een gerichte oplossing toe te passen in plaats van te raden.

Web-API-fouten delen met de volledige aanvraag-URL

Een veelvoorkomend probleem na de implementatie is een 403-fout van de Power Pages Web-API wanneer een kolom niet is ingeschakeld voor API-toegang. Wanneer u deze fout tegenkomt, plakt u de volledige API-URL en het volledige JSON-foutantwoord. In het foutbericht wordt precies aangegeven welke tabel en kolom moeten worden opgelost. De invoegtoepassing kan de YAML- en site-instellingen voor de tabelmachtiging voor u bijwerken.

Voorbeeld: Kolom is niet ingeschakeld voor web-API (403)

I'm getting a 403 error when the documents page loads. Here's the API call and the response. Fix the issue so this API works.

URL:
https://my-site.powerappsportals.com/_api/crd50_documents?$select=crd50_documentid,crd50_name,crd50_documentcategory,crd50_filetype,crd50_filesize,crd50_updateddate,crd50_description,_crd50_propertyid_value

Response:
{
  "error": {
    "code": "90040101",
    "message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
    "innererror": {
      "code": "90040101",
      "message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
      "type": "AttributePermissionIsMissing"
    }
  }
}

Deze fout (AttributePermissionIsMissing) betekent dat de opzoekkolom _crd50_propertyid_value bestaat in de Dataverse-tabel, maar niet wordt vermeld in de tabelmachtigingsconfiguratie voor de web-API. De invoegtoepassing lost deze fout op door de ontbrekende kolom toe te voegen aan de YAML voor tabelmachtigingen in .powerpages-site/table-permissions/ en deze opnieuw te implementeren.

Note

Power Pages Web-API vereist dat elke kolom die wordt geretourneerd door een API-aanroep expliciet wordt vermeld in de tabelmachtiging. Opzoekeigenschappen (voorafgegaan door _ en achtervoegsel met _value) zijn eenvoudig te missen omdat de API-naam verschilt van de logische naam van de kolom in Dataverse. Wanneer u AttributePermissionIsMissing ziet, voegt u altijd die kolom toe aan de tabelmachtiging. Wijzig de API-query niet.

Wees specifiek over wat u wilt

Vage aanvragen produceren vage resultaten. Vertel de invoegtoepassing precies wat u nodig hebt, inclusief indelingsvoorkeuren, gegevensvelden en gedrag.

In plaats van Uitproberen
"Een pagina maken voor taken" Een pagina met vacatures maken met bovenaan een zoekbalk, filterchips voor locatie en afdeling, en een raster met kaarten dat voor elke vacature de titel, het bedrijf, het salarisbereik en een publicatiedatum toont.
"De stijl herstellen" De werkkaarten stapelen zich verticaal op het bureaublad. Ze weergeven in een raster met drie kolommen met 16 pixels tussenruimte op schermen die breder zijn dan 768 pixels"
"Voeg enkele gegevens toe" "Voeg 20 voorbeeldtaakposten toe aan vier afdelingen (Engineering, Marketing, Sales, HR) met realistische titels, salarisbereiken tussen $60k-$180k en geposte datums in de afgelopen 30 dagen"
"De API instellen" "Verbind het onderdeel JobListings met de cr_jobposting Dataverse-tabel. Vervang de in code vastgelegde matrix door een echte API-aanroep waarmee titel, afdeling, salaris en geposte datum worden opgehaald"
"Aanmelding toevoegen" Microsoft Entra Externe id configureren voor aanmelden met open registratie en Google als tweede provider. Ze weergeven als een horizontale rij op de aanmeldingspagina.'

Schermafbeeldingen gebruiken voor visuele problemen

Wanneer de site er niet rechtstreeks in de browser uitziet, maakt u een schermopname en plakt u deze rechtstreeks in het gesprek of geeft u een bestandspad op. Visuele context helpt bij het identificeren van indelings-, afstands- en stijlproblemen die moeilijk te beschrijven zijn in tekst.

The header overlaps the hero section on mobile. Here's a screenshot:

[paste screenshot or provide path to screenshot file]

Fix the header so it doesn't overlap. It should be a fixed header with the content starting below it.

Herhalen in kleine stappen

In plaats van een hele site in één prompt te beschrijven, bouwt u incrementeel. Begin met de structuur en indeling en voeg vervolgens functies één voor één toe. Met deze aanpak krijgt u de kans om bij elke stap de cursus te beoordelen en te corrigeren.

Step 1: /create-site → Get the basic scaffold and layout right
Step 2: "Add a hero section to the home page with a search bar"
Step 3: "Add a job listings page with filter and sort"
Step 4: "Add a job detail page that shows full description"
Step 5: /setup-datamodel → Create tables now that you know the data shape
Step 6: /integrate-webapi → Wire up real data

Tip

Controleer na elke stap de voorbeeldweergave van de browser. Als iets niet goed is, herstelt u het voordat u verdergaat. Het is eenvoudiger om problemen in één onderdeel op te lossen dan om verstrengelingsproblemen op een hele site op te lossen.

Vraag om een uitleg voordat u het goedkeurt

Als u niet zeker weet wat een voorgestelde wijziging is, met name voor machtigingen, wijzigingen in gegevensmodellen of verificatieconfiguratie, vraagt u de invoegtoepassing om uit te leggen wat het gaat doen en waarom voordat u het goedkeurt.

Before you create the table permissions, explain what access each role will have and why. I want to understand the security implications.

Functies onafhankelijk uitvoeren om te herstellen van problemen

Als een vaardigheid halverwege mislukt, hoeft u niet opnieuw te beginnen. Elke vaardigheid wordt onafhankelijk uitgevoerd en kan verder gaan waar het was gebleven. Als bijvoorbeeld /integrate-webapi mislukt bij de derde tabel, kunt u het opnieuw uitvoeren en wordt gedetecteerd dat het werk al is voltooid.

/integrate-webapi failed while processing the cr_applications table. Here's the error: [paste error]. Resume the integration from where it stopped.