<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Pcf on It Must Be Code!</title><link>https://itmustbecode.com/tags/pcf/</link><description>Recent content in Pcf on It Must Be Code!</description><generator>Hugo</generator><language>en-CA</language><lastBuildDate>Sun, 19 Oct 2025 21:21:41 +0000</lastBuildDate><atom:link href="https://itmustbecode.com/tags/pcf/feed.xml" rel="self" type="application/rss+xml"/><item><title>PCF Controls Tips &amp; Tricks: How to Bundle and Resolve Static JSON Files</title><link>https://itmustbecode.com/pcf-controls-tips-tricks-how-to-bundle-and-resolve-static-json-files/</link><pubDate>Sun, 19 Oct 2025 21:21:41 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-controls-tips-tricks-how-to-bundle-and-resolve-static-json-files/</guid><description>&lt;p&gt;&lt;strong&gt;JSON files&lt;/strong&gt; are one of the most common and convenient ways to store structured data. They’re lightweight, human-readable, and easy to parse in JavaScript. In PCF Control development, they can be used a quick and convenient way to store and access static data.&lt;/p&gt;
&lt;p&gt;In this post, I’ll show you how to easily &lt;strong&gt;configure&lt;/strong&gt; your PCF control projects to bundle static JSON files and resolve their contents at runtime.&lt;/p&gt;
&lt;figure&gt;&lt;img src="./image-3.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;h2 id="how-it-started"&gt;&lt;strong&gt;How it started&lt;/strong&gt;
&lt;/h2&gt;&lt;p&gt;It all started when I began receiving complaints that my open-source &lt;a class="link" href="https://github.com/drivardxrm/CountryPicker.PCF" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Country Picker PCF&lt;/strong&gt;&lt;/a&gt; control had suddenly stopped working properly. After some investigation, I realized the issue came from its dependency on a free third-party service used to query the country data— &lt;strong&gt;restcountries&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>PCF Controls Tips and Tricks : How to skip Linting at Build-Time</title><link>https://itmustbecode.com/pcf-controls-tips-and-tricks-how-to-skip-linting-at-build-time/</link><pubDate>Tue, 08 Jul 2025 01:09:42 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-controls-tips-and-tricks-how-to-skip-linting-at-build-time/</guid><description>&lt;p&gt;Have you ever been unable to properly &lt;strong&gt;build&lt;/strong&gt; a PCF control because of &lt;strong&gt;linting&lt;/strong&gt; errors? Well, lately I have, and it can get really frustrating. Especially when the errors have nothing to do with your code, but are caused by an unexpected failure in the way the PCF framework handles the linting process.&lt;/p&gt;
&lt;figure&gt;&lt;img src="./image-4.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;p&gt;Turns out I&amp;rsquo;m not alone as other members of the PCF community like &lt;a class="link" href="https://www.linkedin.com/in/cchannon/" target="_blank" rel="noopener"
&gt;Charles Channon&lt;/a&gt; have recently flagged linting issues with recent &lt;code&gt;pcf-scripts&lt;/code&gt; releases.&lt;/p&gt;</description></item><item><title>PCF Controls Tips &amp; Tricks : How to detect Authoring Mode</title><link>https://itmustbecode.com/pcf-controls-tips-tricks-how-to-detect-authoring-mode/</link><pubDate>Mon, 02 Jun 2025 02:57:10 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-controls-tips-tricks-how-to-detect-authoring-mode/</guid><description>&lt;p&gt;When you configure a &lt;strong&gt;PCF control&lt;/strong&gt; on a Dataverse model-driven app, the form designer will try to &lt;strong&gt;render&lt;/strong&gt; the control even though it&amp;rsquo;s not running in the actual app context.&lt;/p&gt;
&lt;p&gt;This usually isn&amp;rsquo;t a problem, but for complex controls that depend on runtime data, it can cause errors—and even break the form designer.&lt;/p&gt;
&lt;p&gt;Moreover, as a PCF developer, you might want to show a simplified or placeholder version of your control in the form designer to help makers understand how it will look when the app actually runs.&lt;/p&gt;</description></item><item><title>How to Get PCF Controls Ready for Dark Mode in Model-Driven Apps</title><link>https://itmustbecode.com/how-to-get-pcf-controls-ready-for-dark-mode-in-model-driven-apps/</link><pubDate>Fri, 05 Apr 2024 04:03:22 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/how-to-get-pcf-controls-ready-for-dark-mode-in-model-driven-apps/</guid><description>&lt;p&gt;Although not officially released, there are strong signals that the support for &lt;strong&gt;Dark mode&lt;/strong&gt; 🌚 is coming very soon to Power Platform Model-Driven apps.&lt;/p&gt;
&lt;p&gt;Recent investments made in the platform like the &amp;rsquo; &lt;strong&gt;New look&lt;/strong&gt;&amp;rsquo; that leverages the Fluent 2 design system are paving the way to Dark Mode.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;🔗 &lt;a class="link" href="https://itmustbecode.com/adapting-pcf-controls-for-model-driven-apps-new-modern-look/" &gt;Adapting PCF Controls for Model Driven apps New (Modern) Look&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;🔗 &lt;a class="link" href="https://learn.microsoft.com/en-us/power-apps/user/modern-fluent-design?WT.mc_id=DX-MVP-5004959" target="_blank" rel="noopener"
&gt;Modern, refreshed look for model-driven apps - Power Apps | Microsoft Learn&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PCF Controls with FluentUI v9 - Avoid DOM id collisions</title><link>https://itmustbecode.com/pcf-controls-with-fluentui-v9-avoid-dom-id-collisions/</link><pubDate>Tue, 16 Jan 2024 02:24:28 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-controls-with-fluentui-v9-avoid-dom-id-collisions/</guid><description>&lt;p&gt;Recently, while developing a PCF control with the &lt;strong&gt;FluentUI React v9&lt;/strong&gt; library, I encountered a rather unusual and annoying runtime display bug. Its resolution ended up shedding light on an important concept that had previously escaped my attention and I thought it deserves its own blog post.&lt;/p&gt;
&lt;h2 id="the-symptoms"&gt;🤒The symptoms
&lt;/h2&gt;&lt;p&gt;The control I was developing is my latest community PCF control, the &lt;strong&gt;FluentUI Month Picker&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;🔗&lt;a class="link" href="https://pcf.gallery/fluentui-month-picker/" target="_blank" rel="noopener"
&gt;FluentUI Month Picker | PCF Gallery&lt;/a&gt;
🔗 GitHub repo : drivardxrm/FluentUI.MonthPicker.PCF&lt;/p&gt;</description></item><item><title>Adapting PCF Controls for Model Driven apps New (Modern) Look</title><link>https://itmustbecode.com/adapting-pcf-controls-for-model-driven-apps-new-modern-look/</link><pubDate>Tue, 17 Oct 2023 01:59:13 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/adapting-pcf-controls-for-model-driven-apps-new-modern-look/</guid><description>&lt;p&gt;If you&amp;rsquo;re a user of a Power Platform&amp;rsquo;s model-driven app, you&amp;rsquo;ve likely come across the &amp;rsquo; &lt;strong&gt;Try the new look&lt;/strong&gt;&amp;rsquo; switch appearing on your app header.&lt;/p&gt;
&lt;figure&gt;&lt;img src="./image-6.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;p&gt;Indeed, toggling this switch will result in the platform adopting a modern Fluent Design System (a.k.a. &lt;a class="link" href="https://fluent2.microsoft.design/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Fluent 2&lt;/strong&gt;&lt;/a&gt;) for rendering model-driven form elements such as fields and command bars.&lt;/p&gt;
&lt;p&gt;While this evolution is undoubtedly a positive and necessary step for the platform as a whole, it can present several challenges for PCF Control authors aiming to ensure their controls seamlessly blend with the out-of-the-box UI, delivering a polished user experience.&lt;/p&gt;</description></item><item><title>PowerApps Grid Control - How to make Cell Renderers more Generic</title><link>https://itmustbecode.com/powerapps-grid-control-how-to-make-cell-renderers-more-generic/</link><pubDate>Mon, 02 Oct 2023 01:46:28 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/powerapps-grid-control-how-to-make-cell-renderers-more-generic/</guid><description>&lt;p&gt;The &lt;strong&gt;Power Apps grid control&lt;/strong&gt; is a new and improved version for the &lt;strong&gt;data grid&lt;/strong&gt; control for Power Platform &lt;strong&gt;model-driven applications&lt;/strong&gt;. It introduces a modern data grid user experience and a range of noteworthy features, including the ability to perform inline editing and seamless infinite scrolling of the grid records, amongst others.&lt;/p&gt;
&lt;p&gt;Simply implement the &lt;strong&gt;Power Apps grid control&lt;/strong&gt; component on your applications data grids (table views or form subgrids) to unlock up its capabilities.&lt;/p&gt;</description></item><item><title>PCF Control compile error : Cannot find module 'ajv/dist/compile/codegen'</title><link>https://itmustbecode.com/pcf-control-compile-error-cannot-find-module-ajv-dist-compile-codegen/</link><pubDate>Tue, 03 Jan 2023 18:09:56 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-control-compile-error-cannot-find-module-ajv-dist-compile-codegen/</guid><description>&lt;p&gt;I was working on a new PCF control project and I encountered an unexpected error when attempting to build the project, even though no custom code had been added yet. (Cannot find module &lt;strong&gt;ajv/dist/compile/codegen&lt;/strong&gt;)&lt;/p&gt;
&lt;figure&gt;&lt;img src="./image.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;p&gt;For reference, I&amp;rsquo;m using the latest version ( &lt;em&gt;at the time of writing&lt;/em&gt;) of the &lt;strong&gt;Microsoft Power Platform CLI&lt;/strong&gt; ( &lt;strong&gt;1.21.4+g4869036&lt;/strong&gt;) and here are the steps to reproduce :&lt;/p&gt;
&lt;figure&gt;&lt;img src="./image-2.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;ol&gt;
&lt;li&gt;Execute the &lt;strong&gt;init&lt;/strong&gt; method of the &lt;strong&gt;pac cli&lt;/strong&gt;. This will scaffold a new PCF control projects with all the basic dependencies.&lt;/li&gt;
&lt;li&gt;Execute &lt;strong&gt;npm install&lt;/strong&gt; to download the dependencies&lt;/li&gt;
&lt;li&gt;Try to build the project : &lt;strong&gt;npm run build&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;❌Fails with error : Cannot find module &amp;ldquo;ajv/dist/compile/codegen&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pac pcf init -ns &amp;lt;Namespace&amp;gt; -n &amp;lt;ProjectName&amp;gt; -t field
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm run build
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The error message is quite straitforward and points toward a node module that cannot be found : &lt;strong&gt;ajv/dist/compile/codegen&lt;/strong&gt; . Upon checking the &lt;strong&gt;node_modules&lt;/strong&gt; directory, even if the &lt;strong&gt;ajv&lt;/strong&gt; module seems present, the &lt;strong&gt;compile/codegen&lt;/strong&gt; part is nowhere to be found.&lt;/p&gt;</description></item><item><title>The PCF Control Framework chooses Esbuild-Loader for Faster Build Time</title><link>https://itmustbecode.com/the-pcf-control-framework-chooses-esbuild-loader-for-faster-build-time/</link><pubDate>Mon, 10 Oct 2022 13:45:03 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/the-pcf-control-framework-chooses-esbuild-loader-for-faster-build-time/</guid><description>&lt;p&gt;While I was starting a new PowerApps Component Framework ( &lt;strong&gt;PCF&lt;/strong&gt;) project, I stumbled upon the latest release notes of the framework&amp;rsquo;s main package ( &lt;strong&gt;&lt;a class="link" href="https://www.npmjs.com/package/pcf-scripts" target="_blank" rel="noopener"
&gt;pcf-scripts&lt;/a&gt;&lt;/strong&gt; v1.18.4). I was stoked 🤩 to see that they &lt;strong&gt;improved&lt;/strong&gt; the performance of the &lt;strong&gt;bundling&lt;/strong&gt; process by switching from &lt;strong&gt;&lt;a class="link" href="https://babeljs.io/" target="_blank" rel="noopener"
&gt;babel-loader&lt;/a&gt;&lt;/strong&gt; to &lt;a class="link" href="https://github.com/privatenumber/esbuild-loader" target="_blank" rel="noopener"
&gt;&lt;strong&gt;esbuild-loader&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src="./image-11.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;p&gt;Let&amp;rsquo;s take this opportunity to nerd-out on the &lt;strong&gt;bundling&lt;/strong&gt; process of a PCF control and see if this change really &lt;strong&gt;measures up&lt;/strong&gt; ⌚.&lt;/p&gt;</description></item><item><title>Storybook for PCF Controls - Part 2 : Publish to GitHub Pages</title><link>https://itmustbecode.com/storybook-for-pcf-controls-part-2-publish-to-github-pages/</link><pubDate>Thu, 29 Sep 2022 00:16:42 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/storybook-for-pcf-controls-part-2-publish-to-github-pages/</guid><description>&lt;p&gt;This is the &lt;strong&gt;second part&lt;/strong&gt; of a series on &lt;strong&gt;&lt;a class="link" href="https://storybook.js.org/" target="_blank" rel="noopener"
&gt;Storybook&lt;/a&gt;&lt;/strong&gt; for PowerApps Component Framework ( &lt;strong&gt;PCF&lt;/strong&gt;) controls, where I take one of my community PCF control hosted on Github (&lt;a class="link" href="https://github.com/drivardxrm/CountryPicker.PCF" target="_blank" rel="noopener"
&gt;CountryPicker.PCF&lt;/a&gt;) and implement a Storybook from scratch.&lt;/p&gt;
&lt;p&gt;While the &lt;a class="link" href="https://itmustbecode.com/storybook-for-pcf-controls-part-1-set-the-story-straight/" &gt;first post&lt;/a&gt;, revolved around the setup and authoring process of the &lt;strong&gt;Storybook&lt;/strong&gt;, this one focuses on the &lt;strong&gt;publishing&lt;/strong&gt; steps required to make Storybook static site &lt;strong&gt;publicly&lt;/strong&gt; available from &lt;strong&gt;GitHub Pages&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Storybook for PCF Controls - Part 1 : Set the Story Straight</title><link>https://itmustbecode.com/storybook-for-pcf-controls-part-1-set-the-story-straight/</link><pubDate>Mon, 12 Sep 2022 01:43:09 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/storybook-for-pcf-controls-part-1-set-the-story-straight/</guid><description>&lt;p&gt;In the frontend development world, &lt;strong&gt;&lt;a class="link" href="https://storybook.js.org/" target="_blank" rel="noopener"
&gt;Storybook&lt;/a&gt;&lt;/strong&gt; as emerged as the &lt;strong&gt;industry standard&lt;/strong&gt; to showcase and test UI components.&lt;/p&gt;
&lt;p&gt;In this series of posts I will show how easy (and rewarding) it is to implement and publish a Storybook for a &lt;strong&gt;PowerApps Component Framework (PCF)&lt;/strong&gt; project. That way users can have a direct and interactive access to the control without having to install anything on their side.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Part 1&lt;/strong&gt;, will focus on &lt;strong&gt;setting up&lt;/strong&gt; Storybook and write the stories in the context of a PCF control project.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Part 2&lt;/strong&gt;, will demontrate how to &lt;strong&gt;publish&lt;/strong&gt; the Storybook to &lt;strong&gt;Github Pages&lt;/strong&gt; on every commit using &lt;strong&gt;GitHub Actions&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-is-storybook"&gt;What is Storybook
&lt;/h2&gt;&lt;p&gt;In essence, &lt;strong&gt;Storybook&lt;/strong&gt; is a framework that helps web developers express and test frontend workflows. It can be used for &lt;strong&gt;building&lt;/strong&gt;, &lt;strong&gt;documenting&lt;/strong&gt;, and &lt;strong&gt;testing&lt;/strong&gt; UI components in isolation.&lt;/p&gt;</description></item><item><title>Develop PCF Controls with FluentUI React v9</title><link>https://itmustbecode.com/develop-pcf-controls-with-fluentui-react-v9/</link><pubDate>Fri, 26 Aug 2022 04:50:52 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/develop-pcf-controls-with-fluentui-react-v9/</guid><description>&lt;p&gt;Microsoft recently unveiled the first stable version of &lt;strong&gt;FluentUI React v9&lt;/strong&gt;( &lt;strong&gt;&lt;code&gt;@fluentui/react-components&lt;/code&gt;&lt;/strong&gt;). This new edition of FluentUI is the result of joint efforts from the &lt;strong&gt;Office&lt;/strong&gt; and &lt;strong&gt;Teams&lt;/strong&gt; product teams to streamline their respective React front-end libraries into one component framework.&lt;/p&gt;
&lt;p&gt;To celebrate this 🎉, I have released 2 community PowerApps Control Framework ( &lt;strong&gt;PCF&lt;/strong&gt;) Controls that targets this new library.&lt;/p&gt;
&lt;p&gt;In this post I will reflect on my experience authoring PCF controls with this new set of components and highlight the main differences with prior versions.&lt;/p&gt;</description></item><item><title>PCF Controls - Tree-Shaking For Better Bundle Size</title><link>https://itmustbecode.com/pcf-controls-tree-shaking-for-better-bundle-size/</link><pubDate>Mon, 25 Jul 2022 02:29:08 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-controls-tree-shaking-for-better-bundle-size/</guid><description>&lt;p&gt;Building modern front-end controls and application requires great care to keep the &lt;strong&gt;size&lt;/strong&gt; of the assets as &lt;strong&gt;low&lt;/strong&gt; as possible. The development of PowerApps Control Framework (PCF) controls doesn&amp;rsquo;t fall short from this rule.&lt;/p&gt;
&lt;p&gt;In this post I will show how to optimize the &lt;strong&gt;tree-shaking&lt;/strong&gt; process and &lt;strong&gt;reduce&lt;/strong&gt; thebundle size of PCF controls with simple adjustments to &lt;strong&gt;module resolution&lt;/strong&gt; of the Typescript configuration file.&lt;/p&gt;
&lt;h2 id="how-i-got-there"&gt;How I got there
&lt;/h2&gt;&lt;p&gt;After seeing this tweet from &lt;a class="link" href="https://twitter.com/ScottDurow" target="_blank" rel="noopener"
&gt;Scott Durow&lt;/a&gt; that announced the release of &lt;a class="link" href="https://react.fluentui.dev/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;FluentUI React v9&lt;/strong&gt;&lt;/a&gt; , I felt the urge and I immediately started a new PCF control project that targets this new library.&lt;/p&gt;</description></item><item><title>Visual Studio Talk Show</title><link>https://itmustbecode.com/visual-studio-talk-show/</link><pubDate>Fri, 08 Apr 2022 03:47:38 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/visual-studio-talk-show/</guid><description>&lt;p&gt;In this &lt;a class="link" href="https://visualstudiotalkshow.libsyn.com/0266-david-rivard-powerapps-control-framework-pcf" target="_blank" rel="noopener"
&gt;episode&lt;/a&gt; of the Visual Studio Talk Show, I had the great pleasure to talk (In French) with Microsoft MVP&amp;rsquo;s &lt;a class="link" href="https://www.linkedin.com/in/mariocardinal/" target="_blank" rel="noopener"
&gt;Mario Cardinal&lt;/a&gt; and &lt;a class="link" href="https://www.linkedin.com/in/guybarrette/" target="_blank" rel="noopener"
&gt;Guy Barette&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We talked about the PowerPlatform in general and mostly about my open source PCF control projects.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img src="https://assets.libsyn.com/secure/show/46090/VSTS%5F430px.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;a class="link-card" href="https://visualstudiotalkshow.libsyn.com/0266-david-rivard-powerapps-control-framework-pcf" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/f7e345f5ea0077d5.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;Visual Studio Talk Show: 0266 – David Rivard – PowerApps Control Framework (PCF)&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Nous discutons avec David Rivard de PowerApps Control Framework (PCF), un cadre de programmation logiciel permettant de créer des composantes UI pour l’outil Power Apps. Power Apps permet l’écriture d’applications commerciales sans être un programmeur professionnel car il nécessite très peu de code…&lt;/span&gt;
&lt;span class="link-card__domain"&gt;visualstudiotalkshow.libsyn.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>PCF control - Generate Shields.IO Badges in the PowerPlatform</title><link>https://itmustbecode.com/pcf-control-generate-shields-io-badges-in-the-powerplatform/</link><pubDate>Thu, 07 Apr 2022 02:49:10 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-control-generate-shields-io-badges-in-the-powerplatform/</guid><description>&lt;p&gt;One of the thing I like the most about &lt;strong&gt;PCF controls&lt;/strong&gt; for the PowerPlatform is the ability to change the normal behavior and rendering of forms attributes to add a new twist to the user experience.&lt;/p&gt;
&lt;p&gt;With that in mind, for my latest communityPCF control, &lt;a class="link" href="https://github.com/drivardxrm/ShieldsIO.Badge.PCF" target="_blank" rel="noopener"
&gt;ShieldsIO.Badge.PCF&lt;/a&gt;, I wanted to bring the ability to render custom (and awesome ) &lt;strong&gt;Shields.IO badges&lt;/strong&gt; to the &lt;strong&gt;PowerPlatform&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Using badges in Model-driven or Canvas Apps forms is a great way to provide &lt;strong&gt;concise&lt;/strong&gt;, &lt;strong&gt;actionable&lt;/strong&gt; and &lt;strong&gt;visually appealing&lt;/strong&gt; controls to end users.&lt;/p&gt;</description></item><item><title>Related Record Filtering with the Lookup Dropdown PCF</title><link>https://itmustbecode.com/related-record-filtering-with-the-lookup-dropdown-pcf/</link><pubDate>Wed, 09 Feb 2022 02:37:48 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/related-record-filtering-with-the-lookup-dropdown-pcf/</guid><description>&lt;p&gt;In the latest release of the &lt;strong&gt;LookupDropdown PCF&lt;/strong&gt; control for Dataverse, I have added a new feature that adds support for &lt;strong&gt;related record filtering&lt;/strong&gt;, hence the ability to filter the values of a dropdown in real-time based on the value of another lookup field. When rendered, this can produce nice cascading effect as seen below.&lt;/p&gt;
&lt;figure&gt;&lt;img src="./image-8.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;img src="./image-9.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;p&gt;In this post I will show how to configure the PCF control for this scenario and dissert on what&amp;rsquo;s happening under the hood to make the magic happen.&lt;/p&gt;</description></item><item><title>Better UX with a Lookup Dropdown PCF Control</title><link>https://itmustbecode.com/better-ux-with-a-lookup-dropdown-pcf-control/</link><pubDate>Thu, 06 Jan 2022 02:35:50 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/better-ux-with-a-lookup-dropdown-pcf-control/</guid><description>&lt;p&gt;One of the most anticipated feature of the &lt;strong&gt;PowerApps Control Framework&lt;/strong&gt; (PCF) last year was the &lt;strong&gt;Lookup datatype support&lt;/strong&gt;. Hence the ability to bind a PCF control to a &lt;strong&gt;Lookup&lt;/strong&gt; field in a Dataverse Model-Driven form to customize it&amp;rsquo;s behavior.&lt;/p&gt;
&lt;p&gt;The feature was released last summer (&lt;a class="link" href="https://powerapps.microsoft.com/en-us/blog/announcing-the-general-availability-of-the-power-apps-component-framework-for-canvas-apps/" target="_blank" rel="noopener"
&gt;see official post&lt;/a&gt;) and the first idea that came to my mind was to create a PCF control that renders a lookup field as a &lt;strong&gt;dropdown&lt;/strong&gt; list instead of the of the out-of-the-box lookup selector.&lt;/p&gt;</description></item><item><title>PCF Controls - Useful Webpack Plugins</title><link>https://itmustbecode.com/pcf-controls-useful-webpack-plugins/</link><pubDate>Tue, 16 Nov 2021 04:58:31 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-controls-useful-webpack-plugins/</guid><description>&lt;p&gt;In my last post I explained how to enable &lt;strong&gt;custom webpack configurations&lt;/strong&gt; in a &lt;strong&gt;PowerApps Control Framework&lt;/strong&gt; project. I also showed how to generate the &lt;strong&gt;source-map&lt;/strong&gt; file of the generated PCF bundle.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="link" href="https://itmustbecode.com/pcf-controls-custom-webpack-configurations/" &gt;PCF controls – Custom Webpack configurations&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;To continue on this track and push things a little further, I want to explore how to enhance the PCF development experience with the use of &lt;strong&gt;webpack plugins&lt;/strong&gt; that can be referenced in the custom configuration file.&lt;/p&gt;</description></item><item><title>PCF controls - Custom Webpack configurations</title><link>https://itmustbecode.com/pcf-controls-custom-webpack-configurations/</link><pubDate>Wed, 20 Oct 2021 02:06:29 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/pcf-controls-custom-webpack-configurations/</guid><description>&lt;p&gt;When developing Power Platform PCF controls, at build-time, &lt;strong&gt;&lt;a class="link" href="https://webpack.js.org/" target="_blank" rel="noopener"
&gt;Webpack&lt;/a&gt;&lt;/strong&gt; is invoked to &lt;strong&gt;bundle&lt;/strong&gt; the code and dependencies into deployable assets.&lt;/p&gt;
&lt;p&gt;While the &lt;strong&gt;out-of-the-box&lt;/strong&gt; configurations are suitable for most of the basic PCF control needs, sometimes, you need to throw &lt;strong&gt;your own custom&lt;/strong&gt; instructions in the game. This is what we are going to cover in this post.&lt;/p&gt;
&lt;h3 id="webpack-and-pcf"&gt;&lt;strong&gt;Webpack and PCF&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;I will not spend too much time on the fundamentals of Webpack, there are tons of great blog post that deep-dives on the matter. But I think its important to understand what Webpack is and how it works in PCF control development.&lt;/p&gt;</description></item><item><title>XrmToolCast - Podcast</title><link>https://itmustbecode.com/xrmtoolcast-podcast/</link><pubDate>Tue, 19 Jan 2021 04:29:00 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/xrmtoolcast-podcast/</guid><description>&lt;p&gt;I had the great pleasure to &lt;strong&gt;geek out&lt;/strong&gt; with &lt;a class="link" href="https://twitter.com/rappen" target="_blank" rel="noopener"
&gt;Jonas Rapp&lt;/a&gt; and &lt;a class="link" href="https://twitter.com/ddlabar" target="_blank" rel="noopener"
&gt;Daryl Labar&lt;/a&gt; on this episode of XrmToolCast&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img src="./David_With_Daryl_and_Jonas-2.jpg"loading="lazy"&gt;&lt;/figure&gt;
&lt;a class="link-card" href="https://xrmtoolcast.libsyn.com/the-dataverse-custom-api-collection-with-david-rivard" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/2d748768202d0ec9.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;XrmToolCast: The Dataverse Custom API Collection with David Rivard&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Dataverse has had custom actions for some time now, and now, a similar new tool is available to Dataverse developer, Custom APIs.  We’ve brought David Rivard on to not only help define what they are, but to talk about his new .  Other topics covered: What’s the difference between Custom A…&lt;/span&gt;
&lt;span class="link-card__domain"&gt;xrmtoolcast.libsyn.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Rating PCF</title><link>https://itmustbecode.com/rating-pcf/</link><pubDate>Wed, 10 Jun 2020 21:12:43 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/rating-pcf/</guid><description>&lt;figure&gt;&lt;img src="./image-1.png" alt="This image has an empty alt attribute; its file name is image-1.png"loading="lazy"&gt;&lt;figcaption&gt;This image has an empty alt attribute; its file name is image-1.png&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;img src="https://pcf.gallery/assets/videos/ratingpcf.gif"loading="lazy"&gt;&lt;/figure&gt;
&lt;h3 id="pcf-gallery"&gt;&lt;strong&gt;PCF Gallery&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://pcf.gallery/rating-pcf/" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/c2348b9b7dcd23a2.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;Rating PCF&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;A control to create a configurable rating system based on FluentUI.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;pcf.gallery&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;h3 id="github-repo"&gt;&lt;strong&gt;GitHub repo&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://github.com/drivardxrm/Rating.PCF" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/5f73033359771e6e.jpg" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;drivardxrm/Rating.PCF&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Contribute to drivardxrm/Rating.PCF development by creating an account on GitHub.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;github.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;</description></item><item><title>Power Platform Saturday - Build awesome PCF’s using React Hooks</title><link>https://itmustbecode.com/power-platform-saturday-build-awesome-pcfs-using-react-hooks/</link><pubDate>Sun, 07 Jun 2020 11:01:00 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/power-platform-saturday-build-awesome-pcfs-using-react-hooks/</guid><description>&lt;h2 id="power-platform-saturday--developer-edition-june-2020---build-awesome-pcfs-using-react-hooks"&gt;Power Platform Saturday – Developer Edition June 2020 - Build awesome PCF’s using React Hooks
&lt;/h2&gt;&lt;p&gt;Here is the video of my session&lt;/p&gt;
&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/C7UlxLunwYs"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Date Two Option PCF</title><link>https://itmustbecode.com/date-two-option-pcf/</link><pubDate>Sat, 09 May 2020 20:50:33 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/date-two-option-pcf/</guid><description>&lt;figure&gt;&lt;img src="https://pcf.gallery/assets/images/datetwooption.png" alt="Date Two Option"loading="lazy"&gt;&lt;figcaption&gt;Date Two Option&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id="pcf-gallery"&gt;&lt;strong&gt;PCF Gallery&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://pcf.gallery/date-two-option/" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/d2ac0a45da6d75a7.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;Date Two Option&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;A control that turns a PowerApps date field into a checkbox. When the checkbox is clicked, the current date is stored in the backing date field.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;pcf.gallery&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;h3 id="github-repo"&gt;&lt;strong&gt;GitHub repo&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://github.com/drivardxrm/DateTwoOption.PCF" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/5f73033359771e6e.jpg" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;drivardxrm/DateTwoOption.PCF&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Contribute to drivardxrm/DateTwoOption.PCF development by creating an account on GitHub.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;github.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;</description></item><item><title>Country Picker PCF</title><link>https://itmustbecode.com/country-picker-pcf/</link><pubDate>Wed, 15 Jan 2020 21:45:05 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/country-picker-pcf/</guid><description>&lt;p&gt;&lt;figure&gt;&lt;img src="./image.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;a class="link-card" href="https://pcf.gallery/country-picker/" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/453075a886fb52c7.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;Country Picker&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;A control that renders a Text field as a Combobox displaying country names and flags. Country information comes from the public API https://restcountries.eu.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;pcf.gallery&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;/p&gt;
&lt;a class="link-card" href="https://github.com/drivardxrm/CountryPicker.PCF" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://repository-images.githubusercontent.com/229957346/c1264e80-30d2-11ea-833c-f3739687ae0a" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;drivardxrm/CountryPicker.PCF&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Country Picker PCF. Contribute to drivardxrm/CountryPicker.PCF development by creating an account on GitHub.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;github.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;</description></item><item><title>OptionsetIcons PCF</title><link>https://itmustbecode.com/optionseticons-pcf/</link><pubDate>Wed, 04 Dec 2019 21:56:04 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/optionseticons-pcf/</guid><description>&lt;figure&gt;&lt;img src="https://pcf.gallery/assets/images/optionseticons.png" alt="OptionSet Icons"loading="lazy"&gt;&lt;figcaption&gt;OptionSet Icons&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id="pcf-gallery"&gt;&lt;strong&gt;PCF Gallery&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://pcf.gallery/optionset-icons/" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/97764ce51cc19482.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;OptionSet Icons&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;A control to transform an OptionSet field into a configurable Fabric-UI Choice group with Icons, compatible with up to five options. Optionset labels are used as icon labels, list of icons available here.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;pcf.gallery&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;h3 id="github-repo"&gt;&lt;strong&gt;GitHub Repo&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://github.com/drivardxrm/IconOptionSet.PCF" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/175a359e0a806477.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;drivardxrm/IconOptionSet.PCF&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Display an Optionset with Office UI Fabric icons. Contribute to drivardxrm/IconOptionSet.PCF development by creating an account on GitHub.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;github.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;</description></item><item><title>Two Option Icons PCF</title><link>https://itmustbecode.com/two-option-icons-pcf/</link><pubDate>Wed, 20 Nov 2019 22:29:03 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/two-option-icons-pcf/</guid><description>&lt;figure&gt;&lt;img src="./image-5.png" alt="This image has an empty alt attribute; its file name is image-5.png"loading="lazy"&gt;&lt;figcaption&gt;This image has an empty alt attribute; its file name is image-5.png&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id="pcf-gallery"&gt;&lt;strong&gt;PCF Gallery&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://pcf.gallery/two-options-icons/" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/7099ac2df5e3ed9f.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;Two Options Icons&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;A control to transform a Two Options field with Fabric-UI Icons. List of icons available here.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;pcf.gallery&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;h3 id="github-repo"&gt;&lt;strong&gt;GitHub Repo&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://github.com/drivardxrm/IconTwoOption.PCF" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/a3475f7b305d128f.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;drivardxrm/IconTwoOption.PCF&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Contribute to drivardxrm/IconTwoOption.PCF development by creating an account on GitHub.&lt;/span&gt;
&lt;span class="link-card__domain"&gt;github.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;</description></item><item><title>Sparkline PCF</title><link>https://itmustbecode.com/sparkline-pcf/</link><pubDate>Mon, 11 Nov 2019 22:17:00 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/sparkline-pcf/</guid><description>&lt;figure&gt;&lt;img src="./image-3.png"loading="lazy"&gt;&lt;/figure&gt;
&lt;h3 id="pcf-gallery"&gt;&lt;strong&gt;PCF Gallery&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://pcf.gallery/sparkline/" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/a201207bb2ea7984.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;Sparkline&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;A control to render sparkline graphs based on react-sparklines. It takes an array of numbers and several display parameters (color, height, width, type, fill, separator, …).&lt;/span&gt;
&lt;span class="link-card__domain"&gt;pcf.gallery&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;h3 id="github-repo"&gt;&lt;strong&gt;GitHub Repo&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://github.com/drivardxrm/Sparkline.PCF" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/c5593b3e6e09d90a.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;drivardxrm/Sparkline.PCF&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Beautiful and expressive PCF sparkline control based on react-sparklines. - drivardxrm/Sparkline.PCF&lt;/span&gt;
&lt;span class="link-card__domain"&gt;github.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;</description></item><item><title>Time Picker PCF</title><link>https://itmustbecode.com/time-picker-pcf/</link><pubDate>Mon, 04 Nov 2019 22:23:48 +0000</pubDate><guid isPermaLink="false">https://itmustbecode.com/time-picker-pcf/</guid><description>&lt;h3 id="pcf-gallery"&gt;&lt;strong&gt;PCF Gallery&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://pcf.gallery/time-picker/" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/67847579b808c6cc.png" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;Time Picker&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;A control based on React Time Picker (rc-time-picker). The Time Picker is based on 2 whole number backing fields (hours and minutes).&lt;/span&gt;
&lt;span class="link-card__domain"&gt;pcf.gallery&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;h3 id="github-repo"&gt;&lt;strong&gt;GitHub Repo&lt;/strong&gt;
&lt;/h3&gt;&lt;a class="link-card" href="https://github.com/drivardxrm/TimePicker.PCF" target="_blank" rel="nofollow noopener"&gt;
&lt;img class="link-card__image" src="https://itmustbecode.com/linkcards/5f73033359771e6e.jpg" alt="" loading="lazy"&gt;
&lt;span class="link-card__content"&gt;
&lt;strong class="link-card__title"&gt;drivardxrm/TimePicker.PCF&lt;/strong&gt;
&lt;span class="link-card__summary"&gt;Time Picker PCF Control based on React time Picker (rc-time-picker) - drivardxrm/TimePicker.PCF&lt;/span&gt;
&lt;span class="link-card__domain"&gt;github.com&lt;/span&gt;
&lt;/span&gt;
&lt;/a&gt;</description></item></channel></rss>