Moving SharePoint Based Power Apps to Dataverse for Teams

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hey everyone, April here happy Wednesday. I hope you all have been enjoying the power fx in 60 seconds videos I've been putting out, but today I'm back at you with another full length video and this video, I want to talk about how we can start moving our SharePoint based power apps, applications into data verse for teams. Now, there are many reasons why you might want to move off from SharePoint based applications and power apps to utilizing the universe for teams I'll cover what some of those reasons might be and how it can actually physically move these SharePoint lists data into data verse for teams and even our applications in there, all that coming up right after this. So let's start by talking about why you might want to consider moving off of SharePoint as your data source for your power apps, into something like data verse for teams to help explain this better. I put together this table, walking through SharePoint data verse for teams and the full fledged version of Dataverse and some differences that we have between the three. One of the big distinguishing factors here is on the type of data that the three store with SharePoint, as we know, it's a great collaboration tool and we can use it to store files and collaborate on files and even tabular data with SharePoint list. The key was SharePoint though, is it's not a relational database and that's a distinguishing factor between it and date of birth for teams and Dataverse with those two options, you're getting relational data storage. And what that really means exactly is as the name implies, you're able to easily define relationships between different tables and your data. So if you had a table to store customer information and another table to store contacts for a customer, and you want to be able to associate those two, that's a native and easy to do in a relational database like data verse, your teams Dataverse and SQL server with SharePoint. There isn't a relational database. Now you can fake it with things like lookup columns, where you can create a quasi relationship, but it's not truly a relational database. Therefore it's not going to be optimized for things like that. The other thing we have to consider here is the client. Now with SharePoint, we have a variety of ways that we can actually access our data in SharePoint. So obviously if we're using the data and power app, that's one way we have the Microsoft list application. There's a SharePoint application for your mobile device. There's the desktop itself to get into the browser and access SharePoint. And we can even access a data with inside of teams and through custom cut with data verse or teams. However, the only way that we can access the applications and the data that we have behind that is within inside of Microsoft teams. So that could be one reason why you may or may not want to utilize data verse for in one way. It's great because if you're already using Microsoft teams for everything, and you want a holistic experience with all of your business data and your processes and applications in one central place, it's great for that. But if you want to use it beyond that scope, do universe or teams might not be the fit data verse. The full fledged version of the power of platforms, database and data model is available on a variety of clients as well. So we can leverage this and our power apps, canvas apps, which work both on mobile tablet and desktop inside a model driven applications, power apps, portals dynamics, 365. Also on Microsoft teams, we can embed the applications. We build that connect to Dataverse on Microsoft teams and through custom code. One of the other things we have to consider here is licensing. Now, one of the reasons why SharePoint is such a heavily utilized data source for PowerApps applications is because we get that included for free with our Microsoft 365 business licenses. When we get that, what we call seated version of the power platform included in that, which lets us access non-premium news sources, such as SharePoint, Excel, and all that. One of the great things about data verse for teams though, is we can also leverage that seated in 365 licenses, to be able to build applications inside of data verse for teams and take advantage of it's relational data storage. So we don't need any additional licensing here beyond what you're already using to build power apps based on SharePoint. And one of the great things about it though, is we get one extra thing that's really key when it comes in terms of connectors. So if you ever want to connect to data that is not currently available in one of the 400 plus data connectors out there, maybe it's a custom API that you have. We could create custom connectors for that, but those fall into premium licensing territory. So we have to pay for the associated licenses to use any of those custom connectors or premium connectors. Well, the universe for teams. So whatever, if you're hosting API APIs inside of Azure API management, we can use that connector and consume those services inside a date of birth for teams for free. So again yet, another reason why you might consider shifting from SharePoint today, diversity teams, if you need to consume data from another API that you can host on Azure API management, if you shift that to data verse for teams and you won't have to incur any additional licensing. And then of course, with data verse, that is the top premium tier. So you will need to pay for the power apps either per user or per application plan to be able to access the full fledge version of the universe. But with that, you get access to all other premium connectors. Now I talk licensing and at the same time, we have to talk about capacity because that's another important distinction. This is working it a little tricky because with SharePoint, we're kind of subject as far as sheer capacity to the SharePoint limits, which are pretty big. We can have up to 30 million rows going to share a point list and a lot and 25 terabytes of data per site collection. Now why that seems like a ton of data that we can physically have. The problem is when we're using that in context of power apps and power platform is that only so much of that data is realistically accessible and usable inside of PowerApps due to something called delegation. PowerApps tries to offload handling the data to the data source itself so that you're not doing a lot of heavy lifting inside of the client. That's better for performance. But with that, you have a few trade-offs meaning that we have these things called delegation limits, where depending on the actions you're trying to take, like maybe you filtering a list by the current date, if assigned to is not equal to me. Things like that, then we're restricted to only being able to query at a time 2000 rows of data and SharePoint has some of those delegation issues that we have to keep in mind about what we can realistically access in an application we're building with data verse or team's capacity. This is another thing that you want to keep in mind when considering to move to it. If the application you're building a solution, you're building, you don't expect to go over 1 million records per environment that you're hosting it in. And then data verse or teams is a good choice because we have that 1 million record limit and it's either 1 million records or two gigabytes per environment, whichever comes first. So we're subject to those limitations. And right now there's really no way to add any additional capacity. So you have to make sure the apps that you're building, if you want to use data, for sure teams are going to fall under those capacity metrics and what data versus the other thing we have to consider is API limits. We do have a limit and data verse or teams of 2000 API calls per user per day. And an API call would be if you're using data verse for teams and you're writing data back to your table and Dataverse, or you're reading data, things like that, those require API calls and go against that limit only per user per day capacity. So that's another consideration with capacity. How often is this going to be used? The application that you're building with the full fledged version of date of birth? The API capacity limit is similar with the 2000 API calls per day per user. However, we do have the ability to purchase additional capacity there and with the full version of Dataverse, we have no role limits and we can store four terabytes of data per environment. So that would be a reason right there where you would consider moving off of something like SharePoint data versus routines and to the full fledged universe is capacity alone. And this is another important distinction with data verse for teams. If you do host your applications there and say, you do grow out of it, you're starting to reach those capacity limits. There's an easy path to transition your applications from date of birth for teams into Dataverse. And finally, we got to talk about security. Now let's SharePoint. This is often one of the things that left a bit to be desired. We were subject to the SharePoint security rules and limitations here. We could use the Microsoft 365 group and Azure active directory security, but we can't realistically do things like I don't level security with a data verse for teams. Security model obviously is very focused around the Microsoft team security models. So it respects the teams, owners, members, and guests permission model. And we also have the ability to share those applications. We built in the universe for teams with Azure active directory groups with diverse routines. We're still not going to have that very granular row level security though. We need to go to the full fledged version of data verse for that, because with the full fledged version, Dataverse we get the benefit of a very robust security model that lets us do custom security role handled business units, hierarchical and field level security. So hopefully this really explains where we might use each of these main data sources and some of the reasons why you might consider moving to Dataverse for teams. So let's take a look at an actual use case. Now say, you want to move this time off request application inside a data verse for teams right now, this is tied to SharePoint and it has a few different SharePoint lists that it uses for its data sources. Namely, this time off request list, it's going to be a two-step process to get this application into Dataverse for teams. First thing we'll need to do is take our underlying SharePoint list and move those into Dataverse or teams with something called data flows to do that. We need to go inside of teams and open up the power apps application for teams. If you don't have that installed already go to your left wheel, click the apps tab, do a search for power apps. You'll see the app there and click add instead of open here, when you open it you'll want to go to the build tab at the top. This is going to show you a list of all of your teams, which currently have power platform environments associated with them. So if you don't see it on the list here, that means there's not an environment and environment will be automatically created. When you try to add a data virtual teams, power app, or bot to that team. So select the team that you want to move the solution to. So I'll choose this super awesome team. And then you'll have a few tabs across here on the right hand side, built by this team is where all of the applications and the tables and things that you create will show data flows though, is where we want to go. If we want to import data into data verse for teams. So we can add a new data flow here. And you'll see, we have many different ways that we can import data from different systems like Excel, but we want to choose these SharePoint online list. We want to go back to SharePoint and copy the URL of our SharePoint site and pay site here in the site, URL field. I already have an existing connection here, but if you don't have one, you'll have to set up a new connection that just requires you signing in with your credentials and choosing an authentication and privacy option like private or organizational. Then you'll click next. Now on the left-hand side, we'll have all of the lists and libraries that are in that SharePoint site that you provided. So we'll just like this time off request list for now. And when we do that, it'll show us a live preview of all of the data that's in there. So now we can click next and then we need to transform our data. Meaning we need to choose what columns we actually want to move over and make sure that their data types here match up to what we're expecting. So, first thing you want to do is go to choose columns and choose column skin. And I'm going to hide any of those unnecessary back in fields that we have in SharePoint, like this file, object, content type, and all of that. Now that we have up there, we can click next. And this is where we go and tell it what we want to do with this data. So I want to load this into a brand new data verse table. So I'm going to keep this default option selected, and then I'm going to keep the defaults for the table name and display name as well. Then I'll confirm that my source columns map to the right column type and we'll see what the destination column name is going to beat at the top. We can choose a unique primary name column. It can auto-generate one called Dame, or we can use one from our data source with this dropdown. So for example, I could reuse the title field for that. Now all we have to do is click publish and this will set up the data flow and behind the scenes, it will create that table structure inside of a data virtual teams table and import the associated data, depending on how much data you have. This could take up a little while. So I'm going to use the power of video editing and fast forward to once this is done. So now it looks like it's done. We see we have a published message and the refresh is done. So he should be able to go back to this built by this team tab and see a brand new table in here called time off request. Now, if we click in that, we can see the columns that were added inside of this table and verify that they all came across. Okay. And then we could click this at a data option to see if our data also got moved over and it looks like it did, is he all of those records that were in the SharePoint list here in our new table. So there's half the battle getting the data into Dataverse. Now, one thing I want to point out with these data flows is within Dataverse for teams. These are one way, this is how we can get data into the universe for temps. If we use the full fledge version of Dataverse, those data flows that we have in there can be used bi-directionally we can use the data flow, not only to pull data in a data verse, but also get data out of the universe into another system, like say Azure SQL. So one thing to keep in mind when we're talking about comparing the feature functionality, also with these data flows and data, first for teams, we can't automatically refresh them, but we can go in and manually refresh them. So for some reason, you've continued to use that SharePoint list and you've already moved it over here. You can actually go in and do another refresh to get the latest data. So now that we have that table moved over, how do we move an application that we've built in PowerApps canvas app as a standalone application into data verse for tamps? Well, when we're here at the power apps application and the built by this team tab, you should see an option at the bottom for see all. And if we click that we're taken to a different screen where we have some more options here. One of the options that you'll notice on this screen in the ribbon is an import button. This actually allows us to import a solution into data verse for tips. So if we go back to make up powerapps.com and then we need to go to the solutions tab and create a new solution, if the app that you want to move over, isn't already inside one. So our kind of new solution called time-off and click create, and then we'll want to go and add in that canvas application into the solution. So I'll click into that new time off solution, choose, add existing. So like app and then canvas up. Then we'll want to go to the outside solutions option if it isn't inside the solution already. And we'll select the app here, which is called time away and click add. Now that that's there, we can choose the published customizations. Once that's done, you'll see a success message here. Now we can choose the export option to take this solution in export as a managed or unmanaged. We're just moving to canvas app. So we're going to choose the manage option and click export. And this will give us a zip file that we can then import into data verse for temps. Now we can go back into teams, make sure we have that import button, select it, click browse, and choose our new managed solution that we exported. Click next. You see, it's showing the canvas application as part of the solution there. And now all we have to do is click import. So this is going to bring everything over. So one of the things about Dataverse or teams to point out as well is while it gives you the ability to use Dataverse as your data storage. Since this application I have is using SharePoint, which is standard features. This app will work just fine. When I imported in here and did a virtual teams using SharePoint data. So if I needed to mix and match and still keep some of this data in SharePoint for whatever reason, but then some of it in Dataverse, we can do that. All right. So that has finished importing. Now let's round this out and let's see what that installed application looks like. Now you'll notice it doesn't show up here on the built by this team tab. That's because we didn't build this within data verse for teams. We installed it as a managed solution. So that means it's going to show up here in this installed apps tab in step. So we can see this solution. Now we only had one canvas app as part of that, but this could include some flows and chatbots and tables as well. Now, if we wants to see what's in the solution, we can go to see all. Then we'll see our canvas app here, and we can click on the three dots and edit. And that will actually open up this imported application and data verse for teams inside of the power apps editor, so that we can make any changes we need. So it looks great. Looks like everything moved over correctly. And if we look at the data tab, we can see all the data sources we have in there. Now we just carried over the SharePoint list, data sources, but we can mix in our data verse for teams table that we just added into here by clicking add data. And we'll see our time off request data verse for teams table that we can add in. So now all we have to do as part of this process then is to remap some of the functionality that I have in the app. So point to this new data verse for teams table instead of the SharePoint list. And then when we're done, all we have to do is publish the teams, click that button in the top, right? Confirm the name and the title and all that click next, select the channel where he wants to deploy it to. So I'll just put this in the general channel of our super awesome team, save and close. And now if we go into teams here and we just open up our super awesome team in the general channel, we'll see a new tab for time away, and that will open up our brand new imported power app with our D anniversary teams table included. Well, that's all that I have for you all today. Thanks so much for watching. Do me a favor, click that subscribe button in the thumbs up. You'll see. In the next video. [Inaudible].
Info
Channel: April Dunnam
Views: 14,407
Rating: undefined out of 5
Keywords: April Dunnam, powerapps, power apps, dataverse for teams, import dataverse for teams, dataverse for teams sharepoint online, import excel to dataverse for teams, import sql to dataverse for teams, microsoft dataverse for teams, project oakdale, project oakdale for teams, dataverse dataflows, SharePoint to Dataverse for Teams, powerapps import package, powerapps import solution, microsoft dataverse for teams with power apps, create powerapps in teams, powerapps teams
Id: BYPRaTPVBMA
Channel Id: undefined
Length: 18min 43sec (1123 seconds)
Published: Wed Aug 04 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.