Sdílet prostřednictvím


Zlepšete výkon, stabilitu a spolehlivost řešení

Řešení se používají k distribuci objektů Power Platform, jako jsou aplikace, tabulky, toky, webové prostředky a moduly plug-in. Tento článek představuje funkci kontroly řešení, což je výkonný nástroj, který provádí komplexní statickou analýzu objektů řešení podle sady pravidel osvědčených postupů. Pomocí kontroly řešení můžete rychle identifikovat problematické vzory ve vašich komponentách a získat podrobné zprávy, které zvýrazňují problémy, ovlivněné komponenty a poskytují odkazy na dokumentaci o tom, jak jednotlivé problémy vyřešit. Tím zajistíte, že vaše řešení budou optimalizována z hlediska výkonu, stability a spolehlivosti.

Ukázka výsledků a údajů kontroly řešení

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

Kontrolu řešení můžete spustit buď z Power Apps (make.powerapps.com), nebo pomocí PowerShell.

Jak vám kontrola řešení pomůže

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 Power Platform. 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 kontrolu během několika sekund na řešení, které používá soubor pravidel osvědčených postupů a rychle identifikovat problematické vzorce. Po dokončení kontroly obdržíte podrobnou sestavu v Power Apps a také v e-mailové zprávě, 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í)

Poznámka:

  • 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 ke službě 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, že je Stav Spuštěno… ve sloupci Kontrola řešení v seznamu Řešení.

Stav kontroly řešení

Poznámka:

  • 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.
  1. 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 Toto je spravované řešení jiné než Microsoft. 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.

    Podrobný popis ukázky výsledků a údajů kontroly ř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. Sestava ke stažení 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še
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še
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
Číslo řádku 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še

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). Další podrobnosti najdete v balíčku NPM @microsoft/eslint-plugin-power-apps.

Spuštění kontroly řešeními pomocí PowerShell

K dispozici je 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

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. Nejnižší 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. Nejnižší 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. Nejnižší 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. Vysoká Podpora
Webové zdroje avoid-dom-form Vysoká Podpora
Webové zdroje avoid-dom-form-event Vysoká 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 Vysoká Podpora
Webové zdroje avoid-window-top Vysoká 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. Vysoká 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 Vysoká 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“. Vysoká 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. Vysoká 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í metody html() často (například v rámci jQuery) manipulují s 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í WinJS.Utilities.setInnerHTMLUnsafe() a podobné metody neprovádějí žádné ověřování 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
Desktopový tok desktopflow-avoid-unsafe-password Hesla jsou v toku spravována nezabezpečeně. Vysoká Zabezpečení
Desktopový tok desktopflow-avoid-subflow-recursion Zjištěna rekurzivní volání mezi dílčími toky, což může způsobit nekonečnou smyčku. střední Návrh
Desktopový tok desktopflow-avoid-infinite-loop V toku byla zjištěna nekonečná smyčka, která může způsobit jeho nekonečné spouštění. střední Návrh
Desktopový tok desktopflow-avoid-incomplete-if-branch Zjištěna neúplná akce If, která nemá obsah nebo obsahuje pouze akce ve větvi Else. Nejnižší Návrh
Desktopový tok desktopflow-avoid-excessive-nested-ifs Vnořené klauzule If přesahují pět úrovní. Nejnižší Udržovatelnost
Desktopový tok desktopflow-avoid-empty-on-error-block Akce „Chyba bloku“ je prázdná a nezpracovává chyby. Nejnižší Návrh
Desktopový tok desktopflow-limit-argument-count Celkový počet vstupních/výstupních proměnných překračuje limit 25 proměnných. Nejnižší Udržovatelnost
Desktopový tok desktopflow-input-argument-default-value Vstupní/výstupní proměnné nepoužívají výchozí hodnoty. Nejnižší Udržovatelnost
Desktopový tok desktopflow-limit-variable-name-length Název proměnné překračuje limit 25 znaků. Nejnižší Udržovatelnost
Desktopový tok desktopflow-avoid-excessive-wait-actions Zjištěno nesprávné použití čekacích akcí, kdy více než 10 čekacích akcí způsobuje potenciální problémová místa. Nejnižší Výkon
Desktopový tok desktopflow-avoid-immense-wait-duration Byla zjištěna obrovská čekací doba, která překračuje limit 600 sekund pro pevně zakódované akce čekání. Nejnižší Výkon

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í