Microsoft Power Platform Archives - Netwoven https://netwoven.com/category/microsoft-power-platform/ Netwoven Inc. Mon, 17 Jun 2024 12:25:32 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://netwoven.com/wp-content/uploads/2023/07/cropped-favicon-32x32.png Microsoft Power Platform Archives - Netwoven https://netwoven.com/category/microsoft-power-platform/ 32 32 Showing Repeating Section Data from SharePoint List in Power Apps https://netwoven.com/sharepoint-custom-development/showing-repeating-section-data-from-sharepoint-list-in-power-apps/ https://netwoven.com/sharepoint-custom-development/showing-repeating-section-data-from-sharepoint-list-in-power-apps/#comments Tue, 04 May 2021 06:34:01 +0000 https://www.netwoven.com/?p=37963 This is just a small addendum to my previous article . Once you have created a repeating section in PowerApps and saved it in a SharePoint list, I am going… Continue reading Showing Repeating Section Data from SharePoint List in Power Apps

The post Showing Repeating Section Data from SharePoint List in Power Apps appeared first on Netwoven.

]]>
This is just a small addendum to my previous article . Once you have created a repeating section in PowerApps and saved it in a SharePoint list, I am going to show you one easy step to retrieve those data from the SharePoint list and make them available in edit and view form.

I am sure you already have created the repeating section in your form. If you haven’t yet, please refer to my earlier blog.

Now consider the following lines of code in the OnEdit and OnView property of SharePointIntegration of the form.

Set (RepSecCOllString, LookUp( 'Repeating Section Test', ID=SharePointIntegration.SelectedListItemID, 'Repeating Section Data')); Clear (CollRepSec);
Set (EditRepSecStr,LookUp( 'Repeating Section Test', ID=SharePointIntegration.SelectedListItemID , 'Repeating Section Data'));Set(EditRepSecStr,Left(EditRepSecStr,Len(EditRepSecStr) - 1));
ForAll (  
    Split (  
        EditRepSecStr,  
        "|"  
    ),  
    Collect (  
        CollRepSec,  
        {  
            SrNo: Text (Last (FirstN(Split(Result,";").Result,1).Result).Result),
            Type: Text (Last (FirstN(Split(Result,";").Result,2).Result).Result),
            Description: Text (Last (FirstN(Split(Result,";").Result,3).Result).Result) 
        }  
    )  
)
Showing Repeating Section Data from SharePoint List in Power Apps

Finally, when you open your SharePoint form in edit and view mode you will be able to see your data like this.

Showing Repeating Section Data from SharePoint List in Power Apps

This concludes the demonstration of how easily you can make use of repeating sections perhaps even to create an editable grid. PowerApps do not yet provide a straight forward grid control and this is one of the ways to get to a workaround. I thought tables are pretty important controls to use!

Let me know what you think of it.

The post Showing Repeating Section Data from SharePoint List in Power Apps appeared first on Netwoven.

]]>
https://netwoven.com/sharepoint-custom-development/showing-repeating-section-data-from-sharepoint-list-in-power-apps/feed/ 14
Simply Explained – Power Apps Deep Linking https://netwoven.com/microsoft-power-platform/simply-explained-power-apps-deep-linking/ https://netwoven.com/microsoft-power-platform/simply-explained-power-apps-deep-linking/#comments Tue, 16 Mar 2021 14:05:49 +0000 https://www.netwoven.com/?p=37381 What is Deep Linking in Power Apps? When user opens a Power Apps application, normally it shows the landing screen. But if it is desired to navigate users to some… Continue reading Simply Explained – Power Apps Deep Linking

The post Simply Explained – Power Apps Deep Linking appeared first on Netwoven.

]]>
What is Deep Linking in Power Apps?

When user opens a Power Apps application, normally it shows the landing screen. But if it is desired to navigate users to some specific screen (e.g., Product details screen for a particular product) nested in the app, how do you do that?

Here comes Deep Linking into action. It enables you to navigate your users directly to a specific record/screen nested in your app with parameters. That means, with the help of a specific URL, you can navigate your users from email or any other app to a specific screen in your app.

Demonstration

Using a very simple app as an example, that uses SharePoint to hold required background data, this article demonstrates the process.

The app in this example has only three screens, namely,

  • Home Screen: Available UI options to end users to go to respective screens linked to each of the given option
Simply Explained – Power Apps Deep Linking
  • Employee List Screen: For simplicity, of all the UI options on the home or landing screen, the app in this example is created to be functioned to list only all the employees linked to View List of Employees option
Simply Explained – Power Apps Deep Linking
  • Employee Details Screen: Displays the details of the selected employee
Simply Explained – Power Apps Deep Linking

The SharePoint list that holds employee data is created with the name EmployeeList and is created with a simple structure as shown below:

Simply Explained – Power Apps Deep Linking

Goal

Using Deep Linking, the aim is to enable users to navigate directly (without going to the Home screen and selecting a particular employee) to the Employees Details screen of a particular employee.

For this, follow the below steps:

Step 1:

In this step, in the Employee List screen, set a variable “varEmployee”, with the selected item of the gallery and navigate to the Details screen.

Set(varEmployee,ThisItem);

Navigate(DetailsScreen);

Simply Explained – Power Apps Deep Linking

Step 2:

In the Details Screen, take a view form to show employee details. Set “Item” of this form as “varEmployee” variable, which was used in the earlier step to store the employee object.

Simply Explained – Power Apps Deep Linking

Step 3:

Write below code in the App’s OnStart event:

Set(varEmpID,Param(“EmpID”));

If(!IsBlank(varEmpID),Set(varEmployee,LookUp(EmployeeList,ID = Value(varEmpID))); Navigate(DetailsScreen););

Use the “EmpID” as the query string parameter to be passed through the details screen URL. In the first line, set the variable with the value of the query string value of “EmpID”. Then set “varEmployee” variable with the employee object for that particular “EmpID” value.

Simply Explained – Power Apps Deep Linking

Now, construct the URL for a particular employee. To get the app URL, go to the details page of the app and for this given example, the URL of use is highlighted in the screenshot below.

Simply Explained – Power Apps Deep Linking

Append the URL with the EmpID query string to construct the final URL for the given example: https://apps.powerapps.com/play/e66608de-b0ae-41c0-8bc2-06e4421b67fb?tenantId=88e895b4-6f17-43c0-96ea-80e571607bfb&EmpID=1

This URL is now ready to be used to navigate directly to the Employee Details screen, if shared with any other user or within any app.

The same approach can be followed for Vendors and Customers list options.

VendorID or CustomerID can be passed through the query string to show vendor’s details or customer’s details, respectively.

Summary

Using the constructed URL, click on this shared URL will redirect directly to the relevant screen, instead of having to start from the Home or landing screen.

The post Simply Explained – Power Apps Deep Linking appeared first on Netwoven.

]]>
https://netwoven.com/microsoft-power-platform/simply-explained-power-apps-deep-linking/feed/ 2
Set Item Level Permission in SharePoint List using Power Automate https://netwoven.com/sharepoint-custom-development/set-item-level-permission-in-sharepoint-list-using-power-automate/ https://netwoven.com/sharepoint-custom-development/set-item-level-permission-in-sharepoint-list-using-power-automate/#comments Tue, 03 Nov 2020 17:49:45 +0000 https://www.netwoven.com/?p=35589 Introduction In SharePoint List, if any privilege (like Read, Contribute or Full Control) is provided to any SharePoint User or Group, then that user or people of that group enjoy… Continue reading Set Item Level Permission in SharePoint List using Power Automate

The post Set Item Level Permission in SharePoint List using Power Automate appeared first on Netwoven.

]]>
Introduction

In SharePoint List, if any privilege (like Read, Contribute or Full Control) is provided to any SharePoint User or Group, then that user or people of that group enjoy their level of access on all the items.

However, it may sometimes be required to limit user access to their own created or modified items only.

I quote an example as in the case of employee payslips. While all members of the Accounts Department (group), which generates payslips, can access all payslips for all employees of the organization at any central storage location, the payslips of any user are accessibly only to the corresponding user

Considering real world scenarios, this may seem to be a cumbersome manual process considering the volume of items for which permissions have to be uniquely provided to a specified set of users of groups, since the default behavior of each list item is to inherit from its parent (list).
One approach to break and reset permission at item level is to use Power Automate which breaks the default permission inheritance and sets up unique permission on each SharePoint list item.

Creating the Solution

Create SharePoint List

I have used another example in the article to demonstrate the case study and its solution. Begin with adding a SharePoint list named ‘ContactList’ to the Site Contents. In that ‘ContactList’, add a Manager column of type Person or Group.

Set Item Level Permission in SharePoint List using Power Automate

I am trying to associate a Manager for each contact item in the list, who will be assigned Contribute access to the item for any modification on the list item.

The next sections demonstrate the process to reaching the solution using Power Automate.

Setup the Flow

Log in with your Office 365 account to https://flow.microsoft.com/, and Create a new “Automated flow”.

Assign a name to the Flow and select the trigger as “When an item is created or modified”.

Set Item Level Permission in SharePoint List using Power Automate

Create and follow the below steps:

Step 1

Point the Flow trigger to the appropriate SharePoint Site Address and List Name.

Set Item Level Permission in SharePoint List using Power Automate

Step 2

Add the new step as “Send an HTTP request to SharePoint” action.

Note: Since this action will be used multiple times in the process, rename the action for better identification.

This action here will break the default inheritance permission on the list item.

Set Item Level Permission in SharePoint List using Power Automate

Fill the above fields as follow:

Site Address: Select the Site Address as in Step 1

Method: POST

Uri: Enter the following text:

_api/lists/getByTitle('List_Name')/items(@{triggerOutputs()?['body/ID']})/breakroleinheritance(copyRoleAssignments=false,clearSubscopes=true)

copyRoleAssignments – Specifies whether to copy the role assignments from the parent securable object.

clearSubscopes – with the clearSubscopes parameter set as true, the role assignment for all child objects will be cleared and those objects will inherit role assignments from the current object after this call.

Step 3

Next step is to fetch all the Manager Ids of a particular item from this list to modify their access to Contribute. To do so, we will add another “Send an HTTP request to SharePoint” action and rename it for identification of this step.

Set Item Level Permission in SharePoint List using Power Automate

Site Address remains the same throughout.

Use the GET method. And enter the below text as URI

_api/web/lists/getByTitle(‘List_Name’)/items(@{triggerOutputs()?[‘body/ID’]})?$select=Manager/Id&$expand=Manager

Step 4

Parse the JSON output from the “Send an HTTP request to SharePoint – Get User List” request, using the “Parse JSON” action, as shown in the below image.

Set Item Level Permission in SharePoint List using Power Automate

Paste the below text in Schema field. Schema is nothing but it is the structure and semantic of output of the previous step (i.e. Step 3). (Refer this link for how to generate schema).

{
    "type": "object",
    "properties": {
        "d": {
            "type": "object",
            "properties": {
                "__metadata": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string"
                        },
                        "uri": {
                            "type": "string"
                        },
                        "etag": {
                            "type": "string"
                        },
                        "type": {
                            "type": "string"
                        }
                    }
                },
                "Manager": {
                    "type": "object",
                    "properties": {
                        "results": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "__metadata": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "Id": {
                                        "type": "integer"
                                    }
                                },
                                "required": [
                                    "__metadata",
                                    "Id"
                                ]
                            }
                        }
                    }
                }
            }
        }
    }
}

Step 5

Use the results output from the parse JSON action to get the entire users list, which will be iterated through for each Manager’s Id which can be either User Id or Group Id associated with the specific item ID.

Set Item Level Permission in SharePoint List using Power Automate

Add another action “Send an HTTP request to SharePoint” to assign the required permission to the specific item ID.

Set Item Level Permission in SharePoint List using Power Automate

Method: POST

Uri: Enter the below text:

_api/lists/getByTitle('List_Name')/items(@{triggerOutputs()?['body/ID']})/roleassignments/addroleassignment(principalid=@{items('Apply_to_each')?['Id']},roledefid=1073741827)

PrincipalId: It is taken from Id field of the Parse JSON request.

RoleDefId: 1073741827 is the ID associated with Contribute permission. Refer to the below table for roles/access and associated predefined IDs for assignment per the requirement.

Permission LevelPermission ID
Full Control1073741829
Read1073741826
Contribute1073741827

That is all, the flow is ready to run.

Verifying the Flow Solution

Create a new item on the list, select any Person or Group in the Manager field and save the item.

Set Item Level Permission in SharePoint List using Power Automate

For the item for which modification is made, check “Manage Access” to confirm that the selected person/group in the Manager field have gotten the contribute permission for that item.

Set Item Level Permission in SharePoint List using Power Automate

The post Set Item Level Permission in SharePoint List using Power Automate appeared first on Netwoven.

]]>
https://netwoven.com/sharepoint-custom-development/set-item-level-permission-in-sharepoint-list-using-power-automate/feed/ 9
Power Automate to List and Update Online Excel Table Rows https://netwoven.com/microsoft-power-platform/microsoft-flow-to-list-and-update-online-excel-table-rows/ https://netwoven.com/microsoft-power-platform/microsoft-flow-to-list-and-update-online-excel-table-rows/#comments Fri, 30 Oct 2020 00:59:40 +0000 https://www.netwoven.com/?p=35409 To keep you valued readers engaged and updated with the latest offerings of Microsoft and the IT solutions that my organization provides, the marketing team here works with great zeal… Continue reading Power Automate to List and Update Online Excel Table Rows

The post Power Automate to List and Update Online Excel Table Rows appeared first on Netwoven.

]]>
To keep you valued readers engaged and updated with the latest offerings of Microsoft and the IT solutions that my organization provides, the marketing team here works with great zeal to identify readership interests and preference on the regularly published blogs.

One evident task in this effort is to keep a track of number of views, comments for each published blog. This may not at start look like an arduous task, but considering the volume over a period, the number does look daunting.

Fetching some update like this might not qualify for some sophisticated coding effort, hence, I tried to create a Power Automate solution for my team, and only they could confirm if that helped. However, my entire journey in this attempt has been quite refreshing with discovery of new actions to Power Automate.

Introduction

The text above was an ode to my team. My actual blog work starts here.

Unlike my other Flows, this one is short and crisp.

For sake of simplicity, and to stay uptight, I am enumerating only the main actions of the entire flow.

  • List rows in an online excel table
  • Update data in the online excel table against each corresponding row fetched from #1

Between #1 and #2, I have initialized and set values in some variables that I need to use in #2, however that is something quite specific to my need, so I have voluntarily skipped from focusing on that.

Get Set Go

The below screen shot displays my online excel table with 3 columns, namely ‘BlogURL’, ‘Number of Views’ and ‘Number of Comments’.

Power Automate to List and Update Online Excel Table Rows

The trigger of your flow can be anything, in my case it is a recurring activity with a set periodic recurrence, hence I directly jump to the main actions of the flow.

List rows present in a table

I have used an O365 excel file, hence the Location, Document Library and File fields point to my file.

Table is the range of cells identified for any activity.

Power Automate to List and Update Online Excel Table Rows

To help flow choose the Table, I opened the excel file in a desktop app and selected my range of column headers and clicked on Home > Format as Table to identify the table.

Power Automate to List and Update Online Excel Table Rows

This action shows up a new menu option Table Design which allows to name the table.

Power Automate to List and Update Online Excel Table Rows

Note: The identification of Table in excel must be performed prior to creating the Flow.

Power Automate to List and Update Online Excel Table Rows

You may also like : Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data

Update a Row

The UI that comes up on this action, prompts me to enter the file location details (since it may not be the same file where update might be required). After pointing out the file location details and the Table (similar to that done in the previous step), Flow intelligently shows options for Key Column based on the selected table; this is for identification of the unique row where update should be done.

Power Automate to List and Update Online Excel Table Rows

All available columns of the table are listed in this action for any update to be made to them.

The Key Value can be any text that you think uniquely identifies the excel table row. In my case, I am using the BlogURL from the fetched excel table, which shows up in my Dynamic Content.

Power Automate to List and Update Online Excel Table Rows

Flow is quite intelligent to understand that the value in BlogURL are multiple (since it is fetched from the entire excel table), hence automatically this action gets encapsulated inside Apply to each block, to run as a loop for each BlogURL column value fetched from the excel table.

I have initialized and set a few variables that I am using to update my excel row data for the columns I need to update, rest column values can be left blank if no update is to be made.

Power Automate to List and Update Online Excel Table Rows

On the Finish Line

This blog may seem to be quite rushed since I omitted a major chunk of initializing and setting variables values, as I wanted to stay focused to the actual actions.

What may be important, is to outline that while I am updating values in the same table, the Update a Row action is not limited to the excel table from which rows were listed in step #1. The update action can be performed on any other online excel table by pointing to the appropriate online O365 Excel Location and Table details and selecting the desired Key Column and Key Value to update respective column(s) data for row(s) matching the key value.

Finally, as I pen down this blog, I leave my Flow to run to fill in all the missing details of the excel table as in the image below.

Power Automate to List and Update Online Excel Table Rows

The post Power Automate to List and Update Online Excel Table Rows appeared first on Netwoven.

]]>
https://netwoven.com/microsoft-power-platform/microsoft-flow-to-list-and-update-online-excel-table-rows/feed/ 1
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data https://netwoven.com/microsoft-power-platform/power-automate-conditional-substring-pattern-filtration-of-excel-tabular-data/ https://netwoven.com/microsoft-power-platform/power-automate-conditional-substring-pattern-filtration-of-excel-tabular-data/#respond Wed, 28 Oct 2020 21:50:59 +0000 https://www.netwoven.com/?p=35474 Preface Recently I was tasked to extract some pattern values from an excel column data. Being limited in my ability to perform any language programming, and with the limited amount… Continue reading Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data

The post Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data appeared first on Netwoven.

]]>
Preface

Recently I was tasked to extract some pattern values from an excel column data. Being limited in my ability to perform any language programming, and with the limited amount of time I had, there was no other choice left than to use default excel column filter and then manually segregate the required data pattern from the rest of the cell data. Presuming this is not a one-time ask and a similar situation may arise in future, a handy generic solution works best in interest of time.

Power users like me, who work on excel data, but are not much adept in use of excel macros or other methods to automate a data substring pattern solution can still feel empowered as long as they can work their way around with Power Automate.

Case Study

My data looked like the one in the below image.

Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data

A no-brainer guess after the first glance at data can identify Column1 as emails.

The task was to segregate email IDs of a certain domain ‘def.com’, for each row data of Column1. It could be thought of suggestively analogous to tell apart and extract certain outside organization domain email IDs from within organization domain email IDs.

In short, the output was desired in the below format.

Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data

Complexity and Cue

The possibility of multiple strings match in each row data, like in row #6 of my data, defeats the use of simple default column filters, while suggesting to still experiment with a complex formula-based solution.

The visual cue from a close analysis suggests that each row data of Column1 is orderly delimited by a disciplined formatting of separator (in this case a “,”). This arises a hope of being able to handle the delimited substrings of each cell data once each substring is identified individually.

Solution Framework

Apart from listing rows from excel and ending with updating corresponding column values into the excel, use of an array can be helpful to contain individual substrings of each cell data. Hence, the solution framework can be formulated as below:

⦁ Read tabular data from Excel
⦁ Transform each row data as individual input array
⦁ Read each input array and perform the following

  • For each input array execute the following for the entire array length
    • Perform desired pattern match on each element of the input array
    • Push each matched element into a corresponding output array for the input array (if multiple pattern matches are found in the array, each matched element gets appended)
    • Update each Excel row with the corresponding output array
  • Go to next input array

Caveat: It is advisable not to set expectations like response time, or speed as with any sophisticated programming process.

Solution Construction

List tabular data from Excel

My earlier blog already details about listing and updating tabular data from online Excel; hence I will skip details in this blog. Giving just a glimpse of the listing tabular data action, it looks like the one in the below image. The important thing to note here is the Table definition; hence, first time readers can reference my last blog for the same.

Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data

Initialize Variables

Working and reworking on errors made me finalize a set of variables which are initialized as sequential steps at the start of the process. To highlight their utility, they are described as below:

inputString – String type; Used as a placeholder to contain each row data from excel table since input tabular data is not directly read as an array
inputArray – Array type; Contains transformed inputString data as array
outputArray – Array type; Contains filtered array data to be updated to Excel table
outputString – String type; Used to transform outputArray data to string to update each row data in the excel table
emptyArray – Array type; Used to reinitialize outputArray before each excel table row update, since there is no method yet to reset variable values to empty or blank

Read and Update Excel Data

The entire excel data (‘value’) is pointed as input to the ‘Apply to each’ block, as in the following image. Hence, each step encapsulated in the block is expected to act on individual row data of the excel.

Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data

Set Variable Values

  • Set value of inputString as input from the desired row data
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data
  • Substring value of inputString at delimiters, using Split expression in the Compose action, as in the below image.
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data
  • Once the string is sub stringed, set inputArray from output of the last step; hence each substring forms an element of the inputArray.
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data
  • Reset outputArray to remove any residual or old data (this might not make sense for the first run, but for subsequent runs of the loop, this variable needs to be reinitialized)
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data
  • Perform condition matching (per the requirement) for each element of the inputArray using the item() expression adding another ‘Apply to each’ block, which loops through each array element for the entire array length
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data
  • Since the visual cue of tabular data hinted at possibilities of multiple matching elements (or items) for each row data, for success of every pattern match, use Append to array variable action to keep appending each matched element (item()) from inputArray to its corresponding outputArray.
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data
  • Once all elements of the array are inspected for the condition or desired pattern match for filtration, transform to write into outputString since an array data cannot directly update excel cell
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data
  • Final step of the ‘Apply to each’ block is to update Column2 for each row of the excel table with outputString
Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data

You may also like : Microsoft Flow to List and Update Online Excel Table Rows

Final Solution

The final solution looks like the one below.

Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data

Learnings and Takeaway

My biggest learning here was dealing with arrays; be it the discovery of not being able to read or write arrays directly as excel tabular data, or be it the transformation to and from string type to array and reading each array element for condition match.

Also, luckily for me, the input data had a pattern set by delimiters. However, this may not always be a cakewalk.

Hence, to be able to use this solution, identification of some delimiter pattern to match and split the input data, wins half the battle by allowing data to be broken up into singular elements.

Though this is a specific case study, understanding different solution frameworks helps remodel the task and tweak solutions for specific requirements to work your way around the resolution.

The post Power Automate Conditional Substring Pattern Filtration of Excel Tabular Data appeared first on Netwoven.

]]>
https://netwoven.com/microsoft-power-platform/power-automate-conditional-substring-pattern-filtration-of-excel-tabular-data/feed/ 0
[Solved] How to create Repeating Section in PowerApps and save data to SharePoint List https://netwoven.com/sharepoint-custom-development/how-to-create-repeating-section-in-powerapps-and-save-data-to-sharepoint-list/ https://netwoven.com/sharepoint-custom-development/how-to-create-repeating-section-in-powerapps-and-save-data-to-sharepoint-list/#comments Thu, 13 Aug 2020 21:25:01 +0000 https://www.netwoven.com/?p=34822 PowerApps is surely gaining traction among business users due its low code no code approach and easy integration with a variety of data stores and apps. However, there are occasions when… Continue reading [Solved] How to create Repeating Section in PowerApps and save data to SharePoint List

The post [Solved] How to create Repeating Section in PowerApps and save data to SharePoint List appeared first on Netwoven.

]]>
PowerApps is surely gaining traction among business users due its low code no code approach and easy integration with a variety of data stores and apps. However, there are occasions when certain controls are not readily available and one needs to apply few tweaks to achieve the desired result. We faced one such situation in our project and I wish to discuss that in this article. 

In one of our recent projects we needed to  migrate some Nintex forms integrated with SharePoint list to Power Platform. These Nintex forms had some repeating sections. 

What is Repeating Section? 

Repeating Section in Nintex is a control which can contain a set of other controls and allows a user of the form to insert multiple instances (rows) of data as required. A typical use is to capture personal details such as multiple phone numbers of a person as shown below. The type of phone and its number are small controls that are repeating to capture multiple sets of data. The trouble is  the child controls are connected to the Repeating Section control and thus cannot be directly connected to SharePoint list columns or fields. 

How to create Repeating Section in PowerApps and save data to SharePoint List

Also, in PowerApps we do not have any default control like repeating section in Nintex form.  

How to create repeating sections in PowerApps? 

You have guessed it! We need to mix few things in PowerApps to get to the point. I created the repeating section in PowerApps using form, gallery, and button controls. 

Follow through the steps below to create a. Repeating Section in PowerApps and also saving data from this section to the SharePoint list. 

Steps:

  1. Create a list column of type multiple lines of text in your SharePoint list to store the data from repeating section. Just like here I have a column named ‘Repeating Section Data’.
How to create Repeating Section in PowerApps and save data to SharePoint List

2. In PowerApps screen, add the edit form which will be connected to your SharePoint list and hide the column ‘Repeating Section Data’.

How to create Repeating Section in PowerApps and save data to SharePoint List

3. The repeating section cannot be created inside your form. You must create the section outside the form.

4. Add a gallery with the controls you need to save data for the repeating section and a ‘x’ (cancel) button. Also, below the gallery add a ‘+’ icon to add rows and a save icon to save data in all the rows. This should look something like this:

How to create Repeating Section in PowerApps and save data to SharePoint List

5. In the ‘OnSelect’ property of the ‘+’ icon add these lines of code.

Collect (CollRepSec,
    {
        SrNo: Text (2 + (CountRows (CollRepSec) + 1) / 10),
        Type: "",
        Description: ""
    }
);
How to create Repeating Section in PowerApps and save data to SharePoint List

6. In the gallery’s Items property, add collection “ColRepSec”.

How to create Repeating Section in PowerApps and save data to SharePoint List

7. Edit the Fields property of the gallery and add the respective fields to each of the controls.

How to create Repeating Section in PowerApps and save data to SharePoint List

8. Now, add the following code in the cancel button of the gallery.

RemoveIf (CollRepSec, SrNo = ThisItem.SrNo);
How to create Repeating Section in PowerApps and save data to SharePoint List

9. In the ‘OnSelect’ property of the save icon add the following lines of code:

UpdateContext (  
    {  
        RepSecCOllString: Concat (  
            GalleryRepSec.AllItems,  
            Concatenate (
                 LabelSrNo.Text,
                 ";",
                DropdownType.Selected.Value,  
                ";",  
                TextInputDesc.Text,    
                “;”,
                "|"  
            )  
        )  
    }  
);
How to create Repeating Section in PowerApps and save data to SharePoint List

10. Now add the variable ‘RepSecCollString” to the Update property of your ‘Repeating Section Data’ data card in the form.       

How to create Repeating Section in PowerApps and save data to SharePoint List

11. Make sure to clear the collection ‘ColRepSec’ by adding the following code in the OnNew property of the SharePointIntegration in your form.

Clear (CollRepSec);

There you are. Now when you add rows in the repeating section the form will look like this.

How to create Repeating Section in PowerApps and save data to SharePoint List

And when you save it the data is being saved in the list like this.

As I said, many people are moving to PowerApps from their existing system. The existing forms could be InfoPath, Nintex like in our case or even some custom applications. The source really doesn’t matter as long as you are able to mimic the control within PowerApps and also save the data into native SharePoint data store.

Hope you will be able to use the artefact described here for your purposes and I would feel happy if you do. Let me know for more assistance.

It may also be needed to later retrieve the data and be able to edit it. That’s exactly my plan to discuss it in the next article!

The post [Solved] How to create Repeating Section in PowerApps and save data to SharePoint List appeared first on Netwoven.

]]>
https://netwoven.com/sharepoint-custom-development/how-to-create-repeating-section-in-powerapps-and-save-data-to-sharepoint-list/feed/ 13
Creating SSRS Report for Dynamics 365 Online and Model Driven Power Apps https://netwoven.com/microsoft-power-platform/creating-ssrs-report-for-dynamics-365-online-and-model-driven-powerapps/ https://netwoven.com/microsoft-power-platform/creating-ssrs-report-for-dynamics-365-online-and-model-driven-powerapps/#comments Thu, 09 Jul 2020 19:25:16 +0000 https://www.netwoven.com/?p=34562 Microsoft Dynamics 365 online and Model Driven PowerApps offers several advanced reporting options. Advanced reports are often necessary when business requirements demand complex calculations, returning multiple data sets, grouping large… Continue reading Creating SSRS Report for Dynamics 365 Online and Model Driven Power Apps

The post Creating SSRS Report for Dynamics 365 Online and Model Driven Power Apps appeared first on Netwoven.

]]>
Microsoft Dynamics 365 online and Model Driven PowerApps offers several advanced reporting options. Advanced reports are often necessary when business requirements demand complex calculations, returning multiple data sets, grouping large sets of data based on rules, and retrieving data from different data sources.  Before creating an advanced report using SSRS, you may also consider using Advanced Find, Dashboards and Charts, or the Report Wizard in Model Driven PowerApps/D365 Online.

In my experience, the out of the box reports offered by Dynamics 365 are not often used and in most cases, there is a need for custom reports. In such a situation, SQL Server Reporting Service reports offer much flexibilities as compared to Dynamics 365 Report wizard and creating SSRS reports does not warrant any particular development skill.

Watch Video: Microsoft Dynamics 365 – Reporting

In this article we are going to show that with some basic knowledge you can create a report using SSRS (SQL Server Reporting Services) for Model Driven PowerApps very quickly.

Pre-Requisites:

Optional Requisites

  • XrmToolBox to connect to the Common Data Service for Apps (CDS)
  • FetchXML Builder Plugin for XrmToolBox, to create and execute queries against CDS and Dynamics 365/CRM data.

Once we have downloaded and installed above required, we are ready to start Creating SSRS Report for Dynamics 365 Online/Model Driven PowerApps.

SSRS Reports Using Fetch XML in Dynamics 365

  • Open Visual Studio 2015 and start a New Project. Select Templates > Business Intelligence > Report Server Project
  • Specify project Name and Solution Name. Click Ok.
  • Now expand Solution Explorer > Right Click on Reports Folder > Add > New Item From the Add new Item Window Select Report > Provide a Name > Click on Add
  • Once the report is added you should see the following screen.
Creating SSRS Report for Dynamics 365 Online and Model Driven Power Apps

Adding Parameters

  • You can add parameters to a report to define a report’s individual parameters, pass information through a query, or provide access to user settings, such as CRM_CurrencySymbol and CRM_CurrencyPositivePattern parameters.
  • From Report Data Toolbar expand Parameters and right click to add parameters.
Hidden parameters
  • The Report Designer in Visual Studio has built-in support for hidden parameters. In addition, you can hide parameters by adding a CRM_ prefix to the parameter name in a report. By default, the parameters with a CRM_ prefix are hidden when the report is published. When you run the report, you aren’t prompted to enter parameter values for the hidden parameters.
Special parameters

The following table shows the special hidden parameters that you can use in your reports.

ParameterDescription
CRM_FilterTextContains the value of the filter text that a report user interactively creates in the Report Viewer when the user runs a report. The parameter is in a filter summary text box that is located in the report header. The initial value is set to the default filter.
CRM_URLSet to the URL of the app. Use this parameter when drilling through.
CRM_Filtered[Entity]Use in a query expression to enable data pre-filtering (through Advanced Find). You should replace [Entity] with your Actual entity name for which the report is being developed

You must create all parameters in a report before you can refer to them. The values of these special parameters are filled in by Customer Engagement (on-premises) when you run the report.

Also read : Dynamics 365 Integration Service

Adding Data Source to The Report

  • From Report Data Toolbar expands Data Sources and right-click to add new data sources. Specify the following at Data Source Properties window.
    • Provide a proper Name and select Embedded Connections
    • Select the Type as Microsoft Dynamics 365 Fetch
    • In the connection, string section put your D365 URL
    • From the left navigation click on Credentials and Use your Username and Password or Select Prompt for credentials if you don’t want to store the credentials.
    • Click OK

Adding Data Set to The Report

  • From Report Data Toolbar expand Datasets and right click to add new data set.
  • Specify Name and select the Data source created on previous step.
  • Select the Query type as Text.
  • Use FetchXML Builder to create Fetch XML and paste the same here in the Query text.
  • Apply prefilter and filters as per requirement.
  • Make sure to remove page size attribute from fetch XML if present as these is not supported.

Designing the report

  • Once all the above steps are completed, we are ready to design the report.
Creating SSRS Report for Dynamics 365 Online and Model Driven Power Apps
  • Use the Toolbox and the Dataset to create the report as per your requirement.

Build and Publish the Report

Build the RDL file
  • In the Solution Explorer, right-click on the Project and click Properties.
  • In the Solution Explorer, right-click on the Project and click Build or Rebuild.
  • In the Solution Explorer, right-click on the Solution and click Open Folder in File Explorer.
  • You will find the RDL file placed in the ..\[Project Folder]\bin\Debug folder.
Import the RDL file in Dynamics 365:
  • In Dynamics 365, open the Reports section and click New.
  • In the New Reports form.
  • Select Report Type as Existing File.
  • Click Choose File to select the RDL file.
  • Specify Name.
  • Select Display In as per your requirement.
  • Click Save and Close, this will import the report in the Available Report List, from where you can now run the report.

Open the Report

  • Go to the entity form for which you have chosen the report.
  • Click on the 3 dots symbol if Run Report button is not available in ribbon of the form.
  • In Run Report section you should be able to view the report.
  • Click on the report to run it.

The goal of this article was to demonstrate how quickly you can leverage SSRS reporting capability and apply it to your Dynamics 365 information set. It is really onto you to experiment and explore how you can exploit all the features of SSRS reports and we may talk about that in some later post. Meanwhile, enjoy creating reports and stay in touch if you need any further assistance.

The post Creating SSRS Report for Dynamics 365 Online and Model Driven Power Apps appeared first on Netwoven.

]]>
https://netwoven.com/microsoft-power-platform/creating-ssrs-report-for-dynamics-365-online-and-model-driven-powerapps/feed/ 6
Changing User Permissions of a SharePoint Site from SPFx Web Part using Power Automate https://netwoven.com/sharepoint-custom-development/changing-user-permissions-of-a-sharepoint-site-from-spfx-web-part-using-power-automate/ https://netwoven.com/sharepoint-custom-development/changing-user-permissions-of-a-sharepoint-site-from-spfx-web-part-using-power-automate/#respond Thu, 07 May 2020 01:49:43 +0000 https://www.netwoven.com/?p=30856 In one of my previous blogs, I have discussed, how we can get the group information of current logged in user and modify the user view in an SPFx application… Continue reading Changing User Permissions of a SharePoint Site from SPFx Web Part using Power Automate

The post Changing User Permissions of a SharePoint Site from SPFx Web Part using Power Automate appeared first on Netwoven.

]]>
In one of my previous blogs, I have discussed, how we can get the group information of current logged in user and modify the user view in an SPFx application depending on his group’s permission level. Here in this blog, I will show how we can change the permission level of any user by changing his group from an SPFx application.

But first, let us have a quick intro to SharePoint default groups and their permission levels.

SharePoint Default Groups:

SharePoint sites by-default have several groups like site visitor, site member, site owner, etc. with specific permission levels like read only, contribute, full access, etc. Users belong to the same group have the same level of permission. For example, all users from the site visitor group have read only permission or all users from the site member group have contributed permission or all users from the site owner group have full access.

Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

Permission levels:

Permission levels define the area of control over the SharePoint site collection. It is self-explanatory that members have more access than visitors or owners have more access than members. That means user belong to site visitor group cannot contribute or members cannot change other user’s permission.

Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

Sometimes we need to change the permission level of any user. For example, if a user from a visitor group (having read only permission) wants to add something, then we need to give him edit permission. To achieve this, that user needs to be added to the Site Members group as Site Members have edit permission level.

But we should keep this in mind that only users from Site Owners group or Site Administrators can change the permissions of site users.

Let’s have a quick look on how this can be done manually from site permission settings which are out of the box:

Change Permission Manually:

Step 1: Go to site settings and select site permissions.
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate
Step 2: Select required site group and click new button.
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate
Step 3: Provide user email and click share button.
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

User can also be deleted from the user’s list of any group at any time by the admin.

Now, without delaying further let us jump to the point, how to change the permission from an SPFx application.

Change permission level of a user in SharePoint site from SPFx webpart

We can change permission level of users by adding them to specific SharePoint group or removing them from a specific SharePoint group from SPFx webpart, like on click of a button in a SPFx webpart. All we need are as follows:

  • 1.   A user account having “Full Control” permission level.
  • 2.   A Power Automate (MS Flow) to be created using that account to add user to a SharePoint group.
  • 3.   A Power Automate (MS Flow) to be created using that account to remove user from a SharePoint group.
  • 4.   A SPFx webpart from where the flows will be triggered.
SPFx webpart

First, let us see what needs to be done in SPFx webpart. Following is a webpart for demo.

Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

Here we have a text field to set requested site address and another text field to set requester’s email. A dropdown, having 3 options- AssociatedVisitorGroup, AssociatedMemberGroup, and AssociatedOwnerGroup, to select the user group to which the user needs to be added or removed from.

Get access button will call a flow called “Grant Access Flow”, to add a user to the selected group of the requested site and remove access button will call a flow called “Revoke Access Flow” to remove the user from the selected group of the requested site.

The bottom button “Go to Site” to open the requested site.

Following are the permission levels of the above-mentioned groups-

AssociatedVisitorGroup – Read Access

AssociatedMemberGroup – Contribute Access (Read& Write)

AssociatedOwnerGroup – Full Control

Output

Initially when then user does not have any permission to the site, will see the following screen when open the site.

Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

After adding the user to the selected group, the user can open the site and will be able to see them in the selected group in permission settings. For example, if the user is added to visitor group following can be visible in site permission setting-

Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate
Following is the function to run a flow with HTTP POST URL of the flow and metadata in JSON string format-
function runFlow(postUrl: string, body: string): Promise<HttpClientResponse> {
    const requestHeaders: Headers = new Headers();
    requestHeaders.append("Content-type", "application/json");
    const httpClientOptions: IHttpClientOptions = {
      body: body,
      headers: requestHeaders,
    };
    return props.context.httpClient
      .post(postUrl, HttpClient.configurations.v1, httpClientOptions)
      .then(
        (response: Response): Promise<HttpClientResponse> => {
          return response.json();
        }
      )
      .catch((e) => {
        console.log(e);
      });
  }
Following function should be called on click event of Get Access button-
const runGrantPermissionFlow = async (group) => {
    const body: string = JSON.stringify({
      userEmail: userEmail,
      siteAddress: siteAddress,
      group: group,
    });
    updateIsLoading(true);
    try {
      let response = await runFlow(ADD_USER_FLOW, body);
      updateIsLoading(false);
      if (response["success"] == "true") {
        alert("User added susseccfully to " + group + " of " + siteAddress);
      }
    } catch (e) {
      updateIsLoading(false);
      alert("error:" + e);
    }
  };
Following function should be called on click event of Remove Access button-
const runRevokePermissionFlow = async (group) => {
    const body: string = JSON.stringify({
      userEmail: userEmail,
      siteAddress: siteAddress,
      group: group,
    });
    updateIsLoading(true);
    try {
      let response = await runFlow(REMOVE_USER_FLOW, body);
      updateIsLoading(false);
      if (response["success"] == "true") {
        alert("User removed susseccfully from " + group + " of " + siteAddress);
      }
    } catch (e) {
      updateIsLoading(false);
      alert("error:" + e);
    }
  };
Dropdown should have following options –
const option = [
    {
      text: "AssociatedVisitorGroup",
      key: "AssociatedVisitorGroup",
    },
    {
      text: "AssociatedMemberGroup",
      key: "AssociatedMemberGroup",
    },
    { text: "AssociatedOwnerGroup", key: "AssociatedOwnerGroup" },
  ];
On click event of “Go to Site” button write the following-
onClick={() => {
                  window.open(siteAddress, "_blank");
                }}
Power Automates (MS Flows):

Following are the steps of the flows. Most of the steps are the same other than the second last step which adds or removes the user. These flows can be merged into one single flow by receiving an action type from SPFx application. But for ease of understanding, I have kept them separate.

Grant Access Flow:
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate
Revoke Access Flow:
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate
Step 1: When a HTTP request is received:

This the entry point of the flow. This HTTP post URL should be called from the SPFx application.

Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

Request Body JSON Schema

{
    "type": "object",
    "properties": {
        "userEmail": {
            "type": "string"
        },
        "siteAddress": {
            "type": "string"
        },
        "group": {
            "type": "string"
        }
    }
}
Step 2: Format login name using userEmail
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

Value will be as follows:

concat('i:0#.f|membership|',triggerBody()?['userEmail'])
Step 3: Get Group Id
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate
Step 4: Parse JSON to extract group id
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate
{
    "type": "object",
    "properties": {
        "d": {
            "type": "object",
            "properties": {
                "__metadata": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string"
                        },
                        "uri": {
                            "type": "string"
                        },
                        "type": {
                            "type": "string"
                        }
                    }
                },
                "Id": {
                    "type": "integer"
                }
            }
        }
    }
}
Step 5:

Add User: (For grant access flow)

Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

Remove User: (For revoke access flow)

Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate
Step 6: Response
Change permissions of a User of a SharePoint Site from SPFx Webpart using Power Automate

This was a quite long page, but hopefully by the end the idea of changing permission of a user is cleared to you. You have learned both how to add user to a SharePoint group and how to remove user from a SharePoint group from site permission settings and as well as from a SPFx webpart. Additionally learned how to call a power automate from SPFx webpart. Key point is, you need to have a user account with “Full Control” permission to create the flow, which is changing the permission on behalf of the user who is using the SPFx webpart.

Hope you have liked it.

At this point you can check the trick to modify user view in a SPFx webpart depending on his permission from this blog post.

The post Changing User Permissions of a SharePoint Site from SPFx Web Part using Power Automate appeared first on Netwoven.

]]>
https://netwoven.com/sharepoint-custom-development/changing-user-permissions-of-a-sharepoint-site-from-spfx-web-part-using-power-automate/feed/ 0
Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control https://netwoven.com/sharepoint-custom-development/bulk-insert-data-into-a-sharepoint-list-from-powerapps-gallery-control/ https://netwoven.com/sharepoint-custom-development/bulk-insert-data-into-a-sharepoint-list-from-powerapps-gallery-control/#comments Tue, 25 Feb 2020 18:40:13 +0000 https://www.netwoven.com/?p=30305 Power Apps is an extremely handy tool for end-users to create their own apps quickly. Being so very simple it has its own catch points. Imagine that you have a… Continue reading Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control

The post Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control appeared first on Netwoven.

]]>
Power Apps is an extremely handy tool for end-users to create their own apps quickly. Being so very simple it has its own catch points. Imagine that you have a requirement for manipulating a collection of data as one set and bulk update it into a data store as opposed to a one on one form to data store mapping. How to do it is the preamble of this narrative.

This article demonstrates how to take in a set of data from some on-screen entries, keep them in a local store, manipulate it as a collection and finally bulk insert the data into a SharePoint list with help of Power Automate.

The gallery control enables the display of this data set as one within Power Apps.

Let us take a step by step journey to achieve this with the help of a sample use case. Consider a simple scenario of a typical cart application where certain products are to be put in a cart and simultaneously the cart items should be seen as and when the items are being added to it. Finally, the orders are to be placed. Take a look at the following screen.

Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control

There is a form to add items with quantity to the cart and a Gallery to display what is in the cart. The form will have a dropdown to select the Product name and an input field for quantity. Evidently, the “Add to Cart” button will add multiple items. In this case, the artifact implemented actually adds the items as a collection into a container in local memory first. That collection is posed as the data source of the gallery. The screen also has a button to place orders. A Power Automate flow will be forked from the “onSelect” event of the “Place Order” button. The flow will receive the collection of items from the power app and will insert all the data in a share point list.


How exactly it can be implemented remains the moot point. Just follow through.

Step 1:

  • Create a SharePoint list e.g. OrderDetailsList with two columns:
    • Column 1: Product, Type: Single line text.
    • Column 2: Quantity, Type: Number.
Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control

Step 2:

  • Create a Power App with 2 screens: Cart-View Screen and Order-View Screen.
  • Write the following to create a collection to store local data of the cart:
    • Control: Cart View screen
    • Event: on-visible
    • Action:
Clear(CartCollection)
  • Add a Dropdown control to select product and a Text Input control (set its format to Number) to enter quantity and a button to add selected item to cart.
  • Add a Gallery control and set the CartCollection as the items of the cart gallery.
  • Write the following to insert the selected product and it’s quantity into CartCollection:
    • Control: ‘Add to Cart’ button
    • Event: on-select
    • Action:
Collect(CartCollection,{Product:ProductDropdown.Selected, Quantity: Value(QuantityTextInput.Text)})
  • Write the following code to run a flow which will receive the cart collection in JSON format as parameter:
    • Control: : ‘Place Order’ button
    • Event: on-select
    • Action:
If(CountRows(CartCollection)>0,PlaceOrderFlow.Run(JSON( CartCollection, JSONFormat.IgnoreBinaryData) );Clear(CartCollection))

Step 3:

  • Create a Flow which gets triggered from the power app application.
Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control
  • The complete flow involves 4 steps and looks as follows:
Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control
  • The flow receives the items to be inserted from power apps in JSON format
Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control
  • Received JSON data should be parsed to get each item
Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control
  • Schema to parse the JSON is as follows:
{
    "type": "array",
    "items": {
       	 "type": "object",
       	 "properties": {
           	 	"Product": {
                		"type": "string"
           	 	},
           	 	"Quantity": {
                	"type": "integer"
            		}
       	 },
        	"required": [
            		"Product",
            		"Quantity"
        	]
    }
}
  • Next, insert each item into the share point list OrderDetailsList as follows-
Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control

Step 4:

Now back to Power Apps Cart screen. Add a button to navigate to second screen

  • Control: : ‘View Orders’
  • Event: on-select
  • Action:
Navigate(OrdersScreen,ScreenTransition.Fade) Navigate(OrdersScreen,ScreenTransition.Fade)

Voila, you are done with.


Power Apps surely allows you to create or modify a single record pretty directly. However, iterating directly onto the permanent data store could prove to be expensive in terms of time and effort. This is a short and sweet way to introduce a little tweak in the middle such that we can create a dataset in local memory, modify it as required and save the dataset in permanent storage together when the dataset is finalized. The inbuilt Microsoft components e.g. Power Apps, Power Automate and SharePoint come together in unison to support an extensible framework. Once the working is understood, you may use this trick to build a more complex real-life application. Go for it if you are Power-hungry!

The post Bulk Insert Data Into A SharePoint List from Power Apps Gallery Control appeared first on Netwoven.

]]>
https://netwoven.com/sharepoint-custom-development/bulk-insert-data-into-a-sharepoint-list-from-powerapps-gallery-control/feed/ 6
Power Apps: A How-To Guide on Creating a Low-Code Business App https://netwoven.com/microsoft-power-platform/powerapps-a-how-to-guide-on-creating-a-low-code-business-app/ https://netwoven.com/microsoft-power-platform/powerapps-a-how-to-guide-on-creating-a-low-code-business-app/#respond Wed, 04 Sep 2019 19:41:49 +0000 https://www.netwoven.com/?p=29262 Technology in the modern day has two important premises: speed and convenience.  And as a business, delivering on both these qualities is highly valued. Yet, the apps we ourselves use… Continue reading Power Apps: A How-To Guide on Creating a Low-Code Business App

The post Power Apps: A How-To Guide on Creating a Low-Code Business App appeared first on Netwoven.

]]>
Technology in the modern day has two important premises: speed and convenience.  And as a business, delivering on both these qualities is highly valued. Yet, the apps we ourselves use to conduct business often lack these qualities, making it more difficult and slower for teams and employees to create, collaborate, and share their work.

Microsoft’s PowerApps changes things. As a first-year college student, my coding levels are basic, and creating an app is something that felt out of reach for someone without the expertise in app development. However, for the past few weeks, I have been working with PowerApps and successfully created a simple business app with minimal coding. PowerApps is a low-code tool with possibly any functionality that a developer could need. Whether you are an expert or have absolutely no background knowledge on app development, you can create a functional app in a short amount of time; increasing employee productivity and self-empowerment, as well as saving your business’ time, resources, and money.

Here, I will go over the foundation steps and functionalities within PowerApps to get started on creating an immersive and seamless app.

Before you begin creating the app, you must decide if you want to start with a Canvas-Based app or a Model- Driven app. Canvas-Based apps start with the user experience, giving you the control to customize and design the interface and import necessary data. Model-Driven apps start with the data model or business process, in which PowerApps will generate a fully responsive application for you. Additionally, as you can see in the picture, PowerApps gives you the option of phone or tablet mode (as well as web), so there is no coding necessary to make sure it is formatted for the right platform–this function is integrated in the program itself.

Power Apps: A How-To Guide on Creating a Low-Code Business App

Alternatively, many basic business apps are already available as a template, so all you would need to do is connect your data, and potentially tweak the interface design to your liking, and you have a ready to go app.

Power Apps: A How-To Guide on Creating a Low-Code Business App

Above are some of the template options available for the tablet format. 

Once you choose your desired format, you are ready to begin creating your app.

Here is the home page of the demo app I created, using a Canvas-based format so that I could fully customize the user experience of the application.

Power Apps: A How-To Guide on Creating a Low-Code Business App

PowerApps has a self-explanatory design, so most of its functionalities are easy to find and use. The most important section to understand is the Tree View. This is where you can switch back and forth between different screens, banners, labels, and essentially anything you choose to insert into the app. It gives you the visibility to select anything to change and edit. The editing itself is done either on the screen itself, or on the right bar. As you can see above, since I have selected the screen itself, the right bar gives me options under Properties. If you want to change something inside the screen specifically, you would locate it on Tree View and then work with those properties. Labels, banners, media, charts, icons, and buttons can all be added through the Insert button. Using the New Screen button allows you to add a screen in any of the given formats, which includes calendar, list, scrollable and more.

In order to add data, you can connect PowerApps to a selection of 100’s of data sources, including Office 365, OneDrive, SharePoint, Excel, and more.

Power Apps: A How-To Guide on Creating a Low-Code Business App

I recommend using SharePoint as a main data source if you want to implement basic features (lists, tasks, documents, notes, contacts, etc.) because it is easy to connect and makes it simpler to create a site with all the necessary lists and supporting information within the lists. However, any data source that you are comfortable with will work just fine.

For more comfortable coders and PowerApps users, Microsoft Flow, which is part of the Power Platform, helps create workflows and business logic for seamless app usage. Power BI is another part of the Power Platform, which is a Microsoft tool that can turn various sources of data into visually appealing, interactive insights that can also be implemented into a PowerApps.  Both programs can be applied to further enhance an application or webpage.

For guided tutorials on how to use and implement Flow, SharePoint, and Power BI on PowerApps, check out the Microsoft PowerApps YouTube page.

As you can see, PowerApps gives you the tools and ease to create a basic, functional app in as little as a day, so that your business is the most productive and efficient it can be. Convenience and speed are guaranteed with PowerApps, so get started on it today.

The post Power Apps: A How-To Guide on Creating a Low-Code Business App appeared first on Netwoven.

]]>
https://netwoven.com/microsoft-power-platform/powerapps-a-how-to-guide-on-creating-a-low-code-business-app/feed/ 0