Çözümlere genel bakışSolutions overview

PowerApps’te, uygulamaları ve bileşenleri bir ortamdan diğerine taşımak için veya mevcut uygulamalara bir dizi özelleştirme uygulamak için çözümler kullanılır.In PowerApps, solutions are leveraged to transport apps and components from one environment to another or to apply a set of customizations to existing apps. Bir çözümde bir veya daha fazla uygulamanın yanı sıra varlıklar, seçenek kümeleri gibi diğer bileşenler bulunabilir. AppSource’tan veya bağımsız bir yazılım satıcısından (ISV) çözüm edinebilirsiniz.A solution can contain one or more apps as well as other components such as entities, option sets, etc. You can get a solution from AppSource or from an independent software vendor (ISV).

Daha fazla bilgi: Teknik İnceleme: Çözüm Yaşam Döngüsü YönetimiMore information: Whitepaper: Solution Lifecycle Management

Not

Uygulama oluşturan bir bağımsız yazılım satıcısıysanız, çözümleri kullanmanız gerekir.If you’re an ISV creating an app that you will distribute, you’ll need to use solutions. Çözümleri kullanma hakkında daha fazla bilgi için bkz. Geliştirici Kılavuzu: Çözümlere giriş.For more information about using solutions, see Developer Guide: Introduction to solutions.

Kurumsal kullanıma yönelik PowerApps uygulamaları oluşturmayı veya Müşteri Etkileşimi uygulamaları için Dynamics 365’i özelleştirmeyi düşünüyorsanız çözümlerle ilgili bilmeniz gerekenleri aşağıda bulabilirsiniz:If you are interested in creating PowerApps apps for organizational use or customizing Dynamics 365 for Customer Engagement apps, here is what you need to know about solutions:

  • Çözüm oluşturma isteğe bağlıdır.Creating solutions is optional. Bir çözüm oluşturmadan doğrudan PowerApps ortamınızda uygulamalar derleyebilir veya özelleştirebilirsiniz.You can build or customize apps in your PowerApps environment directly without ever creating a solution.

  • PowerApps ortamını herhangi bir çözüm oluşturmadan doğrudan özelleştirdiğinizde, Common Data Services Varsayılan Çözümü adlı özel bir çözümle birlikte çalışırsınız.When you customize the PowerApps environment directly without creating any solution, you work with a special solution called the Common Data Services Default Solution. Bu çözüm, PowerApps ortamınızda yaptığınız tüm özelleştirmeleri içerir.This solution contains all the customizations you make in your PowerApps environment.

  • Varsayılan Çözüm adlı farklı bir özel çözüm de bulunur.There is another special solution called the Default Solution. Bu çözüm, siz veya başka biri tarafından sisteminizde oluşturulan tüm bileşenleri içerir.This solution contains all the components in your system, whether created by you or anyone else. Kuruluşunuzda tanımladığınız özelleştirmelerin yedeğini oluşturmak için Varsayılan Çözümü dışarı aktarabilirsiniz.You can export the Default Solution to create a backup of the customizations you have defined in your organization. Kötü bir durumla karşılaşma olasılığa karşılık değişikliklerinizi yedeklemek için iyi bir yöntemdir.This is a good practice to back up your changes in a worst case scenario.

BileşenlerComponents

Bileşen, potansiyel olarak özelleştirebileceğiniz bir şeyi temsil eder.A component represents something that you can potentially customize. Bir çözüme dahil edilebilecek her şeye bileşen denir.Anything that can be included in a solution is a component. Aşağıda, bir çözümde görüntüleyebileceğiniz bileşenlerin bir listesi yer alır:The following is a list of components that you can view in a solution:

  • Uygulama ŞeridiApplication Ribbon

  • Makale ŞablonuArticle Template

  • İş KuralıBusiness Rule

  • Tuval UygulamasıCanvas App

  • GrafikChart

  • Bağlantı RolüConnection Role

  • Sözleşme ŞablonuContract Template

  • Özel DenetimCustom Control

  • PanoDashboard

  • E-posta ŞablonuEmail Template

  • KurumEntity

  • Varlık İlişkisiEntity Relationship

  • AlanField

  • Alan Güvenlik ProfiliField Security Profile

  • AkışFlow

  • FormForm

  • Adres Mektup Birleştirme ŞablonuMail Merge Template

  • İletiMessage

  • Model tabanlı uygulamaModel-driven app

  • Seçenek KümesiOption Set

  • Eklenti DerlemesiPlug-in Assembly

  • İşlemProcess

  • SDK İleti İşleme AdımıSdk Message Processing Step

  • Güvenlik RolüSecurity Role

  • Hizmet Uç NoktasıService Endpoint

  • Site HaritasıSite Map

  • Sanal Varlık Veri SağlayıcısıVirtual Entity Data Provider

  • Sanal Varlık Veri KaynağıVirtual Entity Data Source

  • Web KaynağıWeb Resource

Bazı bileşenler diğer bileşenlerle iç içe geçmiştir.Some components are nested within other components. Örneğin, bir varlık; formlar, görünümler, grafikler, alanlar, varlık ilişkileri, iletiler ve iş kuralları içerir.For example, an entity contains forms, views, charts, fields, entity relationships, messages, and business rules. Bu bileşenlerin her biri için bir varlığın mevcut olması gerekir.Each of those components requires an entity to exist. Bir alan bir varlığın dışında mevcut olamaz.A field can’t exist outside of an entity. Alanın, varlığa bağımlı olduğunu söyleyebiliriz.We say that the field is dependent on the entity. Aslında, önceki listede gösterildiği gibi iki kat daha fazla türde bileşen bulunur, ancak bunların çoğu uygulamada görünmez ve diğer bileşenlerle iç içe geçmez.There are actually twice as many types of components as shown in the preceding list, but most of them are not nested within other components and not visible in the application.

Bileşenlerin amacı, Yönetilen özellikler kullanılarak özelleştirilebilenlere yönelik sınırlamaları ve tüm bağımlılıkları takip etmektir. Böylece ardında bir şey bırakmadan dışarı aktarılabilir, içeri aktarılabilir ve silinebilir (yönetilen çözümlerde).The purpose of having components is to keep track of any limitations on what can be customized using managed properties and all the dependencies so that it can be exported, imported, and (in managed solutions) deleted without leaving anything behind.

Yönetilen ve yönetilmeyen çözümlerManaged and unmanaged solutions

Yönetilen ve yönetilmeyen çözümler vardır.There are managed and unmanaged solutions. Yönetilen çözümler değiştirilemez ve içeri aktarıldıktan sonra kaldırılabilir.A managed solution cannot be modified and can be uninstalled after it is imported. Çözüm kaldırılarak bu çözümün tüm bileşenleri kaldırılır.All the components of that solution are removed by uninstalling the solution.

Yönetilmeyen çözümü içeri aktardığınızda, o çözümün tüm bileşenlerini ortamınıza eklersiniz.When you import an unmanaged solution, you add all the components of that solution into your environment. Çözümü kaldırarak bileşenleri kaldıramazsınız.You can’t remove the components by uninstalling the solution.

Önceden özelleştirdiğiniz bileşenleri içeren yönetilmeyen bir çözümü içeri aktardığınızda, bu çözüm içeri aktarılan yönetilmeyen çözümdeki özelleştirmeler tarafından özelleştirmelerinizin üzerine yazılır.When you import an unmanaged solution that contains components that you have already customized, your customizations will be overwritten by the customizations in the imported unmanaged solution. Bunu geri alamazsınız.You can’t undo this.

Önemli

Yalnızca ortamınıza tüm bileşenleri eklemek ve mevcut özelleştirmelerin üzerine yazmak istediğinizde yönetilmeyen çözüm yükleyin.Install an unmanaged solution only if you want to add all the components to your environment and overwrite any existing customizations.

Uygulamalarınızı ve özelleştirmeleri dağıtmayı planlamıyor olsanız da yalnızca uygulamanın özelleştirdiğiniz parçalarını içeren ayrı bir görünüm olması için yönetilmeyen bir çözüm oluşturup kullanmak isteyebilirsiniz.Even if you don’t plan on distributing your apps or customizations, you may want to create and use an unmanaged solution to have a separate view that only includes those parts of the application that you have customized. Bir şeyi her özelleştirdiğinizde, onu oluşturduğunuz yönetilmeyen çözüme eklemeniz yeterlidir.Whenever you customize something, just add it to the unmanaged solution that you created.

Yalnızca Varsayılan Çözümünüzü yönetilmeyen çözüm olarak dışarı aktarabilirsiniz.You can only export your Default Solution as an unmanaged solution.

Yönetilen çözüm oluşturmak için, çözümü dışarı aktarırken Yönetilen olarak seçeneğini belirlersiniz.To create a managed solution, you choose the As managed option when you export the solution. Yönetilen çözüm oluşturuyorsanız bunu oluşturmak için kullandığınız aynı ortama geri içeri aktaramazsınız.If you create a managed solution, you can’t import it back into the same environment you used to create it. Yalnızca farklı bir ortama içeri aktarabilirsiniz.You can only import it into a different environment.

Çözümler nasıl uygulanır?How solutions are applied

Tüm çözümler, uygulamanızın aslında neler yapabileceğini belirlemek için katmanlar olarak değerlendirilir.All solutions are evaluated as layers to determine what your app will actually do. Aşağıdaki diyagramda, yönetilen ve yönetilmeyen çözümlerin nasıl değerlendirileceği ve bunlardaki değişikliklerin ortamınızda nasıl görüntüleneceği gösterilmektedir.The following diagram shows how managed and unmanaged solutions are evaluated and how changes in them will appear in your environment.

Çözüm katmanlamaSolution layering

Aşağıdan başlayıp yukarıya doğru çalışma:Starting from the bottom and working up to top:

Sistem ÇözümüSystem Solution
Sistem çözümü, her ortamın sahip olduğu yönetilen çözüm gibidir.The system solution is like a managed solution that every environment has. Sistem çözümü, sistemdeki tüm kullanıma hazır bileşenlerin tanımıdır.The system solution is the definition of all the out-of-the box components in the system.

Yönetilen ÇözümlerManaged Solutions
Yönetilen çözümler, sistem çözümü bileşenlerini değiştirebilir ve yeni bileşenler ekleyebilir.Managed solutions can modify the system solution components and add new components. Birden çok yönetilen çözüm yüklenirse, yüklenen birinci çözüm, daha sonra yüklenen yönetilen çözümün altındadır.If multiple managed solutions are installed, the first one installed is below the managed solution installed later. Başka bir deyişle, yüklenen ikinci çözüm, ondan önce yükleneni özelleştirebilir.This means that the second solution installed can customize the one installed before it. İki yönetilen çözüm, çakışan tanımlar içeriyorsa, genel kural “Sonuncu kazanır” kuralıdır.When two managed solutions have conflicting definitions, the general rule is “Last one wins”. Yönetilen bir çözümü kaldırırsanız, onun altındaki yönetilen çözüm geçerli olur.If you uninstall a managed solution, the managed solution below it takes effect. Tüm yönetilen çözümün kaldırırsanız, sistem çözümünde tanımlanan varsayılan davranış uygulanır.If you uninstall all managed solution, the default behavior defined within the system solution is applied.

Yönetilmeyen ÖzelleştirmelerUnmanaged Customizations
Yönetilmeyen özelleştirmeler, yönetilmeyen çözüm aracılığıyla ortamınız üzerinde yaptığınız tüm değişikliklerdir.Unmanaged customizations are any change you have made to your environment through an unmanaged solution. Sistem çözümü, yönetilen özellikleri kullanarak neleri özelleştirebileceğinizi veya özelleştiremeyeceğinizi tanımlar.The system solution defines what you can or can't customize by using managed properties. Yönetilen çözümlerin yayımcıları, çözümlerine ekledikleri çözüm bileşenlerini özelleştirme yeteneğinizi sınırlamak için aynı yeteneğe sahiptir.Publishers of managed solutions have the same ability to limit your ability to customize solution components that they add in their solution. Özelleştirmenizi engelleyen yönetilen özellikleri içermeyen çözüm bileşenlerinden herhangi birini özelleştirebilirsiniz.You can customize any of the solution components that do not have managed properties that prevent you from customization them.

Uygulama DavranışıApplication Behavior
Aslında ortamınızda gördüğünüz budur.This is what you actually see in your environment. Varsayılan sistem çözümü ve yönetilen çözümler, ayrıca uyguladığınız tüm yönetilmeyen özelleştirmeler.The default system solution plus any managed solutions, plus any unmanaged customizations you have applied.

Yönetilen özelliklerManaged properties

Bazı bileşenler özelleştirilemez.Some components can’t be customized. Sistem çözümündeki bu bileşenler, bunları özelleştirmenizi engelleyen meta veriler içerir.These components in the system solution have metadata that prevents you from customizing them. Bunlara yönetilen özellikler adı verilir.These are called managed properties. Yönetilen çözümün yayımcısı, istemedikleri şekilde çözümlerini özelleştirmenizi engellemek için de yönetilen özellikleri ayarlayabilir.The publisher of a managed solution can also set the managed properties to prevent you from customizing their solution in ways they don’t want you to.

Çözüm bağımlılıklarıSolution dependencies

Yönetilen çözümlerin katmanlanma şekli nedeniyle bazı yönetilen çözümler, diğer yönetilen çözümlerdeki çözüm bileşenlerine bağımlı olabilir.Because of the way that managed solutions are layered some managed solutions can be dependent on solution components in other managed solutions. Bazı çözüm yayımcıları, modüler çözümler derlemek için bundan yararlanır.Some solution publishers will take advantage of this to build solutions that are modular. Önce bir “temel” yönetilen çözüm yüklemeniz gerekebilir, daha sonra temel yönetilen çözümdeki bileşenleri daha fazla özelleştirecek ikinci bir yönetilen çözüm yükleyebilirsiniz.You may need to install a “base” managed solution first and then you can install a second managed that will further customize the components in the base managed solution. İkinci yönetilen çözüm, birinci çözümün parçası olan çözüm bileşenlerine bağlıdır.The second managed solution depends on solution components that are part of the first solution.

Sistem, çözümler arasındaki bu bağımlılıkları izler.The system tracks these dependencies between solutions. Yüklü olmayan bir temel çözüm gerektiren çözüm yüklemeye çalışırsanız, çözümü yükleyemezsiniz.If you try to install a solution that requires a base solution that isn’t installed, you won’t be able to install the solution. Çözümün önce başka bir çözümün yüklenmesini gerektirdiğini belirten bir ileti alırsınız.You will get a message saying that the solution requires another solution to be installed first. Benzer şekilde, bağımlılık nedeniyle, temel çözüme bağımlı bir çözüm halen yüklü durumdayken temel çözümü kaldıramazsınız.Similarly, because of the dependencies, you can’t uninstall the base solution while a solution that depends on it is still installed. Temel çözümü kaldırabilmeniz için önce bağımlı çözümü kaldırmanız gerekir.You have to uninstall the dependent solution before you can uninstall the base solution.

Sonraki adımlarNext steps

Çözümleri içeri aktarma, güncelleştirme ve dışarı aktarmaImport, update, and export solutions
Belirli bir çözüme gitmeNavigate to a specific solution