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].