Споделяне чрез


Подобрете производителността, стабилността и надеждността на компонентите с инструмента за проверка на решения

За да изпълнят сложните бизнес изисквания, производителите често могат да се окажат с високо усъвършенствани решения, които персонализират и разширяват платформата Microsoft Dataverse . С разширените внедрявания идва и увеличен риск, където се представят проблемите с производителността, стабилността и надеждността, който може да се отрази отрицателно на изживяването на потребителя. Идентифицирането и разбирането на това как да разрешите тези проблеми, може да е сложно и отнемащо време. С помощта на функцията за проверка на решение можете да изпълните проверка с богат статичен анализ на решенията си срещу набор от правила за най-добри практики и бързо да разпознаете тези проблематични модели. След приключването на проверката ще получите разширен отчет, който изброява идентифицираните проблеми, засегнатите компонентни и код и връзки към документация, която обяснява как да разрешите всеки проблем.

Инструментът за проверка на решение анализира тези компоненти на решение:

  • Дейности в персонализиран работен поток на Dataverse
  • Уеб ресурси (HTML и JavaScript) на Dataverse
  • Конфигурации на Dataverse, като например стъпки на SDK съобщение
  • Power Automate потоци (чрез проверка на потока)
  • Power Fx изрази (чрез проверка на приложения)

Инструментът за проверка на решения работи с незавършени решения, които могат да бъдат експортирани от дадена среда.

Бележка

  • В тази тема е обяснено как да изпълнявате инструмента за проверка на решения от портала за създатели на Power Apps. Наличен е също модул PowerShell, който можете да използвате за директно взаимодействие с услугата. Модулът Microsoft.PowerApps.Checker.PowerShell може да се използва за анализ на незавършени решения за среди на Power Apps или за автоматизиране и интегриране на услугата във вашите конвейери за създаване и издаване. Повече информация: Microsoft.PowerApps. Checker.PowerShell Преглед
  • Инструментът за проверка на решения поддържа глобални променливи за синтаксис на ECMAScript 2015 (ES6) и до ECMAScript 2018 (ES9). Когато се открие, че JavaScript използва глобални променливи, по-късни от ES6, или синтаксис по-късен от ES9, се отчита проблем със синтаксис, неподдържан в мрежата, за уеб ресурса.
  • Използване на инструмента за проверка на решения не гарантира, че импортирането на решение ще бъде успешно. Проверките на статичния анализ, извършени спрямо решението, не знаят конфигурираното състояние на средата на местоназначението и успехът на импортирането може да зависи от други решения или конфигурации в средата.

Изпълнение на инструмента за проверка на решения

  1. Влезте в Power Apps.

  2. В левия панел изберете Решения. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.

  3. До незавършеното решение, което искате да анализирате, изберете ..., посочете Инструмент за проверка на решенияи след това изберете Изпълнение.

    Изпълнете командата на инструмента за проверка на решения.

  4. Командният бутон за проверка на решения има индикатор за зареждане и ще забележите ... в колоната Инструмент за проверка на решения на списъка Решение.

    Състояние на инструмента за проверка на решения.

    Имайте предвид следното:

    • Инструментът за проверка на решения може да има нужда от няколко минути, за да изпълни анализа.

    • Ще получите имейл известяване и известяване в зоната Известявания на сайта на Power Apps, когато проверката приключи.

  5. Прегледайте отчета, когато проверката приключи.

Отмяна на проверка

След като подадете проверка на решенията в средата си, проверката може да бъде отменена чрез екрана за състояние в горната дясна зона на страницата Решения.

Когато отмените дадена проверка, проверката на решение спира да се изпълнява и състоянието на проверка на решението се връща на предишното състояние.

Състояния на инструмента за проверка на решения

Когато инсталирате инструмента за проверка на решения във вашата среда, колоната Проверка на решения става налична в списъка Решения. Тази колона показва на състоянията на анализ на решения за дадено решение.

Състояние Описание
Не е изпълнявано Решението никога не е било анализирано.
Изпълнява се Решението се анализира.
Не може да бъде завършено Анализ на решението е заявен, но анализът не е приключил успешно.
Резултати от дата и час Анализът на решението е завършен и резултатите са налични за изтегляне.
Не може да бъде завършено. Резултат от дата и час Последната заявка за анализ не завърши успешно. Последните успешни резултати могат да бъдат изтеглени.
Проверено от Microsoft Това е завършено решение от Microsoft. Анализът на решение не се разрешава за тези решения.
Проверено от издател Това е завършено решение от трета страна. В момента анализът на решение не е наличен за тези решения.

Прегледайте отчета на инструмента за проверка на решения

Когато приключи проверката на решението, можете да прегледате отчета за анализа в портала или да изтеглите отчета от уеб браузъра си. В портала имате опции за сортиране на резултатите по "Проблем", "Местоположение" или " Сериозност " и преглед на подробна информация за проблемите, открити във вашето решение.

  1. В левия панел изберете Решения. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.

  2. До незавършеното решение, където искате да видите отчета на инструмента за проверка на решения, изберете ..., посочете Инструмент за проверка на решения и след това изберете Преглед на резултати.

  3. Изберете проблем, за да видите подробностите и насоките как да го разрешите.

    Преглед на резултати от инструмента за проверка на решения.

Резултатите от проверката на решения също са достъпни за изтегляне. ZIP файлът на инструмента за проверка на решения се изтегля в папката, указана от вас, в уеб браузъра ви. Отчетът за изтегляне е във формат Excel и съдържа няколко визуализации и колони, които ви помагат при идентифицирането на влиянието, типа и местоположението на всеки проблем, отчетен в решението ви. Предоставя се и връзка към подробна насока за това как да разрешите проблема.

  1. В левия панел изберете Решения. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.
  2. До незавършеното решение, където искате да изтеглите отчета на инструмента за проверка на решения, изберете ..., посочете Инструмент за проверка на решения и след това изберете Изтегляне на резултати.
  3. ZIP файлът на инструмента за проверка на решения се изтегля в папката, указана от вас, в уеб браузъра ви.

Ето обобщение на всяка колона в отчета.

Колона на отчет Описание Компонент „Прилага се за”
Проблем Заглавието на проблема, идентифициран в решението. Цялата
Категория Категоризацията на идентифицирания проблем, като например производителност, поддръжка, използване, поддръжка, дизайн, сигурност, достъпност или готовност за надстройка. Цялата
Степен сериозност Представлява потенциалното въздействие на идентифицирания проблем. Наличните типове въздействие са критични, високи, средни, ниски и информационни. Цялата
Насоки Връзка към статия, предоставяща подробности за проблема, влиянието и препоръчителното действие. Цялата
Компонент Компонентът на решението, където е идентифициран проблемът. Цялата
Location Местоположението и/или източник файл на компонента, където е възникнал идентифицираният проблем, като механизъм или файлово име на JavaScript. Цялата
Ред № Препратката за номер на ред на проблема в засегнатия компонент на уеб ресурс. Уеб ресурси
Модул Името на модула, където е отчетен идентифицирания в механизма проблем. Потребителска дейност на работния поток
Тип Типът на проблема, идентифициран в механизма. Потребителска дейност на работния поток
Член Член на проблема, идентифициран в механизма. Потребителска дейност на работния поток
Декларация Декларацията или конфигурацията в кода, довели до проблема. Цялата
Коментари Подробности за проблема, които включват стъпки за разрешаване от високо ниво. Цялата

Изпълнете правилата за проверка на решения локално

Можете да изпълнявате правила за проверка на решения във вашата среда за разработка, за да откриете проблеми много по-рано, докато създавате ресурси за решение. Понастоящем това се поддържа за уеб ресурси (JavaScript и TypeScript). За повече подробности отидете на пакета @microsoft/eslint-plugin-power-apps NPM.

Правила за най-добри практики от инструмента за проверка на решения

Следващата таблица изброява типа на компонента, описанието на правилото, тежестта и категорията. Критичните нарушения се блокират или предупреждават, когато са конфигурирани за прилагане на проверката на решения с управлявани среди. Повече информация: Използване на програмата за проверка на решения в управлявани среди

Компонент на решение Име на правило Описание на правило Степен сериозност Категория
Добавка или дейност в работен поток meta-remove-dup-reg Избягвайте дублирани регистрации на добавка на Dataverse. Критично Производителност
Добавка или дейност в работен поток meta-avoid-reg-no-attribute Включете атрибутите за филтриране с регистрации на плъгини на Dataverse. Среден Производителност
Добавка или дейност в работен поток meta-avoid-reg-retrieve Да се внимава с добавките на Dataverse, регистрирани за съобщения за извличане и RetrieveMultiple. Среден Производителност
Добавка или дейност в работен поток meta-remove-inactive Премахване на неактивни конфигурации в Dataverse. Ниска Възможност за поддържане
Добавка или дейност в работен поток meta-avoid-crm4-event Не се използва етап на регистрация на добавка на Microsoft Dynamics CRM 4.0. Среден Готовност за надстройване
Добавка или дейност в работен поток meta-avoid-retrievemultiple-annotation Избягване на регистриране на добавка в RetrieveMultiple на анотация. Висока Използване
Приложение, управлявано от модел мета-лиценз-продажби-субект-операции Решението съдържа обекти с ограничени SDK съобщения и операции, които изискват валиден лиценз за Dynamics 365. Ниска Лицензиране
Приложение, управлявано от модел мета-лиценз-полеуслуга-потребителски контроли Решението съдържа потребителски контроли, които изискват валиден Dynamics 365 Field Service лиценз. Ниска Лицензиране
Приложение, управлявано от модел мета-лиценз-полеуслуга-обект-операции Решението съдържа обекти с ограничени SDK съобщения и операции, които изискват валиден Dynamics 365 Field Service лиценз. Ниска Лицензиране
Уеб ресурси use-async Взаимодействие с HTTP и HTTPS ресурси асинхронно. Критично Производителност
Уеб ресурси avoid-modals Избягване на използването на модални диалогови прозорци. Висока Възможност за поддръжка
Уеб ресурси avoid-dom-form Висока Възможност за поддръжка
Уеб ресурси avoid-dom-form-event Висока Възможност за поддръжка
Уеб ресурси avoid-crm2011-service-odata Не се насочва към крайната точка на Microsoft Dynamics CRM 2011 OData 2.0. Критично Готовност за надстройване
Уеб ресурси avoid-crm2011-service-soap Не се насочва към услуги на Microsoft Dynamics CRM 2011 SOAP. Критично Готовност за надстройване
Уеб ресурси avoid-loadtheme Не използвайте loadTheme Fluent v8 API. Ниска Възможност за поддръжка
Уеб ресурси avoid-browser-specific-api Не се използват наследени API на Internet Explorer или добавки на браузъра. Критично Готовност за надстройване
Уеб ресурси avoid-unpub-api Висока Възможност за поддръжка
Уеб ресурси avoid-window-top Висока Възможност за поддръжка
Уеб ресурси avoid-2011-api Не се използва отхвърленият обектен модел на Microsoft Dynamics CRM 2011. Вместо това следвайте Dataverse Уеб API документация. Висока Готовност за надстройване
Уеб ресурси use-relative-uri Не се използват абсолютни URL адреси на крайна точка на Dataverse. Среден Възможност за поддържане
Уеб ресурси use-cached-webresource Среден Производителност
Уеб ресурси use-client-context Използване на клиентски контексти. Среден Готовност за надстройване
Уеб ресурси use-navigation-api Използване на параметри на API за навигация. Среден Готовност за надстройване
Уеб ресурси use-offline Среден Готовност за надстройване
Уеб ресурси do-not-make-parent-assumption Висока Проектиране
Уеб ресурси use-org-setting Използване на настройките на организацията. Среден Готовност за надстройване
Уеб ресурси use-global-context Среден Готовност за надстройване
Уеб ресурси use-grid-api Използване на API на мрежата. Среден Готовност за надстройване
Уеб ресурси use-utility-dialogs Среден Използване
Уеб ресурси avoid-isActivityType Заменете метода Xrm.Utility.isActivityType с новия Xrm.Utility.gettableMetadata и не използвайте в правилата на лентата. Среден Готовност за надстройване
Уеб ресурси meta-avoid-silverlight Използването на уеб ресурс на Silverlight е отхвърлено. Среден Готовност за надстройване
Уеб ресурси remove-debug-script Избягване на включването на скрипт за отстраняване на грешки в неразвойни среди. Среден Използване
Уеб ресурси употреба-строг-режим Използване на строг режим, когато е възможно. Среден Използване
Уеб ресурси Използване на оператори за стриктно равенство Използване на оператори за стриктно равенство. Среден Използване
Уеб ресурси избягване-eval Не се използва функцията „eval“ или нейни функционални еквиваленти. Критично Защита
Уеб ресурси избягване-с Не използвайте оператора "с". Висока Производителност
Уеб ресурси премахване-предупреждение Не използвайте функцията „alert“ или функционалните й еквиваленти. Среден Използване
Уеб ресурси Премахване на конзола Избягвайте да използвате методи на конзолата. Среден Използване
Уеб ресурси avoid-ui-refreshribbon Избягвайте да използвате refreshRibbon във формата onload и EnableRule. Критично Производителност
Уеб ресурси use-getsecurityroleprivilegesinfo Избягвайте userSettings.securityRolePrivileges. Вместо това използвайте userSettings.getSecurityRolePrivilegesInfo. Висока Производителност
Уеб ресурси use-appsidepane-api Използвайте Xrm.App.sidePanes.createPane вместо Xrm.Panels.loadPanel. Среден Готовност за надстройване
Уеб ресурси web-sdl-no-cookies HTTP бисквитките са стар механизъм за съхранение от страна на клиента с присъщи рискове и ограничения. Вместо това използвайте Web Storage, IndexedDB или други съвременни методи. Среден Защита
Уеб ресурси web-sdl-no-document-domain Записва в document.domain собственост трябва да бъдат прегледани, за да се избегне заобикаляне на проверки от същия произход. Използването на домейни от първо ниво като azurewebsites.net е строго забранено. Среден Защита
Уеб ресурси web-sdl-no-document-write Обажданията към document.write или document.writeln манипулират DOM директно без никаква санитизация и трябва да се избягват. Вместо това използвайте document.createElement() или подобни методи. Среден Защита
Уеб ресурси web-sdl-no-html-method Директните повиквания към метода html() често (например в jQuery framework) манипулират DOM без никаква санитизация и трябва да се избягват. Вместо това използвайте document.createElement() или подобни методи. Среден Защита
Уеб ресурси web-sdl-no-inner-html Присвояванията на innerHTML или outerHTML свойства манипулират DOM директно без никаква санитизация и трябва да се избягват. Вместо това използвайте document.createElement() или подобни методи. Среден Защита
Уеб ресурси web-sdl-no-insecure-url Несигурните протоколи, като HTTP или FTP, трябва да бъдат заменени с техните шифровани варианти (HTTPS, FTPS), за да се избегне изпращането на потенциално чувствителни данни през ненадеждни мрежи като нешифрован текст. Среден Защита
Уеб ресурси web-sdl-no-msapp-exec-unsafe Извикванията на MSApp.execUnsafeLocalFunction() заобикалят проверката за инжектиране на скриптове и трябва да се избягват. Среден Защита
Уеб ресурси web-sdl-no-postmessage-star-origin Винаги посочвайте конкретен целеви произход, а не *, когато изпращате данни до други прозорци с postMessage, за да избегнете изтичане на данни извън границите на доверие. Среден Защита
Уеб ресурси web-sdl-no-winjs-html-unsafe Обажданията към WinJS.Utilities.setInnerHTMLUnsafe () и подобни методи не извършват никакво валидиране на входа и трябва да се избягват. Вместо това използвайте WinJS.Utilities.setInnerHTML (). Среден Защита
Приложение на платно приложение-формула-въпроси-високо Вижте препратките за формули на Power Apps за допълнителни подробности. Критично Проектиране
Приложение на платно приложение-формула-въпроси-среда Вижте препратките за формули на Power Apps за допълнителни подробности. Среден Проектиране
Приложение на платно приложение-формула-въпроси-ниско Вижте препратките за формули на Power Apps за допълнителни подробности. Ниска Проектиране
Приложение на платно приложение-използване-забавянеизход-текст-вход Използвайте забавено натоварване в някои сценарии, за да подобрите производителността. Среден Производителност
Приложение на платно app-reduce-screen-controls Ограничете броя на контролите за приложения за подобрена производителност. Среден Производителност
Приложение на платно приложение-включва-достъпен-етикет Използвайте явни етикети, за да подобрите достъпността на приложенията. Среден Достъпност
Приложение на платно приложение-включване-алтернатива-въвеждане Уверете се, че всички интерактивни елементи са достъпни за алтернативни входове. Среден Достъпност
Приложение на платно автоматично стартиране на приложение за избягване на приложения Избягвайте да използвате автоматично стартиране на плейъри в приложение. Среден Достъпност

Вижте също

Най-добри практики и насоки за Dataverse
Най-добрите практики и насоки за базирани на модел приложения
Ощи проблеми и решения за инструмента за проверка на решения

Бележка

Можете ли да ни споделите повече за езиковите си предпочитания за документацията? Попълнете кратко проучване. (имайте предвид, че това проучване е на английски език)

Проучването ще отнеме около седем минути. Не се събират лични данни (декларация за поверителност).