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
Masuk ke Power Apps.
Di panel kiri, pilih Solusi. Jika item tidak ada di panel pada panel sisi, pilih …Lainnya, lalu pilih item yang diinginkan.
Di sebelah solusi tidak terkelola yang akan dianalisis, pilih ..., arahkan penunjuk ke pemeriksa solusi, lalu pilih menjalankan.
Tombol perintah pemeriksa solusi memiliki indikator pemuatan, dan Anda akan melihat Running ... di kolom pemeriksaan solusi daftar 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.
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.
Di panel kiri, pilih Solusi. Jika item tidak ada di panel pada panel sisi, pilih …Lainnya, lalu pilih item yang diinginkan.
Di sebelah solusi tidak terkelola tempat Anda ingin melihat laporan pemeriksa solusi, pilih ..., arahkan penunjuk ke pemeriksa solusi, lalu pilih lihat hasil.
Pilih masalah untuk melihat detail dan panduan tentang cara mengatasinya.
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.
- Di panel kiri, pilih Solusi. Jika item tidak ada di panel pada panel sisi, pilih …Lainnya, lalu pilih item yang diinginkan.
- Di sebelah solusi tidak terkelola tempat Anda ingin mengunduh laporan pemeriksa solusi, pilih ..., arahkan penunjuk ke pemeriksa solusi, lalu pilih Unduh hasil.
- 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).