Poboljšanje performansi komponenti, stabilnosti i pouzdanosti pomoću provere rešenja

Da bi isporučili složene poslovne zahteve, proizvođači često mogu da završe sa visoko naprednim rešenjima koja prilagođavaju i proširuju Microsoft Dataverse platformu. Napredne primene donose povećani rizik tamo gde dolazi do problema u vezi sa performansama, stabilnošću i pouzdanošću, što može negativno da utiče na iskustvo korisnika. Identifikovati i razumeti kako da rešite ove probleme može postati komplikovano i oduzimati dosta vremena. Sa funkcijom kontrolora rešenja, možete da obavljate obogaćenu proveru statičke analize vaših rešenja prema skupu pravila najboljih praksi i da brzo identifikujte te problematične šablone. Nakon dovršetka provere, primićete detaljan izveštaj u kom se navode identifikovani problemi, komponente i kôd na koji se odnosi, kao i veze do dokumentacije koja opisuje kako da rešite svaki od problema.

Kontrolor rešenja analizira ove komponente rešenja:

  • Dataverse prilagođene aktivnosti toka posla
  • Dataverse veb-resursi (HTML i JavaScript)
  • Dataverse konfiguracije, kao što su koraci SDK poruke
  • Power Automate tokovi (putem provere toka)
  • Power Fx izrazi (putem provere aplikacija)

Kontrolor rešenja radi sa nekompletnim rešenjima koja možete izvesti iz okruženja.

Napomena

  • Ova tema objašnjava kako da pokrenete kontrolor rešenja sa portala Power Apps kreatora. Dostupan je i PowerShell modul koji možete da koristite za ostvarivanje interakcije direktno sa uslugom. Modul Microsoft.PowerApps.Checker.PowerShell može da se koristi za analizu kompletnih i nekompletnih rešenja za Power Apps okruženja ili za automatizovanje i integraciju usluge u gradnje i kanale izdanja. Više informacija: Microsoft.PowerApps. Checker.PowerShell pregled
  • Provera rešenja podržava globalne promenljive za ECMAScript 2015 (ES6), sve do sintakse ECMAScript 2018 (ES9). Kada se otkrije da JavaScript koristi globalne promenljive novije od ES6 ili sintaksu noviju od ES9, prijavljuje se greška sintakse nepodržane na vebu za veb-resurs.
  • Upotreba kontrolora rešenja ne garantuje da će uvoz rešenja biti uspešan. Provere statičke analize izvršene prema rešenju ne znaju kako je konfigurisano stanje odredišnog okruženja, a uspeh uvoza može zavisiti od drugih rešenja ili konfiguracija u okruženju.

Pokretanje kontrolora rešenja

  1. Prijavite se u Power Apps.

  2. U levom oknu izaberite Rešenja. Ako se stavka ne nalazi u oknu bočne table, izaberite …Više, a zatim izaberite stavku koju želite.

  3. Pored rešenja koje nije kompletno i koje želite da analizirate, izaberite ..., ukažite na stavku Kontrolor rešenja, a zatim izaberite Pokreni.

    Pokretanje komande za kontrolor rešenja.

  4. Komandno dugme za proveru rešenja ima indikator učitavanja i primetićete pokretanje ... u koloni Kontrolor rešenja na listi Rešenje.

    Status kontrolora rešenja.

    Imajte u vidu sledeće:

    • Može biti potrebno nekoliko minuta da kontrolor rešenja dovrši analizu.

    • Primićete obaveštenje e-poštom i obaveštenje u oblasti Obaveštenja Power Apps lokacije kada provera bude dovršena.

  5. Pregledajte izveštaj kada provera bude dovršena.

Otkazivanje provere

Kada pošaljete proveru rešenja u svom okruženju, možete da otkažete proveru preko okna sa statusom u gornjoj desnoj oblasti stranice Rešenja.

Kada otkažete proveru, provera rešenja prestaje sa izvršavanjem i status provere rešenja se vraća u prethodni status.

Statusi kontrolora rešenja

Kada instalirate kontrolor rešenja u svom okruženju, kolona Provera rešenja postaje dostupne na listi Rešenja. Ova kolona prikazuje statuse analize rešenja za određeno rešenje.

Država Opis
Nije pokrenuto Rešenje nikada nije analizirano.
Pokrenuto Rešenje je analizirano.
Nije moguće dovršiti Analiza rešenja je bila zatražena, ali analiza nije uspešno dovršena.
Rezultati od datuma i vremena Analiza rešenja je dovršena i rezultati su dostupni za preuzimanje.
Nije moguće dovršiti. Rezultat od datuma i vremena Najnoviji zahtev za analizu nije uspešno dovršen. Poslednji uspešni rezultati mogu da se preuzmu.
Proverio Microsoft Ovo je kompletno rešenje korporacije Microsoft. Analiza rešenja nije dozvoljena na ovim rešenjima.
Proverio objavljivač Ovo je kompletno rešenje nezavisnog proizvođača. Trenutno, analiza rešenja nije dostupna za ova rešenja.

Pregledajte izveštaj kontrolora rešenja

Kada se provera rešenja završi, izveštaj o analizi možete videti na portalu ili ga možete preuzeti iz vašeg veb-pregledača. Na portalu imate opcije za sortiranje rezultata po problemu, lokaciji · ili po ozbiljnosti i prikaz detaljnih informacija za probleme otkrivene u vašem rešenju.

  1. U levom oknu izaberite Rešenja. Ako se stavka ne nalazi u oknu bočne table, izaberite …Više, a zatim izaberite stavku koju želite.

  2. Pored nekompletnog rešenja gde želite da prikažete izveštaj kontrolora rešenja, izaberite ..., ukažite na Kontrolor rešenja, a zatim izaberite Prikaži rezultate.

  3. Izaberite problem da biste videli detalje i smernice o tome kako da rešite problem.

    Rezultati prikaza kontrolora rešenja.

Rezultati provere rešenja takođe su dostupni za preuzimanje. Datoteka rešenja u zip formatu se preuzima u fasciklu koju je odredio vaš veb-pregledač. Izveštaj o preuzimanju je u Excel formatu i sadrži nekoliko vizuelizacija i kolona koje vam pomažu da identifikujete uticaj, tip i lokaciju svakog problema otkrivenog u rešenju. Obezbeđena je i veza ka detaljnom navođenju o tome kako da rešite problem.

  1. U levom oknu izaberite Rešenja. Ako se stavka ne nalazi u oknu bočne table, izaberite …Više, a zatim izaberite stavku koju želite.
  2. Pored neupravljanog rešenja gde želite da preuzmete izveštaj kontrolora rešenja, izaberite ..., postavite pokazivač miša na Kontrolor rešenja, a zatim izaberite Preuzmi rezultate.
  3. Datoteka rešenja u zip formatu se preuzima u fasciklu koju je odredio vaš veb-pregledač.

Evo rezimea svake kolone u izveštaju.

Kolona izveštaja Opis Komponenta „Odnosi se na“
Problem Naslov problema identifikovanog u rešenju. Sve
Kategorija Identifikovana je kategorizacija problema, kao što su Performanse,Održivost,Korišćenje,Podrška,Dizajn,Bezbednost,Pristupačnost · · · · · ili Spremnost nadogradnje. Svi
Ozbiljnost Predstavlja potencijalni uticaj identifikovanog problema. Dostupni tipovi uticaja su kritični,Visoki,Srednji,Niski · · · i Informativni. Svi
Smernice Veza ka članku sa detaljima o problemu, uticaju i preporučenoj radnji. Sve
Komponenta Komponenta rešenja gde je identifikovan problem. Sve
Location Lokacija i/ili izvorna datoteka komponente gde došlo do pojave identifikovanog problema, kao što je sklop ili JavaScript ime datoteke. Sve
Br. linije Referentni broj linije problema u komponenti veb-resursa na kog utiče. Veb-resursi
Modul Ime modula gde je otkriven problem identifikovan u sklopu. Prilagođena aktivnost toka posla
Tip Tip identifikovanog problema u sklopu. Prilagođena aktivnost toka posla
Član Član identifikovanog problema u sklopu. Prilagođena aktivnost toka posla
Izjava Kôd izjave ili konfiguracije koja je dovela do problema. Sve
Komentari Detalji o problemu koji obuhvataju korake rešenja visokog nivoa. Svi

Lokalno pokretanje pravila za proveru rešenja

Pravila za proveru rešenja možete da pokrenete u razvojnom okruženju da biste otkrili probleme mnogo ranije dok kreirate resurse rešenja. Ovo je trenutno podržano za veb-resurse (JavaScript i TypeScript). Za više detalja posetite NPM paket @microsoft/eslint-plugin-power-apps.

Pravila najbolje prakse koje kontrolor rešenja koristi

Sledeća tabela navodi tip komponente, opis pravila, ozbiljnost i kategoriju. Kritična kršenja su blokirana ili upozorena kada se konfigurišu za primenu provere rešenja sa upravljanim okruženjima. Više informacija:Koristite alatku za proveru rešenja u kontrolisanim okruženjima

Komponenta rešenja Naziv pravila Opis pravila Ozbiljnost Kategorija
Dodatna komponenta ili aktivnost toka posla meta-remove-dup-reg Izbegavajte duplirane registracije Dataverse dodatnih komponenti. Kritično Performanse
Dodatna komponenta ili aktivnost toka posla meta-avoid-reg-no-attribute Uključite atribute filtriranja sa registracijama Dataverse dodatnih komponenti. Srednje Performanse
Dodatna komponenta ili aktivnost toka posla meta-avoid-reg-retrieve Oprezno koristite Dataverse dodatne komponente registrovane za operacije Retrieve i RetrieveMultiple za poruke. Srednje Performanse
Dodatna komponenta ili aktivnost toka posla meta-remove-inactive Uklonite neaktivne konfiguracije u usluzi Dataverse. Nizak Mogućnost održavanja
Dodatna komponenta ili aktivnost toka posla meta-avoid-crm4-event Nemojte koristiti Microsoft Dynamics CRM 4.0 fazu registracije dodatne komponente. Srednje Spremnost nadogradnje
Dodatna komponenta ili aktivnost toka posla meta-avoid-retrievemultiple-annotation Izbegavajte registraciju dodatne komponente na RetrieveMultiple za zabelešku. Visok Iskorišćenost
Aplikacija zasnovana na modelu meta-licenca-prodaja-entitetskih-operacija Rešenje sadrži entitete sa ograničenim SDK porukama i operacijama koje zahtevaju važeću Dynamics 365 licencu. Nizak Licenciranje
Aplikacija zasnovana na modelu meta-license-fieldservice-customcontrols Rešenje sadrži prilagođene kontrole koje zahtevaju važeću licencu Dynamics 365 Field Service . Nizak Licenciranje
Aplikacija zasnovana na modelu meta-license-fieldservice-entity-operations Rešenje sadrži entitete sa ograničenim SDK porukama i operacijama koje zahtevaju važeću licencu Dynamics 365 Field Service . Nizak Licenciranje
Veb-resursi use-async Asinhrono vršite interakciju sa HTTP i HTTPS resursima. Kritično Performanse
Veb-resursi avoid-modals Izbegavajte korišćenje modalnih dijaloga. Visok Mogućnost pružanja podrške
Veb-resursi avoid-dom-form Visok Mogućnost pružanja podrške
Veb-resursi avoid-dom-form-event Visok Mogućnost pružanja podrške
Veb-resursi avoid-crm2011-service-odata Nemojte ciljati Microsoft Dynamics CRM 2011 2.0 OData krajnju tačku. Kritično Spremnost nadogradnje
Veb-resursi avoid-crm2011-service-soap Nemojte ciljati Microsoft Dynamics CRM 2011 SOAP usluge. Kritično Spremnost nadogradnje
Veb-resursi avoid-loadtheme Nemojte koristiti loadTheme Fluent v8 API. Nizak Mogućnost pružanja podrške
Veb-resursi avoid-browser-specific-api Nemojte koristiti zastarele API ili dodatne komponente pregledača za Internet Explorer. Kritično Spremnost nadogradnje
Veb-resursi avoid-unpub-api Visok Mogućnost pružanja podrške
Veb-resursi avoid-window-top Visok Mogućnost pružanja podrške
Veb-resursi avoid-2011-api Nemojte koristiti neodobreni Microsoft Dynamics CRM 2011 model objekta. Umesto toga, sledite dokumentaciju za Dataverse Web API. Visok Spremnost nadogradnje
Veb-resursi use-relative-uri Nemojte koristiti apsolutne URL adrese krajnje tačke za Dataverse. Srednje Mogućnost održavanja
Veb-resursi use-cached-webresource Srednje Performanse
Veb-resursi use-client-context Koristite kontekste klijenta. Srednje Spremnost nadogradnje
Veb-resursi use-navigation-api Koristite API parametre za navigaciju. Srednje Spremnost nadogradnje
Veb-resursi use-offline Srednje Spremnost nadogradnje
Veb-resursi do-not-make-parent-assumption Visok Dizajn
Veb-resursi use-org-setting Koristite podešavanja organizacije. Srednje Spremnost nadogradnje
Veb-resursi use-global-context Srednje Spremnost nadogradnje
Veb-resursi use-grid-api Koristite API-je mreže. Srednje Spremnost nadogradnje
Veb-resursi use-utility-dialogs Srednje Iskorišćenost
Veb-resursi avoid-isActivityType Zamenite Xrm.Utility.isActivityType metod novim Xrm.Utility.gettableMetadata i nemojte koristiti u pravilima trake. Srednje Spremnost nadogradnje
Veb-resursi meta-avoid-silverlight Korišćenje Silverlight veb-resursa je neodobreno. Srednje Spremnost nadogradnje
Veb-resursi remove-debug-script Izbegavajte uključivanje skripta za otklanjanje grešaka u okruženjima koja nisu razvojna. Srednje Iskorišćenost
Veb-resursi upotreba-strogog-režima Koristite strogi režim kada je to moguće. Srednje Iskorišćenost
Veb-resursi upotreba-striktnih-ravnopravnosti-operatora Koristite operatore stroge jednakosti. Srednje Iskorišćenost
Veb-resursi izbegavanje-eval Ne koristite funkciju „eval“ ili njene funkcionalne ekvivalente. Kritično Bezbednost
Veb-resursi izbegavanje-sa Ne koristi operator "sa". Visok Performanse
Veb-resursi uklanjanje-upozorenja Nemojte da koristite funkciju „alert“ ili njene funkcionalne ekvivalente. Srednje Iskorišćenost
Veb-resursi uklanjanje-konzole Izbegavajte upotrebu metoda na konzoli. Srednje Iskorišćenost
Veb-resursi avoid-ui-refreshribbon Izbegavajte da koristite refreshRibbon u onload i EnableRule obrasca. Kritično Performanse
Veb-resursi use-getsecurityroleprivilegesinfo Izbegavajte userSettings.securityRolePrivileges. Umesto toga koristite userSettings.getSecurityRolePrivilegesInfo. Visok Performanse
Veb-resursi upotreba-appsidepane-api Koristite datoteku Xrm.App.sidePanes.createPane umesto Xrm.Panels.loadPanel. Srednje Spremnost nadogradnje
Veb-resursi web-sdl-no-cookies HTTP kolačići su stari mehanizam skladištenja na strani klijenta sa inherentnim rizicima i ograničenjima. Umesto toga koristite Web Storage, IndexedDB ili druge moderne metode. Srednje Bezbednost
Veb-resursi web-sdl-no-document-domain Piše u svojstvo document.domain mora biti redigovano da bi se izbeglo zaobilaženje provera istog porekla. Korišćenje domena najvišeg nivoa kao što je azurewebsites.net je strogo zabranjeno. Srednje Bezbednost
Veb-resursi web-sdl-no-document-write Pozivi na dokument.pisite ili dokumentujte.Writeln manipulisite DOM-om direktno bez ikakve sanitarizacije i treba ih izbegavati. Umesto toga koristite document.createElement() ili slične metode. Srednje Bezbednost
Veb-resursi web-sdl-no-html-method Direktni pozivi na metod html() često (npr. u jQuery framework) manipulišu DOM-om bez ikakve sanitarizacije i treba ih izbegavati. Umesto toga koristite document.createElement() ili slične metode. Srednje Bezbednost
Veb-resursi web-sdl-no-inner-html Zadaci unutrašnjihHTML ili outerHTML svojstava manipulišu DOM-om direktno bez ikakve sanitarizacije i treba ih izbegavati. Umesto toga koristite document.createElement() ili slične metode. Srednje Bezbednost
Veb-resursi web-sdl-no-insecure-url Nebezbedne protokole kao što su HTTP ili FTP treba zameniti šifrovanim parnjacima (HTTPS, FTPS) da bi se izbeglo slanje potencijalno osetljivih podataka preko nepouzdanih mreža u PlainText formatu. Srednje Bezbednost
Veb-resursi web-sdl-no-msapp-exec-unsafe Pozivanje MSApp.execUnsafeLocalFunction() zaobilazi proveru valjanosti injektovanja skripti i treba ga izbegavati. Srednje Bezbednost
Veb-resursi web-sdl-no-postmessage-star-origin Uvek navedite poreklo određenog odredišta, a ne * prilikom slanja podataka u druge prozore pomoću funkcije postMessage da biste izbegli curenje podataka izvan granice pouzdanosti. Srednje Bezbednost
Veb-resursi web-sdl-no-winjs-html-unsafe Pozivi na WinJS.Utilities.setInnerHTMLUnsafe() i slične metode ne vrše nikakvu proveru valjanosti unosa i treba ih izbegavati. Umesto toga koristite WinJS.Utilities.setInnerHTML(). Srednje Bezbednost
Aplikacija sa podlogom app-formula-issues-high Pogledajte Power Apps reference formula za dodatne detalje. Kritično Dizajn
Aplikacija sa podlogom app-formula-issues-medium Pogledajte Power Apps reference formula za dodatne detalje. Srednje Dizajn
Aplikacija sa podlogom app-formula-issues-low Pogledajte Power Apps reference formula za dodatne detalje. Nizak Dizajn
Aplikacija sa podlogom app-use-delayoutput-text-input Koristite odloženo opterećenje u nekim scenarijima da biste poboljšali performanse. Srednje Performanse
Aplikacija sa podlogom app-reduce-screen-controls Ograničite broj kontrola aplikacije za poboljšane performanse. Srednje Performanse
Aplikacija sa podlogom app-include-accessible-label Koristite eksplicitne oznake za poboljšanje pristupačnosti aplikacije. Srednje Pristupačnost
Aplikacija sa podlogom app-include-alternative-input Uverite se da su svi interaktivni elementi dostupni alternativnim ulazima. Srednje Pristupačnost
Aplikacija sa podlogom app-avoid-autostart Izbegavajte upotrebu automatskog pokretanja na igračima u aplikaciji. Srednje Pristupačnost

Pogledajte i ovo

Najbolje prakse i smernice za Dataverse
Najbolje prakse i smernice za aplikacije koje pokreće model
Uobičajeni problemi i rešenja za kontrolora rešenja

Napomena

Možete li nam reći o svojim željenim postavkama jezika u dokumentaciji? Ispunite kratku anketu. (imajte na umu da je ova anketa na engleskom jeziku)

Anketa će trajati oko sedam minuta. Ne prikupljaju se lični podaci (izjava o privatnosti).