Zlepšete výkon, stabilitu a spolehlivost komponent pomocí nástroje pro kontrolu řešení

Pro zajištění komplexních obchodních požadavků mohou tvůrci skončit u vysoce pokročilých řešení, která přizpůsobují a rozšiřují platformu Microsoft Dataverse. Při pokročilých implementacích dochází ke zvýšenému riziku, kdy se zavedou problémy s výkonem, stabilitou a spolehlivostí, což může negativně ovlivnit zážitky uživatelů. Identifikace a porozumění řešení těchto problémů může být komplikované a časově náročné. Pomocí funkce kontroly řešení můžete provést bohatou kontrolu statické analýzy vašich řešení proti souboru pravidel osvědčených postupů a rychle identifikovat tyto problematické vzorce. Po dokončení kontroly obdržíte podrobnou sestavu, která obsahuje seznam zjištěných problémů, ovlivněných komponent a kódů a odkazy na dokumentaci, která popisuje, jak vyřešit každý problém.

Kontrola řešení analyzuje tyto součásti řešení:

  • Vlastní aktivity pracovních postupů služby Dataverse
  • Webové prostředky (HTML a JavaScript) služby Dataverse
  • Konfigurace služby Dataverse, například kroky zprávy SDK
  • Toky Power Automate (prostřednictvím kontroly toku)
  • Výrazy Power Fx (prostřednictvím kontroly aplikací)

Kontrola řešení pracuje s nespravovanými řešeními, které lze exportovat z prostředí.

Poznámka

  • Tohle téma popisuje, jak spustit kontrolu řešení z portálu tvůrce Power Apps. K dispozici je také modul PowerShell, pomocí kterého můžete přímo komunikovat se službou. Modul Microsoft.PowerApps.Checker.PowerShell lze použít k analýze nespravovaných řešení pro podporované verze prostředí Power Apps v místních a online prostředích nebo pro automatizaci a integraci služby do kanálu sestavení a vydání. Více informací: Microsoft.PowerApps.Checker.PowerShell – přehled
  • Nástroj pro kontrolu řešení podporuje globální proměnné pro ECMAScript 2015 (ES6) a až do syntaxe ECMAScript 2018 (ES9). Pokud je JavaScript detekován pomocí globálních proměnných pozdějších než ES6 nebo syntaxe pozdější než ES9, je hlášen problém nepodporované webové syntaxe pro webový prostředek.
  • Kontrola řešení nezaručuje, že import řešení bude úspěšný. Kontroly statické analýzy řešení neznají nakonfigurovaný stav cílového prostředí a úspěch importu může záviset na jiných řešeních nebo konfiguracích v prostředí.

Spuštění kontroly řešení

  1. Přihlaste se do Power Apps

  2. V levém podokně vyberte Řešení. Pokud se položka nenachází v bočním podokně, vyberte možnost …Více a poté vyberte požadovanou položku.

  3. Vedle nespravovaného řešení, které chcete analyzovat, vyberte ..., přejděte na Kontrola řešenía potom vyberte Spustit.

    Spuštění příkazu kontroly řešení.

  4. Příkazové tlačítko Kontrola řešení má indikátor načítání a všimnete si zprávy Běží… ve sloupci Kontrola řešení seznamu Řešení.

    Stav kontroly řešení.

    Je potřeba upozornit na následující:

    • Kontrola řešení může trvat několik minut, než je dokončena analýza.

    • Po dokončení kontroly obdržíte e-mailové oznámení a oznámení v oblasti Oznámení webu Power Apps.

  5. Zobrazte sestavu po dokončení kontroly.

Zrušení kontroly

Po odeslání kontroly řešení ve vašem prostředí, lze kontrolu zrušit prostřednictvím podokna stavu v pravém horním rohu stránky Řešení.

Při zrušení kontroly se kontrola řešení zastaví a stav kontroly řešení se vrátí do předchozího stavu.

Stavy kontroly řešení

Při instalaci kontroly řešení ve vašem prostředí bude k dispozici sloupec Kontrola řešení v seznamu Řešení. Tento sloupec zobrazí stavy analýzy řešení.

Kraj Popis
Nebyl spuštěn Řešení nebylo nikdy analyzováno.
Spuštěno Řešení se analyzuje.
Nelze dokončit Analýza řešení byla požadována, ale nebyla úspěšně dokončena.
Výsledky od data a času Analýza řešení byla dokončena a výsledky jsou k dispozici ke stažení.
Nelze dokončit. Výsledek od data a času Požadavek na nejnovější analýzu nebyl úspěšně dokončen. Poslední úspěšné výsledky si můžete stáhnout.
Zkontrolováno společností Microsoft Toto je spravované řešení společnosti Microsoft. Analýza řešení není povolena u těchto řešení.
Zkontrolováno vydavatelem Jedná se o spravované řešení třetí strany. Analýza řešení v současné době není k dispozici pro tato řešení.

Revize sestavy kontroly řešení

Po dokončení kontroly řešení si můžete zobrazit analytickou zprávu na portálu nebo si ji stáhnout z webového prohlížeče. Na portálu máte možnosti řadit výsledky podle problému, umístění nebo závažnosti a zobrazit podrobné informace o problémech zjištěných ve vašem řešení.

  1. V levém podokně vyberte Řešení. Pokud se položka nenachází v bočním podokně, vyberte možnost …Více a poté vyberte požadovanou položku.

  2. Vedle nespravovaného řešení, kde chcete zobrazit sestavu kontroly řešení, vyberte ..., přejděte na Kontrola řešení a pak zvolte Zobrazit výsledky.

  3. Chcete-li zobrazit informace a pokyny k řešení, vyberte příslušný problém.

    Výsledky v zobrazení nástroje pro kontrolu řešení.

Výsledky kontroly řešení jsou také k dispozici ke stažení. Soubor ZIP kontroly řešení je stažen do složky určené vaším webovým prohlížečem. Stažená sestava je ve formátu Excel a obsahuje několik vizualizací a sloupců, které vám pomohou identifikovat dopad, typ a místo jednotlivých problémů zjištěných ve vašem řešení. K dispozici je také odkaz na podrobné pokyny o tom, jak problém vyřešit.

  1. V levém podokně vyberte Řešení. Pokud se položka nenachází v bočním podokně, vyberte možnost …Více a poté vyberte požadovanou položku.
  2. Vedle nespravovaného řešení, kam chcete stáhnout sestavu kontroly řešení, vyberte ..., přejděte na Kontrola řešení a pak zvolte Stáhnout výsledky.
  3. Soubor ZIP kontroly řešení je stažen do složky určené vaším webovým prohlížečem.

Zde je souhrn všech sloupců v sestavě.

Sloupec sestavy Popis Vztahuje se na komponentu
Problém Název problému identifikovaného v řešení. Vše
Kategorie Kategorizace zjištěného problému, například Výkon, Udržovatelnost, Využití, Podpora, Design, Zabezpečení, Přístupnost nebo Připravenost na upgrade. Všechny
Závažnost Představuje potenciální dopad identifikovaného problému. Dostupné dopady jsou Kritický, Vysoký, Střední, Nízký a Informační. Všechny
Pokyny Odkaz na článek s podrobným popisem problému, dopadu a doporučené akce. Vše
Součást Komponenta řešení, kde byl problém identifikován. Vše
Location Místo anebo zdrojový soubor komponenty, kde došlo k zjištěnému problému, například sestavení nebo název souboru JavaScript. Vše
Řádek č. Odkaz na číslo řádku problému v ovlivněné komponentě webového prostředku. Webové prostředky
Modul Název modulu, kde byl zjištěn problém identifikovaný v sestavení. Vlastní aktivita pracovního postupu
Typ Typ problému identifikovaného v sestavení. Vlastní aktivita pracovního postupu
Člen Člen problému identifikovaného v sestavení. Vlastní aktivita pracovního postupu
Příkaz Příkaz kódu nebo konfigurace, které vedly k problému. Vše
Komentáře Podrobnosti o problému zahrnující základní kroky řešení. Všechny

Místní spouštění pravidel kontroly řešení

Ve svém vývojovém prostředí můžete spustit pravidla kontroly řešení, abyste zjistili problémy mnohem dříve, než vytvoříte prostředky řešení. Toto chování je v současné době podporováno u webových zdrojů (JavaScript a TypeScript). Pro více podrobností přejděte na balíček NPM @microsoft/eslint-plugin-power-apps.

Pravidla osvědčených postupů používaná kontrolou řešení

Následující tabulka uvádí typ komponenty, popis pravidla, závažnost a kategorii. Kritická porušení jsou blokována nebo varována při konfiguraci pro vynucení kontroly řešení se spravovanými prostředími. Další informace: Použití kontroly řešení ve spravovaných prostředích

Komponenta řešení Název pravidla Popis pravidla Závažnost Kategorie
Modul plug-in nebo aktivita pracovního postupu meta-remove-dup-reg Vyhněte se duplicitním registracím modulů plug-in Dataverse. Kritický Výkon
Modul plug-in nebo aktivita pracovního postupu meta-avoid-reg-no-attribute Zahrňte atributy filtrování s registracemi modulu plug-in Dataverse. střední Výkon
Modul plug-in nebo aktivita pracovního postupu meta-avoid-reg-retrieve Postupujte opatrně u modulů plug-in Dataverse registrovaných pro zprávy Retrieve a RetrieveMultiple. střední Výkon
Modul plug-in nebo aktivita pracovního postupu meta-remove-inactive Neaktivní konfigurace kanálů v Dataverse. Nejnižší Udržovatelnost
Modul plug-in nebo aktivita pracovního postupu meta-avoid-crm4-event Nepoužívejte fázi registrace modulu plug-in Microsoft Dynamics CRM 4.0. střední Připravenost upgradu
Modul plug-in nebo aktivita pracovního postupu meta-avoid-retrievemultiple-annotation Vyhněte se registraci modulu plug-in v RetrieveMultiple anotace. Vysoká Využití
Modelem řízená aplikace meta-license-sales-entity-operations Řešení obsahuje entity s omezenými zprávami a operacemi SDK, které vyžadují platnou licenci Dynamics 365. Nízká Licencování
Modelem řízená aplikace meta-license-fieldservice-customcontrols Řešení obsahuje vlastní ovládací prvky, které vyžadují platnou licenci Dynamics 365 Field Service. Nízká Licencování
Modelem řízená aplikace meta-license-fieldservice-entity-operations Řešení obsahuje entity s omezenými zprávami SDK a operacemi, které vyžadují platnou licenci Dynamics 365 Field Service. Nízká Licencování
Webové zdroje use-async Pracujte s prostředky HTTP a HTTPS asynchronně. Kritický Výkon
Webové zdroje avoid-modals Vyhněte se použití modálních dialogových oken. Nejvyšší Podpora
Webové zdroje avoid-dom-form Nejvyšší Podpora
Webové zdroje avoid-dom-form-event Nejvyšší Podpora
Webové zdroje avoid-crm2011-service-odata Necilte na koncový bod Microsoft Dynamics CRM 2011 OData 2.0. Kritický Připravenost upgradu
Webové zdroje avoid-crm2011-service-soap Necilte na služby Microsoft Dynamics CRM 2011 SOAP. Kritický Připravenost upgradu
Webové zdroje avoid-loadtheme Nepoužívejte loadTheme Fluent v8 API. Nejnižší Podpora
Webové zdroje avoid-browser-specific-api Nepoužívejte starší rozhraní API aplikace Internet Explorer nebo moduly plug-in prohlížeče. Kritický Připravenost upgradu
Webové zdroje avoid-unpub-api Nejvyšší Podpora
Webové zdroje avoid-window-top Nejvyšší Podpora
Webové zdroje avoid-2011-api Nepoužívejte zastaralý objektový model Microsoft Dynamics CRM 2011. Místo toho se řiďte dokumentací Dataverse Web API. Nejvyšší Připravenost upgradu
Webové zdroje use-relative-uri Nepoužívejte absolutní adresy URL koncového bodu Dataverse. střední Udržovatelnost
Webové zdroje use-cached-webresource střední Výkon
Webové zdroje use-client-context Používejte kontexty klienta. střední Připravenost upgradu
Webové zdroje use-navigation-api Umožňuje používat parametry rozhraní API. střední Připravenost upgradu
Webové zdroje use-offline střední Připravenost upgradu
Webové zdroje do-not-make-parent-assumption Nejvyšší Návrh
Webové zdroje use-org-setting Používejte nastavení organizace. střední Připravenost upgradu
Webové zdroje use-global-context střední Připravenost upgradu
Webové zdroje use-grid-api Používejte API rozhraní mřížek. střední Připravenost upgradu
Webové zdroje use-utility-dialogs střední Využití
Webové zdroje avoid-isActivityType Nahraďte metodu Xrm.Utility.isActivityType novou metodou Xrm.Utility.gettableMetadata a nepoužívejte pravidla pásu karet. střední Připravenost upgradu
Webové zdroje meta-avoid-silverlight Použití webového zdroje Silverlight je zastaralé. střední Připravenost upgradu
Webové zdroje remove-debug-script Vyhněte se ladění skriptů v prostředích, která nejsou určena pro vývoj. střední Využití
Webové zdroje use-strict-mode Pokud je to možné, používejte striktní režim. střední Využití
Webové zdroje use-strict-equality-operators Používejte striktní operátory rovnosti. střední Využití
Webové zdroje avoid-eval Nepoužívejte funkci „eval“ nebo její funkční ekvivalenty. Kritický Zabezpečení
Webové zdroje avoid-with Nepoužívejte s operátorem „with“. Nejvyšší Výkon
Webové zdroje remove-alert Nepoužívejte funkci alert ani její funkční ekvivalenty. střední Využití
Webové zdroje remove-console Nepoužívejte metody na konzolu. střední Využití
Webové zdroje avoid-ui-refreshribbon Nepoužívejte refreshRibbon ve formuláři onload a EnableRule. Kritický Výkon
Webové zdroje use-getsecurityroleprivilegesinfo Nepoužívejte userSettings.securityRolePrivileges. Místo toho použijte userSettings.getSecurityRolePrivilegesInfo. Nejvyšší Výkon
Webové zdroje use-appsidepane-api Místo Xrm.Panels.loadPanel použijte Xrm.App.sidePanes.createPane. střední Připravenost upgradu
Webové zdroje web-sdl-no-cookies Soubory cookie protokolu HTTP jsou starý mechanismus ukládání na straně klienta s inherentními riziky a omezeními. Místo nich použijte Web Storage, IndexedDB nebo jiné moderní metody. střední Zabezpečení
Webové zdroje web-sdl-no-document-domain Zápisy do vlastnosti document.domain musí být zkontrolovány, aby se zabránilo obcházení kontrol stejného původu. Používání domén nejvyšší úrovně, jako je azurewebsites.net, je přísně zakázáno. střední Zabezpečení
Webové zdroje web-sdl-no-document-write Volání do document.write nebo document.writeln manipulují s modelem DOM přímo bez jakékoli sanitizace a je třeba se jim vyhnout. Místo toho použijte metodu document.createElement() nebo podobnou. střední Zabezpečení
Webové zdroje web-sdl-no-html-method Přímá volání do metody html() často (např. v rámci jQuery) manipulují s modelem DOM bez jakékoli sanitizace a je třeba se jim vyhnout. Místo toho použijte metodu document.createElement() nebo podobnou. střední Zabezpečení
Webové zdroje web-sdl-no-inner-html Přiřazení k vlastnostem innerHTML nebo outerHTML manipulují s modelem DOM přímo bez jakékoli sanitizace a je třeba se jim vyhnout. Místo toho použijte metodu document.createElement() nebo podobnou. střední Zabezpečení
Webové zdroje web-sdl-no-insecure-url Nezabezpečené protokoly, jako je HTTP nebo FTP, by měly být nahrazeny jejich šifrovanými protějšky (HTTPS, FTPS), aby se zabránilo odesílání potenciálně citlivých dat přes nedůvěryhodné sítě ve formátu prostého textu. střední Zabezpečení
Webové zdroje web-sdl-no-msapp-exec-unsafe Volání MSApp.execUnsafeLocalFunction() obcházejí ověřování vkládání skriptu a je třeba se jim vyhnout. střední Zabezpečení
Webové zdroje web-sdl-no-postmessage-star-origin Při odesílání dat do jiných oken pomocí postMessage vždy poskytněte konkrétní cílový zdroj, ne *. Zabráníte tak úniku dat mimo hranice důvěryhodnosti. střední Zabezpečení
Webové zdroje web-sdl-no-winjs-html-unsafe Volání do WinJS.Utilities.setInnerHTMLUnsafe() a podobné metody neprovádějí žádné ověření vstupu a je třeba se jim vyhnout. Místo toho použijte WinJS.Utilities.setInnerHTML(). střední Zabezpečení
Aplikace plátna app-formula-issues-high Další informace viz reference ke vzorcům Power Apps. Kritický Návrh
Aplikace plátna app-formula-issues-medium Další informace viz reference ke vzorcům Power Apps. střední Návrh
Aplikace plátna app-formula-issues-low Další informace viz reference ke vzorcům Power Apps. Nejnižší Návrh
Aplikace plátna app-use-delayoutput-text-input Ke zlepšení výkonu použijte v některých scénářích zpožděné načtení. střední Výkon
Aplikace plátna app-reduce-screen-controls Chcete-li zlepšit výkon, omezte počet ovládacích prvků aplikace. střední Výkon
Aplikace plátna app-include-accessible-label Ke zlepšení přístupnosti aplikací použijte explicitní popisky. střední Přístupnost
Aplikace plátna app-include-alternative-input Zajistěte, aby všechny interaktivní prvky byly přístupné alternativním vstupům. střední Přístupnost
Aplikace plátna app-avoid-autostart Nepoužívejte automatické spuštění u hráčů v aplikaci. střední Přístupnost

Viz také

Doporučené postupy a pokyny pro Dataverse
Doporučené postupy a pokyny pro aplikace řízené podle modelu
Běžné problémy a řešení pro kontrolu řešení

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).