šŸ‘ Build Your First Canvas Power Apps Tutorial [Hands-On Course]

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
going live hey my name is brian knight from pragmatic works and welcome to the session on building your first canvas application so thanks for joining us today stay tuned welcome back guys and thank you for joining a session on how to build your first canvas application my name is brian knight from pragmatic works and today we're going to go ahead and build a few applications today uh we're going to we're going to be a heavily hands-on day i do speak fast i recognize that but luckily this is youtube so you can pause me so a few things to note before we begin let me go my full my uh uh here we go uh again my name is brian knight my twitter handle is at brian knight not very creative there i'm a powerapps mvp now out of jacksonville florida and i'm the founder of pragmatic works we do training around the azure stack and we also do training uh for the power platform as well uh additionally i've authored about 16 books none of which people actually read but you know it's all good and we blog at pragmaticworks.com with the rest of my team and then we also do youtube pretty frequently on this channel right here all right so a little housekeeping today you'll find in the chat window or in the uh the chat window right now there is a a donation link to feeding america so we do this free free of charge for you guys uh we're they're the feeding america is trying to the network of 200 different food banks uh all local to you guys so uh if you feel generous today and uh and you like the content we'd love for love to give back a little bit to our community and uh we're trying to raise a you know a few hundred dollars a day to give back to uh the america to feed to feed the community uh if you're not american no worries try to try to find somewhere local to you as well uh but with with covid right now there's a lot of people that are really struggling and want to help out the best we can all right additionally we have a last bit of housekeeping is we have a 50 on sale right now at pragmatic work you'll find that in the video description uh that will walk you through how to get that we have a whole bunch of powerapps bootcamps we'll cover later today as well as our on demand platform all right so let's begin guys uh today we are going to start uh we have a long three-hour session uh and again it's a very very hands-on session so if you choose to we would love to have you go ahead and drive with me now again i do speak fast sometimes so feel free to go ahead and pause the screen and kind of walk with with me and rewind and this is recorded of course it'll be on youtube for posterity's sake so i'm actually giving you access to my database so you can play along with me today as well matter of fact you're going to find the connections to my database in the video description as well as a whole bunch of coding examples we'll be using today as well with me today is matt peterson in the chat window and mitchell as well is what is uh manning the uh the uh uh the cameras right now um so thank you very much guys and mitchell thanks matt thank you for handling the chat today as well he'll be going and copying in all the code throughout the day uh so as i mentioned some code matt's kind enough to go ahead and copy that in the chat window as well all right so a little bit of a uh pieces before we begin uh we'll be using the free version of powerapps because you're using my uh database you'll be able to play along with me so that's that's gonna be an amazing uh hopefully time but before we begin i'd love to know i'm watching the chat window right now tell me how many power apps you've actually built of course zero is a completely fine answer it won't be zero after today so i'd love to go ahead and know how many how many of those you've actually built you're about 30 seconds behind me uh looks we have people from netherlands we have some denmark people we have people all around the world here joining us today so thank you guys for joining us so uh while you guys are typing that let's talk about the anatomy of powerapps so for powerapps the nice thing about it is a microsoft tool it's part of the power platform so the power platform gives you power bi power apps of course uh power automate as well as a whole a power virtual agent so it gives you a whole bunch of pieces here a lot of zeros awesome so a lot of people that are busy that must be the first application they've built uh i'm seeing mostly zeros a couple twos here also uh but mostly zero's awesome i'm so excited to be to be your first all right so powerapps uh is part of that power platform family and chances are you have actually uh have a license of it if you have an office 365 subscription so that that's one of the nice things about when you when you license office 365 it comes with the power apps for office 365. and what about the differences in licenses a little bit later also um we have some even from as far south as nicaragua that's amazing thank you guys all right so uh now because this application is is part of that let's talk about some anatomy of what we can do powerapps gives you the ability uh you install the powerapps app on your phone and when you install that app on your phone it gives you full access to all the applications that you built for your company so for example you might decide to uh build an app and you want to see it on a mac or a pc or an android or on an iphone in my case whatever the case may be when i build this app it gives me full access to the phone the pc the mac and i have one code to build it is a low code solution meaning that it doesn't take a developer to build this you could be an analyst you could be an accountant and you can build some basic applications matter of fact most people we train on power apps are not developers they're going to be your accountants your analysts your sales people your nurses those kind of folks that are all helping out and building applications so because i am using my phone for example let me let me actually bring my phone over here real quick so i'm going to go ahead and open up an application oh here we go there we go let me open this up real quick all right this is going to be my phone in a moment here let me go ahead and stream there we go all right so because i am using um powerapps all i had to do is install the powerapps app on my phone so i'm going to open that right there and after i install that oh let me go back back back and up here after i install that i have access to all the applications from my organization okay so i don't have to go and submit every single app to the itunes store and the google play store and all that but because i'm using this phone device all the stuff i get gives me access to this as well so for example i had the phones i have access to the phone's gps their camera their signature pad for example to scan bar codes i also get access nowadays to things like mixed reality so if i'd say explore this in mixed reality and i'll go ahead and say i'm getting a little parched already i need some coffee here i'm going to drop a coffee grinder here in and we can kind of look at this little 3d model the coffee grinder oh okay there's a 3d model there somewhere and i'll hit view model check out what happens this is actually my environment i'm talking to you guys on right now there we go there's a green screen there's mitchell over there say hi mitchell all right and then if i were to hit drop right there there's my coffee grinder i can go ahead and move it around here oh let me go move it around there we go and spinning around as soon as i lock it in click somewhere to lock it in you'll see i can kind of spin around this coffee grinder look at the back of it here as you can see but you spin around it look on top of it this is showing you what what power apps can do on the phone so everything your phone can do all the power of your phone can be brought to power apps also it doesn't have to be just a phone though it could also be things like your pc or your mac as well uh what's available is all based on the device you're on so let me go back over again all right so you build the code one time and it shows everywhere now one of the cool things about powerapps also is i can share these applications by just having your email address i just to make sure that you have a license to it for example so with just a few clicks you are now using my application as a consumer okay and this is the theme of all the power platform these apps can be integrated with the power bi can be integrated with other the rest of the power platform family they can also be shown in dynamics or in teams teams is a whole bunch of stuff you can do now in teams the whole goal of this is bring the app to where people are going to use it so if you have a heavily team shop put the app slap dab right there and and teams so people can use it there all right now we i use it a lot we noticed we had an application called our shout out application and the minute we put that in teams we saw a huge adoption uh increase in our app consumption at that point additionally there are if you are a developer you can extend power apps and make it more developer-centric you can build an application a piece one time a component one time and use it across your entire enterprise it is a wysiwyg environment meaning what you see is what you get so if you move something to a map control to the left it shows up on every device to the left and it has connectivity to 300 data sources now they're adding more all the time i think the number is closer to 320 right now matter of fact and if there's a component that our data source that you want to use that isn't there you can also add that as well so for example in our organization there's not a quickbooks data source yet so we it's a restful api though for quickbooks online so we use that to basically connect to our quickbooks environment so most of the components you can find out of the box i'll show you where you can find them in a moment here also however if it's not there you can also add it as well now some of these connectors by the way aren't just things like sql server and oracle and sharepoint there are also connectors for cloud systems like salesforce.com and things like facebook or twitter or an email connector that allows you to read emails and create calendar invites there's also one for texting people so these connectors aren't just for reading data they're also connectors for for pushing and reading data that way as well all right lastly this allows you to connect to things like the common data services which we'll talk about in a moment and you can build this logic with very little coding experience you don't have to be a coder to build power apps that's the whole goal here so i mentioned common data services which the new name is actually called dataverse so we'll all use it synonymously today because there are a lot of parallels between those two pieces there so dataverse when you think about when you want to build an app tomorrow the first thing you need to do is i need to have some place to actually store this data today you're going to use my database my sql server database in my cloud to actually build your application today however what about uh if you want to build a fresh new application in your own environment so you might stand up a sql server database you might stand up a sharepoint list perhaps there's a whole bunch of options you have one of those options is actually called the dataverse or common data services this is a whole built a whole set of pre-built tables for you and you can also extend those tables that allow you to have a whole bunch of plumbing it is basically a sql server database by the way guys so it gives you access to all the advantages of sql server including actually connecting to it in management studio or in visual studio and all that however it also gives you a lot of plumbing things like row level security things like doing um like who created the record when was it created i want to attach files all that plumbing is all built in to the dataverse so you don't have to go and build it a matter of fact there's also a whole bunch of pre-built tables so tables like contacts and companies are our account companies are accounts but those pieces are already there for you as well because every application has customers typically right so our contacts and it has users all that stuff is all there a question we're getting asked over and over again by the way is this session being recorded yep we're on youtube so again you can pause me you can replay me and this is being recorded for future posterity as well all right so where does powerapps squarely fit for this so for example this is good for those um powerapps is perfect use case for those line of business applications that are clouding your environment that you wish you would actually build that you don't have time to build so for example we have this application called our cms application this application is a terrible application when you're a junior developer at pragmatic works the first thing we do is we say welcome to the company here's your tax forms here's your onboarding package and here's a cms application we'll see you in two months this application has grown over the years to where it has an arm sticking out of its head it's got all these things kind of uh it's a terrible application i'll i'll be honest so but this is a core application to run pragmatic works it handles our commissions it handles our classes our order processing all that junk that was that was that made sense 13 years ago to build we were able to retrofit that and build that in power apps and completely transform it in about three to four days so ninety percent of the functionality we were able to replace in about four days and the last ten percent took us about two more weeks so it took us 13 years to build it and four days to basically rebuild it but now anybody can support it at pragmatic works nobody wanted to touch the cms it was a scary application now this power app is very very easy to uh it's very it's not fragile anymore right anybody can support it all the errors are being logged accordingly security is all handled and it works on your phone your tablet on your pc so our mac or whatever you have so that's the nice thing about powerapps that's where it squarely fits this is not going to replace the developer so if you're a net developer java developer whatever developer you are powerapps not a replacement for you powerapps is an augmentation for you just like you still need a data warehouse well there's but there's still power bi power bi makes you know building reports much easier but in many cases data warehouses still makes sense and in many cases your your coding is going to make sense and net also okay so we're going to be building a canvas application today and there are three types of applications you can build one is a canvas application and canvas applications allow you to connect to almost any data source you want you can mash that data together you can create code without having to create code it's super super simple to do you don't need a whole bunch of coding experience matter of fact the most code we're going to write today is maybe two or three lines of code you'll see that code in the description by the way uh additionally it works on a device so once you build it you're good to go you don't have to worry about is this going to work on an iphone properly or an android properly it just works now i mentioned it can connect to 300 data sources these sources are cloud sources or on-prem sources if you do have on-prem data just like power bi you can communicate with the on-prem data gateway to do that that gateway allows you to uh basically go into your on-prem environment and get data out of a sql server on-prem or a excel spreadsheet on-prem or whatever you might have a few things about that if you are doing an on-prem data source it is going to be slower because think about what's happening here you are taking data that might be on on-prem so you're going you're on-prem right now right and you're going to the cloud for powerapps then you're going to go drill back to on-prem then go from that on-prem server on-prem data gateway to the back-end server and then back again so that extra hop or two can slow you down so just a quick heads up on those on those pieces so let me get rid of that there excuse me there we go it's it's decided to just time out there that's okay all right so just a few uh pieces of what we're warning so i've seen in some cases a 50 version of azure for example uh 50 a month azure sql server database outperform a a 50 000 sql server on on-prem so just a quick you know few warnings on that piece it does work you do have almost feature complete free feature parity but on-prem data sources can slow things down so that's one of the biggest differences between a canvas app and the other two types of apps a canvas app allows you to connect to 300 sources now the other type of application is called a model driven application so let me kind of show you what these look like first of all i'm going to hop out real quick this is an example of the canvas app that we're going to build today this application here is a well checked application and by the end of the day your app will look something like this okay so i'll be able to search for a patient here like charlie all right okay ooh i mean it's connecting the date my sql server now let me actually search for somebody else here all right extra bonus points for who can tell me who this guy is right here matt peterson here who this guy is over here in the chat window all right or i also have uh for those old school people who is that person all right so this is our canvas application a few things this gives me i'm connecting to a sql server database these are all tables i'm pulling from this is pixel perfect kind of view of the of the data here i can go through and select somebody do a new assessment and it kind of walks me through doing assessment of richard bush in this case okay that's a canvas application when i open up powerapps there's also another type of application called a model driven app let me kind of scroll into this real quick and i'll find my model driven app oh there we go and there's all okay there we go i'm looking for my model there it is contract routing here we go this is an example of a model driven app now these are quite a bit different than the canvas app oh come on don't sign me out now that's just wrong all right it's a good idea to close my browser no it's not let me try that one more time there we go okay so with a canvas application i'll do my two form authentication here i apologize guys it has to look at my my ugly face real quick there you go and there we go all right so a model driven app and a portal app the other two types of applications require that you have common data services or dataverse so all the data you're looking at right here is in the dataverse now this is not pixel perfect i can build these model driven apps very very quickly but the biggest difference here is i start with the data model first i built a contract request table inside of dataverse i build a vendor table in dataverse and once i do that i can go and actually create a new record i have this whole option right here look at this option here these little whistle stops here where you can see to get me from this stage in the contract at this stage in the contract what am i missing right here i have a 60 million dollar contract let me go ahead and reduce that number and watch my bubbles here so i need a cfo approval and a cpo approval here if i make that a 500 contract and click outside i lost my approvals for those two people so those are some of the things you have you have this this called business process engines right here you also have the plumbing over here when i select this you can see a lot of the plumbing oh it actually got rid of it i hit this little plus button here you can see a lot of the plumbing right here for adding notes and attachments all that plumbing comes over for free by using dataverse with the small driven app here okay you have your tabs and all those kind of things and you also get nice business rules that if i say all right if i turn this to yes it says oh you also need to get a po of request for this now so it has those types of things in this as well this is a model driven application this requires a dataverse so no 300 connectors this time but it gives you a lot of plumbing a lot of stuff out of the box here you can even go through it i'm looking at a vendor for example like this guy oh this um a lot of commercial real estates and then go to real uh related and i could hop over there and see all right well what what type of request do i have for this person or uh what are my my i have a whole bunch of things i can hop out to basically look at so that's a mile driven app the last one is a portal application let me search for my portal that i built last night all right this is the pawnee school board ah all right brian let's see brian got some gary busey busy yep and joel that's a very fun man all right so here we go this is a portal application this is the third type of application that there is in the powerapps family the goal of the powerapp portal is to say all right i don't want to license every single person that's on the phone right now there's over over a thousand people right now watching this webinar i don't want a thousand of you guys right now to go have to go ahead and get a license of powerapps to use my application so a powerapp portal is another example of that so in this case what we can see is i'm going to go ahead and sign in so i'll put a quick sign in here that's fine i'll use azure id but i can also sign with linkedin with twitter with facebook i can actually sign up with my own account here as well this this application is like wordpress it is a website so in this case if i go to contract web form right now you'll see that it walks me through a wizard which is basically a model driven wizard to load to do a contract request here in this case i'm actually asking for covet assistance in this case so when i hit next every step along the way as i do this this wizard will say how far am i in the wizard and uh am i a resident okay so just a little mock-up i built last night all right who am i who's the applicant for this it's brian knight all right i am the tenant and because i'm gonna say i have i have i want utilities request here and i hit next it's going to ask for my utility bills now so that's one of the nice things about this this right here um i'm going to type my company upload my pictures i'm going to go back again though and check this out if i say i don't have utility bill and hit next it'll show me a different screen now it's asking for my id now and it jumped me through the hoops here and now it's asking for my id this is a portal application now portal applications have some really cool approaches to it a portal application allows you for example uh for the county that that mission i live in as well as matt uh we when when coveted first hit there was a lot of issues with um the government was trying to give money to people that needed assistance and for my county for example to get to for them to build an application to allow people to request access they were looking at two to three months to build that application out we built a powerapp portal and beta stage in a weekend and in production it was up in about two weeks so in one of the two weeks they were in production and able to accept requests for coveted relief so they didn't have the license everybody for power apps they simply license the capacity of how many people they thought they were going to have coming into the system so those are some of the things you can do oh i said max says hi thank you max for for shout out to max there as well uh so so portals can deliver a lot of people a lot of applications to a lot of people and you're only licensing the capacity so it's a hundred dollars for a hundred thousand views and then you pay based on how many people log in a day so that's kind of the knobs you turn in in powerapps portals now if you cross if you do a hundred thousand and ten views one month all of a sudden uh it's not that the server's gonna crash all of a sudden it's just gonna slow down they've scaled that server for a hundred thousand views or a hundred logins a day so if you exceed that it's not gonna break but it will give some issues okay so those are the three app types again we had the canvas app which we're doing the day a model driven app which we saw over here okay and then a portal app which you saw over here portals and malduran require common data services or cr dataverse where the canvas app that we'll be building today does not it can have 300 data sources including the data verse okay so let's go back to our slides again and kind of wrap up our slides here for the day and there we go all right so we mentioned it's cross-platform so even though you have a mac or even though i have a pc it doesn't matter all these apps will work cross-platform from day one and it has a whole bunch of governance built into this as well so if you go through and you want to see who logged into the app when they logged in and you want to find out uh what kind of errors are bubbling up in the environment you can easily do that with with uh with canvas applications or any any application in powerapps so you know who ran it when they ran it you can you can show and hide screens based on security all that capability is all built in so there's an admin center that your that your i.t administrator will use to lock down things it also has a whole bunch of developer-centric things where you can promote the application from environment to environment to environment so dev to qa to prod or brian's environment to dev to qa to prod additionally if you are a developer you can build a a custom component you can integrate that and share it with other people and then you can then you can deploy that application back and forth so lots of neat stuff you can do where you have one component that you can use across dozens if not hundreds of applications you can if you wanted to also be an isv an independent software vendor and build applications and distribute those applications that way as well so there's lots of capabilities the biggest caveats is to make sure people are licensed to use power apps for those model driven or canvas apps because i'm licensing it by person in those cases all right enough slides so for the rest of this uh two and a half hours or so we are going to jump into getting your hands super dirty we're going to build an application from the ground up on powerapps and we're going to build this application you saw a moment ago so we'll build it from step by step a few things a note you don't have to do this demo with me if you don't want so don't get frustrated if your environment does not work um the people in the chat are trying their hardest uh but there's a good chance that they may not be able to keep up with all the all the questions um there are over well over a thousand people on the phone right on the uh this this right now so the code that i'll be using the connection strings the code all that look in the uh description of this video uh down below me i guess in many cases and you may want to go through and copy and paste that into your notepad grab the whole description just go get it all and copy and paste that in notepad because you're going to want to get chunks of that code later okay matt is also matt peterson who's in the chat window is also going to be pasting the code as we use it into the chat window as well but again i do speak fast i recognize that we have we have an international audience right now so you are more than welcome to pause me and we're gonna have a 15-minute break about uh that about half past the top of the hour next hour so if if you uh uh that gives you a chance to kind of catch up during that break if you do happen to pause me all right so let's begin guys so that was my last slide let me go open up my browser here and a few things you're going to find in the description of this matt if you don't mind typing uh pasting in the cheat sheet link the first link you're going to find if you just google or bing apps cheat sheet okay the powerapps cheat sheet gives you a lot of the coding that we'll be using throughout today so first thing we'll see if i'll scroll down here's all the common code we we built this cheat sheet for you guys today to be able to kind of copy and paste and use later so down here some of the common expressions that we'll be using today so most of these will be using in this class today and we'll review the ones we aren't using a little bit later as we kind of go up here i'll kind of scroll opposite direction here the first one is uh the license explainer video so if you're curious about the licensing of powerapps uh that licensing it can be found right here uh we have a link to it as well uh there's also uh some color guides so as you're doing color uh you're trying to figure out what color matches my color if you're if you're if you're a little bit uh not a very ui guy like me i'm a ui guy if you're like me and you can't can't distinguish colors you know if your wife is constantly picking the colors and the paint and all that the color guide here is an awesome one for doing that let me show you what i mean this one is called color hex and what it does for you if i say all right i like this color what else matches it all right here we go as i scroll down we'll see the rgb colors we'll be using and then you'll also be able to see what colors match that color it go well and that shade that shade as well so what would be some good accent colors you can use and all that so this is a a great website for kind of uh poking around there next one are some slides from a similar session we do it's called app in a day additionally there is another beginner video that what you can that walks you through this my youtube playlist is right here that has about 80 videos on powerapps okay again this is the cheat sheet i'll paste into your chat window here as well just in case uh additionally there is a recording for a previous video we did for app in a day it's a full day class if you go here it's going to talk about you know registering and all that but about six classes you'll find here app in a day virtual agent day analytics in a day modern excel analyst today it is also dashboard a day all those classes are forever for free so even though it's having you register there's no credit card no kind of mess it's forever for free and that gives you 60 of the classes for six days or seven days excuse me that's the recordings right here lastly what i want you guys to do you'll find you know find in the uh the link right here you can go and click on the free community license right here and if you click on that again i'm going to put this in your cheat sheet also or in your uh your url here all right this is going to walk you through how do i create a trainer license a trainee license for powerapps it's going to give you a free powerapps license in your environment now the few things to note here the first thing to note is in many cases your company may prohibit you from doing this so when you click on this button that you're seeing right here create an individual environment this button may fail for about thirty percent of you guys and that's okay don't worry this is not required for today in any ways but i want to give you a little little present here uh today and a little kind of hidden hidden secret microsoft here is we can click on this it'll ask you what country you're in and your name all right there we go recognizes i'm signed in as my company and when i hit accept a few things are going to happen okay now the next step and matt might be pasting those uh the steps into the chat window also a few things are going to happen now the first thing is it's going to be start spinning up an environment for me inside of powerapps okay inside of my company so when i do that the first thing i do when i come to this screen right here which is make.powerapps.com i'm going to reload my browser and if it did work it might take about five minutes in some cases okay so just a word of warning it might not show up here but then come back later if it does work you'll be able to see it over here and it will say like brian knight's environment oh well somebody somebody's in zoom it's not working on that so you'll see brian knight's environment right here on the side okay you'll also see your company's environment an environment is essentially a collection of users of apps of power automate flows power virtual agents it's a collection of all that so what this environment basically gives you is a your own personal dev server inside of your company okay so again the steps word matt says in your chat window right now you'll refresh your browser after this and you might see your name environment okay so that's that's one of the hopefully that will work for you if it does not work don't worry it's not needed for today okay so what this the only restriction behind this environment right here by the way is you cannot share applications because this is brian knight's environment it's my personal environment uh you cannot share those those uh those apps out this is just for you only the other restriction is is something called data flows which are right here are going to be disabled also data flows give you the ability to import data into the data verse okay so that's turned off on purpose because they more likely don't want you to import things like privacy data inside of it or your company does not want that in other words so those kind of things are are some of the big gotchas there okay so a great question that we add up from the audience here about what is again why would i choose a cam we're doing canvas apps today but why would i choose those over a model driven app well if you are investing already inside of of dataverse then you'll find you can build model driven apps much faster in many cases with model different apps you start with a data model which is over here under tables by the way and then from there you build the application on top of it whether it be a canvas app or whether it be a model driven app you build that on top of that a canvas app might take you about three times longer to build but it gives you some really cool stuff like data agnostic you have pixel perfect kind of applications now this application you saw right here uh right here is is really easy for me to build i built this last night and for the tv in an hour so these these types of things uh the reason why i chose this in this case for this customer is it's a good back office application it forces them to go through a business process without me having to construct all that i can construct this in canvas but it'll take me a lot longer to do so if you're already investing in dataverse model driven apps might make sense if you don't care about that pixel perfect if you're trying to show lists and forms it's done works great if you want to get more uh detailed then a canvas app might make more sense so you'll see more about that as we get deeper into it also okay thank you mitch for calling that one out all right so we kind of touched a little bit on licensing a moment ago when we talked about the community license if you want to find out what kind of licensing you have at your company here's what you'll do you'll go to make dot powerapps.com you'll see it up top here i've got make dot powerapps.com up my browser right here now once you do that you'll go to the little gear box that you're seeing in the top right okay that resolution can't quite see that area there the little gearbox in the top right and then what if i could do it this way nope can't quite reach that area it's all right all right and then you'll hit plants so the gearbox in the top right and hit plants after you do that you'll see a list of the licenses that you personally have at your organization the license we just talked about was the community plan that community plan gives you a free license to do whatever you want to in powerapps including dataverse by the way including portals by the way however you cannot share any of those that is for your environment for learning power apps the other one you'll see is my dynamics license that i have right here this allows me to create unlimited applications inside of my dynamics environment so as long as dynamics is in that environment i can build as much as i want there then one that most of you guys are likely seeing is power apps for office 365. this license gives you the ability to create unlimited applications but you cannot use premium connections we'll talk about what a premium connection is first though so that premium connection you can find is going to be under data on it make.powerapps data and connections and when i go to data and connections i'm going to hit this new connection button right here and this is going to allow me to see what connections are premium and which ones are not so you'll see right here for example one of the big premium connections oh no sql server so the premium connections this cannot be used with the office 365 license okay now today though when we're building this class today you can use a premium connection because you're just doing it for yourself it's when you go to share those applications out it will give you some gripes at that point okay so if you don't have if you don't have a license of powerapps that will support that you can use it today with me it's no problem at all all right you'll also see by the way common data services requires a premium connection right there and there's some other ones like salesforce and those kind of things there are a lot of connections that do not require a premium connection uh so that leads the question is where in the heck should i put my data okay i have an office 365 license and i got to put my data somewhere i can't use sql server so what are my options all right so your up your best option for small data sets is likely going to be sharepoint okay the sharepoint license uh it's not a database keep in mind sharepoint is not a database that's a mantra we have to tell all of our students sharepoint is not a database sharepoint is not a database uh whatever all right we gotta store our data somewhere right so typically speaking if you have less than 5000 rows sharepoint might make sense because it does not require a premium license of power apps okay now you can go as many as 30 million records in a sharepoint database list a sharepoint list i don't use for a database there however if you um if it takes a long time to sorry if it uh if you have more if you have more than 5 000 rows some restrictions start if you have more than 20 000 rows more restrictions start and then things are locked down at that point so you can go well above 20 000 rows but your list start getting kind of kind of um we'll use a scooby-doo term a little hinky right they get a little nutty at that point so it is not meant for scalable data systems once you go into into the thousands of rows or hundreds of thousands of rows or are millions of rows sql server makes sense in most cases sql server is a cheap data source if you put that data in azure you're probably looking at uh the starting cost is like 15 a month for 250 gigs of data that's for storing the data now you also need a powerapps license to do that as well at that point okay but sharepoint does work above 5000 rows but it does give you some limitations as soon as you cross those limits i mentioned before okay so for large data sets common data services or sql server is probably your best bet in those two cases okay so that's where you'll need a license of powerapps back in that cheat sheet i had a link to the powerapps license if i go back to that cheat sheet one more time powerapps cheatsheets there we go and there it is all right the one of the first links at the bottom here is powerapps licensing here's where um the licensing comes in if i want to get a premium license you may you pay based on the capacity so it's either 10 per user a month per app or if i want to get unlimited apps for that user it's 40 this is retail price keep in mind and that retail price does change quite often they're actually experimenting with new prices right here where they if you have a lot of users you can get down to three dollars per app per user or twelve dollars instead of forty so right now so it's a little sale up top until june but there are some minimums on that if you scroll the bottom this is where it might make sense to do powerapps portals so i have a school system and i want to license every parent at my school system to use my applications to enroll students in after school programs i don't want to license every parent times ten dollars or even three dollars for that matter so instead i could actually license a powerapp portal for about 300 a month which is about what it costs to have a web server up right and then you basically license it based on how much skill you want to do okay uh so so this this right here you can license for one user and then it scales up to however many users you want up here this requires right now i think it's like 200 users to get the sale price you'll see it in a little little footnote right here it has all the descriptions of that okay uh question about can uh so can you for a good question here i see in the chat window about about the dataverse dataverse comes with powerapps also by the way and you can connect to it uh just like you do a sql server database so power bi can connect to it for real-time analytics and powerapps then can consume that same data so it's really really nice each environment that you have inside of your your company each of these environments you're seeing right here has its own dataverse database potentially you have zero or one database all right so great questions coming in thank you matt for doing your best to answer those all right so so with that now done let's go through and let's try building our first connection all right so to do this first connection i'm gonna go back to that make dot powerapps.com page and i'll put that in your chat window real quick there it is okay once you have that you're gonna wanna create the connection that we're gonna use for today that connection can be found under data and connections let me zoom a little closer so i'm going to go to data and connections okay and once i go to data and connections you'll see a list of connections that might be in your company now you if you're not seeing this as a few things that might break here some companies are going to prohibit you from using a sql server connection okay so you might find based on your environment they might prohibit you from doing that okay so that's one gotcha if it doesn't work no worries you didn't expect to be doing this with me today anyway so no worries at all okay but if it does work that's great let's see if it works together here all right so based on the environment they may have set some policies up to prohibit you it's called data loss prevention policies from doing this um additionally if you just created your own personal environment this screen might be a little slow at first also okay because it starts still spinning the environment up all right so i'm going to go to my environment that i want to be in so make sure you choose the right environment i'm in my mockup environment right now and i went to connections and i'm going to hit this under data and connections and hit new connection okay all right after i do that i'm going to select sql server matt would you mind pasting in the chat window the connection information that we're about to use here so i'm going to go ahead and use my sql server connection there we go now in your chat window matt is hopefully pasting in some information about creating this connection and i'm going to choose i'm going to follow the steps that's in your chat window you'll also find it in the description of this video so if matt's if either way it works out beautifully i'm going to go and select sql server authentication all right then i'll type in the name of the server you're going to use my server name right now which matt i'm going to go i see matt just pasted that in so i'm going to go ahead and use that thank you matt let's do pagmaticworks.database. now there's a little bit of you may want to go into notepad here all right so i'll just type it in pragmaticworks.data against in your chat window or it's also in the description of this video all right the database name is called demo the number one state mistake we see people make here is they forget to scroll down the username is demo user and the password is case sensitive it's uh demo that we have capital d user with a capital d uh oh sorry no sorry demo with a capital b d excuse me pw with each of those are capitalized and then one two three demo pw one two three again capital d and a capital pw in the number one two three again it's in your chat window i'm gonna hit create and it's going to create a new connection for me now this is where if your company prohibits you from using sql server it might have failed in that example so just a quick heads up it it might have given you grief around that so additionally it might if you have any kind of problems like that it might open matt is actually kind enough to paste that in thank you matt all right cool so the work around for that uh some questions people ask about they're locked out is you can use your own personal environment if you were able to create one if you were not you can go back to that community plan and create your own personal tenant also that's an option you have as well um that there's a few little things you can do like that to kind of play play around with matt also if you don't mind could you paste in the pva user as well uh that people can use to to get around any kind of issues as well so we have a user in my environment you can use uh matt's gonna paste that in for it in the chat window as well uh it may take a few minutes for him to attempt to paste that in so in your chat window this will only be active for the next two weeks so if you're watching this recording and it's not february of 2021 then that that that username password that he's pasting in for my environment will not work okay all right so hopefully that gives you a workaround though if you were not i see a lot of people connected though that's great awesome okay so cool so now we're ready to go ahead and build our first application we're gonna build two apps today one app we're gonna build is with the wizard now this wizard application allows you to create a an application very very quickly without having to do all the work so it's it'll create the basic screens to create read update and delete records for one table now you can add more tables later if you want to more sharepoint lists whatever you want to do that's one option that's the wizard option we'll be able to build that application out in no time all right the other option you can do is to build it from scratch and we're going to do that also today as well we'll have what we'll start that process before break as well but we're going to use the wizard to create a quick application in under five minutes so just so we can walk through the environment and see how things all interconnect okay so to do that i'm going to start by going back to about the home area again okay all right thank you matt for type for pasting in that username password that's mitch they're doing that thank you and once we do that again feel free to pause me i know i'm going uh some of you guys are trying to catch up and that's okay just pause me and you'll catch up when you can once we do that to build our first application from scratch which require almost no work at all uh if you were able to create the connection again first step make sure you're in the same environment that you created the connection in i'm at make.powerapps.com which we're going to go back to 100 million times a day then i'm going to hit this little this area here to start from scratch this is all the wizard based stuff there's also some templates in here which are great but they take more wiring up than you may care about okay so i'm going to go to this sql server right here this red icons i start from data hit the red icon it's then going to ask me what connection do i want to use well i have a connection that we just created a moment ago that begins with demo right here all right so there it is demo right there so that demo connection we're going to use there is is the connection we'll be using and that's the connection you just created okay so i'll select that demo connection demo pragmatic works dot demo database that window dot net and the table i want to communicate with is contract vendor okay so that's right that's right i apologize not contract vendor uh it's gonna be nursing facilities nursing facilities all right now this nursing facility this is this is gonna be a throwaway application so if you do not build this application no worries we're just gonna we're gonna build this for five minutes and then move on to the real highlight of the show building an app from scratch all right so we're going to use this nursing facility table in my demo connection and then i'll hit connect now this is going to create a phone-based application connects on your bottom right alright so matt has just shared my secret credentials all right these credentials that he just put in the chat window for those of you who cannot create my sql server connection okay and you cannot get any kind of work around in this case open an incognito window and you'll use my username password to sign into my environment at make.powerapps.com and matt if you don't mind the password i think is a test at word one i think i think that's the password confirm uh confirm that for me though if you don't mind uh so matt has pasted that in there for you and and just as you build these applications in my environment though just put your name in front of it so that way you don't interfere with somebody else's building in the same application okay so mata is pasting all that information in one more time all right so you can either use your own environment with my database credentials those passwords will not change so if you are using my credentials don't worry at all uh that you're good you can actually watch you can use this in two years from now and you'll still be able to use my database all right so here we go so this is a list of nursing facilities in our application that we're going to use today so first step we built that application in what 30 seconds basically right and uh pretty darn snazzy uh so the once we've done that we can go through and actually kind of play our application now this application is not perfect it's not what i want yet don't worry we're gonna fix it but let's start and preview our application first this designer is a web web designer first so everything we do is on the web so i'm going to hit the play button that you'll see in your top right area okay that play button allows you to preview the application and when i hit that play button there we go now we can see that there's some things that are a little off right now my facility name is bob's backyard okay i should see that a title instead of the the subtitle here so we want to fix that eventually also but what i can do uh is i can hit the little plus button oh by the way if you are using my environment uh the connection has already been created so you don't have to do the same steps over again to create to grade that all right so in my case though i hit this little plus button on the top right i can go and create a new one now the funnier the better guys now this is a public database it'll be so bpg13 but the funnier the facility you create the better prizes for this for the special prizes for the biggest uh the biggest fun biggest laugh we get today okay but this is the public database so don't go don't go too obscene okay so my my administrator name is gonna be chucky all right my description will be uh chucky's basement all right this is my nursing facility oh basement sorry can't spell today oh sorry uh it's amazing whatever and then my facility name will be chucky's basement okay cool and when i hit go there we go you'll notice that chucky's basement uh oh there it is right there chucky's basement's here now also as i do this i can hit refresh and i can see that oh there we go we're starting to see you guys entering data now as well so as i hit this little refresh button right here i'm seeing more and more people actually raphael just created one panama looks like hello raphael i've got a cancer treatment facility right here so you guys are starting to create these facilities right now there we go happy happy uh look we got some interesting uh keyboard ones there lay our dedicated larry the cable guy i like that one get her done all right very very good so you guys have some interesting ones but we're noticing that things are a little out of order right now so this is how we can kind of fix these things here oh i love this guys all right so to fix this we're going to start building our application a little bit tweaking it so the first tweak we can do is we can look at our our application and when i select this this is called a gallery on the right which is showing all the rows right here when i select my second or third row don't pick your first row but when i pick my second our third row which picks the entire gallery i'll notice that it has fields on the right this is the properties pane on the right i can hit this little properties pane on the right and hit edit fields and when i do that we can go through and specify well what do you want to show in the title well i'd prefer to show the facility name on the title so i can kind of scroll down pick the facility name for the the body i'll actually put the administrator name and i'll leave my description in the subtitle all right so you can do whatever you want to do that it's okay we're gonna throw this application away so it's okay as i make these changes look what's happening so we're starting to see your your smart alec responses bob's backyard okay there we go abraham's asylum all these things are starting to come in right now and you guys are awesome love it all right we got hundreds and hundreds and hundreds of new facilities awesome you guys are right there with me this is the best example because it shows me you guys are actually with me right now building your first application all right so this is a way you can kind of reorder things likewise you can do the same thing in the form so if i happen to look at my form here i'm gonna hit the play button i'm going to go to this alcatraz island for example pick anybody you want i'll hit this little pencil icon and if i want to reorder this which to make it more sense i'm going to hit the escape key to get out of preview mode okay that preview mode gets me in right here escape key gets you out or you hit little x to get out now if you want to reorder this this is a form to enter data and i can hit edit fields again so we did last time and this time if i want to put the facility name up top i'll just drag it drop it and now facility name is up top it's that simple all right so i'll hit the play button again to get out and then i'll hit the little x button to go back to the main screen and kind of look around it looks like you guys are doing pretty well here we have hundreds of new uh of new new guys here looks like okay so awesome job so now that we've done that our next step is we want to go through and kind of show the rest of the environment off all right so we showed you a few things this this right here by the way is a gallery we showed you how to preview the app already and we showed you the properties pane now additionally if you don't want to have to hit that preview button every single time go in go out go in go out you can actually hold down the alt key and click on these arrows and we can actually look at chicago bearer sad face and go back and go back and forth and cut while i'm holding down the alt key we can kind of look around and see and interact with the application okay so that's a way of kind of quickly going into the application i'm laughing at some of these some of these ones i'm seeing here um anyways i love it guys you guys you guys stayed pg-13 and very proud of you guys thank you for thank for keeping it uh keeping it keeping a little bit more pg-13 all right so additionally that uh that is that's how we can kind of interact with the gallery the other rule here is this gallery is one of the few ways of seeing the data if i scroll the very top here wow a lot of data here and i look at my first row here which is paynesville and i click on the arrow notice i can kind of move this arrow around and when i pick the first record you have to have the first record selected when i do that as i move this arrow around every row underneath it also reflects that as well and moves as well additionally if i pick the second row it picks the entire gallery so your first row is the template so this is this gallery is one way of showing data there's two ways the gallery and there's also going to be a a data table galleries are much more flexible in data tables data tables are much more like a um a excel spreadsheet basically but galleries all right there's there's a there's a gallery club there are two rules the first rule is nobody talks about it because nobody cares about gallery club but the second rule is you always pick the first row to modify the cell to modify the template or the second row or any row after will will modify the whole gallery properties okay so that's those are the two quick things that people need to know about galleries all right so if i so just an example of that if i pick this first row and i pick this arrow for example and i drop in i'll go to insert i'll drop a button in for example it will put it on every row because i had the first row selected i'm going to delete key to get rid of it if i hold the whole gallery selected and i hit the button it then puts only one button in okay so that's that's how you can kind of get around that kind of weirdness that you might see all right additionally what we can do is you'll notice that we have on the tree view on the left and if you ever lose it you can always get it back by hitting this little cascade button on the left here that's tree view all right that tree view shows you all the controls that are available to you in power apps that you've actually built created so this wizard has created three screens a brow screen a detail screen and an edit screen for doing insert and edits okay and updates so additionally when i select this whole gallery right here we can change properties in three different locations one of those locations is up in the home ribbon here and we can say let's change the fill color of that to some light gray for example i just just just for whim here or some light blue i'm a blue guy myself that's too dark there we go all right that's one option we can do the second option we can do is i could also change it by hitting the the the property pane on the right here so in the property pane when the gallery is selected if i scroll down you'll see color right here i can change it that way okay so it's synonymous you do what works for you though and what works best for you the third option is select the whole gallery and if i go to the property drop down box right here this is the property drop down box keep in mind that's a very important drop down box we're going to use this over and over again today once you select it you go to your coding window and you can type in whatever color you want in this case an rgb color so i'll type in like white smoke for example and it turns it that light gray color okay so that's a few little gotchas around that let's go ahead and save our application next so i'll go to file and save call it whatever you want i'm going to call it i want to put my initials in front of it so i don't break anybody else's application and i'm going to call this just you know throwaway application all right i'm going to put a little whatever color you want to on it whatever icon you want you make it your own it's all good i'm under file and save but when i went to file and save it also dropped me into settings to do all this other stuff then i'll go to save and i can go ahead and call whatever okay brian's throwaway application i'm saving in my environment i'll hit save button now here's why i'm having you say of course you want to save pretty frequently okay because because we are in a web environment things go hinky sometimes right so i'm going to hit the back button but make sure you pick this bad button and not the url back button and when i do that let's make some kind of trivial change here i'm going to go ahead and make my background some hideous color here all right let's go this this this uh let's go this red color here i'm doing something ungodly you know bad color here just so we can notice that something's gone wrong i'm going to hit now control s to save the shortcut that you want to memorize now that you've done that i have two versions of the application every time you save it's going to version control your application for you so it makes it makes it really really easy so if i go over to the file menu now you'll notice my save has now become a publish area so just for for goodwill here i'm going to hit the see all versions to show you what it looks like you don't have to do this you can just kind of walk with me here i'll hit see all versions now how you can get here if you don't go this way by the way you can also get here by going over to powerapps picking whatever app you want and you go to details here this is businessmake.powerapps.com you go to whatever app you want hit details it just takes you the same exact screen here is first of all is a url in the details tab of how people can interface with this okay we can also go to versions here and we can see there's two versions of the application so if i select this url here look what happens all right all right when i select that url we're seeing the old color not the bad color of the application and so for some reason this does not look right right so if i go back to my versions here we can see that right now version one is live so every time you save it's going to save a new version of the app now i can hit the publish button in that previous screen or i could hit this little check box here and hit publish this version when i do that about 30 seconds or so later every phone every device and my own link that i had up here earlier will now refresh and i'll have the new version of this app so this is allowing you to have automated version control up to six months of versions that you can always roll back from if you wish so when i look at this if i hit refresh now we should hopefully see that terrible color yep there we go browns the browns color here uh we're seeing a terrible color here with all your different different areas here okay so that is uh how we can do version control one of the ways of doing version control in powerapps okay it does have integration later we can talk about in the things like azure devops and those kind of things also so congratulations you built your first application this is a small application but now we're going to get into the hard stuff the fun stuff we're going to build one from app of that from scratch right now and the app you've already had the facilities in here now we're going to build one a way of actually having our patients our nurses do well checks for those patients so let's go back to make.powerapps.com you might also see that you have that tab already open and up in your browser as well you might have two tabs you might have your your old app here okay right here excuse me and then you might have your old tab right here whatever however you want to get there you want to go back to make.powerapps.com make sure you're in the same environment as your your previous uh data connection after you do that we're going to hit create a canvas app from blank this time okay and we do that this time let's make sure it's a tablet app make sure you do not select phone it's hard to change later you can change this the size and ah make it responsive but it is it is a little hard to change later a few notes about this this is the tablet app means it works on all devices including phones by the way just because it says tablet it just means it's going to flip it horizontally and it's going to scale up a lot more surface area to play with we can also make apps responsive as well but in this case this is a an easy way to kind of do this so we'll go ahead and call this app uh i'll call this just brian well check app okay put your name in front of it so you don't interfere with somebody else if you're in my environment and then i'll hit create okay so now that we've done that let's see how we can build this app now i now typically speaking we're going to build this app from scratch and this is going to be a you see our only screen right now is called screen one blank screen we would typically change the name of that of course you can change the name by double clicking on it and call it whatever you want uh i don't use spaces and power apps for this kind of stuff because otherwise just put single ticks around everything it becomes really difficult so let's try to stay away from spaces on these control names okay i typically will put like a three digit qualifier scr and then whatever my screen whatever my name of my screen is i'll just call this uh well check main or something like that okay so you call it whatever you want this doesn't matter in this case you'll find that i have my naming convention in case you want to adopt one is back at uh at that cheat sheet again and you'll see powerapps naming convention this will kind of walk you through my naming convention but you do what works for you uh this is what works for me personally uh and but but do what works for you of course all right so now that we've done that we're now ready to go through and create our first connection so to create a connection from scratch this time again you want to make sure you're in the same environment as you were before i'm in my mock-up environment my case i'm going to hit the database icon on my left this database icon right here okay and then once i do that once at the database cylinder it's gonna just change the screen so some of you guys may not be seeing this screen exactly that's okay they they roll out new features all the time and it and it always happens right when i'm right when i'm teaching in class so as of right now this is what the screen looks like uh for my region but it might be a little different in your region so i can hit the database icon i'm going to hit add data it's then going to ask you well where is your data at so i'm going to go to connectors okay and i'm going to search for sql server okay i'm going to select sql server twice once for the sql server connection type and then once again for the type of my actual sql server connection which is my demo connection we created earlier all right once you do that we're gonna we're gonna use two tables we'll use nursing uh patients and nursing will check those two tables right here and then we'll hit connect i'm gonna do it one more time for you also okay so don't worry if you missed it you can always rewind you can do it one more time to make sure you guys have it this is going to show you now let's imagine i made a mistake and i only checked one table and i want to add more tables no problem you'll hit add data i'll hit connectors and when i have connectors i'm going to search for sql server because it's 300 connectors again when i select sql server i'll pick my demo connection and then i'll check my two tables and hit connect okay so that's how we'll do that again you can always replay me and watch how to do those steps also all right so the tables you want nursing patient and nursing world check so first step we want to do is i want to go ahead and paste in some code that i want you guys to paste in also this code is going to show you how to kind of build an app from scratch kind of the proper way so we want to kind of create a template that we can use throughout all this so in your chat window and also in the description of this video is a the template code i'm about to use right now this code is going to create three variables and these variables are the colors that i want to use in my application i always start this way so i don't have to go through and pick the exact color now chances are you're building these apps for business folks and these business folks are very very picky about their colors about their logos and all those kind of things so a great question from rob i love this question can you have multiple connectors in the same application you can absolutely do that so by the way i can hit add connectors this is the common data services right here our dataverse under connectors we can also go to the 300 other connectors and you can absolutely bring in salesforce.com as well as a sql server so all those things 300 connectors are all available to you there additionally additional questionnaire is where in the heck is that cheat sheet there it is for you right there also thanks for asking that question and matt you are you are a rock star here keeping up with all these questions all right so now that we've done that so let's actually use this code so hopefully you have the code in your chat window additionally it's in the description of this video okay and if i go and i'm going to close this data one i'm going to open up the tree view again by hitting this little this little cascading paper right here that opens a tree view mode open okay all right now when we do that we'll see that we have only our one screen right now available to us i'm going to click the word app right here and this is all the code that runs when the app starts so you'll see at the top here in the property drop down box is on start so when the app starts whatever code i have right here is going to run i'm going to paste in those three lines of code that matt oops that matt used earlier let me go ahead and grab it from matt's nasa window right here and your cheat sheet i'm going to paste in the code and make sure though first of all that you are on the word app so select the word app make sure onstart is selected and then go to your coding window and paste in your code over here that's step three over here now once you do that the code looks really funny right now i'm gonna hit format text to kind of clean that up for me okay now a few things about this code first of all here's what it's doing here for us let me kind of create a little more wiggle room here for us look at that all right i'm gonna just drag this up and down to create wiggle room there if you want we're on the bar there so first of all this code when i zoom in a little closer is the set command this is in your cheat sheet also and that cheat sheet talks about creating global variables global variables give you the ability to create a variable to store some data to store some names and store some date whatever store that value and use it over and over and over again across any number of screens in your application so there's contextual variables that are only one screen and global variables using a set command that are on variable on all screens so i'll select the set command i'll then uh then i have var background green that's the name of my variable then i could put the value on it don't do this guys but the value could be like hello world right here okay that's not what i'm going to do but you get the idea but my value in this case happens to be an rgb color a color of green in my case this is a healthcare healthcare app so we're doing green now additionally you'll see if i select the word rgb right here look what happens if i select if i just click on that word rgb it's showing me down below in the coding window what is what the impact of that word rgb and this color combination is look at that we can see the exact color green that it is so this bottom area as you select different words will always show you helpers it's going to try i'd like to show you helpers on what it actually is doing you also notice when i hit the word rgb that it's showing me hey here's how you do a set command up top so that's kind of handy also right so this is going to create three variables for you uh one card called var background green header green and core green all right we're going to come back to those variables in a moment so don't worry i'm going to make an intentional mistake right now all right i'm going to go ahead and close this coding window by a little down arrow right here and now that i've done that i want to create a background color for my screen i'm going to select this scr weld check my screen right now my screen name whatever your screen name is called and you'll see a fill bucket on the far right this fill bucket you can also see the fill word right here i'm going to do this way i'm going to select my screen name for the word fill right here i'm going to change the word white to my word so again pick your screen name go to fill and change the word white to var background green now look what happens when i type in var it now is smart enough to say here are the variables that have the word var there now if i can either use the arrows use my mouse or if var background green is the first item in the in the drop down box i can just hit tab and it will go ahead and do that but look what happened here for some reason my background didn't change well here's what's happened if i go over to our variable listing we're going to see the variable has not been set yet so we want to fix that so let's take a look at my app real quick and we'll see if i go to view up top here and variables that have three variables created but they have no value again i'm going to hit my back button right here to get back and what we're seeing now is it looks like the variables are blank so to fix that problem i can of course save the app close it open it or i can hit the little dot dot dot right here and say run on start that's because the code that's running here only runs when the app starts by so by selecting this little dot dot dot and hitting run on start oh look what happened it's now using those variables and showing us the background the application all right this seems like a nice logical step step to go ahead and save the application now doesn't it so again i'm going to go to file and save i'll go ahead and give it a nice green color here i'll look for whatever icon i want here i'll go with uh the scissors this is the wall check one and then i will go over to save and just save my application you use whatever icon you want doesn't matter uh this is your your time your application okay so by the way we do about 15 more minutes what 10 or 15 minutes we'll do our break at that point also so if you're getting hungry want some caffeine we're gonna we're going to do a quick break in about 15 minutes or 10 minutes right about half past the hour all right so we now have our application ready to go we may also though want to put a nice header in here for example and then put our our our galleries in next so i'm going to go to insert right here and i'm going to drop a label in okay so i'm going to move this label to the top left and kind of stretch it across the entire application entire entire screen right here and i'll call this uh the text property right now to select it by default i'll go inside the double quotes and i'll type in well check application call it whatever you want okay doesn't matter you can also change the name on the right right here as well okay so this is a label property under insert and label to get here by the way okay so once i've done that i'm going to change when i have this this label selected i'm going to make it nice and bold or whatever you want to do for the colors i'll make it like an 18 font you do you you do it works for you it doesn't really matter what you do here nothing won't impact this application anyway but this is like word right i'm justifying i'm doing bold i'm doing i'm making it i'll make it white also white text as well which we'll see why i did that in a moment so i have white text here all right so we have label one now in place okay we can see it here we also see it over here so now that we've done that let's go ahead and put a background color on that as well so a few ways you can do that shortcut ways hit the little fill button right here and it jumps to the color right here or you can hit fill from the drop down the property drop down box here either way it's all the same okay so i went to fill drop down box while i had my label selected and i'll call this one a var core green oh sorry i have a header green don't i'll use var header green there we go now let's start to take a little shape now isn't it alright so i just i changed that to var header green again this is all optional stuff doesn't matter in the big scheme of things so if you missed a step no worries you can always pet play plenty back later if you want to to catch up later alright so it's a fill property of the text box now i want to see a list of patients that we're going to help today so i'm going to click in the white area kind of click on the uh the background area of your screen okay and i'm going to go to insert and i'll drop a gallery in now first thing that people will have issues with gallery and vertical gallery is what you're going to select but if you don't see insert and gallery what might be happening is your resolution might be a little smaller so in my case when i slow my lower my resolution you'll see gallery is on the right here oop let me kind of zoom out again here you'll see gallery right on the right right here and this gallery right there in vertical gallery so however you get there insert gallery and vertical gallery whether you do the drop down box right here or you ha whether you have gallery in the main area okay now the first question it's going to ask you is where in the heck is your data at and there are three ways you can specify where your data is at one way is i can select the second row in my gallery i can click outside of it and click back inside of it and i can pick nursing patient our nursing patient right now all right that's one way of doing it now we're seeing all of our patients listed right here okay pretty snazzy the other way we can do it is we can select our nursing patient from the drop down box on the right and the last way we can do it is we can select the entire gallery again for your second row we can change the on the items property up top you can see that we have the nursing patient table selected here all these steps the same steps you're going to do for an excel spreadsheet for a sharepoint list or salesforce.com it doesn't matter it's data agnostic from this perspective all right so we now have our our patients selected i'm going to select the entire the entire gallery again and i don't want to have a picture of the patient in this this space i'm going to select the entire gallery by picking the second row and i'm going to change this rather than image title and subtitle on the right so i hit sorry let me set that one more time i hit the whole gallery and on the layout property on my right i'm going to change image title and subtitle to just title okay now we're starting to see things come together we're seeing patients now in here and what i can do now is i'm going to kind of slide a little bit more kind of skinny this up just a little bit and maybe make it kind of just tweak the look and feel a little bit you do what works for you okay but mr richard right here i have a first name but no last name now my nurses are not are not are not good enough to to figure out you know who this place better first name so i'm going to go ahead and select the first name for the first record keep on the first record is your template right so i can kind of move it around that's my template the second rule of gallery club right other than nobody cares all right additionally i'll select my my guy right here my first record richard make sure you're the first record selected then i'll go and i'll do up my coding window up top i'm going to type some brand new code here and i want to concatenate in the first name plus a space plus last name to do that we'll use an n percent instead of powerapps to concatenate two things together so first name plus a space within double quotes plus a last name now so for my last name we'll type in this item which means the row i'm looking at dot and look what happens if i type in an l it jumps down to last name and i can hit tab you can also use your mouse to click on it if you want so that's a way you can kind of easily find your data so first name dot last name all right so once we've done that you'll notice that we've got are all of our first names and last names we may want to make this a different color to make it stand out a little more this is where again we can if you optionally want to i'm going to go to my my uh my fill i hit the whole gallery and i'm going to go to my fill property and for my fill property i'm going to change its color to var core green there we go that looks pretty terrible right so of course the last thing you want to do probably during break or whatnot is just just change the fonts to where i pick my picking the first row change the fonts to what works for you and the arrows for what worked for you so i changed i i multi selected this by holding the control key down or pic pic each of them individually and i want to change my text color to white change my arrow color to white i might make it bold you do whatever works for you and what you like from a design perspective okay so we have first name plus last name let's drop before our break let's drop one more gallery in this gallery is going to be a special guide a little different and we'll do the same thing we did before we're going to go and select insert gallery keep in mind yours might be in the up up on the top right and little down arrow you have and we'll go ahead and select oh i'm going to make sure we show matt's matt's comment there and we'll do a blank gallery this time a blank vertical gallery all right this time this will be the nursing weld checks so i'll hit nursing mold check and i'm going to move this to the bottom right of my app i like to leave a little bit of gap between all this so i'll make it kind of like this that'll work perfect i'll leave a little bit of gap all the way around it so we can kind of see things going i'm going to make this fill color just white so i go to home ribbon i'll go to my fill and let's make this one white up to you you do it works for you again this is not no impact these background colors look how pretty it looks now though things are really starting to jump out now where they weren't before they get kind of washed out it's always like to have a light background color and then some stark differences to draw people's eye to where they want to go so with that now done we want to show the assessments for all of these patients all right to do that we'll go ahead and look at how large this item is right now so when i select the first row over here see it has a huge huge item right here so i'm going to kind of skinny this down a lot here that's way too much i'm kind of making that little cell around here uh a little smaller okay so now that i've done that though i want to drop in our first item like who actually did this assessment so when i have that first row selected okay i'm going to go to insert and label and there we go a few things a note today by the way when we do these uh when you start to enter data and you enter your your email address i do observate that or mask your email address and nobody's gonna see your email address so we do protect that you'll see what it looks like right here we'll have those little star our little uh x's at the end here so nobody's gonna see your email address other than you okay so uh because we are on youtube right now i want to protect your information here all right so i i went to insert label and while i had the first row selected to basically get that email address in here now it's showing the assessor automatically skip top here it says this item which means the row and the column name is the assessor column name you can make that as big or small as you want i think that's fine though let's drop one more in let's draw maybe the date end of the assessment so again i'll select the first row i'll do insert label and there we go again all right what do we have in here patient feels great all right that sounds good i'm going to change the comments where it has this item.comments i'm going to change that to this item dot i think it's i forgot to kind of date it it's called up well check date this item.wellcheckdate this is going to show us the date of the well check okay now you'll see a few things here i i may want to during break uh kind of kind of bring these things as far up as i want kind of skinny this the cell down by hitting the the box around this these fields and you can see it's kind of mimicking an excel spreadsheet right now right so much so we could put little headers on it eventually as well so our last step for you to do maybe later we'll do i'll show you one column we'll do the rest later is i'm going to go ahead and click outside of my gallery and i'm going to go to insert label and we're going to create a header up top for this given item right now so i'll make it wider and i will go ahead and double click on that word text and i'll call this just assessor our nurse or whatever you want to call it okay and then again i'm going to make the background color the fill color for this is going to be that var header green as well and i'll go white text so let's kind of show you how we can do a header here make sure you're outside the gallery when you do this and i'm going to go up to home and i'll make this uh color white as the text color i'll make it nice and bold and then for my fill color here which i can get by hitting the fill bucket or hit the fill icon here either way i'll make that var header green okay that is completely optional guys but i just want to show you a few ways you can do that also so this this will basically be the beginnings of our headers kind of like what you saw um i think i've got one already open kind of what you saw back here in the slide you see the headers up top here this is kind of how you're kind of constructing those headers there okay with our last few minutes i want to see how well these patients are all right so again i'm going to select the first record again okay and with the first record selected i'm going to go to insert again but this time i'm going to go to input not label and i'm going to scroll down and i'm looking for a rating right here so i'm going to select insert input and rating ah look at that now you can of course color these green and all that but you get the idea we're going to stop here on that move this wherever you want this would be the the how well how well the patient is today so you'll see up top here the default value for this is three stars so let's change that instead of three stars we'll say this item dot i think it's called overall rating i believe overall rating there it is overall health rating so then i'll select that and now we're seeing the three stars becomes three five three three three and so on and so on now you'll notice also that when i hover over this when i hold the alt key down it's allowing me to kind of edit that i don't want that they should be view only so to make it view only i'm going to select my stars and on the right side where it says edit is for display mode i'm going to make it view so people cannot edit those stars okay now when i hover over these you're seeing nothing happens it's just a read-only kind of report now so before we go on break save that application you definitely don't want to lose what you've done so far i realized it went pretty fast in some areas but keep in mind you can pause this and play back and rewind it and see how we're doing you guys doing awesome folks i'm actually seeing the traffic on my database really climb so you guys are killing it so far great job let's do a 15-minute break that will come that'll get us here at a quarter till the top of the hour so let's do a 15-minute break go scarf some food down if you wish and then we come back from break we'll we'll finish up this application we'll finish a form to input data and we'll also uh show some more info patient information as well alright enjoy your break get some caffeinated and we'll come back in 15 minutes thanks a lot all right welcome back guys after the break hopefully you had some good caffeine now you're ready to rock and roll uh we get back now we're going to go ahead and jump into some great bill to create some data and then also be able to filter that data down a little bit so we can actually see only the patients that you care about seeing that's our next two steps here but let's begin by first of all just recapping a few things just from our uh just to kind of do quick shout outs here um real quick again uh you've already you guys have already given a lot of money already in the chat windows thank you so much for those that are that are feeding america now this money goes directly to us youtube has the capability of just saying goes right to hungry feeding america excuse me so thank you guys for who donated so far that's a huge impact to people it costs about two dollars a meal for for feeding people in america so for these food banks so uh so far we've already given about 70 or 80 meals based on what we don't guys have donated so far so thank you so much again feeding america is a is a network of a whole bunch of food banks as well as um they've had 46 million people last last year additionally we have if you go to the uh the link you'll find in the description this video is a list of all of our boot camps that pragmaticworks.com if this topic really interests you and uh and you're interested in that you'll find in your in your chat window or also in the description of this video you'll find a whole bunch of boot camps that we offer that are much deeper than the course three hours allows us to cover those boot camps goes into about four days on powerapps onto all three app types and we go very deep lab-based and it's a small class environment also we also have on-demand learning and all of that is 50 off for the next week here as well and without further ado let's go ahead and jump out and let's get into the the meat potatoes here all right so we left off uh let me get my ear chat open also so i can kind of watch you guys as well there we go when we left off um we were going through and we built two galleries to show data and galleries are a nice way of kind of showing data in inside of our application so we have our patient list on our left and then we have our oh thank you guys for for those that just dominate we had two anonymous donations for thirty dollars thank you guys for those that have are working on that donating to feeding america much obliged all right so as you can see here we have our well checks on the right and then we have our patients on the left so if and we can of course add more headers and do more work inside of this as well uh but uh this is kind of a nifty way of of kind of showing data we did this very very quickly also so with that now done let's go ahead and find a way of only seeing the the patient records for what you selected so right now you'll notice for example if i if i hold down the alt key and select the arrow next to richard bush or andy warren or camille that nothing happens so i want to make something happen on the right when you select something on the left so to do that we're going to go through and select the entire gallery on the right the bottom right here and we're going to go through and specify some code that will filter this gallery down so to do that i'm going to select the entire gallery then from the property drop down box we'll select items now this code is actually in your chat and your not your chat window but in your description the video as well i kept the default names under these so i have gallery two and gallery one this is gallery one on the left and this is gallery two on the right so all of our code would match basically so when i select this up top in the item property okay look is my zoom it going down let me turn on zoom it again for some reason my zoom it does not let me there it goes let's try this again all right there we go all right so for my item property you'll notice a few things that when i select the table right here we can see that when i put a little down arrow right here this down arrow lets you see what the table looks like what the underlying data looks like here okay so this is going to allow us to see the impact of our code also as we make changes here so up top here i'm going to go and type in the word filter as a first character up in front of the table in the front of the single tick i'll type in the filter command now notice as soon as you do that when i open prints privacy here it's actually going through and showing you how to code this up top as well so we can see it wants a source which is our table name and then it wants a test of what do you want to filter i'll do a comma here oh john thank you so much for giving to feeding america also all right i'll do a comma and now we want to figure out what do you want to filter on so i want to go ahead and filter down to where i'm only looking at the proper patients if i type in patient right here there it is there's a patient id inside of this nursing world check table for those that are database people this is a foreign key that points to the patient table think of it like a lookup inside a sharepoint if you're a sharepoint person but i have that patient id and i want that to be equal to a certain number so if i type in like three for example and close the parentheses you're only seeing patient id 3. right there see the table it's filtered down that's not what we want to see here though we want to see whatever patient you selected on the left so i'll type in gal for gallery and i want gallery one so you're seeing here dot selected dot patient id all right so this is going to show me whatever patient id you've selected on the left so even though i'm not even showing patient id on the left i'm showing first name and last name i have access to every column in this gallery that would be in that table that's showing the gallery so as i hold down the alt key again i already hit the preview button and i select andy or i select richard you'll see it kind of goes out and it's showing me all the richard bush ones all the communal night ones all the charlie and so on and so on as i select these we can also up top click on the word filter and we hit that drop down box look we're only seeing a slide to the right we're only seeing patient id one now it's a pretty snazzy right so that's richard bush in that case so this allows you to kind of easily debug this a common question we always get asked is can i sort this list maybe can i sort it by i don't know by the assessment date perhaps well you can easily do that with a sort command in front so if you want to sort you're going to sort a filtered list i'll type in the word see right now it's all kind of random randomly generated we have different dates here kind of 127 12 to 12 211 210 and so on and so on so if i put the word sort you don't have to do this guys but i'm going to do it my case put the word sort in front of the word filter open parenthesis it is case sensitive by the way also so make sure you you do proper casing on there then the very end of this i'll ask people what do you want to sort this filtered list by i'm going to do it comma and i want to sort by assessment date i think it's well check date actually there it is we'll check date and i'm going to sort comma descending there we go so this code is in the description of the video so that's that's one of the ways you can do that if you slide the right here you're now going to see oh look at that all the dates are sorted by the appropriate location now all right that is awesome so again this i'm going to put this in your chat window just so you guys have i think matt's been kind enough to kind of do it as well that is in her chat window now as well just so you have that as well so there's two ways you can do it but again you can nest these functions what's happening behind the scenes here what's happening behind the scenes is powerapps is converting this into a sql statement that then goes out to a sql server or sharepoint or whatever your data source is and it tries to translate that command into a native command for that language so salesforce.com soql sql server t sql and so on and so on and so on so this is the powerapps expression language for doing that so it translates it and whenever it can do that it does a native language whenever it cannot do that a little bit of problems happen we'll talk about those problems a little later it's called delegation so if you ever get things called delegation that's where it says i can't figure out how to do this query let me go ahead and take all that data bring it into the application and sort and do all that all that locally in the application uh all right cool so simple thank you for your donation to feeding america awesome all right so let's go ahead now and let's go ahead and do our next piece now so we now have our data sorted we have a few of the ways so one of the ways is doing a filter command the other thing we need to do is we want to search for this list of patients here also to find a certain patient to do that it's much like a filter command but i want to be able to search by some first name or last name or maybe their city name or whatever it might be so to do searching of data we can use a search command to do that so i'll go to the insert ribbon up top again and i'm going to go to text and i'll drop a text input in when i do that i'm going to kind of move it right above and this text input you see it's called text input one okay i'll make it big however you want a few things you must do here you see on the d for the word default up top it has text input within double quotes the biggest gotcha is you've got to make sure that there's nothing inside that except for two double quotes so make sure it's an empty string inside of this i'm going to get rid of text input and i'm only going to leave two pairs of double quotes okay so make sure there's nothing inside there but you also want to tell people what you want them to do with that text box so on the right side you'll see hint text so inside that hint text i can say search for patient something like that whatever you want and then it's kind of showing kind of grayed out version of it says hey what are you what do you want to do all right so now this gallery you're seeing right here i want to filter based on what you type up here so i'll select the whole gallery and i'm going to look for the items property just like we did last time now we could use a filter command again to filter that list but this time we're going to use a search command and the reason why we're using a search command is because it allows us to search based on first name last name city social whatever you want to search for you can search for n number of columns with one command all right so i'll type the search command my table name okay uh i'll do a comma this is in your chat this is also going to be in your chat window in a few moments also and then i want to search based on what somebody inputted in that text input so i'm going to type in text input 1. there it is use that intellisense let it do all the work for you dot text so take whatever is in that text box text okay so that's what i say it takes to take the text box and grab the text input from that box comma i want to search based on first name perfect comma let me do last name comma well whatever else you want to do so i think that's good enough actually i'll i'll end right there so i'm going to paste this into your chat window as well so you have this but this search this now searches for first name and last name and the reason why i had to make sure that that is is blank is because that this text box is blank at first is because it's going to search for whatever's in that text box and you don't want to search for text input one you want to search for the actual nothing right now so if i go and put i play this application now i can go and type in uh knight for example k and i oh there's knight i can search for lee there we go we're getting camille because she has an l e in her name and we're also getting lee wong so really easy way let me play that application one more time and get rid of that there we go now the other thing that we oftentimes see is is how do i know that i selected a patient like why who am i seeing here on the right so if you want to have some kind of uh better control to allow your user to see what they actually chose i can select the entire gallery again on the left okay and what we're going to do here is we're going to show the user what they've actually selected or to give like some kind of visual input that they chose this certain record okay so when i select this uh a property that's not really used a whole lot it's really cool is this template fill property template fill means what fill color should that box around every single patient show so what should what what do you want to show right now it just takes the properties of the gallery which is green in my case but maybe i want to make that black or some kind of alternate accent color of some sort so when i select the entire gallery go to template fill and now we're going to write an if then statement inside of this logic to make sure that things can basically can be conditionally grayed out so inside my template fill property i'll say hey if this item which means the row the row i'm currently looking at dot is selected if this is the row that's selected comma black and we could do a comma for the else statement we'll leave it alone of that and when i close the parenthesis we can see camille knight is now selected so whatever color you want you put that rgb color inside there your variable color you can put whatever you want inside of that and that will basically make that work again in your chat window is the code for that as well so as i select richard bush we'll see it kind of selects it as green and there's lots of little tweaks you can do to kind of get more fun you can select the whole gallery and there's a property on the right here the whole gallery which is um uh where to go it's called okay i'm looking forward here oh transition so you can make it like pop out or push in or whatever you want see lots and lots of neat stuff you can do around that i'll make it pop out so now when i hold the all key down see kind of it jumps out a little bit kind of dances as you move over so lots of neat stuff you can do around that all right so we now have our gallery showing you how to drill in from a patient to the weld checks for that patient now we got to enter some data right we got to be able to make sure we make sure we can actually add new well checks we can do that a few ways we can actually put the well check information on the screen above us or in that white area or we can do a new screen i think it makes sense in our case to do a new screen don't you so what we're going to do is we're going to go ahead and go over to the the insert ribbon and we went new screen and i'll do a new blank screen okay so that's created something called screen 2 now we can always we can click back and forth screen 2 screen 1 and so on and we can of course we can go through on the left side when i select that you'll notice the fill color here remember how do that change we want to go and make that that fill color if you want you can make it var background green again it's not required anymore but if you want to keep the same same standards do you see why we create these variables now by creating the variables now the way we did we can reuse those colors over and over and over again and not worry about if the marketing person asked me to change the background color i can change in one click across the entire application a few things to note there are themes in powerapps if i go to home you'll see a themed ribbon right here but you can't really customize it yet they're going to make some some changes eventually probably but right now you can't add your own corporate theme this way you have to do it kind of the way we showed you there are through components okay all right so now we've done that we are now ready to do our first way of inputting the data now when we input data we can do either we can have one form and that one form can do handle inserts and updates so we don't have to we're going to build separate forms for both of those and whether it's doing an insert or update it's based on the mode that that form is in so let's give it a shot let's go drop our first form in to do our inserts of new data so i'm going to go to the insert ribbon up top and i'm going to drop a form in and an edit form so insert form and edit now keep in mind it might be in your case by cascade here you're going to see it might be on this far down arrow here you might see forms here also but i'll go insert forms and edit form now i'm going to go ahead and make this form a white background you could do it however you want i'm going to go to home and i'm going to change a little fill bucket here to white but again not required by any means for this example okay so and i'm going to kind of stretch this and move it wherever i want here okay i'm going to leave a little bit of room here also one thing we can do also to kind of refresh our user what who they're doing this assessment for is we could go through and kind of restate some information from the previous screen so for example if we want to show the you the the patient's picture for example or their name uh we can basically restate that with that dot selected dot property before so let's let's do an example of that real quick so i'm gonna go ahead and do a a quick label up top okay and i'm going to stretch it all the way across just like that i'll move this form a little bit down here all right and i'm going to put it in here again this is optional you do not have to do this but if you wanted to i want to put well check for and then my patient information right right behind it so i'll do and percent which again concatenates and then i'm going to reference back to gallery one so gallery one was called gallery one there it is dot selected which means show me something that some whatever patient you selected in the previous screen dot i want to get their first name and i also want to get their last name but we'll we can do we can cat data with an ampersand again and keep on going we'll stop there okay all right so so well check for charlie in this case then you course can change your you know your your size of your font and you make this whatever you want you make it a bigger font you can make it bold you can make it white you can make the fill color whatever you want you know i'll make my fill property i'll make that var header but again this is completely up to you not required by any means but i'm going to center it so now we can see well check for charlie all right so easy way to kind of tweak it again you pause me if you want if you want to kind of make it your own if you like but it's completely up to you all right so now i want to enter in some data here for charlie i need to know like how well is he i want to go and put but there's also some interesting things in there like should i check for depression levels with charlie is he a diabetic you know those types of things i may also want to conditionally check for so this form is going to be different based on what you want inside of it all right so when i select this form our first step is we want to wire it to a certain data source so i'm going to go over to the data source property on the right we also can go to the on the right here on the left here we could also go to some properties over here as well the data source property here either way it does the same thing but i'm going to drop the drop down box on the right and i'm going to wire that to nursing well check and then boom so we are now ready to go in and actually say what fields we want our users to do so to do that right below that that nursing well check table we just clicked we're going to hit edit fields on the right okay now you also by the way don't have to do it this way we could just start slapping in fields and using that little insert ribbon up top and doing controls and adding in all the stuff manually you could do that but by doing it this way it's a lot easier it doesn't give you as finite control over it but it makes it much easier so it's almost like a wizard we're about to do there so i'm going to hit edit fields and i'm going to check okay i want to know who is the assessor all right i want to know their blood pressure good the comments the depression rating maybe and glucose and maybe the overall health rating and the patient id so all right here we go and then they're in the wall check date all right so here's the ones i i did not check it's probably more importantly all right i did not check well check date i did not check wait and request escalation and i did not i did not check the next check date and escalate patient approved okay so those those are the ones i did not check the ones you must check are going to be things like the assessor and the well checked date and the patient id these are the ones you have to check but just check a few of the ones that you they think may be kind of nice all right when i hit add it's going to add all those form controls into the form and right now as you can see it's a three column form and you can as i showed you before you can reorder the stuff how you want as well there's a few things that might be useful the first thing you'll notice is my uh overall rating as i scroll down here look for the uh depression rating for example that's a number from one to five that's really confusing though isn't it a user may not know to enter that number one to five you know they might put 99 in there for example so what we can do is instead of having edit number we can instead make that edit rating these are all the types of controls based on the data type that you may want to do so let's do edit rating instead there we go now we have those star stars make sure you do edit rating and not view rating okay the other one is overall health rating let's do the same thing for that one edit rating again now if you ever get lost here if you ever screw up and you close this by accident you can always get here again by selecting the selecting this whole thing the whole form and hit edit fields and takes you right back to where you got there again if you can't select the form you're like how do i get the form i can't keep on selecting it pick in the white area or you can go on the left and pick form one from that side either way get you the same location all right so with edit fields again there's one more piece i want to do the comments this is not a whole lot of space for comments is it so i'm going to go over to the comments one and i'll say edit and look at some of the stuff they have here you have things like editing phone numbers viewing email addresses things that are like pre-formatted validation i'm gonna do edit multi-line text though and by doing that it gives me a bigger comment box that i can use there's also some rich text editors and those kind of things also all right that's good enough though and we'll tweak some of those now every time i do an assessment i don't want my user to have to go through and name the patient the patient id for example they're not gonna what patient id it is i don't want them to have to type in their own email address here so those are some things we're about to fix and i also don't want them to pick in the date and time i want to go ahead and just default to the today's date for example okay so to do that we're going to select the patient id first okay so when you select that patient id notice it has a card around it and a card is like a mini screen in other words i can move things around but i can't leave that card and there's a hierarchy around that so if i right click on that card and i say unlock it now unlocks the card and allows us to go through and actually make some changes into it keep in mind it's basically a wizard that built this for us so that's why we're having to unlock stuff to override the wizard you'll also notice as soon as you do that and you go back to the edit fields again that you can no longer edit patient ids a patient id is kind of locked out now okay so as soon as you unlock it all the automated stuff gone so when i go to patient id i want to show the patient id that you selected in the previous screen think about how you would do that now you've seen that before already once when i did the patient name up top so my number i know it's gallery one has the patient id information and i can do dot think about how you would do it select it okay i'll hit tab to do all that dot and i want their patient id so i could just type in the word p-a-t and there we go there's patient id and hit tab again so use those tabs use that mouse to go and do all the typing for you don't do that work manually it's a pain in the butt to do right so this basically becomes your patient id and i'll put this in the chat one of matt will as well uh there's your patient id all right so now i've got the patient id from the previous screen he tells us charlie he's patient id4 now your option now is do you even want to show that now i don't think i even want to show that now why why would i they know what they know who they're doing assessment on so i can pick don't pick the fields here pick the entire list here and by the way for that patient id i picked the actual text box here to make that change the text box the default property and there's my code right there okay so when i select the whole card now okay i can choose to hide it by changing the visible property on the right here i can also choose to do other things as well so maybe what i want to do instead is just gray it out so that's an option as well to do that i can hide it by changing the defaults that's one option the second option is i can go to my display mode property on the entire card and when i go to my display mode property i can change that says parent display which means inherit the inherit from the form what my display mode property is but in my case i'll type in display mode dot and look at the options i have do you want to disable it should it be interactable or should be view only let's take a look at how these look one is view only looks like that okay the other option is to disable it it was like that so you do what works for you but you probably don't want somebody typing a number in there right so you do what works for you can hide it you can make it view only or you can make it disabled so whatever however you want to do that that's three options you can do there okay next is the assessor so the assessor gives us some pretty interesting things we can do so the other function we're going to use today next you've seen the the submit for so are you seeing the the search function you've seen the filter function our next function is the user function the user function allows you to go through and whoever's signed in you can retrieve their email address you can retrieve their um their image or you can retrieve their uh their full name okay so in our case i'm going to select the assessor and keep in mind i'm not storing your email address uh your noisemaker nobody wants to see your email address okay so it's okay i'm going to right click on it and say unlock okay and once i unlock that i'll select that text box for the assessor and the user function looks like this it's a capital u with an open close parenthesis and when i click on dot i can see the email address their full name or their picture i'm going to choose the email address right now because i have that masking already built in so you're going to see my email address right now so if you have questions afterwards that's i know you actually paid attention all right and once we do that that's all there is to it we can we can of course hide that we can go through and make it read only we can make it disabled whatever you want to do there it's not required i'm not going to any farther on that you get the idea right all right so that's the assessor the last thing i mentioned was kind of a pain in the butt here is having to pick our well checked date each time so for our well check date i'm going to default that to today's date and time again i'm going to right click say unlock again so let's do that real quick i'm going to right click on this guy and i'm going to unlock the field then i'm going to select the first date picker not the time picker but the date picker and right now it says parent.default which means default to the parent now i'm going to change that now instead to now open close parenthesis so now function returns the date and the time there's also a today function which just gives you the date so either way i'm using the now function just interchangeably for the time being but you'll notice that once i do that that now the today's date is now showing in that date picker now of course the user can change it but that's a good starting point for now okay you're thinking the nurse is probably right in front of the patient right now the next one is a time picker now just to show you what this looks like i'm going to hit the play button just kind of shoot it looks like you don't have to do this and oh i'll come back to that one better in a moment here but if i hit hold on the alt key hit the drop down box you can see there's hours and there's time okay so i'm going to select the hour one first and you see it has all the hours of the day 24 hour clock so i want to default that to to something else oh thank you anonymous for donating 20 that's actually 10 meals for feeding america thanks thanks guys all right you guys rock i'm going to change this from items to default what's the default value be for that date picker so again it's the drop down box right here where the hour picker is i want the default selector and i'm going to change this there's this parent.default right here right here i'm going to change that to type in now open close parenthesis i'll paste that in your chat window this is for the date picker for the minute picker it's the same exact thing you'll pick the minute picker see it has every minute of the day i'll go ahead and change it to default for the minute picker and then i'll put the word now for the minute picker open close parenthesis all right so now we can see that we're defaulting to looks like 115 now so it's a great questions we're getting asked one question was about the person picker and how does this work for sharepoint you can absolutely do that when you drop a field that happens to be a sharepoint person picker it automatically turns into a searchable box where people can type in tracy and they'll see tracy willis at that point and you'll be able to then write that back you can also by the way default that to to to tracy willis also if you want to default that as well so absolutely possible tracy great question i listen we have tons of them and matt is rocking in the chat window right now thank you matt all right so we have our date and and time now working beautifully there's a symptom that i want to show you right now you saw it when i hit that play button that when i hit the play button it's showing me oh where's my mouse here it goes so where did i heard that play button go no let me go i lost a chat by doing that sorry guys all right there's my mouse when i hit the play button notice it says no item to display so you remember before mustika thank you for donating twenty dollars feeding america awesome so remember before i was showing you um how how the form can be an edit mode or it can be an insert node so right now when i select the entire form right now we can see it's an edit mode on the right so edit mode which means it's expecting a record that you want to edit that's not what i want to do though i want to create a new record so my first step i had to do is change that set the whole form and change its default mode to new mode and the minute i do that and i hit the play button now i actually see the data before when it said um i'm going to go maybe revert mine back to what it said before when i had edit mode it said this no item to display which means it's looking for a record that you want to edit that's not what i want to do in my case so i'm going to keep that as new mode here we go and now you want to go through and actually provide a submit button to send that data to the database all right that's our final step that we want to do here to make this form actually right back the database this is actually a lot easier to do the way we're doing it so i'm going to go over to insert ribbon and i make sure make sure nothing is selected on the right here i'm going to insert ribbon and i'll drop a button in now we can of course color code this button put a fill color in we can do all that kind of stuff you get the idea right but in our case i'm going to double click on the button and i'll just type in the word save you can also do that at the top right or you can do that with text the text property on the button either way you do what works for you will you killed it also 20 pounds for feeding america thank you so much will alright so what we want to do now is we want to go through and actually wire that save button up so to do that we'll select the save button we'll go to the property we want to change is the on select property and we'll change it from false and we're going to type in some new code here it is not there excuse me in the coding window it is submit form again use those tabs form one and then close the parentheses all right so this is going to send the data to uh to mysql server now at this point or your sharepoint list or excel spreadsheets or whatever your data source is submit form can either do an update or it can do an insert if you wish okay so it allows you to do either way that you want to do all right so now that we've done that we can go through and actually tell what you want to happen next so we could chain all these events together but now that we've actually got the data to submit we want to see did the record actually make it there now we could put it right at the end here these semicolons we say do this then do this then do this but in our case we're going to put that somewhere else we're going to select the entire form and we're going to say in the drop property drop down box again up top left we're going to go to the on success property this on success property says hey if i see if that row successfully makes it to the database then do this there's also an on failure property for failures and on reset so for the on success property of the entire form i'm going to go ahead and type in uh new form form one okay that means he resets the form back to basically reset form one back to ready for a new record again whenever you do this if you don't do that it will basically you know reset the form and goes back to uh the little good old-fashioned note it will it will it will cause problems in other words so by doing it this way it will not go back to edit mode it will stay in new mode okay so now that we've done that we also want to pop a message up saying great job thank you so much for doing that and so on speaking of thanks thank you beat and anonymous for also giving 40 bucks to feeding america all right i'm going to go ahead and do a comma now not a comma excuse me semicolon and i want to notify the user that what they did was successful to do that we can use a notify function the notify function will put a little message on the top bar saying bravo great job you just saved a record so i'll do a notify function i'm going to put my message after that so bravo you know you rock okay if you put a comma in there then we can go through and specify well what kind of message do you want to say i want it to be a successful message which means it's a green bar uh uh information will be a blue bar and an error is a red bar that's all it changes when you do that so i'll hit uh success i'll close my parentheses so here's what it's doing now it's saying set the form back to new mode again and then go ahead and say bravo you rock the top and then you can also uh as you go down uh you can hit format text and it'll kind of clean it up for you if you want that's optional you can choose and do it you cannot choose do it whatever works for you guys all right matt has already pasted in some code in the chat window also now our last step you want to do here as we do this is we also want to send them back to the previous screen to do that i'll do a semi-colon again you could use a back function which will send you back one screen or i can i can type the navigate function to do the same thing but now i'm going to specify what screen i want them to navigate to so i want to navigate to the well check screen or whether that first screen was called i'll do a comma are there any kind of screen effects that you want to do here do you want to fade the screen in fade the next screen out do you want to cover where it slides out slides in uh i'm going to go ahead and do a cover i think it's kind of cool effect and i hit some close close parenthesis all right so this function you could do whatever works for you the navigate function is going to go ahead and navigate to the previous screen matt has pasted some code in there i'll when pasting some code as well to show you my code as well uh really simple code the three lines of code that do a lot of work a lot of heavy lifting here okay so it's going to submit the data and then it's going to do that other code let's see if this works now all right let's try it i'm going to hit the play button now and we're going to do a well check for mr charlie here all right let's see is my play button i'm gonna do a well check here he has a blood pressure of 90 over 80. all right i have no idea that's good or bad i have high blood pressure i should know that and i'll put all right this is where this is a public database keep in mind you guys so keep it pg-13 but keep it funny all right so well check should not be funny unless they're on a live youtube so we'll say uh you know patient neck was going 360 and spitting pea soup uh projectile six feet alright good enough call priest good enough all right cool so the patience patient has some problems um i i forgot my well check my uh my overall health of this patient is definitely gonna be a one and i'm going to go ahead and say the glucose levels whatever all right you'll notice it also it puts stars next to things that are mandatory that the world check date is mandatory i'll then hit save and hopefully now charlie oh there's charlie he's got a one star review now saying charlie's got some problems for a well check on this date awesome and i got bravo you rock up top as well i can click on it and it will then go away uh i hit little x there okay so that shows up on things like your iphone or your android or windows or mac also so awesome we now have our first patient in i want to see how you guys did that's a few ways we can do that i can kind of flip patients around here and i'll eventually oh look at that i'm starting to see a lot of reviews coming in for my patient here let's see how good of a sense of humor you guys have also i'm going to drop in a new label in here you don't have to do this guys i'm going to select my first row i'll drop my my label in and i want to see the comments there we go so i have this item dot comments and there we go so we're seeing some there we go so we got up he's not quite dead yet i like my monty python fans out there so now we can kind of see what you guys have done uh we got to slow down old man i like it living like living the fluffy life you guys rock i like it i like a good sense of humor here so you can see that you guys are killing it because we had almost no reviews of these patients we had like five or six reviews before now i'm seeing hundreds of you guys have done an assessment now of this patient so you guys are following along beautifully awesome job guys all right so now we have got it where our patients are now inputting data we now want to go ahead and create a button to allow people to actually into a new a new assessment also so to do that i'm going to make sure nothing is selected in the first screen so i'm in that first screen whatever that might be you can find that first screen in your uh tree view on the left here once i've done that let's go ahead and drop a button in and move it wherever you want color it however you want doesn't matter double click on it to name it or you can also double click or slip over here and i'll put new assessment awesome hopefully that will work there we go i'm gonna kind of resize it and of course again to change a color and all that's really simple it's a fill color if you want uh you'll see there's a um oh there we go fill colors if you want to make if you're really picky like i am you can make that var bar head core green and there you go okay so now that you've done that we are now ready to actually wire that button up you've already saw the navigate function the navigate function allows you to navigate to other screens in my case i'll select that that that button here and i'm gonna go to action and i'm gonna do the lazy man's way i'll go to action navigate and what screen do you wanna go to screen two and i'm gonna choose the cover right effect it's for fun here okay so we can kind of do it that way now that i've done that if i hit that new a new assessment it slides right and then i can hit do my thing it'll slide left okay so lots of cool stuff we can do in this all right so now we should be on screen screen two i also might want a cancel button right i want to get out of this i made a mistake let me get back to the previous screen okay to do that i'll drop in another button again okay i'll just drop it in move it right side by side with my save button i'll call this one cancel there we go so in this case i want to go ahead and undo whatever you may have done so as a few things you can do reset form can undo it i want to make sure just in case i'm in edit mode i'm going to also go back to new mode also so we'll skip a few steps here but uh first thing i want this button to do i'm going to hit action again and i want to navigate to the previous screen and see it wrote the code right here all done ready to roll then i'll do a semicolon after that again this is optional guys i'll do a semicolon after that and i'll say new form forum one in other words oop not filter form one all that's doing this is my cancel button code so i'll go ahead and put this in paste in the chat window cancel button there we go so all this is doing is saying all right navigate to the previous screen and then wipe out the any kind of edits that you may have done and reset it you can also do reset form which will wipe everything out also but i want to make sure the form mode was properly in new form okay so if i hit the cancel button now hold down the alt key click on cancel there we go we're back in this mode right here again awesome so now i'm seeing a lot of reviews i'm seeing actually my database is showing uh almost a thousand reviews you guys have done of our patients now so i got a great sample data set uh so thank you for playing around playing with me and actually getting your hands dirty now you may want to make you may be looking at these reviews and you're a little upset because because somebody else here has entered a review funnier than yours and this is not good so you really want to fix that you can't be outdone by some guy and and across the country across the world you've got to fix that right so that's our next step is we want to learn how to edit reviews and make yours way funnier than the guy below you all right so that's our next step so to do that we're going to create an edit button first to allow somebody to edit these these reviews these assessments so again to do that go to your first screen here that we're in right now and i'm going to select my first row whatever it might be and i'm going to go ahead and do insert and i'll drop an icon in this time and the icons allow us to edit so pick whatever icon makes sense for you to do edit you can also add your own icons by the way too but i am unhappy with that edit icon it's one of the worst little pencil icons in the world so i'm going to go through let me zoom in a little closer here um i'm going to go through and look for so it looks a little better i like this little pen icon for edits myself but you do what works for you by the way once you do that you can slide it to the right so every icon has it resize it however you want you can color code it up to you now additionally though once you have the icon in you can notice that you can change the icon later over here on the right all right cool so what do we want that icon to do we want that icon to open up the the other screen and set it to edit mode not new mode by setting it to edit mode it's now going to be ready for editing the data not inserting new data all right and tracey's buttering me up i appreciate it tracy all right cool so let's go ahead now and change that to uh to edit mode all right so we select this pencil or pin or whatever a few mistakes that people make here let's imagine for example i select my gallery don't do this i'm going to select my gallery just to kind of make a few mistakes i'll go to insert icon i'll drop some random icon in and it's up here on the right it didn't get it's not actually in the gallery so if that happened to you chances are you didn't have the first row selected you forgot the rules of gallery club and you gotta select the first row because you don't care about gallery club because it's boring all right so let's go ahead and select that pin that first pencil whatever icon you selected in the first row and i'm going to change this word select parent for the on select property of the pencil the onslaught property means when somebody clicks on this what happens well i want form one and the other screen to basically uh to be in edit mode so i'm going to first of all say yeah let's go ahead and navigate to the other screen to screen two okay you can put whatever effects you want up to you you can also use that little action button to do this okay and then i'm gonna do a semicolon and i'm gonna say edit form form 1. oh i made a mistake there we go fix that mistake form 1. so again all this is doing is the same hey change that form to update records not insert records i'm going to paste this into a pencil code there we go all right so when i select this now look what happens i'm going to select it hit the pencil it navigates over here but i've got a few problems here first of all if i hit the play button it's in edit mode great it did what i wanted to do but it has no idea what row to edit that's my next thing i need to fix so literally in two lines of code we're going to make this work first step for editing data is you navigate to your form like we did and you turn it to edit mode the second step is to specify what row you want to edit so the same form can be used as a swiss army knife so to do that i'm going to select my form my form here and when i select that form i want to go ahead and change the item property the item property is only used when you're in edit mode and it basically says what row do you want to edit so the row i want to edit is hey take the row that i selected in the previous gallery so gallery two this time says gallery two is that bottom right gallery we had in the previous screen and say whatever row you selected move it over here and by doing that that's all you have to do to send the entire row to this screen so now check out what happens behind the scenes now if i were to go outside of here he's very sick all right so i can go and cancel this and if i select uh this guy here who has a very disappointing review here with no comments inside of it and i will put whatever comments i want to overwrite that person override me there we go i'll hit save here we go and we'll now see override me right there okay so that's all there is to it all the old code works except for that one piece now you'll notice a few problems we had here you may have not you may not noticed it yet but when i just overrode that person i put my own comments in there because the way the defaults work i overwrote their email address their well check date and they also overwrote any other defaults that i might have had in place let me show you what i mean one more time make sure you get to get this okay again i'm going to pick some random review here all right i'll type in my comment here but look here whoever's review it was is now going to have my email address and my time inside of it and when i hit save they have my review all right but they also have my email address not the originator's email address there it is right there comment whatever so we gotta fix that now we gotta make it where when i do edits i don't override you anymore so let's go ahead and select uh any review again i'm gonna hit escape to get out of this mode to go back to screen two here in other words all right now to fix this we basically have to say when i'm in edit mode don't use the defaults for it for the assessor i want you to use whatever value you happen to have stored in the database so to do that we're going to do some if then logic to make that happen okay the if then logics can say when i'm a new mode show brian's email address when i'm in edit mode so show tracy's email address because it's her review okay so to do that it's really simple i'm gonna go and say let's just just do one option here we'll do one here i'll pick the assessor and you'll see my my code right now is always going to show whoever's email address is signed in right now so i'm going to wipe that out okay and i'm going to place this in the chat window so don't worry but i'll say if and we need to detect what mode is this form what is form 1n so if if form 1 dot mode is equal to form mode dot new in other words this form is a new mode then yeah go ahead and use that email address otherwise just use this item dot email or assessor sorry there we go so by doing it this way let me go ahead and paste this in now all right so i'll paste that into the chat window there so by doing this is that what the code is put in there is the assessor code and what that does is it's now saying hey if i'm in edit mode then go ahead and show the original original person's uh email address instead so let me play that and show that it has b so let me go ahead and do s here now i'm saying s x x x x x you have so and so on and so on so i'm not going to override her data now at this point or his data okay and if i'm in new mode if i do a new assessment you notice it puts my email address in there so you can use this to have one swiss army knife form that can be in new mode or edit mode so we've now seen the past hour how you edit data how you insert data how you filter data let's now see how we can delete data also and that will finish up our our major example again we haven't done this yet make sure you save guys i'm going to hit control s to save just to make sure that you have saved if controllers doesn't work for you go to file and save okay our next step is we may want to go through and allow you to delete a record so i'm going to go back to the first screen again hit the cancel button and i want to put in another icon again i'll select the first row gallery club and then i'll go over to icons and i want to find an icon that matches a delete i'll use a trash can an x trash can do whatever works for you i'll move that right next to my pen all right there we go a question i get asked all the time often is can i make sure that this only works for certain people if you're the boss you can do this you can absolutely do that you can use the office 365 directory to say hey if if i am brian's boss then i can delete it otherwise i'm not going to show the trash can okay so this code is actually really simple the code for the trash can is the remove function the remove function is going to remove the move the row whether it is uh from which database the wall check table excuse me comma which row do you want to remove this item remember this item is always referring to the row that you want to remove all right let's go ahead and paste that bad boy in all right so now we can see that if i hold down the alt key and i pick a rando here to to remove there we go that it will hopefully disappear now it's disappearing on my on my screen but a few notes about this we have over a thousand people on this webinar right now and if a thousand of you guys all start deleting rows we might run out of rows and you might not see it actually refresh on your screen so it's okay if you don't see it remove but that's how you can do it and i bet you if i if i you know go hop around now i'm going to see a lot less i've seen a lot less of them now as i go back and forth here okay so just a note there's a lot of people like that are hit they're trying to delete these same exact records you may want to go to a random patient and a random row at the end to delete if you wanted to play along here at home all right cool so now that we've done that we are ready to go through and do a few more tweaks here we have 20 minutes left to make this application really sing again save the app guys we have it deleting we have it inserted we have it updating and we have it showing data on a certain piece here now we want to go through and show some other things that are that are pretty snazzy ways of making this app look a little better so for example i'm going to go ahead and drop in an icon and i'll look for my rectangle at the very bottom all right on this on the first screen you do not have to do this guys we are in the pretty stage now the app is working right you build a whole app in basically an hour so if you said you built zero apps for you now have two apps under your belt so so awesome job guys add it to your resume we're ready to go alright so when i select that rectangle i'm going to make the fill color of this rectangle white and i'm going to put some stuff inside this rectangle to kind of really make this app look a lot prettier so the first thing i want to do is put the patience picture in there so i'll go to insert and i'll go to media and image look at the other kind of media things you can do you have barcode scanners for looking at the barcodes and qr codes you can also uh take the video you can do all sorts of stuff you can actually look at a map all sorts of good stuff you can do i'm gonna go to image and i will move that image right here for the patient and can you think about how we would get the image of this patient inside of here all right just pause me if you want to try yourself right now we know the patient's information on the left side and we know that gallery on the left side is called gallery one that's your clue so if you unpause me now we'll go ahead and type in gallery one dot selected dot and i've got the image of the patient oh all right the image of the patient is called it's kind of scrolled down here it is called patient photo and that's just a url of the pit for the patient i'm going to make that kind of wherever i want and let me kind of zoom in a little closer so you guys can see that now there's a few things we can do on the patient and make it look a little prettier here also one thing is we can go through and say i'm going to fill the whole square up so remember how it is i'm going to fill it up maybe a little skewed but that's okay with me so i'll go and say change the fill property to sorry the fit property to the fill property all right once we do that you see it's filling the whole screen we can also go through and change the border radius property a little bit lower to some number like let's try 60 for example see what happens oh look what happens when we go 60 we're seeing it it rounds the edges for us so you can kind of play with the numbers yourself and see what works for you next we want to go through and say hey should i check for depression levels are glucose levels are those kind of things so let's find out how we can do that so i'm going to drop in a new label here under insert and label and i'll move this right here and we can of course put the patient name and all that you've seen how to do that but let's do something a little more difficult right now let's let's go ahead and say inside these little double quotes right here i'll say check for our uh for diabetes for glucose something like that okay and then oh i'm gonna make this a little bigger so we can kind of see there we go and i want there to be an x if i should check for glucose and a check box if i should not check for checkbox for glucose so right next to this i'm going to drop a icon in i'll just put a little checkbox in i'll move that to the right of check for glucose resize it however i want up to you guys now this is your app guys and you can put this up always later also so instead of the the on select what i'm going to do is i'm going to change this to the icon property and right now you see the icon property is check checkbox perfect so in my case what i'm going to do is i'm going to say all right if gallery one dot selected that again that's all the patient information dot uh oh look at that check diabetes level all right perfect so check diabetes level so if that's true i could put equals true but it's implied true so it's not required so if it's true then let's put the check in there icon dot check okay otherwise with a comma else is a comma less two icon dot i think it's going to be cancel i can't never remember this one there it is cancel and then close the parenthesis i'll go ahead and put this uh in your chat window and you guys are rocking here so far and also speaking of rocking eric thank you for giving twenty dollars to feeding america that's ten meals for somebody in a state near you all right so now we're seeing that we have check for glucose we have an x for this person right here we have a go to andy here uh let's find somebody who has diabetes here there we go we can see this person right here charlie has it has has a diabetes check and andy does not so again that code that's in your chat window right there will allow you to change the icon conditionally based on certain things likewise in the form if they don't have diabetes you can also hide those with a visible property so use that same code but just put the visible property true or false based on that also okay so awesome so we're looking really really good now there's a few more things we can do with this i know we have we're down to about 15 minutes left and i do want to leave a few times a little time for questions here as well but make sure you save and i want to show you a few more things we can do here that are really nice um for your for other examples here we had a lot of questions about sharepoint uh a lot of questions about other kind of connectors as well and if i go over to the database icon you'll see there's tons of connectors when i go to connectors all right so now we're on the mode of you don't have to do this guys i'm just going to go ahead and pre-answer some questions that we get often times and thank you whoever anonymously gave 20 to feeding america also all right so one of the questions i get asked often times is well what happens what is this delegation thing first of all this happens a lot with sharepoint so let me show you how we can kind of trigger this a question i get asked oftentimes also is how do i only show brian's who are assigned in their their uh their pieces as well so we'll kind of go into that piece as well so to only show brian's pieces over here i'm going to modify this to make it where i'm only showing my own reviews so my uh what i'm going to do here is in this filter command you guys do not do this so i'm going to show you a few of the flaws that we're going to experience here we can have multiple queries right here so let me let me do this let me kind of expand this a little bit i'll hit format text to kind of make it look a little cleaner here i will put this code in your chat window but you don't want to use this code quite yet alright so right here i have patient id equals whatever if i put a comma here and i say all right assessor equals and i want to put my email address which again is user open close parenthesis dot email okay now it's only going to show my own assessments however the big caveat here we have a lot of people here that have put assessments in here you see this yellow explanation point here that is that dreaded delegation warning that i mentioned before right there okay let me it's not quite doing it yet but here we go has a delegation warning right here again what that means is it cannot translate the query that filteritis did into a sql statement that pass to my database so to fix that i'm going to go ahead and do one more piece here i'm going to create a variable that's going to store my email address so remember how to do that again you don't have to do this guys we're in we're our app is done you guys rocked it we're just we're just kind of playing now i'm going to go to my app word up here and i'm going to add my email address as a variable right here so again i'll do a semicolon the variable command is set open parenthesis var user email whatever whatever my variable name is and then i'll do yeah the userfunction.email this is a flaw and the way it interprets these quick these queries here you cannot use the user function in a filter as of right now because it always triggers a delegation warning so instead i'm going to run my app on start i'm going to go back over here again and as i scroll down here again i'm going to change this user open close from the cd.email to var user email now that problem goes away and do i have any assessments i think everybody's deleted my assessments now so if i had any assessments we would see those here also there's one all right cb spinning please spook spitting p soup and all that all right so that is awesome so that that's a way of getting around delegation so delegation basically means that it can't interpret how your your app is working and what it does is it goes through and it turns it it sucks in all the data and it does all that locally on your app instead of in the on the sql server that's a big problem right so you can you can notice how many rows it's doing but i go to file settings and advanced settings you can see here that's going to do 500 rows at right now that can be as much as 2000 rows but here's the problem if i have more than 2 000 rows i'm a little bit screwed here in other words let's imagine i want to find out all the assessments that brian has done and brian has done assessment 2150 it's only going to do the top two thousand rows and brian's 2150 row is going to be ignored so delegation warnings should not be handled uh uh lightly you should we have a whole video is dedicated to how to fix that problem there's lots of workarounds as well in there as well okay so uh has some great questions here let's see here um all right uh when when will your app start to slow down so we have power apps that uh with galleries of 20 30 million records in many cases and for these uh 20 30 million records it only fetches a hundred million hundred records at a time so as you scroll down you'll see it shows you only a subset of those rows as you scroll down so you can make powerapps that support billions of rows if you wanted to as well uh question from pawnun paul sorry palin can i create a confirmation on delete you can absolutely do that i have a whole video on our playlist about how to do that go to the cheat sheet go to the playlist and you'll see a whole video about how to do pop-ups to confirm deletes uh also thank you guys about four of you guys anonymously gave 20 to feeding america that's awesome thank you guys for doing that all right when is a model app uh when should i do a model app over a canvas about this a little bit earlier so the canvas app gives you that pixel perfect kind of use a lot prettier application where a model driven application it's it's much more like a a form that you can't control a whole lot of and a list that you can't control a whole lot of as far as a look and feel of it goes you control what's in it but it can feel a little different so but this app right here that i'm showing you in the mall driven side takes about 10 minutes to build we spent three hours building the app today so it's a lot more work to build it this way a question here also can you update one part of the record and not the whole record without editing you could absolutely do that so in your cheat sheet well first of all it only it only is going to update part of the record there but on your cheat sheet here also it talks about a patch command at the bottom the patch command what you see right here can be very specific about what you actually update the patch commands for doing inserts and updates programmatically versus doing it through that one button there as well so a really handy way of doing it there as well all right so a few questions from that matt has come in here so if you have any questions go ahead and put those in your chat in your chat window we'll be going over some questions here as time goes on but a few kind of recap pieces the the cheat sheet that is in your chat window right now there we go this cheat sheet has a code that we covered today covers uh the coloring that we tell today the naming conventions there's also a great class that matt peterson who's in your chat window right now has written it's free it's probably the power apps in the day class you can get there by by hitting this app and a day free recording that's matt doing the class we also have a whole bunch of boot camps if you go to classes and boot camps these boot camps uh are you'll find um we actually just added one because we we sold out in the middle of this class we sold out of a few of them so this one has about one seat left this one has about eight seats left and this one we just opened up today because they were all selling out so these boot camps right now are fifty percent off they're done virtually they're in four days they start assuming you know nothing about powerapps and they work their way up they're very intimate classes with 10 to 15 people and they're they get four days of powerapps so it's much deeper knowledge in there uh my team there also is you'll find uh in the description of this video a promo code for 50 off the prices you're seeing right here so those are some uh some deep knowledge you can get from and that's me myself teaching the first boot camp but with with a few others as well daryl thank you so much for donating defeating merrick as well and a question from tracy she said that the mall driven apps look a lot like dynamics 365. tracy that's a good point the reason why it looks like dynamics 365 is because really dynamics 365 is using dataverse as its database behind the scenes additionally dynamics 365 is one big fat model driven application so as you build these these are going to look like your crm of choice salesforce dynamics whatever you might be using there and that in that side all right so um okay so question here patch function can update a single property yes it's a patch function can connect the entire row or a single property if you want uh we have a lot of great questions here matt if you see some good ones if you mind just paste something in the chat window that your you and i share right now uh so question here mention how power automate can integrate it's a great question so in our course that we did not cover today is how power automate can integrate into this so you'll notice right here that if i go into my app and i select i'll just drop a button in for for giggles here all right one of the things we can do is under the action ribbon up top i can hit power automate this gives you the ability to integrate with how power automate flows to do escalation requests perhaps that will do an approval perhaps you can also do it for like doing multi multi-phase updates or doing uh like like a data driven uh robotic process automation so all those things can be done inside of that power automate any kind of workflow you want to do will kick off asynchronously and then come back and you can say what happened after that so power automates very powerful when it holds the hand of power apps it's a good good point there from somebody all right we had a couple people actually donate one one two donated for feeding america thank you guys so much again if you're international just donate to your local food bank uh all these food banks are really struggling right now with covid a lot of them are a lot of the the shelves are bare right now and one in five of us in america and i know quite a few overseas also are struggling to put food on the table right now so your help today uh every two dollars is basically in their meal for for a family so that's really awesome thank you guys all right so question here uh is it hard to troubleshoot this without actually seeing the uh screen we have no problem uh so oh sorry that's for my about well it brings me a good point about troubleshooting so there's a number of ways you can troubleshoot a power app even if you are not like in front of the user so one of the ways is you'll see this little option right here on the left and it is the monitoring option this allows you to see what queries are going in and out what buttons are being clicked and you can do this after the fact inside over here inside of make.powerapps you can select uh whatever app you want and there is a monitor button right here so this allows you to monitor whatever application you want very very easily alright so awesome so there's also the ability again we think we mentioned as well is how do i move the app from environment to environment well if i select the details of this app one of the options here is to export package this will create a zip file of all the stuff we use today inside of your environment and then you can then import that into your other environment by going to apps and then go to import canvas app again i have a whole video on that inside of our playlist all right where's the best place to go for coding assistants and examples well again at pragmatic works we have a whole bunch of boot camps we have a whole bunch of videos we also have that on a cheat sheet i provided you there is a whole bunch of um of uh extra references there including my playlist in youtube and if you go there i have about 80 videos about one a week or so that i do for how do you do that so if you look at um uh here we go there's my cheat sheet there we go and once i find my cheat sheet i'll scroll down you'll see my playlist right here it's a good place to start with at least uh and you'll see oh look at that we actually crossed 500 you guys rock thank you guys so much for for doing that you actually hit our goal with 16 days left you guys are killing it uh and you'll see a whole bunch of videos i talked about things like doing pop-ups and all those kind of things are inside of this of this right here so uh this will help you kind of as you get into this we have a whole bunch of classes 60 classes on the power platform and azure in our trai and our on-demand platform as well so you sign up for the free account you can see a trial of those and also you sign up to recount you can see the other classes for free like the app in a day and a dashboard a day uh the flash sale uh julie if you don't my pasting that in one more time the flash shield is in the description of this video underneath me you can also find it in your chat window julie if you don't mind uh pasting that in one more time and we have a quick questions here okay um let's see here did i overlook trading discount code there it is all right have i uh thank you julie for putting that in there uh i may miss the part but how do you publish the app okay in the app form so that's a good point as you mentioned before the app remember the app we've been building right here when i go to file and save every time i do that it's saving a new version as soon as i save it it turns to a publish button also if i go and i hit the see all versions you can see that man i saved a lot today i've saved four times a day but version one is the only live version so if i happen to be a user of this and i hit this link right here we're seeing the old version of the application which doesn't do a whole lot so if i want to publish it i can hit the publish version back in that screen or i go to version so i can hit version 4 and i hit publish here the other thing to note here is i can also share it from the screen so you'll notice that when i hit share up top here that i can then share it with matt so matt who is in my audience right now i'll type in matt there he is and i can make him a co-owner of the app or just a user of the app there's a lot more rules behind this also so if i go through and i say hey i want matt to also there we go so now matt's a user of the app but not an owner of the app i could then promote him by hitting the check box and then doing that as well if he's if this is a sharepoint app i need to make sure that he also has access to sharepoint lists that i'm using as well but now that i've done that number nine app that looked like trash here for i could hit refresh and about 30 seconds later i'll now see it here there we go with our check for glucose levels and all that additionally my phone now has the application that you're seeing as well so if you sign to your phone after you publish this you'll be able to see the application you have built today as well all right so oh and matt just got an alert on his apple watch absolutely so your apple watch your iphone are all lighting up right now letting you know that there's an app out there for you that when as soon as somebody somebody shares an app now as well all right so again uh we're i'm almost out of time guys uh let me actually open up the uh the video here again if you have any questions thank you so much for those that are asking questions today matt thank you so much for answering questions in the chat window mitch thank you so much for being my uh my handy director back there and also answering questions there are a ton of class links you'll find at pragmaticworks.com there we go and the app in a day class we just mentioned you can get by going to start with for free we also do hackathons so if it's something that if this is really interesting to you and you want to train your team we can do a hackathon at your company where we train your team how to fish not with this data but your own data the private training with your own data so guys thank you so much for feeding america today and helping out there if you're watching this video two weeks from now please go ahead and add add some donations well if you like this if you like this material that's free mature we do today uh none of that money goes to us it goes right to feeding america and right to food banks all around the country so guys i'm gonna go ahead we're not at two o'clock i'm gonna sign off but thank you so much for joining us and have a wonderful day thanks
Info
Channel: Pragmatic Works
Views: 282,845
Rating: undefined out of 5
Keywords: power apps, business applications, microsoft, canvas app, canvas power app, how to build an app
Id: PEM5f9Xvn4g
Channel Id: undefined
Length: 181min 15sec (10875 seconds)
Published: Thu Feb 11 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.