Converting SharePoint List Form to a PowerApp - sharepoint

I'm looking for input on the best approach to converting a SharePoint list form to a PowerApp. The list currently has the following field type:
15 text fields
5 choice fields
5 multi-select choice fields
3 multi-line text fields (not rich text)
There are 20,000+ items in the list, with 1k+ new items added every month.
When creating the PowerApp, should each choice field be converted to a new list? I'm wanting to make the fields as dynamic as possible and avoid hard coded values.
I'm not opposed to moving all of the list items to a CDS entity if it helps.

You can use PowerApps to customize the SharePoint list form. There is a command in the command bar of a modern list to do that
If you don't want to use Choice fields, you can use simple text fields and in PowerApps connect to SharePoint lists as the source of the dropdown options. Then you can let the end users maintain the values for the dropdowns easily.
With this approach, the SharePoint list maintains all other functionality, i.e. you can use list views and embed list view web parts in SharePoint pages. A customized form will not work on a mobile device, though.
You can also build a stand-alone PowerApp that stores items in the SharePoint list. This is independent of the SharePoint list form customization. Such an app could be used on a mobile device, but there are limitations around the number of list items that the app can pull from the SharePoint server at any one time. It may not be suitable for big lists.
PowerApps is easy to learn and there are lots of resources just a web search away.

Related

Auto generating unique ID in Power apps and Microsoft Forms

I am tasked in developing a form which is going to record and store data into a SharePoint list (Office 365 online SharePoint) So far I have been looking into two different methods I am not sure if they are suitable given the requirements of the work scope. The requirement is that each form has to be assigned to a unique ID/serial number and the data in the form has to be passed to a SharePoint list.
The first method that I have looked at is using Microsoft Forms to be the online form to collect the data and Power Automate to get the data and put it into a SharePoint list. The problem is I do not know if there is a way to assign a unique ID on the form itself before submitting the form. Is there a way or method where I can autogenerate a unique ID/serial number on a form before submitting it ?
I am also looking at using PowerApps to create a form which will be linked to the SharePoint list. Is there a way to autogenerate a unique ID/serial number and prepopulate it on the form?
The most flexible, customizable solution would be PowerApps
PowerApps will connect directly to Sharepoint as a data source. There is most definitely a way to autogenerate a unique ID/serial number in PowerApps. Look into the GUID() function.
Some great use cases for Microsoft Forms include:
External users (those outside your Active Directory tenant) need to fill in data
The form is dead simple (few questions, minimal logic, etc.)
Each Microsoft Form submitted also has an ID (Response ID)...
But it is not suitable as a GUID/serial number. You could add one in Power Automate, using the guid() expression before creating the record in Sharepoint:
The entire workflow ends up looking like this:

Infopath Form to submit data to two sharepoint lists

Novice in Sharepoint and looking for some advise.
we are trying to setup a infopath form with the below fields.
ReqID (Autogenerated with a workflow based on ID like Req-1 etc.),
Description,
User,
Date,
Testing,
Tester,
Date
when the user submits the form, we would like to save the information to two separate lists on sharepoint like...
List A - ReqID, Description, User, Date
List B - ReqID, Description, Testing, Tester, Date
Can someone please advise if this is doable without using any coding.
Thank you so much for all the help.
Several possible solutions:
One list:
If it is a matter of hiding clutter from selected users then: create one list for all of the fields and then create two views, one with your first set of columns and the other with the second set of columns. This has the advantage of no duplication of data, and if you need to update the Description column, it only has to be done in one place.
Two lists:
From the InfoPath form, post all of the fields to the first list and create a View that only displays what's needed for the "A" users. Create a workflow that adds a new item to list "B" with only the data needed.
Three lists:
From the InfoPath form, post all of the fields to a master list. Create a workflow that copies selected fields to List A and to List B. This has the advantage of the master list being an unchanged source of the original data for audit or tracking purposes.
Using Web Services
I believe InfoPath can call web services. This will be more like "coding", but you can write data directly to SharePoint lists using SharePoint's REST API.

Filtering a sharepoint list in infopath without Code

I am creating a browser enabled form and I would like to filter the results from a sharepoint list based on user input. if the user searches for the business unit "A" I would like a list of all locations that have a business unit of "A".
I have achieved this using code but the chaps that do the deployment want the from done without form code. can this be done and if so how?
I am using sharepoint 2007 and infopath 2007
my only real thought would be to create a web service that queries the SP list
I have looked to of solved the issue now.
I added a repeating section with controls on the form based on the data connection to the SP list. I then added conditional formatting on the repeating section to hide the control where business from data source does not equal search key word on the form.

Multiple copies of a Sharepoint list view

We have a Sharepoint website with a different page for each of our products and another page displaying a list of all our product release dates. You can change the view in this list so that only the release dates of a particular product are shown.
Is is possible to have a list view showing release dates of one product show up on the page dedicated to that product? We would like to have each product page show its own release dates, but if someone updates the master list, each individual product list should be updated as well.
You would want to use the dataview webpart to view a "master" list. You will be able to define a different filter for each webpart. With XSLT you are also able to completely customise the output of the HTML, but I prefer to use only one to avoid all the work.
A simple way to make the master list available on the product pages is to syncronize the content of the master list into a hidden list on the product pages, you could use a Event Receiver for this. This solution will require some custom code but it is pretty simple.

Mapping Infopath fields to Sharepoint columns

Any one has any idea how to map an infopath field to a sharepoint column of type choice? The infopath field is a repeating field, so the user can select multiple options, I want to be able to map those to the choice field in sharepoint. Any ideas?
update:
What I'm trying to do is the following. I have a choice column in sharepoint which allows user entered values. In infopath, I have a repeating field. I'm binding the field to a dropdownlist. The dropdownlist gets filled by a webservice. This dropdownlist is in a repeating section, so the user can choose to select from multiple dropdownlists. So lets say the user adds 2 dropdownlists, and selects an option from each dropdownlist. I want to be able to add those selections as choices in the sharepoint choice column.
SharePoint list is a flat structure, and because of that Infopath does not allow you map repeating sections to list columns.
You might wanna consider the following workaround:
Store Infopath form to one library
(along with non-repeating fields)
Use one of these custom activities to extract data from
repeating table and copy it to
another list
Create a custom data view or a web part to display these items (if
necessary)
This approach can be useful if you need to do some additional tasks with the repeating data.
When you are promoting fields within a repeated section into SharePoint columns, the options available are to promote the column as:
first (i.e. only the first selection is promoted)
last
count
merge (I believe this merges all the selected values together into a single entry)
screenshot http://img4.imageshack.us/img4/5539/repeatinggrouptr3.png
Is it not similar to Create a Repeating Cascading List from:
a Flat Data Source or
a Hierarchical Data Source ?
If it is, may be those two articles may give you some pointers.
Depends on the type of choice field it is.
If it is a Multiple Select (checkboxes) Choice field, you can set the field through the object model (from the sharepoint site) or through the web service, by using ";#" for each item that you want to check mark, where is the value which is listed by the checkbox. I don't remember what the option is for single choice only, but it is something of the same nature. If you are talking about lookup fields, it has to do with the index number of the field from the list you are looking it up from. Also, there is additional steps if the choice field allows users to input or specify their own options.

Resources