logo

NJP

[E04] You & I Builder Live! Declarative Actions

Import · May 04, 2023 · video

[Music] this is all my fault you can blame me for this like what happened why is the music still playing [Music] thank you Hello everybody welcome laughs I have no idea what's going on welcome to you and I Builder live where you and I try to build something well today we're going to um hopefully if Brad got the instance issues that we were having all down we will be working on some learning what a declarative actions are and all of that so Brad go ahead and take it away screens around did this one wake up yet no all right awesome well you're doing that then I'll plug knowledge we're gonna be there um in approximately two weeks I used to have a countdown there but it started stressing me out so I took it down um they were gonna have a whole bunch of sessions at knowledge uh that are gonna be awesome if you want to come and say hi to us um I'll post some links in the chat here in a second uh we're going to be talking about stuff like we're gonna have ask the experts for theming next experience you bit you are UI Builder learning how to speak English uh we're gonna have a theming lab we're gonna have UI Builder photo booth apps uh labs and it's gonna be great you guys should uh should totally drop by and say hi to us and uh you ready Brad yeah I'm awesome go for it Brad all right so we're gonna try to do a couple of things today uh the first one is going to be um it's gonna be declarative action based so I don't think we've tackled one of these on like a public stream before uh although we do have some content out there for it so we'll build a declarative action and connect it to Something in UI Builder uh we'll talk about like why you would want to declarative action and how they're different than UI actions uh and then we may uh try our hand at some using the pagination control component uh with a repeater data resource if we have time so those are kind of my two topics that I want to try to hit today so just uh asking for a friend in the chat they're watching right now uh Brad what exactly is the declarative action yes I'm gonna get there so we're gonna we're gonna build it first and then explain it we're gonna well I was gonna show a form sorry the the instance I wanted to use for this uh kind of went went away or something so uh let's talk about let's talk about buttons and actions so hey Brad yeah do you want to introduce yourself real quick we kind of forgot something I I don't I don't wanna okay then let's continue my name's on the screen that's no we are both outbound PMS for our next experience products um I I do UI Builder workspaces all of those things and I do theming in next experience and all those things that's right I am excited about my role Earl I get to play a new ibuilder all day um all right so uh UI actions starting from the basics uh if you have been around a little while or really done anything with a form uh you know that on a form you've got lots of fields you can fill in you've got related lists down here and then you've got buttons here there's buttons in the right click menu you can put related links down here those are all controlled through UI actions uh and uh on a standard form in the classic environment which is what we're looking at right now uh there are you know really specific places you can put all these buttons um and you know they can do you know they can run server-side code or client-side code but they're all code based as well there's not really much you can do uh you know from a low code perspective with UI actions um but this is the kind of standard list uh it looks a little nicer but basically uh lists or I said lists this is a standard form uh they've kind of worked this way since the beginning uh you know I started working with servicenow in 2008 uh it it wasn't as pretty as this back then but you still kind of had a list you clicked into a record you get a form like this and there's not a ton of flexibility with the form um you can you know add formatters and UI macros and all sorts of things and kind of you know make your form a little more interactive and nicer but for the most part you know you can't like add something here or um you know add something totally random below the list or something like that it's it's pretty rigid which is when we get into workspaces uh one of the cool things about workspaces is that I have a lot more flexibility with where I can put things and I don't have to only interact with the form itself so UI actions in the form this is the old way or the current way depending on where you're at with workspaces but we're going to take a look at how we can do some configuration with workspace record Pages including adding some buttons so the first thing I'm going to do is I'm going to create a new record page because I want the standard record page so uh in Tokyo we came out with the standard record page template I think I've mentioned this on maybe last week we talked about this or two weeks ago I don't remember because I don't remember things but uh we have the standard record page template we came out in Tokyo uh it uses the new um presets and controllers uh it uses kind of a new uh tab structure and it's just a lot easier to work with than the previous record page so right now uh not all of our bu's have picked up the standard record page template yet so if you work with like service operations workspace their record page is still using the older one so at some point they will they will start using the standard record page same with some of the other workspaces I think there's at least a couple that are using the standard record page and we always call that SRP um so actually I'm not going to do this oh am I on Tokyo I want to see Utah instance is this one awake yet yeah it is all right we're switching instances somebody uh sings Some Jeopardy music while we get this one to load uh it's supposed to give me a here we go so I posted the link to a knowledge to a community article that Brad posted that has all of our uh sessions for knowledge if you want to go through that and ha it should have links to the agenda Builder on the knowledge website um so you can favorite them or take a look at them if any of the sessions are full uh odds are if you're really like keen on getting in if you go to the session and kind of stand outside there's typically a couple people who don't show up and they'll just let you in so you can always give it a shot like that um if you are uh let me see if mine is full I don't think so so if you're interested too um the ask the expert sessions are kind of a little bit more of an intimate setting where it's going to be a limited number of participants and you're going to be able to talk with product managers us uh about what's going on and learn a little bit about what's coming ahead um and ask us many questions as you want from the people who get to stare at the stuff every day um Brad what session are you most excited for um I don't know so I mean I've I've put in a lot of time and energy in my two Labs so I'm I'm uh excited to see people do the labs and I'm very excited to find out if lots of people can actually to the labs that's always my like do these Labs actually work I have people test them but you never know uh so I have uh one of the cool things that we have is the photo booth uh so I I think we can talk about this I think we've talked about this publicly before but there's going to be a next experience powered photo booth uh in a few different places at Creator con and then we have two Labs that show you how to actually build the photo booth so you build a custom component on the first lab and in the second lab you take that component put it into uib and make it work and at the end you end up with like an actual like Photo Booth app that you could use um I've done I've done some playing around with it with with my kids and they've they've enjoyed the photo booth functionality um so that'll be a fun one yeah it actually looks pretty cool I got to help out a tiny bit with that one my um mine has nothing to do with my products but I'm gonna have some fun uh explaining to 100 people what a Tamagotchi is and uh explaining to them what a cow emoji is uh in my Tamagotchi lab where I'm teaching people how angular providers work so that's exciting I I can't wait for all the questions on what they are um other than that I also have a custom component session where uh my friend and I made a menu Builder um that I still don't know if I'm going to be able to share before knowledge so I'm going to be very busy between now and then have you created your new record page yeah I think we're good awesome let's continue all right this is this is actually one of my labs this is the base version of the lab that you get uh and so since I've been working on a lot I'm familiar with it so this what we're going to use um so uh what we've got here is we've got a standard record page so if we open it up and before I uh I get uh threats in my DMs uh Paige would like me to announce that I am also very excited for the 15 and fearless discussion amongst developers who happen to be women uh session that's happening on Thursday you should totally come by and then attend the uh the women now Community Meetup right afterwards I am very excited for that it is the one I am most excited for actually nice all right uh so this is uh this is the standard record page uh we don't have the activity because uh the activity formatter is not actually added to this form if you do my lab I show you how to add the activity stream and email functionality and all sorts of things to this page so plug for building a killer workspace experience and it'll be available on demand if you cannot make it to the lab itself uh but so one of the things that I wanted to talk about was you know we talked about with the forms and the classic environment uh they're they're kind of locked down like you can add stuff uh in in the Forum in between Fields you can add buttons uh but there's really specific places you can do that one of the cool things about workspaces is that you have a lot more there's more area to play with uh so you can add additional tabs and just put whatever you want in the tab you can add more things to the header you can add things to the contextual sidebar and then you also can add buttons to the actions bar as well and we'll kind of look at that I think but one of the things that I want to do is we're going to this is the page in uib there's a lot going on on this page the standard record page but I want to show real quick what if we wanted to add like an overview tab at the beginning so let's go ahead and add an overview tab I want this tab to kind of show whatever I want it to so I'm going to hit next and we'll call it overview I don't think I need an icon we're going to hit create and then I want it to be first so we'll drag it up to the top and then we can just put something in here like uh oh I think I have put the oh no there's no image on this first misstep there we go on that first but we'll just put something uh we'll put a stylized text in here and for our keynob servers I think the right clicking features came out in Utah yes you can right click all up in the content tree here so so if you don't see that in your instance it's because it came out in Utah yes yes so let's uh one of the things that happens is uh if you have a preset enabled component which means a preset enabled component when you add it to a to a page uh will automatically map over things from a data controller and so if because there is already a controller on this page the record page has the record controller any preset enabled component is just going to assume that it's getting configured from that controller so you'll notice I have all these things that are already bound and read-only so what I'm going to do is I'm going to remove those and now I can just configure this however I want so we'll say like this is the overview tab foreign we will refresh so Dan is asking a question in the chat say someone didn't have AES but they wanted to build a workspace for a task extended scoped app similar to how service operation workspace works with sidebar slips lists Etc is that what today is about yes let me finish out this and then I will address that question so remember we had the details before I added this overview Tab and so this is what we have here the cool thing about an overview tab is um if you think about it a lot of times when somebody's looking at a record uh they don't necessarily need to interact with like they don't need to write to the record you know I I would say probably more than half the time somebody's looking at a record they just want to see like the history or they're looking for something specific so this overview tab is basically a blank canvas for you to put in whatever you think people need to know at a glance you can also make it interactive like you can add uib buttons to this so this is a really good and you know you you don't have to call it overview you can call it whatever you want or you can add you know three of these tabs but you know one of the things to think about when you're doing uh when you're working with records and UI Builder is is you're no longer tied to having to put everything on the form right there's lots more places to do things and so a lot of you know a lot of um feedback we get is like oh it's a lot harder to you know I can't put a formatter in between these fields well a lot of times there's a better way to do something than putting a formatter in between fields that was just the way we used to do it because that was the only option so you know just be thinking about like how how might I do something in this new paradigm where I have a lot more flexibility and control over this entire screen not just the form here all right and now uh Dan's question so uh I have a slide and if it was uh easier to get to I would show it uh but basically uh we we have kind of three tiers of working with workspaces so the first here is uh if you're working with a workspace you should absolutely try to work with one of our existing out of the box workspaces uh if you can't do that and you have some sort of custom application uh you probably uh have app engine studio and you can create a work work space from App engine studio for your custom application but there is kind of a third use case where you don't have app engine studio and you have some sort of um you know some sort of use case or application that's not addressed by one of our existing workspaces it is possible to build out a workspace from scratch it's just kind of hard and it is something that we will be addressing eventually and making that a little easier but right now that's pretty difficult the way most people do that is they'll get a PDI they'll open something up uh you know they'll create a workspace in the PDI and then kind of see what it generated uh from AES and then go re uh redo that in their own instance without AES it's mostly there's a bunch of ux page properties you have to create that are not all that straightforward but it is doable uh and then no we're not going to do that today you know what's really funny I just happen to have up that slide nice um in the background Earl can you share my screen and please forgive uh the sin of showing the PowerPoint edit view I just don't feel like making it full screen and figuring all that out so this is what uh he was just chatting about listen I'm just showing the screen for the peoples for one second and then we can go back I was stealing a couple of your slides for my presentation that's why I added up [Music] yeah so let's uh Let's do let's add a button all right so we're gonna do this a couple of ways so the first thing we're gonna do is we are going to create uh something that our button is going to trigger so I think we will uh I think we will do just an alert so we can we can show how to connect something to a button so the first thing that we need is a handled event uh and so this is one of the kind of the weird parts of you one of the weird parts of UI Builder uh is that uh if you click on the body container which every page has this body container uh there's some unique uh parts of this uh parts of that container that don't exist uh you know with with other containers so there's lots of different properties here that get used for different things but events um events lets you basically control these like page level events and this is where if you wanted to do something on page load there is actually a page ready event that you could you know show a message or send something to the server or do some tracking if you want to do that um but we're going to create a new event and this is a handled event so a handled event is basically I'm creating a net new event on the page that can be triggered from a few different places so I can create this event give it some behavior and then call that event from multiple places I don't have to you know redo the event handlers so what we're going to do is we're going to call this a let's call it red test because I'll remove my face what happened or I'll move my face I am a handled event no like I did so they can see the screen thank you I was confused [Laughter] all right so I have my Brad test handled event I could have called it better something better but now that I created it I can add an event handler to it so we're going to do an ADD alert notifications event handler is going to work all right so we'll call this test status I think it's info I mean the icon content is uh Brad test and then we're going to call it type dismiss um all right I'll apply that we'll click add and then let's uh let's add a button that J that uh generates that handled event so we'll add I never add things that way let's go add component after go uh fire alert and then where is the page level event handlers here it is so my handled event shows up in the event handlers now so we'll stick that there will save and we're going to open it and so now that we have I'm assuming a working button here uh we can then connect uh connect a declarative action to this button and it's going to be a process but we'll get through it you gotta love the love these Cloud Labs instances all right so I hit the button I got an alert here so that works so now I have a button here but uh you know what if I want my button to show up in my actions bar uh and so let's uh let's go ahead and do that so we're gonna try to uh do this from memory but I do have uh I I do have a cheat sheet so all right so we're going to manage declarative action configuration so I'm going to click on this where did you click so I clicked into the action bar component and then I have this manage declarative action configuration uh okay so the action bar is that thing at the top like this is the action bar yep so it's going to show me any declarative actions or UI actions uh that um that I have on this table for this experience are we going to talk about the difference between them or if they're even this one uh between UI actions and declarative actions yes we we can address that a little bit um oh did I do the pre-work here let's see all right so we're gonna go new we're gonna start with an action assignment so I will in my knowledge lab there's some step-by-step instructions on how to do this so there's we're going to create like I think six or seven records here uh so oh no there's a step I need to do before this because the form is weird all right so we're gonna do a little thing where we say there's a required field on the Forum that's hidden by default [Laughter] so if we do it like this then it'll get pre-populated all right so uh when I click new it is going to pre-populate uh anything on the form that I had in the filter well that's meat um and so it's not going to yell at me so we're gonna we're gonna call this uh action label we'll just keep everything consistent call it red test I think this has to look like that we're going to say UXF client action and then I need to create a new client action so we will call I think this is all caps and then it's going to be applicable to the form we're not going to worry about a payload but you can um you you can set a payload uh and then have that delivered as part of the event and do something based on the event payload we're not going to do that in the interest of time all right so we've got the client action we're going to make this work on the maintenance request table uh label name that's it I don't think I need an ex so specific workspace yep all right so we're going to save and then we're going to do a couple of things here we're going to go action configurations and we are absolutely looking at how to make this process a lot easier where you're not going to the classic environment and creating all these records um it's just not not something we have made it to yet now we need a ux add-on event mapping and go Brad test uh Source element ID is a UI action bar so what this is uh UI action bar this is the ID of the action bar component where it's going to show up so that that's where that comes from the macro opponent is the name of this page which is record that's not going to be hard to find I think there's going to be a bunch named record now how are you getting all of your new windows to pop up as a as a new tab instead of a pop-up uh uh I think does it it just does that really I think so it's magical I've never had that happen it's always difficult to present because they always pop up on a different window all right it may be a browser setting I don't know if anybody in the chat knows that I mean today I learned about um the auto filling uh Fields if you have an is match and is something filter that that was amazing blew my mind wide open that was a uh how do I get people to do this lab without having to like personalize the form uh and so that was that was that so now that I selected the so parent macropona a macro opponent in the uib world is the same thing as a page so every page in uib has a macroponent record um so when it says parent macromponent uh this is the record page and then these are all the handled events on the record page that I can choose so that's the one we created so I'm going to hit submit so now we have a couple more steps to do so we're gonna go look at not UI box ux form uh ux form actions I think is what we need and then we're going to create a new ux form action every every time I do this why why is it so many steps but uh let's call this spread test again declarative action I think we need to specify the table before we call the action itself that's this one and now it should be that one and I think we want to save this somebody knocked on my door how dare they all right uh we'll go ux form action layouts is the next one we need a new one we'll call this one Brad test because that's what we're calling everything let's give it a table and then an action config this is important so this is one thing if you have a new workspace um you will not have an action config yet so you have to create an action config and then map it to your workspace but any existing workspace will already have this set up for you and some of these steps if I were to add an additional action I wouldn't have to go back and redo them so the action config or the the layout is something that uh that we only have to do once I think that may be all the steps let's see it'll be magical if it just works I mean if it works on the first time that's dangerous and it did not work on the first time whoo what did I miss it felt like there was one step missing oh that's what I need all right let's go well didn't we have one of these did we not create a UI action oh no I need a ux form action ux form action layouts there we go there it is this is what we needed to do we need a new ux form action layout item how could anyone forget that so I think name and label don't really mean anything here uh it is an action uh so this is uh this layout item uh you can make your uh you can make where are we I don't have the rendered view anymore no it's the first one isn't it oh yeah you left it away from it um so I can have individual buttons here or you can have a button group so it has a drop down so I think in service operations workspace on the incident form there's like a create problem change uh incident task or whatever they are so that's how you would do a button group as well is uh through this layout item so you'll you know it can be an individual action or it can be part of a group and then we have to tell it our action just this one and then I think we need to give it a table didn't I just do this did it go away when I gave it a table here we go all right now it's going to show up I believe yay and let's see if it works it does work yay all right so that was uh that was a uh declarative action and so we can also do this with um with UI actions so let's do that real fast I think this is going to work but we'll see uh so let's add a UI action uh maybe we can see if we can get it to do the same thing all right so let's go and oh Passage um and then we're gonna say this is a workspace form button and then this is client side do I have uh um is that info message client side it's been a while no isn't there a client-side version though oh wait G form is yeah g form is okay so I think I think this might work I can't remember if there's something else oh yeah so it created a ux form action for us so let's refresh I think we're gonna get another button foreign and then did not work do we get a all right we're not gonna worry about that so uh so we did a declarative action and a UI action so one of the big differences uh obviously declarative action we don't really write any code although we did create a you know a bunch of Records so I wouldn't say it's like less complex um but one of the things that you're able to do with the declarative action is connect it to a UI Builder event so um right so we created this event in UI Builder we connected it one of the big things that people do with this is modals so it's really easy to create pretty complex modals in UI Builder uh and so if you want to connect it to firing a modal a declarative action works really well for that a UI action again is you know all you can really do in workspace is whatever you can do through the script field so there's some limitations there so that's really one of the big differences when you would use a declarative action versus a UI action is you know if there's something that's too complex to do in a script field like you can fire a modal from the script but you're kind of limited as far as what you know what happens in the modal or what's included in the modal so in that case you might want to use a declarative action um yeah I think that was the end of what I had for uh declarative actions any questions we have 18 minutes we might be able to tackle pagination in this 18 minutes so while I'm while I'm stopping for questions I'm going to create a new page uh no questions nobody has any declarative action questions no I think um here we go if you have a bunch of existing UI actions how hard is it to convert them to work in a workspace isn't that just a checkbox uh it really depends on what the UI action does so if the UI actions are just like server side then it's just the checkbox right so if your UI action is just doing something server-side not a big deal if it's doing something that isn't supported in UI Builder uh then that's a little bit bigger deal because then you have to figure out how you want it to work uh in a workspace and then convert it and make it happen in a workspace but um you know for the most part I don't know it just really depends on what the UI actions do we we have found that customers that have done a lot of like UI customizations where you know they've got um you know they've got like field decorators uh or you know this little UI macros you can put next to a field that gets a little more uh you know a little more confusing um but uh yeah UI actions it kind of depends all right here's my pagination page so I'm going to add a lookup records data resource to this page and we're going to grab I think all of the vehicle records because I know there's a bunch of them uh okay so Brad does Glide model work in UI Builder or Glide dialog window um I think there is a modal uh there is a modal method I can't remember what it is uh it I don't think it's Glide modal though is it uh I think it's like G underscore aw something I'd have to look it up you you can fire a modal through script there is a method to do it I just don't remember what it is it may be Glide modal I just don't think it is um what do I want here let's go do I have a name field vehicle name all right uh let's just grab a Glide agent workspace all right so this is my lookup records data release data resource and there's an important property on this data resource called pagination offset so we're gonna say Max results is five and then we're going to create a client State parameter called and put in and no it's a number zero will be the number and then let's go I found a an article that uh Ashley made on this Ravi um I'm having Earl paste it so that my because when I try to paste links it gets deleted apparently um so I'm having Earl send it your way on the chat for further reading yep gmodal is also on this post all right all right I'm adding a stylized text component within a repeater that's just going to show the name of our vehicle if you are in a repeater you can reference the item and the repeater a vehicle name I think we need display value using item.value all right so there we go again if you have a repeater and you look at it in the preview it's only going to show you the first thing so let's add a component after the repeater and we're going to add a pagination control component and see if this works right so we have our client State parameter that controls our offset our data resource we're only showing five at a time and this is the offset here and so with pagination control one second real quick Earl move our faces so they can see the offset not okay thank you now show them the offset we were blocking the whole part here's the pagination offset uh awesome and the uh this is a property on the data resource thank you Gabby thank you for making sure that everyone can see and follow along uh page sizes uh I don't think we're gonna show that and then total records I don't know but let's do this let's see if this works I've only messed with this a little bit so this may or may not actually work and then I think we need some sort of event here uh where page set I think we want to update this client State parameter and then what is in our payload value I bet that's just a number but let's see all right let's see if this works all right so we've got five vehicles oh it does look like it works all right so the pagination part works there are some things like controlling the records per page I bet we can do that with another client State parameter so let's go uh Records per page and I'm kind of a long uh client State parameter name person because um once you have enough client State parameters it can be really confusing to remember what they do if you abbreviate everything state oh there should be there we go all right and then I think we want the other event is there too page size set yeah I think that's the other one so records per page and then this let's go payload value that's it and I just want to comment real quick that Brad is an expert at UI Builder that has had to look at it and live and breathe the UI builder for dozens of dozens of weeks months maybe even years um don't don't be too discouraged as you're learning and picking it up that you may not be as quick as he is to find all the little different settings and tabs that you need to go to just keep hanging out and hopefully as you get more exposure with us um you'll get a lot more comfortable with UI Builder Yes I jumped into UI builder in it was a few months before Quebec came out uh and so um you know a lot of the feedback we get about UI Builder it absolutely looks really complex at first and it has a high learning curve but once you get through the learning curve and that learning curve is getting shorter I guess as as we make more improvements to UI Builder and and ease of use but once you kind of get past the learning curve for the most part the developers that I talk to enjoy using it once they kind of figure out how it works so it definitely makes more sense if you've done uh like react type development before because a lot of the um you know a lot of the design patterns and architecture are really similar to building like web components where you know client State parameters you're managing the Page's State you've got properties and and all those sorts of things and events and you're reacting to things so if you have some context with that it gets a little easier to start with all right I think maybe we will have this now no all right so we're showing five so it works when I change it it just doesn't uh I have one more idea and what are you trying to do I think I got lost oh yeah I I wasn't talking for a part of this so we have the pagination sort of working and I want to be able to control the records per page so right now it says five well I I added a parameter for it so it says 10 we can change it so if I change it to 20 then it will change but I want it to say five initially instead of 10. which I think we can do that through the page sizes when I saw you put a five somewhere I did hard code it and then I took it out oh okay why can't I change the that's weird let's just edit Json sometimes the Json editor is more complex than it needs to be so let's try this [Music] so uh Ravi has a question do you think it's better to learn react Basics before learning UI Builder and I from experience trying to learn this literal exact same question since November I think the answer is no what about you Brad I would agree with that I think uh uh I think somebody that has react Basics will probably learn it a little faster but I don't like I think you will end up uh it'll take longer if you try to learn react and then learn UI Builder than just jumping in and learning UI Builder uh and again I I haven't mentioned this but uh our custom component framework is not react it is it is like react and that it is a web component framework uh but it is not exactly react uh so you know learning reacts I I don't know should be your first step even though somebody that knows it uh learns it pretty quick when it comes to both custom components and UI Builder all right so I think that worked so now we added that five in the array and now we have five here so I could change to ten now we get 10 results I go back to five uh the big problem is that we still don't have the right total number of records and I don't think this is easily solvable uh I think this may be a gap because I don't think we get that data anywhere in this data resource uh uh well maybe we get it in an event how much time we have left like four minutes all right four minutes let's go let's do this real quick uh we're gonna go uh uh API I have an event all right payload I've had mixed success with console.er so I'm doing uh trainify analog all right and then we're going to connect this uh log client script to this data resource because I want to see what it's actually giving me uh when it fetches data successfully so I'm kind of hoping that it's going to give me the total number of records that match my um they match my query even though we're limiting it uh with the Max results but I don't know that we're going to get that so let's see and you're even getting the console to show and I couldn't do that the other day on live coding happy hour you're just your browser settings are magical uh we we get basically nothing uh great uh and the uh in the payload so that's fun hmm uh what if I get field metadata oh that gives us more stuff but I still don't think I'm gonna get yeah what I don't want to do is have a second data resource that just gets the number but that might be the right answer for now to make this work um so we'll if I have some time I may post a solution to this if I can figure it out but that's a real quick and dirty uh pagination controls so again this pagination component is not just going to set up pagination for you it's just going to help you control it right so we had all these properties and then at fires events uh when you you know change it or you set a different records per page and then you're kind of responsible for wiring all of that together and making it work which you know really only took us about 10 minutes so it's not terrible not terrible just UI Builders a little weird right just a little sometimes sometimes but the more you use the the more fun it is honestly it's it's a lot less scary now that I've uh forced myself and and I think that's the big thing when I was a a developer working at a partner I mostly work with portals so I never got the chance to touch UI builder at all so it looked like terrifying but sitting here forcing myself to watch you do this type of stuff is really making me feel a lot less scared which has been really nice um so I hope that it's having a similar effect on other people as well um but let's go ahead and wrap stuff up um we are probably not going to be back for a little while uh we don't have a live stream next week the week after that is knowledge and the week after that I'm gonna be resting from knowledge so I propose that our first uh that our next show be on June 1st Thursday so we will come up with a cool uh idea for us to do that Thursday uh once again I'm gonna plug our sessions from knowledge make sure to come and hang out and see us there uh Earl can post that link again in the chat to the link of the um is that Brad posted on community and other than that you can also find us on the third uh Wednesday of every month we have a platform Academy where we go over things that you might also find interesting if you enjoyed this live stream um we won't have one in May again because of knowledge so tune in on June for a uh for an Academy there um that's a weird link so person who we didn't introduce ourselves any last messages before we go today um yes I did have something that I totally forgot uh oh yeah we're gonna be in knowledge uh if you see me in knowledge stop me say hi I love talking to people even though even if I look like I might be kind of angry or something while I'm walking because it's sometimes my resting face uh feel free to stop me and say hi and I love meeting everybody that we only get to interact on YouTube chats or S and devs or wherever uh so yeah awesome so thank you all so much for hanging out and I hope you have a lovely rest of your Thursday and a happy weekend goodbye [Laughter] wonderful [Laughter] thank you

View original source

https://www.youtube.com/watch?v=FSf0qUo4qPQ