Subscribe to continue reading
Subscribe to get access to the rest of this post and other subscriber-only content.
Subscribe to get access to the rest of this post and other subscriber-only content.
Subscribe to get access to the rest of this post and other subscriber-only content.
Often there is a need to use some kind of configuration for your customizations to work across environments in Power Platform or for storing the 3rd party URLs like SharePoint, other API services etc…previously there were ways where you can store your config but now with this helps in efficient way of interacting with your configuration across environments.
One environment variable can be used across many different solution components – whether they’re the same type of component or different ex. Power Apps and Flow can use the same variable in the environment. Environment variables store the parameter keys and values, which then serve as input to various other application objects.
Additionally, if you need to retire a data source in production environments, you can simply update the environment variable values with information for the new data source. The apps and flows don’t require modification and will start using the new data source.
The environment variables can be unpacked and stored in source control. You may also store different environment variables values files for the separate configuration needed in different environments. Solution Packager can then accept the file corresponding to the environment the solution will be imported to. Thanks @Rezza Dorani for the video…
The following environment variables are available as on today…

Use cases:
Few Advantages:
Neverthless there were few limitions:
Hope this post helped in some way…please let me know if you have any questions….
Cheers,
PMDY
Hi Folks,
Now a days ALM Dev ops is latest trend which every consultant should be aware of. There were tons of videos on Dev ops and creating a build or release pipelines but nevertheless they were sufficient as they were for too long period’s of time which spans roughly around 1-1.5 hrs.
So I was searching for some good blog or articles for the same which can save my time, this PDF guide from Microsoft is sound enough to get all you need with your ALM implementation for Power Platform.
Reference: GITHub Page
You can also practice with the amazing Dev Ops Labs available from Microsoft below…
If you were more comfortable watching the videos…refer the below videos…follow along…
ALM for Power Platform from D365 Champs
There you go….happy CRM’ing….
Cheers,
PMDY
Hi Folks,
It is often intimidating and overwhelming when you see your code is not working in Production and you were not sure if some one from your team has modified that which haven’t been checked in to source control.
If you find yourself in a such a tragic condition, this post is for you and it just gives some tools for you…
Load your assemblies into the tools and you should be able to view your code inside your class just from Dll. From my personal preference, I suggest you to download the JustDecompile which is much more flexible.
Cheers,
PMDY
In this tutorial, you will learn about JavaScript arrow function with the help of examples.
Arrow function is one of the features introduced in the ES6 version of JavaScript. It allows you to create functions in a cleaner way compared to regular functions. For example,
This function
// function expression
let x = function(x, y) {
return x * y;
}
can be written as
// using arrow functions
let x = (x, y) => x * y;
using an arrow function.
The syntax of the arrow function is:
let myFunction = (arg1, arg2, ...argN) => {
statement(s)
}
Here,
myFunction is the name of the functionarg1, arg2, ...argN are the function argumentsstatement(s) is the function bodyIf the body has single statement or expression, you can write arrow function as:
let myFunction = (arg1, arg2, ...argN) => expression
If a function doesn’t take any argument, then you should use empty parentheses. For example,
let greet = () => console.log('Hello');
greet(); // Hello
If a function has only one argument, you can omit the parentheses. For example,
let greet = x => console.log(x);
greet('Hello'); // Hello
You can also dynamically create a function and use it as an expression. For example,
let age = 5;
let welcome = (age < 18) ?
() => console.log('Baby') :
() => console.log('Adult');
welcome(); // Baby
If a function body has multiple statements, you need to put them inside curly brackets {}. For example,
let sum = (a, b) => {
let result = a + b;
return result;
}
let result1 = sum(5,7);
console.log(result1); // 12
Inside a regular function, this keyword refers to the function where it is called.
However, this is not associated with arrow functions. Arrow function does not have its own this. So whenever you call this, it refers to its parent scope. For example,
Inside a regular function
function Person() {
this.name = 'Jack',
this.age = 25,
this.sayName = function () {
// this is accessible
console.log(this.age);
function innerFunc() {
// this refers to the global object
console.log(this.age);
console.log(this);
}
innerFunc();
}
}
let x = new Person();
x.sayName();
Output
25
undefined
Window {}
Hope this helps in improvising your JavaScript code for your Power Platform Implementations
Happy CRM’ing.
Cheers,
PMDY
Arun Potti's Power Platform blog
Follow the below steps to download the Tools,
Step 1: Create a folder in D Drive and name it as “Dynamics_365_Development_Tools“
Step 2: Click on Windows, search for Windows PowerShell and open it.
Step 3: Type the below command to change the directory.
cd D:Dynamics_365_Development_Tools
and press Enter.
Step 4: Copy & Paste the below PowerShell script in PowerShell Window to download tools from Nuget.
$sourceNugetExe = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" $targetNugetExe = ".nuget.exe" Remove-Item .Tools -Force -Recurse -ErrorAction Ignore Invoke-WebRequest $sourceNugetExe -OutFile $targetNugetExe Set-Alias nuget $targetNugetExe -Scope Global -Verbose ## ##Download Plugin Registration Tool ## ./nuget install Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool -O .Tools md .ToolsPluginRegistration $prtFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool.'} move .Tools$prtFoldertools*.* .ToolsPluginRegistration Remove-Item .Tools$prtFolder -Force -Recurse ## ##Download CoreTools ## ./nuget install Microsoft.CrmSdk.CoreTools -O .Tools md .ToolsCoreTools $coreToolsFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.CoreTools.'} move .Tools$coreToolsFoldercontentbincoretools*.* .ToolsCoreTools Remove-Item .Tools$coreToolsFolder -Force -Recurse ## ##Download Configuration Migration ##…
View original post 92 more words
Hello friends,
Below blog details about the common plugin design mistake which often make you spend hours together to troubleshoot….
Hope you found at least you are able to understand why your plugin doesn’t trigger now.
Thank you…that’s it for today….
Cheers,
PMDY
This is a vast topic to cover in a blog. But I wanted to write from a bird-eye’s view of how this will pan out in an implementation where you perform a certain operation in Dynamics 365 CRM and an Azure Function is called to perform further operations.
This post is written keeping in mind fair knowledge of Azure Functions, Storage accounts and subscriptions in mind.
I’ll try to keep the article short, so stay with me! 🙂


View original post 560 more words
XRM Tricks (Power Platform & Dynamics CRM )
According to the current documentation, we can pass a dataverse record as a parameter. This is still very beneficial for some scenarios. But what if we want to pass a set of parameters without using an existing record.
After several attempts, I managed to pass an object containing some properties from the model driven app to the custom page using the navigateTo method. The next video illustrates this scenario. Indeed, the idea is to pass an object which contains two properties of type text from the MDA to the Custom Page using the navigateTo method.
As you can see, I used the recordId parameter to pass my JSON object. According to the documentation for the navigateTo method, the recordId parameter is optional and expects to be passed a GUID parameter.
Fortunately for us, Microsoft does not check if we pass a GUID or not, the API expects a string. Using…
View original post 210 more words