Poboljšajte performanse, stabilnost i pouzdanost komponenti pomoću alata za proveru rešenja
Da bi isporučili složene poslovne zahteve, proizvođači često mogu završiti sa visoko naprednim rešenjima koja prilagođavaju i proširuju platformu Microsoft Dataverse . 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 (preko provera protoka)
- Power Fx Izrazi (preko App Checker)
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.PoverShell 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
Prijavite se u Power Apps.
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.
Pored rešenja koje nije kompletno i koje želite da analizirate, izaberite ..., ukažite na stavku Kontrolor rešenja, a zatim izaberite Pokreni.
Komandno dugme za proveru rešenja ima indikator učitavanja, a vi ćete primetiti Running ... u koloni Kontrolor rešenja na listi Rešenje.
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.
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 težini i prikazu detaljnih informacija o problemima otkrivenim u vašem rešenju.
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.
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.
Izaberite problem da biste videli detalje i uputstva o tome kako da rešite.
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.
- 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.
- 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.
- 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 | Kategorizacija identifikovanog problema, kao što su performanse, održavanje, upotreba, podrška, dizajn, bezbednost, pristupačnost ili spremnost za nadogradnju. | Svi |
Ozbiljnost | Predstavlja potencijalni uticaj identifikovanog problema. Dostupni tipovi uticaja su kritični, visoki, srednji, nizak 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, idite na 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čni prekršaji su blokirani ili upozoreni kada su konfigurisani za proveru rešenja sa Nadgledana okruženja. Dodatne informacije: Koristite proveru rešenja u Nadgledana okruženja
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 za nadogradnju |
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-entitet-operacije | Rešenje sadrži entitete sa ograničenim SDK porukama i operacijama koje zahtevaju važeću licencu Dinamics KSNUMKS. | Nizak | Licenciranje |
Aplikacija zasnovana na modelu | meta-license-fieldservice-customcontrols | Rešenje sadrži prilagođene kontrole koje zahtevaju važeću Dynamics 365 Field Service licencu. | Nizak | Licenciranje |
Aplikacija zasnovana na modelu | meta-license-fieldservice-entity-operations | Rešenje sadrži entitete sa ograničenim SDK porukama i operacijama za koje je potrebna važeća Dynamics 365 Field Service licenca. | 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 za nadogradnju |
Veb-resursi | avoid-crm2011-service-soap | Nemojte ciljati Microsoft Dynamics CRM 2011 SOAP usluge. | Kritično | Spremnost za nadogradnju |
Veb-resursi | avoid-loadtheme | Nemojte koristiti loadTheme Fluent vKSNUMKS 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 za nadogradnju |
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 za nadogradnju |
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 za nadogradnju |
Veb-resursi | use-navigation-api | Koristite API parametre za navigaciju. | Srednje | Spremnost za nadogradnju |
Veb-resursi | use-offline | Srednje | Spremnost za nadogradnju | |
Veb-resursi | do-not-make-parent-assumption | Visok | Dizajn | |
Veb-resursi | use-org-setting | Koristite podešavanja organizacije. | Srednje | Spremnost za nadogradnju |
Veb-resursi | use-global-context | Srednje | Spremnost za nadogradnju | |
Veb-resursi | use-grid-api | Koristite API-je mreže. | Srednje | Spremnost za nadogradnju |
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 za nadogradnju |
Veb-resursi | meta-avoid-silverlight | Korišćenje Silverlight veb-resursa je neodobreno. | Srednje | Spremnost za nadogradnju |
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-strogi-režim | Koristite strogi režim kada je to moguće. | Srednje | Iskorišćenost |
Veb-resursi | upotreba-strogo-jednakosti-operatori | Koristite operatore stroge jednakosti. | Srednje | Iskorišćenost |
Veb-resursi | avoid-eval | Ne koristite funkciju „eval“ ili njene funkcionalne ekvivalente. | Kritično | Bezbednost |
Veb-resursi | izbegavati-sa | Nemojte koristiti operator "sa". | Visok | Performanse |
Veb-resursi | Remove-upozorenje | Nemojte da koristite funkciju „alert“ ili njene funkcionalne ekvivalente. | Srednje | Iskorišćenost |
Veb-resursi | Remove-konzola | 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 Ksrm.App.sidePanes.createPane umesto Ksrm.Panels.loadPanel. | Srednje | Spremnost za nadogradnju |
Veb-resursi | Srpskohrvatski / srpskohrvatski | HTTP kolačići su stari mehanizam za skladištenje na strani klijenta sa inherentnim rizicima i ograničenjima. Umesto toga koristite Veb Storage, InkodedDB ili druge moderne metode. | Srednje | Bezbednost |
Veb-resursi | web-sdl-ne-dokument-domen | Piše u document.domain imovinu mora biti pregledana kako bi se izbeglo zaobilaženje provjera istog porijekla. Upotreba domena najvišeg nivoa kao što je azurewebsites.net je strogo zabranjena. | Srednje | Bezbednost |
Veb-resursi | veb-sdl-ne-dokument-pisanje | Pozivi na document.vrite ili document.vriteln manipulišu DOM-om direktno bez ikakve sanitacije i treba ih izbegavati. Umesto toga koristite document.createElement() ili slične metode. | Srednje | Bezbednost |
Veb-resursi | veb-sdl-ne-html-metod | Direktni pozivi metodi html() često (npr. u jKueri okviru) manipulišu DOM-om bez ikakvog saniranja i treba ga izbegavati. Umesto toga koristite document.createElement() ili slične metode. | Srednje | Bezbednost |
Veb-resursi | web-sdl-no-inner-html | Zadaci za innerHTML ili outerHTML osobine manipulišu DOM-om direktno bez ikakve sanitacije 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-ne-postmessage-zvezda-poreklo | 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 VinJS.Utilities.setInnerHTMLUnsafe() i slične metode ne obavljaju nikakvu validaciju ulaza i treba ih izbegavati. Umesto toga koristite VinJS.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 | Srpskohrvatski / srpskohrvatski | 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).