Çözüm denetleyicisiyle bileşen performansını, kararlılığını ve güvenilirliğini artırma
Üreticiler genellikle karmaşık iş gereksinimlerini karşılamak için Microsoft Dataverse platformunu özelleştiren ve genişleten son derece gelişmiş çözümler kullanır. Gelişmiş uygulamalar performans, stabilite ve güvenilirlik sorunlarının oluşmasına neden olabilecek riskleri artırır. Bu durum kullanıcı deneyimini olumsuz etkileyebilir. Tanımlama ve bu sorunların nasıl giderileceğini anlama karmaşık ve zaman alıcı olabilir. Çözüm denetleyicisi özelliğini kullanarak, bir zengin statik çözümleme denetim çözümlerinizi en iyi yöntem kuralları kümesiyle gerçekleştirebilir ve hızlı bir şekilde bu soruna neden olan desenleri belirlemek. Denetim tamamlandıktan sonra tanımlanan sorunları listeler ayrıntılı bir rapor, bileşenleri ve etkilenen kod ve her bir sorunun nasıl giderileceğini açıklayan belgelere bağlantılar görüntülenir.
Çözüm denetleyicisi, bu çözüm bileşenlerini denetler:
- Dataverse özel iş akışı aktiviteleri
- Dataverse web kaynakları (HTML ve JavaScript)
- Dataverse yapılandırmaları, SDK ileti adımı gibi.
- Power Automate akışları (akış denetleyicisi aracılığıyla)
- Power Fx ifadeleri (akış denetleyicisi aracılığıyla)
Çözüm denetçisi, bir ortamdan dışa aktarılabilen yönetilmeyen çözümler ile çalışır.
Not
- Bu konuda, Power Apps geliştirici portalındaki çözüm denetleyicisinin nasıl kullanılacağı açıklanmaktadır. Ayrıca, hizmetle doğrudan etkileşim kurmak için kullanabileceğiniz bir PowerShell modülü de kullanılabilir. Microsoft.PowerApps.Checker.PowerShell modülü, şirket içi ve çevrimiçi ortamların desteklenen sürümleri için Power Apps ortamlarının yönetilmeyen çözümlerin analizi veya hizmeti otomatikleştirip derleme ve sürüm işlem hatlarınızla tümleştirmek için kullanılabilir. Daha fazla bilgi: Microsoft.PowerApps.Checker.PowerShell'e Genel Bakış
- Çözüm denetleyici ECMAScript 2015 (ES6) ile ECMAScript 2018 (ES9) arasındaki söz dizimleri için genel değişkenleri destekler. ES6'den daha sonraki genel değişkenler veya ES9 sonrası söz dizimi kullanılarak JavaScript algılandığında, web kaynağı için web tarafından desteklenmeyen bir söz dizimi sorunu bildirilir.
- Çözüm denetleyicisinin kullanımı, çözüm içeri aktarmanın başarılı olacağını garanti etmez. Çözüme karşı gerçekleştirilen statik çözümleme denetimleri, hedef ortamın yapılandırılmış durumunu bilmez ve içeri aktarma işleminin başarısı ortamdaki diğer çözümlere veya yapılandırmalara bağlı olabilir.
Çözüm denetçisini çalıştırın
Power Apps'te oturum açın.
Sol panoda Çözümler'i seçin. Öğe yan panel bölmesinde yoksa ...Diğer'i ve ardından istediğiniz öğeyi seçin.
Analiz etmek istediğiniz yönetilmeyen çözünün yanında ... seçerek Çözüm denetçisi'ne işaret edin ve sonra Çalıştır'ı seçin.
Çözüm denetleyicisi komut düğmesinde bir yükleme göstergesi vardır ve Çalışıyor... olarak görünür durumunu (Çözüm listesinde Çözüm denetimi sütununda) görürsünüz.
Aşağıdakileri dikkate alın:
Çözüm denetleyicisi analizinin tamamlanması birkaç dakika sürebilir.
Denetleme işlemi tamamlandığında Power Apps sitesinin Bildirimler alanında bir bildirimin yanı sıra bir e-posta bildirimi de alırsınız.
Denetleme sona erdiğinde Raporu görüntüleyin.
Bir denetlemeyi iptal etmek
Ortamınızda çözümler onay gönderdikten sonra denetimi sağ üst alanındaki durum bölmesi aracılığıyla iptal edilebilir Çözümler sayfasında.
Denetlemeyi iptal ettiğinizde çözüm denetimi çalışmadığında ve çözüm onay durumunu önceki bir duruma geri döndürür.
Çözüm denetçisi durumları
Ortamınızda çözüm denetleyicisi yüklediğinizde, Çözüm denetlemesi sütun kullanılabilir duruma gelir, Çözümler listesinde. Bu sütun, bir çözüm için çözüm çözümleme durumları gösterir.
Durum | Açıklama |
---|---|
Çalıştırılmadı | Çözüm daha önce hiç çözümlenmemiş. |
Çalışıyor | Çözüm analiz ediliyor. |
Tamamlanamadı | Çözüm analizi istendi ancak analiz başarıyla tamamlanmadı. |
Tarih ve saat itibarıyla sonuçlar | Çözüm analizi tamamlandı ve sonuçlar indirilebilir. |
Tamamlanamadı. Tarih ve saat itibarıyla sonuç | Son analiz isteği başarıyla tamamlanmadı. Son başarılı sonuçlar indirilebilir. |
Microsoft tarafından denetlendi | Bu, Microsoft tarafından yönetilen bir çözümdür. Çözüm analizine, bu çözümlerde izin verilmez. |
Yayıncı tarafından denetlendi | Bu, üçüncü taraf yönetimli bir çözümdür. Şu anda, çözüm analizi bu çözümler için kullanılamaz. |
Çözüm denetleyicisi raporunu gözden geçirin
Çözüm denetimi tamamlandığında analiz raporunu portalda görüntüleyebilir veya raporu web tarayıcınızdan indirebilirsiniz. Portalda, sonuçları Sorun, Konum veya Önem Derecesi'ne göre sıralama ve çözümünüzde algılanan sorunlar için ayrıntılı bilgileri görüntüleme seçenekleri bulunur.
Sol panoda Çözümler'i seçin. Öğe yan panel bölmesinde yoksa ...Diğer'i ve ardından istediğiniz öğeyi seçin.
Çözüm denetçisi raporunu görüntülemek istediğiniz yönetilmeyen çözümün yanında ... seçin, Çözüm denetçisi'ne işaret edin ve sonra Sonuçları görüntüle'yi seçin.
Ayrıntıları ve çözüm kılavuzunu görüntülemek için bir sorun seçin.
Çözüm denetimi sonuçları ayrıca indirilebilir. Çözüm denetleyicisi zip dosyası, web tarayıcınız tarafından belirtilen klasöre yüklenir. İndirme raporu Excel biçimindedir ve çözümünüzde bulunan her bir sorunun etkisini, türünü ve konusunu tespit etmenize yarayan çeşitli görselleştirmeler ve sütunlar içerir. Bir sorunu gidermeye yönelik ayrıntılı yönergeler içeren bağlantı de sağlanır.
- Sol panoda Çözümler'i seçin. Öğe yan panel bölmesinde yoksa ...Diğer'i ve ardından istediğiniz öğeyi seçin.
- Çözüm denetçisi raporunu indirmek istediğiniz yönetilmeyen çözümün yanında ... seçin, Çözüm denetçisi'ne işaret edin ve sonra Sonuçları indir'i seçin.
- Çözüm denetleyicisi zip dosyası, web tarayıcınız tarafından belirtilen klasöre yüklenir.
Burada, rapordaki her bir sütunun özetini sunulmuştur.
Rapor sütunu | Açıklama | Bileşene uygulanır |
---|---|---|
Öğe | Çözümde tanımlanan sorunun başlığı. | Tümü |
Kategori | Belirlenen sorunun kategorileri, örneğin, Performans, Devamlılık, Kullanım, Desteklenebilirlik, Tasarım, Güvenlik, Erişilebilirlik veya Yükseltme hazırlığı. | Tümünü |
Önem derecesi | Tanımlanan sorununun olası etkisini gösterir. Kullanılabilir etki türleri: Kritik, Yüksek, Orta, Düşük ve Bilgilendirici. | Tümünü |
Rehber | Sorunun etkisini ayrıntılı olarak bildiren ve önerilen işlem makalesine bağlantı. | Tümü |
Bileşen | Sorunun tespit edildiği çözüm bileşeni. | Tümü |
Location | Tanımlanan sorununun, derleme ya da JavaScript dosya adı gibi gerçekleştiği konum ve/veya kaynak dosyası bileşeni. | Tümü |
Çizgi # | Etkilenen web kaynağı bileşenindeki sorunu satır numarası başvurusu. | Web kaynakları |
Modül | Derlemede tanımlanan sorunun tespit edildiği modül adı. | Özel iş akışı etkinliği |
Tür | Derleme içinde tespit edilen sorunun türü. | Özel iş akışı etkinliği |
Üye | Derleme içinde tespit edilen sorunun üyesi. | Özel iş akışı etkinliği |
Deyim | Sorun ile sonuçlanan kod deyimi veya yapılandırma. | Tümü |
Yorumlar | Yüksek düzey çözüm adımlarını içeren sorun hakkındaki ayrıntılar. | Tümünü |
Çözüm denetleyici kurallarını yerel olarak çalıştırma
Çözüm kaynaklarını oluştururken çok daha erken sorunları saptamak için, geliştirme ortamınızda çözüm denetleyicisi kurallarını çalıştırabilirsiniz. Bu, şu anda Web kaynakları (JavaScript ve TypeScript) için desteklenmektedir. Daha fazla bilgi için NPM paketi @microsoft/eslint-plugin-power-apps bölümüne gidin.
Çözüm denetleyicisi tarafından kullanılan en iyi yöntem kuralları
Aşağıdaki tabloda bileşen türü, kural açıklaması, önem derecesi ve kategori listelenmektedir. Yönetilen ortamlarla kritik ihlaller çözüm denetleyicisi zorlaması için yapılandırıldığında engellenir veya uyarılır. Daha fazla bilgi: Yönetilen Ortamlarda çözüm denetleyiciyi kullanma
Çözüm bileşeni | Kural adı | Kural açıklaması | Önem derecesi | Kategori |
---|---|---|---|---|
Eklenti veya iş akışı etkinliği | meta-remove-dup-reg | Yinelenen Dataverse eklenti kayıtlarını kullanmaktan kaçının. | Kritik | Performans |
Eklenti veya iş akışı etkinliği | meta-avoid-reg-no-attribute | Dataverse eklenti kayıtlarıyla birlikte filtreleme özniteliklerini ekleyin. | Medium | Performans |
Eklenti veya iş akışı etkinliği | meta-avoid-reg-retrieve | Al ve BirdenFazlaAl iletileri için kaydedilen Dataverse eklentilerini kullanırken dikkatli olun. | Medium | Performans |
Eklenti veya iş akışı etkinliği | meta-remove-inactive | Dataverse'teki etkin olmayan yapılandırmaları kaldırın. | Düşük | Devamlılık |
Eklenti veya iş akışı etkinliği | meta-avoid-crm4-event | Microsoft Dynamics CRM 4.0 eklenti kaydı aşamasını kullanmayın. | Medium | Yükseltme hazırlığı |
Eklenti veya iş akışı etkinliği | meta-avoid-retrievemultiple-annotation | Ek açıklama RetrieveMultiple öğesine bir eklenti kaydetmekten kaçının. | Yüksek | Kullanım |
Model temelli uygulama | meta-license-sales-entity-operations | Çözüm, geçerli bir Dynamics 365 lisansı gerektiren kısıtlı SDK iletileri ve işlemleri olan varlıkları içeriyor. | Düşük | Lisanslama |
Model temelli uygulama | meta-license-fieldservice-customcontrols | Çözüm, geçerli bir Dynamics 365 Field Service lisansı gerektiren özel denetimler içerir. | Düşük | Lisanslama |
Model temelli uygulama | meta-license-fieldservice-entity-operations | Çözüm, geçerli bir Dynamics 365 Field Service lisansı gerektiren kısıtlı SDK iletilerine ve işlemlerine sahip varlıklar içerir. | Düşük | Lisanslama |
Web Kaynakları | use-async | HTTP ve HTTPS kaynakları ile eş zamanlı olmayan şekilde etkileşime girin. | Kritik | Performans |
Web Kaynakları | avoid-modals | Kalıcı iletişim kutularını kullanmaktan kaçının. | Yüksek | Desteklenebilirlik |
Web Kaynakları | avoid-dom-form | Yüksek | Desteklenebilirlik | |
Web Kaynakları | avoid-dom-form-event | Yüksek | Desteklenebilirlik | |
Web Kaynakları | avoid-crm2011-service-odata | Microsoft Dynamics CRM 2011 OData 2.0 uç noktasını hedeflemeyin. | Kritik | Yükseltme hazırlığı |
Web Kaynakları | avoid-crm2011-service-soap | Microsoft Dynamics CRM 2011 SOAP hizmetlerini hedeflemeyin. | Kritik | Yükseltme hazırlığı |
Web Kaynakları | avoid-loadtheme | loadTheme Fluent v8 API'sini kullanmayın. |
Düşük | Desteklenebilirlik |
Web Kaynakları | avoid-browser-specific-api | Internet Explorer eski API'lerini veya tarayıcı eklentilerini kullanmayın. | Kritik | Yükseltme hazırlığı |
Web Kaynakları | avoid-unpub-api | Yüksek | Desteklenebilirlik | |
Web Kaynakları | avoid-window-top | Yüksek | Desteklenebilirlik | |
Web Kaynakları | avoid-2011-api | Kullanı dışı Microsoft Dynamics CRM 2011 nesne modelini kullanmayın. Bunun yerine, Dataverse Web API'si belgelerindeki yönergeleri uygulayın. | Yüksek | Yükseltme hazırlığı |
Web Kaynakları | use-relative-uri | Mutlak Dataverse uç noktası URL'lerini kullanmayın. | Medium | Devamlılık |
Web Kaynakları | use-cached-webresource | Medium | Performans | |
Web Kaynakları | use-client-context | İstemci bağlamları kullanın. | Medium | Yükseltme hazırlığı |
Web Kaynakları | use-navigation-api | Gezinme API'si parametrelerini kullanın. | Medium | Yükseltme hazırlığı |
Web Kaynakları | use-offline | Medium | Yükseltme hazırlığı | |
Web Kaynakları | do-not-make-parent-assumption | Yüksek | Tasarla | |
Web Kaynakları | use-org-setting | Organizasyon ayarlarını kullanın. | Medium | Yükseltme hazırlığı |
Web Kaynakları | use-global-context | Medium | Yükseltme hazırlığı | |
Web Kaynakları | use-grid-api | Izgara API'lerini kullanın. | Medium | Yükseltme hazırlığı |
Web Kaynakları | use-utility-dialogs | Medium | Kullanım | |
Web Kaynakları | avoid-isActivityType | Xrm.Utility.isActivityType yöntemini yeni Xrm.Utility.gettableMetadata ile değiştirin ve şerit kurallarında kullanmayın. | Medium | Yükseltme hazırlığı |
Web Kaynakları | meta-avoid-silverlight | Silverlight web kaynağı kullanımı kaldırıldı. | Medium | Yükseltme hazırlığı |
Web Kaynakları | remove-debug-script | Geliştirme olmayan ortamlarda hata ayıklama komut dosyasını eklemeyin. | Medium | Kullanım |
Web Kaynakları | use-strict-mode | Mümkünse katı modu kullanın. | Medium | Kullanım |
Web Kaynakları | use-strict-equality-operators | Kesin eşitlik işleçleri kullanın. | Medium | Kullanım |
Web Kaynakları | avoid-eval | 'Eval' işlevini veya işlev eşdeğerlerini kullanmayın. | Kritik | Güvenlik |
Web Kaynakları | ile kullanmaktan kaçının | "ile" işlecini kullanmayın. | Yüksek | Performans |
Web Kaynakları | remove-alert | "Alert" işlevini veya işlevsel eşdeğerlerini kullanmayın. | Medium | Kullanım |
Web Kaynakları | remove-console | Konsolda yöntemleri kullanmaktan kaçının. | Medium | Kullanım |
Web Kaynakları | avoid-ui-refreshribbon | Form onload ve EnableRule'da refreshRibbon kullanmaktan kaçının. | Kritik | Performans |
Web Kaynakları | use-getsecurityroleprivilegesinfo | userSettings.securityRolePrivileges öğesini kullanmaktan kaçının. Bunun yerine userSettings.getSecurityRolePrivilegesInfo kullanın. | Yüksek | Performans |
Web Kaynakları | use-appsidepane-api | Xrm.App.sidePanes.createPane instead of Xrm.Panels.loadPanel kullanın. | Medium | Yükseltme hazırlığı |
Web Kaynakları | web-sdl-no-cookies | HTTP tanımlama bilgileri, devralınan riskler ve sınırlamalar içeren eski bir istemci tarafı depolama mekanizmasıdır. Bunun yerine Web Depolama, IndexedDB veya diğer modern yöntemler kullanın. | Medium | Güvenlik |
Web Kaynakları | web-sdl-no-document-domain | same.origin denetimlerinin atlanmaması için document.domain özelliğine yazmaların gözden geçirilmesi gerekir. azurewebsites.net gibi üst düzey etki alanlarının kullanımı kesinlikle yasaktır. | Medium | Güvenlik |
Web Kaynakları | web-sdl-no-document-write | document.write veya document.writeln çağrıları herhangi bir temizleme olmadan doğrudan DOM'u değiştirir ve bundan kaçınılmalıdır. Bunun yerine document.createElement() veya benzeri yöntemler kullanın. | Medium | Güvenlik |
Web Kaynakları | web-sdl-no-html-method | Doğrudan yöntem html() çağrıları (örneğin, jQuery çerçevesi) genellikle herhangi bir temizleme olmadan DOM'u manipüle eder ve bundan kaçınılması gerekir. Bunun yerine document.createElement() veya benzeri yöntemler kullanın. | Medium | Güvenlik |
Web Kaynakları | web-sdl-no-inner-html | innerHTML veya outerHTML özelliğine yapılan atamalar herhangi bir temizleme olmadan doğrudan DOM'u değiştirir ve bundan kaçınılmalıdır. Bunun yerine document.createElement() veya benzeri yöntemler kullanın. | Medium | Güvenlik |
Web Kaynakları | web-sdl-no-insecure-url | Güvenilmeyen ağlar üzerinden potansiyel olarak hassas verilerin düz metin olarak gönderilmesini önlemek için, HTTP veya FTP gibi güvenli olmayan protokoller şifrelenmiş karşılıklarıyla (HTTPS, FTPS) değiştirilmelidir. | Medium | Güvenlik |
Web Kaynakları | web-sdl-no-msapp-exec-unsafe | MSApp.execUnsafeLocalFunction() çağrıları betik ekleme doğrulamasını atlar ve bundan kaçınılmalıdır. | Medium | Güvenlik |
Web Kaynakları | web-sdl-no-postmessage-star-origin | Güven sınırının dışında veri sızıntısı oluşmasını önlemek için postMessage kullanarak diğer pencerelere veri gönderirken her zaman belirli bir hedef kaynak sağlayın, * kullanmayın. | Medium | Güvenlik |
Web Kaynakları | web-sdl-no-winjs-html-unsafe | WinJS.Utilities.setInnerHTMLUnsafe() çağrıları ve benzer yöntemler herhangi bir giriş doğrulaması yapmaz ve bundan kaçınılmalıdır. Bunun yerine WinJS.Utilities.setInnerHTML() kullanın. | Medium | Güvenlik |
Tuval Uygulaması | app-formula-issues-high | Ek ayrıntılar için Power Apps formül başvurularına bakın. | Kritik | Tasarla |
Tuval Uygulaması | app-formula-issues-medium | Ek ayrıntılar için Power Apps formül başvurularına bakın. | Medium | Tasarla |
Tuval Uygulaması | app-formula-issues-low | Ek ayrıntılar için Power Apps formül başvurularına bakın. | Düşük | Tasarla |
Tuval Uygulaması | app-use-delayoutput-text-input | Performansı artırmak için bazı senaryolarda gecikmiş yükü kullanın. | Medium | Performans |
Tuval Uygulaması | app-reduce-screen-controls | Gelişmiş performans için uygulama denetimlerinin sayısını sınırlayın. | Medium | Performans |
Tuval Uygulaması | app-include-accessible-label | Uygulama erişilebilirliğini artırmak için açık etiketler kullanın. | Medium | Erişilebilirlik |
Tuval Uygulaması | app-include-alternative-input | Tüm etkileşimli öğelerin alternatif girdiler için erişilebilir olduğundan emin olun. | Medium | Erişilebilirlik |
Tuval Uygulaması | app-avoid-autostart | Uygulama içindeki oynatıcılarda otomatik başlatmayı kullanmaktan kaçının. | Medium | Erişilebilirlik |
Ayrıca bkz.
Dataverse için en iyi uygulamalar ve kılavuz
model temelli uygulamalar için en iyi uygulamalar ve kılavuz
Çözüm Denetleyicisi için yaygın sorunlar ve çözümleri
Not
Belge dili tercihlerinizi bizimle paylaşabilir misiniz? Kısa bir ankete katılın. (lütfen bu anketin İngilizce olduğunu unutmayın)
Anket yaklaşık yedi dakika sürecektir. Kişisel veri toplanmaz (gizlilik bildirimi).