<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tech Tweedie</title><link>https://techtweedie.github.io/</link><description>Recent content on Tech Tweedie</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Fri, 02 Oct 2026 00:00:00 +0100</lastBuildDate><atom:link href="https://techtweedie.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>The Human Hack: Rebooting Consulting Culture</title><link>https://techtweedie.github.io/events/261003-scottish-summit/</link><pubDate>Fri, 02 Oct 2026 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/261003-scottish-summit/</guid><description/></item><item><title>Baltic Power Platform Summit 2026</title><link>https://techtweedie.github.io/events/260925-baltic-power-platform-summit/</link><pubDate>Thu, 24 Sep 2026 00:00:00 +0200</pubDate><guid>https://techtweedie.github.io/events/260925-baltic-power-platform-summit/</guid><description/></item><item><title>Manchester (All Day) D365PPUG - September 2026</title><link>https://techtweedie.github.io/events/260909-d365ppugman/</link><pubDate>Wed, 09 Sep 2026 08:45:00 +0100</pubDate><guid>https://techtweedie.github.io/events/260909-d365ppugman/</guid><description/></item><item><title>Newcastle D365PPUG - September 2026</title><link>https://techtweedie.github.io/events/260903-d365ppugne/</link><pubDate>Thu, 03 Sep 2026 18:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/260903-d365ppugne/</guid><description/></item><item><title>Copilot, Microsoft 365 &amp; Power Platform Community Call - September 2026</title><link>https://techtweedie.github.io/events/260903-m365-power-platform-community-call/</link><pubDate>Thu, 03 Sep 2026 07:00:00 -0700</pubDate><guid>https://techtweedie.github.io/events/260903-m365-power-platform-community-call/</guid><description/></item><item><title>EPPC26 - The Human Hack: The Future of Consulting Culture</title><link>https://techtweedie.github.io/events/260630-eppc-human-hack/</link><pubDate>Tue, 30 Jun 2026 15:15:00 +0200</pubDate><guid>https://techtweedie.github.io/events/260630-eppc-human-hack/</guid><description>&lt;h2 id="the-human-hack-the-future-of-consulting-culture"&gt;The Human Hack: The Future of Consulting Culture&lt;/h2&gt;
&lt;p&gt;This isn&amp;rsquo;t about tools, templates, frameworks, or even just the latest AI technologies—it&amp;rsquo;s about people and mindset.&lt;/p&gt;
&lt;p&gt;AI is driving a significant shift in the consulting landscape, encouraging a heightened focus on tools, templates, and frameworks at the risk of losing the human experience and mindset. In this honest and practical session, we explore how consultants and delivery leads can rediscover and develop better consulting cultures in a world obsessed with tools and delivery speed.&lt;/p&gt;</description></item><item><title>Speaking at Experts Live UK 2026</title><link>https://techtweedie.github.io/events/260612-the-human-hack-future-of-consulting-culture/</link><pubDate>Fri, 12 Jun 2026 09:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/260612-the-human-hack-future-of-consulting-culture/</guid><description/></item><item><title>Newcastle D365PPUG - June 2026</title><link>https://techtweedie.github.io/events/260604-d365ppugne/</link><pubDate>Thu, 04 Jun 2026 18:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/260604-d365ppugne/</guid><description/></item><item><title>Power Platform Build Backup Pipeline</title><link>https://techtweedie.github.io/pattern/ppcicd/build-backup/</link><pubDate>Fri, 01 May 2026 12:00:00 +0100</pubDate><guid>https://techtweedie.github.io/pattern/ppcicd/build-backup/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;$(TeamProject)_$(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;variables&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varPowerPlatformSPN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Dataverse - Build - AzureDevOps&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varPowerPlatformSPN2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Dataverse - TracsIntegration-Build - AzureDevOps&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varSolutionName&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;TRACSCustomConnectors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varSolutionName2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Entities&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varSolutionName3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Environment_Configuration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varSolutionName4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Core&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varSolutionName5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Dataflows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varSolutionName6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;TRACS_Integration_Solution&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varSolutionName7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Document_Migration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;varWebsiteId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;value&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;ca958ff8-3c4b-ee11-be6f-0022481ab062&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## revert schedule to 0 once old build backup is retired&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;schedules&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;cron&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;30&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;13&lt;/span&gt;,&lt;span style="color:#ae81ff"&gt;18&lt;/span&gt; * * &lt;span style="color:#ae81ff"&gt;1-5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;displayName&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Weekday Backup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;branches&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;include&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;always&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;trigger&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;none&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;pool&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;vmImage&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;windows-latest&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;steps&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;checkout&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;self&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;persistCredentials&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;clean&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformToolInstaller@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;DefaultVersion&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AddToolsToPath&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## SOLUTION 1 - CUSTOM CONNECTORS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformSetSolutionVersion@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionVersionNumber&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;2.4.0.$(Build.BuildID)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName)_managed.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformUnpackSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionInputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionTargetFolder&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\src\solutions\$(varSolutionName)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;Both&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## SOLUTION 2 - ENTITIES&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformSetSolutionVersion@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName2)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionVersionNumber&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;2.4.0.$(Build.BuildID)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName2)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName2)_managed.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName2)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName2).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformUnpackSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionInputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName2).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionTargetFolder&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\src\solutions\$(varSolutionName2)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;Both&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## SOLUTION 3 - ENVIRONMENT CONFIGURATION&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformSetSolutionVersion@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName3)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionVersionNumber&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;2.4.0.$(Build.BuildID)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName3)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName3)_managed.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName3)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName3).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformUnpackSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionInputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName3).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionTargetFolder&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\src\solutions\$(varSolutionName3)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;Both&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## SOLUTION 4 - CORE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformSetSolutionVersion@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName4)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionVersionNumber&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;2.4.0.$(Build.BuildID)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName4)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName4)_managed.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName4)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName4).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformUnpackSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionInputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName4).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionTargetFolder&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\src\solutions\$(varSolutionName4)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;Both&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## SOLUTION 5 - DATAFLOWS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformSetSolutionVersion@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName5)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionVersionNumber&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;2.4.0.$(Build.BuildID)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName5)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName5)_managed.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName5)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName5).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformUnpackSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionInputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName5).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionTargetFolder&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\src\solutions\$(varSolutionName5)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;Both&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## SOLUTION 6 - TRACS INTEGRATION&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformSetSolutionVersion@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN2)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName6)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionVersionNumber&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;2.4.0.$(Build.BuildID)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN2)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName6)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName6)_managed.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN2)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName6)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName6).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformUnpackSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionInputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName6).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionTargetFolder&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\src\tracsIntegrationSolutions\$(varSolutionName6)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;Both&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# SOLUTION 7 - DOCUMENT MIGRATION&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformSetSolutionVersion@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName7)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionVersionNumber&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;2.4.0.$(Build.BuildID)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName7)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName7)_managed.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionName&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varSolutionName7)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionOutputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName7).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Managed&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;AsyncOperation&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;MaxAsyncWaitTime&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;60&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformUnpackSolution@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionInputFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$(varSolutionName7).zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionTargetFolder&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\src\solutions\$(varSolutionName7)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SolutionType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;Both&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## PORTAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformDownloadPaportal@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;DownloadPath&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\src\ppages&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;WebsiteId&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varWebsiteId)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Overwrite&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ModelVersion&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## REFERENCE DATA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;PowerPlatformExportData@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;authenticationType&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;PowerPlatformSPN&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;PowerPlatformSPN&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(varPowerPlatformSPN)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Environment&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(BuildTools.EnvironmentUrl)&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;SchemaFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\referenceData\data_schema.xml&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;DataFile&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$rferenceData.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Overwrite&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;ExtractFiles@1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;archiveFilePatterns&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.ArtifactStagingDirectory)\$rferenceData.zip&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;destinationFolder&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;$(Build.SourcesDirectory)\referenceData&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;cleanDestinationFolder&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;overwriteExistingFiles&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;task&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;CmdLine@2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;inputs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;script&lt;/span&gt;: |&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; echo commit all changes
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; git config user.email &amp;#34;$(Build.RequestedForEmail)&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; git config user.name &amp;#34;$(Build.RequestedFor)&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; git checkout -b main
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; git add --all
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; git commit -m &amp;#34;Latest solution changes.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; echo push code to new repo
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; git -c http.extraheader=&amp;#34;AUTHORIZATION: bearer $(System.AccessToken)&amp;#34; push origin main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Power Platform EXPORT to DevOps - Complex Pipeline</title><link>https://techtweedie.github.io/pattern/ppcicd/power-platform-export-to-devops-complex-pipeline/</link><pubDate>Thu, 30 Apr 2026 12:00:00 +0100</pubDate><guid>https://techtweedie.github.io/pattern/ppcicd/power-platform-export-to-devops-complex-pipeline/</guid><description>&lt;div class="alert info"&gt;
&lt;span&gt;&lt;i data-feather="info"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;&lt;strong&gt;📋 REUSABLE PATTERN&lt;/strong&gt;&lt;br&gt;
This document provides a proven, reusable pattern for implementing advanced Power Platform DevOps pipelines. Use this template to standardize and automate complex solution export, documentation, and version control processes.&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id="pattern-summary"&gt;Pattern Summary&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pattern Name&lt;/strong&gt;: Power Platform Complex Solution Export Pipeline&lt;br&gt;
&lt;strong&gt;Category&lt;/strong&gt;: DevOps &amp;amp; CI/CD&lt;br&gt;
&lt;strong&gt;Platform&lt;/strong&gt;: Azure DevOps + Power Platform&lt;br&gt;
&lt;strong&gt;Difficulty&lt;/strong&gt;: Intermediate to Advanced&lt;br&gt;
&lt;strong&gt;Time to Implement&lt;/strong&gt;: 2-4 hours&lt;/p&gt;
&lt;h3 id="what-this-pattern-solves"&gt;What This Pattern Solves&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Managing multiple interdependent solutions in a single pipeline.&lt;/li&gt;
&lt;li&gt;Automating the export of Power Platform Portals and reference data.&lt;/li&gt;
&lt;li&gt;Generating solution documentation automatically.&lt;/li&gt;
&lt;li&gt;Cleaning up the repository before processing new solution versions.&lt;/li&gt;
&lt;li&gt;Committing all unpacked solution components, portal data, and documentation to a new branch.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pattern-outcomes"&gt;Pattern Outcomes&lt;/h3&gt;
&lt;p&gt;After implementing this pattern, you will have:&lt;/p&gt;</description></item><item><title>About Ian Tweedie</title><link>https://techtweedie.github.io/about/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/about/</guid><description>&lt;h2 id="about-tech-tweedie"&gt;About Tech Tweedie&lt;/h2&gt;
&lt;p&gt;Hello, I&amp;rsquo;m &lt;strong&gt;Ian Tweedie&lt;/strong&gt;, and welcome to my personal technical blog, Tech Tweedie.&lt;/p&gt;
&lt;p&gt;I am a passionate technologist with a deep focus on the Microsoft Power Platform and Azure. This site is where I share my knowledge, experience, and insights gained from years of working with these powerful technologies.&lt;/p&gt;
&lt;h3 id="my-mission"&gt;My Mission&lt;/h3&gt;
&lt;p&gt;The purpose of this site is to provide high-quality, practical, and real-world technical content for developers, architects, and consultants working with the Power Platform. I aim to go beyond the basics, offering deep dives into complex topics, solutions to common challenges, and expert commentary on the future of low-code and pro-code development.&lt;/p&gt;</description></item><item><title>Contact</title><link>https://techtweedie.github.io/contact/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/contact/</guid><description>&lt;h2 id="contact-us"&gt;Contact Us&lt;/h2&gt;
&lt;p&gt;Thank you for your interest in Tech Tweedie. Whether you have a question, feedback, or a data protection inquiry, I&amp;rsquo;d love to hear from you.&lt;/p&gt;
&lt;h3 id="general--technical-inquiries"&gt;General &amp;amp; Technical Inquiries&lt;/h3&gt;
&lt;p&gt;For questions about articles, technical topics, or speaking engagements, the best way to reach me is via social media or email.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Email:&lt;/strong&gt; &lt;a href="mailto:hello@tweed.technology"&gt;hello@tweed.technology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/iantweedie/" target="_blank" rel="noopener"&gt;https://www.linkedin.com/in/ian-tweedie/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Twitter/X:&lt;/strong&gt; &lt;a href="https://twitter.com/iTweedie" target="_blank" rel="noopener"&gt;@iTweedie&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="data-protection--privacy-inquiries"&gt;Data Protection &amp;amp; Privacy Inquiries&lt;/h3&gt;
&lt;p&gt;For any questions related to our Privacy Policy, Cookie Policy, or your personal data, please email our dedicated privacy contact.&lt;/p&gt;</description></item><item><title>Cookie Policy</title><link>https://techtweedie.github.io/cookie-policy/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/cookie-policy/</guid><description>&lt;h2 id="cookie-policy"&gt;Cookie Policy&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Last updated: 5 April 2026&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This Cookie Policy explains how Tech Tweedie (&amp;ldquo;we&amp;rdquo;, &amp;ldquo;us&amp;rdquo;, and &amp;ldquo;our&amp;rdquo;) uses cookies and similar technologies to recognise you when you visit our website at &lt;a href="https://techtweedie.github.io" target="_blank" rel="noopener"&gt;https://techtweedie.github.io&lt;/a&gt;. It explains what these technologies are and why we use them, as well as your rights to control our use of them.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="1-what-are-cookies"&gt;1. What are cookies?&lt;/h3&gt;
&lt;p&gt;A cookie is a small text file that a website saves on your computer or mobile device when you visit the site. It enables the website to remember your actions and preferences (such as login, language, font size, and other display preferences) over a period of time, so you don’t have to keep re-entering them whenever you come back to the site or browse from one page to another.&lt;/p&gt;</description></item><item><title>Privacy Policy</title><link>https://techtweedie.github.io/privacy-policy/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/privacy-policy/</guid><description>&lt;h2 id="privacy-policy"&gt;Privacy Policy&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Last updated: 5 April 2026&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This website, &lt;strong&gt;Tech Tweedie&lt;/strong&gt; (accessible at &lt;a href="https://techtweedie.github.io" target="_blank" rel="noopener"&gt;https://techtweedie.github.io&lt;/a&gt;), is operated by:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tweed Technology Ltd&lt;/strong&gt;&lt;br&gt;
Company Number: &lt;strong&gt;07820713&lt;/strong&gt;&lt;br&gt;
Corporate website: &lt;a href="https://tweed.technology/" target="_blank" rel="noopener"&gt;https://tweed.technology/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tweed Technology Ltd is the data controller responsible for your personal data under the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018.&lt;/p&gt;
&lt;p&gt;We are committed to protecting your privacy. This policy explains what personal data we collect, how we use it, and your rights concerning that data.&lt;/p&gt;</description></item><item><title>Terms of Use</title><link>https://techtweedie.github.io/terms/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/terms/</guid><description>&lt;h2 id="terms-of-use"&gt;Terms of Use&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Last updated: 5 April 2026&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Please read these Terms of Use (&amp;ldquo;Terms&amp;rdquo;) carefully before using the Tech Tweedie website (&lt;a href="https://techtweedie.github.io" target="_blank" rel="noopener"&gt;https://techtweedie.github.io&lt;/a&gt;) operated by Tweed Technology Ltd.&lt;/p&gt;
&lt;p&gt;Your access to and use of the website is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users, and others who access or use the website.&lt;/p&gt;
&lt;p&gt;By accessing or using the website, you agree to be bound by these Terms. If you disagree with any part of the terms, then you may not access the website.&lt;/p&gt;</description></item><item><title>Raiders of the Lost Consulting Ark: Revolutionizing CRM Workplace Culture</title><link>https://techtweedie.github.io/podcasts/m365-show/260318-raiders-of-the-lost-consulting-ark-revolutionizing-crm-workplace-culture/</link><pubDate>Wed, 18 Mar 2026 16:00:00 +0000</pubDate><guid>https://techtweedie.github.io/podcasts/m365-show/260318-raiders-of-the-lost-consulting-ark-revolutionizing-crm-workplace-culture/</guid><description/></item><item><title>Power Platform EXPORT to DevOps - Simple Pipeline</title><link>https://techtweedie.github.io/pattern/ppcicd/power-platform-export-to-devops-simple-pipeline/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/pattern/ppcicd/power-platform-export-to-devops-simple-pipeline/</guid><description>&lt;div class="alert info"&gt;
&lt;span&gt;&lt;i data-feather="info"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;&lt;strong&gt;📋 REUSABLE PATTERN&lt;/strong&gt;&lt;br&gt;
This document provides a proven, reusable pattern for implementing Power Platform DevOps pipelines. Use this template to standardize your solution export and version control processes across your organization.&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id="pattern-summary"&gt;Pattern Summary&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pattern Name&lt;/strong&gt;: Power Platform Solution Export Pipeline&lt;br&gt;
&lt;strong&gt;Category&lt;/strong&gt;: DevOps &amp;amp; CI/CD&lt;br&gt;
&lt;strong&gt;Platform&lt;/strong&gt;: Azure DevOps + Power Platform&lt;br&gt;
&lt;strong&gt;Difficulty&lt;/strong&gt;: Beginner to Intermediate&lt;br&gt;
&lt;strong&gt;Time to Implement&lt;/strong&gt;: 1-2 hours&lt;/p&gt;
&lt;h3 id="what-this-pattern-solves"&gt;What This Pattern Solves&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Manual solution exports prone to human error&lt;/li&gt;
&lt;li&gt;Lack of version control for Power Platform solutions&lt;/li&gt;
&lt;li&gt;Inconsistent deployment processes across environments&lt;/li&gt;
&lt;li&gt;No audit trail for solution changes&lt;/li&gt;
&lt;li&gt;Difficulty collaborating on Power Platform development&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pattern-outcomes"&gt;Pattern Outcomes&lt;/h3&gt;
&lt;p&gt;After implementing this pattern, you will have:&lt;/p&gt;</description></item><item><title>Power Platform IMPORT from DevOps - Simple Pipeline</title><link>https://techtweedie.github.io/pattern/ppcicd/power-platform-import-from-devops-simple-pipeline/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/pattern/ppcicd/power-platform-import-from-devops-simple-pipeline/</guid><description>&lt;div class="alert info"&gt;
&lt;span&gt;&lt;i data-feather="info"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;&lt;strong&gt;📋 REUSABLE PATTERN&lt;/strong&gt;&lt;br&gt;
This document provides a proven, reusable pattern for implementing Power Platform solution deployment pipelines. Use this template to standardize your solution import and deployment processes across your organization.&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id="pattern-summary"&gt;Pattern Summary&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pattern Name&lt;/strong&gt;: Power Platform Solution Import Pipeline&lt;br&gt;
&lt;strong&gt;Category&lt;/strong&gt;: DevOps &amp;amp; CI/CD&lt;br&gt;
&lt;strong&gt;Platform&lt;/strong&gt;: Azure DevOps + Power Platform&lt;br&gt;
&lt;strong&gt;Difficulty&lt;/strong&gt;: Beginner to Intermediate&lt;br&gt;
&lt;strong&gt;Time to Implement&lt;/strong&gt;: 1-2 hours&lt;/p&gt;
&lt;h3 id="what-this-pattern-solves"&gt;What This Pattern Solves&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Manual solution deployments prone to human error&lt;/li&gt;
&lt;li&gt;Inconsistent deployment processes across environments&lt;/li&gt;
&lt;li&gt;Lack of automated testing after deployment&lt;/li&gt;
&lt;li&gt;No standardized approach for environment-specific configurations&lt;/li&gt;
&lt;li&gt;Difficulty maintaining deployment consistency across teams&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pattern-outcomes"&gt;Pattern Outcomes&lt;/h3&gt;
&lt;p&gt;After implementing this pattern, you will have:&lt;/p&gt;</description></item><item><title>Generate Power Platform Solution Documentation with Azure DevOps</title><link>https://techtweedie.github.io/podcasts/pp-monthly-call/251119-pp-monthly-call-power-platform-documentation-azure-devops/</link><pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/podcasts/pp-monthly-call/251119-pp-monthly-call-power-platform-documentation-azure-devops/</guid><description/></item><item><title>🚀 Build Your First Azure DevOps Pipeline for Power Platform (Complete Beginner Tutorial!)</title><link>https://techtweedie.github.io/posts/251118-your-first-azure-devops-pipeline-for-power-platform/</link><pubDate>Tue, 18 Nov 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/251118-your-first-azure-devops-pipeline-for-power-platform/</guid><description/></item><item><title>D365 &amp; Power Platform UG North East – September 2025 Meetup</title><link>https://techtweedie.github.io/events/250930-d365ppugne/</link><pubDate>Tue, 30 Sep 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/250930-d365ppugne/</guid><description/></item><item><title>Playwright for Makers – Bringing One-Click UI Tests to Model-Driven Apps &amp; Power Pages</title><link>https://techtweedie.github.io/events/250910-d365ppugnational/</link><pubDate>Wed, 10 Sep 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/250910-d365ppugnational/</guid><description/></item><item><title>Generate Power Platform Solution Documentation with Azure DevOps</title><link>https://techtweedie.github.io/posts/250904-power-platform-documentation-extension/</link><pubDate>Thu, 04 Sep 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/250904-power-platform-documentation-extension/</guid><description/></item><item><title>Power Platform Clinic Episode 7: Automatically Tag DevOps Tickets by Email</title><link>https://techtweedie.github.io/podcasts/power-platform-clinic/250720-power-platform-clinic-episode-seven/</link><pubDate>Sun, 20 Jul 2025 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/podcasts/power-platform-clinic/250720-power-platform-clinic-episode-seven/</guid><description/></item><item><title>Running ADVANCED Playwright Tests in Azure DevOps for Power Platform Apps</title><link>https://techtweedie.github.io/posts/250715-running-advanced-playwright-tests-in-azure-devops-for-power-platform/</link><pubDate>Tue, 15 Jul 2025 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/250715-running-advanced-playwright-tests-in-azure-devops-for-power-platform/</guid><description/></item><item><title>Power Platform Clinic - Episode 6: Certs, Consultancy, and Career Conversations</title><link>https://techtweedie.github.io/podcasts/power-platform-clinic/250713-power-platform-clinic-episode-six/</link><pubDate>Sun, 13 Jul 2025 09:00:00 +0100</pubDate><guid>https://techtweedie.github.io/podcasts/power-platform-clinic/250713-power-platform-clinic-episode-six/</guid><description/></item><item><title>Running Playwright Tests in Azure DevOps for Power Platform Apps</title><link>https://techtweedie.github.io/posts/250702-running-playwright-tests-in-azure-devops-for-power-platform/</link><pubDate>Wed, 02 Jul 2025 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/250702-running-playwright-tests-in-azure-devops-for-power-platform/</guid><description/></item><item><title>Power Platform Clinic – Episode 5: Converting Forms with Images to PDF</title><link>https://techtweedie.github.io/podcasts/power-platform-clinic/250625-power-platform-clinic-episode-five/</link><pubDate>Wed, 25 Jun 2025 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/podcasts/power-platform-clinic/250625-power-platform-clinic-episode-five/</guid><description/></item><item><title>Walkthrough Customising Entra External ID for Power Pages</title><link>https://techtweedie.github.io/posts/250624-power-pages-customise-entra-external-id/</link><pubDate>Tue, 24 Jun 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/250624-power-pages-customise-entra-external-id/</guid><description/></item><item><title>Power Platform Clinic – Episode 4: Power Pages Authentication Options and Developer Accounts</title><link>https://techtweedie.github.io/podcasts/power-platform-clinic/250603-power-platform-clinic-episode-four/</link><pubDate>Tue, 03 Jun 2025 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/podcasts/power-platform-clinic/250603-power-platform-clinic-episode-four/</guid><description/></item><item><title>D365 &amp; Power Platform UG North East – June 2025 Meetup</title><link>https://techtweedie.github.io/events/250626-d365ppugne/</link><pubDate>Sun, 01 Jun 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/250626-d365ppugne/</guid><description/></item><item><title>Power Platform Clinic – Episode 3: Calling a Dad Joke API and Custom Visuals in Power BI Clinic</title><link>https://techtweedie.github.io/podcasts/power-platform-clinic/250526-power-platform-clinic-episode-three/</link><pubDate>Mon, 26 May 2025 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/podcasts/power-platform-clinic/250526-power-platform-clinic-episode-three/</guid><description/></item><item><title>Walk through Power Pages with Entra External ID</title><link>https://techtweedie.github.io/posts/250524-power-pages-with-entra-external-id/</link><pubDate>Sun, 25 May 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/250524-power-pages-with-entra-external-id/</guid><description/></item><item><title>At the Norfolk Power Platform User Group: Enabling Low-Code Developers to Create Custom Client Reports with a Helping Hand from Azure – Norfolk Power Platform User Group</title><link>https://techtweedie.github.io/events/250522-nppug/</link><pubDate>Thu, 22 May 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/250522-nppug/</guid><description/></item><item><title>Power Platform Clinic – Episode 2</title><link>https://techtweedie.github.io/podcasts/power-platform-clinic/250520-power-platform-clinic-episode-two/</link><pubDate>Tue, 20 May 2025 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/podcasts/power-platform-clinic/250520-power-platform-clinic-episode-two/</guid><description/></item><item><title>Show and Hide Tabs Based on Status Reason in Model Driven Apps</title><link>https://techtweedie.github.io/posts/250412-show-hide-status-reason/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/posts/250412-show-hide-status-reason/</guid><description/></item><item><title>Power Platform Clinic Episode 1</title><link>https://techtweedie.github.io/podcasts/power-platform-clinic/250412-power-platform-clinic-episode-one/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0100</pubDate><guid>https://techtweedie.github.io/podcasts/power-platform-clinic/250412-power-platform-clinic-episode-one/</guid><description/></item><item><title>D365 &amp; Power Platform UG North East – March 2025 Meetup</title><link>https://techtweedie.github.io/events/250327-d365ppugne/</link><pubDate>Thu, 27 Mar 2025 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/250327-d365ppugne/</guid><description/></item><item><title>At the Scottish Power Platform User Group: Enabling Low-Code Developers to Create Custom Client Reports with a Helping Hand from Azure – Scottish Power Platform User Group</title><link>https://techtweedie.github.io/events/250325-sppug/</link><pubDate>Tue, 25 Mar 2025 18:00:00 +0000</pubDate><guid>https://techtweedie.github.io/events/250325-sppug/</guid><description/></item><item><title>Set folder permissions in SharePoint with Power Automate Flow</title><link>https://techtweedie.github.io/posts/250217-set-folder-permissions-in-sharepoint-with-power-automate-flow/</link><pubDate>Mon, 17 Feb 2025 11:06:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/250217-set-folder-permissions-in-sharepoint-with-power-automate-flow/</guid><description/></item><item><title>Send Emails from Flow without a Service Account</title><link>https://techtweedie.github.io/posts/250210-send-emails-from-flow-without-a-service-account/</link><pubDate>Mon, 10 Feb 2025 09:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/250210-send-emails-from-flow-without-a-service-account/</guid><description/></item><item><title>At Birmingham Power Platform User Group: Enabling Low-Code Developers to Create Custom Client Reports with a Helping Hand from Azure – Norfolk Power Platform User Group</title><link>https://techtweedie.github.io/events/250130-bppug/</link><pubDate>Thu, 30 Jan 2025 18:30:00 +0000</pubDate><guid>https://techtweedie.github.io/events/250130-bppug/</guid><description/></item><item><title>At Learner to Leader: Avoid Costly Mistakes: Backing Up Your Power Platform Development Environment</title><link>https://techtweedie.github.io/posts/241214-backing-up-your-development-environment-avoiding-costly-mistakes-in-low-code-development/</link><pubDate>Sat, 14 Dec 2024 06:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/241214-backing-up-your-development-environment-avoiding-costly-mistakes-in-low-code-development/</guid><description/></item><item><title>Enabling Low-Code Developers to Create Custom Client Reports with a Helping Hand from Azure – Low Code No Code Conference</title><link>https://techtweedie.github.io/events/241109-lcnc/</link><pubDate>Sat, 09 Nov 2024 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/events/241109-lcnc/</guid><description/></item><item><title>Effortlessly Move Dataverse for Teams Solutions</title><link>https://techtweedie.github.io/posts/effortlessly-move-dataverse-for-teams-solutions/</link><pubDate>Tue, 22 Oct 2024 07:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/effortlessly-move-dataverse-for-teams-solutions/</guid><description/></item><item><title>At the Virtual Power Platform User Group Presenting - Avoid Costly Mistakes: Backing Up Your Power Platform Development Environment</title><link>https://techtweedie.github.io/events/241003-vd365ppug/</link><pubDate>Thu, 03 Oct 2024 18:00:00 +0100</pubDate><guid>https://techtweedie.github.io/events/241003-vd365ppug/</guid><description/></item><item><title>Calculate Working Day</title><link>https://techtweedie.github.io/posts/240924-calculate-working-day/</link><pubDate>Tue, 24 Sep 2024 09:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/240924-calculate-working-day/</guid><description/></item><item><title>Backup Dataverse Development Environment</title><link>https://techtweedie.github.io/posts/backup-dataverse-development-environment/</link><pubDate>Tue, 03 Sep 2024 07:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/backup-dataverse-development-environment/</guid><description/></item><item><title>Securing Power Automate for Production</title><link>https://techtweedie.github.io/posts/securing-power-automate-for-production/</link><pubDate>Mon, 05 Aug 2024 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/securing-power-automate-for-production/</guid><description/></item><item><title>Command Bar to Call Custom Page in Model Driven App</title><link>https://techtweedie.github.io/posts/command-bar-to-call-custom-page/</link><pubDate>Sun, 23 Jun 2024 19:32:41 +0100</pubDate><guid>https://techtweedie.github.io/posts/command-bar-to-call-custom-page/</guid><description/></item><item><title>Build a Basic PCF Field Control</title><link>https://techtweedie.github.io/posts/build-a-basic-pcf-field-control/</link><pubDate>Sun, 16 Jun 2024 19:32:41 +0100</pubDate><guid>https://techtweedie.github.io/posts/build-a-basic-pcf-field-control/</guid><description/></item><item><title>How to Install Hugo on Windows 11</title><link>https://techtweedie.github.io/posts/how-to-install-hugo-on-windows-11/</link><pubDate>Tue, 04 Jun 2024 17:32:41 +0100</pubDate><guid>https://techtweedie.github.io/posts/how-to-install-hugo-on-windows-11/</guid><description/></item><item><title>Power Platform Developer Tools Install Script</title><link>https://techtweedie.github.io/posts/power-platform-developer-tools-install-script/</link><pubDate>Tue, 04 Jun 2024 17:32:41 +0100</pubDate><guid>https://techtweedie.github.io/posts/power-platform-developer-tools-install-script/</guid><description/></item><item><title>Variables in PowerFX Command Buttons</title><link>https://techtweedie.github.io/posts/variables-in-powerfx-command-buttons/</link><pubDate>Fri, 24 May 2024 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/posts/variables-in-powerfx-command-buttons/</guid><description/></item><item><title>Clone with PowerFX Command button</title><link>https://techtweedie.github.io/posts/clone-with-powerfx-command-button/</link><pubDate>Mon, 22 Apr 2024 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/clone-with-powerfx-command-button/</guid><description/></item><item><title>Streamlining Webhook Testing</title><link>https://techtweedie.github.io/posts/steamlining-webhook-testing/</link><pubDate>Fri, 09 Feb 2024 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/steamlining-webhook-testing/</guid><description/></item><item><title>Create a Solution Configuration File</title><link>https://techtweedie.github.io/posts/choose-what-dataverse-search-indexes/</link><pubDate>Wed, 07 Feb 2024 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/choose-what-dataverse-search-indexes/</guid><description/></item><item><title>Bias of Maslow’s Hammer</title><link>https://techtweedie.github.io/posts/bias-of-maslows-hammer/</link><pubDate>Sat, 03 Feb 2024 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/bias-of-maslows-hammer/</guid><description/></item><item><title>Too Many Redirects on WordPress</title><link>https://techtweedie.github.io/posts/too-many-redirects-on-wordpress/</link><pubDate>Sun, 17 Sep 2023 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/too-many-redirects-on-wordpress/</guid><description/></item><item><title>Thinking Environment Meetings</title><link>https://techtweedie.github.io/posts/thinking-environment-meetings/</link><pubDate>Sun, 18 Dec 2022 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/thinking-environment-meetings/</guid><description/></item><item><title>Azure Function with Azure B2C</title><link>https://techtweedie.github.io/posts/221214-azure-function-with-azure-b2c/</link><pubDate>Wed, 14 Dec 2022 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/221214-azure-function-with-azure-b2c/</guid><description/></item><item><title>Postman to Azure Table Storage</title><link>https://techtweedie.github.io/posts/postman-to-azure-table-storage/</link><pubDate>Tue, 15 Nov 2022 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/postman-to-azure-table-storage/</guid><description/></item><item><title>Azure B2C oAuth on Postman</title><link>https://techtweedie.github.io/posts/221114-azureb2c-oauth-in-postman/</link><pubDate>Mon, 14 Nov 2022 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/221114-azureb2c-oauth-in-postman/</guid><description/></item><item><title>PFX certificate for FREE for Power Pages</title><link>https://techtweedie.github.io/posts/pfx-certificate-for-free-for-power-pages/</link><pubDate>Mon, 25 Jul 2022 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/pfx-certificate-for-free-for-power-pages/</guid><description/></item><item><title>Query Parameters on HTTP Trigger</title><link>https://techtweedie.github.io/posts/query-parameters-on-http-trigger/</link><pubDate>Sun, 03 Apr 2022 19:00:00 +0100</pubDate><guid>https://techtweedie.github.io/posts/query-parameters-on-http-trigger/</guid><description/></item><item><title>Go বেসিক</title><link>https://techtweedie.github.io/notes/go/basic/_index.bn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/go/basic/_index.bn/</guid><description/></item><item><title>Introduction</title><link>https://techtweedie.github.io/notes/go/basic/introduction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/go/basic/introduction/</guid><description>&lt;!-- A Sample Program --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Hello World&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;p&gt;A sample go program is show here.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;package&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;fmt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;message&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;greetMe&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;world&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;fmt&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Println&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;message&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;greetMe&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;name&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;) &lt;span style="color:#66d9ef"&gt;string&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Hello, &amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;+&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;name&lt;/span&gt; &lt;span style="color:#f92672"&gt;+&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Run the program as below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ go run hello.go
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Declaring Variables --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Variables&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;p&gt;&lt;strong&gt;Normal Declaration:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;msg&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;msg&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;Hello&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;p&gt;&lt;strong&gt;Shortcut:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;msg&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Hello&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Declaring Constants --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Constants&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;Phi&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;1.618&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Basic Types</title><link>https://techtweedie.github.io/notes/go/basic/types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/go/basic/types/</guid><description>&lt;!-- String Type --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Strings&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;str&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Hello&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Multiline string&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;str&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;`Multiline
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;string`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Number Types --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Numbers&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;p&gt;Typical types&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;num&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#75715e"&gt;// int&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;num&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3.&lt;/span&gt; &lt;span style="color:#75715e"&gt;// float64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;num&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#f92672"&gt;+&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4i&lt;/span&gt; &lt;span style="color:#75715e"&gt;// complex128&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;num&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; byte(&lt;span style="color:#e6db74"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;) &lt;span style="color:#75715e"&gt;// byte (alias for uint8)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Other Types&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;u&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;uint&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;7&lt;/span&gt; &lt;span style="color:#75715e"&gt;// uint (unsigned)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;p&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;float32&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;22.7&lt;/span&gt; &lt;span style="color:#75715e"&gt;// 32-bit float&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!----------- Arrays ------&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Arrays&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// var numbers [5]int&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;numbers&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; [&lt;span style="color:#f92672"&gt;...&lt;/span&gt;]&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;{&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Pointers --&gt;
&lt;div class="note-card medium-note"&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Pointers&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt; () {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;b&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#f92672"&gt;*&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;getPointer&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;fmt&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Println&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;Value is&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;b&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;getPointer&lt;/span&gt; () (&lt;span style="color:#a6e22e"&gt;myPointer&lt;/span&gt; &lt;span style="color:#f92672"&gt;*&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;a&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;234&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;a&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; new(&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;*&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;a&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;234&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pointers point to a memory location of a variable. Go is fully garbage-collected.&lt;/p&gt;</description></item><item><title>অ্যাডভান্সড</title><link>https://techtweedie.github.io/notes/go/advanced/_index.bn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/go/advanced/_index.bn/</guid><description/></item><item><title>Flow Control</title><link>https://techtweedie.github.io/notes/go/basic/flow-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/go/basic/flow-control/</guid><description>&lt;!-- Condition --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Condition&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;day&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;sunday&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;day&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;saturday&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;rest&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;day&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;monday&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;isTired&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;groan&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;work&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;_&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;err&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;doThing&lt;/span&gt;(); &lt;span style="color:#a6e22e"&gt;err&lt;/span&gt; &lt;span style="color:#f92672"&gt;!=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;fmt&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Println&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;Uh oh&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Switch --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Switch&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;switch&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;day&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;case&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;sunday&amp;#34;&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;// cases don&amp;#39;t &amp;#34;fall through&amp;#34; by default!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fallthrough&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;case&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;saturday&amp;#34;&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;rest&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;default&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;work&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Loop --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Loop&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;count&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;; &lt;span style="color:#a6e22e"&gt;count&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;; &lt;span style="color:#a6e22e"&gt;count&lt;/span&gt;&lt;span style="color:#f92672"&gt;++&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;fmt&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Println&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;My counter is at&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;count&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;entry&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; []&lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;{&lt;span style="color:#e6db74"&gt;&amp;#34;Jack&amp;#34;&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;&amp;#34;John&amp;#34;&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;&amp;#34;Jones&amp;#34;&lt;/span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;i&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;val&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;range&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;entry&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;fmt&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Printf&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;At position %d, the character %s is present\n&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;i&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;val&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;n&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;x&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;42&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;n&lt;/span&gt; &lt;span style="color:#f92672"&gt;!=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;x&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;n&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;guess&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>File Manipulation</title><link>https://techtweedie.github.io/notes/go/advanced/files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/go/advanced/files/</guid><description>&lt;!-- Condition --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Condition&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;day&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;sunday&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;day&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;saturday&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;rest&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;day&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;monday&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;isTired&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;groan&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;work&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;_&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;err&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;doThing&lt;/span&gt;(); &lt;span style="color:#a6e22e"&gt;err&lt;/span&gt; &lt;span style="color:#f92672"&gt;!=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;fmt&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Println&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;Uh oh&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Bash Variables</title><link>https://techtweedie.github.io/notes/bash/basic/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/bash/basic/</guid><description>&lt;!-- Variable --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Variable&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;NAME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;John&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo $NAME
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$NAME&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NAME&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Condition --&gt;
&lt;div class="note-card "&gt;
&lt;div class="item"&gt;
&lt;h5 class="note-title"&gt;&lt;span&gt;Condition&lt;/span&gt;&lt;/h5&gt;
&lt;div class="card"&gt;
&lt;div class="card-body"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#f92672"&gt;[[&lt;/span&gt; -z &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$string&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;]]&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;String is empty&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;elif&lt;/span&gt; &lt;span style="color:#f92672"&gt;[[&lt;/span&gt; -n &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$string&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;]]&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;String is not empty&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Go এর নোট সমূহ</title><link>https://techtweedie.github.io/notes/go/_index.bn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/go/_index.bn/</guid><description>&lt;h1 id="go-notes"&gt;Go Notes&lt;/h1&gt;</description></item><item><title>নোট সমূহ</title><link>https://techtweedie.github.io/notes/_index.bn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/_index.bn/</guid><description/></item><item><title>ব্যাশের নোট সমূহ</title><link>https://techtweedie.github.io/notes/bash/_index.bn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://techtweedie.github.io/notes/bash/_index.bn/</guid><description>&lt;h1 id="bash-notes"&gt;Bash Notes&lt;/h1&gt;</description></item></channel></rss>