Code first Archives - Microsoft Power Platform Blog Innovate with Business Apps Thu, 05 Dec 2024 04:15:53 +0000 en-US hourly 1 React and Fluent based virtual code components are now generally available http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/react-and-fluent-based-virtual-code-components-are-now-generally-available/ Wed, 04 Dec 2024 20:45:09 +0000 We are excited to announce the general availability of React and Fluent-based virtual code components in Microsoft Power Apps

The post React and Fluent based virtual code components are now generally available appeared first on Microsoft Power Platform Blog.

]]>
We are excited to announce the general availability of React and Fluent-based virtual code components. This feature allows customers and partners to leverage the Microsoft Power Apps platform libraries for React and Fluent, enabling the creation of a diverse set of code components without the need to package these libraries.

Key Benefits:

  • Unified Control Styling: Virtual controls with Fluent ensure consistent styling across multiple apps and app types.
  • Improved Performance: By eliminating the need for isolated React trees and smaller control bundle.
  • Simplified Development: The need to include React or Fluent libraries in individual component bundles is removed, streamlining the development process.
Diagram showing standard and virtual code components with them using individually packaged and shared platform libraries respectively.
Diagram showing standard and virtual code components

Note that code components created earlier via preview are backward compatible and will continue to work. Please rebuild them using the latest version of PAC tooling so that they are ready for future platform library upgrades.

graphical user interface, text
Creating a virtual component

You can find more details about this feature including supported platform library versions in our documentation for React controls & platform libraries. Please use Power Apps Pro Dev forum for any input or questions.

The post React and Fluent based virtual code components are now generally available appeared first on Microsoft Power Platform Blog.

]]>
Introducing Git Integration in Power Platform (preview) http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/introducing-git-integration-in-power-platform-preview/ Mon, 11 Nov 2024 16:00:00 +0000 Now in public preview, Git Integration provides a streamlined experience for developers and citizen developers to build solutions together using the same development processes and best practices. Fusion teams are more productive with familiar Git functionality available directly within their environment. This native integration provides faster setup and iterations, developer and feature isolation, change tracking

The post Introducing Git Integration in Power Platform (preview) appeared first on Microsoft Power Platform Blog.

]]>
Now in public preview, Git Integration provides a streamlined experience for developers and citizen developers to build solutions together using the same development processes and best practices. Fusion teams are more productive with familiar Git functionality available directly within their environment. This native integration provides faster setup and iterations, developer and feature isolation, change tracking and auditing, version control, rollback, and more.

Animated Gif Image

It just takes a few seconds to connect your Dataverse environment to Git. You can connect and use Git integration within Power Apps, Microsoft Copilot Studio, Power Automate, and Power Pages. You’ll also need access to an Azure DevOps Git repository.

Rollout is in-progress. Git integration is currently available in public geos outside the US. Your environment must be enabled for early access and accessed at https://make.preview.powerapps.com.

As the team develops, Dataverse tracks everyone’s changes. When ready, commit your changes to a branch in the connected Azure DevOps Git repository. A commit link is provided to view the changes within the repository and compare diffs. You’ll notice solutions and solution objects are now stored in human readable formats in the repo.

Professional developers can work in source control while others work in one or more environments. It’s easy to pull others’ changes into other development environments which are connected to the same source code location. This allows team members to build without others editing in their environment and share changes once they’re ready. Connect multiple development environments using the same repo, branch, and folder. Then, in each environment create or import an unmanaged solution with the same name and publisher.

When committing and pulling changes, conflicts may be detected – meaning someone else made conflicting changes to the same object. You’ll need to choose whether to keep the version that’s in your environment or bring the version from source control into your environment. You can also revert changes in the repository, then pull the prior version into your environment.

When the team is ready to deploy to test or production, you can use Pipelines in Power Platform for the release. Building and deploying using developer tools isn’t available yet for this new format.

We hope you enjoy the preview. There are many current limitations and you shouldn’t use this feature in environments or Git folders where you’re developing production solutions. Please leave your feedback below, in the community forums, on social media, or another outlet of choice. We look forward to hearing what you’d like to see prioritized next.

Learn more

Overview of Power Platform Git integration

Setup Git integration

The post Introducing Git Integration in Power Platform (preview) appeared first on Microsoft Power Platform Blog.

]]>
Introducing Code View in Power Apps Studio (Public Preview) http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/introducing-code-view-in-power-apps-studio-public-preview/ Wed, 29 May 2024 16:12:00 +0000 The goal of fusion development is to create an environment where Citizen Developers, Professional developers (aka code-first) and IT Professional can collaborate seamlessly. We want to create great experience for makers creating an app for the first time and for code-first developers that want to have the transparency of the source code for their Power Apps. We

The post Introducing Code View in Power Apps Studio (Public Preview) appeared first on Microsoft Power Platform Blog.

]]>
The goal of fusion development is to create an environment where Citizen Developers, Professional developers (aka code-first) and IT Professional can collaborate seamlessly. We want to create great experience for makers creating an app for the first time and for code-first developers that want to have the transparency of the source code for their Power Apps.

We are proud to announce the public preview of a Code View in Power Apps Studio.

Developers can now view and use the source code, in readable YAML + Power Fx format.

Power Apps Code View

You can select any screen or specific control and visualize the underlying code.

Copy and paste with YAML code

Having the source code available will also allow new experiences. Developers can now copy any control in a code format. You can copy any visual control within Studio as a YAML Code.

With the copy from Power Apps Studio, you can paste it to a text or to a code editor like Visual Studio Code to do small edits. Once you are done, you can paste it back to Power Apps Studio to create a new control.

You can share code snippets over Instant Message (like Microsoft Teams), email, post the code on a blog, use it to ask or answer questions in a forum or community.

What is next?

Code view and copying and pasting with code is available in Preview today.

The copy used in this sample is below. Try to paste it to you Power App now!

- Header1:
   Control: Header
   Properties:
      IsLogoVisible: =false
      Title: =$"Welcome to Code View, {User().FullName}"

This is just the first step to create more experiences for code-first developers in Power Apps Studio. We’ll support editing directly in the Studio soon as well, keep an eye out. Your code is also going to be available natively to your source code solutions, giving you transparency around changes like any other software project.

More content from Microsoft Build 2024

Using Power Platform to accelerate full-stack software development – To learn more about Code first development with Power Platform.

Enable every developer to collaborate with low code + pro code – To learn more about Low code and Pro code collaboration.

The post Introducing Code View in Power Apps Studio (Public Preview) appeared first on Microsoft Power Platform Blog.

]]>
Announcing General Availability of Custom Connectors in Solutions as well as Environment Variable Secrets  http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/announcing-general-availability-of-custom-connectors-in-solutions-as-well-as-environment-variable-secrets/ Mon, 14 Aug 2023 15:30:00 +0000 We are thrilled to announce General Availability (GA) of a few connector related features within the Power Platform ecosystem including custom connectors in solutions, environment variable secrets using Azure Key Vault secrets, as well as connector activity logs.

The post Announcing General Availability of Custom Connectors in Solutions as well as Environment Variable Secrets  appeared first on Microsoft Power Platform Blog.

]]>
We are thrilled to announce General Availability (GA) of a few connector related features within the Power Platform ecosystem:  

These first two advancements empower you to extend the capabilities of the Power Platform and enhance your application lifecycle management (ALM) processes. 

Firstly, we are excited to bring custom connectors in solutions out of public preview and into General Availability. While Azure Logic Apps, Microsoft Power Automate, and Microsoft Power Apps offer over 1,000 connectors to connect to Microsoft and verified services, you may want to communicate with services that aren’t available as prebuilt connectors. Now your custom connectors can be easily transferred between environments via solutions. This includes the GA of custom code within your custom connectors which enables you to transform request and response payloads beyond the scope of existing policy templates.   

Additionally, we are delighted to announce the General Availability of support for environment variables using Azure Key Vault secrets. By leveraging Azure Key Vault, you can securely store and manage sensitive information, such as API keys, credentials, and connection strings. With environment variables, you can seamlessly access these secrets within your Power Automate Flows and custom connectors, ensuring that sensitive information remains protected and reducing the risk of accidental exposure. 

We would also like to announce GA of the Power Platform connector activity logs. The activity logging feature now allows you to view events related to connections and custom connectors. 

The post Announcing General Availability of Custom Connectors in Solutions as well as Environment Variable Secrets  appeared first on Microsoft Power Platform Blog.

]]>
Releasing the February Update for the Developer Tools (Power Platform CLI) http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/releasing-the-february-update-for-the-developer-tools-power-platform-cli/ Mon, 20 Mar 2023 14:14:16 +0000 We are happy to finally release our February update for the Power Platform CLI. For those of you who are new, our pattern has been that we release an update for the work done in the last month, in the current month. Usually, we each include some new capabilities, along with the usual fixes that

The post Releasing the February Update for the Developer Tools (Power Platform CLI) appeared first on Microsoft Power Platform Blog.

]]>
We are happy to finally release our February update for the Power Platform CLI. For those of you who are new, our pattern has been that we release an update for the work done in the last month, in the current month. Usually, we each include some new capabilities, along with the usual fixes that we hear from you folks along the way.

Firstly, we have a new icon for the Power Platform CLI and the Power Platform Developers tools in general, and it looks like this.

Our new icon for the Power Platform Tools

A lot of you folks had asked for something more meaningful to represent the developer tooling capabilities of power platform. Well, we finally delivered, and we are happy for it. Thank you all for your support. You will start seeing the icon updates happen shortly in all the relevant web tooling properties like the Visual Studio Code activity panel, Azure DevOps, Visual Studio Marketplace etc. just to name a few.

Less noisy solution.xml

Now let us get into the meat of things. We did not put a blog out in January, but one of the features that we included, and we did not talk about was that solution.xml is less noisy when diffing in source control repositories. Here is an example of the same solution files unpacked with an older version versus the new version of Power platform CLI. The new output is on the left-hand side of the picture below

The diff between the new solutio.xml (left) and the old solution.xml (right)

New command!! (Preview) The fetch command

We knew a lot of folks in the community used the fetchxml capability to query dataverse, and our team’s internal build had a similar command that is used by our development team everyday. We have decided to make this command available in preview capacity for you all to use in the innerloop context. For those you who may not be aware of the fetch capability. Developers building applications for Power Platform usually need to query the dataverse instance to get various properties of the Dataverse entities in question. We now have the ability to do the same thing in the Power Platform CLI. When using the -x parameter remember to have all the XML nodes in a single line and not multiple lines or you can use the -xf and read it from the XML file

Output from the Fetch command

New Command !! pac admin status

When using the Admin commands, which operate in async mode, most of you had asked us, ” how do I really know if the async job request is done?”. Now we have a command that shows you the status of the async job with pac admin status

pac admin status output

More details of the all the features are captured in the release notes at this link

Please try out these capabilities and give us feedback at the following location ISVFeedback@Microsoft.com or The PowerUsers community. Raise the issue and bugs at the following location in GitHub https://aka.ms/powerplatform-vscode.

The post Releasing the February Update for the Developer Tools (Power Platform CLI) appeared first on Microsoft Power Platform Blog.

]]>
Meet the developers combining Power Platform and Azure to go faster http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/meet-the-developers-combining-power-platform-and-azure-to-go-faster/ Sat, 04 Feb 2023 14:05:31 +0000 Meet software developers embracing low-code as a powerful part of their toolkit and look at how organizations are using Power Platform and Azure services to build solutions faster than ever before. 

The post Meet the developers combining Power Platform and Azure to go faster appeared first on Microsoft Power Platform Blog.

]]>
Software developers around the world are embracing low-code as a powerful part of their toolkit — they look at Microsoft Power Platform as the next layer of abstraction that reduces repeated work, adds to their skill set, and lets them focus their coding energy on the problems that matter most. The increased level of productivity is also changing the way these developers work with their users — as fusion teams creating a much more active and rewarding environment for building impactful solutions faster than ever before.

Let’s meet a few of these developers and look at solutions built using Power Platform along with Azure services.

Meet the developers

Gini Brandon is a Power Platform developer at Nuclear Promise X. “I didn’t really plan to go into or stay with Power Platform when I started,” was her initial sentiment when introduced to low-code. As she learned more and built impactful solutions, she eventually fell in love with what Power Platform enables for everyone, including professional developers like herself. In this video, Gini talks about her journey graduating with a computer science degree, how she’s been able to increase efficiency using Power Platform, why she believes low code is the future of development, and how you can get started.

Gini Brandon shares her journey of adopting low code as a professional developer

There are thousands of developers like Gini who have used Microsoft Power Platform in conjunction with code-first development tools and services to build enterprise grade digital solutions. Let’s meet a few of them and get a deep look into some of the solutions.

Photo of the team: From left: Chris Jaques, Shayne Ephraim, Justin Bailey, Michael King, Saif Al Mahmud
Chris Jaques
At Western States Caterpillar, Chris used Power Apps with custom connectors to equip field staff with mobile apps that integrate with internal and external systems. Chris has added Power Platform skills to his 20+ years of experience building .NET apps and full stack solutions.

“We love where Microsoft is going with ‘low code meets pro dev’.”

customer story | MBAS presentation

   

story
Diane Fligiel
With a background in software development, Diane has several years of IT experience and is now enabling others in her organization to adopt low-code.

“I am interested in finding the best solution to the problem, and using low-code or no-code options can help me find and create solutions quicker. It’s about finding the most efficient solution, and empowering others in the company to do the same.”


story
Emil Hovgaard
Since 2019, Emil has been the Product Management Leader managing 30+ pro-developers where his team at the EY Nordic Tech Hub created solutions using Power Platform, Azure, and SAP.

His team built the solution “PowerPost” which integrates Power Platform with SAP that has led to 30% cost reduction and 95% lead time reduction.

customer story | Microsoft Ignite 2022 presentation

   

story
Jeffery Kozera
As a Senior Automation Developer at the City of Ottawa IT team, Jeffery has built Power Virtual Agents chatbots, trained citizen developers, and integrated Power Platform solutions with Azure DevOps and external APIs.

“We integrated Power Platform with Azure DevOps, which allowed us to do source control, automated pipelines, and release approvals.”

customer story | MBAS presentation


brian hodel
Brian Hodel
As a Principal Developer at T-Mobile, Brian has utilized his solution architecture, business analyst, and Lean/Six Sigma skills to develop business critical applications using the entire spectrum of Microsoft Power Platform products.

“Microsoft Power Platform gives you access to a set of tools to solve an array of challenges in a variety of ways. It is accessible to everyone, from beginners to pro developers.”

customer story | video | MBAS – Power Platform | MBAS – RPA


story
Geetha Sivasailam
At Artis Consulting, Geetha is a Power Platform Lead with 16+ years of experience delivering cutting-edge business solutions leveraging Custom App Dev implementations, Microsoft Business Applications and various emerging technologies such as Azure services, AI & Analytics.

“Microsoft Power Platform offers a rich spectrum of extensibility and integration capabilities that enable organizations to realize ROI faster. It empowers both pro developers and citizen developers to rapidly build applications and deliver solutions to meet business demands.”

Meet the organizations

Organizations around the globe have adopted Microsoft Power Platform along with Azure and Dynamics 365 to build flagship applications and establish centers of excellence to scale adoption and impact of low-code solutions.

blackmores
Blackmores
A team of full stack developers used Dynamics 365 and Power Platform, along with Microsoft Dataverse, to consolidate and unify several systems. Includes apps for coaching sales staff, managing vendors, and more.
graphical user interface, website
City of Ottawa
City of Ottawa IT used a fusion development approach to deploy an external facing chatbot for citizens and an internal chatbot for employees. The chatbot built using Power Virtual Agents uses Power Automate and custom code to integrate with multiple internal and external systems.
coca cola drink machines
Coca-Cola Bottling Company United
Power Automate desktop flows were used to automate complex back-end processes for managing vending machines cartridge replacements.
Banner image for Ecolab story. Mentions App leader Lori Jarchow, 50K+ employees, Industry - Chemicals, Country - United States
Ecolab
Ecolab leveraged Power Platform integrated with Dynamics 365, Azure, and Microsoft 365 to build “The Hub” – a unified app for managing core sales and service processes.
EY PPP_SolutionArchitecture
EY
Complex digital solutions built by code-first professional developers working in fusion teams. They use Power Platform (including Dataverse) along with Azure and integrate with several third-party services. Scenarios include – processing emergency loans for small businesses, managing global employee mobility, transforming an annual salary review process, helping executives manage quality and risks, and more
FortisAlberta thumbnail image FortisAlberta
FortisAlberta won a Canadian Safety Technology Award for this Microsoft Power Platform solution. To more efficiently document Injury Prevention Plans (IPPs), they transitioned away from paper forms to using Power Apps and Power BI. Solution built by Fidelity Factory.
customer story
G&J Pepsi thumbnail
G&J Pepsi
G&J Pepsi has digitally transformed their organization with Power Apps, Power Automate and Power BI, equipping nearly 900 field personnel with mobile apps that have saved the organization over $1.5 million.
IKEA Sweden thumbnail
IKEA Sweden
Power Apps apps are used to manage in-store kitchen sales appointments, B2B sales pipeline, and speed up customer support requests. Built by Microsoft Gold Partner Capgemini.
logo
NSure
Nsure.com is a proprietary online insurance shopping platform that enables consumers to transparently compare home and auto insurance quotes from more than 50 top-rated insurers and purchase a policy within minutes. A back-end system driven by Power Platform, Dynamics 365, and Azure services automates much of the process. The automation has resulted in over 50% of their customers completing their insurance purchasing without having to speak to an agent.
   
graphical user interface
Rabobank
Rabobank is the second-largest bank in the Netherlands, with more than 40,000 employees in 38 countries. As part of a broad digitization strategy, Rabobank adopted Power Platform to streamline internal processes and today runs more than 2,500 Power Apps and Power Automate solutions, built in partnership between code-first and citizen developers. Over 55% of the entire organization uses Power Platform solutions. As one example, a “Reorganization App” built to assist HR and managers has reduced an analysis that used to take three weeks down to three minutes.
blog post | customer story | customer story – Power Virtual Agents
Toyota
Toyota has established a center of excellence to enable makers across the organization to build solutions. They’ve extended Power Apps development with Microsoft Azure Cognitive Services and Azure Machine Learning to create an accessory installation app that uses computer vision to look at vehicles and determine whether they are equipped with the appropriate equipment and whether that equipment is in the desired condition.
Banner image for Western States Caterpillar story. Includes team photo, mobile app screenshot and information - company size: 1000+ employees, Industry: Manufacturing, Country: United States
Western States Caterpillar
Western States Caterpillar Equipment Company is an authorized Caterpillar dealer with seventeen branches in the United States. Pro-developers in the IT team built mobile Power Apps solutions in collaboration with business teams. The apps connect with multiple internal and external systems and are used to manage equipment rentals, sales activities, and more. As a result, rental returns across their $140M fleet of equipment can now be processed and equipment made ready to rent again within a single day.
customer story | MBAS presentation

Solution Architecture Examples

These are a few real-world solution architecture examples that show how low-code capabilities in Power Platform are used in conjunction with code-first programming patterns and capabilities in Microsoft Azure.

Rabobank – Scaling adoption across the organization 

Rabobank is the second-largest bank in the Netherlands, with more than 40,000 employees in 38 countries. As part of a broad digitization strategy, Rabobank adopted Power Platform to streamline internal processes and today runs more than 2,500 Power Apps and Power Automate solutions. Power Platform was recently chosen as the default platform for all internal application and business process automation development.

They built a solution called R@app (Reorganization App) that uses Power Apps, Power Automate, Power BI, SharePoint, Bing Maps, Azure SQL, and Azure Data Factory. It integrates with Workday, the bank’s HR system, and leverages customized Python algorithms.

The solution was delivered right on schedule and performance was even better than expected. To quote the customer, “With our reorganization app (R@pp) built with Power Platform, analysis that used to take three weeks can now be done in three minutes. Better yet, we have achieved a placement accuracy of 99.1%, which is far higher than what we could manage previously.”

For more details: Read the Rabobank story

The business process flow for the bank’s reorganization app called R@pp. The solution includes integration with Workday, the bank’s HR system, and a customized Python algorithm.

The business process flow for the bank’s reorganization app called R@pp. 

EY – Loan forgiveness portal

When the COVID-19 pandemic hit the United States, the government passed the Coronavirus Aid, Relief, and Economic Security (CARES) Act, which included financial support for small businesses. This support was provided under the Paycheck Protection Program (PPP), and it included loans as well as forgiveness on qualified expenses. The scope was huge, and banks had to rapidly respond to manage tens of thousands of applications.

A team of professional developers in the Low Code Services area within the Client Technology division at EY turned to Microsoft Power Platform and Azure and were able to successfully stand up a solution within weeks as opposed to months. The solution that EY created consists primarily of two different applications: a borrower portal using Power Pages, and the lender application using a Power Apps model-driven app. Both interact with the same data that is stored within Dataverse. The solution works seamlessly with multiple third-party services using both prebuilt and custom connectors. This ability was one of the most important aspects of the solution. It’s what enabled the tool to cover the entire application process and submit a complete loan forgiveness application—something other competitors couldn’t match.

For more details: Read the EY-PPP customer story | Watch the EY-PPP presentation | Watch the EY-PPP video

Architecture diagram of EY solution

Diagram showing the complete solution architecture, including connectors to multiple services covering user authentication, data verification, and submission.

Blackmores Group – Enabling rapid development of new products

Blackmores Group is a highly regarded Australian health supplement maker. In a field where new product development plays a key role in maintaining market share, time is critical. Blackmores wanted to uncover the insights it needed to hasten product development and costly off-the-shelf options didn’t quite fit the company’s requirements.

The fusion development team at Blackmores designed “Project Lucky” as a central platform that brings together data scattered among 10 siloed business systems. It uses Dataverse as the data repository and incorporates a broad spectrum of Azure services, including Azure Functions to easily connect data sources for easier processing and faster reaction to events. The team uses Azure Data Lake Storage to scale and secure its data lake with encryption at rest and for advanced threat protection. With the Application Insights feature in Azure Monitor, the team gains a rich outlook across applications that accelerates proactive remediation. Blackmores relies on Azure Event Hubs, a fully managed, real-time data ingestion service. A future version will incorporate Azure Machine Learning and other AI capabilities in Azure.

“Our team treats Power Apps and Azure as one platform that we use to build our solutions… Our ability to extend Microsoft Power Platform with Azure gives us the confidence to use it for complex projects like Project Lucky.”

– Tijn Tacke, Head of Business Applications, Blackmores Group

For more details: Read the Blackmores customer story | Watch the Blackmores presentation

Solution architecture for Project Lucky

Solution architecture diagram for Project Lucky

IKEA Sweden – Reimagining the customer experience

IKEA Sweden partnered with Capgemini, a Microsoft Gold Partner, to build a Dynamics 365 and Power Platform solution for its sales staff to improve the kitchen buying experience for individual customers (B2C) and businesses (B2B). This project enabled tracking of the sales process from the first meeting with the customer to the installation of the kitchen and contributed toward IKEA realizing the vision of having a holistic single view of the customer over the lifetime of their relationship.

The solution architecture includes Dynamics 365 Sales and Power Apps model-driven apps as the front-end experience. Dynamics 365 Field Service is used for scheduling and distributing appointments. Power Automate is used for automatic updates of status fields and sending notifications. All data is stored in Dataverse. Azure Logic Apps is used to email customer meeting summary notes and quotes. Azure functions are used for complex and time-consuming custom business logic. Azure blob storage is used for secure storage of information. Azure Key Vault is used for managing credentials and storing access and security related data in the cloud.

For more details: Read the IKEA Sweden technical case study on the Power Apps blog

Solution architecture diagram for the IKEA Kitchen solution

Solution architecture diagram for the IKEA Kitchen Tool solution

Western States Caterpillar: Mobile apps for the field

With a thriving rental business across several stores in the United States, Western States Caterpillar turned to Microsoft Power Platform to modernize and transform two critical business processes that were fundamental to their growth:

  • Managing the rental return process in a way that reduced turnaround time – “Return to Ready” app
  • Enabling sales teams in the field to better understand their prospects and customer spend – “Client Connect” app.

The Strategy & BI Solutions team followed a ‘low-code plus code-first’ development pattern for both their Return to Ready and Client Connect apps. Both apps read equipment and customer spend data from a SQL Server database which is a replication of their Microsoft Dynamics AX 2012 ERP data. The retrieve and write of data and events are performed through a Power Platform custom connector which interacts with custom web APIs developed in ASP .NET Core. The two apps have been developed with Power Apps. All pictures taken from the Return to Ready app is handled by an Azure hosted web API that leverages Azure Blob storage. The AI Builder Business Card scanner is used by the Client Connect app to create prospects and contacts easily across all their stores. All information of their rentals and sales created and updated in the apps are surfaced into Power BI reports.

For more details: Read the Western States Caterpillar technical case study on the Power Apps blog

Screenshot of Swagger definition for custom connector

Screenshot of swagger definition file for the custom connector

Solution architecture diagram for Western States Caterpillar mobile apps built using Microsoft Power Platform and pro-code extensibility.

High level solution architecture that combines low-code and code-first development patterns

Get involved

  1. Sign up for the free Power Apps Developer Plan.
  2. Enroll in the Cloud Skills Challenge to learn more about low code and fusion team fundamentals and start climbing that leaderboard!
  3. Save the #LowCode February page to start your learning on Feb 1, and Subscribe to the blog in your favorite feed reader for updates.

Resources

Video thumbnail to launch 'Power Platform loves Developers' montage video

Watch developers from around world share their perspective on adopting Power Platform to go faster

100+ Power Platform customer stories

70+ Power Platform customer story videos

 

The post Meet the developers combining Power Platform and Azure to go faster appeared first on Microsoft Power Platform Blog.

]]>
T-Mobile saves thousands of hours with Power Platform solution to manage customer initiatives http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/tmobile/ Mon, 02 Jan 2023 17:05:08 +0000 T-Mobile has seen widespread organic adoption of Microsoft Power Platform with hundreds of makers building apps and flows across several departments. This post describes the "Orbit" solution used to manage approvals for company-wide initiatives, and the community of internal champions building low code solutions.

The post T-Mobile saves thousands of hours with Power Platform solution to manage customer initiatives appeared first on Microsoft Power Platform Blog.

]]>
T-Mobile provides wireless voice, messaging, and data services in the United States, Puerto Rico and the U.S. Virgin Islands under the T-Mobile and Metro by T-Mobile brands. The company has over 50,000 employees and operates the third largest wireless network in the U.S. market, serving over 84 million customers. Its nationwide network reaches 98 percent of Americans. As of 2018, J. D. Power and Associates, a global marketing-information-services firm, ranked the company highest among major wireless carriers for retail-store satisfaction four years consecutively and highest for wireless customer care two years consecutively.

T-Mobile has seen widespread adoption of Microsoft Power Platform with hundreds of makers building apps and flows across several departments. In this post we’ll take a deep dive look at the “Orbit App” that has saved the company over $4M USD and 97,000 hours. The solution was built by Brian Hodel, a Senior Systems Analyst with a pro-dev background, who has embraced low code and the Power Platform to build complex flagship solutions. Orbit is used by team members, projects leads and executives to approve all new initiatives across the company, such as device promotions, service offers, and more. It uses Power Apps (canvas and model-driven apps), Power Automate, Power BI, Dataverse, and integrates with Microsoft Teams. The app has been running in production since February 2020. The team has been able to support a growth of 150% each year and a total 800% increase in go-to-market initiatives without needing to add additional resources.

In 2021, with the acquisition of Sprint, T-Mobile needed to integrate Orbit with Sprint’s legacy back-end systems. They turned to the robotic process automation (RPA) capabilities in Power Automate to help the two systems operate as one. As a result, they’ve been able to process 11x more requests in real time, improve the overall processing time by 12x and reduce errors from 7% to 0%.
Read the case study here for more details on T-Mobile’s usage of Power Automate, AI Builder and Power Virtual Agents.

Video thumbnail showing screenshot of solution
3 min video – Orbit app and internal community of makers
Video thumbnail showing ROI stats from Power Automate solution
Interview with Brian Hodel – expanding Orbit to use Power Automate for desktop, AI Builder, Power Virtual Agents and Process Advisor

Orbit App

Business scenario

For T-Mobile to be competitive and a leader in the telecommunications industry, there are a myriad of customer initiatives that are constantly being run, such as device promotions, service offers, technical initiatives, etc. The complex customer initiatives process, from initial input to final approval takes months to complete and involves anywhere from 5 to 15 employees at every stage. This includes project members, team leads, and executives. The process is owned by the marketing team, but it involves inputs and approvals from almost all business functions such as legal, finance, sales, IT, etc.

Before Microsoft Power Platform

Prior to the Power Platform solution, the initiatives process was not centralized. There was no cohesive way that intakes were inputted or reviewed, and mainly Excel was used to run the process. It was time and labor intensive and cumbersome to review.

Power Platform Solution

After an initial Power Apps pilot using a canvas app connected to SQL, the team decided to rebuild the app using Dataverse. They built a reconstructed Orbit app that had many new features and far surpassed the capabilities of the original SQL-based app. The rebuilt version took advantage of several out of box capabilities Dataverse such as generating declarative UI based on a data model (model-driven app), configuring business process flows, and easily configuring role-based security permissions. The solution has been in production since February 2020 with thousands of customer initiatives being managed in the app, 700 of which were created within the first two months of going live. The solution is available to ~40k users at T-Mobile and has over 250 active users every day. In a single month, there are approximately 400k API calls and 600+ unique active users performing ~150k CRUD (Create, Read, Update, Delete) operations on production records.

Power Apps canvas app for tracking initiatives and managing multi-stage approval process

So how is Orbit used by project team members? When a project member needs to create a new initiative, such as a promotion for a new device, they go into the app, input the details, and attach all relevant documentation for their team leader to review. The app is also used by T-Mobile executives to review and approve initiatives. The various tabs in the app are used in specific ways by different members of the team. For example, an executive may use the ‘summary’ view to read the comprehensive notes and key stakeholders on the initiative, whereas a project member will use the ‘detail’ tab to input all the details of the initiative. Once the initiative is entered, a series of follow-up actions are triggered based on the type of promotion – e.g. service offers, device promotions, etc. Some of the key functional features of the solution is as follows:

  • Managing initiative details: The input forms have built-in smarts, such as dynamically showing fields based on the type of promotion selected and performing input validations for each field.
  • Approvals: Once the initiative details are added to Orbit, an approval flow runs and sends an email to the appropriate executive to approve. Executives can view all their pending approvals within the app.
  • Viewing and filtering initiatives: All team members can view the full list of initiatives. The list can be filtered based on several fields, such as pending approval, date, project type, etc., as well as free text queries.
  • Executive summary: This view is used by executives to get a summary view on the initiative, including the key stakeholders. The page has a toggle that allows executives to make changes depending on their permissions.
  • Attachments and document storage: Project members can upload multiple documents as attachments for each initiative. There is built-in logic, so depending on the initiative type, there are placeholders for the appropriate required documents.
  • Note taking: During meetings, project members take notes related to specific initiatives – all this information is kept up to date in real-time in a single central location.
  • Managing security and team permissions: There is a complex hierarchical permission structure in the back end. Levels of permission vary for different teams, sorted by line of business, role of the individual on the team, etc. For example, most people won’t have access to “dark” records, or some individuals will only have view rights versus edit rights.

Impact and benefits

A summary of the key benefits and impact of the Power Platform solution are as follows:

  • One source of truth – a single system where all the data is centralized
  • Easy to scale app with data-driven approach – easy to add a new ‘type’ of initiative based on business requirements
  • A complex system that is built on low code with a lot of flexibility to make changes
  • Permissions are managed at a granular level with the ability to add and remove users as roles are predefined
  • Administrators have flexibility to do a lot of custom activities – like custom Power BI reporting, audit logs etc.
  • Teams Adaptive cards brings together a news feed and task list into a single place for project members to act on.

Overall, the Orbit app has been a powerful example that brings together the capabilities and extensibility available in the Power Platform to implement a business critical solution, which is used to manage the pipeline for new initiatives and approvals across several departments at T-Mobile. Next, let’s take a deeper look at the technical details of this solution.

Solution architecture and implementation patterns

Orbit has complex capabilities with extensive amounts of data that needed to be entered, reviewed, and analyzed. The team made several architecture and implementation choices to utilize the full spectrum of capabilities of what the Power Platform has to offer.

T-Mobile Orbit Architecture

High level solution architecture of the Orbit solution

Choosing to build Orbit as a canvas app

The executives at T-Mobile were particular about the look and feel of the app – they wanted a T-Mobile branded experience and were particular about various UI elements on the screen – layout, size, etc. For this reason, they chose to build it as a canvas app and put in the extra effort to get pixel perfect control over the UI. At the same time, there are several benefits that come with model-driven apps such as auto-generation of the user interface based on the underlying data model and using business process flows. The subsequent sections below describe how these were incorporated into the holistic solution.

Using Business Process Flows (BPF) in a canvas app

Dataverse provides rich capabilities for managing complex business process flows. This is typically exposed to makers and users within model-driven apps. Since this solution was a canvas app, the team implemented a custom connector to directly interface with the underlying CDS business process flow engine using the CDS APIs. To use render a BPF within Canvas App, T-Mobile tapped into the rich APIs available with CDS. To accomplish that, they created a “codeless” custom connector in which they only defined the Open API spec that lines-up with the underlying CDS API service without building the service itself.
Depending on the type of the initiative and the approvals needed, the appropriate flow path is assigned. For more details, including a downloadable sample template, see this article on using BPF in canvas apps.

Canvas app user interface for the business process flow

T-Mobile Business Process Flow

Business Process Flow – creating and updating process stages in a no-code editor

Using canvas components

There are shared Power Apps canvas components used throughout the app. This made it easier to repurpose common elements, reducing the overall development time and improving the maintainability of the app. Some examples of components are as follows:

  • Top navigation bar with menu options
  • Left navigation bar that allows the team members to input and view specifics
  • Interface for selecting filters in the main list view
  • Form components with built in validation logic

Screenshot showing usage of canvas components

Using Dataverse for attachments

The documents associated with initiative that are tracked in the system are stored in Dataverse. T-Mobile chose Dataverse over other document management solutions because it scales to accommodate large files, and the team wanted to keep everything in one environment. There is also a version control feature – the history of each document is stored, along with the latest version.

Screen used to manage attachments associated with an initiative

Managing user permissions

Dataverse provides a security model that protects data integrity and privacy, and supports efficient data access while providing users with the access only to the appropriate levels of information that is required to do their work. In the case of T-Mobile, the app was used by executives, project managers, and team members, each needing different views over the data given their role. There is a complex hierarchical permission structure in the back end, which makes it easy to add someone because the permissions are pre-defined. They have also leveraged the Teams Channel permissions to manage certain groups of users.

Robust role-based security access – configurable in canvas app using CDS User Security Management APIs

Model-driven app

A model driven app is used by back-end administrators to perform a wide range of additional activities that are not built into the canvas app. This includes – advanced search capabilities, exporting data to Excel, and more. For this target audience, the user interface did not need a high level of branding and layout customization and the model-driven approach worked well to rapidly generate an application with responsive UI.

Power Apps model-driven app used by backend administrators to manage initiatives

Teams integration

The Orbit app is embedded in a Teams tab, along with the associated Power BI reports. A news feed of high visibility changes, such as new submissions or intakes, shows up on the Posts tab. Utilizing Teams allows project members to have a single place to access Orbit related tools and information.

Power Apps and Power BI run embedded within tabs in Microsoft Teams

Teams Adaptive Cards

Utilizing the Adaptive Cards feature in Teams allows project members to have customized news feeds that let them easily find out what is going on with initiatives in a single place. The Adaptive Cards has allowed the business to design custom, interactive cards that can display and gather information related to initiatives in a variety of ways so users can easily identify and interact with initiatives from directly within Teams.

Screenshot of an adaptive card posted in a Teams channel using Power Automate

Power Automate

Power Automate was not only used to send approval notifications but also as a “low code” mechanism to process data on the server-side and return an appropriately formatted data response to Power Apps. In effect, a substitute to building a full fledge API service. In the case of the Business Process Flows, Power Automate was used to orchestrate Approval requests creation and process stage advancement as can be seen in the following flow.


Power BI

Dashboards and reports built using Power BI are used to get detailed analytics and visualization on the progress of initiatives as they progress through the approval pipeline. These reports are also embedded as tabs within Teams.

Power BI dashboard for tracking approvals

Building a community of makers

The sections above provided a deep dive look into one solution. Across T-Mobile, there are several other app makers in different departments that have discovered the Power Platform and are using it to solve business problems. Let’s look at the efforts of one individual, Arturo Silis, who is bringing these individuals together as a community of Power Platform makers.

Arturo Silis has spent twelve years at T-Mobile. His roles have varied from a sim card hardware engineer to a software engineer. He is currently a Principal Systems Architect. The focus of his job is to be the interface between the business and core networks – to gather business requirements from various team members and build a network offer. The first Power Platform solution that Arturo built was used to optimize an old manual process of collecting offer requirements. He used Power Apps to digitize the intake of offer requirements, Power Automate for reviewing offers, and Power BI for progress reports.

This was just the beginning of Arturo’s Power Platform journey. In 2018 he was invited to join the Power Apps Champions community managed by Microsoft, which inspired him to build a similar community within T-Mobile. He was driven by the productivity that could be found when manual processes were automated using Power Apps. Instead of answering one-on-one questions, he decided to build a community and host ongoing monthly learning sessions. There is now a community of 230+ members within T-Mobile that regularly collaborate and share learnings and best practices using SharePoint and Teams. While this is not Arturo’s day job, it is his passion to build this community, that in turn teaches others to use the right tools for the right solutions. Hear more about Arturo’s experience in this Microsoft Business Applications Summit 2020 interview with Dona Sarkar.

Quote from Arturo Silis - "The champions group at T-Mobile is a diverse set of people across the organization - retail, finance, legal, sales and technology. What brings us together is the excitement of finding new ways to solve everyday problems with apps and flows. Becoming a Power Platform developer has given me the opportunity to connect with T-Mobile employees across the organization and share new ways to solve problems and become more effective."

Conversation with Brian Hodel on pro-developers adopting low-code

For over 10 years, Brian has worked in process improvement in industries ranging from manufacturing to healthcare. During that time, he realized that the two biggest barriers to change across all industries is people and technology. He says, “people don’t like change and technology is expensive and slow to change.” To address these challenges, he began leveraging the Microsoft 365 suite and built live dashboards and reports to share real-time information with employees and management. This changed their perspective from reactive to proactive, preventing problems before they happened. When he came across Power Apps, he immediately saw the potential to further build on the existing tools, without the large investment that is typically involved with building custom applications.

Skip forward a couple of years, and many custom applications later – Brian has successfully built and deployed a comprehensive project management platform that leverages all of the great features and capabilities that those tools offer. He has also been working with other makers in the organization through one to one sessions, workshops, and demonstrations to build their skillsets and implement best practices. He is currently working with the platform team and T-Mobile IT to deploy the Center of Excellence Starter Kit to give better guidance and resources to makers in the organization.

Here’s Brian’s perspective, in his own words, on building partnerships between pro devs and citizen devs:

What scenarios do you see where citizen developers are likely to call in a pro dev?
“I definitely think a pro-dev should be called, at least for consulting on a build strategy and architecture review, anytime there is an expectation of a large amount of data or a complex data structure. I have seen many times where apps are built on SharePoint where it works fine until they start running into delegation issues and suddenly find out that the whole things needs to be moved into a another platform.”
Do you have any examples of where pro devs call in citizen devs to collaborate on a solution?
“There are times where I just hand off a project to a citizen dev because I feel it is a learning opportunity and/or simple enough that the citizen dev will be able to handle it. Often, especially on teams that are used to building on other tools, they tend to overestimate the complexity of the solution at hand. My background is in process improvement, so I am used to the Six Sigma structure of mentorship and growth. I think that same model applies to this situation as well, where you can have, ideally, defined skill levels that help you to optimize your developer resources, have a structure for learning and growth, and have an established path to find answers to questions.”
How do you see pro dev and citizen dev working together?
On larger projects, I like to separate administrative functions out into other apps, especially if they are stopgap issues, until the new tool can be up and running. I like to use these opportunities to have a citizen dev work alongside me to both have a concept of how the new tool is built, but also to build the smaller solutions that I need for various roles. The nice part of this is that it helps with my bandwidth and gives them an opportunity to have coaching along the way to learn best practices and new methods.

Related links

The post T-Mobile saves thousands of hours with Power Platform solution to manage customer initiatives appeared first on Microsoft Power Platform Blog.

]]>
Power Platform Developer Tools November update http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/power-platform-developer-tools-november-update/ Wed, 14 Dec 2022 17:00:00 +0000 We are glad to announce the release of our final 2022 deliverable, the November update for Power Platform CLI, Azure DevOps, and GitHub actions. Once again, this month’s update has some great new features available, and I am happy to share them with you. Support for Managed Identities in Azure DevOps This has by far

The post Power Platform Developer Tools November update appeared first on Microsoft Power Platform Blog.

]]>
We are glad to announce the release of our final 2022 deliverable, the November update for Power Platform CLI, Azure DevOps, and GitHub actions. Once again, this month’s update has some great new features available, and I am happy to share them with you.

Support for Managed Identities in Azure DevOps

This has by far been one of the most requested features. Support for Managed Identities in Azure DevOps. The Managed Identities support has to do with Azure DevOps pipelines, self-hosted agent pools. So before you get started in Azure DevOps, you need to go to Azure Portal and Create an Azure VM Scale Set
Text

Description automatically generated

Figure 1: Script to create a VM agent pool

Assign a system managed or a user managed identity to the VM Agent pool. Notice the Object id, as this is needed later.

Graphical user interface, text, application, email

Description automatically generated

Figure 2: Created a system managed Identity for the VM Agent Pool

Now Let us go into Azure DevOps and go to <DevOps Organization -> settings -> Agent Pool and create a new agent pool mapped to Azure VM scale set

Graphical user interface, text, application, email

Description automatically generated

Figure 3: Assigning an Agent Pool in Azure DevOps

Add a new agent pool and map this pool to your VM scale set and give it a useful name.

For the maximum number of virtual machines option select 5 (keeping it small) and the number of agents on standby as 2 and proceed to create.

This will now create a new agent pool for you to use in your Azure DevOps pipeline.

Now once this is done, there is one more thing you need to do, create the service connection to use the managed identity for authentication.

Graphical user interface, application

Description automatically generated

Figure 4: Creating a managed identity service connection

Now we create the service connection to use the Managed identity.

For the URL parameter, provide the URL for the environment in question.

And then go to azure and make sure that the Appid for the managed environment has access to import solutions in the dev environment.

Remember the object id for the system managed identity this is where it is useful. You need to get the application ID for Power Platform.

Graphical user interface, text, application, email

Description automatically generated

Figure 5: Getting the Application ID for the Managed Identity

Now, add it to the environment as shown in this figure and give the app id the right role here in this case I have given it the System administrator role.

Graphical user interface, application

Description automatically generated

Figure 6: Adding the Managed Identity App id to the environment

Change your agent pool to the one you have created and make sure to install .NET core 6.x if you are using Linux agents in your VM pool when running the pipeline.

Graphical user interface, text, application, email

Description automatically generated

And the service connection in this case we have changed the service connection for the pipeline and executed the pipeline. Now you can successfully run an Azure DevOps Pipeline with Managed Identity. The wonderful thing about this feature is that when the VM scale group is removed the App identity does not have access to your resource. The best part about managed identities is that you do not have to worry about secrets and key rollover, those are just done as the secrets are managed by Azure and the organization policy you have set in place.

Note: Managed identities are not supported for GitHub actions, yet. If you need us to support the capability in GitHub actions, please let us know.

Assign groups to environments

No sooner than we added the ability to assign-user, we were asked to have the ability to assign an application user and when delivered on that, you asked us to provide the ability to assign user groups. In this update you can now assign groups to newly created environments. This is available in the command line, GitHub Actions and Azure DevOps.


Graphical user interface, text, application, email

Description automatically generated

Support for Power Platform Pipelines

We just recently announced the availability of Power Platform Pipelines, and now using the Power Platform CLI you can list and execute pipelines that are created in Power Platform Pipelines. The new verbs for this new noun are list for listing pipelines and deploy for deploying pipelines.

Text

Description automatically generated

Virtual Agents

This noun was behind the feature flag for a long time, now it is finally here. We only have one verb for support and that is list. It will list out all the virtual agents in your environment.

Graphical user interface, text

Description automatically generated

As you can see, we have continued with our monthly cadence and we always hope to delight our users. Because we are heading into the holiday season, the December/January update will likely ship in February next year. Please try out these capabilities and give us feedback at the following location ISVFeedback@Microsoft.com or The PowerUsers community. Raise the issue and bugs at the following location in GitHub https://aka.ms/powerplatform-vscode.

Happy Holidays and Wish you all a Great New Year!

The post Power Platform Developer Tools November update appeared first on Microsoft Power Platform Blog.

]]>
Power Platform build tools and Azure DevOps http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/power-platform-build-tools-and-azure-devops/ Wed, 14 Dec 2022 00:24:03 +0000 We have had a lot of requests to clarify best practices for using Power Platform Build Tools (PP.BT) for Azure DevOps and are delighted to share more about this in our post below. Username and password versus Service Principal When using Azure DevOps, the Power Platform Build Tools provides you options to either create service

The post Power Platform build tools and Azure DevOps appeared first on Microsoft Power Platform Blog.

]]>
We have had a lot of requests to clarify best practices for using Power Platform Build Tools (PP.BT) for Azure DevOps and are delighted to share more about this in our post below.

Username and password versus Service Principal

When using Azure DevOps, the Power Platform Build Tools provides you options to either create service connections i.e., username and password or Service Principal (SPN). We recommend that you use Service Principal instead of username and password. There is nothing wrong with username and password, it is just that when you have Multi-Factor Authentication enabled, it will break your pipelines. You can use a generic service account as well, but just make sure not to enable MFA for that service account.

Graphical user interface, text, application, email

Description automatically generated

Figure 1: Service Connection with Username and Password

Graphical user interface, text, application, email

Description automatically generated

Figure 2: Service connection with Service Principal accounts

To create a service principal registration, please use the steps listed in the following location: https://learn.microsoft.com/en-us/power-platform/alm/devops-build-tools#configure-service-connections-using-a-service-principal

When using service principals, it is important to understand that service principal used to run your pipeline can and should be different from the service principal authentication you use to your backend data source in the application you are deploying. They should be different SPN’s as a best security practice.

Power Platform tools installer

When creating your pipelines your first task is to install the Power Platform Tools installer. The purpose of the task is to install the latest version of the Power Platform tools to run your builds

Graphical user interface, text, application, email

Description automatically generated

Figure 3: Power Platform Tools installer

Set Service connections

Service connections contain the credentials to use for the backing APIs.  In scenarios were the pipelines need to perform tasks that we do not offer in the Build Tools; we often see users adding Powershell or direct API calls in their pipelines. Set Connection Variables allow the credentials inside the Service Connection to be shared securely for use with Powershell and any other cli that needs those credentials to get a token for the same identity in the service connection.

Administrative tasks

Creating ephemeral test environments and assign user

The Build Tools includes the ability to create and delete environments. This enables you to create a test environment on the fly, load the application to be tested, test the application and then delete the environment as part of the CI/CD process. Although the Application testing part in this case is manual today, in the future, we expect to fully integrate the Test Engine effort into the Power Platform Build Tools in the near future.

Some users use other community-based testing tools to accomplish such capability as well.

You can also use your Azure Pipelines to backup, restore and copy environments.

When using a SPN to create such environments, note that the SPN becomes the owner of these created environments. If you want to change the ownership of these environments to be an interactive user or another SPN, we have introduced a new task called assign user.

Graphical user interface, application, Teams

Description automatically generated

Figure 4: Assign user task

Username can be an application id or a user object id and the Role has to be a role in Dataverse for the newly created environment.

We encourage you to explore some of the other administrative tasks available to Power Platform Build Tools for Azure DevOps.

solution tasks

Most of the tasks available are focused on solutions, since solutions are what you use for any Application Lifecycle Management (ALM) objectives on the Power Platform. When you want to move applications from Development to Test to Production, you should always ensure that all your applications, cloud flows, and bots are in a solution. The following solution tasks are available in the Power Platform Build Tools for Azure DevOps:

Graphical user interface, text, application

Description automatically generated with medium confidence

Figure 5: Solution tasks in Azure DevOps

Set solution version

Once you have successfully imported a solution to the target environment you can set the version on the imported solution. This is generally useful if, users want the solution version to mimic what is captured in the Git repository tag or if you want to keep the version numbers consistent across environments, especially when going from Test to Production. The version number is generally a 4 number tuple

Graphical user interface, text, application, email

Description automatically generated

Figure 6: Setting a solution version

Solution pack and unpack

When you are exporting a solution from the Power Platform environment, and before checking in the solution zip file into the Source Code repository you should always unpack the solution.zip to have the solution represented and understood by your source control system. Use the unpack command to extract the content and check it in to the repository. Consequently, when exporting a solution that is unpacked in a source code repository, you must pack the relevant artifacts back into a solution.zip in order to be able to import it and hence you have the pack command available for this.

Export solution

This task is self-explanatory. When you want to export the artifact from a source environment and put it into a Source code repository, you need to export the solution and this task is created to support such that.

Import solution and apply solution upgrade

Just solution export, solution import works in the inverse. But one of the interesting steps in importing a solution is especially when upgrades are in place. Remember, when applying upgrades, it removes unreferenced resources, you can import the solution as a holding solution.

Graphical user interface, text, application, email

Description automatically generated Graphical user interface, text, application, email

Description automatically generated

Figure 7: Apply solution upgrade

Once the solution is imported as a holding solution then you can run the Apply Solution Upgrade task to complete the import and application of the new changes you are committing to the environment.

Add solution component

When importing a solution if there are other required components that need to be added, then you can list those specific components out. Hence when importing, all those listed components will be added. This will increase the size of the solution as a lot of the dependents will be pulled in. This is the same capability in the Maker UI, where you can add required objects.

Graphical user interface, text, application, email

Description automatically generated Graphical user interface, text, application, email

Description automatically generated

Figure 8: Adding the solution component

How does one find out the component and the component type? When you unpack a solution and open up the solution.xml in the Other directory. In the solution.xml file there is a list of all the components and their respective component type.

Graphical user interface, text

Description automatically generated

Figure 9: Component and their component type

Publish Customizations

Although this is a top-level task it is to publish customizations for all the solutions in the environment. You can specify the environment URL or use the environment set in the variable and it will then publish all the customizations.

Graphical user interface, text, application, email

Description automatically generated

Figure 10: Publishing customizations

Deploy package task

When you have an application that spans multiple solutions, you can add them to a package. When such a package exists, you can deploy the package using this task. You can also specify the runtime sequencing of the applications.

Graphical user interface, text, application, email

Description automatically generated

Figure 10: Package deployment task

Conclusion

These are just a few of the details on how these tasks are used in the day-to-day function of Power platform in the context of a CI/CD environment in Azure DevOps. If you have additional feedback, please reach out to us via the following forums ISVFeedback@Microsoft.com or The PowerUsers community. Raise the issue and bugs at the following location in GitHub https://github.com/microsoft/powerplatform-build-tools

The post Power Platform build tools and Azure DevOps appeared first on Microsoft Power Platform Blog.

]]>
Power Platform Developers tool – October update   http://approjects.co.za/?big=en-us/power-platform/blog/power-apps/power-platform-developers-tool-october-update/ Wed, 23 Nov 2022 17:00:00 +0000 We are delighted to share our October update for the Power Platform Developer tools. With this update, we are releasing some capabilities that have been in high demand by the developer community. So let us get into it. Power platform Command line updates Model builder We are bringing the ability to generate C# classes for

The post Power Platform Developers tool – October update   appeared first on Microsoft Power Platform Blog.

]]>
We are delighted to share our October update for the Power Platform Developer tools. With this update, we are releasing some capabilities that have been in high demand by the developer community. So let us get into it.

Power platform Command line updates

Model builder

We are bringing the ability to generate C# classes for Dataverse APIs and Tables directly from Power Platform CLI. For new developers who want to build applications with Dataverse tables you can now do that. For existing Power Platform Developers, this is the same capability that was provided by the CRMSvcUtil tool. The benefit of using the class generation capability on PAC CLI, is that these classes are .net core compliant.

Text

Description automatically generated

Figure 1: Model builder generating classes

auth with secrets

When we released the capability to create auth profiles with secret, some users noticed that when a secret started with ‘-‘ or hyphen, the auth profile failed to create. This issue has been resolved with this update so please do try it out!

solution pack ,unpack and sync fixes

The pack and unpack commands now support PowerFx formulas in .yaml for Tables.

In addition, we continue to minimize “noisy diff” issues when committing Power Platform artifacts to source code. To that effect, we are now sorting RootComponents, MissingDependecies, and AppModules in the customization.xml files. This ensures that subsequent exports or `pac solution sync` command execution only adds the changed component line entry and does not cause a diff issue with every line.

Text

Description automatically generated

Figure 2: Example of sorting in the Solution.xml with this release

Azure DevOps and GitHub Actions updates

Application Install

A few months ago, we released the ability to install D365 and ISV applications environments from the command line. This was done to make it much simpler to prepare developers and test environments with required applications. With this release, we have now enabled the same for our GitHub Actions and Azure DevOps extension so you can easily include these installs in your CI/CD pipeline. One thing to remember when running the task, you need to have the application list provided as input. You can generate that application list using `pac application list –output applicationlist.json`. Once the JSON file is generated, you can edit it to only include the applications you want to install, reorder the list of applications, and provide it as an input into the CI/CD pipeline.

Figure 3: Application Install list json file

Graphical user interface, text, application, email

Description automatically generated

Figure 4: Application Install task

provide run-time settings for package deploy

When deploying packages, users using the command line could sequence how the solutions ran during runtime with the `pac package deploy –settings <Key=Value|Key=Value>`. Now this is possible with the CI/CD tasks.

Graphical user interface, text, application, email

Description automatically generated

Figure 5: Provide Runtime settings for packages being deployed

If you have additional feedback, please reach out to us via the following forums ISVFeedback@Microsoft.com or The PowerUsers community. Raise the issue and bugs at the following location in GitHub https://aka.ms/powerplatform-vscode

The post Power Platform Developers tool – October update   appeared first on Microsoft Power Platform Blog.

]]>