Bagikan melalui


Meningkatkan kinerja, stabilitas, dan keandalan solusi

Solusi digunakan untuk mendistribusikan Power Platform objek, seperti aplikasi, tabel, alur, sumber daya web, dan plugin. Artikel ini memperkenalkan fitur pemeriksa solusi, alat canggih yang melakukan analisis statis komprehensif dari objek solusi Anda terhadap serangkaian aturan praktik terbaik. Dengan menggunakan pemeriksa solusi, Anda dapat dengan cepat mengidentifikasi pola bermasalah dalam komponen Anda dan menerima laporan terperinci yang menyoroti masalah, komponen yang terpengaruh, dan menyediakan tautan ke dokumentasi tentang cara menyelesaikan setiap masalah. Ini memastikan solusi Anda dioptimalkan untuk kinerja, stabilitas, dan keandalan.

Contoh hasil dan detail pemeriksa solusi

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

Anda dapat menjalankan pemeriksa solusi baik dari( Power Apps make.powerapps.com) atau dengan menggunakan PowerShell.

Bagaimana pemeriksa solusi membantu Anda

Untuk memenuhi persyaratan bisnis yang kompleks, pembuat seringkali dapat berakhir dengan solusi yang sangat canggih yang menyesuaikan dan memperluas Power 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 dalam hitungan detik pada solusi Anda, yang menggunakan seperangkat aturan praktik terbaik untuk mengidentifikasi pola yang bermasalah dengan cepat. Setelah pemeriksaan selesai, Anda menerima laporan terperinci serta Power Apps dalam pesan email yang mencantumkan masalah yang diidentifikasi, komponen dan kode yang terpengaruh, dan tautan ke dokumentasi yang menjelaskan cara menyelesaikan setiap 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)

Catatan

  • 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 lingkungan tujuan yang dikonfigurasi dan keberhasilan impor mungkin bergantung pada solusi atau konfigurasi lain di lingkungan.

Jalankan pemeriksa solusi

  1. Masuk Power Apps.

  2. Di panel kiri, pilih Solusi. Jika item tidak ada di panel panel samping, pilih ... Lebih banyak dan kemudian pilih item yang Anda inginkan.

  3. Di samping solusi tidak terkelola yang ingin Anda analisis, pilih ..., arahkan ke Pemeriksa solusi, lalu pilih Jalankan.

    Jalankan perintah pemeriksa solusi.

  4. Tombol perintah Pemeriksa solusi memiliki indikator pemuatan, dan Anda akan melihat Running ... status di kolom Pemeriksaan solusi dari daftar Solusi .

Status pemeriksa solusi

Catatan

  • Pemeriksa solusi memerlukan waktu beberapa menit untuk menyelesaikan analisis.
  • Anda akan menerima pemberitahuan email dan pemberitahuan di area Pemberitahuan Power Apps situs saat pemeriksaan selesai.
  1. Lihat laporan saat pemeriksaan selesai.

Membatalkan pemeriksaan

Setelah Anda mengirimkan pemeriksaan solusi di lingkungan Anda, pemeriksaan dapat dibatalkan melalui panel status di area 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 pada tanggal dan waktu Analisis solusi selesai dan hasil tersedia untuk diunduh.
Tidak dapat diselesaikan. Hasil pada 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 non-Microsoft. 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 panel samping, pilih ... Lebih banyak dan kemudian pilih item yang Anda inginkan.

  2. Di samping solusi yang tidak dikelola tempat Anda ingin melihat laporan pemeriksa solusi, pilih ..., arahkan ke Pemeriksa solusi, lalu pilih Tampilkan hasil.

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

    Contoh hasil pemeriksa solusi dan detail menelusuri

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

  1. Di panel kiri, pilih Solusi. Jika item tidak ada di panel panel samping, pilih ... Lebih banyak dan kemudian pilih item yang Anda inginkan.
  2. Di samping solusi yang tidak dikelola tempat Anda ingin mengunduh laporan pemeriksa solusi, pilih ..., arahkan kursor 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, 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 NPM@microsoft/eslint-plugin-power-apps.

Jalankan pemeriksa solusi menggunakan PowerShell

Modul PowerShell 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

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-menghapus-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-menghindari-reg-mengambil Hati-hati dengan plug-in Dataverse yang terdaftar untuk pesan Retrieve dan RetrieveMultiple. Sedang Kinerja
Plugin atau Aktivitas Alur Kerja meta-hapus-tidak aktif Hapus Konfigurasi Tidak Aktif di Dataverse. Kurang Penting Pemeliharaan
Plugin atau Aktivitas Alur Kerja meta-menghindari-crm4-peristiwa Jangan gunakan tahapan pendaftaran plugin Microsoft Dynamics CRM 4.0. Sedang Kesiapan pemutakhiran
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-license-fieldservice-customcontrols Solusi berisi kontrol kustom yang memerlukan lisensi yang valid Dynamics 365 Field Service . Kurang Penting Lisensi
Aplikasi yang diarahkan model meta-lisensi-layanan-lapangan-operasi-entitas 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 menghindari modal Hindari penggunaan dialog modal. Sangat Penting Dukungan
Sumber Daya Web hindari-dom-bentuk Sangat Penting Dukungan
Sumber Daya Web hindari-dom-bentuk-peristiwa Sangat Penting Dukungan
Sumber Daya Web hindari-crm2011-layanan-odata Jangan menargetkan titik akhir Microsoft Dynamics CRM 2011 OData 2.0. Penting Kesiapan pemutakhiran
Sumber Daya Web hindari-crm2011-layanan-sabun Tidak menargetkan layanan Microsoft Dynamics CRM 2011 SOAP. Penting Kesiapan pemutakhiran
Sumber Daya Web avoid-loadtema Jangan gunakan loadTheme API Fluent v8. Kurang Penting Dukungan
Sumber Daya Web hindari-browser-spesifik-api Jangan gunakan API lama atau browser plug-in Internet Explorer. Penting Kesiapan pemutakhiran
Sumber Daya Web hindari-unpub-api Sangat Penting Dukungan
Sumber Daya Web hindari-jendela-atas Sangat Penting Dukungan
Sumber Daya Web Hindari-2011-API Jangan gunakan model objek Microsoft Dynamics CRM 2011 yang ditolak. Sebagai gantinya, ikuti Dataverse dokumentasi Web API . Sangat Penting Kesiapan pemutakhiran
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 penggunaan-konteks klien Gunakan konteks klien. Sedang Kesiapan pemutakhiran
Sumber Daya Web use-navigation-api Gunakan parameter API navigasi. Sedang Kesiapan pemutakhiran
Sumber Daya Web use-offline Sedang Kesiapan pemutakhiran
Sumber Daya Web jangan-buat-asumsi orang tua Sangat Penting Desain
Sumber Daya Web menggunakan-pengaturan organisasi Gunakan Pengaturan Organisasi. Sedang Kesiapan pemutakhiran
Sumber Daya Web use-global-context Sedang Kesiapan pemutakhiran
Sumber Daya Web use-grid-api Gunakan API kisi. Sedang Kesiapan pemutakhiran
Sumber Daya Web dialog utilitas-penggunaan 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 pemutakhiran
Sumber Daya Web meta-hindari-silverlight Penggunaan Sumber daya web Silverlight ditolak. Sedang Kesiapan pemutakhiran
Sumber Daya Web hapus-debug-script Hindari 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 penggunaan-ketat-kesetaraan-operator Gunakan operator kesetaraan yang ketat. Sedang Penggunaan
Sumber Daya Web menghindari-eval Jangan gunakan eval fungsi atau fungsionalnya 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 menghapus-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, bukan Xrm.Panels.loadPanel. Sedang Kesiapan pemutakhiran
Sumber Daya Web web-sdl-no-cookie Cookie HTTP adalah mekanisme penyimpanan sisi klien lama dengan risiko dan keterbatasan yang melekat. Gunakan Web Storage, IndexedDB, atau metode modern lainnya sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-no-document-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-tidak-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-method Panggilan langsung ke metode html() sering (misalnya, dalam kerangka kerja jQuery) memanipulasi DOM tanpa sanitasi apa pun dan harus dihindari. Gunakan document.createElement() atau metode serupa sebagai gantinya. Sedang Keamanan
Sumber Daya Web web-sdl-no-inner-html Penugasan 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-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-unsafe 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-unsafe 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 aplikasi-rumus-masalah-tinggi-tinggi Buka Power Apps referensi rumus untuk detail tambahan. Penting Desain
Aplikasi Kanvas aplikasi-rumus-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-teks-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 aplikasi-sertakan-input-alternatif- Pastikan semua elemen interaktif dapat diakses dengan input alternatif. Sedang Aksesibilitas
Aplikasi Kanvas aplikasi-hindari-mulai otomatis Jangan gunakan autostart pada pemain dalam aplikasi. Sedang Aksesibilitas
Alur Desktop desktopflow-hindari-sandi yang tidak aman Kata sandi dikelola dengan tidak aman di alur. Sangat Penting Keamanan
Alur Desktop desktopflow-avoid-subflow-rekursi Panggilan berulang terdeteksi di antara sub-alur, berpotensi menyebabkan perulangan tak terbatas. Sedang Desain
Alur Desktop desktopflow-avoid-infinite-loop Perulangan tak terhingga terdeteksi di dalam alur, berpotensi berjalan tanpa batas. Sedang Desain
Alur Desktop desktopflow-hindari-tidak lengkap-jika-cabang Tindakan If tidak selesai terdeteksi, kurang konten atau hanya berisi tindakan di cabang Else. Kurang Penting Desain
Alur Desktop desktopflow-avoid-excessive-nested-ifs Klausa Nested If melebihi lima level. Kurang Penting Pemeliharaan
Alur Desktop desktopflow-avoid-empty-on-error-block Tindakan "Kesalahan pada blok" kosong dan kesalahan tidak tertangani. Kurang Penting Desain
Alur Desktop desktopflow-limit-argumen-count Total variabel input/output melebihi batas 25 variabel. Kurang Penting Pemeliharaan
Alur Desktop desktopflow-input-argument-default-value Variabel input/output tidak menggunakan nilai default. Kurang Penting Pemeliharaan
Alur Desktop desktopflow-limit-variabel-nama-panjang Nama variabel melebihi batas 25 karakter. Kurang Penting Pemeliharaan
Alur Desktop desktopflow-avoid-excessive-wait-actions Penyalahgunaan tindakan tunggu terdeteksi, lebih dari 10 di antaranya berpotensi menyebabkan hambatan. Kurang Penting Kinerja
Alur Desktop desktopflow-hindari-durasi tunggu yang luar biasa Waktu tunggu yang sangat lama terdeteksi, melebihi batas 600 detik untuk tindakan menunggu hardcode. Kurang Penting Kinerja

Baca juga

Praktik dan panduan terbaik untuk Dataverse
Praktik terbaik dan panduan untuk aplikasi berbasis model
Masalah umum dan resolusi untuk Pemeriksa Solusi