Tingkatkan kinerja, stabilitas, dan keandalan komponen dengan pemeriksa solusi

Untuk memenuhi persyaratan bisnis yang kompleks, pembuat sering kali dapat berakhir dengan solusi yang sangat canggih yang menyesuaikan dan memperluas Microsoft Dataverse 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 Aliran (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 lebih lanjut: 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 Running ... 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 berdasarkan 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 Kinerja, Perawatan, 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 lebih lanjut: 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 Peningkatan kesiapan
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 dan operasi SDK terbatas 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-lisensi-fieldservice-entitas-operasi Solusi berisi entitas dengan pesan dan operasi SDK terbatas 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 Peningkatan kesiapan
Sumber Daya Web avoid-crm2011-service-soap Tidak menargetkan layanan Microsoft Dynamics CRM 2011 SOAP. Penting Peningkatan kesiapan
Sumber Daya Web ahindari-loadtema 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 Peningkatan kesiapan
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 Peningkatan kesiapan
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 Peningkatan kesiapan
Sumber Daya Web use-navigation-api Gunakan parameter API navigasi. Sedang Peningkatan kesiapan
Sumber Daya Web use-offline Sedang Peningkatan kesiapan
Sumber Daya Web do-not-make-parent-assumption Sangat Penting Desain
Sumber Daya Web use-org-setting Gunakan Pengaturan Organisasi. Sedang Peningkatan kesiapan
Sumber Daya Web use-global-context Sedang Peningkatan kesiapan
Sumber Daya Web use-grid-api Gunakan API kisi. Sedang Peningkatan kesiapan
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 Peningkatan kesiapan
Sumber Daya Web meta-avoid-silverlight Penggunaan Sumber daya web Silverlight ditolak. Sedang Peningkatan kesiapan
Sumber Daya Web remove-debug-script Jangan menyertakan skrip debug di lingkungan non-pengembangan. Sedang Penggunaan
Sumber Daya Web mode penggunaan ketat Gunakan mode ketat bila memungkinkan. Sedang Penggunaan
Sumber Daya Web menggunakan operator kesetaraan yang ketat Gunakan operator kesetaraan yang ketat. Sedang Penggunaan
Sumber Daya Web menghindari-eval Jangan gunakan fungsi ' eval ' atau fungsional yang setara. Penting Keamanan
Sumber Daya Web menghindari-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 gunakan-appsidepane-api Gunakan Xrm.App.sidePanes.createPane alih-alih Xrm.Panels.loadPanel. Sedang Peningkatan kesiapan
Sumber Daya Web web-sdl-tanpa cookie Cookie HTTP adalah mekanisme penyimpanan sisi klien lama dengan risiko dan keterbatasan yang melekat. Gunakan Penyimpanan Web, IndexedDB, atau metode modern lainnya sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-tanpa dokumen-domain Penulisan ke properti 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-dokumen-tulis Panggilan ke document.write atau document.writeln memanipulasi DOM secara langsung tanpa sanitasi apa pun dan harus dihindari. Gunakan document.createElement() atau metode serupa sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-no-html-metode Panggilan langsung ke metode html() sering (misalnya dalam kerangka kerja jQuery) memanipulasi DOM tanpa sanitasi dan harus dihindari. Gunakan document.createElement() atau metode serupa sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-no-dalam-html Penetapan ke properti innerHTML atau outerHTML memanipulasi DOM secara langsung tanpa sanitasi apa pun dan harus dihindari. Gunakan document.createElement() atau metode serupa sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-tidak aman-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-postpesan-bintang-asal 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 apa pun dan harus dihindari. Gunakan WinJS.Utilities.setInnerHTML() sebagai gantinya. Sedang Keamanan
Aplikasi Kanvas isu-rumus aplikasi-tinggi Lihat referensi rumus Power Apps untuk rincian tambahan. Penting Desain
Aplikasi Kanvas aplikasi-formula-masalah-media Lihat referensi rumus Power Apps untuk rincian tambahan. Sedang Desain
Aplikasi Kanvas aplikasi-formula-masalah-rendah Lihat referensi rumus Power Apps untuk rincian tambahan. Kurang Penting Desain
Aplikasi Kanvas aplikasi-penggunaan-penundaanoutput-masukan teks Gunakan beban tertunda dalam beberapa skenario untuk meningkatkan kinerja. Sedang Kinerja
Aplikasi Kanvas kontrol layar peredakan aplikasi 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 masukan alternatif aplikasi Pastikan semua elemen interaktif dapat diakses dengan input alternatif. Sedang Aksesibilitas
Aplikasi Kanvas aplikasi-hindari-autostart 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).