Menu Close

Tag: #365blogpostsin365days

{Know} Segmentation Solution in Power Apps & Dynamics 365 Apps

Hello Everyone,

Today i am going to share my thoughts on Segmented Solution.
Lets gets started.
Segmented Solution: Solution Segmentation is when you add the required components to your development unmanaged solution is known as Segmented solution.
Lets see this in action.
Sceanario: Suppose you want to add an entity “account” to your solution.

 

Now you click on the entity and all the entities will be displayed.
Choose “account” and click ok.
Now choose the form you want to add and click finish.

 

 

1. Include entity metadata:  if you check this box, it will include only metadata related to the entity not the forms, views and related entities. Metadata includes entity properties, like auditing. duplicate detection
 and change tracking.
2. Add all assets: It will include all the components related to the entity selected.
Now you can select the field required to add to your solution.

 

Now add all assets for the case entity(table)

 

Once you clicked on the finish another pop will appear

There are two options

1. Yes, include requried components:what that mean is the solution you are going to import into target environment dont have this entity components, so you can check the box to include.
2. No, do not include required components: If the entity you have included in this solution  is already available in the target and its related components already exists, so you can check the box, not to include into the solution.
Now you can include the contact into your solution and add then field “anniversary” field.

So your segmented solution created contains three entities “accounts, case, contact” and each entity have only components that were chosen.

Limitations of segmented solution:
1.Solution size is limited to 32 MB
2. Number of solutions is limited by Microsoft Dataverse capacity
3. Number of objects in a solution is limited by Dataverse capacity
I hope this helps
Malla Reddy(@UK365GUY)
Share this:

{Know} ALM Solution concepts

Hello Everyone,

As i am blogging regarding Application Lifecycle Management.
So today i am going to share solution concepts that are being used in Microsoft Power Platform.
Lets gets started.
Key solution concepts:
1. Two types of solutions:  Unmanaged Solution & Managed Solution.
Unmanaged Solution: Unmanaged Solution is used in the development environments when we are making changes to the application.
Unmanaged solution can be exported either unmanaged or managed. So the exported unmanaged solution can be checked into the source control system. 
 
Unmanaged solution should be considered as a source for the Microsoft Power Platform assets.
Note: When an unmanaged solution is deleted, only the solution container of any customizations included in it is deleted. All unmanaged customizations will remain uneffected and belong to the default solution.
Managed Solution: Managed solutions will be deployed to non development environments in simple terms.
Which may be UAT, SIT and Production environments.
A managed solution can be served as independently from other managed solution;
Note: As an ALM best practice managed solutions should be generated by exporting an unmanaged solution as managed and considered a build artifact.
Managed solutions can’t be edited directly, instead if you want to edit it, create an unmanaged solution and add the managed components into it and make changes and import into the environment as managed solution, so that changes will be layered. for managed properties click

 

Makers and developers work in development environment using unmanaged solutions, when the development work completes then export them to other environment like UAT as Managed Solutions.
NOTE: We can’t import a managed solution into the same environment that contains the orginating unmanaged solution. to test a managed solution, we need a separate environment to import it.
When you delete a managed solution, data will be lost from custom entities that are part of managed solution and data stored in custom attributes that are part of the managed solution on other entities that are not part of the managed solution.
2. Solution components: Like entity, attributes, relationships, metadata for detailed list click here

3. Lifecycle of solution: Solutions support these actions: Create, Update, Upgrade, Patch are the lifecycle of the solution.

4. Solution Publisher: A solution publisher will be the owner of the solution, which also contain prefix, where the prefix will be used when a new attribute is created it will be used as part of the schema name for example: gmr_businessunit, where gmr is the prefix.

 

5. Solution and Solution components dependencies: Solution components dependencies will appear when a managed/unmanaged solution is installed on top of the already managed solution.

Remove dependencies: here
Dependency tracking for solution components: here
Hope this helps
Malla Reddy(@UK365GUY)
#365Blogpostsin365Days
Share this:

{Did you know} Application Lifecycle Management Environment strategy

Hello Everyone,

Today i am to share my views on the ALM Environment Strategy.
Lets gets started.
ALM Principles: It needs individual environments for app or solution development and production.
So basically basic ALM can be performed with Development and Production environments.
Best practise is to have atleast one Test environment which is separate from development and production environment.
Some organisations use other environments like UAT(user acceptance testing) system integration testing(SIT) and training too.

Why development environment?

Because any development for app or solution can be done on it and also we check the changes. Separate environments helpful to reduce issues when a developer affects another while making changes.

Development environments?

You can discuss this like how many development environments required? here
Similarly you can provision environments from source code? here
What are the dependencies on my environments? here

ALM other considerations?

ALM should have a minimum of DEVELOPMENT, UAT AND PRODUCTION environments as any changes made on the development environment can be tested in the UAT and prior to deploying to Production.

Multiple geographical environments?

Power Platform have service updates frequently so service update schedule as environments are updated across the globe.
According to Microsoft there are total six stations, its defined by geographical location.
So any service update is done in sequencial order for example: station 3 service updates are applied before station 4.
i.e so its common for environments that are in different stations to have different versions at a certain point in time.

Things to be considered when importing the solution and environment version:

1. You can import newer version into an environment than the environment where the solution was exported.
2. We can’t import a solution into an environment that’s an older version than the environment where the solution was exported. Because there might be some missing components or required funtionality in the older environment.

Aligning environments with service update stations:

                                                                Image source Microsoft
Suppose we have a production environments in Canada and the United States. In that case your development environments should be in North America(station 5) and not in Canada (Station 2). so that your development environments will always be the same or an earlier version than your production environments, which will decrease solution import version conflicts.
I hope this helps.
Malla Reddy(@UK365GUY)
#365Blogpostsin365Days
Share this:

{How to} Resolve Relationship Mapping fields between Opportuntiy and Quote entities Dynamics 365 Sales

Hello Everyone,

Hope everyone doing good.
Today i am going to share simple OOTB feature which some of them aware but i want to bring this to my blog readers.
Scenario: Suppose there is a requirement to transfer some data from Opportunity to Quote when an Opportunity is qualified automatically.
Like When a lead is qualified some of the data will be automatically transferred to Opportunity, do you know how this is happening without any code written, its because of “Relationship Mapping” from the 1-N relationship between entities.
Lets see this in action.
So for this example i have created a business unit lookup field on the Opportunity entity, and also on the Quote entity same business unit lookup field is created.
Now i want to carry same field value of business unit of Opportunity to business unit of Quote.
Create a solution and add the opportunity and quote to it.
Steps taken:
1. Create a business unit lookup field on the opportunity

 

make sure select the target entity for the business unit field as ‘BUSINESS UNIT’
2. Similarly create the business unit lookup field on the Quote entity too, same as step 1.
3. Create a Relationship mapping.
4. Once Opportunity and Quote relationship selected, you need to open the relationship and click on the “mapping” on the left side of the screen,
Then mapping the fields like below screenshot.
5. Publish the changes on the solution.
6. Create an Opportunity fill the “busiess unit” as UK and qualify the  Opportunity

As you can see from the above screen when you qualify the opportunity prompt to create a  Quote.

Now you will see the Business unit has a value as UK on the next screen.

So its that simple to add relationship mapping and OOTB field mapping between the entities.

For more information please visit Microsoft Docs
I hope this helps.
Malla Reddy(@UK365GUY)
#365Blogpostsin365Days
Share this:

{Know} Tools Components and Process for Application Lifecycle Management

Hello Everyone,

Today i am going to share components, tools and processes required to implement ALM.
Lets gets started.
Environments: They serve as a container for all apps, its to store, manage and share your business data.
They serve as a container to separate apps that might have different roles, security requirement, or target audiences.
Note: Each environment will have one Microsoft Dataverse Database.
Also when we create a new environment, choose the Dynamics 365 apps like Dynamics 365 Sales, Service, which are required now or in future. If you dont want them then not to install which are not required otherwise they will create dependency issues when we deploy solutions between ennvironments.
Environments used in ALM:
With the Power Platform admin center, you can create the environments:
Environments types:
Sandbox: Its a development environment, in other terms non production environment.
Production: Its a LIVE environment for your organisation, where business users will access day to day activities for sales, customer service, marketing, field service.
Developer: Power App Develper Plan gives access to Power Apps premium functionality, Dataverse, Power Automate for individual use. its a single user environment and its not used to run or share production apps.
Default: Its a default environment created for each tenant and shared by all users in that tenant.

 

Who should have access to these environments, Microsoft Power Platform Provides environment level admin roles to perform tasks.
Development environment will have App Makers and developers have access to it.
 
Test environment: Testing users and admins will have access to it.
 
Production environment: Admins and app user and they should have access privileges to perform the tasks.
 
Default: By default every users will have create and edit apps permissions, so create an environment for development activities and testing and production and provide appropriate permissions for them.
Solutions: Solutions are used to transfer apps and components from one environment to another, they only contain metadata and certain entities with configuration data.
Source Control:

 

Source control otherwise known as Version Control, when you makes any changes to the solution and deploy to other test or production environment, those changes by multiple users and it is maintained through source control to revert back to previous state if something is wrong.
Source Control helps businesses to achieve healthy ALM because the assests maintained in the source control system are single source of truth or otherwise a single point of access and modification for your solutions.
Source control process using a solution:
Two main paths we can use.
1. Export the unmanaged solution and place it as unpacked in a source control. so the build process imports the packaged solution as unmanaged into a temporary build environment(sandbox environment). then export the solution as managed and store it as a build artifact in your source control system.
2. Export the solution as unmanaged and also export the solution as managed and place both in the source control system. Although this method doesn’t require a build environment, it does require maintaining two copies of all components(one copy of all unmanaged components from the unmanaged solution and one copy of all managed components from the manage solution.
 

Automation:

Automation is a key part of the application lifecycle that improves the productivity, reliability, quality and efficiency of ALM. Automation tools and tasks are used to validate, export, pack, unpack and export solutions in addition to creating and resetting sandbox environments.

How the Source control being used by your development team

Consider how your development team will be work together as a team to build the project.
some tools and workflows – such as those provided in GIT, GITHUB, and Azure DevOps were designed for the express purpose of improving communication and software quality.
Note: Working with configurations in a solution system can create challenges for team development.
Organisations must orchestrate changes from multiple developers to avoid merge conflicts as much as possible, because source control systems have limitations on how merges occur.
Recommendation: Avoid multiple people make changes to complex components, such as forms, canvas apps at the same time.

Continuous integration and deployment:

You can use any source control system and build a pipeline to start with for continuous integration and continuous deployment(CI/CD).
We are discussing about the Azure DevOps, Github.
Github is a development platform used by millions of developers.
Azure DevOps provides developers services to support teams to plan work, collaborate on code development, and build and deploy applications.
You need the following:
1. A GitHub account, where you can create a repository
2. An Azure DevOps organisation
Licensing:
In order to use Power Platform, Power Apps, Power Automate, users will require a license such as per user or per app license or Dynamics 365 app license.
ALM Considerations:
When you consider ALM as an integral part of building apps on Microsoft Power Platform, it can drastically improve speed, reliability and user experience of the app. it also ensures that multiple developers writing code and citizen developers, can jointly contribute to the application being built.
I hope this helps
Malla Reddy(@UK365GUY)
#365blogpostsin365days
Share this: