👉Beginner to Pro Power Apps Portals Tutorial [Full Course]

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
well good morning folks or good afternoon wherever you're at right now in the world we have people in the chat coming from argentina norway dallas all over naples looks like also welcome to welcome to this live learn from the nerds event and in this learn from nerds event it's all about powerapps portals how can we build a powerpop portal from the ground up a few things a note before we begin in the comments of this video you're going to find a few things you're going to find a link to the kind of setup instructions on how you kind of get ready for this class as well as a link to my github uh portal as well which will cover that in a moment as well all right so again welcome to our session we have a full day of full three hours ahead here uh this is meant to be a hands-on day as possible so as with all things youtube you can pause me i know i speak fast especially for my international folks for uh where english may be a second language so feel free to pause me also uh this is being recorded so you can play this back any time you want and pause me and kind of focus on on the step by step of building your first powerapp portal so let's begin all right as mentioned before this is a learn from the nerds uh learn with the nerds event and we are gonna be focused a hundred percent on building out a dataverse and powerapp portal today my name is brian knight from pragmatic works my uh twitter handle is at pragmatic works and my email address is on your screen now too as well i'm a powerapps mvp i've been a microsoft mvp for about 15 years now uh where i've been focusing on the data side and also on the powerapp side i'm also the founder of pragmaticworks we focus solely on on training around the data platform around power apps and then also on the cloud platform azure i've authored about 18 books these books are available usually at abandoned blockbuster videos on weekends i sell them in a cardboard box next to the guy who's selling the pitbulls so in case you want to find me there you'll find me this weekend at blockbuster video all right and i blog at pragmaticworks.com uh you'll also find me on youtube here so on our channel we have about 120 powerapps videos we release at least about one a week usually on powerapps videos so feel free to find me there as well all right so today's goals what we're going to do is we're going to start by building out our dataverse database we have a really simple dataverse database for building uh we'll have two tables there from that we'll then focus on building out a quick model different app just so we can see the results of our powrap portal then we'll build our first power app uh portal uh and then we'll go and actually get more advanced and try to get more more of a wizard-based powerapp portal and then we'll stylize our portal this is kind of our agenda for the day we'll see how far we get as part of this event also we have a special for our on-demand learning you can find that at the url on your screen right now or you can just go to our website at pragmatic works and enter the code uh lwtn50 to get 50 offer all our all our on-demand classes we have about uh 70 or so classes we also have a powerapp portal class that we just released a couple of days ago all right so to do this hands-on experience uh the few things you're gonna want uh you'll need either a license a powerapps it could be the free license that comes with developer edition we'll need to have a dataverse database created i'll walk you through some of those pieces and you'll need permissions from your organization to create a powerapp portal typically if you're in your own developer environment then you'll you'll be able to kind of play uh play in that environment create whatever you want it's a free license a few notes if you don't have that no worries just use this session to kind of learn more about powerapps portals or you can play me back at a later time and once you do have the the necessary things all installed all right so first of all we have let me go skip that one excuse me there we go so powerapps portals consist of the ability to expose an application to anonymous to authenticated people and also to people inside of your own active directory so allows you to build a power app that you then expose outside to tens of thousands of people normally powerapps is licensed by user by month and even by app with some licensing models powerapps portals though typically is going to be licensed by capacity so the capacity of people coming in that would be uh the minimum bar for that is usually a hundred thousand page views and the list price of that on microsoft's website's about a hundred dollars roughly for that hundred thousand page views for that microsoft hosts your web server they host your database and they host your application on that web server now additionally uh if you want to have people authenticate in there is an additional fee for that so it winds up being considered about 300 a month for your base package for powerapps portals but after you do that you can have anonymous people interacting with your application you can have people that are authenticated interacting with your application also it's going to help you build an application out very very quickly we're going to build a reasonably complex application day and we're going to do it in our three hour window so powerapps portals will allow you to get to the finish line much much faster for your application needs for example we had a county near me where we were working on a application to take uh to work on an application to receive renter's assistance during covet okay and for helping people not get uh evicted the county received that money and they're trying to distribute that money out the closest competitor was looking about a three to four month project to build this relatively complex application out at a at a really really seven figure cost to do that because of such a compact schedule with powerapps portals we were able to not knock that out in essentially a weekend and then go to production in about two to three weeks so we shaved a whole bunch of money off the budget a whole bunch of money like 90 somewhat 90s not 90 somewhat percent as well as we were able to get to get the finish line and get people the money they needed much much faster so that's one of the interesting things you can do in powerapps portals build build and build much much faster all right so powers portals consist of a whole bunch of goodies but tying all this together is something called the liquid language this is kind of your language you're going to be using that you don't have to really learn a whole lot of because it is a low code environment but if you want to take your powerapp portal the next level you can always use the liquid language to do that oh by the way with me now is matt who is uh manning our chat right now and he's going to knock on my knock on my window if he's one office away from me right now so thank you matt for helping out uh and you'll see him he has where pragmatic works on his tag so he's helping us out there if anybody has any questions awesome all right so our major components for this powerapp portal we have of course the dataverse database that's going to host our data now we can synchronize that data with outside sources if you want you can even connect to the outside source and see that data live if you wanted to as well using something called virtual connectors but our major components once we have that database defined we'll have a list to see the data that's that's actually looking at it at a dataverse view a form to enter the data and you also have these advanced forms which allow you to create a wizard where you can kind of branch code and do all sorts of neat things web roles are how you can secure your portal so you can say i only want teachers to be able to see this and students to be able to see this it gives you that ability there very easily and then you can create table permissions where a user can only see their own data so i'm able to only want to see my own applications or i want to be able to see my company's applications all that capability is all there for you some of the use cases you can use this for is really around scaling an application to outside folks so you have an unpredictable amount of users like with powerapps keep in mind you might have you have to license every individual user well powerhouse portals you're really licensed in the capacity for those people to come in so you might have uh you know you might license it for 200 members and some days you're going to spike at 200 you some days you'll leave you'll have 10 some days you might have 250. when it comes to the licensing count of powerapps portals they scale the server appropriately based on what kind of license you buy so if all of a sudden you bought 200 licenses and you have 210 people coming in it will still work if you have 500 people coming in the servers can get very very slow and it might start having timeouts so that's the the downside of that you want to make sure you you really kind of size it for those the middle middle middle range there so some common use cases we've seen around powerapps portals one of them in the education sector would be something like a drop ad request i don't want to license every student for my power app so instead what i could do is i can license it for students to sign in change their major or maybe they drop a class and add a new class they might want to enroll in some type of program perhaps you might want to reserve a gazebo at a park navy uh applying for a government grant if you're a government sector you can also use it to you know hey i'm going to report a pothole as i'm driving all sorts of neat things you can do that pothole one can actually be done anonymously right so i wouldn't need to log in for that from a corporate site i see this oftentimes for managing contracts i want to put out there a request for a proposal people sign in they upload their proposals they add all the information about the proposal their contact info all those kind of things and they can follow up and see what the status of that proposal is anytime there also you also can see it for like managing your vendors your contractors those kind of things can all be done with powerx portals okay so hopefully that gives you some of the use cases that you can use around powerapps again the main goal is scaling a power app to potentially tens of thousands of people we have some power-ups portals that have you know six-figure amount of people coming to this power-up portal each month so you can make it really really scale you just gotta make sure you license it accordingly now you can also customize things like the domain to where nobody even tells a powerapp portal so we're going to build a pretty ugly one today and that's okay right we want to focus on the functionality and how we can actually drive this so we're going to do a few things here we're going to start by building out a dataverse database this dataverse database is going to store information about your application for a program at a university so bryan university you want to enroll in our honors program and because of that we're going to log an application and we're also going to log other things in there around the your mentors maybe that people that are making recommendations for you to be applicable in this program so those are the two tables we're going to create we're going to try to get those done fairly quickly and then we're going to go ahead and build our powerapp portal with the rest of our time so we have some interesting things we're going to do let me go ahead and get rid of my slides here and let's start the code so a few things and in the comments of this video you're going to find a few links one of those links is to my github site okay and this github site i wanted to make sure it's a lot i talk fast i understand i wanted to make sure that you guys can see the step-by-step instructions that i'm following that you can also follow if you wanted to okay so this has some of the information about what tables we're creating it has just my crib notes it's not step-by-step instructions but it's roughly broad strokes in case you get lost and want to see what was that was that table name what was that column name he created all that stuff is right inside this this little readme file right here additionally if you get lost and you don't want to do the data versing you're watching this video maybe three months from when i start recording it uh in that case you can go through and you can see a on the github site you can see here this this file right here learn with the nerds uh honors program all right that solution right there you can essentially import into your environment and it would have all the tables there just none of the data you can create your own data so just go into it and you'll see the download button right here it will download the zip file that you can import into your environment if you want to skip about 20 minutes of this session all right also we have a cs test file css file that we're going to be seeing later so again you'll see that the link to that that inside of this uh additionally let's see right here i also inside the description of this video is a link on how you create your own developer account and how you create your first powerapp portal creation of the powerapp portal the first time takes about 45 minutes for microsoft to provision that portal in your environment so if you do not have that done then go ahead and just chill out just watch watch this watch the demo and have some fun with me um and kind of learn about powerapps portals but if you do have it you're great you can go ahead and we just send a number of videos out and emails out to you guys and show you how to create that portal but essentially how we're going to create the portal is right here we'll hit that and we'll actually cover that in just a moment all right so now uh and that other video does that so now if you want to import that that github you don't have to do this i'm going to walk through step by step how to do it but we can go over to solutions here and you'll see the import button up top point to that zip file that you see in github and then you will have all the stuff that we're about to create and skip all the dataverse stuff if you choose to do that all right so first step let's go to make.powerapps.com make.powerapps.com is where all the magic is going to happen today we're going to go ahead and create a lot of windows inside of that but all we want to do is go to make.powerapps.com which is going to direct you over here first step you want to do is go to the environment the appropriate environment so in my case i'm going to my personal environment an environment is a collection of all your apps has a dataverse database optionally it also will have all the other goodies on there like your users and people have rights to it your flows your chat bots all that stuff gets wrapped into an environment every environment can have a powerapp portal also which we're going to do now so make sure you have whatever environment you want selected after you do that hopefully you've already done this in the other video i'm going to show you how but just note after i click this if i were to if i did not have this done and i clicked this button it would take about 40 minutes or so to provision this powerapp portal so i'm going to go and click on it just to kind of show you what i did okay we'll go ahead and create a portal from blank which is that middle button there once i do that we'll give it a name of some sort so i'll just call it uh brian portal am i actually going to hit anything here and i would give it a name brian portal or whatever you want to call it and then i would hit create once it validates that domain so make sure you click in the white space here to go ahead and validate it and then i will hit create next i'm not going to do this right now because i've already created that portal but just note that's how you would create it now that does take this process right here once i hit create powerapps becomes extremely slow in my environment for about 40 minutes okay so just a word of warning uh i wouldn't do this you know when you're in your personal environment while we're actually doing this class all right so you'll notice here also it's going to give a domain name of some sort brianportal.poweroutsportals.com that will be the url for my my uh my item however we're not actually going to use that i'm going to hit cancel now one quest common question we get asked is yes you can change the name of that that domain there as well and have your own custom domain if you wish a very common question we get all right so what are we going to build today let me kind of show you what we're going to build let's kind of start backwards here all right here we go all right we're going to build a pretty sorry looking website like this right here we're not going to worry about stylizing it a whole lot but inside our college here our fictitious college we have a application for our honors program now i can go ahead and create a quick application right here i'll hit the create button now i'm only seeing applications that i have rights to here as well i'm going to put my score for my for my people that are outside the u.s these are our scores that are better i hope they have better score than that uh these are scores that uh that our colleges use and our high schools use to determine uh how academic a person might be i'll go ahead and say am i an alumni of this college or am i not i can upload my government id here if i say yes it will create a new screen for me and when i hit next i'll go ahead and upload upload my stuff here okay okay so you can also hit a new member in mentors excuse me to talk about what mentor we have here all right i can upload their uh their recommendation letter and then we can hit next and then i'll see that one screen because i actually have this that one piece as well so as a few pieces we have a question here from matt uh as highlighting here all right one question was my data is going to dataverse but uh um but uploaded docs uh going to a sharepoint all right so i'm not sure matt i need some clarification on that question the person wouldn't mind doing that um but your data can come from anywhere when your data lives and dataverse it can have an origin anywhere you wish so for example inside of my dataverse database you'll see something over here called data flows this is going to allow you to bring data over into the dataverse from whatever source you might have so if you have a student information system for example and i can't do it in my personal environment but this allows you to bring data from sharepoint from salesforce from sql server wherever you wish another alternative you have also is to use something called virtual connectors you'll find those on appsource this allows you to stand up your your own outside table from dataverse but have it live side by side with your other stuff as well so kind of a neat thing you can do there as well okay so thank you matt for forgotten for getting me in that one uh all right so now that we've got our our portal now create we kind of see what the end product's going to be going to be let's go ahead and actually create our dataverse solution so back in my my proper environment i'm going to go over to solutions okay now solutions that you're seeing right here at make.powerapps.com gives you the ability to create a packaged solution think about just like the word sounds we're building something we're packaging up all of our apps our users our sorry our security roles our flows all that gets packaged up into a solution so i can then email you that zip file and you can import that into your environment so think of it like a visual studio solution or a packaged offering it's like an installer basically that we're creating here so you always want to start dataverse inside of solutions now what we're going to do next is we're going to go ahead and create our new solution so i'm going to hit new solution okay again i'm at make.powerapps.com i went to solutions and it's now going to go ahead and hopefully wake up here in a moment okay all right come on let me hit cancel and try that one more time here i see it in the background it wants to show us well worst case scenario i have a backup plan also but what this is going to do for us is this will allow us to package all this up now you could also just hit the import button and point to my solution as well but it never fails to live event let me go ahead and refresh the browser and hopefully things are awake now let me oh there it goes okay all right i see a lot more solutions now let me hit new solution again there we go all right time to refresh my browser all right let's call our solution learn with the nerd solution whatever you want to call it this doesn't matter what might matter though is your publisher your publisher is ultimately who can i blame when something goes wrong think of it like a software vendor this publisher might be your department name it might be a company name i'm going to go ahead and create a new publisher i'm going to use here and i'll call that publisher learn with the nerds all right i'll do it i'll do a few times here learn with nerds and then lastly i'll do it my prefix down here learn with the nerds all right so here is what my publisher looks like i modified these two settings and i modified my prefix that prefix basically means that every table that i create will have lwtn in front of it that's going to help me kind of find my tables easier it's also going to enable me in power bi to kind of group them together and inside of things like management studio if you're a dba you'll be able to find your tables that way also okay so let's go ahead and save and we should see now learn with the nerds in this drop down box there it is i'll select that and then i'll hit create again you can pause me because you're on youtube and in case you've seen the directions on my github site we're on step four now so to kind of call out step four here let me go ahead and uh we're gonna create a few tables let me go ahead and uh open up a little instructions here on my side here uh this way excuse me that you can see all the directions on how i'm about to do we're about to go through and create a few more tables so i'm going to go inside of that learn with the nerds solution that i just created so make sure you're inside of this and i'm going to hit new and table and we're going to go through and create two tables in total you'll see the columns to my side over here um and you can kind of walk through with them with me or you can just uh get a an early preview on my side if you wanted to as well all right so our first one we want to create we're going to create our table and this table is going to be called mentor that's not mentor excuse me application okay the applications and the whole table is going to hold all the applications we have for our program you'll notice it already creates a plural version of it and there is our learn with the nerds underscore application it creates that out there for me as well i want this to be an auto number so i don't have to go out there and actually uh name each application so i'm going to call this this column right here application number and let me get rid of my oh give her my face there there we go application number and i'm also going to turn on attachments this is going to enable me to upload their government id and all those kind of things later as well so by turning on attachments here it works uh in multiple spots so for both these tables today we're going to turn on attachments one note about that is once you turn it on we cannot turn it off so it's a permanent uh creation here there's lots more settings inside of here but this is not a diverse class so we'll hit create it's get let me know that okay once you turn it on you cannot turn it off no problem i'll hit okay and now we're going to get to the columns you see on my side here first column we're going to create oh notice all the plumbing that dataverse creates here so all these columns from here to here and here are all stuff that were created for me automatically so when i create a record it knows that i am the owner of the record it knows what it was created on uh who created it and who last modified it all the attachments all those kind of things all work in that environment a common question we get asked is once you create a column and save it you cannot change data type the only exception to that is this application number because it's our primary name column it's how you and i are going to communicate when we get applications so we're going to go ahead and hit that application number and we're going to turn that into an auto number we can also go through and put prefixes on it or those kind of things but we'll leave that alone for now and then all you can see it's going to start at 1000 and work its way up right there so i'll hit done that's now an auto number field okay so um i'm cleaning your first portal does it does it create the portal yes so no that's a good question so when we created our portal earlier and hopefully before this video you created this uh it creates a number of things it's going to create your portal application it's also going to create another application called portal management and we'll see that a little bit here what portal management does for you but it automatically creates a few apps when you do that okay so let's go ahead and add some more columns now so you'll see those columns on my side right there and let's create our first one called act score again spaces are allowed it goes against every grain of existence for me as a dba to do this in the past but spaces are allowed because our users are going to see that exact column our database sees this column right here okay we'll go ahead and make that one a whole number as you can see on my side here there's my whole number right here for data type i'm going to leave them all as optional right now because i don't want to go through and and have to worry about this a whole lot so we'll hit now in a real world of course they'd be required we'll hit done and let's create a few more columns add column we have the act score let's create the sat score now again that's a whole number and as you can see these are pretty simple to do again all you're going to do is hit add column about six more times and look on my sign that kind of shows you the column names uh gpa that's going to be a decimal data type that is your grade point average in case you're curious for those outside the country all right that's how how uh your how you scored in high school and college uh next one is going to be applicant this one is a special kind of data type the applicant data type is not just a email address or a phone number or those kind of things it's going to look up against a different table now with powerapps portals if i want to lock down your record to where you can only see your own records a contact record is going to be extremely important that's how we lock down this data so in my case i'm going to make this a lookup into the contact table so lookup and i'll select contact in this list here of tables there it is not there it is contact so look up in the contact table for the applicant so this is going to store the user's information their phone number all those kind of things we're essentially creating a a key relationship a primary key relationship to the contact table we happen to call it applicant and they call it contact id but that's absolutely fine the contact table holds all of your people so i'll hit done again nothing's required add column now i want to find out our is your parent an alumni all right i apologize for any spelling errors i have here this is going to be yes no column we'll default that to no and let's create uh maybe one more one or two more columns here this will be a parent uh graduation year that's a whole number if you spell something wrong it's all good embrace the spell the spell spelling problems uh we have the parent name all right that'll be a text column we're almost done i promise the last piece are you approved is this application approved or rejected or whatever so i'm going to create one more column here this column is going to be my application status this one is going to be a choice column now there's two objects you'll see here choice and choices make sure that you choose the choice column and not the choices column the choice column is for a single select and a choice is is for a multi-select so bring one do choice right now now choice this multi-select single select all those kind of things a choice column allows you to have a drop down box in your application or inside of your portal in this case so we're not going to let our users set the step the application status but we will be doing that ourselves um so we want to go ahead and we hit the drop down box for choice we're going to create our own new choice that's reusable on n number of sites so we'll go ahead and hit new choice and we'll type in our values again you're going to see these values on my side we have pending we have and i'm just hitting enter to go the next line here we have rejected and then we have our application can also be approved okay so we've created a new choice that we can use across all the other applications and that choice is called application status with these three types right here okay so i'll hit save and then i'll make the default of that choice is going to be pending so whenever i create a new application it will default to pending state and then i'll hit done and then save okay by doing this it has now uh created our first table our next table don't worry very very fast to do we want to create uh two columns in that one i believe all right so we have our first table created now one thing you'll notice is you have some breadcrumbs up top where solutions what solution you're in and the table you're in if i click on this breadcrumb right here to go back to my solution you'll see a few things that were created here because we're referencing the contact table it referenced that we can actually remove that because i can guarantee you already have a contact table and i haven't customized it so i probably want to remove that eventually i have the application and application status i'm going to create one more table here again i'm back in this the main solution this table is gonna be called mentor or recommender or whatever you wanna call it i'm gonna call it mentor in my case uh and i'll call this this column here mentor name so no no um uh no column this time is gonna be uh an autonumber we'll actually just make the mentor's name the the key column here in this case the primary name column a primary name column is not a primary key it is not what guarantees uniqueness we'll see what guarantees uniqueness in a moment but it's just a way you and i can communicate about a certain mentor in this case again i'm going to check the option here for enable attachments just make sure we have that and then i'll hit create and then hit okay okay so what is the primary key column well if you look down here at the table name mentor matches sorry the table name mentor right here matches your column name mentor right here that's how you know that's your primary key and you'll see it right here it says uh unique identifier so that's how you know that's what represents a unique mentor in our case all right we have like one more column we're going to do here let's just create one more uh and we'll call this just relationship maybe or application let's call it application all right application and this is going to be a lookup as well it's going to relate to the parent table which was our application table you just created so our related table here is going to be somewhere in here application there we go and then i'll hit done and save all right good enough there is another column you'll see in the instructions on my side but we'll skip that for the time being and just keep on going um so we have our mentor we know the application and we'll actually be able to log that person's recommendation letter also so pretty pretty snazzy now now that we've done that we are ready to go ahead and start building out the application process the views the forms so what we have to do now when you get to a powerapp portal first step you create your dataverse columns and your schema second step you create your views and your forms these are also going to be in dataverse as well these views and forms will translate into forms and lists inside of data it's inside of the portal also after we do that we jump over to powerapps portals and we do all the the really easy work compared to what we've been doing already so most the work is is being done by this dataverse area here all right so let's go back into here again we created our tables let's go ahead and do some stuff with our tables now we'll do the easy table first we'll do the mentor table first and then the more difficult table come next so for our easy table let's go over to uh views so in our mentor table i'm gonna go ahead and select views up top this views that we're seeing up top here has is is gonna equate to a list inside of our power app this view is going to translate into this view you're seeing right here okay so what we do and we're about to do is about to create this stuff right here all right so if i go back over to my powerapp there we go there oh that's not it sorry i'm gonna find my stinking thing here there it is the view that you're gonna want when you go to the views area for mentor okay i'm in my solution you'll go to the active mentors view that's the one we're going to start with that means these these records are live records and have not been soft deleted so let's click on that word active mentors okay that will take a few seconds to open up you can do whatever you want to do with this this is your application but what i want to choose to do first of all is on the left side i'm going to go ahead and change this filter on the left side here to just show me the stuff that i created so i'm gonna go to custom and i only created one more column application so i'll click on that column and it now added it over to here where i can then move it around make it whatever i want to keep the mentor you know stretch these up and down whatever you wish to do on the right side you can also create uh filtering and you can create a sorting of your data as well anything you do there is going to impact any application that you put on top of it so if you put a an app a knowledge of an app or a canvas app or a portal app this view will impact all of those pieces right there okay so we'll save this now and then we'll publish this now okay somebody asked a good question about these solutions what are these how far these solutions really stretch one thing you're going to see i i hit save and publish and i'm going to hit back now in case you don't have a back button use your browser back button so i'm going to hit this back button but in case you don't see that just hit your browser back now the solutions here by the way this is i forgot who has the question here i apologize uh these solutions you'll notice that you can add a whole bunch of stuff cloud flows you can add power automate you can add all sort chat bots all inside of here the only thing missing right now is power bi okay but everything else in the power platform family lives in solution if you want and again the pro of these solutions i can package it up and i can now email this to you and you'll have everything you need to install on your environment or to go from dev to qa to pro it's a great question from the audience thank you for for asking that one awesome so let's now we've done our mentor table here so we did our view now we're going to create our form next so again i'll go to forms so i'm back in my my solution under mentor under forms so you want to go to your solution go to your mentor table and then select forms and then lastly look for the want the information form right here it should it should be uh had the word main next to it okay so right there see that main right there you're looking for the word main and then clicking on the word information okay the main form is the one you're gonna you're gonna build upon here now when we create this form when i want to click on this one right now we're basically create this for two purposes one purpose is going to be for our model driven app the second purpose is going to be for our portal application so we're gonna do two things here first step when you get to this form believe it or not you're actually creating your portal right now i'm going to go to the left side here and you'll see a number of icons here the icon you care about is the field listing right now and you don't care about any of the columns you've already used so you can check this to kind of eliminate the columns you care i don't care about if you choose also you can also change this filter right here to only show you the stuff that you've created so i go to custom and i only see one column that's fine i went click on it and it out now adds it here and you just drag and drop these around occasionally one problem that you that some of you guys might be seeing is i came here and this is just spinning right here nothing's happening when that happens uh pause me first of all you'll eventually say let's go let's get check access button that just means you've lost your login token hit that check access button it will spawn a new tab go ahead and authenticate in then come back here refresh and you're ready to rock and roll that happens once every few days for weeks for me but it might be happening to some of you guys in the audience right now so in case you see that just the check access button it'll re-authenticate you in all right now that you've got that done go ahead and save it and then publish it all right now additionally uh we'll we'll stop here on this one but additionally what we're going to do for each of these is this form can be used for powerapps portals and for other things as well like the module and app but i want to clone and create just the perfect form for my powrap portal to do that i'm going to go up top right where the save button is after i've saved and published this first one and i'm going to do a save as this save as it's going to open up a new window and say well what do you want to create this form for i'm going to call this just portal mentor form whatever you want to call it so in other words i'm cloning the form and why do i do that well the reason why we're doing this is we want to give a special experience for the portal i don't want my users to enter to even see the application number at this stage so i'm going to remove that column when i select it hit the delete key or hit the trash can either way up top so select application and hit the trash can now you're ready after you do that to save and publish again so now you have two forms that you basically have modified the main form and now you have this new form here called portal mentor whatever we call it so we'll use the each form for different purposes okay another example that would be hey on the the back office side i want them to see the status column of is this application approved or rejected i don't want to show that call to my users though so that you can use those kind of things to kind of uh help your users out all right so once you saved and published this one uh go up top you see you should see a back button look at this i don't have one so i'll hit my browser back button this time and i might have to hit it about three or four times until i finally get back to my solution all right cool so i think so far we've got our first table now done ready for a powerapp portal now we're ready to go ahead and get our next table and our more that complex table by a little bit here so again follow your breadcrumbs up top here i'm gonna go back to my solution and then i'm gonna go back to my application here as well now if you happen to import my solution all these steps already done so you don't worry about any of those steps so we have our table now here let's go to our views like we did last time you've already done this once before think about what view you want to touch which view you guys think it's going to be the active active view the active applications ones these other ones you're seeing here are also used by applications but we're not going to use them right now i'll hit the active application and this is our application table again our first step go ahead and change this filter to be a custom filter so you only see the stuff you care about and then add whatever columns you want so i have my application number already um i'm going to go ahead and put my i'll put an applicant in there maybe an application status and whatever columns that you think make sense to you so i went ahead and put a few of the columns in here but you do what works for you i'm going to put my applicant and the status and this is exactly what my users are going to see so you make whatever works for you click on gpa if you want whatever doesn't matter whenever you're ready though hit save and hit publish that part is now done not too complex right pretty simple okay so our next step is to hit the back button again okay and let's do our form now so under forms i'll go to our main form again just like last time this is the main form this time for applications again application forms look for the main form and hit the word information here all right so uh as we do this let's go ahead and i to me if you're if you're blind like me i may want to zoom in a little closer to the bottom here so we can kind of see this uh and let's kind of walk this form here again this one's gonna be a little more fun here first of all this application number we know that that is an auto number so i'm gonna go ahead and change this to a read only column so that makes it locked so nobody can modify that that read-only column additionally i want to go ahead and add some more columns so i'm going to go over to my abc on the left side so we did last time i'm going to change this to custom and i'm also going to say don't show me the columns once i add it and i'm just going to add all these columns just check check check check check check check all the way down and then you can rearrange it however you want to make it where it makes sense to you all right para alumni whatever you want to do sat score whatever it doesn't matter okay so that's the basics but now we need to make this look a little bit cleaner for for our applications we'll do a few more things now ideally when i'm looking at the application i want to see all the mentors so this is where it gets a little more fun so my first step on the left side you see where it says components right here i'm going to check components on the left side and i'm going to create two more tabs i'll go ahead and create one tab for my mentors and one tab for my alumni information so i have three tabs total and then i'll select my new tab here and it's going to give that a name i'll call this just uh mentor info okay you're also by the way going to want to rename on the right side here the tab name here as well so i'll just call this mentor tab just to just so it's more discoverable later from us okay cause we're gonna see this name in powerapps portals once we did that no we're ready to go ahead and move some information into this now to do that to show the mentors on this tab i'm going to go to the very bottom so i want my component section oh right there and i'm going to go right down here and i'm going to click on sub grid this sub grid is when i click on it make sure you're in the right tab when you do this it's going to show me the related so i'm going to check the related information right here the related mentors for this given application it's going to show the view that you just changed a moment ago so when i hit done there we go it's going to show me this this mentor and the application the same thing you just created now if you don't want to have this terrible name right here new sg control yada yada yada you can hit hide label on the right side and we'll get rid of that if you don't want your section label you can hide that if you want you do what works for you but that's that's the hard part of what we had to do here the next section is going to be our alumni info so let's call this alumni info and again call the tab alumni tab or whatever you want to call it as long as you can find it later that is right so and this one we're going to go ahead and add in i'm just going to go and drag over the fields so i'm looking at my alumni stuff here i'm just going to drag over the parent name into the alumni info there we go and i'm also going to drag the parent graduation year into alumni info there we go grab those two fields and alumni info and then i left everything else all right the hard stuff is now done we can save we can publish and now we're ready to go out and actually do some more goodies all right so save and publish this but we want to clone this form just like we did last time so i'm going to go over to save and do save as to clone my form okay and for this form i'll call this just portal application whatever you can call it form you you do you makes whatever it's always something you can number that never that later i'm gonna hit the save button so now we've essentially cloned the form after we published it it's gonna refresh the screen and now we're going to remove all the stuff that we don't want our users to see in the portal so we spend a few minutes now going through and just removing stuff and making it super easy for our users so to do that i don't i don't mind users in this case to see the application status i'm going to delete that so can you select it hit the delete key or hit the trash can whatever works for you i also don't want them to care about the application number so i'm just going to go i want to show it i want to have it there but not actually show it to them so i'm going to go ahead and hide that one you'll notice if you try to delete it it will actually yell you so for that one because it's my primary name column i'm just going to go ahead and hide it it's not going to break anything if i do have it there but you get the idea the applicant i'm also going to hide the advocate i don't want my users having to select their name from a list of users so i'm going to go ahead and hide that one or i can remove it either way so you can hide it or you can delete it whatever works for you all right with that now done we've killed the necessary columns we have our simple application ready i'll hit save and then i'll hit publish and then we are ready to rock and roll we have our forms now complete we have our columns now delete now we really need ideally some type of app where we can kind of see hey is this working or not right so i'm going to go back here again i'm going to hit back a few times i went ahead and saved and published this if you have not already done that okay a few things to note there's a little quirk right now and you'll notice that when i go to settings i check that box so i'm on my table right now i'm having this little bug in my environment right now it might be in your environment too on your application table and your mentor table and tour table hit settings and make sure that's checked if it's not checked you have an issue when you try to attach the government id later so i'm going to hit done and hit okay i don't know what that bug was causing that bug i just noticed it last night when i started when i started playing around and rehearsing this one more time you also want to do that also in your mentor as well so if i go back to learn the nerds i'll pick my mentor table and i'm just going to hit the settings and make sure that it's there settings enable attachment see i know i checked that box twice but for some reason it's just not sticking so i had to do it twice there now it should it should work no idea what's causing it but but uh but now that it should work all right so a great question here from um uh car carrick i think i apologize for the pronunciation there um what we're doing feels a lot like dynamics right well one of the cool things about powers portals is they give you all the plumbing of dynamics but you're not paying for dynamics so you get all that plumbing in a in a mile driven app or in a portal app and you don't have to go through and you know pay to pay the big licensing for that you're actually building it yourself or just have a canned solution in this case okay so it's an interesting question there i want to make sure i uh i do that all right so we've now created our two tables both those tables are now linked and in case you had that bug make sure you check that box like i did okay so just in case i had it in my environment you might not have that in your environment all right so now we're now ready to create our model driven application so we can see the applications coming in from our users this applications can be very quick very down and dirty but it'll be just fine for what we want to do to create this application go back to your solution and we'll go new okay we go zoom in here new insider solution app and we'll do model driven app make sure that you select the model at the modern app designer it is so much easier than the way it used to be here so select that modern app designer and hit create we are going to have this app done in just a few seconds here so i'll call this uh admissions office okay app whatever you want to call it doesn't matter and then i'll hit create sorry it's lost to water there all right so this application now is a wysiwyg what you see is what you get way of building a model during app so this is brand spanking new maybe about a month and a half old here all we're going to do is we're going to check the tables we want by going to add table right here or add page excuse me add page it's going to ask us is is this page part of a table is it part of a dashboard or what we'll pick table based view our form and hit next and then we just check our tables well i know i've got an application table there it is i know i have a mentor table and i know i have a contact table so i just checked all three of those and then now you'll see them all checked here ready to go so it's essentially going to create an app page for each of those three objects and then i'll hit add okay so this now created the application you're seeing here we're done the application process we did that app in about 30 seconds now i'll hit save to save this application out i'll then hit publish to make sure others can see this application and then lastly i'm going to hit play so we can see the application for ourself now in reality your users will go through their phone go to the tablet they'll go through the make.poor powerapps website to see the application there word is that they're the developers though we're gonna hit the play button right now okay here's our app so we can see a list of our contacts our mentors and our applications i have contacts and you may not because i have some sample data installed if you're not seeing any contacts that's absolutely fine you will not need them for anything in this in this example if i go to applications you'll see i can hit the new application this is the form that we just created with the mentor info alumni info and everything else we need to do here so we're going to leave this tab open however we're not going to do anything with it yet we're going to use this tab to see the results of what we do in our powerapp portal so now guys we've done all the hard work if you're following along with my directions i put out we are done that huge section up top and now we're down to our portal section you're going to find my crypt notes again you'll find that on my github site it's in the readme file and we're now ready to create our portal so we have a full app a database ready to go in 50 minutes ain't too shabby right so we are now ready to go ahead and make this happen so to do our powerapp portal we're going to need a few tabs open first step leave your leave that app that we just created open okay you can go back if you want whatever all right so our first step we want to do i'm going to leave one tab open that has my solution because i might be coming back and forth to the solution i have one tab open that has my actual application so i can see the data next i'm going to go over to make dot power apps if i can find it there we go make dot powerapps okay and at make.powerapps outside of my solution you'll see when i hit that portal from blank it did two things for me first thing it did is it created oh i saved that under all apps here nebby there it is oh i'm in the wrong environment that's why i got to find out which brian knight environment is the right brian knight environment that looks to be it yeah this is it admissions office so first thing that it did is make sure you're the right environment before you do this you'll see my portal application right here you're also going to see an application called portal management we're going to need both of those today to kind of play in our environment so the first app i'm going to do is i'm going to go ahead and click on portal management this is going to launch a new window for me to manage our portal later so come back to this a little bit later going back to that first tab again i'm also going to hit the three dot the ellipsis button right next to learn with the nerds that portal i created earlier and i'm gonna hit edit all right this is gonna feel a lot like a wordpress site or some kind of like content management system so we want to make sure that we're looking at this and this is where i can go ahead and make changes in a wysiwyg environment this is your portal designer here and you'll use this to kind of build out new pages and construct your portal you can also set different templates here as well lots of cool things we can do we can lock it down we can do all sorts of neat stuff so again this is kind of like your wysiwyg environment where i can go through and make changes i can call uh you know welcome to the learn with the nerds event whatever and when i watch the save button here sees a saved right now up top see the top right when i click away from that it's going to go it's going to save it really quick it auto saves every so often so as you make changes you'll see that flash from save to saved to say saving to save again so you might uh and there's no notice there's no save button here that's one of the big gotchas that from the usability side so just a word of warning as you make changes just make sure that those get saved okay first thing we'll do let's take a little tour of the environment so over here on the left we have our settings right here that we'll be using today we have our page templates that we're not going to use today that much we'll have our css all of our styling for this portal is right here we have the components right here so we're going to add our form and our list and you can add power bi reports and all sorts of cool stuff into it we also have our pages a navigation right here as well so in our case i'm gonna go ahead and hit uh new page and i'm going to create a new blank page here we go now what it's going to do is and create this page and on the right side it's going to give me the properties for this given page it feels a little bit wordpressy right kind of we're using a ui to do this now when i go up here i'll start naming the page and i'll call this uh applications okay right here now watch when i when i click away from this watch my saved right here see it goes to saving to save so give it a few seconds to save before you check may change the next thing this is this partial url is a url that you want this page to be at so i'll call this just my dash applications call whatever you want it doesn't matter click away you'll see it saves again the next thing i'll do is i don't like the default studio template i'm going to use the page with title template instead there we go so now we have i've changed this this and the template the last thing i'm gonna do is i'm gonna make sure hey you can't go to this page unless you're authenticated in so under permissions here i'm gonna say nope everybody can't go to this page anonymously so i'll flip that switch who can go to it whoever's part of this web role you can create your own web roles and assign people to it if you want but in my case i'll hit select role and i'm going to say anybody that's authenticated in can do this but i can also add my own web roles right here as well all right so when i go ahead and hit the x here it now has selected that web role for me let me get rid of my face so you can see all that clearly okay so now that we've done that we have a new page created called my app called applications the url is my applications and when i click away from that you'll see it saves again and we're ready to go ahead and do our stuff inside this page okay looking pretty good though so next step we want to do is we're going to add our first components and you'll have our power you'll see how most of the work was done in dataverse and everything we're doing here is really ancillary is that a word answer area whatever all right so i'll select this column right here see this column this is going to allow us to go ahead and whatever i have selected right here is what is where my code is going to go so i'm going to left click on that column you'll also see by the way on the bottom right way down here you'll see that there's a little html tag here if i click on that html tag we can see the html for this website including any type of the liquid language there as well okay so i'll select this column i'll go to my local plus component section right here right there and i'm going to say list on the left side by clicking list it's going to drop a list into this box that you're seeing right here okay now it's time to configure that box really really simple to do we're basically going to point this to the view that you created earlier so we have our new list right here i'll call this list uh my applications you call whatever works for you i will point to the tables called applications you can search for it if you want there we go application what view do you want to use remember that view that was called active applications you see where it's starting to play aloud this is where i'm going to point to this all right after i do that let's go down a little lower and you can see you can create a button here for create and delete and all that we're not going to do that quite yet now additionally you'll see under settings you can turn on a search bar we can also by the way see how we're going to secure this by default right now table permissions are turned on before that wasn't necessarily the case but now they're actually turned on and it makes it super super simple to do okay awesome so i'm gonna go ahead and click away from this and that should give me a preview of the applications awesome so if we wanted to play with this we could easily do that also but right now i think we're able to see how this is looking uh if you want to see what this looks like by the way you can hit the browse website button right here see that browse website button we're going to go ahead and click on that browse website button and it's going to go ahead and launch a new page and show us what the content looks like for you so you'll see in a moment one of my browser tabs right there they're launched they're mk and here we go it's going to jump right to my application but remember i locked down that page so because i secured that page it's going to re instead direct me to a login page instead additionally why is it taking so long right now what's happening is it's going through and flushing the cache and reloading the cache so my users can see the latest data anytime you make a change to your portal site it is cached and to refresh the cache you want to browse website or you can also go to a status page and refresh it that way as well so every any change you make any form change any security change make sure you browse that website to refresh the cache as you're seeing now it directed me over to this page right here now by default it's going to allow me to create a new account it'll allow me to redeem an invitation that you sent me to participate in your portal or i can authenticate with an outside provider now the question i always get asked is well what outside providers can i use right now azure id is turned on we can most certainly turn it off but if you want to see where that's at you can go over to your don't do this guys just kind of watch this i can go and select my portal which is right here i can hit details and we'll see all the identity providers where i can hit see all and see that all the ones that i can turn on optionally you can also embed your own custom one by hitting the add button and pointing to other and that could be your your uh all your oauth stuff right there to authenticate somebody into it but this is a way you can create that single sign-on most common ones of course are going to be azure facebook maybe azure b2cse pretty frequently also okay so lots of neat stuff we can do with that now okay so i'm going to close that i'll go back to the home page there let me get back a few times there we go all right so meanwhile back over here again uh in my powerapp portal i'm going to go ahead and click on azure ad personally you don't have to do this you can also hit you know register for an account there if you wanted to but i'm going to go to azure ad and i need to allow that account to i need to allow my org my um uh ad to be read by powerapps portals so what i consent on this on behalf of the organization what it's doing is there is an active directory application called whatever i call my app here microsoft crm portals here this is basically allowing this application to read the portal to get the email address and to also sign it to so i can sign people in with that okay so i'll hit i'll hit uh accept okay and now that i've done that it is going to log me in with my azure ad account all right so now here's some neat stuff about this most of you guys uh from europe for example might uh want different languages for example you can add language packs to where it will translate a lot of this into your native language it can also be multilingual to where if i say sign in i see english if you sign in you might see spanish so you can see right here the user has a preferred language and right now i only have english installed but you can actually install new language packs and then translate your your queer stuff like this into the appropriate languages some of the common entities like this right here your profile info have already been translated but you can also translate your application so your users can get the language they prefer all right you can also your user can go to manage external authentication and they can see that all right i have turned on authentication into azure id here so you can see that as well okay so once i've done that i'm getting this little preview thing here because i'm an admin by the way i can get rid of that if you want to but now i go to applications and we're going to see a few things first thing we're going to see is it's going to let me into the page the second thing we're going to see is a error not really an error it's kind of a purposeful error here it's saying i don't have permissions to see the records now why do you think that is well if you remember you might remember earlier that i turned on that check box to enable table permissions it was already turned on actually when i when that is checked what happens is on the app level whenever it goes to this that view right here it's going to say all right you told me you want to secure this list now i'm going to go ahead and look what security i have for this list and if i have no security i'm going to give you the error message you're seeing on the screen right now or if you're not part of the appropriate role i'll get the error message you see on the screen right now so we need to basically provide users the rights to see their own records so let's take a look at how we can do that back in our portal application right here the ones are the portal designer application here what we can do is we can select this uh list and you'll see that permissions this is what the option was telling you about right here and there is a i'm getting my face there there is a manage table permissions button right down here now you can get there that way or you can get there on the left side um where that little settings option is either way it works i'm going to click on that manage table permissions and it's going to launch this this uh the screen right here where i'm going to create a new permission to give you rights to see your own application so once i'm here i'll go ahead and uh zoom in so you guys can see this and i'll call this contact rights and i'll say application okay oh and i can't spell the table i want to go to is application there it is oh can't spell and uh no says learn with the nerds application that's where the prefix comes into play the access type is important here this access type is how do you want to grant rights to this data global means you can see everything so with global rights you have the ability to see not only your own records but anybody else's records contact rights mean you can only see your own records which is what we want now account rights this is where i can see your records and i can also see matt's records because you belong to the same company and then self access is more for your contact record we're not going to use it for today i'm going to choose contact access now it wants to find out well how do i get from an application to a contact well i have a foreign key name that was created when i created that lookup so if i select this name right here this is the relationship that it was automatically created between an application and a contact and there it goes create that visual representation there what rights does somebody have this table let me go ahead and give them all the rights possible i'll go ahead and check all these they can create they can read they can delete they can also attach records to it so the append two means there and then i'll hit save and then yes all right we have our first permission now created we can hit browse website and let's take a look at what happens when it refreshes the site if we did our job correctly we are not going to see any applications because we have no data inside of this yet so we did our job correctly when it refreshes and i go to applications i should hopefully see oh well nope oh i forgot one big step goodness gracious all right let me go back to that one more time what a great way to show the error message right we'll say that i meant to do it let's go back inside of this permission the piece i forgot was at the bottom very very bottom where it says what role should have this so if i hit add role i'm going to say anybody that's authenticated will be part of this but again you can create your own roles and assign people to those roles so i forgot to do that one check i'll hit save and because i'm authenticated that's a built-in role i'm going to browse website again so again anybody that's authenticated is part of that authenticated user's role it's part of the system natively now you can again create a student role if you want or an applicant role and put anybody that applies into that role if you wish as well but we'll go with this one here i'll then go over to our application oh sorry not application i'll go back over here again did i hit browse i don't i hit the hit browse yeah and i'll go to applications and let's cross our fingers and now oh look at that no rose to display uh let me show the screen here and i apologize uh as you can see it's no rose is played so our permissions problem has gone away so now we are ready to go through and actually create a way for our users to add their own applications so we have our break coming up in about 25 minutes by the way in case you're curious and so let's go ahead and create our form to actually enter the data to do this we're going to do two things we're going to go through and create a new page for the form to add to apply and then we're going to create a uh we'll point to the form we created earlier all right so let's take a look at that now okay so first step i'm going to do is go to the page area page and navigation area on the left side once i do that i'm going to go right click on applications and i'm going to create a child page underneath this so that way it's going to inherit all the security from the the parent page so i'll just hit add child page you'll see it's kind of right underneath applications now it says new page you can put it wherever you wish i find that a little bit easier for this use case at least and you can also right click and hide it if you want to as well so you only can get there certain ways up to you so now that i've done that i want to go ahead and rename that just like before so we are now going through and creating our next page we'll call this just new application okay wait a few seconds for it to save then call call the url whatever you want new dash applications there we go i'll go it's inheriting everything else so page with title it inherits all the other stuff so click in the white area to save that okay so now that we've got that we are now ready to go through and actually see what the results of this are all right so you'll see it kind of created a page it doesn't look very pretty yet so let's let's let's put a container to put our form in so on the left side left side here we'll see a little plus button here all the components we can add let's add a one column section first of all so we can kind of drop our stuff inside the column we can get rid of this later don't worry but i'm going to select this one column right here inside that new section that i just created and go back to the plus button and click form once i do that it created the form right inside that that boxed column it's going to put it wherever you have selected so make sure you have selected where you wish when you left click on the form we're now ready to go ahead and create all the necessary information so over here under name we'll go ahead and call this form new application okay and we can also reuse these though so you use existing so we can use these over and over and over again our table we're going to point to is going to be application you may want to search for it if you can if you can spell better than i can all right we'll then point to the form name this is why we created this earlier we have a portal application form right there it's going to be available for inserting so we will need a form for insert and one for edit if you want both functionalities in here next what happens when somebody hits the save button well right now they'll get a success message but instead i'm going to reroute them instead to another web page which web page i'm going to go back to the applications page the one that we created earlier all right any permissions that we need on this yeah i have table permissions already turned on that's fine and as i scroll down we get to my face here uh under advanced settings my pet peeve are these stupid capture things right here i'm going to uncheck these stupid capture stuff right here under advanced settings all right so now again the stuff i changed i went over here to create new i typed in the name i pointed application table of the the the form that we created earlier i did not change insert i am redirecting to the the list page that we created earlier and then i unchecked captcha once all that is done click in the white area on the left to save it so you see my saved right here i click it says saving to save so make sure that saves it next we should be able to browse website if you're getting notice you won't be able to preview it here but if you if you're not getting this kind of view make sure these settings are actually stacked actually stuck sometimes you'll get a little click happy go too fast and it won't actually save the stuff so make sure that you have the same stuff that you want on the right side once you're done hit browse website and let's see the fruits of our labor and how we did all right so it's going to again flush the cache reload the cache and in a moment it's going to redirect this page to the proper page oh there we go now you'll see a few things that it's done here all right so a few things it's done is it is i go i kind of condensed all the tabs into one screen not exactly what i wanted but it's good enough to kind of play with right now we'll fix that don't worry a little bit later so i'll go and actually add my sat scores my my gpa i'll add my parent is not alumni and i'll just go ahead and submit the record let's see what happens when i submit the record look what happens well it looks like it is not allowing me to see the application for some reason now why do you think that is to debug this we can go over to our application we created earlier right here if you kept it open that is and i can refresh my data by clicking this button right here oh it did work so i'm seeing the application but for some reason i'm not seeing it inside of the powerapp portal so in my case if i click on this i can see everything but an applicant oh and if i hit the little gear box right here we can see that brian knight is here but he's not associated with that application so remember we we deleted this column before so how do we fix that you can see the power up portal right here this is power up portal we did before and the applicant is gone here so we want to automatically set this applicant to your account that's signed in right now that's a winner for us if we can do that okay so to do this we're gonna go ahead and hit the back button okay and we got our we got our active application right here let's go inside for the first time today the portal management application if you have not opened that portal management application you can always open it back at make.powerapps.com pick the right to the right uh environment find the right environment that is i think i have three three three or four brian night environments here that looks to be me and then click on portal management that's gonna open up the application you're seeing right here okay you probably already have it open but just in case it's how you get back here a few things to note about portal management you're going to spend about half your time kind of tweaking stuff here and about half the time elsewhere so to do this i'm going to go and look at a few things to kind of show you what we have here first of all you'll see that whenever i hit the the azure ad before that it created a contact record for me that was not there before brian knight did not exist inside my contact table before and if i click on brian knight we can see what web roles he's in what kind of permissions he has all those kind of things are all available here so i can go related web roles and see that he's only part of the administrator one in my case what recognizes my azure id i can also create an invitation if brian was not part of my azure id right here as well okay next thing that's kind of cool here we can do under list recognize this this is the same list we created a little bit earlier that's now available here inside of this view as well so anything we do in the other portal designer will show up here as well okay the next thing we can do under basic forms this looks familiar too right this is the this is the basic form we created earlier so this form right here should correspond with this form right here see new application and new application okay so what i want you to do now is you have to get a second go to basic forms find your basic form you just created and click on new application this takes us here and it's a few cool things that we want to do now first thing you'll notice that all the properties you saw before are available to you here as well including some other additional things like tabs that you want to open up and all those i'm going to go to form options and you see captchas right here we can turn off other things we can also add instructions we can say place my instructions here add instructions here on how to fill the form out in other words you can do whatever you want but you get a lot more options here under on success we're rotting over to this other page here we can also pass in parameters on that page under additional settings this is kind of slick because as we scroll down there is two things that we care about now in case you're with us on the instructions we're on the basic form section it says go to portal management and this is in our readme file and it says basic forms new application all right so i'm going to do two things first thing i'm going to do is say that whenever you save an application i want you to automatically associate that application with the portal user that's signed in i'll do that by just checking this box here and then as i scroll down here says portal user lookup where do you want to store that contact information at well here are the relationships between this user and the contact so now i'm going to put him in the applicant column so there we go i checked applicant and now he's ready to rock and roll anytime i hit save it's going to put your username in the applicant column first win right let's really squish this though i want to go ahead and also attach files to do that i'm going to hit attach file go and zoom in here so you can see closer and where do we want to store these files at this is going to be for somebody to upload their photo id for example i want to store them either in azure blob storage or note attachments for the purpose of this example we're going to do note attachments on the left we're going to go ahead and do notes one more time all right then we can scroll down and say hey is this required those kind of things are all here i'm not going to make it required but i am going to put a label here upload your photo id please all right and you'll see it says make it required i am not going to do that and put a message so it's okay for our purpose because i'm going this number of times i'm not going to do that there's other things we're going to find inside of here later but let's go ahead and save this save and close this and let's see what the fruits of our laborers are here uh let's go ahead and re-browse the website so i'm gonna go back over here and hit the browse website button oh i gotta find it again there we go hit browse websites again there is a status page you can go to also to do this and all the details of that are part of our our power ups portals class that we have at pragmatic works all right so hit browse website is refreshing now let's see what this looks like now oh i think we're starting to come along now there were two things we were trying to do let's go ahead and pop in this pop in this oh it's gotta be a number oh check this out i made it a number if i typed in letters and i hit submit see it actually will not let me do that so dataverse automatically validates that data all right i'm going to hit submit this time but look there's no file here as well so we have a little issue again we're not seeing the file stuff let me hit submit okay now we can see that it was associated with our applicant and i can also see in the application earlier if i hit refresh that it's associated with brian knight uh question we got here from sue how would it handle anonymous users like how would i how would i do that well unfortunately they're not really anonymous and if you really want to track a user that's that's doing this uh and thank you back for catching this question also uh you're gonna have to actually get their full information right you get their their first name last name and all that kind of stuff and then you could do some filters more complex filters to limit them to only those pieces but they're not signed in so you wouldn't be able to get uh with them not signed in they wouldn't be able to see the view they're seeing right here you'd have to basically just ask for all their information first last name and all those kind of things and then not show this view right here for them okay so hopefully answer your question sue but by authenticating in whatever mechanism you want it doesn't have to be azure id it can be other things it could be facebook linkedin it could be your own authentication provider it can also be the native one built into this as well so you can do whatever you want to do sue uh i lean more towards the other stuff because i get all the people emailing me i forgot my password and all those kind of things all right so first win we got it now where this will go through and save your information into the under the application automatically second thing we need to do though is i'm not seeing that file information right now right so i need to get it to where it will actually show me the file uh the file button here so wow what could be causing that now well that looks to be a permission problem and if it can't get permissions to a table in this case it just hides the button so we need to fix that area next okay so to fix that area all right what we're gonna do is i'm gonna go back to our portal management right here okay and i need to grant you rights to that table so let's find a way to do that first step i'm gonna go to our settings area look settings area right here and i'm gonna go to the table permissions that we were in earlier you can get there a number of ways all right so this is the table permissions you saw earlier again you always can get there in this little settings button and you can hit table permissions right there okay so next step i want to go through and if you have rights to the application you should have rights to add attachments for that application and be able to see the attachments and all those kind of things so to do that i'm going to hit new permissions oh let me not do that way sorry i'm going to go ahead and select my application one that you see right here okay and when i select this you'll notice i can hit the little three dot right here you can do it number ways you can hit add child permission this way or i can go into it and hit child permissions this way either way it does the same darn thing all right so i'm going to hit new child permission in other words if i have access this this this one application you should be able to see if you have access to this you have access to this as well so i'm creating a child permission for that the child permission i'll call it child uh app notes maybe call whatever you want doesn't matter it's just for you the table is going to be the notes table remember we told it we want to save all these attachments in the notes the relationship right here is this relationship that you're seeing right here all right so if you don't see this in the drop down box if you don't see any items in the dropout box it's because you did not check the box to turn on attachments for this item for the the application one so you would need to save that make the change save it then come back here after you refresh your browser if that's the case if not it's no video it's only a small part of our demo today a question we did get asked there is can you change the logins from dawn here can you change the login page to have additional information absolutely you can add more profile information you can customize this any number of ways it is a little bit rigid in some areas but in customizing it's not necessarily easy but you can do that if you wished okay now what permissions do we want to give them let me go ahead and check a few of these guys here i'll check them all in my case to be able to attach notes to that one given mentor record i'm going to hit add roll and not forget this time to add the authenticated users to it okay let me get rid of my face again so you can see the whole thing so here's the final uh final shooting match here i get oh i didn't add the roll did i there we go okay there we go so the final look and feel is a chop is a child permission again uh from um from application to notes so it looks like this i checked all these boxes and then i hit save now after i've done that i should now be able to hit browse website and let's see how this now looks for this hit browse website okay give it a few seconds here it's going to launch that again there it goes and i'm going to go over to the application and i'll hit just i'll go right to new applications here and there we go so we have our button now down here to upload a file it's that simple it just has to be permissions problem in that case all right so so far we've got a lot of our work done but this is a pretty god-awful looking feel here isn't it it's pretty terrible in this case so what we want to do is we're going to break this up into multiple pages next we're going to create something called an advanced form to make that happen so let's go ahead and and we'll take a quick break here let's do a 10 minute break to go ahead and get away from the computer for a few minutes get stretch your legs grab a coke uh grab a pepsi whatever you want to do and we'll come back in 10 minutes to go and complete our example we're going to do an advanced form and then we'll do a few other things as well i'm going to start our timer now and i will see you guys in 10 minutes foreign all right i'm going to mute that sorry about that guys all right welcome back we've now built our basic form and now we're ready to go through and actually uh build a more advanced form that allows us to go step by step through the process we did have a few questions during break let's make sure i answer this uh scott asked a question if you build a business rule in a model driven app or in dataverse does it apply to a powerapp portal at this time those forms form business rules do not apply yet however that might change at a later date but right now uh those business rules have to be done with a few other ways like javascript and those kind of things uh great questions so we have okay yes business rules yep uh yeah they're not available as eric is chiming in here also thank you uh does the portal have uh have the ability to do uh break points yes absolutely so these portals are responsive from the first moment you do these so if i were to skinny up this website and actually shrink it way way down notice it's actually acting responsive as well as long as you follow proper proper coding styles but it's going to by default allow you to be proper coding styles you've just got to make sure you you do that so uh you honor it excuse me so again i'll show that real quick i just went skinny that way way down and as you can see it it's being responsive also with that all right cool uh i think that's a few good questions we had there i think i got most of them now all right cool so now that we've done it thank you matt again for for uh for for acting in our uh uh on my behalf in the chat windows we're getting a lot of questions just to remind you we did release a class recently for powerapps portals we have a dataverse class you released this week as well and it's all part of our on-demand platform we have about 70 classes that are out there we also have a free trial so you can try those just go to pragmaticworks.com if you decide to buy it uh there is a a coupon code out there for learn with the nerds only it's lt lwtn50 and it gives you 50 offer on demand for the year and you get access to all 50 classes all right we also do something called virtual mentoring where if you get stuck we can help you get unstuck and we have the ability to do hackathons where if you want to learn how to do this with your own data we can absolutely do that also so in those we i've done three of them this week actually we do like a one or two days of building out a into an example with your own business problems those are called hackathons and you'll find more information about that on our website also if you wish okay so we looked at this this portal beforehand and you'll notice it looks a little bit lacking to say the least now there are some ways we can make this basic form look a little bit better like for example and you don't have to do this because we're going to delete this in a moment but for example on this basic form here let me find out where that's at there we go uh one thing we could do is there is some some things to kind of basically make the tabs auto-generate steps from tabs this is on the in the portal management don't worry about doing this guys because i'm actually going to remove this in a moment but when i check this that's when i kind of show you the repercussions of this i'll hit save and close i'll then refresh our browser here we'll refresh our browser by hitting browse website again there are multiple ways of of refreshing this browser here but i just wanted to kind of show you what the the for and after image of this is going to look like all right let me go over here go ahead and do our new application there we go and now you'll see that we have a little tab system now where i can go and do blah blah blah and hit next and it kind of builds a little bit of this out for us now we it's pretty close but i want to have some more flexibility in this i want to really make have tight control what every single tab has different types of things i can do with it that's where the advanced forms come in advanced forms are going to allow you to go through and specify the fine-tooth cone exactly what do you want to do on every screen in your form you can also add javascript with that as well to have things like validation so we had a question earlier about some validation you can absolutely do that with javascript as well so let's take a look at what this advanced form looks like in our next section of this next hour or so we're going to build out an advanced form from the ground up we're going to inject it on our website and we'll see the pros and cons of it the con as you can tell advanced form it's more advanced requires a little more time the pro is you get very very tight control of what you actually do okay so good question here from uh sean can you enter can five or ten users input a form at one time absolutely we launched this for a county where they had the coveted relief funds that came in and their first day they had thousands of users all hitting the website and then hundreds of them are on concurrently that we had we picked up like eight or nine hundred concurrently but i have one website where we have you know tens of thousands of people sometimes during your peak times when they advertise hit the portal so you can absolutely have concurrency there if you ever wanted to all right it's a great question there from sean uh is there an audit trail made to the table so that's a great question there from ivor so yes you can turn on auditing where you can see the before and after image of every record who made that change and when was it made it's called change tracking ivers you'll find it under in dataverse side just check a box there to actually see that change control all right so now let's go ahead and find out how in the world do we create an advanced form so let's go over and let's open up our portal management and this is one of the things that we have to do completely in portal management so to do this let me kind of uh a little closer here so you can see all the stuff here you'll see advanced forms on the left side of the portal management application once you select it we have nothing selected right now so i'm going to go ahead and create a new uh advanced form and i'll just call this uh advanced application advanced application form you call it whatever you want to call it does it matter for the website hit the magnifying glass and it will find your starter portal so one portal can have a number of websites inside of it the starter portal is always where you start off at and you can always rename that if you wanted to as well the starting step we haven't created any steps for this form yet so we'll have to come back and change that yes you must be authenticated to actually see this form that's not going to apply in our case since we already have the page authentication there and the rest of the pieces we're going to leave as is accept this progress indicator here the progress indicator once we check it we'll put a step one of x or it will put a um it'll put a progress bar i have a title of what what tab we're on i'm going to lean towards the progress bar that's my favorite and we can also do other things inside of here you can customize that how you wish another thing you can do by the way also if somebody tries to close their window you can put up warnings saying hey you haven't saved your record yet so if you want to change that you can actually check that box and put whatever warning you know haven't saved you know whatever you want to put inside there it's up to you all right so really easy stuff to do i'm going to hit save but not save and close just save okay once i hit save i'll go to advanced form steps this is where we're basically create a step-by-step guide for our users to enter the applications this is where it makes sense guys always start on a whiteboard our application is going to has three taps it also has decision points if you say you're alumni i'm gonna show you the third tab if you say you're not an alumni i'm gonna hide their tab i have a step to also redirect you somewhere so i need to kind of build out a workflow of how this is going to do so what i would do is a whiteboard like session like this where you go through and you have your general info all right i've got my mentor info next okay this is going to be where i have a screen inside of a screen a list of all the mentors with a little plus button right here to add a new mentor that's step two step three is if over here they said my parent alumni if they check that box excuse me if oh i'm not using my uh i'm using the wrong screen i apologize guys i did it again it's my my flaw here if they check that box there then i'm going to go ahead and also include this other screen so i'll say if parent alumni then i'll show this screen right here all right which will ask the parent alumni information all right so if they don't do that i'm going to redirect them over to the list virtually complete show list all right and once they finish this way i'll go ahead and direct them that way as well all right so simple kind of flow here of how to do this uh a lot more will go inside us so this is going to be a list of all the mentors so i have like mentor one here mentor two and then they can add the plus button to add new mentors that's this is the complete guide of what we have to do to kind of finish this off here all right so let's go ahead and escape that and we're going to start to add some new steps here okay so it's really tricky at first a few big gotchas with this see this this new button right here make sure you hit that new button and not the new button up top for this the other thing to watch out for is there'll be a delete button here eventually as well right here uh make sure you always hit the delete button here and not the one here if you click the delete button here it deletes your entire uh advanced form including all the steps you created for that advanced form so be very very careful inside of that all right so uh now that we've done that let's hit advanced form okay i'll call oh a new form step now one thing one rule that i always do around these is i always label these one dash so i know it's step one and what am i going to do in step one it's my general info okay so this is this is a label just for you specifically to kind of figure out what you want to do inside this so make sure you do whatever you need to to kind of you know write the crib node you know what i have this this rule of thumb it's called my two beer rule that on a friday night when the support team calls me because they are they are uh something's broken on the website and i'm two beers into my friday night will i be able to figure out what the heck is going on this website with my two beer rule so make sure you always always always go through and name these appropriately so you can find the stuff later all right so so remember that tubular two beer rule are two tequila shots whatever it might whatever it might be or your drink of choice is two a bottle of wine rule because inevitably things break in the middle of night after you've had some some some adult beverages all right so i don't want to do a load form in this case i'm on my first step i only want to do a load tab but look at the other stuff we can do we can do conditional screens here we can do load a tab we can redirect you to a new page we can also load custom controls as well in our case we're going to load a tab again where i'm at right now is i'm on a new form step and i got there by going to advanced web form steps and i hit the new button inside that advanced form web form step okay a question here from sue what if you had multiple conditions could you say yes you're an alumni and you're also this and you're also this uh can you directed multiple websites you could absolutely do that you have to create uh if you have one big condition that you're an alumni from before 1980 for example you can build that all into one command and then direct them over the appropriate page but if you have if this then this if this and this if this and this you might create three conditions and each one of those directs you to different sites so you can absolutely do that um so very very cool and then i got vonda here's the gnt so gnt rule is always good that's my wife's as well gin and tonic all right so we have a load tab the tab that the tab the table we want to go to is our application tables go ahead and look for that application table let's give me this list of uh all these mini tables here there it is oh my application file make sure you do application table the one that has lwt in there and not the main application all right so we're going to launch this one tap what tab do you want to open up we're going to see that in the next screen in a moment here i'm going to turn on table permissions so we can enforce our security and then we go to form definition the form definition is uh what form name do you want to open up is same form we created earlier the portal form which tab do you want to open up in that form i'm going to put the general tab in here and then where is your records going to come from well my record's going to come from uh the current portal user so that way i can keep the same session if they want to all right now do you want to go ahead when i save this record do you want to save it on insert with associate with current user we've already done this before we absolutely want to do that so i'm going to check that box to associate the current user i'm going to point to the applicant again just like we did before we're just repeating the same steps over again all right now so just to make sure i recap i'll go back to general here this is my first web form step i'll hit save and close and i'll come back to it you'll see my web form step right here now if i want to go investigate that i hit this new button here to get here not the new button up top and then if you want to go back to it make sure you hit the one general info and not the step next to it so make sure you pick the step not the form so when i go into it first thing i did is give it some kind of two beer rule i went and give it a a load tab name i pointed to my my table check my permissions and then inside of here i went ahead and made sure it's inserting and i went through and said portal application form and my general tab just like that and you can also go through and say you know where is this going to come from basically doesn't come from my current portal the current portal user that's fine and then i check that box here so when you hit save it's off to the rates now additionally though i also want to show the file attachment piece so i have to redo that again here to do that under additional functionality check out the stuff we've got over here as i scroll down to the bottom of additional functionality inside that web form step is file attachment and there's the same thing we did before with our note document again the same exact stuff and i'll put you know upload your government id perfect awesome so we've got that now in place uh all right so with that now done you'll notice other things inside of here as well the piece i want to show you can also geolocate stuff but the piece i want to show you under form options at the very bottom here is custom javascript if you wanted to have more advanced kind of logic inside of this you can add whatever custom javascript logic you want i do have some videos underneath that under in our in our channel in case you're curious and we also cover that in our class as well all right back here again i'll hit save and close to finish this up and i've got our first step now ready to go all right so question we got asked is can i have a sub tab under step tab one uh now for my ui side you have to customize that that's me more like the liquid language to do that uh it's more like a each one each tab will uh you cannot have that unfortunately no you have to be kind of customized okay so with this now done we should be able to do it to two things go back to our main general tab of our advanced form not the form steps but the advanced form and we're going to set what is a starting step for this form our starting step will be the magnifying glass and will be the general info tab that we just did this is the this web form step we just did i'm going to select that and i'm going to hit save all right so our web form is step one at least is ready to go now we have some more stuff we want to do and all that but we'll come back to that in just a moment our next piece that we need to do is actually remove the old form and pop the new form here uh question about the recordings also we are going to have these recordings out there actually youtube puts them out there as soon as we finish up the session the recordings are out there youtube automatically does that all right so i want to go back now to actually use this i'm going to go back to the application i'll start an application but the uh the portal management where to go uh there we go i don't know i'm wrong i hadn't had it open before there we go all right i'm gonna go back to my forum page so i'm gonna hit the hit the pages on the top left and go over to my applications and go to new application all right here is my page that we saw before and on this form there's no way unfortunately yet in the advanced in this in this view right here to add an advanced form we're going to have to do that manually here so to do that i'm going to hit this this form that you're seeing right here and we're going to go to html view to actually fix that so i'm going to go to the html view right here all right and you'll see the code right here and we're close but we're missing a few things let me get rid of my face you can see the full code here and i'm going to zoom in a little closer here all right now this is in the cheat sheet right now we gave you guys on our on my uh my um uh page there also on my github page but what we're going to do is we're going to change this into the form that you're seeing here this is what liquid looks like by the way liquid is from the shop the company that runs shopify it's open source so i'm going to change it with this entity form instead i'm going to change it to web form and then the name i forgot it called i think it called it uh advan let me go back and find that name again i forgot what i called it so find out whatever your name is i think i called it oh that's the complete one let me get rid of that all right let me find where that's at real quick up here it is it's called my call of mine advanced application form you called yours whatever you want to call it but go back over here again and paste in that name right there so call yours whatever you want you'll find the code in that notepad also but just mental note whatever you call your name right here you want to change it there as well okay and then go ahead and save it now as soon as you save it it you're not going to be able to preview it like like you did before so i'm going to go ahead and i'm able to preview as you see but i'm going to hit browse website and let's see the results of all of our labor here all right it's going to refresh this and hopefully we see a cleaner view of that uh we'll have a a oh are we already done there it goes that's a little better okay now we don't have a progress bar yet because you only have one step so all we have is a submit button right now you'll also notice we haven't done anything that once i hit the submit button what happens it just gives you a success message and you're done so those are the types of things we have to fill out still but we're looking pretty good here we got the core now done let's go ahead and go back to picture there there we go so now we need to make our next step now to where we can actually see the mentor information next okay so to do that we're gonna go back over to uh over to this app here all right let me find that real quick here here it is the advanced form and let's go to advanced steps all right so for advanced steps we're gonna hit the new advanced step one more time right here okay and this step is gonna be two dash mentor info okay and for the mentor info we're gonna get a little information from them we want to go ahead and load a new tab like we did before almost the same steps here guys and we're going to go and say this is still the application table so find your application make sure it's application not application file we don't have a next step yet we'll have to fix that later turn on table permissions we're going to go over to form definition okay just like last time we'll go to the portal application form but this time we'll pick the mentor info tab now okay our source type is a little bit different this time our source type is gonna the data's gonna come from a previous step what previous step is it coming from it's coming from step one okay that's all the same everything else should be good to go let's hit save and close and let's see how this looks next all right we have some intentional bugs i'm gonna kind of show you and kind of work through these bugs not only bugs but features that we haven't turned on yet so we're going to kind of walk step by step through those and how to fix those so i'm intentionally going to break some stuff now so you can see how do you unbreak some things so i'm going to go back over to our website again and browse that website again and let's see what kind of error we get all right so as we do this it should hopefully open up that website here in a few seconds there we go all right and now well oh what did i forget here well it looks like it doesn't know there's a second step right now so you remember back in the previous page here back in portal management this is why we keep so many tabs open this first tab right here is not aware of the second tab so i need to go ahead and click on that one general info and change its next step right here to to mentor info okay and we can hit save now great question from sue here shouldn't the step the second step be an edit versus an insert you can do that also insert will work here it's not going to break it it will just it will inherit the the record from the other screen so we should be good on that one also all right so i'm going to hit save and close and now let me hit row's website again that was the first little bug i was trying to open to show you guys yeah we'll say that i meant to do that right all right now let's see what the next step's going to be i still have some more problems with this but now i should at least see a next button in a progress bar up top uh here we go let's see if it happens all right i have a next button i have a progress bar it's hard to see right now but i do have a progress bar i can hit next now type in some numbers okay hit next and now we'll see it kind of spins for a few seconds and now oh we're getting close here aren't we do you remember how we fixed this guy right here this this error message right here so your user does not have rights to the mentor table so we got to fix that next there's a few things we need to do around that right so we need to make sure that if you have access to the application you have access to any mentors on that application also sounds like a child right right it's like a child permission again so let's go back to our portal designer again i'm going to go over to permissions again permissions for right here on the left oh right here on the left and hit table permissions okay now this is how we left it we can see that we have one table permission well now i'm going to create a second table permission from mentor as well i can do it this way by hitting this and hit add child permission or i can go into it and do that i'm just going to hit this way add child permission and i'll call this just uh child uh mentor mentors okay i'll call it applicant mentors i'll call it whatever you want this is just again this is the beer rule again okay the table we care about is the mentor table there it is the relationship it already has a relationship from a applicant to that right here so this this is the foreign key name again from one to the other and this is automatically generated for you all right what permissions do you want them to see i want them to be able to add and delete mentors all they want and also attach them to records so i'm gonna go ahead and check all these so if you own the application you can do whatever you want to with the mentors for that application and then also going to go ahead and say authenticated users are going to inherit those rights there we go authenticated users perfect so i'll scroll down and see that so again this is what it looks like now i have child permissions child applicant mentors for mentors here's how the relationship works i'll hit save and we should see another little child permission over here now i can hit browse website and that first problem is going to go away hopefully so let's see how that looks now it's going to launch that site again i'm going to create a new one and again that's kind of what we're doing we're going to break something see the result break something see the result over and over again so i'll go to applicants we'll create a new application and let's see how this looks now all right we'll see where 50 through the app one thing that's cool though you may not notice this when i went went here it went ahead and inherited the session from the last time i was here isn't that cool that's an option you could say every time you come here you're going to create a brand new session or are you going to inherit the old session so that way you see it it kept it kept track of everything i did on the previous screen all that was here i can come back to it and it'll keep it each time for a certain period of time okay so i've got the mentor info but i'm missing the ability to create a new mentor here so i can see them but i can't create them so that's our next step how do i create a new mentor inside of this list all right so to do that we're gonna need two elements we're gonna need to be able to go ahead and add a create button and secondly we're gonna need to have a form that gets kicked off when you hit that create button so those are two steps we're gonna do we're gonna create the basic form that adds new mentors and then we're gonna create a link to that basic form okay that's a little bit more advanced keep on it's called advanced forms for a reason right they're all nice and fancy like that all right so as i go into this here let's go into our advance our portal management again there we go and you can see there's there's my application right here that we're kind of we're kind of brewing on right now let me go over to our advanced form there it is all right so and by the way there's a session i go to sessions here that's a session i keep on opening over and over again so we can see when it was created and all those kind of things so that way i can come back to it over and over again i can also remove the session or create you know so all that's all right here and you also saw under general what happens so do i start us a new session every time the form loads no i'm gonna keep i'm gonna keep on coming back the same session over and over again until they complete that session okay so now i want to create a basic form again now you saw how to create a basic form the other way before let's create one in portal management this time so i'm going to go over to basic form and i'll create a new basic form this basic form we're going to call that uh let me call it uh add mentors like that add mentor okay our table that we're going to communicate with is the mentor table perfect the form name is going to be the portal the portal mentor form that we created earlier the tab name if we don't have tabs okay i don't want not worried about that this time and it's an insert the website we want to have this on is going to be our startup starter portal so this is doing the same thing as before we're going to turn on table permissions we're also going to go to uh uh everything else looks pretty clean here if we want to allow attachments here as well we can find that under under the advanced options there's our attached files let's go ahead and check that box turn on notes turn on notes just like before and i'll say upload your recommendation letter from the mentor something like that and then i'll hit save and close okay let me just review that one more time all right so for the mentor here i have an ad mentor form pointed the mentor table i'm pointing to the form that we created earlier and then the tab doesn't really matter because it's only it's all the whole form uh we turn on table permissions and then i also went to advanced settings and i scrolled down and i turned on the table attachments so that simple all right so now that we've done that we can hit back and we now want to use that now that form this is where it gets a little bit a little bit funky here we'll call it funky right so uh to do that i'm gonna go over to the advanced forms the same one we had before and inside of advanced forms right inside of here the first thing we need to do is in the advanced web form i'm going to go to the mentor info this is where that that mentor's information is and what i'm trying to do here is i'm trying to add a new button inside of mentor info so i'm gonna go to mentor infill right here okay so to do that it's a little bit funky you have to go to related and metadata and under related and metadata you'll see this now here okay all right so uh for this this this metadata section that we're in right now under related and metadata this gives you the ability to override anything inside a powerapp portal you can turn a check a checkbox into a grouping you can group a whole bunch of items together yes no items to where they become check boxes you can make it where it says this in your application but i'm going to override that label with something else instead so it gives you the ability to override nearly any option inside of your powerapp portal in this case we want to override the uh the list to add a new button for creating a new mentor all right that's what we're trying to override now so i'm going to hit the the new advanced form metadata right here once i do that it's saying well what do you want to override do you want to override the note section the timeline control the purchase button or what do you want to do i'm going to add a new sub grid i'm going to override the sub grid now do you number before our subgrid looks like this can i might pick on our pickle guy here for example our sub grid is right here this is what a subgrid looks like okay so i can have the new mentors i'm basically trying to get this new button in our subgrid all right so i want to basically override that subgrid setting somehow uh where it might go so to do that i'll go over to sub grid now it simplifies it quite a bit down now it's asking well what is your subgrid name well i didn't really give it a better name than that i call it subgrid one terrible terrible name but we're going to go with it then it's asking well what do you want to do well i'm going to create a delete button i'll hit the delete button down here under item action delete button is done so i'm going to say if i wanted to remove mentor okay let me zoom in so you guys can see that so what did i hit the little delete button you can also say things like i want to deactivate a record for soft deletes i want to edit mentor i want to have a workflow maybe all this kind of stuff you give people rights to do you want to override any column properties in that subgrid no leave that alone all stuff but what i do want to do is hit a create button you can also get the ability people can download a list a list the list into a a consumable format like excel spreadsheets i'm going to hit create though for creating a new mentor it's going to launch a basic form the basic form i want to hit is add mentor okay and i'll call this just uh add new mentor info something like that all right so once we're done we should be able to hit save and close and then re-browse that website to see what the results of our of our labor is here so let's go over here again and browse that website okay now a great question from raymond here also is there a way to display documents in a sharepoint library and show absolutely absolutely absolutely you can do that so if you want to do that raymond i'll show you in a moment where you can actually turn on that integration it's a checkbox away from having that integration turned on to where users can actually uh as they add docs it adds in the sharepoint instead it's a great great question around that all right so and you can also show them as well in there so i went ahead and rebrowse the website i'm going to go back to my applications and new application okay and there's my mentor info oh look at that add new mentor info i'll hit the add new mentor info and i'm partially working here uh this is going to come back in a second here but i had my mentor name i could type in you know uh my mentor is kermit the frog okay if you knew kermit he's a he's a tight frog hit hit submit and there's my current the frog mentor i had the right application already associated with it all that stuff's already there matter of fact if i were to go over the application and open up 1003 i can go to my mentor info and there he is kermit the frog so this is the back office application here that you can use to see all the information here so it seems immediately there for me the only challenge is i don't see the um the file upload so i need to fix that file upload let me go back here again so when i hit add mentor i'm not seeing the upload your recommendation letter option so why do you think that is as with most things with powerapps today it comes down to permissions right you have rights to see and delete and add notes and file attachments to anything on the application but this is a whole different table this is a mentor table now so when i look at this permission set that you saw a moment ago right here i really have this one right here is not applying to mentors because i really need to create that as a sub permission of here so if you add a mentor you're allowed to add the recommendation letter for that mentor alternatively i could have turned that child permission into a global permission where you can see any notes and delete any notes uh that you have that you have permissions to but we're gonna go ahead and keep it simple and i'm gonna add a child permission underneath the mentor one that you see right here it's a child permission of a child permission i'm now two levels deep here so i'm going to add that child permission again to get here again hit the little little gear box go to table permissions to get here then hit the little dot dot dot the three dot here ellipsis and go to child permission once we do that we're going to go ahead and get rid of my face so you can see the whole thing and we'll call this uh child i always call it child so i can tell it's a child permission easily and i'll call this uh mentor notes my table is gonna be the notes table there it is note table not notes the relationship name is again this mentor associates again if you do not see this item right here if there's nothing here it's because you have not checked the box to enable attachments on that table so that's the reason why you might see that i had that bug last night and i had to kind of figure out why i wasn't doing that i'm going to turn on the permissions in this case and i'm also going to add the authenticated user role and then i'll hit save okay we've done that a few times now but now you're seeing a child permission within a child permission so i'm two levels down at this point i should be able to browse website and see what the results of that change are changes okay let's go back here again and once this refreshes here hopefully in a few seconds there we go i'll go over to application new application it's going to open up a session i already have where i'm going to add a new mentor and boom there we go i got my my recommendation letter uh now i got fonzie the bear and he is now uh recommending it's me as well there we go okay so fonzie and kermit that's some tall order right there who recommended you for the honors program surely it wasn't kermit fonzie all right so when i hit submit we'll now see my record now there and my session expires after that a few things it's kind of awkward right it tells me that it's submitted successfully but now i have to kind of go back in here again to find my record right here so there's there's 1003 right there again as soon as you may put fonty the bear in there you will be able to refresh this for example and you should be able to see let me refresh this you'll see fonzie the bear here as well okay and i can go to fonzie's record and i haven't actually put the notes here so you can see the attachments yet but but if i had the notes here you'd see attachments i'll show you how to do that towards the tail end of this session all right so we've got our sub grid now inserting one thing that's a little awkward i find is i have to go over this other page to hit add wouldn't it be nice to be able to hit the a new button right here now you may have seen this already we saw it in the last screen where we had the new button over there but let's do it here a different way so when i'm looking at the application i'll go over to our our portal designer where we've been doing the permissions in i'm going to go back to pages and i'm going to go back to applications okay and what i want to show you is when i select that list that we created first today you'll see on the right side of that list we've got a whole bunch of stuff we can do right inside the list for example create new record if i flip that i can say yes go ahead and open up a web page when you click that button and send them to the new application page i can also allow them to delete the record as well by flipping that to true so we can also turn on a search engine down here as well if you wanted to find that but by doing that click in the white area hit browse website you are right oh thank you i i said fonz i said i said fonzie not fozzie the bear i can't believe i made that mistake and i was a muppets uh you know what that's what happens when you got 2000 people watching you uh you make a mistake like a muppets mistake that will not pass a muppets trivia today anyways now that i've done that thank you very much for catching me there uh rascal rochelle and when i go over here i can now create a new record i can also go through and actually delete old records now you can control the styling of this and all that but as you can see i hit delete oh okay is it spinning there it goes i can hit delete again and it delete the record the other thing you saw here by the way is when i go here and i'm you know filling out the stuff for example if i were to try to walk away it's going to say hey you're not going to you sure you want to do that it's going to ask you a question do you want to if you leave you're going to be unsaved so it does that as well for you so a few options like that it can actually knock out for you um can we generate alerts when a new record is uh as added to form yes you can absolutely do that i'll show you a more advanced one a little bit later but you can absolutely create alerts you use a javascript to do that you can also notify people power automated course i always find myself redirecting them back here or redirecting to an information page where i then show them as well we can also by the way have had had two views one view up top that show the things that are pending like right here and then we can have another list down here showing things that are approved also so we have that ability as well awesome so with that now done we have a few more gotchas all right we have the ability to add a mentor we have the ability to add the general info i don't have the alumni information in here yet but i only want to show the alumni information if you flip that you're a parent alumni if you set that to yes then show the alumni information if you sit at the no then hide the alumni information so that's our next web form step so for the web forms this web form step okay great question here from jorge can you filter edit or delete options with status you could absolutely do that so to do that jorge all you would do is go back and create another view you create two views one with that that's been filtered uh and this is actually the data verse like we did in the first steps here you create one that's filtered to approved and one that's one that's filtered to pending and then you would automatically show those and i can share my extra time and then the day i'll show you how to do that also all right so if my org uh hey since you got a question here if my org has an existing website and want to convert it to a portal can we migrate the local logins depends on an existing website it depends on what the what technology you're using for that but i believe you can absolutely do that also depends on technology of course you can also keep the technology you have and just kind of migrate just the the oauth connection all right so we are now ready to do our page three and page four so two things you wanna do there at the end i wanna i wanna redirect you over to a a uh the list that's page four and page three is i want to show the parent alumni area all right i'm gonna do this i'm gonna hop back over to my advanced form i'm trying to find which tab i have here we go and we are now going to add in a third page here so just like we did before i'm gonna hit new advanced form step again so i'm in my advanced form i went to advanced form steps and i hit new advanced form step this is going to be i'm going to call this step five now step four i recognize i'm sorry uh step four excuse me i'm off step four is gonna be my alumni information so we'll call this and i guess i did skip one i know totally don't recognize it for that i'm going to call it for alumni info so our next step is we're going to go through and change this to a load tab just like we did before right we're gonna point to application again all right where did my application go there we go application um my next step i'm going to ignore right now i'm gonna turn on table permissions just to kind of keep things all nice and tidy some of these things in powerhouse by the way you'll turn on and you don't really have to turn them on it recognizes because of this i'm going to ignore this setting uh i do it out of a bad habit now at this point under form definition i'm going to point to my portal application form just like we did last time but this time i'll do my alumni info so all these steps are exactly the same the only difference is i'm going to point from results from the previous step and i will point to the mentor step okay easy peasy let's go ahead and hit save and close on this step so you may have noticed that from one to two to four all right easy right so now we want to go ahead and add a third step this third step is going to decide should i show you that page or should i not show you that page that's going to be a conditional step and to do this i'm going to hit new advanced form i'm then going to call this uh three condition uh parent alumni maybe parent alumni [Music] whatever you want to call it okay this is again this is the beer test can you recognize what's going on here this is not going to be a load form instead it's going to be a condition and for this condition you'll notice two things that are happening first thing it's going to ask you what table holds your condition it's the application table all right i'm going to look for that application table there we go in that application table if you successfully met that qualification your next step is to go to step four if you have not met that condition right now it's going to terminate a step next step if it fails so it's not going to do anything it's just going to assume the form is done if you did not meet the condition all right so again just make sure i restate this all right so i'm gonna turn it on also so if if if you you're gonna have a condition right here and if that condition is true then go down this page if it's false go to this page if you leave that blank it's going to dead in and finish the session so we're going to keep it that way for the time being but what i'm going to do is i'm going to call this condition i need to get a column name uh to get my column name i can't just type in parent alumni i need the actual ltw in column name the technical name for that all right so i'm going to go over here and i'm going to find my column name in my solution this is why i may have had you had had to keep that solution open earlier and for me if you followed my directions and you went with lt uh tlwtn as your azure prefix then i'll go to application and we'll see a yes no column called uh parent alumni so somewhere in here is a yes no column and i think it's parent alumni uh where'd it go right there and there it is that's the column name you want right there you do not want the nice friendly name you want the technical name so yours might not be called lt.lt lwtn it might be called something else but you can find it by going to the solution going to application looking for your parent alumni column copy that technical name and then go back to your portal management right here and then paste that in and i'm going to say equals true so if you check that you are alumni then go down this path right here for alumni info otherwise dead end so i'm going to hit save and close all right now just like the mistake we made before we're about to make the same mistake again on step two here i need to tell you that your next step is to go to step three so i'm going to open up step two by hitting two mentor info and say the next step is to go to the condition all right now the question from sue earlier what if this what if this what if this we can have a whole bunch of conditions stacked okay so you failed that condition let's look at condition four you filled that one it's good condition five you feel that you're done so you can absolutely do that and the conditions do have the ability under the condition to actually do like ampersands and all that to find out you must be this condition and this condition so you must be a certain gender and you must have a category a category code of x y and z so you absolutely can do those kind of things sue back to your original question so i'm going to save this i should have almost all my stuff done but i want to test drive this one more time so i'm going to go over to my portal and i'm going to go ahead and browse the website and let's take a look at this okay uh and we'll get rid of my face so you guys can see that and while i'm doing that oh there we go and while i'm doing that let's see if it actually did it all right it's loading up right now can we publish and use this form on a mobile application please give an idea of what of how to access some form using a mobile app this is a question from sidra hassan and you can absolutely i mean you want you to publish this this is this is mobile friendly from the first moment right think of this you go into a college website and you click on a page to apply for some kind of program financial aid or whatever you authenticate in and then you see the page just like you would see it on on a tablet device it would just be compressed down right i would i would go into here there we go and can just can and conditionally shrink this down look how it's automatically stacking stuff here so it would look just like this on a mobile phone where it's where it's automatically much easier to do this so yes it's mobile friendly from the first moment oh and i bought it again to chill my face instead of that so if i clean this down shrink it down you can now see how it actually stacks the records for you all right so let me go ahead and create my record again here and we'll create our new mentor all right boom boom boom boom boom hit uh next mentor info would add a new mentor here we go okay i think miss piggy is uh my my mentor this time i went i'm not going to submit her i her recommendation letter but now if i hit next notice if i hit previous here on my last screen i said no i'm not alumni let me say yes you are alumni now hit next and now i get the alumni section so i go ahead and pop in that information if i had said no i'm not an alumni let's see what happens then hit next and now it completes a form and completes a session awesome so we now have the branching now working and so if we want to go ahead and fix that problem now we want to go ahead and actually the last problem i want to fix i'm going to route them over to a new page if instead of seeing this alert i want to direct you back over to the main application page which is this one right here that's our last little web form step we're going to do so let's go back there one more time see how many tabs you keep open when you're doing a powerapp portal it's pretty obscene right let's go ahead and hit a new advanced form step one more time this one's going to be very very easy though all we want to tell what to do this is step i think five now right uh we'll say redirect to list and we'll tell at this time to redirect the none of this stuff really matters here i just want to go ahead and tell them to redirect over to a web page hit the magnifying glass the web page i want to go to is the application page so this is uh this is the way of doing that and then i can go ahead and save and close and there we go but now i need to tell i'm going to change a few things now to point to step five nothing's pointing to step five right we know step five is accessible a few different ways so one way it's accessible is by going over to uh step four here right i'm on the alumni screen the next step should be step five to go ahead and redirect that's that's one way it's available the other way it's available is this condition step so go to condition step and if if you don't meet this condition then the the else here is going to be step five to redirect the list and then hit save and close so a few questions we normally get right about now also one question is can i have a signature page at the end you have this application that has some really critical information inside of it right you have to have some kind of affidavit at the end saying i acknowledge yadda yadda you can absolutely do that what you would do is you create sections of all your affidavits in the model different application in that form we created earlier create a tab and they would basically have a signature pad that signature at the bottom to type their name hit their date and they're ready to go another question from eric is can you use a dynamic style business process flow as an option in the progress bar well you have four different option types that we can do eric and if i go over to general here let me play with a few of these here so you can kind of see what somebody's look like i'm going to go to progress bar and i'll i'll change it instead to step one of in for example and you can kind of customize these a little bit but unfortunately the full business process flow that we're talking about here this this is inside my general tab here the full business process flow is not available you have to kind of uh really really make this uh uh kind of do what you want to do so i can change it to title change it to this uh let's start with this for the time being i'll hit save and we'll see both of those eric i'll change it next time i come back here as well so you can see the three that you have available all right so this is back in my advanced form step under i keep on forgetting to show my screen i apologize my full camera uh and i have step one of in this time eric so let's try and go back over here again and re-browse that website where is it there it is re-browse the website now we should now have it redirect back to the the known good area this time so we should have solved that problem we're also going to see what eric's question is here and try a few of these different progress bars you can stylize those progress bars with css by the way and we'll talk about that stylization in a moment so i'll hit new i'll paste in my oh this is step one of three this time put in some junk here and you can override this by the way i'll hit next mentor info i'll hit next and then i route back over to the main page here so our last step is now working so that was that was one way of seeing that now eric's question let's see the other other way of seeing those visuals let me go back here again i'm going to go over to the advanced form am i the right one advanced form it does not feel like the right one there we go i'm going to change this this time under advanced forms i'll change the title this time at the top and again you could pre-pinned a step in front as well the title you can also do a number of other things here as well but let's go ahead and save this and let's now re-browse the website and again you could override what it says there as well you may have seen that uh if you're if you're at a keen eye may have seen that other ones let me re-browse the website let's see how this one looks all right you guys can decide which one you like the best i'm wedding clips to refresh now there it goes refreshing i'll hit create i think it's done refreshing there it goes this is closer eric to what you wanted this has the step numbers and we can see along the way where i'm like where's my journey along the way here so as i do stuff here we can hit next it's not full business process flows that you get you get in dynamics but it is pretty snazzy i like this myself the best but whatever works for you right so it's personal preference you can now keep mine i called my tab names kind of interesting interesting things like one two three so you can of course shorten that as well but it's cause i checked that box there awesome so we are looking pretty good now i think so now our next step i want to stylize this this looks this looks pretty trashy right we want to put some style on this to make it look a little bit cleaner so the first thing i'm going to do to get my style i'm going to go over to that github site i brought you to earlier again it's in the description of this video i'm going to download the css file you're seeing right here so there's my css file i'm going to go ahead and just download it uh all right where's my download button there it is oh nope or you can create it as well i think i should create it this way we can go ahead and do it a number of ways let's go ahead i'm going to go and grab this this file though and snag it all right so a few things you can do i'm just going to bring this over to notepad and uh go to the file there we go and i can get i can get a number of ways but i'm going to snag this file and i'm going to put it inside of notepad all right i can then customize it with my own kind of colors and all those kind of things here as well but now i'm going to go ahead and do a file save as and i will put uh on my desktop or wherever i want to put i'll just call this i'm going to make sure i have this called you know brian.css call your own name whatever you want to do all right then you can go ahead and customize the colors for your own backgrounds your own centering and all those kind of things so essentially i went through and and kind of change a lot of the common stuff that i like to change you do what works for you though how i found these these these uh these css entries here is i basically went through our site that we created and i right clicked on certain elements like this mentor info i hit inspect and i tried to find all right what does it call it was it calling that guy it's calling it tab title for example so then you'll see and somewhere in my thing here uh tab title is somewhere in here i believe there it is tab titles in here so that's kind of how i found out the different elements to work with but now that we've done that let's go over to our portal designer which was right too many different tabs here here we go our portal designer and our goal here guys is we want to give the ability to make this portal look a little bit more branded a little prettier you can of course at any point change your logo just upload a new logo here change your name all that stuff super super simple but i noticed a few things this this bar up top is really too thin so i'm going to increase the size of that in the css so uh that that's one of the elements we changed uh there is other areas that you can do as well but let's go over to our css button our themes button on the left side for our first time today let me get to my face if i can kind of get some questions here as well a question from santa savannah is there a faster way to browse websites uh besides returning to the portal page i think we were asking savannah is there a faster way to refresh the cash i believe right if that's a question question yes there's a status page you can go to uh and i forgot my url here but there's a uh under a hidden page that you can go to and you just hit refresh cache and it does all that work for you so you can absolutely do that all right so i'm going to go ahead and upload the css that i created i think it was called brian.css [Music] right there so we'll see brian.css is now being uploaded okay and we'll see a copy of that css at a moment here as well there it is there's our css file again just to kind of recap what i did there i went to the little paintbrush icon here under themes i then uploaded my css and that and you'll see the css right there you'll see also portals basically using bootstrap so if you are an html developer you can go ahead and build your own bootstrap code if you want to as well to make it easier to do so uh but you don't want to alter this this bootstrap code because this is being updated by microsoft typically but you can add your own css to further enhance it and add your own html on there so next thing i'm going to do is i'm going to turn on the basic theming this is going to allow us to look at all the themes that we have access to we can change a theme find a better one that we like okay so again under the under that little paint brush here you can go ahead and find you know whatever purple whatever works for you i'll go with that terrible color purple right there all right once i do that you'll notice that i can also hit the three dot next to any of these themes and hit customize by doing that it's going to clone the theme and i have my own purple theme now where i can then go over to the right here and change it to brian's ugly theme call whatever you want there's your primary color your header colors all those things are right here as well and once you click outside of that to save it you can then browse your website and let it all soak in all the changes you make now if you're better i'm sure a lot most of you guys are better at css than i am i want to give you some basic css though you can kind of play with and start your journey off a little cleaner there so after i browse that website we should now have some purple sites all right looks pretty clean and we can go to applications okay we'll see our applications here purple button we can hit create button and then we got uh all right we have a mixture of blue and purple because my css has blue and the theme has has purple so unfortunately we have a little bit of that there as well um all right so a question from sue how can you connect a css to only one portal app when you have multiple portal apps well this is actually a portal app can have multiple websites so this is actually the css only tied to this one portal website in this case now you can create more websites underneath that one portal sue and each of those can have their own css as well okay so now you're noticing that we have a little cleaner view we have mentor info all nice and boxed up and i can hit next then we'll see our applications our other thing went away so this is a bug unfortunately inside of of oh wait a minute yeah there we go uh so i have my area here note it's a bug where i'm not seeing my general info tab up top here so as i hit next then i get the clean mentor info after that so i've got some clean stuff and some stuff that's missing a header up top so if i say yes here i'm missing a header here and i'm missing i've got a header here mentor info but i'm missing i probably have a header here also yeah so i have my alumni info so i'm missing it on the first page well this is a a little bit of a silly bug here so uh and it's been here for for quite some time where it's missing it's missing that some of the tabs here so to solve this problem we have to work around this this is a really easy way but it's a little bit goofy uh you don't have to do this if you don't want to guys but i want to kind of show you how to fix the bug so you have this on the recording so you can figure out how to fix this later yourself so first step we're going to do is i'm going to go over to my solution find where my solution is there it is application i'll go to my forms and i'll open up my portal application form my big boy that i created earlier all right i'll go inside of that form it's going to open up now unfortunately what it's missing is the word general so i'm going to go ahead and first of all rename that and call it whatever i want to call it uh let's call this just general info and i'll type in general info here also general info here as well let's see if it actually picks it up now i'll save it i'll publish it after i put the name in here and i have a feeling that's not going to do it let me go ahead and rebrowse the website okay and once i rebrowse the website hopefully here he'll launch this with this again and we'll see that tab up there now sometimes that works and sometimes it doesn't let's see if it actually works this time new application it's not working right now see the general info is not here yet so i need to find a way to make that work i was hoping it would work but sometimes it does not so my next step is inside of this this is a silly part and for that i apologize i didn't code it i'm only the user here right only the trainer so to do that i'm going to hit the switch to classic button up here this is the classic dynamics view that you had in the past it's asking well why in the world would you want to do that because there's a bug all right and i'll hit uh skip and it's going to open up here and in a few seconds all i have to do is find my general info tab right here you imagine having this view in the past it looks funny doesn't it i'm going to double click on general info i'm going to go ahead and and just make a small change and so i'm going to hit ok and believe it or not i'll hit save here and then i'll hit publish here top left and that little silly change by not changing anything but by saving and publishing it hopefully now that if i browse the website again refresh this cache hopefully here now it will now have that change we're about to find out if the magic stuck all right here we go go to application new application and hopefully oh it didn't do it all right this is what i was worried about so sometimes you have to kind of go in here and actually go to classic mode and i have to actually make a change so i was hoping it wouldn't make me do this but i'm gonna call this information and actually type some new name i know it's silly guys i apologize uh hit okay hit save hit publish and that should hopefully do it and then we can close out of this now okay and hopefully now i didn't just create two forms did i about to find out that's what happened guys i created a second form and which one of these actually has the fix i don't know we'll see uh i i created two i suppose let me do that it actually popped i hit save as versus save by accident uh it is this form let me go to the other one that is that all this stuff's pointing to and actually fix that one instead all right go back here no i think i got i don't know which one i fixed all right no problem so let me go back over here again re-browse the website i think the problem there is i cloned it and that's why it's not working there it is where's my browse website there it's not there it is all right re-browse this website and i always keep a separate window when i'm normally coding i'll have a status page there hit the refresh each time so now that i do that i think i'm pointing the wrong form still so i think it's still not going to be working here but i can fix that oh no it didn't work pretty good working to general info so i just had to change something in the form and now it's now it's working i know it's silly but unfortunately that's the way it is sometimes all right so let's want to kind of show you uh yeah what uh how to get around that okay so now we have a pretty slick looking form i think uh we have some styling that's been done some terrible styling we have our own style that's been done a little better and there's a few more things we can do just to kind of show you what the end result might look like so in this application that you've been seeing if i go to the back office application and remember fonzie the bear i think we uploaded kermit uh fonz fo fawzi the bear i'm going to fix that once and for all there we go for my friend that actually caught me on that notice there's no attachments here for this application so when i went over to the general i saw no attachments so how do i see those attachments well that's a mistake i made earlier when i when i checked the box it wasn't actually checking the box for show attachments it didn't stick in other words what i need to do is modify this form to allow me to see the timeline control so to do that i'm going to go back over to my solution again all right here i'm going to select my main form right here and i want to get the timeline control into this first thing i want to do is is go ahead and select the white area and go to formatting and make it a two column form so i can see there's space over here for my other stuff and you can specify how much space you want like i want to make mine like 60 40 for example or whatever you want to do then the same thing applies by doing this also applies in a powerapp portal so as you make these multi-column kind of things a powerapp portal will respect all those also so let me go in here i'm going to drop under under the component section i'm going to drag over the timeline control right here and i'm going to drag it over the right side i'm not going to do any kind of fancy stuff here i'm just going to save and publish it so we can see what the results of my labor order you can also by the way integrate sharepoint in this as well so you can see the sharepoint list that's storing all those docs for a fawzi to bear as well so if i go back here now and i go back to the application i just had open uh which is this one right here i should be able to hard refresh this now and see the timeline control and i know i must have done attachments for this one let me go through and actually create a new application with attachment so we can kind of see that so i'll go ahead and call this blah blah blah gpa is whatever uh i'm going to choose a attachment i'll pick uh my attachment right uh here account png hit uh oh let me find a bit more more secure one of that uh brian webinar there we go pbo that's a that's a power bi file with that one either i am batting over two here let me go into my pictures and upload a spongebob squarepants picture here we go one of these is good all right cool i'll hit next it does have a limit the size of file you can also adjust that limit by the way i was able to upload there so now if i go back to that application i'll go back to the new one i just finished up that's 1007 here there's my file i just uploaded and when i click on that file we'll see it actually is opening up brian keys oh and you can't see it but that's one of my youtube little videos right there awesome so same thing would apply to the mentors seeing the recommendation letters and all that i'll go to mentor info i would click on a mentor on one right here i just gotta modify the form to have that timeline control also we have a lot of great questions let me go off camera here just to kind of see some of these questions here um all right it depends on what you want uh oh nevermind we have i think matt's already been doing a great job answering those questions all right so the other common things we get asked about uh we had a question earlier from some of our friends out on the audience is how can i change some of these what do i do to actually see the administration section for this if i go home and i look for the administration section for this powerapp portal right here i can hit the three dot right here all right go to details and we will then see that the url will see the authentication providers and all that i can then though uh if i go if i go to settings i can then launch administrative tools here and under administrative tools oh after it authenticates in oh they've moved it now i think i moved it somewhere else fancy now i'm about to see something new here we're gonna learn together i must have missed that all right there we go no they haven't moved it nevermind i was getting all excited here's our portal name we can convert that into a oh did i i did it again here oh goodness i'm sorry matt uh thank you for catching me buddy all right let me kind of start start back here again so how i got here guys i hit the uh on the home ribbon i hit the three dot next to um next to the uh my powerapp portal right here i went to details or settings either way and then i can go to settings if i want to get there again and then administration all right once you're here it's going to launch that one website sorry about that guys about the the uh seeing the full cam there again and by the way while i'm showing this if you have any questions go ahead and put those in there here now we have about five minutes left i'll try to answer as many of those questions as i can uh what it's going to open up is this right here and this is where you can see a few things we can go ahead and make this convert this into a production site by hitting convert we can also at any point say yeah i want to get the new and greatest the greatest stuff here so as they release new versions um this portal is available for early upgrades may not want to do that in production but you can do that if you wanted to additionally this is where for the person to ask a question about sharepoint earlier we can also uh integrate with sharepoint here as well to do that once this comes open there we go you'll see set up power bi integration and set up sharepoint integration right here those two options will allow you to host power bi reports right inside of your power app portal and you can show a sharepoint list right there as well you can also turn off and on only certain ip address ranges should be able to see this portal and my favorite area is under portal actions where you can do a few things this is some important stuff right here you can of course restart your portal you have a bug you can upload the translations right here translations for having multiple languages you can also be careful don't do reset portal that will go ahead and wipe and load some of your stuff there but your base url you can change that base url here to be a new url you can also change the parent url if you wanted to as well now the part that i always set is this let me do this one here here we go is the enable diagnostic logging if i click on that and uh i would then set an azure blob storage to where i want to store the diagnostic information from my portal in production this doesn't slow things down it just kind of stores any kind of errors that your users might see into those log files for 30 days if you want to see it dynamically if you want to see it on the page itself while you're developing only do this while you're developing or in qa you're going to click this box right here and you can hit disable and it's now no longer going to show the nice friendly error message to your users it's going to show the gnarly.net error message but it's going to help you though diagnose those error messages a lot easier so by doing this it'll allow you to actually debug much much more efficiently but make sure you turn it off before you go to production also so by doing that now if i ever have any kind of misconfigurations or whatnot it will tell me why it's being misconfigured uh sharepoint integration yep that was over here uh right here under sharepoint integration this is going to ask me where i want to go ahead and just enable that and i hit enable it's going to now turn on the ability for my attachments to be inside a sharepoint so it's kind of a handy way of doing that also all right so we have about two more minutes for questions i'm not seeing any matt matter any i'm missing out on here all right looks like we got some okay awesome i think i may have answered all of your questions now on the sharepoint integration just so you know there's some more stuff you have to do at the environment level as well to specify what sharepoint site you want to go to what list but it essentially for every record that you create every application it would create a sharepoint folder for that application and all the files will go underneath that folder so it's kind of a handy way of doing that if you wanted to i think it's pretty darn cool and it's a lot cheaper to store files there than storing it inside of dataverse but the the interface is a little bit clunkier so it's a little bit clunkier i do have a video on how to do that in case you're curious though also all right guys well just to kind of recap we did a lot today we went through and we created a power a dataverse our powerapp portal we did some advanced stuff in that inside that powerapp portal also there's a lot more to this as you can imagine and this is part of our powerapps portal class that we offer as part of our on-demand platform you can again find that coupon code and put it up one more time just so you have that coupon code for later there we go so you can always get back to this later uh there is a url directly at the bottom let me get rid of my face there as well but thank you so much for coming today we have a few links here uh all the links i talked about today are in the in the description of this video you'll find a link to the github and in that github link has all the notes that i was using today to kind of walk through this example it also by the way in case you're curious uh you can download that solution file and if you want to install that solution and skip all the dataverse steps again you just go over to your make.powerapps go to solutions and then hit the uh hit the import button up here and then browse out to my solution instead all right it looks like we may have uh caught everybody's questions i think uh i will put my contact info again one more time on the screen uh and actually show the screen uh so one more time i am a uh b night at pragmaticworks.com and a few of the ways we can help you we of course have the ability to do things like we do these in hackathons all the time we do it on demand learning and then we also have some boot camps we do around this also that you'll all find at pragmaticworks.com have a great day guys and thank you for joining me for this longer three hour session on powerapps portals uh but thank you again have a great day and i will see you on the internet take care
Info
Channel: Pragmatic Works
Views: 57,740
Rating: undefined out of 5
Keywords: power apps, powerapps, microsoft, brian knight, pragmatic works, power apps portals, power apps demo, power apps tutorial, business apps, business applications, how to build an app, what is power apps portals, Dataverse, Model-Driven App
Id: FMv-Mbmz9o4
Channel Id: undefined
Length: 179min 1sec (10741 seconds)
Published: Thu Aug 12 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.