Power Apps UpdateIf – How to use and how to deal with it NOT being delegable from Shane Young

The good thing is that so far I did not have UpdateIf always ready in my memory. For “updating” datasets on resource level this will probably still not be in my memory. But for updating a collection this is quite helpful. ATTENTION small note: UpdateIf is NOT delegable.

In addition, the monitoring is shown, which often gives very exciting insights, especially if you want or need to optimize the performance.

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.

PowerApps Coalesce Function – Return non blank values from Shane Young

Coalesce replaces if(isblank()) and you only need to use this one for several checks and don’t need to nest it.

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.

PowerApps PDF Viewer SharePoint Document Library without flow from Reza Dorrani

A great video, which replaces all the cumbersome workarounds viia PowerAutomate. Here you learn how to simply “manipulate” data and thus directly view PDF fils in the PowerApp.

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.

Create a simple multilingual app in 3 steps

Photo by Pixabay on Pexels.com

For me, it was important to find a simple way to build a multilingual app that is also easy to maintain. Because the most common examples require tons of work when adding a new language.

In my example you will learn how to build a multilingual app in just 3 steps and which 2 parameters you only need to adjust to implement your new language.

I have also included the code for you to copy & paste, so you can finish even faster.

Step 1: Create a datasource
Here in this example I have created a SharePoint list which have the columns for the languages (English, French and German). -> en, fr, de

It is important to have a reference column which contains a consecutive number. I use here the automatically generated ID. In addition, one could add columns here, where one enters a remark to the screen (where the text is) and if necessary with the name of the item (e.g. Label1).

Step 2: Define OnStart
In the OnStart of the app you should first read out the language of the respective user or his browser language. You can do this easily with ‘language()’.

In this example I only want the first two letters, because they are identical to the datasource and I can reference them more easily. For this I write this language in a global variable, because then I could easily change it later in the app. (see bonus content)

To make it easier to add a new language later on and to avoid having to adjust every text field, I have used ‘ShowColumns’ for the language to filter the language column and ‘RenameColumns’ so that the language column always has the same name. Here ‘Value’.

Here the formatted code:

Set(
    varLanguage,
    Left(
        Language(),
        2
    )
);
Switch(
    varLanguage,
    "en",
    ClearCollect(
        colTranslations,
        RenameColumns(
            ShowColumns(
                MultiLanguage,
                "ID",
                "en"
            ),
            "en",
            "Value"
        )
    ),
    "fr",
    ClearCollect(
        colTranslations,
        RenameColumns(
            ShowColumns(
                MultiLanguage,
                "ID",
                "fr"
            ),
            "fr",
            "Value"
        )
    ),
    "de",
    ClearCollect(
        colTranslations,
        RenameColumns(
            ShowColumns(
                MultiLanguage,
                "ID",
                "de"
            ),
            "de",
            "Value"
        )
    )
)

Step 3: insert text elements
Here I simply added labels. But this also works with any other text display elements.

By formatting the collection columns in the previous step, it is now very easy to reference the corresponding text here. And the best thing is, when a new language is added, you do NOT have to adjust every field.

Bonus-Step: Include a possibility to change the language
I simply added a dropdown here, which contains a hard-coded table with the language abbreviations. Of course, you can also generate this dynamically.

In the OnChange of this DropDown I have inserted a slightly modified form of the code from Step 2. For this I have simply changed the ‘Set’ of the global variable. So you have an easy way to change your language. This code you can also simply reduce to the minimum, put behind images of the country flags at ‘OnClick’.

Set(varLanguage,Self.SelectedText.Value);
Switch(
    varLanguage,
    "en",
    ClearCollect(
        colTranslations,
        RenameColumns(
            ShowColumns(
                MultiLanguage,
                "ID",
                "en"
            ),
            "en",
            "Value"
        )
    ),
    "fr",
    ClearCollect(
        colTranslations,
        RenameColumns(
            ShowColumns(
                MultiLanguage,
                "ID",
                "fr"
            ),
            "fr",
            "Value"
        )
    ),
    "de",
    ClearCollect(
        colTranslations,
        RenameColumns(
            ShowColumns(
                MultiLanguage,
                "ID",
                "de"
            ),
            "de",
            "Value"
        )
    )
)

Power Apps Combo Box DefaultSelectedItems from Shane Young

A great summary of how to deal with DefaultSelectedItems in a ComboBox and how to set them using a table/lookup or a manuel-created record.

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.

Power Apps SharePoint List Security with Folders from Reza Dorrani

Above all, I have learned the permissions here. I also found the work-around exciting, how to get only the paths of the folders.

Using the functions of a form “OnSuccess” / “OnFailed” … should really be used more often, as it allows greater flexibility.

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.

Implementing Role Based Security in Power Apps from Reza Dorrani

A great overview, but also some interesting tricks about permissions. I was also recently faced with the problem of how to find out if someone is a member of a particular AD group without the AD connector. If I had known this little workaround before, I would have done it exactly the same way. (Have it then solved via a flow query -> whether this person could query a specific list or not)

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.

Power Apps Performance Optimization Tips from Reza Dorrani

A very good summary of BestPractices about Perfomance optimization of a PowerApp. These things are usually only “learned” when you have already implemented some apps and especially only when there are larger data sets and performance is important. Variables are a great help, but also OnAppStart in combination with Concurrent. It is important to note that if you want to perform multiple Concurrent functions one at a time, when queries reference each other. z.B. -> A category list is first queried and then a different list is asked for.

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.

How To Use Environment Variables from Daniel Christian

A good demonstration for which you can use the Environment Variable in PowerAutomate and PowerApps, among other things.

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.

Power Apps Custom Theme Generator with the COE from April Dunnam

Using COE (Center of Excellence), it is possible to create and share your own theme with the COE Theme Editor for PowerApps. This allows you to create simple business themes so that everyone has a consistent design.

You can see this video here on my blog because I have rated this video with 5 stars in my Youtube video library. This video was automatically posted using PowerAutomate.