Tingkatkan kinerja, stabilitas, dan keandalan komponen dengan pemeriksa solusi

Untuk memenuhi persyaratan bisnis yang kompleks, pembuat sering dapat berakhir dengan solusi yang sangat canggih yang Microsoft Dataverse menyesuaikan dan memperluas platform. Bersama implementasi lanjutan ada peningkatan risiko di mana ada masalah performa, stabilitas, dan keandalan, yang dapat mempengaruhi negatif pengalaman pengguna. Mengidentifikasi dan memahami bagaimana untuk menangani masalah ini dapat menjadi rumit dan memakan waktu. Dengan fitur pemeriksa solusi, Anda dapat melakukan pemeriksaan analisis statis kaya pada solusi Anda terhadap rangkaian aturan praktik terbaik dan dengan cepat mengidentifikasi pola masalah ini. Setelah menyelesaikan pemeriksaan, Anda menerima laporan terperinci yang menampilkan identifikasi masalah, komponen dan kode yang terpengaruh, dan tautan ke dokumentasi yang menjelaskan cara untuk mengatasi masing-masing masalah.

Pemeriksa solusi menganalisis komponen solusi ini:

  • Info Aktivitas Alur Kerja Kustom Dataverse
  • Sumber daya web (HTML dan JavaScript) Dataverse
  • Konfigurasi Dataverse, seperti langkah pesan SDK
  • Power Automate Alur (melalui Pemeriksa Aliran)
  • Power Fx Ekspresi (melalui pemeriksa aplikasi)

Pemeriksa solusi berfungsi dengan solusi tidak terkelola yang dapat diekspor dari lingkungan.

Catatan

  • Topik ini menjelaskan cara menjalankan Pemeriksa solusi dari portal pembuat Power Apps. Modul PowerShell juga tersedia yang dapat Anda gunakan untuk berinteraksi langsung dengan layanan. Modul Microsoft.PowerApps.checker.PowerShell dapat digunakan untuk analisis solusi tidak terkelola untuk lingkungan Power Apps, atau untuk mengotomatiskan dan mengintegrasikan layanan ke alur model dan rilis Anda. Informasi selengkapnya: Microsoft.PowerApps. Gambaran Umum Checker.PowerShell
  • Solution Checker mendukung variabel global untuk sintaks ECMAScript 2015 (ES6) dan hingga ECMAScript 2018 (ES9). Bila JavaScript terdeteksi menggunakan variabel global setelah ES6, atau sintaksis lebih dari ES9, masalah sintaks web yang tidak didukung untuk sumber daya web dilaporkan.
  • Penggunaan pemeriksa solusi tidak menjamin bahwa impor solusi akan berhasil. Pemeriksaan analisis statis yang dilakukan terhadap solusi tidak mengetahui status dikonfigurasi dari lingkungan tujuan dan keberhasilan impor mungkin tergantung pada solusi atau konfigurasi lain di lingkungan.

Jalankan pemeriksa solusi

  1. Masuk ke Power Apps.

  2. Di panel kiri, pilih Solusi. Jika item tidak ada di panel pada panel sisi, pilih …Lainnya, lalu pilih item yang diinginkan.

  3. Di sebelah solusi tidak terkelola yang akan dianalisis, pilih ..., arahkan penunjuk ke pemeriksa solusi, lalu pilih menjalankan.

    Jalankan perintah pemeriksa solusi.

  4. Tombol perintah pemeriksa Solusi memiliki indikator pemuatan, dan Anda akan melihat ... di kolom pemeriksaan solusi daftar solusi.

    Status pemeriksa solusi.

    Berikut adalah hal-hal yang perlu diketahui:

    • Pemeriksa solusi memerlukan waktu beberapa menit untuk menyelesaikan analisis.

    • Anda akan menerima email pemberitahuan dan pemberitahuan di area pemberitahuan situs Power Apps ketika pemeriksaan selesai.

  5. Lihat laporan ketika pemeriksaan selesai.

Membatalkan pemeriksaan

Setelah Anda mengajukan pemeriksaan solusi di lingkungan Anda, pemeriksaan dapat dibatalkan melalui panel status di bagian kanan atas halaman solusi.

Bila Anda membatalkan pemeriksaan, pemeriksaan solusi berhenti dijalankan dan status memeriksa solusi kembali ke kondisi sebelumnya.

Status pemeriksa solusi

Saat Anda menginstal pemeriksa solusi di lingkungan Anda, Kolom pemeriksaan solusi menjadi tersedia di daftar solusi. Kolom ini menampilkan status analisis solusi untuk solusi.

Status Keterangan
Belum dijalankan Solusi belum pernah dianalisis.
Berjalan Solusi sedang dianalisis.
Tidak dapat diselesaikan Analisis solusi diminta, namun analisis tidak berhasil diselesaikan.
Hasil per tanggal dan waktu Analisis solusi selesai dan hasil tersedia untuk diunduh.
Tidak dapat diselesaikan. Hasil per tanggal dan waktu Permintaan analisis terbaru tidak berhasil diselesaikan. Hasil berhasil terakhir dapat diunduh.
Diperiksa oleh Microsoft Ini adalah solusi terkelola Microsoft. Analisis solusi tidak diizinkan di solusi ini.
Diperiksa oleh Penerbit Ini adalah solusi terkelola pihak ketiga. Saat ini, analisis solusi tidak tersedia untuk solusi ini.

Tinjau laporan pemeriksa solusi

Bila pemeriksaan solusi selesai, Anda dapat melihat laporan analisis di portal atau Anda dapat mengunduh laporan dari browser web Anda. Di portal, Anda memiliki opsi untuk mengurutkan hasil berdasarkan Masalah, Lokasi , atau Tingkat Keparahan dan melihat informasi terperinci untuk masalah yang terdeteksi dalam solusi Anda.

  1. Di panel kiri, pilih Solusi. Jika item tidak ada di panel pada panel sisi, pilih …Lainnya, lalu pilih item yang diinginkan.

  2. Di sebelah solusi tidak terkelola tempat Anda ingin melihat laporan pemeriksa solusi, pilih ..., arahkan penunjuk ke pemeriksa solusi, lalu pilih lihat hasil.

  3. Pilih masalah untuk melihat detail dan panduan tentang cara mengatasinya.

    Hasil tampilan pemeriksa solusi.

Hasil pemeriksaan solusi juga tersedia untuk diunduh. File zip pemeriksa solusi akan diunduh ke folder yang ditentukan oleh web browser. Laporan pengunduhan ada dalam format Excel dan berisi beberapa visualisasi dan kolom yang membantu Anda mengidentifikasi dampak, jenis, dan lokasi setiap masalah yang terdeteksi dalam solusi. Tautan ke panduan rinci tentang cara untuk menangani masalah juga tersedia.

  1. Di panel kiri, pilih Solusi. Jika item tidak ada di panel pada panel sisi, pilih …Lainnya, lalu pilih item yang diinginkan.
  2. Di sebelah solusi tidak terkelola tempat Anda ingin mengunduh laporan pemeriksa solusi, pilih ..., arahkan penunjuk ke pemeriksa solusi, lalu pilih Unduh hasil.
  3. File zip pemeriksa solusi akan diunduh ke folder yang ditentukan oleh web browser.

Berikut adalah ringkasan setiap kolom dalam laporan.

Kolom laporan KETERANGAN Berlaku untuk komponen
Masalah Judul masalah yang diidentifikasi dalam solusi. Semua
Kategori Kategorisasi masalah yang diidentifikasi, seperti Performa, Pemeliharaan, Penggunaan, Dukungan, Desain, Keamanan, Aksesibilitas, atau Kesiapan peningkatan. Semua
Keparahan Mewakili kemungkinan dampak masalah yang diidentifikasi. Jenis dampak yang tersedia adalah Kritis, Tinggi, Sedang, Rendah, dan Informasi. Semua
Panduan Link ke artikel yang merinci masalah, dampak, dan tindakan yang disarankan. Semua
Komponen Komponen solusi tempat masalah ini diidentifikasi. Semua
Location Lokasi dan/atau file sumber komponen tempat masalah diidentifikasi terjadi, seperti rakitan atau nama file JavaScript. Semua
# Baris Referensi nomor baris dari masalah dalam komponen sumber daya web terdampak. Sumber daya web
Modul Nama modul tempat masalah yang diidentifikasi dalam rakitan terdeteksi. Aktivitas Alur Kerja Kustom
Tipe Jenis masalah yang teridentifikasi dalam rakitan. Aktivitas Alur Kerja Kustom
Anggota Anggota masalah yang teridentifikasi dalam rakitan. Aktivitas Alur Kerja Kustom
Pernyataan Konfigurasi atau pernyataan kode yang mengakibatkan masalah. Semua
Komentar Rincian tentang masalah yang mencakup langkah-langkah resolusi tingkat tinggi. Semua

Menjalankan aturan pemeriksa solusi secara lokal

Anda dapat menjalankan aturan pemeriksa solusi di lingkungan pengembangan untuk mendeteksi masalah lebih cepat setelah membuat sumber daya solusi. Ini saat ini didukung untuk sumber daya web. (JavaScript dan TypeScript). Untuk detail selengkapnya, buka paket @microsoft/eslint-plugin-power-apps NPM.

Aturan praktik terbaik yang digunakan oleh pemeriksa solusi

Tabel berikut mencantumkan jenis komponen, deskripsi aturan, tingkat keparahan, dan kategori. Pelanggaran kritis diblokir atau diperingatkan saat dikonfigurasi untuk penegakan pemeriksa solusi dengan lingkungan terkelola. Informasi selengkapnya: Menggunakan pemeriksa solusi di Lingkungan Terkelola

Komponen Solusi Nama aturan Keterangan aturan Keparahan Kategori
Plugin atau Aktivitas Alur Kerja meta-remove-dup-reg Hindari duplikasi pendaftaran plug-in Dataverse. Penting Kinerja
Plugin atau Aktivitas Alur Kerja meta-avoid-reg-no-attribute Sertakan atribut pemfilteran dengan pendaftaran plug-in Dataverse. Sedang Kinerja
Plugin atau Aktivitas Alur Kerja meta-avoid-reg-retrieve Hati-hati dengan plug-in Dataverse yang terdaftar untuk pesan Retrieve dan RetrieveMultiple. Sedang Kinerja
Plugin atau Aktivitas Alur Kerja meta-remove-inactive Hapus Konfigurasi Tidak Aktif di Dataverse. Kurang Penting Pemeliharaan
Plugin atau Aktivitas Alur Kerja meta-avoid-crm4-event Jangan gunakan tahapan pendaftaran plugin Microsoft Dynamics CRM 4.0. Sedang Kesiapan peningkatan
Plugin atau Aktivitas Alur Kerja meta-avoid-retrievemultiple-annotation Jangan mendaftar plugin di RetrieveMultiple anotasi. Sangat Penting Penggunaan
Aplikasi yang diarahkan model meta-lisensi-penjualan-entitas-operasi Solusi berisi entitas dengan pesan SDK terbatas dan operasi yang memerlukan lisensi Dynamics 365 yang valid. Kurang Penting Lisensi
Aplikasi yang diarahkan model meta-lisensi-fieldservice-customcontrols Solusi berisi kontrol kustom yang memerlukan lisensi yang valid Dynamics 365 Field Service . Kurang Penting Lisensi
Aplikasi yang diarahkan model meta-license-fieldservice-entity-operations Solusi berisi entitas dengan pesan SDK terbatas dan operasi yang memerlukan lisensi yang valid Dynamics 365 Field Service . Kurang Penting Lisensi
Sumber Daya Web use-async Berinteraksi dengan sumber daya HTTP dan HTTPS secara asinkron. Penting Kinerja
Sumber Daya Web avoid-modals Hindari penggunaan dialog modal. Sangat Penting Dukungan
Sumber Daya Web avoid-dom-form Sangat Penting Dukungan
Sumber Daya Web avoid-dom-form-event Sangat Penting Dukungan
Sumber Daya Web avoid-crm2011-service-odata Jangan menargetkan titik akhir Microsoft Dynamics CRM 2011 OData 2.0. Penting Kesiapan peningkatan
Sumber Daya Web avoid-crm2011-service-soap Tidak menargetkan layanan Microsoft Dynamics CRM 2011 SOAP. Penting Kesiapan peningkatan
Sumber Daya Web hindari-loadtheme Jangan gunakan loadTheme API Fluent v8. Kurang Penting Dukungan
Sumber Daya Web avoid-browser-specific-api Jangan gunakan API lama atau browser plug-in Internet Explorer. Penting Kesiapan peningkatan
Sumber Daya Web avoid-unpub-api Sangat Penting Dukungan
Sumber Daya Web avoid-window-top Sangat Penting Dukungan
Sumber Daya Web avoid-2011-api Jangan gunakan model objek Microsoft Dynamics CRM 2011 yang ditolak. Melainkan, ikuti dokumentasi Web API Dataverse. Sangat Penting Kesiapan peningkatan
Sumber Daya Web use-relative-uri Jangan gunakan URL titik akhir Dataverse absolut. Sedang Pemeliharaan
Sumber Daya Web use-cached-webresource Sedang Kinerja
Sumber Daya Web use-client-context Gunakan konteks klien. Sedang Kesiapan peningkatan
Sumber Daya Web use-navigation-api Gunakan parameter API navigasi. Sedang Kesiapan peningkatan
Sumber Daya Web use-offline Sedang Kesiapan peningkatan
Sumber Daya Web do-not-make-parent-assumption Sangat Penting Desain
Sumber Daya Web use-org-setting Gunakan Pengaturan Organisasi. Sedang Kesiapan peningkatan
Sumber Daya Web use-global-context Sedang Kesiapan peningkatan
Sumber Daya Web use-grid-api Gunakan API kisi. Sedang Kesiapan peningkatan
Sumber Daya Web use-utility-dialogs Sedang Penggunaan
Sumber Daya Web avoid-isActivityType Ganti metode Xrm.Utility.isActivityType dengan Xrm.Utility.gettableMetadata baru dan jangan digunakan dalam aturan ribbon. Sedang Kesiapan peningkatan
Sumber Daya Web meta-avoid-silverlight Penggunaan Sumber daya web Silverlight ditolak. Sedang Kesiapan peningkatan
Sumber Daya Web remove-debug-script Jangan menyertakan skrip debug di lingkungan non-pengembangan. Sedang Penggunaan
Sumber Daya Web gunakan-ketat-mode Gunakan mode ketat bila memungkinkan. Sedang Penggunaan
Sumber Daya Web gunakan-ketat-kesetaraan-operator Gunakan operator kesetaraan yang ketat. Sedang Penggunaan
Sumber Daya Web hindari-eval Jangan gunakan fungsi ' eval ' atau fungsional yang setara. Penting Keamanan
Sumber Daya Web hindari-dengan Jangan gunakan operator 'dengan'. Sangat Penting Kinerja
Sumber Daya Web hapus-peringatan Jangan gunakan fungsi 'peringatan' atau fungsi lain yang setara. Sedang Penggunaan
Sumber Daya Web Hapus konsol Hindari penggunaan metode pada konsol. Sedang Penggunaan
Sumber Daya Web avoid-ui-refreshribbon Hindari penggunaan refreshRibbon dalam form onload dan EnableRule. Penting Kinerja
Sumber Daya Web use-getsecurityroleprivilegesinfo Hindari userSettings.securityRolePrivileges. Tetapi gunakan userSettings.getSecurityRolePrivilegesInfo. Sangat Penting Kinerja
Sumber Daya Web use-appsidepane-api Gunakan Xrm.App.sidePanes.createPane alih-alih Xrm.Panels.loadPanel. Sedang Kesiapan peningkatan
Sumber Daya Web web-sdl-no-cookies Cookie HTTP adalah mekanisme penyimpanan sisi klien lama dengan risiko dan batasan yang melekat. Gunakan Penyimpanan Web, IndexedDB, atau metode modern lainnya sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-no-document-domain Properti menulis ke document.domain harus ditinjau untuk menghindari bypass pemeriksaan asal yang sama. Penggunaan domain tingkat atas seperti azurewebsites.net sangat dilarang. Sedang Keamanan
Sumber Daya Web web-sdl-no-document-write Panggilan ke document.write atau document.writeln memanipulasi DOM secara langsung tanpa sanitasi dan harus dihindari. Gunakan document.createElement() atau metode serupa sebagai gantinya. Sedang Keamanan
Sumber Daya Web metode web-sdl-no-html Panggilan langsung ke metode html() sering (misalnya dalam kerangka jQuery) memanipulasi DOM tanpa sanitasi dan harus dihindari. Gunakan document.createElement() atau metode serupa sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-tidak-dalam-html Penugasan ke properti innerHTML atau outerHTML memanipulasi DOM secara langsung tanpa sanitasi dan harus dihindari. Gunakan document.createElement() atau metode serupa sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-no-insecure-url Protokol tidak aman seperti HTTP atau FTP harus diganti dengan bagian terenkripsi (HTTPS, FTPS) untuk menghindari pengiriman data yang berpotensi sensitif melalui jaringan yang tidak tepercaya dalam teks biasa. Sedang Keamanan
Sumber Daya Web web-sdl-no-msapp-exec-tidak aman Panggilan ke MSApp.execUnsafeLocalFunction() melewati validasi injeksi skrip dan harus dihindari. Sedang Keamanan
Sumber Daya Web web-sdl-no-postmessage-star-origin Selalu berikan asal target yang spesifik, bukan * saat mengirimkan data ke jendela lain menggunakan postMessage untuk menghindari kebocoran data di luar batas kepercayaan. Sedang Keamanan
Sumber Daya Web web-sdl-no-winjs-html-tidak aman Panggilan ke WinJS.Utilities.setInnerHTMLUnsafe() dan metode serupa tidak melakukan validasi input dan harus dihindari. Gunakan WinJS.Utilities.setInnerHTML() sebagai gantinya. Sedang Keamanan
Aplikasi Kanvas app-formula-masalah-tinggi Lihat referensi rumus Power Apps untuk rincian tambahan. Penting Desain
Aplikasi Kanvas app-formula-issues-medium Lihat referensi rumus Power Apps untuk rincian tambahan. Sedang Desain
Aplikasi Kanvas app-formula-masalah-rendah Lihat referensi rumus Power Apps untuk rincian tambahan. Kurang Penting Desain
Aplikasi Kanvas app-use-delayoutput-text-input Gunakan beban tertunda dalam beberapa skenario untuk meningkatkan kinerja. Sedang Kinerja
Aplikasi Kanvas app-reduce-screen-controls Batasi jumlah kontrol aplikasi untuk peningkatan performa. Sedang Kinerja
Aplikasi Kanvas app-include-accessible-label Gunakan label eksplisit untuk meningkatkan aksesibilitas aplikasi. Sedang Aksesibilitas
Aplikasi Kanvas app-include-alternative-input Pastikan semua elemen interaktif dapat diakses dengan input alternatif. Sedang Aksesibilitas
Aplikasi Kanvas app-hindari-mulai otomatis Jangan gunakan autostart pada pemain dalam aplikasi. Sedang Aksesibilitas

Baca juga

Praktik terbaik dan panduan untuk Dataverse
Praktik terbaik dan panduan untuk aplikasi berdasarkan model
Masalah umum dan resolusi untuk pemeriksa solusi

Catatan

Apa bahasa dokumentasi yang Anda inginkan? Lakukan survei singkat. (perlu diketahui bahwa survei ini dalam bahasa Inggris)

Survei akan berlangsung kurang lebih selama tujuh menit. Tidak ada data pribadi yang dikumpulkan (pernyataan privasi).