Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Pluginul Power Pages pentru GitHub Copilot CLI și Claude Code oferă un flux de lucru asistat de AI pentru crearea, implementarea și gestionarea site-urilor moderne single-page (SPA) pe Power Pages. În loc de a susține manual proiectele, a scrie cod API standard și a configura permisiunile, descrie ce vrei în limbaj natural, iar plugin-ul se ocupă de implementare.
Pluginul susține întregul ciclu de viață al dezvoltării site-ului prin abilități conversaționale, de la structurarea unui nou site până la implementarea acestuia, configurarea modelelor de date Dataverse și configurarea autentificării.
Important
- Un agent generativ de codare AI, cum ar fi GitHub Copilot CLI sau Claude Code, folosește abilitățile și fluxurile de lucru ale acestui plugin pentru a finaliza sarcini specifice Power Pages.
- Codul și configurațiile generate de agentul de codare AI pot fi inexacte. Revizuiește, testează și validează tot conținutul generat înainte de a-l aproba sau implementa. Verifică întotdeauna propunerile agenților înainte de a le aproba.
Cerințe preliminare
Înainte să începi, verifică dacă ai software-ul și permisiunile necesare.
Cerințe de software
| Componentă | Versiune minimă | Mai multe informații |
|---|---|---|
| Node.js | 18.0 sau mai târziu | Descarcă Node.js |
| Power Platform CLI (PAC CLI) | 2.6.3 sau mai târziu (necesar pentru logica serverului) | Instalează CLI PAC |
| Azure CLI | Cele mai recente actualizări | Instalează Azure CLI |
| GitHub Copilot CLI sau Claude Code | Cele mai recente actualizări | GitHub Copilot CLI sau Claude Code |
| Visual Studio Code și extensia Power Platform Tools (Opțional) | Cele mai recente actualizări | Descarcă VS Code și instalează instrumentele Power Platform |
De asemenea, ai nevoie de:
- Un mediu Power Platform cu Power Pages activat.
- O sesiune PAC CLI autentificată conectată la mediul țintă. Fugi
pac auth createdacă nu te-ai conectat încă. - O sesiune Azure CLI s-a conectat la același tenant. Rulează
az login --allow-no-subscriptionspentru a autentifica.
Verifică autentificarea:
Verifică dacă ești autentificat folosind comanda.pac auth list
pac auth list # Should show authenticated profile
Dacă nu ești autentificat, rulează această comandă:
pac auth create --environment <Instance url> # Authenticate to Power Platform
Sfat
Pentru a obține URL-ul instanței, mergi la Power Pages home, selectează pictograma Settings din colțul din dreapta sus, apoi selectează Detalii sesiune.
Instalează pluginul
Instalează pluginul Power Pages din marketplace. Dacă folosești GitHub Copilot CLI, consultă documentația extensiilor CLI Copilot pentru pași echivalent de instalare. Următoarele comenzi folosesc sintaxa Claude Code.
Instalare rapidă (recomandată)
Rulează instalatorul pentru a configura toate pluginurile cu autoupdate activat:
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
Instalatorul automat:
- Instalează
pacCLI dacă nu este deja instalat. - Detectează uneltele disponibile, cum ar fi Claude Code și GitHub Copilot CLI.
- Înregistrează piața pluginurilor și instalează toate pluginurile listate.
- Activează actualizarea automată astfel încât pluginurile să rămână actualizate.
După instalare, repornește Claude Code sau GitHub Copilot CLI pentru a accesa abilitățile pluginului ca comenzi slash în sesiunea agentului.
Instalează din marketplace
Deschide Codul Claude în terminalul tău.
Adaugă piața Microsoft:
/plugin marketplace add microsoft/power-platform-skillsInstalează pluginul Power Pages:
/plugin install power-pages@power-platform-skills
După ce instalezi pluginul, repornește Claude Code sau GitHub Copilot CLI pentru a accesa abilitățile pluginului ca comenzi slash în sesiunea agentului.
Sfat
Pentru a primi automat actualizări pentru piață și competențe, activează actualizarea automată. Folosește comanda /plugin , mergi la Piețe, alege piața și activează actualizarea automată.
Prezentare generală a abilităților
Pluginul oferă abilități care acoperă întregul ciclu de viață al unui site Power Pages. Invocă fiecare abilitate conversațional, fie ca o comandă de tăiere, fie descriind ce vrei to do.
| Competență | Command | Ce face |
|---|---|---|
| Creați site-ul | /create-site |
Structurează un site, aplică direcția ta de design și construiește pagini și componente |
| Locația de desfășurare | /deploy-site |
Construiește proiectul și îl încarcă în Power Pages folosind CLI PAC |
| Activează site-ul | /activate-site |
Furnizează un record de site web și atribuie un URL public |
| Configurarea modelului de date | /setup-datamodel |
Creează tabele, coloane și relații Dataverse |
| Adaugă date de probă (opțional) | /add-sample-data |
Completează tabelele Dataverse cu înregistrări realiste de testare |
| Integrează Web API | /integrate-webapi |
Generează cod client API tipizat, servicii și permisiuni de tabel |
| Adaugă rezumate AI | /add-ai-webapi |
Integrează API-urile de rezumare generative AI (rezumat de căutare și sumar de date) în paginile tale. Generează un serviciu de rezumat tastat cu gestionare anti-falsificare a token-urilor, wrapper-uri specifice cadrului, site-uri de apeluri prin cablu și setările site-ului corespunzător Summarization |
| Configurarea autentificării | /setup-auth |
Adaugă log-in, log-out și control de acces bazat pe roluri. Suportă Microsoft Entra ID, ID extern Microsoft Entra, OpenID Connect, SAML 2.0, WS-Federation, cont Microsoft, Facebook, Google și autentificare locală pentru nume de utilizator și parolă, inclusiv configurații multi-provider |
| Creează roluri web | /create-webroles |
Generează fișiere YAML pentru rol web pentru gestionarea accesului utilizatorilor |
| Logica serverului Adaugă | /add-server-logic |
Generează endpoint-uri JavaScript securizate pe partea de server pentru validare, apeluri API externe, management al secretelor și operațiuni de date |
| Adaugă flux de nori | /add-cloud-flow |
Integrează fluxurile existente de cloud Power Automate în site-ul tău pentru fluxurile de lucru de aprobare, notificări și automatizări programate |
| Integrat backend-ul | /integrate-backend |
Analizează prototipul tău, determină abordarea corectă (Web API, Server Logic sau flux cloud) pentru fiecare funcționalitate și orchestrează întreaga secvență de construcție |
| Adaugă SEO | /add-seo |
Generează robots.txt, sitemap.xml, și metatag-uri |
| Rulează revizuirea securității | /security-review |
Orchestrează abilitățile de securitate concentrate și consolidează fiecare descoperire într-un singur raport HTML. Acoperă cod, dependențe, scanarea site-ului implementat, antete de browser, firewall-ul aplicațiilor web, permisiuni de tabel și configurarea autentificării |
| Scanarea codului sursă | /scan-code |
Rulează analiză statică și scanare a dependențelor pe fișiere sursă locale; scoate la iveală descoperiri în tipare de cod, pachete vulnerabile, secrete hardcodate și probleme de licență |
| Locația desfășurată de scanare | /scan-site |
Pornește o scanare de securitate pe partea serverului pentru site-ul live, preia cel mai recent raport și grupează constatările după severitate |
| Gestionează antetele de securitate ale browserului | /manage-headers |
Inspectează și configurează antetele de securitate HTTP pe care site-ul le trimite browserelor — Politica de Securitate a Conținutului, protecție împotriva cadrelor și a clickjacking-ului, partajarea cross-origin, comportamentul cookie-urilor și setările aferente site-ului |
| Gestionarea firewall-ului aplicațiilor web | /manage-firewall |
Inspectează și configurează firewall-ul aplicației web (WAF) pe un site de producție: activează protecția, adaugă sau elimină blocuri IP, blocuri de țări, blocuri de traseu și limite de rată |
| Permisiuni pentru tabelele de audit | /audit-permissions |
Auditează permisiunile tabelelor existente în funcție de codul site-ului și metadatele Dataverse; produce un raport HTML grupat după severitate cu soluțiile sugerate |
| Implementarea planului | /plan-alm |
Detectează starea proiectului, adună strategia ta de promovare, redă un plan vizual și orchestrează celelalte abilități de management al ciclului de viață al aplicațiilor (ALM) în ordinea corectă |
| Soluția autorului | /setup-solution |
Creează un publisher și o soluție, adaugă componente Power Pages, clasifică setările site-ului și propune variabile de mediu și secretele Azure Key Vault |
| Configurarea gazdei pipeline-ului | /ensure-pipelines-host |
Furnizează sau detectează un mediu gazdă pentru Power Platform Pipelines |
| Configurarea pipeline-ului | /setup-pipeline |
Înregistrează o definiție a pipeline-ului în Dataverse și leagă etapele de promovare de mediile țintă |
| Implementare prin pipeline | /deploy-pipeline |
Declanșează o implementare a pipeline-ului pentru o etapă țintă cu suprascrieri de variabile de mediu pe etapă |
| Mediul legăturii de forță | /force-link-environment |
Realocează un mediu țintă către o nouă gazdă Power Platform Pipelines atunci când un conflict de gazdă blochează implementarea |
| Exportul soluției | /export-solution |
Exportă soluția ca un zip gestionat sau neadministrat, cu o verificare a completității înainte de export |
| Importul unei soluții | /import-solution |
Importul unei soluții zip pe un mediu țintă, fie etapizat sau direct |
| Locul testării | /test-site |
Verifică un site implementat printr-un test bazat pe browser: scanarea paginilor, verificări de acces bazate pe roluri și verificarea API-ului web |
| Diagnosticarea implementării | /diagnose-deployment |
Compară eșecurile de implementare cu un catalog de erori cunoscute și propune o soluție |
Fluxul de lucru tipic
Un flux de lucru comun de la un capăt la altul urmează această secvență:
- /create-site : Pagini de schelă, proiectare și construcție
- /deploy-site : Încarcă în mediul tău Power Pages
- /activate-site : Setează un URL public
- /setup-datamodel : Creează tabele Dataverse
- /add-sample-data : Completează tabelele cu înregistrări de test
- /integrate-webapi : Generează codul client API și configurează permisiunile
- /create-webroles : Definește rolurile access
- /setup-auth : Adaugă log-in, log-out și interfață bazată pe rol
- /add-server-logic : Adaugă endpoint-uri securizate pe partea serverului
- /add-cloud-flow : Integrați fluxurile de Power Automate existente
- /add-seo : Optimizare pentru motoarele de căutare
- /deploy-site : Implementează modificările finale live
- /security-review : Efectuează o revizuire de securitate de la un capăt la altul înainte de a trece la producție
- /plan-alm : Promovează-ți site-ul în medii de testare și producție
Sfat
- Nu trebuie să urmezi exact această ordine. Fiecare abilitate își verifică propriile condiții și îți spune dacă lipsește ceva. De exemplu, poți rula
/setup-authînainte/integrate-webapidacă site-ul tău are nevoie de autentificare mai întâi. - Dacă nu ești sigur ce abordare să folosești pentru fiecare funcționalitate, folosește
/integrate-backendîn loc pașii 4 până la 10 individual. Analizează prototipul tău, determină dacă fiecare funcționalitate are nevoie de Web API, Server Logic sau de un flux cloud și orchestrează abilitățile în ordinea corectă. - Pentru a adăuga rezumate de căutare și înregistrări generate de AI, rulați
/add-ai-webapidupă/integrate-webapi. Reutilizează permisiunile tabelului și setările site-ului care/integrate-webapise configurează, așa că rulează-l odată ce integrarea API web este implementată.
Construiește-ți site-ul Power Pages
Această prezentare acoperă întregul ciclu de viață al construirii unui site Power Pages cu pluginul, de la schelă până la implementare. Fiecare pas descrie ce spui și ce face pluginul ca răspuns.
Pasul 1: Creează-ți site-ul
Descrie site-ul pe care îl dorești în limbaj natural: pentru ce este folosit, ce pagini are nevoie și orice preferințe de design, cum ar fi schema de culori, stilul de layout sau fonturile. Rulează /create-site sau doar descrie site-ul și pluginul recunoaște intenția.
Dacă nu specifici un framework, pluginul îți cere să alegi unul (React, Vue, Angular sau Astro), apoi:
- Scaffoldează proiectul dintr-un șablon și aplică numele site-ului, culorile și jetoanele de design.
- Instalează dependențe, pornește un server de dezvoltare și deschide o previzualizare live a browserului.
- Construiește fiecare pagină, componentă și traseu cerut cu imagini relevante.
- Creează commit-uri git la repere semnificative, astfel încât să ai istoric de rollback integrat.
Pasul 2: Implementează-ți site-ul
Rulează /deploy-site pentru a-ți încărca site-ul pe Power Pages. Pluginul:
- Verifică că PAC CLI este instalat și că sesiunea ta de autentificare este activă.
- Confirmă mediul țintă cu tine înainte de a continua.
- Rulează o versiune de producție și încarcă ieșirea compilată.
- Creează un director de artefacte de implementare dacă nu există deja unul.
Notă
Dacă mediul tău blochează anumite atașamente, pluginul detectează problema și oferă instrucțiuni pentru a o rezolva.
Pasul 3: Activează-ți site-ul
Aleargă /activate-site pentru a face site-ul accesibil publicului. Pluginul:
- Sugerează un subdomeniu bazat pe numele site-ului tău și îți permite să-l personalizezi.
- Furnizează un registru de site web prin Power Platform API.
- Sondaje până când site-ul devine activ și returnează URL-ul public.
În acest moment, ai un site funcțional cu un URL public. Pașii rămași adaugă date, autentificare și SEO. Sari peste orice pași care nu se aplică site-ului tău.
Pasul 4: Configurează modelul tău de date
Aleargă /setup-datamodel pentru a crea tabelele Dataverse de care are nevoie site-ul tău. Dacă ai deja o diagramă ER sau o schemă specifică, oferă-o direct în loc să lași agentul să analizeze codul tău.
Pluginul generează un agent Data Model Architect care:
- Analizează codul site-ului tău pentru a determina ce date necesită paginile și componentele.
- Interoghează mediul tău Dataverse pentru tabele existente pentru a evita duplicatele.
- Propune un model de date cu tabele, coloane, tipuri de date și relații, vizualizat ca o diagramă ER.
Tu revizuiești și aprobi propunerea. Pluginul nu creează nimic până nu confirmi. După aprobare, pluginul creează tabelele și coloanele prin apeluri API și salvează un fișier manifest folosit de Pașii 5 și 6.
Pasul 5: Adaugă date de probă (Opțional)
Aleargă /add-sample-data să umplă tabelele cu înregistrări de test. Acest pas necesită modelul de date de la Pasul 4.
Pluginul execută următoarele acțiuni:
- Citește manifestul pentru a înțelege tabelele, coloanele și relațiile tale.
- Generează valori contextual adecvate pentru fiecare tip de coloană, cum ar fi emailuri realiste, date plauzibile și sume de monedă formatate.
- Inserează înregistrări în ordinea dependențelor (tabele părinte înaintea tabelelor copil) și reîmprospătează automat tokenurile de autentificare în timpul inserțiilor în masă.
Pasul 6: Integrează cu API-ul web Dataverse
Rulează /integrate-webapi pentru a înlocui datele simulate cu interogări Dataverse live. Acest pas necesită modelul de date de la Pasul 4.
Pluginul execută următoarele acțiuni:
- Scanează baza ta de cod pentru componente care folosesc date simulate, apeluri de preluare sau matrice hardcoded. Acesta mapează aceste componente la tabelele tale Dataverse.
- Generează un agent de integrare Web API pentru fiecare tabel care generează:
- Un client API partajat cu gestionare anti-falsificare a token-urilor și logică de reîncercare.
- Tipuri de entități TypeScript și mappe de domenii.
- Un strat de servicii CRUD.
- Modele specifice framework-ului, cum ar fi hook-urile React, compoziabilele Vue sau serviciile Angular.
- Generează un agent Arhitect de Permisiuni care propune permisiuni pentru tabele și setări ale site-ului.
Tu revizuiești și aprobi propunerea de permisiuni. Pluginul nu creează niciun fișier de configurare până nu confirmi.
Adaugă rezumate generate de AI (Opțional)
Rulează /add-ai-webapi pentru a suprapune rezumate AI generative peste integrarea ta cu API-ul web. Abilitatea conectează două API-uri de rezumare de previzualizare la paginile tale de detaliu și listă:
- API-ul de rezumat al căutării: returnează un rezumat condensat AI al rezultatelor căutării, cu citări.
- API-ul de rezumare a datelor: returnează un rezumat pe fiecare înregistrare sau informații la nivel de listă pentru un tabel Dataverse.
Acest pas se bazează pe modelul de date de la Pasul 4 și pe integrarea API-ului Web de la Pasul 6. Pluginul execută următoarele acțiuni:
- Scanează codul pentru puncte de integrare sumare și confirmă paginile țintă, tabelele și API-urile pe care să le folosești.
- Delegă orice prerechizite lipsă ale API-ului web — permisiuni de tabele, liste de coloane și roluri web — la
/integrate-webapiși/create-webroles, astfel încât să existe o singură sursă de adevăr pentru permisiuni. - Generează un agent AI Web API Integration care generează un serviciu de rezumat tipărit (
aiSummaryService.ts) cu gestionare anti-falsificare a token-urilor, wrappers specifici cadrului (hook-uri React, composabile Vue sau servicii Angular) și site-uri de apel cu fir pe paginile țintă. - Generează un agent AI Web API Settings Architect care creează setările
Summarizationsite-ului pentru prompturi și limite de conținut.
Tu revizuiești și aprobi propunerile. Pluginul nu generează cod și nu creează setări până nu confirmi.
Notă
API-urile de rezumare sunt în previzualizare și depind de activarea controlelor administrative și la nivel de site. Dacă rezumatele nu apar după implementare, confirmă că funcția este activată prin setările relevante ale site-ului și controalele de administrator. Pentru mai multe informații, consultați Rezumatizare a datelor și căutarea Power Pages cu generative AI.
Pasul 7: Creează roluri web
Rulează /create-webroles pentru a defini rolurile access utilizatorilor. Pluginul:
- Interoghează mediul tău pentru roluri web existente pentru a evita duplicatele.
- Generează definiții de rol cu identificatori unici.
- Impune ca fiecare site să aibă cel mult un rol anonim și unul autentificat.
Pasul 8: Configurarea autentificării
Rulează /setup-auth pentru a adăuga log-in, log-out și control de acces bazat pe roluri pe site-ul tău. Pluginul suportă următorii furnizori de identitate și poți configura un furnizor sau mai mulți în același timp.
| Provider | Cel mai bun pentru |
|---|---|
| ID extern Microsoft Entra (recomandat pentru site-urile destinate clienților) | Site-uri publice și portaluri pentru clienți cu înscriere self-service. |
| ID Microsoft Entra | Portaluri interne pentru angajați sau site-uri parteneri business-to-business (B2B). Power Pages configurează automat tenant-ul părinte al site-ului, astfel încât să nu fie nevoie să introduci informații despre chiriaș. |
| Microsoft, Facebook, Google | Autentificare socială pentru publicul consumatorilor. |
| Autentificare locală | Autentificarea nume de utilizator și parolă. Nu este recomandat și este configurat doar când îl soliciti explicit. |
Pentru mai multe informații despre furnizorii suportați, inclusiv protocoale și considerente de configurare, consultați Prezentare generală a autentificării în Power Pages.
Pluginul:
- Analizează site-ul tău (scopul, paginile, audiența) și propune un standard rezonabil. De exemplu, pluginul propune ID extern Microsoft Entra cu înregistrare deschisă pentru un site destinat clientului sau Microsoft Entra ID cu înregistrare doar pe bază de invitație pentru un portal intern. Accepți recomandarea sau îți alegi propriul furnizor.
- Pentru fiecare furnizor, te ghidează prin fiecare pas prealabil în centrul de administrare al furnizorului de identitate, cum ar fi crearea de chiriași, înregistrarea aplicațiilor, crearea fluxurilor de utilizator și capturarea ID-urilor clienților și URI-urilor de redirecționare. Pluginul validează fiecare valoare pe care o lipești înapoi în conversație și calculează exact URI-ul de redirecționare pentru site-ul tău, astfel încât valoarea lipită în înregistrarea aplicației să corespundă valorii scrise în setările site-ului.
- Întreabă cum ar trebui să circule datele profilului utilizatorului de la furnizorul de identitate în înregistrarea de contact Dataverse (maparea revendicărilor), dacă trebuie sincronizat la fiecare autentificare sau doar la prima autentificare și dacă se leagă automat autentificările externe către contactele existente prin email.
- Generează serviciul de autentificare, declarațiile de tip, utilitare de autorizare bazate pe roluri (
hasRole,RequireAuth,RequireRole), un hook pentru keepalive de sesiune care previne expirarea silențioasă a sesiunilor SPA și o componentă UI de conectare/deconectare, integrată cu layout-ul site-ului tău. Pluginul folosește tiparele framework-ului tău pe tot parcursul, cum ar fi hook-urile React, compoziabilele Vue, serviciile Angular sau componentele Astro. - Când mai mulți furnizori sunt configurați, generează o
/loginpagină redată în layout-ul ales: rând orizontal, stivă verticală, spotlight principal sau tab. - Scrie setările site-ului potrivit pentru fiecare
.powerpages-site/site-settings/furnizor, modul de înregistrare, maparea cererilor și funcția opțională.
Pluginul configurează, de asemenea, următoarele funcții opționale când le activezi:
-
Termeni și condiții: O pagină SPA pe care
/termsutilizatorii trebuie să o accepte înainte de a finaliza autentificarea, plus setările site-ului corespunzător și fragmentele de conținut. -
pagina de profil utilizator: O pagină SPA
/user-profileunde utilizatorii autentificați își editează informațiile de contact prin API-ul web Power Pages. - Deconectare federată: De asemenea, deconectarea utilizatorului la furnizorul de identitate atunci când se deconectează de pe site, pentru dispozitive partajate sau scenarii reglementate.
Sfat
Pentru a adăuga un al doilea furnizor de identitate pe un site existent, rulează /setup-auth din nou. Pluginul detectează ce este deja configurat și oferă adăugarea unui furnizor nou fără a suprascrie pe cei existenti. Această abordare este utilă pentru scenarii incrementale, cum ar fi începerea cu ID extern Microsoft Entra și adăugarea ulterioară a Google pentru autentificarea socială.
Notă
Autorizarea pe partea clientului (RequireAuth, RequireRole, hasRole) este doar pentru experiența utilizatorului. Controlează ceea ce vede utilizatorul. Permisiunile pe mesele de pe server, configurate de aceasta /integrate-webapi , impun securitatea reală.
Pasul 9: Adaugă logică de server
Rulează /add-server-logic pentru a adăuga endpoint-uri securizate pe partea serverului pe site-ul tău. Folosește Server Logic atunci când site-ul tău are nevoie de logică care nu poate rula în browser, cum ar fi apeluri API externe, validare pe partea de server, management secret sau operațiuni de date între entități.
Important
Suportul logicii serverului necesită PAC CLI versiunea 2.6.3 sau ulterioară. Folosește scriptul de instalare rapidă pentru a actualiza la cea mai recentă versiune.
Descrie ce ai nevoie în limbaj simplu și pluginul:
- Generează un agent Server Logic Architect care analizează cazul tău de utilizare și clasifică complexitatea acestuia.
- Propune un design al endpoint-ului, o configurație de securitate și orice permisiuni necesare pentru tabele pentru revizuire.
- După ce aprobați, generează punctul final JavaScript de pe partea serverului la
/_api/serverlogics/<name>. - Creează un serviciu tastat pe partea clientului pentru a invoca endpoint-ul din componentele tale.
- Îți actualizează componentele pentru a chema noul serviciu.
- Configurează atribuțiile rolurilor web și permisiunile tabelelor pentru endpoint.
Tu revizuiești și aprobi propunerea. Nu se generează niciun cod până nu confirmi.
Cazuri de utilizare comune:
- Conectează-te la servicii externe. Sună API-uri REST, Azure Functions sau servicii terțe fără a expune acreditările. (Tutorial: interacționează cu servicii externe)
- Efectuează operațiuni securizate cu date. Interoghează, actualizează sau șterge înregistrările Dataverse cu validare consistentă pe partea de server. (Tutorial: interacționează cu tabelele Dataverse)
- Rulează logică personalizată. Agregați datele pe tabele, aplicați reguli de afaceri sau calculați valorile derivate înainte de a returna rezultatele către client.
- Gestionează secretele pe server. Stochează credențialele și cheile API pe server, niciodată în codul clientului. (Tutorial: interacționează cu Microsoft Graph și SharePoint)
Notă
Rulează /add-server-logic o dată pentru fiecare caz de utilizare. De exemplu, dacă site-ul tău are nevoie atât de un endpoint de validare a inventarului, cât și de un endpoint global de căutare, rulează abilitatea de două ori.
Pasul 10: Integrarea fluxurilor de nori
Rulează /add-cloud-flow pentru a integra fluxurile existente de Power Automate cloud în site-ul tău. Această abilitate conectează site-ul tău Power Pages la fluxurile pe care le-ai creat deja în Power Automate. Nu creează noi fluxuri de nori.
Pluginul:
- Înregistrează fluxul cloud existent pe site-ul tău.
- Generează cod pe partea clientului pentru a declanșa fluxul paginilor tale.
- Gestionează starea asincron a fluxului de lucru și modelele de callback.
- Facilitează schimbul de date între pagină și flux.
Folosește /add-cloud-flow pentru fluxuri de lucru de aprobare, notificări pe email, joburi programate și automatizări bazate pe evenimente, care sunt gestionate mai bine de Power Automate decât de endpoint-urile de pe server.
Alternativă: Folosește /integrate-backend pentru a planifica stratul complet de servicii
Dacă nu ești sigur ce funcționalități necesită Web API, Server Logic sau un flux cloud, rulează /integrate-backend în loc să rulezi manual pașii 4 până la 10. Această abilitate acționează ca un orchestrator care:
- Analizează prototipul pentru a identifica toate caracteristicile care au nevoie de un strat de serviciu.
- Clasifică fiecare funcționalitate în abordarea corectă: API web pentru CRUD standard, Server Logic pentru validarea serverului și API-uri externe, sau flux cloud pentru fluxuri de lucru de aprobare și automatizare.
- Propune un plan de execuție secvențial cu toate abilitățile, dependențele și configurațiile.
- După ce aprobi, orchestrează abilitățile în ordinea corectă.
Planul este persistent, reluabil și editabil. Oprește-te după orice pas pentru a revizui codul generat sau a testa site-ul și reia de unde ai rămas rulând din nou /integrate-backend .
Pasul 11: Adaugă SEO
Aleargă /add-seo pentru a-ți optimiza site-ul pentru motoarele de căutare. Pluginul:
- Descoperă rutele din configurația routerului framework-ului tău.
- Generează directive pentru motoarele de căutare și o hartă a site-ului pentru toate rutele descoperite.
- Adaugă metatag-uri: viewport, caractre, descriere, Open Graph, Twitter Card și referințe favicon.
Pasul 12: Desfășurarea locației finale
Dacă faci pași opționali, rulează /deploy-site din nou pentru a trimite schimbările live. Pluginul rulează o compilație de producție și încarcă site-ul împreună cu toate artefactele de implementare (permisiuni de tabel, setări site, roluri web, fișiere logice de server) în mediul tău Power Pages.
Pasul 13: Efectuează o revizuire a securității
Aleargă /security-review pentru a efectua o revizuire completă de securitate a site-ului tău înainte de a trece la producție. Această abilitate orchestrează abilitățile de securitate concentrate și consolidează fiecare descoperire într-un singur raport HTML la docs/security-review-<timestamp>.html.
Pluginul pune o întrebare în limbaj simplu despre scopul tău și alege setul corespunzător de abilități concentrate:
| Goal | Ce verifică |
|---|---|
| Cod și configurație | Codul sursă, dependențele, permisiunile tabelelor și configurația autentificării. Funcționează doar pe fișiere locale - nu e nevoie de implementare. |
| Pregătirea pentru eliberare (recomandată) | Recenzie completă înainte de publicare. Rulează toate abilitățile specializate: cod și dependențe, scanare a site-ului implementat, antete de securitate a browserului, firewall pentru aplicații web, permisiuni de tabel și autentificare. |
| Locația desfășurată | Doar scanare live la fața locului desfășurat. Util pentru monitorizarea continuă a unui site publicat. |
După ce confirmi, pluginul rulează abilitățile axate pe potrivire în paralel și scrie concluziile lor într-un singur raport:
-
/scan-code: Rulează analiză statică (opengrep) și scanarea dependențelor (trivy) pe fișierele sursă locale. Modele de cod Surface, pachete vulnerabile, secrete hardcode și probleme de licență. Dacă niciunul dintre unelte nu este instalat, abilitatea oferă o revizuire manuală a codului ca soluție de rezervă. -
/scan-site: Pornește o scanare de securitate pe partea de server a site-ului live și preia cel mai recent raport. Durata scanării depinde de mărimea locației – siturile mici se termină în câteva minute, cele mari pot dura ore. Constatările sunt grupate pe severitate. Necesită un site desfășurat. -
/manage-headers: Inspectează antetele de securitate HTTP configurate sub.powerpages-site/site-settings/: Content Security Policy, X-Frame-Options, CORS, cookie SameSite și setări conexe. Identifică valorile lipsă sau slabe și propune valori implicite recomandate. -
/manage-firewall: Inspectează firewall-ul aplicației web (WAF) pentru site-ul de producție, inclusiv starea regulilor gestionate și regulile personalizate (blocuri IP, blocuri de țări, blocuri de drum, limite de viteză). Disponibil doar pe siturile de producție din regiunile suportate; Abilitatea detectează și raportează problemele de eligibilitate. -
/audit-permissions: Auditează permisiunile existente ale tabelelor în funcție de codul site-ului și metadatele Dataverse. Suprafețe fără permisiuni, roluri excesiv de permisive, permisiuni neutilizate și probleme cu schema YAML.
Raportul consolidat grupează concluziile pe secțiuni, se deschide în browserul tău implicit și include ghiduri de remediere în limbaj simplu. Din chat, pluginul oferă apoi să parcurgă soluțiile – alege o descoperire și pluginul invocă interactiv abilitatea axată pe potrivire pentru a aplica schimbarea.
Notă
Revizuirea de securitate nu aplică niciodată modificări automat. Fiecare abilitate specializată rulează în modul de revizuire doar pentru citire în timpul repartizării consolidate. Pentru a aplica o soluție, pluginul invocă interactiv abilitatea de potrivire după ce alegi acțiunea.
Sfat
Poți folosi orice abilitate specializată separată:
- Rulează
/scan-codeîn timpul dezvoltării pentru a detecta problemele la nivel de cod din timp. - Aleargă
/manage-headerspentru a corecta o eroare specifică a Politicii de Securitate a Conținutului sau configurează CORS. - Rulează
/manage-firewallpentru a adăuga o limită de rată pe pagina de autentificare sau blochează traficul pe țări. - Rulează
/audit-permissionsdupă ce schimbi permisiunile tabelelor pentru a verifica dacă încă corespund codului site-ului. - Rerulează
/security-reviewcu obiectivul locației desfășurate pentru a monitoriza un sit de producție în timp.
Verifică-ți site-ul
După ce finalizezi abilitățile, verifică dacă site-ul tău Power Pages funcționează corect.
- Mergi la Power Pages.
- Localizează-ți site-ul în lista de site-uri active .
- Previzualizează site-ul tău pe desktop folosind opțiunea Previzualizare .
- Testează funcționalitatea.
Promovează-ți site-ul în diverse medii
După ce site-ul tău funcționează în mediul de dezvoltare, folosește abilitățile de management al ciclului de viață al aplicațiilor (ALM) pentru a-l promova în mediile de testare și producție. Pluginul împachetează site-ul tău ca o soluție Power Platform, identifică valori care variază între medii și implementează soluția prin Power Platform Pipelines sau prin export și import manual.
Pentru a folosi abilitățile ALM, ai nevoie și de cel puțin un mediu Power Platform țintă (test, producție sau ambele). Pentru a folosi fluxul opțional Azure Key Vault pentru secrete, ai nevoie și de permisiune pentru a crea un key vault în abonamentul tău Azure.
Planificați implementarea
Aleargă /plan-alm să începi.
/plan-alm este punctul de intrare pentru ALM și orchestrează celelalte abilități ALM, deci de obicei nu le rulezi direct. Pluginul:
- Detectează starea actuală a proiectului, soluției și mediilor țintă.
- Întreabă despre strategia ta de promovare (Power Platform Pipelines sau export și import manual), etapele țintă și orice constrângeri de aplicat.
- Generează un plan vizual care
docs/alm-plan.htmlarată fiecare acțiune pe care intenționează să o întreprindă. - Așteaptă aprobarea ta înainte de a folosi orice abilitate în aval.
Planul persistă pe disc, astfel încât fiecare abilitate ulterioară citește și scrie pe același plan persistent. Dacă o fază eșuează, rulează /plan-alm din nou și reia de unde s-a oprit.
Autorul soluției
Aleargă /setup-solution pentru a-ți împacheta site-ul ca o soluție Power Platform. Pluginul:
- Creează un publisher și o soluție, apoi adaugă componentele tale Power Pages: site-ul, rolurile web, endpoint-urile logice ale serverului, înregistrările fluxului cloud și setările furnizorului OAuth.
- Clasifică fiecare mediu de amplasament după sensibilitate și propune variabile de mediu pentru valori care variază între medii.
- Oferă furnizarea unui Azure Key Vault și stocarea valorilor de tip credențial, cum ar fi șiruri de conexiune și chei API, în acesta.
- Rulează în modul sincronizat atunci când există deja o soluție pentru site-ul tău, pentru a reconcilia componentele fără a crea o soluție nouă.
Tu revizuiești și aprobi propunerea. Pluginul nu creează nicio configurație până nu confirmi.
Sfat
Dacă soluția ta este prea mare sau încâlcită pentru a fi implementată fiabil, pluginul recomandă o împărțire și propune unde să o împărți. Confirmă divizarea înainte ca modificările să se aplice.
Implementare cu Power Platform Pipelines
Dacă ai ales Power Platform Pipelines ca strategie de promovare, pluginul rulează următoarele abilități:
-
/ensure-pipelines-hostprevede sau detectează un mediu gazdă pentru Power Platform Pipelines. Abilitatea alege cea mai ieftină opțiune disponibilă pentru chiriașul tău: o platformă gratuită, aplicația Pipelines pe un mediu existent sau o gazdă personalizată. -
/setup-pipelineînregistrează o definiție a pipeline-ului în Dataverse, configurează etapele alese și leagă fiecare etapă de un mediu țintă. -
/deploy-pipelinedeclanșează o implementare pentru o etapă, aplică suprascrieri de variabile de mediu pe etapă prindeploymentSettings.json, și urmărește starea într-un registru de implementare.
Dacă o implementare eșuează deoarece mediul țintă este deja legat de o altă gazdă Power Platform Pipelines, pluginul poate rula /force-link-environment pentru a-l reatribui. Acțiunea necesită consimțământul tău explicit și este reversibilă.
Implementare cu export și import manual
Dacă alegi calea manuală, pluginul rulează astfel:
-
/export-solutionpentru a exporta soluția ca ZIP gestionat sau neadministrat, cu o verificare a completității înainte de export. -
/import-solutionpentru a importa ZIP-ul în mediul țintă, fie etapizat pentru a verifica mai întâi dependențele, fie direct.
Activează și validează site-ul implementat
După o implementare reușită în mediul țintă, pluginul:
- Rulează
/activate-sitepentru a aproviziona URL-ul public în mediul țintă. - Rulează
/test-sitepentru a verifica implementarea. Pluginul folosește un browser pentru a căuta pagini reprezentative, a rula verificări de acces bazate pe roluri, a verifica/_api/apelurile și a captura forme de răspuns de la/_api/serverlogics/endpoint-uri. Abilitatea raportează rezultatul caPASS,WARNINGS, sauFAIL, cu detalii pentru fiecare cec legate din plan.
Dacă un pas eșuează, pluginul rulează /diagnose-deployment. Abilitatea compară eșecul cu un catalog de erori de implementare cunoscute, cum ar fi un manifest învechit, dependențe lipsă, conflicte de gazdă, JavaScript blocat sau autentificare expirată, și propune o soluție concretă. Pluginul nu aplică niciodată o soluție fără consimțământul tău.
Notă
Fiecare abilitate ALM citește și scrie pe artefacte de pe disc: manifestul soluției, datele planului, registrul pipeline, registrul de implementare și rezultatele testelor. Orchestrația este reluabilă și auditabilă. Pentru a vedea ce s-a întâmplat la fiecare pas, inspectează artefactele.
Sfaturi și bune practici
Următoarele sfaturi te ajută să profiți la maximum de plugin și de agentul de codare AI atunci când construiești site-uri Power Pages.
Urmărește ieșirea terminalului pentru unelte lipsă la prima rulare
Pluginul oferă abilitățile și fluxurile de lucru, dar agentul de codare AI - GitHub Copilot CLI sau Claude Code - execută comenzile efective pe calculatorul tău. Când folosești aceste instrumente pentru prima dată, urmărește cu atenție ieșirea terminalului. Agentul de codare AI rulează comenzi și scripturi în culise, iar unele dintre aceste comenzi depind de unelte care poate nu sunt instalate pe calculatorul tău. Dacă un pas eșuează, ieșirea terminalului arată de obicei ce unealtă sau comandă nu a găsit.
Dacă observi o eroare precum command not found sau is not recognized, instalează unealta lipsă și declanșează din nou fluxul de lucru. Agentul de codare AI continuă de unde a rămas după ce instrumentul este disponibil.
Revizuiește propunerile agenților înainte de a le aproba
Agentul de codare AI prezintă propuneri, cum ar fi cele ale Data Model Architect și Permissions Architect, înainte de a face modificări. Codul și configurația generate de agentul de codare AI pot fi inexacte, așa că revizuiește, testează și validează fiecare propunere și tot codul generat înainte de a-l aproba sau implementa.
- Propuneri de modele de date: Verifică dacă numele tabelelor, tipurile de coloane și relațiile corespund cerințelor afacerii tale. Este mai ușor să ajustezi o propunere decât să redenumești coloane după ce datele sunt deja introduse.
: Verificați dacă fiecare rol are nivelul corect de access (creare, citire, actualizare, ștergere) pentru fiecare tabel. Permisiunile excesiv de permisive ale tabelelor reprezintă un risc comun de securitate. - Cod generat: Citește codul generat și testează site-ul local înainte de a implementa. Codul generat de AI poate conține erori sau probleme de securitate.
Lipiți erorile direct cu contextul
Când ceva eșuează, fie că este o eroare de compilare, un eșec de implementare sau o excepție la runtime în browser, copiază întreaga eroare ieșită. Lipește împreună cu o scurtă descriere a ceea ce făceai. Cu cât oferi mai mult context, cu atât remedierea este mai rapidă.
Exemplu: Eroare de construcție
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>
Sfat
Include numele fișierului, comanda pe care ai rulat-o și ce te așteptai să se întâmple. Pluginul folosește acest context pentru a localiza problema și a aplica o soluție țintită, în loc să ghicească.
Partajează erorile API-ului web cu URL-ul complet al cererii
O problemă frecventă după implementare este o eroare 403 de la API-ul web Power Pages atunci când o coloană nu este activată pentru acces la API. Când întâlnești această eroare, lipiți URL-ul complet al API-ului și răspunsul complet la eroarea JSON. Mesajul de eroare îți spune exact ce tabel și coloană trebuie reparate, iar pluginul poate actualiza permisiunea tabelului, YAML și setările site-ului pentru tine.
Exemplu: Coloană neactivată pentru 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"
}
}
}
Această eroare (AttributePermissionIsMissing) înseamnă că coloana _crd50_propertyid_value de căutare există în tabelul Dataverse, dar nu este listată în configurația permisiunilor tabelului pentru Web API. Pluginul rezolvă această eroare adăugând coloana lipsă în tabelul permisiunii YAML .powerpages-site/table-permissions/ și redistribuindu-l.
Notă
Power Pages Web API solicită ca fiecare coloană returnată de un apel API să fie listată explicit în tabelul de permisiuni.
Proprietățile de căutare (prefixate cu _ și sufixate cu _value) sunt ușor de ratat deoarece numele API-ului lor diferă de numele logic al coloanei în Dataverse. Când vezi AttributePermissionIsMissing, adaugă întotdeauna acea coloană la permisiunea tabelului. Nu schimba interogarea API-ului.
Fii specific în privința a ceea ce vrei
Cereri vagi produc rezultate vagi. Spune pluginului exact ce ai nevoie, inclusiv preferințele de layout, câmpurile de date și comportamentul.
| În loc de | Încercați |
|---|---|
| "Fă o pagină pentru locuri de muncă" | "Creează o pagină de anunțuri de joburi cu o bară de căutare în partea de sus, filtrează cipurile după locație și departament, și o grilă de carduri care arată titlul, compania, intervalul salarial și o dată postată pentru fiecare job" |
| "Repară stilul" | "Fișele de joburi se stivuiesc vertical pe desktop. Fă-le afișate într-o grilă de trei coloane cu un spațiu de 16px pe ecrane mai late decât 768px" |
| "Adaugă niște date" | "Adaugă 20 de anunțuri de joburi exemplu în patru departamente (Inginerie, Marketing, Vânzări, HR) cu titluri realiste, salarii între 60.000 și 180.000 $ și date postate în ultimele 30 de zile" |
| "Configurează API-ul" | "Conectează componenta JobListings la tabelul cr_jobposting Dataverse. Înlocuiește array-ul hardcodat cu un apel API real care să preia titlul, departamentul, salariul și data postării" |
| "Adaugă autentificare" | "Configurați autentificarea ID extern Microsoft Entra cu înregistrare deschisă, plus Google ca al doilea furnizor. Afișează-le ca rând orizontal pe pagina de autentificare." |
Folosește capturi de ecran pentru probleme vizuale
Când site-ul nu arată corect în browser, fă o captură de ecran și lipește-o direct în conversație sau oferă o cale a fișierului. Contextul vizual ajută la identificarea problemelor de layout, spațiere și stilizare greu de descris în text.
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.
Iterați în pași mici
În loc să descrii un întreg site într-un singur prompt, construiește incremental. Începe cu structura și layout-ul, apoi adaugă caracteristici una câte una. Această abordare îți oferă șansa să revizuiești și să corectezi cursul la fiecare pas.
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
Sfat
După fiecare pas, verifică previzualizarea browserului. Dacă ceva nu este în regulă, repară-l înainte să mergi mai departe. Este mai ușor să rezolvi problemele într-un singur component decât să le descurci pe întregul site.
Cere o explicație înainte de a aproba
Când nu ești sigur de o modificare propusă, mai ales pentru permisiuni, modificări ale modelului de date sau configurație de autentificare, cere pluginului să explice ce intenționează to do și de ce înainte de a aproba.
Before you create the table permissions, explain what access each role will have and why. I want to understand the security implications.
Rulează abilitățile independent pentru a te recupera după probleme
Dacă o abilitate eșuează pe parcurs, nu trebuie să o iei de la capăt. Fiecare abilitate rulează independent și poate continua de unde a rămas. De exemplu, dacă /integrate-webapi eșuează pe a treia tabelă, o poți relua și detectează munca deja finalizată.
/integrate-webapi failed while processing the cr_applications table. Here's the error: [paste error]. Resume the integration from where it stopped.
Conținut asociat
- Creează și implementează o aplicație pe o singură pagină în Power Pages
- Configurează autentificarea pentru un site Power Pages
- Prezentare generală a logicii serverului
- Power Pages Referință API web
- Rezumatul datelor API
- Power Pages căutare cu AI generativ
- Referință de comandă pagini PAC CLI
- GitHub Copilot CLI
- Codul Claude