React 18 is not compatible with Fluent UI and how to work around it in PCF projects
React version 18 has recently been pushed into npm which is great if all of your components support it, however, if you are working with Fluent UI then you may stumble across the following error: npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: my-app20@0.1.0 npm ERR! Found: @types/react@18.0.8 npm ERR!… Continue Reading Develop1’s Article on their blog...
Virtual React PCF code components – create new, and convert existing ones! – YouTube
Virtual React PCF code components – create new, and convert existing ones! You’ve been waiting for it – now it’s here! In this video, I’ll show you how to create a virtual react control and how to convert your existing react and fluent UI controls to virtual ones. #PowerApps #PowerApps #PCF #React #FluentUI #PowerPlatform π Blog post on how to convert controls...
How to convert a pcf code component to a virtual control
The long-awaited ‘virtual control’ feature is finally in preview which means you can start to try converting your controls to be virtual – but what does this actually mean? What are virtual code component PCF controls? Virtual controls are probably better named React code components since this is their defining feature. Using them has the following benefits: Uses the host virtual DOM – The…...
Custom Pages? So What?!!! – YouTube
Custom Pages? So What?!!! How do custom pages change the way we build model-driven apps? If you customise model-driven apps using HTML web resources or code components – what’s the big deal about custom pages and app convergence? #PowerApps #PowerPlatform #MsDyn365 00:00 Introduction 00:33 What is app convergence? 01:18 Model-driven and canvas apps are at odds with each other 02:00 Custom Pages Announced – so what?...
Explicit package exports in the latest version of Fluent UI might break your PCF path imports
If you are using Fluent UI in your code components (PCF) you probably are also using path-based imports to reduce your bundle size. This technique ensures that when you build your code component, the bundle doesn’t include the entire Fluent UI library, but instead just the components that you need. With the recent update to Fluent UI, you might receive an error similar to the… Continue Reading...
Watch out for PCF (code-components) sort silently failing
One of the biggest causes of unexpected bugs in canvas apps is the delegation of queries. For instance, if you want to sort by the owner of an account, you can use the Power Fx query: Sort(Accounts,’Created By’.’Full Name’, Ascending) You will get a delegation warning on this since the sorting will only happen in memory and not on the server. This means if you have the delegation limit set… Continue...
First look at Quick ‘n’ Easy Power BI inside Power Apps – YouTube
First look at Quick ‘n’ Easy Power BI inside Power Apps I noticed a brand new feature that allows you to automatically create a Power BI dashboard from a model-driven view. Join me as I take it for a spin! Docs here π https://docs.microsoft.com/en-us/power-bi/create-reports/dynamics-quick-create-report I noticed a brand new feature that allows you to automatically create a Power BI dashboard from a model-driven view. Join...
'ComponentFramework' is not defined – eslint with pac pcf init
At some point, over the last few months, a change was introduced to the Power Platform CLI such that if you have the ESLint VS Code add-in installed, after using pac pcf init, you may see an error in VS code: ‘ComponentFramework’ is not defined.eslint(no-undef) This might look something like this in the index.ts file: The reason for this is that the pac pcf init template now includes an… Continue Reading...
Modernized Business Units – perhaps finishing off something that was always meant to be!
You might have seen the announcement about Modernized Business Units in Microsoft Dataverse. I made a video on it as well to show you the opportunities that it opens up when designing Microsoft Dataverse security models for both model-driven and canvas apps. In summary, the change can be broken down into two parts: You can now assign a Security Role from a business unit outside of the… Continue Reading Develop1’s...
First look at Modernized Business Units in Microsoft Dataverse – YouTube
First look at Modernized Business Units in Microsoft Dataverse Why is the change to the way Microsoft Dataverse Business Unit security works such a big deal? Join me to find out more. Official blog announcement: https://powerapps.microsoft.com/en-us/blog/announcing-public-preview-for-modernize-business-units/ Why is the change to the way Microsoft Dataverse Business Unit security works such a big deal? Join me to find out more....
#MySummitNA Part 2 – Community Summit, Houston Texas – YouTube
#MySummitNA Part 2 – Community Summit, Houston Texas Find out how my day 2 & 3 went at Community Summit here in Houston Texas! Find out how my day 2 & 3 went at Community Summit here in Houston Texas! source
Community Summit NA – My first day back – YouTube
Community Summit NA – My first day back Find out how my first day back at a community in-person event went! Find out how my first day back at a community in-person event went! source
Discover hidden treasures inside the Microsoft Teams Sample Apps – YouTube
Discover hidden treasures inside the Microsoft Teams Sample Apps Join me in unpacking the Milestone Microsoft Teams Power App to see what we can learn! Power Platform CLI – https://powerapps.microsoft.com/en-us/blog/power-platform-extension-for-vs-code/ 0:00 Welcome to Power Apps Cafe! 3:30 Installing Power App Solutions into Datasverse for Teams 5:40 Exploring the Milestone App Screens 6:00 Responsive containers vs. manual...
Error Handling Update/Patch in CommandBar Power Fx buttons
As you know, I’m ‘super excited’* about the new Power Fx low-code Command Bar buttons (First Look Video) (Ribbon Workbench compared to Power Fx) – especially the ease at which you can update multiple records in a grid. To allow the user to select a number of records on a grid, and then perform an operation on each, in turn, would have taken plenty of pro-code TypeScript/JavaScript before but… Continue...
Swap out old code-components with new using the Power Platform CLI
If you have canvas apps that use code components then you will be used to the hard link between the namespace of the code component and the canvas apps that use it. Also, if you have your canvas apps in a solution, then there are now solution dependencies added for the code components used to ensure that they are installed before you import the solution to a target environment. You can read… Continue Reading...
Canvas app code component error "Couldn't import components"
If you are developing code components (PCF) for canvas apps you’ll be used to using the ‘Get more components’ panel. When adding the code-component to the canvas app, occasionally you will receive the somewhat unhelpful error: Couldn’t import components There are no more details provided in the expanded down arrow area: I’m put this here for my future self (who always seems to forget…...
Pretty user interfaces shouldnβt be a premium feature
One of the longest-standing mottos of the Power Platform has been ‘no cliffs’. This somewhat odd phrase has definitely stood the test of time due to its simplicity and its powerful message. That is – you shouldn’t ever find yourself developing solutions using the Power Platforms ‘low-code’ features and suddenly finding that you hit an un-passable ‘cliff’. Instead, there are multiple...
Will we learn from virtual events, or will it just be forgotten?
Until recently I didn’t consider attending in-person events at all. I saw calls for speakers for live events – but I just moved on. Sound familiar? I have been avoiding the idea of in-person events altogether! Thanks to the nudge from a few folks, I realised that now is the time to re-boot – and suddenly I realised how much I’ve missed attending this kind of in-person event. Somehow, I’d… Continue...
Show custom page dialog using Next Gen Commanding & Smart Buttons
As a follow-on to my last post on adding custom page dialogs to model-driven forms, in this post, I’m going to show you how you can easily do the same using the Next Gen Commanding Buttons. Ribbon Workbench Smart Buttons have two parts: Smart Button Manifest – the manifest file included in the smart button solution that defines the templates that are picked up by the Ribbon… Continue Reading Develop1’s Article...
Custom page dialogs inside model-driven apps using a Ribbon Workbench smart button
Now that custom pages are released (in preview), we are one step closer to the convergence towards a single app type that has the best of model-driven apps and canvas apps. Previously, I had released a Ribbon Workbench smart button that allowed opening a canvas app as a dialog via a command bar button. With the latest release of the smart buttons solution you can add a button to open a custom… Continue Reading Develop1’s...
First look at Power Fx command buttons for model-driven apps – Power Platform Unpacked #11 – YouTube
First look at Power Fx command buttons for model-driven apps – Power Platform Unpacked #11 Join me for a first look at the new Power Fx command bar buttons in model-driven apps (preview) as we answer the question “Is this really the end of the Ribbon Workbench?!” Join me for a first look at the new Power Fx command bar buttons in model-driven apps (preview) as we answer the question “Is this really the end of...
Ribbon Workbench vs. Power Fx Command Buttons
Power Fx command bar buttons (Commanding V2) is the latest exciting feature to be released into preview by the Power Platform team! Check out Casey’s blog post and my first look video where I show how amazingly easy it is to add complex functionality to your model-driven command bars! The Ribbon Workbench marked its 10-year anniversary this year and so it’s fitting that the new Power Fx… Continue Reading...
How to add low-code Power Fx buttons to model-driven apps
Power Fx command bar buttons in model-driven apps is the latest exciting feature to be released into preview by the Power Platform team! Check out my first look video and Casey’s blog post. This post shows you the steps to follow to add a command bar button on a model-driven form to create a related task for the account record and to only show this when the Credit Hold flag is set to No. This… Continue Reading...
Scott’s Guide to building JavaScript Web Resources for Power Apps using TypeScript – YouTube
This free course takes you through the best practices when using modern TypeScript techniques to create quality, consistent, and maintainable JavaScript Web Resources using techniques such as Unit Testing, Code Generation and Automated Deployments. Building JavaScript Web Resources using TypeScript This course takes you through the best practices when using modern TypeScript techniques to create quality, consistent, and maintainable...
Developing PCF code components using cross-platform dependencies without the need for Visual Studio
If you are building code components for Power Apps (PCF) you might be using msbuild to build cdsproj projects: msbuild /p:configuration=Release This works well on windows, and requires either Visual Studio or Build Tools for Visual Studio with the .NET build tools workload installed. What about if you didn’t want to install Visual Studio, or you were not running on Windows? The good news is… Continue...
Increase Timeout for pac pcf push
If you are using the latest versions of the PowerApps CLI then much of the implementation now uses the new dotnetcore DataverseServiceClient. You may find that you occasionally get the following error when performing pac pcf operations: The request channel timed out while waiting for a reply after 00:02:00. Increase the timeout value passed to the call to Request or increase the SendTimeout… Continue Reading...
Configuring Wave 1 2021 Relevance Search Quick Actions
A hot area of investment from the Dataverse product team in Wave 1 2021 has been the Relevance search experience. https://docs.microsoft.com/en-us/powerapps/user/relevance-search Quick Actions Part of this new search experience brings the command bar to the inline search results as well as the search results screen. What’s really cool is that you can customize these command bar buttons… Continue Reading Develop1’s...
Connection References with ALM β Mind the Gap!
If you are creating Cloud Flows in Solutions today, you are using Connection References. Although they are listed as ‘Preview’ – there really is not an alternative as when you create a new Cloud Flow – a connection reference is automatically created for you. Connection References are essentially a ‘pointer’ to an actual connection. You include the Connection Reference in your solution so that…...
Everything as Code – ALM with Canvas Apps
With the recent experimental announcement of the PowerApps Solution Packager, we now have a much better way of managing Canvas Apps in your source code repository. This moves us much closer to a better ALM story for the whole of the Power Platform so that my top 3 principles can be followed: Everything as code – The single point of truth for all artifacts (solution metadata, apps, code,… Continue Reading Develop1’s...
Dataverse for Teams vs Canvas Apps – Part 1 – Checked vs Default Control Properties
If you were thinking that Power Apps Canvas Apps and Dataverse for Teams Canvas Apps are just the same – but with a different license and container – well whilst it is mostly true, there is a very big difference:Dataverse for Teams uses a completely different set of Out of the Box controls. They are based on the Fluent UI library.This post will hopefully save someone the time that I’ve spent… Continue Reading...
Canvas Apps As Code??! Power Platform Unpacked #10 – YouTube
NEW this week! Manage Canvas Apps as Code and support a healthy ALM! Join me for a first look at the new pasopa.exe experimental release from the Power Apps team! Check out Greg’s blog post – https://powerapps.microsoft.com/en-us/blog/source-code-files-for-canvas-apps/ Take a look at the github repo – https://github.com/microsoft/PowerApps-Language-Tooling/blob/master/docs/YAMLFileFormat.md What do you think? Love or...
Think like an App Maker! Drag and Drop in Canvas Apps – Power Platform Unpacked #9 – YouTube
Fresh out of Maple Power 2020 – join me as I talk about the ethos of creating PCF controls for Canvas Apps! Links below π Links: Drag and Drop PCF Code – https://github.com/scottdurow/powerapps-pcf-samples/tree/master/CanvasDnD Power Lemmings Code – https://github.com/scottdurow/Canvas-App-Samples/tree/master/Games Microsoft Learn PCF course – https://bit.ly/FREE-MICROSOFT-LEARN-PCF My Model-Driven PCF Course...
New Smart Button β Custom Dialogs in Model Driven Apps using Canvas Apps
One of the most requested features of Model-Driven Apps ‘back in the day’ was to edit the popup dialog boxes that do actions such as Closing Opportunities or Cases. These were ‘special’ dialogs that had a fixed user interface. There were a few workarounds that involved either using dialogs (now deprecated) or a custom HTML web resource. More recently, the ability to customize the Opportunity… Continue...
Public Preview of GitHub Actions for Power Platform ALM
There is a new kid in town! Not long after the Power Apps Build Tools for Azure Dev Ops were released out of beta under the new name of Power Apps Build Tools (https://marketplace.visualstudio.com/items?itemName=microsoft-IsvExpTools.PowerPlatform-BuildTools) the new set of GitHub actions for Power Platform ALM have been released in public preview (
Environment Variables in Smart Buttons
A very common request I’ve had for the Ribbon WorkbenchSmart Button solution is to be able to configure the WebHook/FlowUrl using an Environment Variable. Environment Variables are small pieces of information that can vary between environments without there needing to be customizations update. This way you can have different endpoints for each environment without making customization… Continue Reading Develop1’s...
Pets vs. Cattle β How to manage your Power App Environments
A situation I see very frequently is where there is a ‘special’ PowerApps environment that holds the master unmanaged customizations. This environment is looked after for fear of losing the ability to deploy updates to production since with managed solutions you can’t re-create your unmanaged environment. Sometimes, a new partner starts working with a customer only to find that they have… Continue Reading...
Do you really need a PCF Control? Power Platform Unpacked #8 – YouTube
I love new tech – I love PCF controls – but let’s step back and talk about when we should use PCF and when we should think twice! source
Building Professional PCF Controls for Model Driven Apps – YouTube
Announcing my new course! Check it out at: learn.develop1.net/courses/pcf-for-model-driven-apps Use discount code PCFJUNE for a 15% discount! source
Always be linting your TypeScript!
Linters have been around for ages – it all started back in 1978 apparently – but has now become a mainstay of modern JavaScript and TypeScript programming. Writing code without a linter is like writing an essay without using spell checker! Sure there may be some super humans who can write their code perfectly without linting – but I’m not one of those! Much has been written about… Continue...
Let's chat about the new Power Platform ALM Guidance – YouTube
Join Trica, Jonas, Reece and I for this epic hour and a quarter discussion about the new PowerPlatform ALM Guidance: Guidance – https://docs.microsoft.com/power-platform/alm/ Power Apps Build Tools – https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/build-tools-tutorial-faq Admin in a Day – https://github.com/microsoft/powerapps-tools/tree/master/Administration/AdminInADay...
PCF DetailsList Layout with Fluent UI and Sticky
One of the challenges with PCF controls is getting them to reflow to the available space that they are stretched to fill the available space. Doing this using standard HTML involves using the flexbox. The really nice aspect of the Fluent UI react library is that it comes with an abstraction of the flexbox called the ‘Stack’. The aim of this post is to layout a dataset PCF as follows: <div… Continue Reading...
PCF DateTimes β the saga continues!
It’s been over a year since I last blogged about DateTimes and nearly a decade since I blogged the first time on the subject! CRM DateTimes – so it’s well overdue that I update you on how DateTimes work with PCF. My last post on the subject was when the ‘Timezone independent’ and ‘Date Only’ behaviours were introduced -DateTimes – It’s never the last word. This made the...
PCF Dataset Paging in Model vs Canvas Apps
One of the recent additions to PCF for Canvas Apps is the ability to bind dataset PCF controls to datasets in a Canvas App. A challenge that faces all PCF developers is if their control should support both Model AND Canvas – so with this in mind you need to be aware of the differences in the way that data is paged. This post demonstrates how the paging API works in Model and Canvas and… Continue Reading Develop1’s...
Hack4Good MBAS EMEA Results – YouTube
π₯The results are in for #Hack4GoodMBAS EMEA!π₯ Big shout out to all EMEA teams and fellow judges Ana Demeny Ben Vollmer. Special thanks to the EMEA organisers Chris Huntingford William Dorrington π€π€π€ Lee Baker Lucy Bourne Alison Mulligan Mike Hartley π Not forgetting the rest of the awesome #Hack4GoodMBAS global team – Mark Smith Elaiza Benitez Dona Sarkar Keith Whatling Andrew Welch Sarah Critchley Nijo Joseph Narayan Solanki...
Debugging Canvas App PCF components with fiddler
Those of you who know me will also know that I am a massive Fiddler fan for removing the need to deploy each time you change your JavaScript source. Here are some of my previous blog posts on Fiddler – http://develop1.net/public/search?q=fiddler The PowerApps docs now even include instructions on it
NetworkView re-written using TypeScript and PCF
Back at the end of 2015, Power Apps wasn’t even a thing. My world revolved around Dynamics 365 and the release cadence that was bringing us updates to the platform that were either keeping up with SalesForce or providing greater customizability. Much has changed since then, not least the way that we write rich UI extensions. With this in mind, I have completely re-written my Network View… Continue Reading...
Failed solution upgrade applying 2020 release wave 1
When applying the 2020 release wave 1 you may see a component such as the Dynamics 365 Core Service fail to complete.First, you may want to check that you have correctly followed the steps on how to opt-in for 2020 wave 1. To determine the issue – navigate to the solution manager in PowerApps and click ‘See History’ This should then show you the failed upgrade component: Clicking on… Continue Reading...
#ProCodeNoCodeUnite
Technology typically leads to polarized opinions. Always has…Vinyl/CD…Betamax/VHS…HD-DVD/Blu-ray… Of course, our minds know that it depends on the detail, but our hearts have preferences based on our experience. This product over that one. This technique over this new one. You like this tool better than theirs because you know and trust it. You do this, don’t you?! Imagine you are… Continue...
Adding the PowerApps Solution Checker to your Azure DevOps Pipeline
Continuous Integration and Delivery is somewhat passé these days, but what is often missed is the need for good tests and analysis in your build pipeline. The PowerApps team has been working hard on the Solution Checker over the last year, and it’s become an essential part of every PowerApps solution development process. If you have a solution that is going to be put into App Source, you’ll… Continue...
Day 21 – MVP Advent Calendar – YouTube
Who’s behind door 21 in the MVP Advent Calendar? source