<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Power Platform</title>
    <description>The latest articles on Forem by Power Platform (@powerplatform).</description>
    <link>https://forem.com/powerplatform</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F6636%2F0a40f097-e4d4-4c70-852c-2a34c72c4d7e.jpg</url>
      <title>Forem: Power Platform</title>
      <link>https://forem.com/powerplatform</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/powerplatform"/>
    <language>en</language>
    <item>
      <title>New GitHub Sample Workflows for Power Platform</title>
      <dc:creator>Kartik Kanakasabesan</dc:creator>
      <pubDate>Sat, 11 Mar 2023 00:30:15 +0000</pubDate>
      <link>https://forem.com/powerplatform/new-github-sample-workflows-for-power-platform-81m</link>
      <guid>https://forem.com/powerplatform/new-github-sample-workflows-for-power-platform-81m</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2qy8vkxq6n6t6djkpze.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2qy8vkxq6n6t6djkpze.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Wait there are GitHub actions for Power Platform?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/microsoft/powerplatform-actions" rel="noopener noreferrer"&gt;Power Platform Build Tools &lt;/a&gt;as they are officially called, have been available for GitHub for over a year. So, yes, the answer is yes. We have Power Platform GitHub actions documentation available at this &lt;a href="https://learn.microsoft.com/en-us/power-platform/alm/devops-github-actions" rel="noopener noreferrer"&gt;location &lt;/a&gt;. In addition to the documentation, we also have hands on lab content available &lt;a href="https://github.com/microsoft/powerplatform-actions-lab" rel="noopener noreferrer"&gt;here&lt;/a&gt; for the users to go try out. One of the folders in the Power Platform Hands on lab is the samples folder. This is the location where our team posts sample workflows (as the name suggests) on actions that can be done with Power Platform and GitHub. &lt;/p&gt;

&lt;h3&gt;
  
  
  What are the new workflows that we have added?
&lt;/h3&gt;

&lt;p&gt;A lot of you wanted to see the kind of flexibility of the tasks offered for Power Platform in GitHub actions. The purpose of this post is to show you just that. &lt;/p&gt;

&lt;h3&gt;
  
  
  Username and Password or Service Principal?
&lt;/h3&gt;

&lt;p&gt;That is the first question a lot of folks ask. In the samples folder you will see that there are examples of both. I am biased towards service principals, and I am not ashamed to say it. Username and Password are a viable choice, but make sure that such accounts are not impacted by MFA policies. Considering that runners (if you are using cloud-based pools) are dynamically allocated, MFA will cause issues for your GitHub workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the new samples?
&lt;/h3&gt;

&lt;p&gt;The sample workflows are as follows: &lt;br&gt;
1) &lt;a href="https://github.com/microsoft/powerplatform-actions-lab/blob/main/sample-workflows/create-envs.yml" rel="noopener noreferrer"&gt;Create environments&lt;/a&gt;&lt;br&gt;
2) &lt;a href="https://github.com/microsoft/powerplatform-actions-lab/blob/main/sample-workflows/exportandunpack.yml" rel="noopener noreferrer"&gt;Export, Unpack and Commit&lt;/a&gt; &lt;br&gt;
3) &lt;a href="https://github.com/microsoft/powerplatform-actions-lab/blob/main/sample-workflows/delete-environments.yml" rel="noopener noreferrer"&gt;Delete environments&lt;/a&gt;&lt;br&gt;
4) &lt;a href="https://github.com/microsoft/powerplatform-actions-lab/blob/main/sample-workflows/deploy-managed-application.yml" rel="noopener noreferrer"&gt;Deploy Managed Application&lt;/a&gt;&lt;br&gt;
5) &lt;a href="https://github.com/microsoft/powerplatform-actions-lab/blob/main/sample-workflows/deploy-unmanaged-application.yml" rel="noopener noreferrer"&gt;Deploy Unmanaged Application&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;These new workflows as their name states do things within the Power Platform, let us start with the first one&lt;/p&gt;

&lt;h4&gt;
  
  
  Create environment
&lt;/h4&gt;

&lt;p&gt;All the workflows use workflow_dispatch calls which means they are manually activated. If you would like to know what are the other types of dispatch mechanism. I would recommend reading up on the event triggers on the &lt;a href="https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows" rel="noopener noreferrer"&gt;GitHub website&lt;/a&gt;. Create environment takes a few variables as user input or when invoked remotely via Power Automate (that is a different blog) and then proceed to create a developer environment for Dev, a Sandbox environment for Test, and a Production environment for Production. This particular workflow assumes that you are going to create 3 environments, the assumption here is that Production and Testing environments maybe long lived environments but you developer environments are ephemeral, as in you will be deleting them once you are done. What you say? Deleting developer environments?  Yes, if you are persisting your solutions into source control like GitHub, then you can always reconstitute the developer environment from source code. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;- name: Create Developer Environment&lt;br&gt;
      uses: microsoft/powerplatform-actions/create-environment@v0&lt;br&gt;
      with:&lt;br&gt;
        app-id: ${{secrets.CLIENT_ID}}&lt;br&gt;
        client-secret: ${{ secrets.PowerPlatformSPN }}&lt;br&gt;
        tenant-id: ${{secrets.TENANT_ID}}&lt;br&gt;
        name: ${{ github.event.inputs.env_name}}_Dev&lt;br&gt;
        type: Developer&lt;br&gt;
        domain: ${{ github.event.inputs.env_name}}Dev&lt;/code&gt;&lt;br&gt;
In this case, based on the variables used you can see we are creating the Developer environment and using service principals to do so. Now remember when creating an environment with a service principal, by default the service principal owns it. The next task is user assignment in this case I am adding another user to the environment with similar privileges as the service principal. You can absolutely change those if you like.&lt;br&gt;
&lt;code&gt;- name: assign-user to developer environment&lt;br&gt;
      uses:  microsoft/powerplatform-actions/assign-user@v0&lt;br&gt;
      with:&lt;br&gt;
        app-id: ${{secrets.CLIENT_ID}}&lt;br&gt;
        client-secret: ${{ secrets.PowerPlatformSPN }}&lt;br&gt;
        tenant-id: ${{secrets.TENANT_ID}}&lt;br&gt;
        environment: 'https://${{ github.event.inputs.env_name}}Dev.dynamics.com'&lt;br&gt;
        user:${{ github.event.inputs.user_id }}&lt;br&gt;
        role: System Administrator&lt;/code&gt;&lt;br&gt;
But in your case, you can add any other role here. You can also add another service principal account as well using &lt;br&gt;
&lt;code&gt;application-user&lt;/code&gt; parameter.&lt;/p&gt;

&lt;h4&gt;
  
  
  Export Unpack and Commit
&lt;/h4&gt;

&lt;p&gt;In this workflow we export a given solution as unmanaged, unpack it, then export the managed version of the solution, and then commit them to the GitHub repository. &lt;/p&gt;

&lt;p&gt;About committing managed solution into the source code repository. I am wading into philosophical waters here! Checking in a managed solution to me is like checking in a dll into source code.So, if you have the source code, why check in the dll as well, you can always reconstitute it, right! BTW, if you have no idea what I am talking about for &lt;a href="https://learn.microsoft.com/en-us/power-platform/alm/solution-concepts-alm" rel="noopener noreferrer"&gt;managed and unmanaged solutions&lt;/a&gt;, the power platform ALM page is a wonderful place to get acquainted with the concepts.  I come from a world where you only check-in the unmanaged contents, put it in a build server and then export from the build server as managed, which makes it immutable and ready for deployment into Test and/or Production. &lt;br&gt;
There is another school of thought, that states that you export both the unmanaged and managed versions of the solution and if all well with the application then just proceed to deploy the managed version into Test and/or Production. The good thing is we support both.&lt;/p&gt;

&lt;p&gt;Now, you can unpack managed solutions to and check them in. If you are going to do that make sure the unpack in a different location. the Sample workflow only unpacks the unmanaged solution. Your process maybe different.&lt;/p&gt;

&lt;h4&gt;
  
  
  Delete environments
&lt;/h4&gt;

&lt;p&gt;This is a simple one where we just delete the Development, Test, and Production environments. When deleting environment remember if there is data in the environment (as in inside dataverse) they would get lost as well. You can use the data migration tool (in a different blog) to export the data and check that into source code as well.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;- name: Delete Dev Environment&lt;br&gt;
      uses: microsoft/powerplatform-actions/delete-environment@v0&lt;br&gt;
      with:&lt;br&gt;
        app-id: ${{secrets.CLIENT_ID}}&lt;br&gt;
        client-secret: ${{ secrets.PowerPlatformSPN }}&lt;br&gt;
        tenant-id: ${{secrets.TENANT_ID}}&lt;br&gt;
        environment-url: ${{ inputs.dev_env }}&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Deploying applications
&lt;/h4&gt;

&lt;p&gt;Here we have 2 workflows, in the case of the managed solution, you can see that we only deploy the solution.zip and it pretty straight forward. &lt;br&gt;
&lt;code&gt;- name: Import solution as unmanaged to build env&lt;br&gt;
        uses: microsoft/powerplatform-actions/import-solution@v0&lt;br&gt;
        with:&lt;br&gt;
          environment-url: ${{github.event.inputs.environment_url}}&lt;br&gt;
          app-id: ${{secrets.CLIENT_ID}}&lt;br&gt;
          client-secret: ${{ secrets.PowerPlatformSPN }}&lt;br&gt;
          tenant-id: ${{secrets.TENANT_ID}}&lt;br&gt;
          solution-file: ${{ github.event.repository.name}}/${{ github.event.inputs.solution_name }}_managed.zip&lt;br&gt;
          force-overwrite: true&lt;br&gt;
          publish-changes: true&lt;/code&gt;&lt;br&gt;
All it does is that takes the managed zip file and imports it to the target environment.  &lt;/p&gt;

&lt;p&gt;Now in the case of the unmanaged solution, there is an extra task that needs to be done. This is called packing the solution, as in reconstituting the solution.zip file. So that it is ready to import. &lt;br&gt;
&lt;code&gt;- name: Pack the solution&lt;br&gt;
        uses: microsoft/powerplatform-actions/pack-solution@v0&lt;br&gt;
        with:&lt;br&gt;
          solution-folder: ${{ github.event.repository.name}}/${{ github.event.inputs.solution_name }}&lt;br&gt;
          solution-file: ${{ github.event.repository.name}}/${{ github.event.inputs.solution_name }}.zip&lt;br&gt;
          solution-type: Unmanaged&lt;/code&gt;&lt;br&gt;
&lt;code&gt;- name: Import solution as unmanaged to build env&lt;br&gt;
        uses: microsoft/powerplatform-actions/import-solution@v0&lt;br&gt;
        with:&lt;br&gt;
          environment-url: ${{github.event.inputs.environment_url}}&lt;br&gt;
          app-id: ${{secrets.CLIENT_ID}}&lt;br&gt;
          client-secret: ${{ secrets.PowerPlatformSPN }}&lt;br&gt;
          tenant-id: ${{secrets.TENANT_ID}}&lt;br&gt;
          solution-file: ${{ github.event.repository.name}}/${{ github.event.inputs.solution_name }}.zip&lt;br&gt;
          force-overwrite: true&lt;br&gt;
          publish-changes: true&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now also realize, when are you importing an unmanaged solution into a target environment, unmanaged means that it can change (as in edit the application), so if you do make changes to the application in the QA environment then make sure export the unmanaged changes to the source repository before exporting the managed solution. Now , importing unmanaged solutions into any environment other than development makes me uneasy, as the best practice is to have unmanaged solutions in your developer environment, and only managed solutions in QA and Production. Some of the patterns you can think of are &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dev (Exports Unmanaged) -&amp;gt; (Imports UnManaged) Build-&amp;gt; Build (Exports Managed) -&amp;gt; (Imports Managed) QA (Exports Managed) -&amp;gt; (Imports Managed) Prod&lt;/li&gt;
&lt;li&gt;Dev (Exports Unmanaged + Managed) -&amp;gt; (Imports Managed) QA (Exports Managed) -&amp;gt; (Imports Managed) Prod &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are plenty of other patterns that you can explore these are just some of them&lt;/p&gt;

&lt;p&gt;There plenty of other sample workflows in the repository, I am also thinking about creating a repository for the community to share their workflows as well. If this an idea you all like. Please do let me know. &lt;/p&gt;

&lt;p&gt;Looking forward to hearing from you all and exploring what other patterns that you have implemented.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>devops</category>
      <category>frontend</category>
      <category>powerfuldevs</category>
    </item>
    <item>
      <title>3. DevTools &amp; Onboarding</title>
      <dc:creator>Nitya Narasimhan, Ph.D</dc:creator>
      <pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate>
      <link>https://forem.com/powerplatform/3-devtools-onboarding-5ln</link>
      <guid>https://forem.com/powerplatform/3-devtools-onboarding-5ln</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Want to learn about Cloud + AI? Follow Microsoft Azure on dev.to&lt;/strong&gt; 👇🏽&lt;/p&gt;
&lt;/blockquote&gt;


&lt;div class="ltag__user ltag__user__id__512"&gt;
  &lt;a href="/azure" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F512%2F64ce0b82-730d-4ca0-8359-2c21513a0063.jpg" alt="azure image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/azure" class="ltag__user__link"&gt;Microsoft Azure&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/azure" class="ltag__user__link"&gt;
        Learn how to build and manage powerful applications using Microsoft Azure cloud services. Explore the documentation and samples, skill yourself up with tutorials and training. Any language. Any platform. 
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;✨&lt;strong&gt;#30DaysOfLowCode&lt;/strong&gt; is a curated roadmap of daily posts that can help both citizen developers and pro-dev developers explore the value of low-code technologies to solve real-world problems with innovative apps. Visit &lt;a href="https://aka.ms/lowcode-february" rel="noopener noreferrer"&gt;the website&lt;/a&gt; to see the whole series or follow it on dev.to for daily updates.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Welcome to &lt;code&gt;Day #03&lt;/code&gt; of #30DaysOfLowCode!&lt;/p&gt;

&lt;h2&gt;
  
  
  What We'll Cover
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Get onboard with Power Platform&lt;/li&gt;
&lt;li&gt;Sign up for the Power Apps Developer Plan&lt;/li&gt;
&lt;li&gt;Get familiar with the tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Activity&lt;/strong&gt; : Sign up for your &lt;a href="https://aka.ms/lowcode-february/devplan" rel="noopener noreferrer"&gt;Developer Plan&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource&lt;/strong&gt; s: Explore the &lt;a href="https://aka.ms/lowcode-february/collection" rel="noopener noreferrer"&gt;Low Code February Collection&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Get onboard with Power Platform!
&lt;/h2&gt;

&lt;p&gt;I'm excited to announce that now you can create up to 3 developer environments with the Power Apps Developer Plan! Let's take this opportunity to review how to get a free environment to get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sign up for the Power Apps Developer Plan​
&lt;/h2&gt;

&lt;p&gt;The Power Apps Developer Plan gives you a free development environment to build and test with Power Apps, Power Automate, and Microsoft Dataverse. It just takes a few minutes to get a developer environment for Power Platform:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ensure that you have a work account. If you don't, you can create a test tenant first.
&lt;/li&gt;
&lt;li&gt;Sign up on the &lt;a href="https://aka.ms/lowcode-february/devplan" rel="noopener noreferrer"&gt;Power Apps Developer Plan website&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Once the sign up is complete, you will be redirected to your new developer environment.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://microsoft.github.io/Low-Code/assets/images/01%20-%20devplan%20signup-3afa66fd4f7c0edb8e766ff2cc60b9c0.gif" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zebsl992oogb9idadc7.png" alt="Power Apps Developer Plan - sign up process" width="741" height="417"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Do I need a test tenant?
&lt;/h3&gt;

&lt;p&gt;In an ideal world you would use your existing work account to sign up for the Power Apps Developer Plan. If you already have an Azure account, you likely can use the same account to sign up. If this is not possible for any reason, you can create a free test tenant using the &lt;a href="https://learn.microsoft.com/power-platform/developer/create-developer-environment#how-to-create-a-test-tenant" rel="noopener noreferrer"&gt;Microsoft 365 Developer Program&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get familiar with the tools​
&lt;/h2&gt;

&lt;p&gt;After the sign up you will be in the &lt;a href="https://make.powerapps.com" rel="noopener noreferrer"&gt;https://make.powerapps.com&lt;/a&gt; and your environment will be ready to use. You can start creating your first Power App.&lt;/p&gt;

&lt;p&gt;If you would like to create more environments or manage your environment, visit the &lt;a href="https://aka.ms/ppac" rel="noopener noreferrer"&gt;Power Platform Administrator Center.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://microsoft.github.io/Low-Code/assets/images/01%20-%20devplan%20PPAC-86758d335b4009972e36e1e37ae737ff.gif" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7qslqa3auw0p0x1iytsp.png" alt="Create new environments in the Power Platform Admin Center" width="741" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Create new environments in the Power Platform Admin Center&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you are a code first developer, you can use the Power Platform CLI to manage your environments, create code first components and much more. The best way to get our CLI is to download the &lt;a href="https://learn.microsoft.com/power-platform/developer/cli/introduction" rel="noopener noreferrer"&gt;Visual Studio Code extension.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://microsoft.github.io/Low-Code/assets/images/01%20-%20devplan%20CLI-5d47902f150aef319a6100d7362b1481.gif" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2v14oi3uwgpyx5xqvfk2.png" alt="Power Platform Tools for Visual Studio Code" width="741" height="420"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;Are you a code first developer? To understand how Power Platform can make you more productive and how you can use code to extend the platform, check the &lt;a href="https://learn.microsoft.com/power-platform/developer/get-started" rel="noopener noreferrer"&gt;Introduction to Microsoft Power Platform for developers&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;For detailed information on the Power Apps Developer plan: &lt;a href="https://learn.microsoft.com/power-apps/maker/developer-plan" rel="noopener noreferrer"&gt;Sign up for Power Apps Developer Plan&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For detailed information on licensing: &lt;a href="https://learn.microsoft.com/power-platform/admin/pricing-billing-skus" rel="noopener noreferrer"&gt;Licensing overview for Microsoft Power Platform&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Happy coding 🎉.&lt;/p&gt;




&lt;h2&gt;
  
  
  About the Author
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Marcel Ferreira&lt;/strong&gt; is a Senior Program Manager at Microsoft, focused on all things Low-Code Development and Power Platform related. Follow him &lt;a href="https://twitter.com/marcel_ferreira" rel="noopener noreferrer"&gt;@marcel_ferreira&lt;/a&gt; on Twitter or &lt;a href="https://github.com/marcelbf" rel="noopener noreferrer"&gt;here&lt;/a&gt; on GitHub.&lt;/p&gt;




&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/training/modules/introduction-power-platform//?WT.mc_id=power-82212-apdunnam" rel="noopener noreferrer"&gt;Introduction to the Power Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/power-apps/guidance/fusion-dev-ebook/?WT.mc_id=power-82212-apdunnam" rel="noopener noreferrer"&gt;Fusion Development with Power Platform EBook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/training/paths/transform-business-applications-with-fusion-development/?WT.mc_id=power-82212-apdunnam" rel="noopener noreferrer"&gt;Fusion Development with Power Platform Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aka.ms/lowcode-february/collection" rel="noopener noreferrer"&gt;Learn Collection: LowCode February&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvb8dg4951o5zdgcnu4i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvb8dg4951o5zdgcnu4i.png" alt="Campaign Banner" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>powerfuldevs</category>
      <category>beginners</category>
      <category>azure</category>
      <category>lowcode</category>
    </item>
    <item>
      <title>2. You say Low, I say Code!</title>
      <dc:creator>Nitya Narasimhan, Ph.D</dc:creator>
      <pubDate>Wed, 01 Mar 2023 00:00:00 +0000</pubDate>
      <link>https://forem.com/powerplatform/2-you-say-low-i-say-code-2eii</link>
      <guid>https://forem.com/powerplatform/2-you-say-low-i-say-code-2eii</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Want to learn about Cloud + AI? Follow Microsoft Azure on dev.to&lt;/strong&gt; 👇🏽&lt;/p&gt;
&lt;/blockquote&gt;


&lt;div class="ltag__user ltag__user__id__512"&gt;
  &lt;a href="/azure" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F512%2F64ce0b82-730d-4ca0-8359-2c21513a0063.jpg" alt="azure image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/azure" class="ltag__user__link"&gt;Microsoft Azure&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/azure" class="ltag__user__link"&gt;
        Learn how to build and manage powerful applications using Microsoft Azure cloud services. Explore the documentation and samples, skill yourself up with tutorials and training. Any language. Any platform. 
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;✨&lt;strong&gt;#30DaysOfLowCode&lt;/strong&gt; is a curated roadmap of daily posts that can help both citizen developers and pro-dev developers explore the value of low-code technologies to solve real-world problems with innovative apps. Visit &lt;a href="https://aka.ms/lowcode-february" rel="noopener noreferrer"&gt;the website&lt;/a&gt; to see the whole series or follow it on dev.to for daily updates.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Welcome to &lt;code&gt;Day 02&lt;/code&gt; of #30DaysOfLowCode!&lt;/p&gt;

&lt;h2&gt;
  
  
  What We'll Cover
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What is Low Code?&lt;/li&gt;
&lt;li&gt;How are the Benefits? &lt;/li&gt;
&lt;li&gt;What does Power Platform Provide?&lt;/li&gt;
&lt;li&gt;How can we extend Power Platform?&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Activity&lt;/em&gt;: Join the &lt;a href="https://aka.ms/lowcode-february/challenge" rel="noopener noreferrer"&gt;Cloud Skills Challenge&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Resources&lt;/em&gt;: Explore the &lt;a href="https://aka.ms/lowcode-february/collection" rel="noopener noreferrer"&gt;Low Code February Collection&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to stay up-to-date on all things low-code? Follow the #powerfuldevs tag right here on dev.to! And use the tag to share your own articles and insights so we can amplify them!&lt;/p&gt;


&lt;div class="ltag__tag ltag__tag__id__60215"&gt;
    &lt;div class="ltag__tag__content"&gt;
      &lt;h2&gt;#&lt;a href="https://dev.to/t/powerfuldevs" class="ltag__tag__link"&gt;powerfuldevs&lt;/a&gt; Follow
&lt;/h2&gt;
      &lt;div class="ltag__tag__summary"&gt;
        Power Platform, Power Apps, Power Virtual Agents, Power BI, Power Automate, Low-Code or No-Code Development, Citizen Apps ⚡️
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  You say Low, I say Code!
&lt;/h2&gt;

&lt;p&gt;There is a low code revolution underway. We have a surging digital demand with an estimated 500 million more apps that will need to be created in the next 5 years. More and more companies are leveraging low code and no code platforms to bridge this app gap and address workflow and automation needs. In fact, Gartner estimates that 65% of application development will be low code by 2024.&lt;/p&gt;

&lt;p&gt;With low code tools like the Power Platform making it easier for business technologists to develop solutions, you might wonder if there's any room for a code first developer in this low code revolution. Well, the answer is, absolutely there is! In fact, code first developers are a critical piece to the puzzle.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is "low code"?
&lt;/h2&gt;

&lt;p&gt;The term "low code" can mean different things to different people when they first hear it. What we mean when we talk about low code is that with tools like Power Apps, you only need to write a small amount of code to get results that would normally take several more lines of code in a traditional programming language.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feio8uqg9e0orsipy44xi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feio8uqg9e0orsipy44xi.png" alt="What is Low Code" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In canvas-based Power Apps, the low code scripting language used is called &lt;a href="https://aka.ms/LearnPowerFx" rel="noopener noreferrer"&gt;Power Fx&lt;/a&gt;. This language is based on the Microsoft Excel formula language which meets many business technologists where they are by leveraging the knowledge they already have.&lt;/p&gt;

&lt;h2&gt;
  
  
  Low Code + Full Code = No Cliffs
&lt;/h2&gt;

&lt;p&gt;Using low-code tools is key to helping to resolve the existing and impending app gap challenge but that doesn't mean that low code alone can solve every business problem. Low code tools like the Power Platform's full potential is unlocked when you combine the low code capabilities with code first development.&lt;/p&gt;

&lt;p&gt;The combination of low code + full code creates what we call a "no cliffs" experience that allows business technologists to easily build solutions with low code while professional developers can leverage full code to augment and extend the platform capabilities. The process of low code developers, IT pros and full code developers working together like this is often referred to as "fusion development".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl59vzr0riaeabypy92ca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl59vzr0riaeabypy92ca.png" alt="Fusion Development Process" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the Power Platform Provide?
&lt;/h2&gt;

&lt;p&gt;The Power Platform gives us a holistic suite of low code tools that work together to help us solve business problems. The key products and components of the Power Platform include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Power Apps&lt;/strong&gt; for creating custom applications for web and mobile that can be integrated with a variety of systems and services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power Automate&lt;/strong&gt; for automation tasks and orchestrating activities across various services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power BI&lt;/strong&gt; for business analytics and interactive data visualization&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power Virtual Agents&lt;/strong&gt; for creating AI-powered chatbots that can answer questions from your customers and employees&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power Pages&lt;/strong&gt; for secure, enterprise-grade external-facing business websites&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dataverse&lt;/strong&gt; which provides a cloud scale data store with robust security that abstracts away data management complexity from the app maker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvfnflc5kam9ojxdqgr7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvfnflc5kam9ojxdqgr7p.png" alt="Power Platform Overview" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How can we extend Power Platform solutions?
&lt;/h2&gt;

&lt;p&gt;You might wondering how you can leverage your code first skills with the Power Platform. Let's take a look at some ways that we can extend our Power Platform solutions with code (many of these concepts will be covered in more detail in later blog posts).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;UI Components&lt;/strong&gt; - Leverage the &lt;a href="https://aka.ms/LowCodePCF" rel="noopener noreferrer"&gt;Power Apps Component Framework&lt;/a&gt; to extend the UI of our applications with custom code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Connectors&lt;/strong&gt; - Create &lt;a href="https://aka.ms/LowCodeCustomConnectors" rel="noopener noreferrer"&gt;custom connectors&lt;/a&gt;, which are essentially a wrapper around an API to communicate to our external data sources and services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Visuals in Power BI&lt;/strong&gt; - Use the open-source SDK to create &lt;a href="https://aka.ms/LowCodeCustomVisuals" rel="noopener noreferrer"&gt;custom visuals&lt;/a&gt; for your reports and dashboards&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Business Logic&lt;/strong&gt; - Extend the &lt;a href="https://aka.ms/LowCodeDataverseAPI" rel="noopener noreferrer"&gt;Dataverse API&lt;/a&gt; with your own custom API that implements your business logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add CI/CD&lt;/strong&gt; - Setup continuous integration and continuous deployment (&lt;a href="https://aka.ms/LowCodeALM" rel="noopener noreferrer"&gt;CI/CD&lt;/a&gt;) with your Power Platform solutions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6swr8pftrtlxpolbxe0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6swr8pftrtlxpolbxe0.png" alt="Power Platform Pro Dev extensions" width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;In the next series of posts you'll learn more about some of these core concepts and extension points.&lt;/p&gt;

&lt;p&gt;If all of this sounds intriguing and you want to get started on your low code development journey, here are some actions you can take:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1️⃣ &lt;a href="https://aka.ms/lowcode-february/devplan" rel="noopener noreferrer"&gt;&lt;strong&gt;Sign up&lt;/strong&gt;&lt;/a&gt; for the free Power Apps Developer Plan.&lt;/li&gt;
&lt;li&gt;2️⃣ &lt;a href="https://aka.ms/lowcode-february/challenge" rel="noopener noreferrer"&gt;&lt;strong&gt;Enroll&lt;/strong&gt;&lt;/a&gt; in the Cloud Skills Challenge to learn more about low code and fusion team fundamentals and start climbing that leaderboard!&lt;/li&gt;
&lt;li&gt;3️⃣ &lt;a href="http://aka.ms/lowcode-february" rel="noopener noreferrer"&gt;&lt;strong&gt;Save&lt;/strong&gt;&lt;/a&gt; the page to start your learning on Feb 1, and &lt;a href="https://microsoft.github.io/Low-Code/blog/rss.xml" rel="noopener noreferrer"&gt;&lt;strong&gt;Subscribe&lt;/strong&gt;&lt;/a&gt; to the blog in your favorite feed reader for updates.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  About the Authors
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://twitter.com/aprildunnam" rel="noopener noreferrer"&gt;April Dunnam&lt;/a&gt; is the Power Platform Advocacy Lead at Microsoft. &lt;a href="https://twitter.com/codemillmatt" rel="noopener noreferrer"&gt;Matt Soucoup&lt;/a&gt; is the .NET Advocacy Lead at Microsoft. Follow them both right here on dev.to for more articles on low-code development and fusion teams.&lt;/p&gt;


&lt;div class="ltag__user ltag__user__id__426451"&gt;
    &lt;a href="/aprildunnam" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F426451%2Ff8b231f9-6590-4905-bfcf-3f8ea03b8cbd.jpg" alt="aprildunnam image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/aprildunnam"&gt;April Dunnam&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/aprildunnam"&gt;I'm a Power Platform Developer Advocate focused on Power Platform at Microsoft and Power Apps/Power Automate MVP Alumni. &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag__user ltag__user__id__143429"&gt;
    &lt;a href="/codemillmatt" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F143429%2Fb86006ad-8b92-4a5c-80cc-d2773d98ea77.jpg" alt="codemillmatt image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/codemillmatt"&gt;Matthew Soucoup&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/codemillmatt"&gt;I ❤️ helping developers use the cloud!&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/training/modules/introduction-power-platform//?WT.mc_id=power-82212-apdunnam" rel="noopener noreferrer"&gt;Introduction to the Power Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/power-apps/guidance/fusion-dev-ebook/?WT.mc_id=power-82212-apdunnam" rel="noopener noreferrer"&gt;Fusion Development with Power Platform EBook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/training/paths/transform-business-applications-with-fusion-development/?WT.mc_id=power-82212-apdunnam" rel="noopener noreferrer"&gt;Fusion Development with Power Platform Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aka.ms/lowcode-february/collection" rel="noopener noreferrer"&gt;Learn Collection: LowCode February&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvb8dg4951o5zdgcnu4i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvb8dg4951o5zdgcnu4i.png" alt="Campaign Banner" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>powerfuldevs</category>
      <category>beginners</category>
      <category>azure</category>
      <category>lowcode</category>
    </item>
    <item>
      <title>1. Hello, 30DaysOfLowCode!</title>
      <dc:creator>Nitya Narasimhan, Ph.D</dc:creator>
      <pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate>
      <link>https://forem.com/powerplatform/1-hello-30daysoflowcode-163b</link>
      <guid>https://forem.com/powerplatform/1-hello-30daysoflowcode-163b</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Want to learn about Cloud + AI? Follow Microsoft Azure on dev.to&lt;/strong&gt; 👇🏽&lt;/p&gt;
&lt;/blockquote&gt;


&lt;div class="ltag__user ltag__user__id__512"&gt;
  &lt;a href="/azure" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--drZmhdiQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://media.dev.to/cdn-cgi/image/width%3D150%2Cheight%3D150%2Cfit%3Dcover%2Cgravity%3Dauto%2Cformat%3Dauto/https%253A%252F%252Fdev-to-uploads.s3.amazonaws.com%252Fuploads%252Forganization%252Fprofile_image%252F512%252F64ce0b82-730d-4ca0-8359-2c21513a0063.jpg" alt="azure image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/azure" class="ltag__user__link"&gt;Microsoft Azure&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/azure" class="ltag__user__link"&gt;
        Learn how to build and manage powerful applications using Microsoft Azure cloud services. Explore the documentation and samples, skill yourself up with tutorials and training. Any language. Any platform. 
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;





&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;✨&lt;strong&gt;#30DaysOfLowCode&lt;/strong&gt; is a curated roadmap of daily posts that can help both citizen developers and pro-dev developers explore the value of low-code technologies to solve real-world problems with innovative apps. Visit &lt;a href="https://aka.ms/lowcode-february"&gt;the website&lt;/a&gt; to see the whole series or follow it on dev.to for daily updates.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Welcome to &lt;code&gt;Day 01&lt;/code&gt; of #30DaysOfLowCode!&lt;/p&gt;

&lt;h2&gt;
  
  
  What We'll Cover
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Why Low-Code?&lt;/li&gt;
&lt;li&gt;Start low coding with Microsoft!&lt;/li&gt;
&lt;li&gt;The full Low-Code February lineup &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exercise:&lt;/strong&gt; Take the &lt;a href="https://learn.microsoft.com/training/challenges?id=464c05e3-f1ae-400f-b5df-2dcd5299d347&amp;amp;%3FWT.mc_id=javascript-82212-ninarasi"&gt;&lt;strong&gt;Cloud Skills Challenge!&lt;/strong&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resources:&lt;/strong&gt; Sign up for the free &lt;a href="https://aka.ms/lowcode-february/devplan"&gt;&lt;strong&gt;Power Apps Developer Plan!&lt;/strong&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Low Code?
&lt;/h2&gt;

&lt;p&gt;As the market for low-code platform continues to flourish (with projected growth this year of nearly 20% over 2022), now is the time to explore what it can mean for you.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://powerapps.microsoft.com/what-is-low-code/"&gt;&lt;strong&gt;Low-code development&lt;/strong&gt;&lt;/a&gt; is becoming more popular as businesses look to modernize their IT infrastructure to generate more value in less time.&lt;/li&gt;
&lt;li&gt;Developers can focus on the creative aspects of app building while still taking advantage of powerful cloud computing technologies such as scalability, security, and reliability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Starting today, we invite you to spend a month getting the low-down on low-code development with an exciting series of tutorials, workshops, and interactive resources during &lt;a href="https://aka.ms/lowcode-february"&gt;&lt;strong&gt;#LowCodeFebruary&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start low coding with Microsoft
&lt;/h2&gt;

&lt;p&gt;With &lt;a href="https://powerapps.microsoft.com/"&gt;&lt;strong&gt;Microsoft Power Apps&lt;/strong&gt;&lt;/a&gt; you can quickly build custom apps with drag-and-drop tools and pre-built templates, making it easier to create powerful apps that are tailored for your needs. Low-code development with Azure helps businesses accelerate their innovation cycle and make the most out of their data resources.&lt;/p&gt;

&lt;p&gt;Low-code app development through Microsoft Power Platform and Azure can be used to automate workflows, reduce manual efforts, and speed up the development process for building line-of-business apps at a lower cost.&lt;/p&gt;

&lt;p&gt;According to &lt;a href="https://aka.ms/2022ForresterTEI"&gt;&lt;strong&gt;Forrester&lt;/strong&gt;&lt;/a&gt;, composite organizations experience benefits of &lt;strong&gt;140% ROI&lt;/strong&gt; and &lt;strong&gt;45% cost reduction&lt;/strong&gt; in app development when using Power Platform premium capabilities. The majority of users say Power Platform’s premium capabilities increase revenue and offers faster solution quoting through better data integration.&lt;/p&gt;

&lt;p&gt;In other words, with Power Platform you’ll produce more and better code than before, with increased cost savings. That means developing more projects and delivering increased value to your clients. With low code, everyone wins!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k6iQJf9_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://microsoft.github.io/Low-Code/assets/images/01%2520-%2520Kickoff-b6ff5da871188894bc9935af9614742c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6iQJf9_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://microsoft.github.io/Low-Code/assets/images/01%2520-%2520Kickoff-b6ff5da871188894bc9935af9614742c.png" alt="Empty Banner Placeholder" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The full Low-Code February lineup
&lt;/h2&gt;

&lt;p&gt;We want to give developers the resources you need to enhance your knowledge and skill in low code. &lt;a href="https://aka.ms/lowcode-february"&gt;&lt;strong&gt;Low Code February&lt;/strong&gt;&lt;/a&gt; is a month-long celebration during which we’ll help participants learn the nuts and bolts of low-code development.&lt;/p&gt;

&lt;p&gt;You will have access to a series of hands-on workshops, self-guided learning courses, skill challengies, conversations with experts, and a community of fellow learners that will give you the necessary tools to start building in 30 days.&lt;/p&gt;

&lt;p&gt;All throughout Low Code February we’ll be running &lt;strong&gt;6 hero initiatives&lt;/strong&gt; to help you get the most of your newfound knowledge:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://microsoft.github.io/Low-Code/lowcode-february/30Days/"&gt;&lt;strong&gt;#30DaysOfLowCode&lt;/strong&gt;&lt;/a&gt; blog series, during which developers can engage with a daily lesson and skill up on &lt;a href="https://learn.microsoft.com/power-platform/power-fx/overview"&gt;PowerFX&lt;/a&gt;, &lt;a href="https://learn.microsoft.com/power-apps/developer/component-framework/overview"&gt;PCF&lt;/a&gt; (Power Apps Component Framework), &lt;a href="https://learn.microsoft.com/power-platform/alm/overview-alm"&gt;ALM&lt;/a&gt; (App Lifecycle Management), &lt;a href="https://azure.microsoft.com/products/devops/"&gt;Azure DevOps&lt;/a&gt;, &lt;a href="https://learn.microsoft.com/power-platform/alm/devops-github-actions"&gt;GitHub Actions&lt;/a&gt;, and more. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Week 1️⃣: Fundamentals&lt;/strong&gt; Kick off with a comprehensive introduction to low code with onboarding experience, tooling, developer stories and more. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Week 2️⃣: Backend Integrations&lt;/strong&gt; Dive into the nitty-gritty of low-code development with topics like built-in connectors, dataverse, custom connectors, API management, and Azure integration.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Week 3️⃣: User Interface&lt;/strong&gt; Put your knowledge to the test by building a Canvas app, plus get an introduction to PowerFX, power component framework controls, and advanced use cases. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Week 4️⃣: Dev Experience&lt;/strong&gt; Take your skills to the next level with tutorials on ALM, GitHub Actions, app governance, Power Platform pipelines, and automated testing. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Week 5️⃣: Wrap-up&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://microsoft.github.io/Low-Code/lowcode-february/ZeroToHero/"&gt;&lt;strong&gt;#ZeroToHero&lt;/strong&gt;&lt;/a&gt; 🦸‍♀️ Get the latest updates on technologies and products for low code development directly from product teams.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://microsoft.github.io//Low-Code/lowcode-february/Video-Live/"&gt;&lt;strong&gt;Video + Livestream&lt;/strong&gt;&lt;/a&gt; 📻 Join online conversations with product teams and ask questions. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aka.ms/lowcode-february/challenge"&gt;&lt;strong&gt;Cloud Skills Challenge&lt;/strong&gt;&lt;/a&gt; ☁️ Skill up on key cloud technologies with free, self-guided learning courses, and compete to make the leaderboard!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://microsoft.github.io//Low-Code/docs/intro/"&gt;&lt;strong&gt;Dev Workshops&lt;/strong&gt;&lt;/a&gt; ⚒️ Explore workshops in your own time as you work through various features or solutions in self-guided mode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://pnp.github.io/powerplatform-samples/"&gt;&lt;strong&gt;Community Buzz&lt;/strong&gt;&lt;/a&gt; 💡 Connect with the community and contribute your expertise by building interesting demos or writing articles.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Get started today!
&lt;/h2&gt;

&lt;p&gt;Want to get started on your low code development journey with us? Here are some actions you can take today:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://aka.ms/lowcode-february/devplan"&gt;&lt;strong&gt;Sign up&lt;/strong&gt;&lt;/a&gt; for the free Power Apps Developer Plan. 🙌 &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://aka.ms/lowcode-february/challenge"&gt;&lt;strong&gt;Enroll&lt;/strong&gt;&lt;/a&gt; in the Cloud Skills Challenge and start climbing that leaderboard! ☁️&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://aka.ms/lowcode-february"&gt;&lt;strong&gt;Save&lt;/strong&gt;&lt;/a&gt; the page and &lt;a href="https://microsoft.github.io/Low-Code/blog/rss.xml"&gt;&lt;strong&gt;Subscribe&lt;/strong&gt;&lt;/a&gt; to the blog in your favorite feed reader for updates. 🔖&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WfAGS17J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://microsoft.github.io/Low-Code/assets/images/Feb01%2520-%2520Banner-d9bab2b92d758942447a4cbc50aef715.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WfAGS17J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://microsoft.github.io/Low-Code/assets/images/Feb01%2520-%2520Banner-d9bab2b92d758942447a4cbc50aef715.png" alt="Empty Banner Placeholder" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>powerfuldevs</category>
      <category>beginners</category>
      <category>azure</category>
      <category>lowcode</category>
    </item>
    <item>
      <title>It's a #LowCodeFebruary</title>
      <dc:creator>Nitya Narasimhan, Ph.D</dc:creator>
      <pubDate>Mon, 27 Feb 2023 00:00:00 +0000</pubDate>
      <link>https://forem.com/powerplatform/its-a-lowcodefebruary-4n10</link>
      <guid>https://forem.com/powerplatform/its-a-lowcodefebruary-4n10</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Want to learn about Cloud + AI? Follow Microsoft Azure on dev.to&lt;/strong&gt; 👇🏽&lt;/p&gt;
&lt;/blockquote&gt;


&lt;div class="ltag__user ltag__user__id__512"&gt;
  &lt;a href="/azure" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--drZmhdiQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://media.dev.to/cdn-cgi/image/width%3D150%2Cheight%3D150%2Cfit%3Dcover%2Cgravity%3Dauto%2Cformat%3Dauto/https%253A%252F%252Fdev-to-uploads.s3.amazonaws.com%252Fuploads%252Forganization%252Fprofile_image%252F512%252F64ce0b82-730d-4ca0-8359-2c21513a0063.jpg" alt="azure image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/azure" class="ltag__user__link"&gt;Microsoft Azure&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/azure" class="ltag__user__link"&gt;
        Learn how to build and manage powerful applications using Microsoft Azure cloud services. Explore the documentation and samples, skill yourself up with tutorials and training. Any language. Any platform. 
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;





&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;✨&lt;a href="https://aka.ms/lowcode-february"&gt;#LowCodeFebruary&lt;/a&gt; kicked off on February 1, 2023 and will run through March 1, 2023. We decided to reshare the content as a daily post on dev.to for those interested in skilling up on all things #lowcode. Visit the website to see the whole series at a go.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  About #LowCodeFebruary
&lt;/h2&gt;

&lt;p&gt;February is traditionally a month where we celebrate family, friends and loved ones - from Valentine's Day to Lunar New Year! We hope you also make this the month you fall in love with a new technology space - &lt;em&gt;low-code app development&lt;/em&gt; - and join us for a month of learning, making, and sharing!&lt;/p&gt;

&lt;p&gt;We are excited to announce the &lt;strong&gt;launch of #LowCodeFebruary&lt;/strong&gt;, a month-long developer journey that will take you from app development tips, to fusion teams insights, and hands-on tutorials to skill you up on Power Platform, Microsoft Azure, and popular developer tools to enhance your productivity.&lt;/p&gt;

&lt;p&gt;Want to stay up-to-date on all things low-code? Follow the #powerfuldevs tag right here on dev.to! And use the tag to share your own articles and insights so we can amplify them!&lt;/p&gt;


&lt;div class="ltag__tag ltag__tag__id__60215"&gt;
    &lt;div class="ltag__tag__content"&gt;
      &lt;h2&gt;#&lt;a href="https://dev.to/t/powerfuldevs" class="ltag__tag__link"&gt;powerfuldevs&lt;/a&gt; Follow
&lt;/h2&gt;
      &lt;div class="ltag__tag__summary"&gt;
        Power Platform, Power Apps, Power Virtual Agents, Power BI, Power Automate, Low-Code or No-Code Development, Citizen Apps ⚡️
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  About the Authors
&lt;/h2&gt;

&lt;p&gt;This blog post was co-authored by &lt;a href="https://github.com/sonjagu"&gt;Sonja Gu&lt;/a&gt; a Product Marketing Manager working with the Power Platform ecosystem at Microsoft, helping everyone innovate with low-code technologies and fusion teams! Follow Sonja &lt;a href="https://twitter.com/sonja11111111"&gt;on Twitter&lt;/a&gt; for more updates!&lt;/p&gt;




&lt;h2&gt;
  
  
  What will we cover?
&lt;/h2&gt;

&lt;p&gt;Let's talk about what you will learn in our developer journey this month. We have multiple initiatives in mind that can help you &lt;em&gt;learn&lt;/em&gt;, &lt;em&gt;skill up&lt;/em&gt;, &lt;em&gt;engage with experts&lt;/em&gt;, &lt;em&gt;contribute to community&lt;/em&gt; and &lt;em&gt;watch videos&lt;/em&gt; at your own pace. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JdVeRktd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://microsoft.github.io/Low-Code/assets/images/lcf-banner-afd117c7604fa9f2ace6a32a14d7cf15.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JdVeRktd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://microsoft.github.io/Low-Code/assets/images/lcf-banner-afd117c7604fa9f2ace6a32a14d7cf15.png" alt="#30DaysOfLowCode Kickoff" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The &lt;a href="https://microsoft.github.io/Low-Code/blog/2023-kickoff"&gt;&lt;strong&gt;#30DaysOfLowCode&lt;/strong&gt;&lt;/a&gt; blog series helps you &lt;em&gt;learn&lt;/em&gt; by reading posts from experts, taking you on a 4-week journey from fundamentals, to application lifecycle managment - and cover developer tools and best practices along the way!&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://microsoft.github.io/Low-Code/lowcode-february/ZeroToHero/"&gt;&lt;strong&gt;#ZeroToHero&lt;/strong&gt;&lt;/a&gt; series captures blog posts directly from our product teams, sharing the latest features and tips for low code development.&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://microsoft.github.io/Low-Code/docs/intro/"&gt;&lt;strong&gt;Dev Workshops&lt;/strong&gt;&lt;/a&gt; page will learning tutorials and resources for all levels, from beginner to advanced.Learn how to build scalable apps, manage app lifecycle management with the Azure services and use popular Developer tools for enhanced productivity.
&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://aka.ms/lowcode-february/challenge"&gt;&lt;strong&gt;Cloud Skills Challenge&lt;/strong&gt;&lt;/a&gt; is a set of curated free, self-guided learning modules &lt;em&gt;focused on fusion teams and low-code development&lt;/em&gt;. Complete them in #30Days and make the leaderboard!&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://microsoft.github.io/Low-Code/lowcode-february/Video-Live/"&gt;&lt;strong&gt;Video + Livestream&lt;/strong&gt;&lt;/a&gt; page showcases live events (e.g., AskTheExpert, LearnLive) and on-demand video shows (e.g., LowCode Revolution) and replays, to help you learn at your own pace. &lt;/li&gt;
&lt;li&gt;The &lt;a href="https://pnp.github.io/powerplatform-samples/"&gt;&lt;strong&gt;Community Buzz&lt;/strong&gt;&lt;/a&gt; section connects you to peer community members. Share your samples and learn from 90+ real-world Power Platform examples shared by the community. And share your contributions with us via GitHub issues or with a &lt;a href="https://dev.to/t/powerfuldevs"&gt;post on dev.to usingthe #powerfuldevs tag&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  How can you participate?
&lt;/h2&gt;

&lt;p&gt;Want to get started on your low code development journey with us? Here are some actions you can take today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1️⃣ &lt;a href="https://aka.ms/lowcode-february/devplan"&gt;&lt;strong&gt;Sign up&lt;/strong&gt;&lt;/a&gt; for the free Power Apps Developer Plan.&lt;/li&gt;
&lt;li&gt;2️⃣ &lt;a href="https://aka.ms/lowcode-february/challenge"&gt;&lt;strong&gt;Enroll&lt;/strong&gt;&lt;/a&gt; in the Cloud Skills Challenge and start climbing that leaderboard!&lt;/li&gt;
&lt;li&gt;3️⃣ &lt;a href="http://aka.ms/lowcode-february"&gt;&lt;strong&gt;Save&lt;/strong&gt;&lt;/a&gt; the page to start your learning on Feb 1, and &lt;a href="https://microsoft.github.io/Low-Code/blog/rss.xml"&gt;&lt;strong&gt;Subscribe&lt;/strong&gt;&lt;/a&gt; to the blog in your favorite feed reader for updates. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ready to get started being a low-code developer, or a pro-dev supporting fusion teams and low code app development?&lt;/p&gt;

&lt;p&gt;🏁 &lt;strong&gt;#Lets Go!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k6iQJf9_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://microsoft.github.io/Low-Code/assets/images/01%2520-%2520Kickoff-b6ff5da871188894bc9935af9614742c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6iQJf9_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://microsoft.github.io/Low-Code/assets/images/01%2520-%2520Kickoff-b6ff5da871188894bc9935af9614742c.png" alt="Technologies used for fusion development" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>powerfuldevs</category>
      <category>beginners</category>
      <category>azure</category>
      <category>lowcode</category>
    </item>
    <item>
      <title>Streamline your solution development with the Power Platform CLI: Create a solution from scratch</title>
      <dc:creator>Daniel Laskewitz</dc:creator>
      <pubDate>Tue, 21 Feb 2023 21:20:59 +0000</pubDate>
      <link>https://forem.com/powerplatform/streamline-your-solution-development-with-the-power-platform-cli-new-solution-4p03</link>
      <guid>https://forem.com/powerplatform/streamline-your-solution-development-with-the-power-platform-cli-new-solution-4p03</guid>
      <description>&lt;p&gt;In the &lt;a href="https://dev.to/azure/getting-started-with-the-power-platform-cli-kca"&gt;previous post&lt;/a&gt;, I focused on installing the Power Platform CLI, creating the auth profile and switching environments. In this blog, the solution command group is the superstar!&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Solution command group
&lt;/h2&gt;

&lt;p&gt;As you expect by now, the solution command group enables you to work with Power Platform solutions. The solution command group has a lot of commands, so it's too much to talk about all of them in this blog. Instead, I will focus on my favorite ones that will get you started.&lt;/p&gt;

&lt;p&gt;To see all commands in the solution command group, run the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac solution help&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will output the following result:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu7x2gp93dnuclk42lsfp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu7x2gp93dnuclk42lsfp.png" alt="Overview of all the commands in the Power Platform CLI solutions command group" width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have experience with &lt;a href="https://aka.ms/pp/alm" rel="noopener noreferrer"&gt;Application Lifecycle Management (ALM)&lt;/a&gt; in the Power Platform, these commands might look familiar! A lot of them are available as both &lt;a href="https://aka.ms/pp/alm/devops" rel="noopener noreferrer"&gt;Azure DevOps&lt;/a&gt; taks and &lt;a href="https://aka.ms/pp/alm/github" rel="noopener noreferrer"&gt;GitHub Actions&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  👩🏾‍💻 Developer scenarios
&lt;/h2&gt;

&lt;p&gt;Like I explained in the &lt;a href="https://dev.to/azure/getting-started-with-the-power-platform-cli-kca"&gt;earlier blog&lt;/a&gt;, in the Power Platform environments are important. Not too long ago, Microsoft &lt;a href="https://powerapps.microsoft.com/blog/making-it-easier-to-work-with-dataverse/" rel="noopener noreferrer"&gt;announced&lt;/a&gt; that you can have up to three developer environments for free! This helps a lot in this story, since you might work on multiple environments, or you might want to try out how and if your solution moves easily from environment A to environment B. In this blog series, I will describe a bunch of developer scenarios, and in this blog, I will start with creating a solution from scratch.&lt;/p&gt;

&lt;h3&gt;
  
  
  ➕ Creating a solution from scratch
&lt;/h3&gt;

&lt;p&gt;This is the easiest scenario. In this case, you can create a solution by using the &lt;code&gt;pac solution init&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;How? Let's run the help command for that.&lt;/p&gt;

&lt;h4&gt;
  
  
  🆕 Initialize a solution
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;pac solution init help&lt;/code&gt; will show you all that you need to know.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimjeqz2yog1kjni5zrwz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimjeqz2yog1kjni5zrwz.png" alt="Output of the pac solution init help command. Shows the required arguments (publisher-name &amp;amp; publisher-prefix) and optional ones (outputDirectory)." width="800" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This shows that there are two required arguments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Publisher Name (--publisher-name or alias -pn)&lt;/li&gt;
&lt;li&gt;Publisher Prefix (--publisher-prefix or alias -pp)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And one optional one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Output Directory (--outputDirectory or alias -o)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's initialize our first solution by running the below command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac solution init --publisher-name Microsoft --publisher-prefix msft&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;When you open the directory in Visual Studio Code, you will see the &lt;code&gt;Solution.xml&lt;/code&gt; file, in the &lt;code&gt;src/Other&lt;/code&gt; folder. Open that, and let's explore what's in there!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyh2fw2k7b4wxyobxsi07.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyh2fw2k7b4wxyobxsi07.png" alt="Screenshot of a Visual Studio Code with the solution.xml opened. In the file you can see various solution properties like the unique name, version, solution package type, localized names, and publisher details." width="800" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first thing that I see is that the solution unique name is &lt;code&gt;SolutionDemo&lt;/code&gt;, which is the directory I ran the &lt;code&gt;pac solution init&lt;/code&gt; command in. That name gets duplicated in the &lt;code&gt;LocalizedName&lt;/code&gt; property as well. The version (&lt;code&gt;1.0&lt;/code&gt;) and Managed (value is &lt;code&gt;2&lt;/code&gt; now, which stands for solution package type both) properties Also, I see the publisher's name &lt;code&gt;Microsoft&lt;/code&gt; as the unique name of the publisher. Below that we also see the prefix &lt;code&gt;msft&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Just a heads up: when using the output directory argument, the solution name will be that name. So, it could be handy to use this option instead.&lt;/p&gt;

&lt;h4&gt;
  
  
  ⚙️ Build the solution
&lt;/h4&gt;

&lt;p&gt;Now, we only have our solution, but there's nothing added to the solution. The solution also doesn't exist in a Power Platform environment as well. So, let's first see if we can build the solution and import it into a Power Platform environment.&lt;/p&gt;

&lt;p&gt;First, we need to run &lt;code&gt;dotnet build&lt;/code&gt;. This builds the project and creates a zip file which we can use for import.&lt;/p&gt;

&lt;h4&gt;
  
  
  🆕 Git init and git commit
&lt;/h4&gt;

&lt;p&gt;Now is a suitable time to run the &lt;code&gt;git init&lt;/code&gt; command to initialize a git repo in your solution folder. This will be useful, because you can then do a &lt;code&gt;git commit&lt;/code&gt; for a first init commit. Later, this will be helpful because we can then see the differences between what we committed now and what we have later after we added some things to the solution in the maker portal.&lt;/p&gt;

&lt;h4&gt;
  
  
  ⬆️ Import the solution
&lt;/h4&gt;

&lt;p&gt;Importing a solution can be done by running the &lt;code&gt;pac solution import&lt;/code&gt; command. Run &lt;code&gt;pac solution import help&lt;/code&gt; to get all the details about the command:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97d9520aldzacvxe4j5j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97d9520aldzacvxe4j5j.png" alt="Output of the pac solution import help command." width="800" height="227"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use the optional arguments for various scenarios. An example is adding the &lt;code&gt;--publish-changes&lt;/code&gt; argument to publish the changes after a successful import. But for now, let's use the standard command to import the solution.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac solution import&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will import the solution in the currently active environment. If all went well, you should be able to see your solution in the environment:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh3xmjsuoig35geh4li1y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh3xmjsuoig35geh4li1y.png" alt="Solution overview " width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The solution is empty because there is nothing added to the solution yet. Select "Objects" in the left navigation and let's add something to the solution:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add a canvas app (New &amp;gt; App &amp;gt; Canvas App, App name: &lt;code&gt;Test App&lt;/code&gt; &amp;amp; click create)

&lt;ul&gt;
&lt;li&gt;Add a button to the app, save the app &amp;amp; go back to the solution.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Although this is not a functional app, it will show you what this does to the solution folder when we're done with our next step.&lt;/p&gt;

&lt;h4&gt;
  
  
  🔄 Sync the solution
&lt;/h4&gt;

&lt;p&gt;Because we already have a solution locally, we can make use of &lt;code&gt;pac solution sync&lt;/code&gt;. We are going to synchronise the solution in two different ways now:&lt;/p&gt;

&lt;p&gt;First, we will use the standard sync command with no arguments.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac solution sync&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The above command synchronises the solution from the Power Platform environment back to the local folder.&lt;/p&gt;

&lt;p&gt;After the sync is completed, we can see that five files are changed. This is because the canvas app has been added to the solution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymib2358yrkkd7joxpi6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymib2358yrkkd7joxpi6.png" alt="View of the five files that have been changed by the pac solution sync command" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Because the solution sync by default doesn't unpack canvas apps yet, we can't see what's in the canvas app. But the &lt;code&gt;pac solution sync&lt;/code&gt; commands has some tricks up its sleeve:&lt;/p&gt;

&lt;p&gt;Let's run the following command and see what happens.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac solution sync --processCanvasApps&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjso0lesjn3g8w7jx18y3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjso0lesjn3g8w7jx18y3.png" alt="View of the eighteen files that have been changed by the pac solution sync command with the process canvas apps argument" width="800" height="805"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are eighteen changes now in the solution. This is because the above command also unpacked the canvas app that is in our solution. We can now for instance see the &lt;code&gt;Screen1.fx.yaml&lt;/code&gt; file, which is a representation of the screen with the button we added in the maker portal.&lt;/p&gt;

&lt;p&gt;When you open that file, you can see that we added a button here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkalzv4ama2y1b2ichntq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkalzv4ama2y1b2ichntq.png" alt="A diff screen where the changes are visible between the initial commit and the current version on our local machine. On the left you can see a red part (it didn't exist before) and on the right you can see a definition of a screen with a button in green" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Commit these changes and keep on working on your solution. If you run &lt;code&gt;pac solution sync&lt;/code&gt; after each set of changes, and you commit these changes, you'll build up a history of changes. That's really helpful when others might take over the project later! They can then see exactly which changes you made for a certain requirement. &lt;/p&gt;

&lt;h2&gt;
  
  
  🎁 Wrap up
&lt;/h2&gt;

&lt;p&gt;This was a tour around some of the solution commands. In the future, I will also write a blog post on how to work with solutions that are already in source control, like for instance in a GitHub repository.&lt;/p&gt;

&lt;p&gt;For now, this is the first step into the solution command group. If you want to see more commands, look at the video below!&lt;/p&gt;

&lt;h2&gt;
  
  
  📺 Power Platform CLI Solutions
&lt;/h2&gt;

&lt;p&gt;A while back, I had a great chat with David Jenni to talk about the solution command group for the Power Platform CLI. Check it out to see it live in action!&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/2gVCsFutUFo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>frontend</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Getting Started with the Power Platform CLI</title>
      <dc:creator>Daniel Laskewitz</dc:creator>
      <pubDate>Fri, 17 Feb 2023 17:38:03 +0000</pubDate>
      <link>https://forem.com/powerplatform/getting-started-with-the-power-platform-cli-kca</link>
      <guid>https://forem.com/powerplatform/getting-started-with-the-power-platform-cli-kca</guid>
      <description>&lt;p&gt;As a developer, you might be used to working with the command line. When using low-code tools like the Power Platform, that's not a given. To bridge the gap for developers, Microsoft has created the Power Platform CLI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Inner loop &amp;amp; outer loop development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Power Platform CLI works for both inner loop development and outer loop development. The inner loop is for when a developer wants to work on a project and build a new feature for instance. The outer loop is to make sure that what has been built, also can be deployed to other environments. The Power Platform CLI also powers &lt;a href="https://aka.ms/pp/github-actions" rel="noopener noreferrer"&gt;the GitHub Actions for Power Platform&lt;/a&gt; as well as the &lt;a href="https://aka.ms/pp/devops" rel="noopener noreferrer"&gt;Microsoft Power Platform Build Tools for Azure DevOps&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Which commands are available in the Power Platform CLI? There are a lot... Currently, they are divided in sixteen command groups. Below you can see the overview of those command groups:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh1dnzah1gmnkzzyssv0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh1dnzah1gmnkzzyssv0.png" alt="Power Platform CLI Command Groups" width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A command group is a set of commands that belong to a certain topic. For instance, with the PCF command group you can work with Power Apps component framework projects and initialize, push and version your PCF components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Power Platform CLI can be installed on Windows, MacOS and Linux devices. The easiest way to install the Power Platform CLI, is to install the &lt;a href="http://aka.ms/pac/docs#install-using-power-platform-tools-for-visual-studio-code" rel="noopener noreferrer"&gt;Power Platform Tools extension for VS Code&lt;/a&gt;. This will automatically install the CLI and makes it available in the integrated terminal. For Windows, it's also possible to install the CLI as via &lt;a href="http://aka.ms/pac/docs#install-power-platform-cli-for-windows" rel="noopener noreferrer"&gt;a MSI Installer&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Although Power Platform CLI is a cross-platform CLI, some commands only work on Windows. That's simply because those commands work with tools that haven't been available cross platform. In the &lt;a href="https://aka.ms/pac/docs" rel="noopener noreferrer"&gt;docs on Microsoft Learn&lt;/a&gt;, you will see which commands don't work cross platform. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxt8puhkc83n8ko0ov6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxt8puhkc83n8ko0ov6j.png" alt="Note that states that a command is only available for the .NET Full Framework version of the PAC CLI" width="800" height="102"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connecting to your Power Platform environment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the installation done, we are on our way, but we still need to connect to the Power Platform environment to be able to do something with the Power Platform.&lt;/p&gt;

&lt;p&gt;There are two concepts that you need to be aware of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A tenant, this is your own part of the Microsoft Cloud that's available for your company. Some people work with multiple companies, and they might have to connect to multiple tenants&lt;/li&gt;
&lt;li&gt;An environment, you can see this as a container inside your tenant which enables you to group data and content you have. This way you can have multiple environments to make split development work from testing and production workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the Power Platform CLI, you should first connect with the tenant before you can work with the environments. To connect with a tenant, we are going to use a simple command in the &lt;code&gt;pac auth&lt;/code&gt; command group:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac auth create&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command will open a browser window and ask you to log in with your credentials. When you are logged in, you can use the following command to list the connection you have created:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac auth list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command lists all the auth profiles you have created. If this was the first time connecting with the Power Platform CLI, this will only show one profile. In the scenario where you work with multiple customers, this is an especially useful command to see which profile is available for which customer and you can use the &lt;code&gt;pac auth select&lt;/code&gt; to easily switch between these profiles.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you want to know which other commands are available in the &lt;code&gt;pac auth&lt;/code&gt; command group, make sure to go to &lt;a href="https://aka.ms/pac/auth" rel="noopener noreferrer"&gt;aka.ms/pac/auth&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Next, we also want to see which environments there are in the tenant. To do this, run the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac org list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command will output a list with environments that are available in your tenant. If you want to see which environment you are currently connected to, you can run the &lt;code&gt;pac org who&lt;/code&gt; command. This command will also output useful info like the environment ID, the user ID of the currently logged in user, and more!&lt;/p&gt;

&lt;p&gt;If you want to switch between environments, you can run the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pac org select --environment {ID}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Don't forget to replace the &lt;code&gt;{ID}&lt;/code&gt; part with the ID, URL or unique name that you can get from the &lt;code&gt;pac org list&lt;/code&gt; command.  To verify that you're connected to the right environment, you can run the &lt;code&gt;pac org who&lt;/code&gt; command. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you want to know which other commands are available in the &lt;code&gt;pac org&lt;/code&gt; command group, make sure to go to &lt;a href="https://aka.ms/pac/org" rel="noopener noreferrer"&gt;aka.ms/pac/org&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Power Platform CLI overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A couple of weeks back, I had the pleasure to have a chat with Kartik Kanakasabesan, who is the Program Manager of the Power Platform CLI. In the video, which is embedded below, Kartik shows how you can use the Power Platform to your benefit.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/NkoWGF8a4aQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>career</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
