Power Community

Power Community

Canvas Apps

Announcing general availability of wrap for Power Apps

Larry Knibb, Principal Program Manager, Power Apps, Tuesday, June 14, 2022 Did you ever just want to take your Power Apps app and turn it into a mobile app? Well, now you can… We are delighted to announce that wrap for Power Apps – empowering makers to create secure, custom-branded, standalone Android and iOS enterprise mobile apps with Power Apps – has reached general availability (GA). It has always been possible to create Power Apps applications for mobile end users but running an enterprise app in a mobile web browser doesn’t provide the native mobile experience that your end users are accustomed to with the many high-quality Android and iOS mobile apps they use every day. The Power Apps mobile app for Android and iOS enables rich native mobile experiences, such as barcode scanning, dark mode, NFC tag reading, and even Mixed Reality (MR) controls. But custom branding options are limited, having all your apps in one place isn’t suitable for every scenario, and one-size-fits-all Intune governance limits the diversity of apps that can be deployed together. Wrap for Power Apps is the next step, integrating low-code enterprise apps with Power Apps mobile technology to produce secure (Intune managed) enterprise mobile apps with rich native mobile experiences and seamless end-to-end branding suitable for customer-facing frontline worker scenarios. To get started wrapping your first Android or iOS app based on one or more Power Apps canvas apps, check out the how-to instructions in the online documentation. Important. Wrap is an optional feature that is not installed to all environments by default. You can install it using Power Platform admin center, under Resources > Dynamics 365 apps > Wrap for Power Apps. We hope you love this amazing new capability of Power Apps and can’t wait to hear your feedback. Happy wrapping!

Announcing the general availability of canvas components and component libraries

Hemant Gaur, Principal Program Manager, Wednesday, June 1, 2022 Today, we are excited to announce the general availability (GA) of canvas components and component libraries. Canvas components enable low code/no-code developers to build reusable UX components using default Power Apps controls as core building blocks. These custom components can then be shared across app screens or multiple apps both within and across Power Apps environments. Canvas components contributes directly towards Power Apps vision of empowering everyone to build apps by significantly accelerating app development process. Following are the new enhancements which are part of this GA announcement.Support for component library ALMMakers can now package their apps and component libraries inside a single or multiple solutions and import them into a different environment. If a canvas app is using a component library, it is now tracked as a solution dependency. ALM support ensures that the dependency relationship is maintained in the target environment and any further library versions imported via solutions can deliver the updated components to the app. It enables 1st and 3rd party publishers to ship their components and customizable apps as baseline and then service apps by shipping just the updated component library. All standard solution actions such as managed properties, show dependencies, and add required components are supported inline with the Dataverse solution capabilities .You can find more details here – component library application lifecycle management. Component library ALM support. Image/multimedia file support You can now add multimedia files to the components inside a library. These components can then be used by all apps in an environment. Libraries with multimedia files can be moved across environments using the standard component application lifecycle management (ALM).For details please refer to add multimedia to a component, Add images to component Custom pagesCanvas components can be used in model-driven apps using custom pages.  Canvas component library provide app makers the ability to create custom components using custom page supported set of controls which includes modern Fluent UI controls. These components can then be reused across custom pages and applications, and can be centrally updated, packaged, and moved using Dataverse solutions.For More information see add canvas components to a custom page for your model-driven app. Fundamentals investments – Performance, reliability and accessibility.Canvas components have seen huge adoption across large and small organizations since our public preview announcement. Components already are being utilized heavily by hundreds of thousands of apps. We have been constantly monitoring user feedback, feature usage, errors and have been shipping weekly updates to improve feature fundamentals. Thanks everyone for helping us take feature to GA. Looking forward to next phase of low code extensibility. Cheers,Hemant Gaur

Power Platform Command Line: New Updates (April Refresh) v1.15.x

It is that time of the month again, where we come out with our monthly refresh of the Power Platform Command line. We are really excited about the features that we have packed into this update. Solution command updates In this release pac solution unpack and pack will also unpack Canvas apps using the parameter –processCanvasApps. This is still a preview capability, but from this point on, users will not have to first unpack the solution and then issue a separate command for unpack Canvas Apps. The canvas library to unpack the canvas app has been upgraded to 0.45-preview version. Publish customizations asynchronously. Before when users published their changes, in cases where solutions were too big, users had to wait, now we have changed this functionality to asynchronous, which improves the overall performance of this capability This capability I am really excited about, solution upgrades until recently, there was no way to verify that the solution in the target environment was upgradeable. Now pac solution upgrade does a check in the target environment before proceeding with the upgrade. No more the situation where you realize you can’t upgrade the solution in the target environment only after the upgrade fails. Packaging updates The packaging construct within Power Platform allows a user to bundle multiple solutions into a package and can be deployed all together as one unit. This is particularly useful when you are making your application available via AppSource. Now we have updated the command to support applications that you develop for Teams and One Dynamics and One Platform. The pac package init capability now defaults package project as an SDK style project that can be used from within Visual Studio or Visual Studio Code You can also add pre-built solution.zip files to the package, instead of having to build from source. For plugin development, we have added command tools to allow users to support dependent assemblies into a nuget package. Administration improvements For the administration commands, you can now create, update, and delete Microsoft Teams environments. The pac admin backup command –notes parameter has been deprecated in both the command line and the service endpoint. You can still use your old automation scripts but, please start working on migrating to this capability. If you do provide the –notes the command will emit a warning and it will be ignored. As always we are excited to bring these capabilities to you. 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

Updating ownership for Power Apps apps

Recently, a customer asked a question that we felt would be applicable to many of you responsible for administration of the Microsoft Power Platform: How does removal of an app owner’s profile from Azure Active Directory (AAD) impact access to the app? Before we answer that, you need to know that in Microsoft Power Apps, there are two different application types: Model-driven apps Canvas apps Model-driven apps and canvas apps manage their ownership differently. In this blog post, we’ll explain how to update ownership of each type of app. Note: If you need more background information about the two types of apps, watch The difference between Canvas Apps and Model Apps – YouTube or review Start building apps – Power Apps | Microsoft Docs and Power Apps architectural design – Where to place logic – Power Apps | Microsoft Docs Model-driven and Canvas apps manage their ownership differently. Model-driven app ownership In a model-driven app there is no concept of a co-owner. If the original owner/creator leaves the organization, what happens to the application? Users who already have the app shared with them can continue to use it. What if an update or maintenance is required? Well, our admins can help us here. Users with the role of System Customizer, System Administrator, or Environment Maker in the environment can manage the application but they don’t technically “own” the app. What happens when the owner leaves? Ideally, the owner would work with the organization during their outgoing knowledge transfer sessions: explain what it does, what are the use cases, who is the user-base, and hand over any documentation to a new owner. To change the ownership though you will need to export the application and re-import it under another user. If they leave without being able to do this, then admins noted above can do this. Deleting or removing the owner won’t have any impact on the performance of the app itself. For more information, see Model-driven app FAQ – Power Apps | Microsoft Docs. Below are some common questions relating to ownership and changes: Q: How do you change the owner? A: Export the app and re-import it as under another user. You will need to re-share the app to the users. Q: What happens if the original owner leaves? A: Users who already have access to the app can continue to use it. A: Ideally, the owner would work with the organization to export the application, explain how it operates and hand over any documentation. Q: What happens if we need to update the app? A: Admins can help here. Users with the role(s) of System Customizer, System Administrator or Environment Maker can manage changes to the application. Q: What happens if the owner’s account is deleted? A: Deleting or removing the owner won’t have any impact on the performance of the app itself. Canvas apps ownership Canvas apps, unlike Model-driven apps, can be co-owned or have the owner replaced. If an owner is leaving, they can share the app through the Maker portal. Note that this ownership change does not affect the users with whom it is shared. For more information please see: Manage Power Apps – Power Platform | Microsoft Docs On the other hand, if the owner of the app left without adding a co-owner an admin can change the owner through PowerShell. First, you will need Tenant Admin access. You will also need the Environment Id (envId) and App Id (appId). You will also need to specify the user Id; in this example we will change the ownership to your Id. Second be sure you have the Power App cmdlets installed. You can do this with the following commands. Run PowerShell in admin mode and enter: Install-Module -Name Microsoft.PowerApps.Administration.PowerShell Install-Module -Name Microsoft.PowerApps.PowerShell – AllowClobber If you already have the cmdlets installed, nothing will occur and you are good to go; otherwise, you will see the cmdlets installed. Next, run the Add-PowerAppsAccount cmtlet allowing you to add your account for Power Apps: Add-PowerAppsAccount Next, update the owner, using the appId and envId you found earlier: Set-AdminPowerAppOwner -AppName "" -EnvironmentName "" -AppOwner $Global:currentSession.userId When this command succeeds, the response is minimal, showing only a reference to app Id. The app is now “owned” by the new user. Reference documentation for the PowerShell commands: Add-PowerAppsAccount (Microsoft.PowerApps.Administration.PowerShell) | Microsoft Docs Set-AdminPowerAppOwner (Microsoft.PowerApps.Administration.PowerShell) | Microsoft Docs

6 people who changed careers with low-code from Power Apps

The tech sector is booming with jobs and opportunities. But for some people, the question is: how do I get in? Coding jobs seem out of reach for those without degrees in computer science, IT, or engineering. However, with low-code app tools, some grit and curiosity, anyone can now realize a career in tech. This is one of the most exciting elements of Microsoft Power Platform. We spoke to six people who changed their careers and lives by learning how to build low-code apps with Microsoft Power Platform. None of them came from traditional computer science backgrounds, but all of them are now in technology careers building apps that are changing their workplaces for the better. Check out our Q&A below: Jacqui Peck: The audiologist who became a low-code developer analyst What’s your training and educational background? I studied biomedical science in university and have a clinical masters in audiology. I worked as an audiologist for thirteen years, both pediatric and adult diagnostic audiology. How did you find low-code? I worked at Hearing Australia and traveled all over the country delivering audiology services. We often went to remote areas out of cell service range, and we were on the road where we might not have access to laptops or email. We recorded things on manual forms that we couldn’t share, and information was being replicated in different places. The people in the communities we’d visit would move, and that made consistent recordkeeping difficult and easily outdated. There was staff turnover at local medical centers. I saw a need for better ways of communicating and recording and sharing data. We needed a system with live data that we could access as a single source of truth and that would get replicated across systems. And it needed to be easy for any staff member to use—audiologists, administrative staff, and engagement officers. I started to do some research and happened to see a webinar of someone in the UK who’d built a Power App to collect information remotely, and I thought to myself, I’m going to give this a go. I taught myself on weekends and after hours how to build canvas apps. What impact did you make with low-code? I showed one of the apps to my boss and she liked it. I built an app that enabled Community Engagement Officers and the operations team to do data entry from a desktop computer. That same data is available for another app for audiologists to use on mobile phones while working in the field. The audiologists can also access training material, so their app became a one-stop shop for the clinical team, and both apps use a single source of data in Microsoft Dataverse. What’s your previous job title? What’s your job title now? My previous job title was Senior Audiologist. Now I’m a Low-Code Developer Analyst. What do you predict or hope for your career in low code? The future of IT looks like non-technical people solving their own business problems with these tools. People approach me with a business problem, and we work together to build apps and automations and virtual agents that solve an issue for them, and IT and developers help us push these into core systems. This way of working speeds up innovation, rather than the old way of having analysts map issues for months and then giving those to a developer to interpret. The way we work now solves the real problems our workers have. What advice would you have for someone looking to start a career in low-code? Watch a lot of videos and play with the tools. Have a project in mind—I knew what I wanted to build and the problem I was trying to solve. Engage the low-code community. Ask for help from people in IT and developer worlds. Any time I asked someone for help with an issue, they each gave me a little of their time. If you ask for a little help from each person, it’s easy to gain the support you need. Nashwin Shannick Kiewitz: The geospatial technician who builds apps to electrify South Africa What’s your training and education background? After high school I studied electrical engineering and computer systems in college. I’ve spent my career working as a geospatial technician at Eskom, the primary electricity provider in South Africa. How did you find low-code? At a large organization like Eskom there are many processes that are manual and administrative-driven—we put some information in Excel spreadsheets, some information is on paper, while other information lives in legacy applications not connected to other systems. There are limitations to what you can do with data when it’s disconnected from each other, and a lot of the work becomes manual and repetitive—copy from here, paste there, attach to an email. My frustration with these manual processes and doing the same steps over and over is how I came to find the Power Platform and low code. What impact did you make with low-code? We needed a cost-efficient solution to grant access to our buildings, so we built a mobile app with Power Apps using QR codes for self-check-in of employees and visitors.  We also built apps for fleet management and inspection, managing legal cases, and more. One of the apps I’m proudest of is the performance app, which tracks the performance of the business, because it helps executives track our progress against the company’s vision and goals. What was your previous job title? What’s your job title now? Low code is relatively new, so sometimes the job title is difficult to place because you don’t want to limit the role. I moved from geospatial technician to an information system officer. They created a job profile around that position, and I left a provincial role for a position with a broader scope at the head office. I work on improving business processes and how we can systemize processes or make them more efficient. Where there’s an opportunity to digitize something, that’s where I come in. What do you predict or hope for your career in low-code? I hope to become an internal consultant for the company where I can add value to different aspects of the business. I want to be able to solve problems across many divisions, helping improve business processes in HR or finance or engineering, or anywhere else the company needs me. What advice would you have for someone looking to start a career in low-code development? At the very start what’s important is to develop a logical mindset. It’ll allow you to take a big problem and break it into pieces. You begin solving a complicated problem by asking simple questions. I like to use a flowchart. A logical mindset enables you to look at a problem and not be intimidated, and helps you look at it in a way that you can begin to tackle it. Sheryl Netley: The IT support manager who became a senior low code consultant What’s your training and education background? I was a smart kid and went to college, but I dropped out before I finished because of family issues. I’ve worked a lot of different jobs, including human resources, advertising agency, HR, and IT. How did you find low-code? It was sort of by accident. I’d been employed by a Microsoft partner to help with IT service management. While I was working at the Microsoft partner, Power Apps and Power Automate were starting to gain more attention. I thought to myself, there is huge potential in this platform. I ended up being made redundant [laid off] a couple of times, but the last time I was given three months’ pay and I decided to take a chance on the Power Platform. Over a couple of months, I got ahold of all the community content I could find and taught myself how to use the Power Platform. I used LinkedIn Learning and the Azure Fundamentals course, and through that I met the Power Platform community, and have passed a bunch of certifications in Power Platform and Dynamics 365. On the third month of my self-guided education, I thought OK I’m still learning, but I’m going to try and get a job based on what I know. I applied for IT services jobs and Power Platform and Dynamics 365 jobs, and I got a load of offers for Power Platform. That was three years ago, and I have not looked back. From zero knowledge, to self-taught and working in Power Platform. What impact did you make with low-code? I worked in defense for a while on some transformational projects that used canvas and model driven apps to help with internal processes for hundreds of thousands of users. Defense is an area that’s very structured and things have been done the same way for a long time, so there were a lot of opportunities to modernize business processes. I also worked with healthcare when the pandemic struck to help healthcare organizations with their processes, and transform how services are delivered in the pandemic. I work for cloudThing, a Microsoft partner, and I’m working with a UK non-profit that has a huge number of volunteers, and with the Driving and Vehicles Standards Agency, an organization that ensures road safety, on another major transformational project. What was your previous job title? What’s your job title now? I was an enterprise services manager, a posh way of saying I managed the support team. Now I’m a senior functional consultant and I translate business requirements into technical solutions using Power Platform. What do you predict or hope for your career in low-code? I consider myself a lifelong learner. Even the most clever people I work with, every day they are learning something new. My hope is I keep learning and carry on making a difference in the world with organizations doing meaningful work. I also recently became a Microsoft MVP! What advice would you have for someone looking to start a career in low-code development? Take the leap. One of my favorite sayings is a journey of a thousand miles begins with a single step. Just take that step and come join the community. All of us started from nowhere. We know what it’s like, and people will help you. I’d also say learn, learn, learn. The certifications have helped as a motivation tool. Also, it’s never too late. I’d always felt that by not finishing college I hadn’t achieved my potential. But now I feel I’ve done that. The Power Addicts mantra is we rise by lifting others. If anybody needs guidance or advice, anyone out there thinking I don’t know where to go our what to do, just reach out. Nick Gill: The HR specialist who became a Power Platform solution architect What’s your training and education background? I have a bachelor’s degree in human resources. I worked at the American Red Cross where I advanced through various positions beginning with supervising teams of CPR instructors and ending with managing the service delivery logistics team for the whole country. I was a heavy user of Power Platform and got the opportunity to learn a lot during many different app, flow, and report builds for the organization.  I was not in an IT position, but the IT team empowered and encouraged me as a super-user and eventual subject matter expert of the Power Platform. How did you find low-code? I realized in managing the CPR instructors that we lacked a clear view of inventory and training supplies like gloves, face shields, and pocket masks. We tracked this manually on paper forms that were time intensive and not easily manageable. I identified a need to do data collection so we could manage supplies. I was familiar with InfoPath and SharePoint, so I said let’s use InfoPath to monitor what supplies people are requesting but I quickly hit limitations. I came across Power Apps in the Office 365 app launcher and began learning and building. I was eventually selected to join the Power Apps Champions group and asked someone on the Microsoft Power Apps Customer Advisory Team for help in navigating IT. What impact did you make with low-code? I created a supply app for American Red Cross with Power Apps that was rolled out nationally and allowed CPR instructors to order supplies and enabled us to track inventory in real-time. Over the years I made many Power Apps at the Red Cross for use nationally, including the supply app, a COVID case management solution, and apps that supported disaster services. I formed a user group and helped mentor new makers. I’ve since taken a role with AIS where I help customers design and implement low-code solutions. Right now, I’m working with one of the largest insurance companies in the country. They have 10,000 InfoPath forms they’re trying to modernize into more efficient low-code apps across a lot of their processes What do you predict or hope for your career in low-code? Finding low-code has been life-changing for me. I learned and adopted new skills that gave me a chance to move into a career that’s allowed my family and I to live more comfortably. Right now, I’m learning C4 modeling for architecture diagraming, and in the future, I’d like to get deeper on projects where I’m working on Azure and Power Platform together. Someday, I’d also love to start my own blog. What advice do you have for someone looking to start a career in low-code development? The only thing that stopped me from pursuing this sooner was not believing that I could do it. My advice would be to have confidence in your ability to learn something new and listen to the people around you who believe in you. The Microsoft Power Apps Customer Advisory Team had so much great advice, they believed in me, and celebrated the successes. Also, don’t let titles define you. Just because you’re in a non-tech position doesn’t mean you can’t learn low-code. Finally, find your people. Go to a place where you can geek out about the stuff that you’re working on. What was your previous job title? What’s your job title now? Previously, I was a Service Delivery Logistics Manager for Supply Chain Management. Currently, I’m a Power Platform Solution Architect for the Solutions Team at AIS. Jayne Smith: The small business owner who develops apps What’s your training and education background? I never went to university. I learned through working and applying the knowledge I absorbed in jobs. I have a general enthusiasm and interest in how things work. I had the opportunity to start my own business in 2005, and that’s when a lot of my learning happened. I started Bluebird Services, which provides lawyers and professionals with transcription and document services. You have to learn a lot very quickly when you start your own business. You have to grow and develop all the time. How did you find low-code? I was introduced to low code and Power Apps by a friend who’s an adoption specialist. I’d never even heard the term low code before then. Once I found the Power Platform community and started talking about what I was doing, that’s when my interest in building solutions accelerated. It was amazing to find people who’ve been using low code for years and through Microsoft I found this huge community online that helped me progress in building my skills. What impact did you make with low-code? Bluebird Services produces documents and audio transcriptions. We had a workload system to track projects, but reports and invoices were becoming big and cumbersome. I thought about hiring a software developer because it was taking me so long to work through information across different programs, like Excel spreadsheets and SharePoint. But as a small business, hiring a software developer would have been a substantial expense. I decided to try to fix it myself and I created a Power App where my team enters key information that’s stored in a SharePoint list, and that SharePoint then gives me the report with key information I need in one place. I learned how to create a Power BI dashboard, so I have visibility into my business and what targets we’re meeting. I’ve gone from manually recording information to more automated recording. What was your previous job title? What’s your job title now? I was a chief executive of a team of business document specialists, and that’s still my title, but I can add productivity specialist to my list of skills. What do you predict or hope for your career in low-code? I’d like to build a community of other businesses who embrace low code and help them implement better productivity tools. That’s the next stage of a skillset. When I was in school, computers were rare.  My children finished school with basic IT instruction, and I believe that instruction should include low code now. Whoever chooses to learn low code will create opportunity in the workplace. What advice would you have for someone looking to start a career in low-code development? Don’t wait for permission. Find something you believe you can change, do it, and show others what you’ve built. Some people don’t believe it’s their place to create these solutions, and you might need permission to get access to the tech, but ask for it, and join the communities to learn. Derek Lichtenwalner: The bricklayer turned app builder What’s your training and education background? I graduated high school and went to a trade school for masonry. I worked on dormitories, universities, schools, and courthouses. Eventually I went to work at a large company with a bottled water operation where I worked as a production technician and operated the production line. I did quality checks for the equipment and fixed issues that halted production.  How did you find low-code? After my production technician role, I moved onto a coordinator role focused on helping the production lines become more efficient. After that I transitioned into the supervisor role. I piloted an application at my factory that was built by an outside vendor. The app encompassed features that helped us understand what machines did at all times, tracked changes to machine settings, included key training materials for machinery, and tracked skill levels across staff to ensure people were trained correctly. The app was great, but they were slow to turn around any new feature request we made. Any time I brought up a change I’d like made; it was a 9-12 month turnaround time. As I was going through this process with the vendor, my manager mentioned this program called Power Apps in our Office 365. Microsoft came to show us what it was capable of at a hackathon. I thought instead of using the outside vendor, we could easily switch to Power Apps and have better functionality and make what we need when we need it, and without paying an outside company to do it. What impact did you make with low-code? I created the autonomous maintenance app. It tracks abnormalities on the production line so we can fix them before the line breaks down. I added features like cleaning, inspection, and lubrication tasks on the line to ensure it’s done at certain times, tasks to measure centerline setpoints on the equipment to ensure maximum efficiency, and a way to identify where we’re having losses on the production line so we can reduce or eliminate them. I’m adding another feature on our 5s standards on the production line, because we always need certain amounts of supplies available, as well as tools, so that way we’re aware of quantities and are never wasting time stopping the line to get supplies. The app is in six factories nationwide and expanding. To build the app I originally used SharePoint as the database, but soon transitioned over to Dataverse.  I built the application as a canvas app in Power Apps and made use of Power Automate and Power BI. What was your previous job title? What’s your job title now? My previous job title was production coordinator. My job title now is digital transformation specialist. What do you predict or hope for your career in low-code?  I hope to excel in this career and be in a position doing full time application development/management to help my organization save money and become more efficient by building in-house solutions. It’s been eye opening to me, the speed with which solutions are built, and I want to help provide my organization with an avenue to increase profit while engaging the workforce through easy-to-use applications. What advice would you have for someone looking to start a career in low-code development? Do it and absorb as much as you can from the process. You’re always going to have the ability to add to your app in the future, whether through learning a little Python or JSON to add to your script. Low code also empowers you to build something that suits your own needs without paying an outside vendor or wait on someone else’s timeline for a solution. It makes sense to do it yourself, and because it’s low-code, it’s fast and exactly what you desire. Low code empowers everyone to be a developer No matter the technology expertise, everyone can use Microsoft Power Platform to have tremendous impact in their communities and their careers. Thank you to these six amazing developers for sharing their stories—their dedication, energy, and ingenuity are inspiring. Start your low-code journey today with Microsoft Power Platform.

Power Fx: String interpolation, Index function, and RandBetween function

We are pleased to announce three great new features in Power Fx!  These features are available in version 3.22041 and later of Power Apps Studio. Have you ever spliced together a long string with the & operator or Concatenate function? "Welcome " & FirstName & " " & LastName & ", it is great to meet you!" What if instead, you could embed those references to FirstName and LastName directly into the string? $"Welcome {FirstName} {LastName}, it is great to meet you!" The second form is a lot cleaner and easier to read.  Most modern programming languages have the ability to embed expressions within a string and now Power Fx does too.   Like C#, we call this feature string interpolation and it follows the same syntax as C#.  You can read all about the details in the docs.   You can of course continue to use Excel compatible standard strings and the concatenate operator and function; string interpolation only adds a new option. The basic rules are: String interpolation strings begin with a $” instead of just  “. Curly braces delineate the embedded expression. To include a curly brace in the string, double it such as {{ or }}, just as we do to escape double quotes in a standard string. Expressions can include standard strings or string interpolated strings. Here are a few more interesting examples: $"2+3 = {2+3}"  // result: 2+3 = 5 $"{{this is inside curly braces}}" // result: {this is inside curly braces} With( {x:5, y:7}, $"Point ({x},{y}) is {Text( Sqrt( x^2+y^2 ), "#.###" )} from the origin" ) // result: Point (5,7) is 8.602 from the origin // shows a standard string nested within string interpolation With( {FirstName: "John", MiddleName: "Q.", LastName: "Doe"}, $"{Trim( $"Welcome {FirstName} {MiddleName} {LastName}" )}, we're glad you are here!" ) // result: Welcome John Q. Doe, we're glad you are here! // spacing is correct with 0, 1, 2, or 3 name parts that are non-blank // shows nested string interpolation Why add this now?  As we expand Power Fx to other products in the Power Platform, we have found that many of them use string interpolation by default.  For example, consider the below action in Power Virtual Agents.  The maker enters a string for the Message and can embed dynamic expressions within the string, in this case for the variables UserName and AgentName.  This is a form of string interpolation with the leading $” provided by the system. Have you run across Last( FirstN( Table, N ) ) in your Power Fx travels?  Yes, that is a rather roundabout way to get to the Nth record of Table. No longer!  Excel has an Index function for, among other things, returning a row out of a range and so we adopted the same function.  Index( Table, N ) is equivalent to the above.  You can read all about it in the docs. Why add this now?   General goodness and because we are working on JSON parsing and we needed a more convenient way to index into a JSON array.  Oops, general JSON parsing, did I say that out loud?!  Stay tuned… And finally another Excel function, RandBetween( Low, High ) that returns an integer between Low and High inclusive.  Much easier to use than multiplying a range by Rand() and making sure you have the lower and upper bounds handled correctly.  Docs tell the tale. Why add this now?  General goodness and I think the team was tired of me using this as my example of a pure function I could create with enhanced component properties.  Now I need to find another example. As always, your feedback is most welcome here and in the Power Apps Community forum.  Your input is very helpful to us in prioritizing what we do next.

Introducing the new Power Automate pane in Power Apps!

The new Power Automate Pane offers improved integration between Power Automate and Power Apps canvas apps. Create, edit, and refresh flows directly inline with the canvas app authoring experience.

React (virtual) and Fluent UI code components using platform libraries

Hemant Gaur, Principal Program Manager, Thursday, April 7, 2022 React based virtual code components are finally here!  Today we’re pleased to announce the Public Preview availability of React based virtual code components. 1st and 3rd party developers now have the ability to make use of platform provided libraries to build their diverse set of code components. No more React or Fluent library packaging inside individual component bundles. No more mismatched control styles across multiple apps and app types – model-driven or canvas. No more isolated component React trees. Code components can now use one common set of platform provided React and Fluent UI React libraries. What are React (virtual) code components?  Power Apps component framework currently only supports standard code components (standard html control types). Controls are allocated  an HtmlDivElement in it’s init lifecycle method and mounts its UX/UI inside the allocated Div directly working on DOM . On the other hand, React which is an open-source JavaScript library for building front end user interfaces uses a virtual DOM. React (virtual) controls provide a new pattern optimized for using React library in code components to get the most performance benefits and better align with the React patterns by attaching the control’s React root to the platform React tree.  With this feature, virtual code components can have performance gains which are at par with some of the 1st party controls. How do I create React (virtual) component?  We have added a new optional parameter to Power Apps Component (PAC) CLI. A new --framework (-fw) parameter for the pac pcf init command. If you set the value of this parameter to react, a simple Hello World virtual control is created. This control will have control type specified as virtual in it’s control-manifest along with the React and Fluent platform library resource declarations. You can quick try this control locally using test harness npm start – without having to create a solution and add it to Dataverse. Test harness provides runtime libraries for externalized React and Fluent UI libraries, inline with the Power Apps runtime where control will eventually be used. Creating a React (virtual) code component What is Fluent Design System?  Fluent Design System is an open-source, cross-platform design system that gives designers and developers the frameworks they need to create engaging product experiences—accessibility, internationalization, and performance included.  Fluent UI controls were first released in Power Apps for Teams and as the default controls for Custom pages. Fluent not only helps Power Apps  align design across Microsoft products but also provides a strong foundation for Theming and design Infrastructure. Fluent Design System How do I create a virtual Fluent component?  Creating a virtual Fluent component is essentially the same way you create a virtual control. New framework parameter mentioned above adds a shared library resource definition for both Fluent and React to the control’s manifest.  By default the Fluent UI React library will be available to control, if it is not needed for a particular project you should remove this node. Platform Libs in component manifest Where can I find sample React (virtual) and Fluent UI code components? We are sharing two new virtual control samples which are updated versions of our existing samples. New Choice picker component and React FacePile component provide the same functionality but are React (virtual) controls which use platform libraries. You can use these controls as a starter project or for further explorations. Choice picker component Performance considerations  You can expect much better performance across web and mobile, especially on slower networks. Following are some high-level numbers comparing standard and virtual versions of FacePile control on development machine. Going forward  At GA, React and Fluent UI will be the recommended and default way to create all code components. We recommend starting to evaluating React + Fluent controls for building Power Apps code components. For production use, developers should consider utilizing the standard control library packaging mechanism during our preview phase.  You can see a sample showcasing the pattern here.  Post GA, migrating to virtual controls should be simple as the core client development stack is the same. You can find more details about this feature in our preview documentation for React controls & platform libraries. Looking forward to great community adoption and feedback. Please use Power Apps Pro Dev forum for any questions.

React (virtual) and Fluent UI code components using platform libraries

Hemant Gaur, Principal Program Manager, Thursday, April 7, 2022 React based virtual code components are finally here!  Today we’re pleased to announce the Public Preview availability of React based virtual code components. 1st and 3rd party developers now have the ability to make use of platform provided libraries to build their diverse set of code components. No more React or Fluent library packaging inside individual component bundles. No more mismatched control styles across multiple apps and app types – model-driven or canvas. No more isolated component React trees. Code components can now use one common set of platform provided React and Fluent UI React libraries. What are React (virtual) code components?  Power Apps component framework currently only supports standard code components (standard html control types). Controls are allocated  an HtmlDivElement in it’s init lifecycle method and mounts its UX/UI inside the allocated Div directly working on DOM . On the other hand, React which is an open-source JavaScript library for building front end user interfaces uses a virtual DOM. React (virtual) controls provide a new pattern optimized for using React library in code components to get the most performance benefits and better align with the React patterns by attaching the control’s React root to the platform React tree.  With this feature, virtual code components can have performance gains which are at par with some of the 1st party controls. How do I create React (virtual) component?  We have added a new optional parameter to Power Apps Component (PAC) CLI. A new --framework (-fw) parameter for the pac pcf init command. If you set the value of this parameter to react, a simple Hello World virtual control is created. This control will have control type specified as virtual in it’s control-manifest along with the React and Fluent platform library resource declarations. You can quick try this control locally using test harness npm start – without having to create a solution and add it to Dataverse. Test harness provides runtime libraries for externalized React and Fluent UI libraries, inline with the Power Apps runtime where control will eventually be used. Creating a React (virtual) code component What is Fluent Design System?  Fluent Design System is an open-source, cross-platform design system that gives designers and developers the frameworks they need to create engaging product experiences—accessibility, internationalization, and performance included.  Fluent UI controls were first released in Power Apps for Teams and as the default controls for Custom pages. Fluent not only helps Power Apps  align design across Microsoft products but also provides a strong foundation for Theming and design Infrastructure. Fluent Design System How do I create a virtual Fluent component?  Creating a virtual Fluent component is essentially the same way you create a virtual control. New framework parameter mentioned above adds a shared library resource definition for both Fluent and React to the control’s manifest.  By default the Fluent UI React library will be available to control, if it is not needed for a particular project you should remove this node. Platform Libs in component manifest Where can I find sample React (virtual) and Fluent UI code components? We are sharing two new virtual control samples which are updated versions of our existing samples. New Choice picker component and React FacePile component provide the same functionality but are React (virtual) controls which use platform libraries. You can use these controls as a starter project or for further explorations. Choice picker component Performance considerations  You can expect much better performance across web and mobile, especially on slower networks. Following are some high-level numbers comparing standard and virtual versions of FacePile control on development machine. Going forward  At GA, React and Fluent UI will be the recommended and default way to create all code components. We recommend starting to evaluating React + Fluent controls for building Power Apps code components. For production use, developers should consider utilizing the standard control library packaging mechanism during our preview phase.  You can see a sample showcasing the pattern here.  Post GA, migrating to virtual controls should be simple as the core client development stack is the same. You can find more details about this feature in our preview documentation for React controls & platform libraries. Looking forward to great community adoption and feedback. Please use Power Apps Pro Dev forum for any questions.

Announcing Public Preview of a new Power Apps application on Windows

If you want a fast and modern way to get to your apps on Windows devices, this is your week! We’re thrilled to announce the release of Power Apps (Preview) for Windows. You are just few clicks away from installing the brand new “Power Apps (preview)” application from the Microsoft Store. Try it out! With the new Power Apps (preview) application, your will be able to run apps in offline within a brand new application fully integrated within the Windows OS and supporting the native Dataverse connector and native device capabilities like barcode scanner or Camera controls. Find all of your canvas and model-driven apps in one place Now, on Windows, you will find all your apps, model-driven and canvas apps, in the Apps view of the Power Apps (preview) application. Just pick one and you will be ready to go! You can always jump into the App list clicking on the back button of the application. Make offline-capable apps Offline on Windows works just like it does on iOS and Android! If you use a model-driven app, you can configure the app to work in offline creating an offline profile, and if you use a canvas app, you can use the LoadData/SaveData functions in you app. You’ll find below a very simple example of an implementation of a canvas app supporting offline and using the Native Dataverse Connector: Users are then able to seamlessly use the app in remote locations, farmlands, warehouse or basement just to name few examples: Use device capabilities in your apps With the Camera and the Microphone of your device, you can enable key scenarios: front line users can take pictures to report back on an observation in the field, they can also use a bar code scanner to automatically register a critical information from a document or a phone app, they can also record the outcome of a meeting with a customer. The new Power Apps (preview) app provides native experiences of the device capabilities. Try them out using media controls (audio and video, barcode scanner, file attachements, …)  in your apps! Manage Power Apps (preview) with Intune The new Power Apps (preview) application is a Universal Windows App and is natively supporting Intune for application management. It gives you control over who or which device can install the application, and you can also control the app auto-update if needed. Install Power Apps (preview) The Power Apps (preview) application is available in the Microsoft Store store and to install the app, it is just as easy as installing any other Windows app. However, you can check always out the documentation. What’s coming next This is just a beginning! We have much more to add to this application. Just to name a few: Your feedback will help us make this new app even better. Share your feedback in comments or on our Power Apps forum post. You can also reach me by filling out this form and I’ll get back to you right away. For more details, see the documentation.
- Advertisement -spot_img

Latest News

- Advertisement -spot_img