logo

NJP

Using the new repeater component in UI Builder

Import · Feb 12, 2022 · video

[Music] hey everybody happy new year and welcome to live coding happy hour i know it's a little bit past new year but for us this is the new year of content on live coding happy hour if you're new to live coding happier let me tell you what you're in for this is what i like to call the antithesis of a well-polished demo it is plus servicenow developer advocates and product managers and uh trying to get something done on the now platform and it's constituent parts we have a goal we know what we want to do we have a tool set and we're going to try and get there so that you can see how the sausage is made where we spin our knees and maybe try to avoid some things or learn some things share if you're watching live jump in the chat we're going to scratch our heads and a lot of times somebody out there knows what's going on so now you know what i mean by not a well-polished demo this is how it goes we want to show you how developers really work but before we do that i want to go around and do some introductions so let's go oh clockwise as we read the screen that way that's me i'm clockwise hello everybody my name is brad tilton i am a senior developer advocate here at servicenow i've been in the ecosystem for a little over 13 years been with servicenow for the last five um yeah that's me i think ashley you're next on the clock hi um i'm ashley snyder um i am an outbound product manager here at servicenow for the ui builder and next experience teams been with servicenow for about a month but i've been working on the platform for the past six years hi everyone i'm earl ducay i'm a developer advocate here at servicenow almost five years on the platform and i'm still pretending like i know what i'm doing and they keep accepting me into these shows so oops and my name is chuck tomasi senior developer advocate somebody said there was a little bit of latency i might be able to adjust that here don't know we'll try not sure what's going to happen on this show it's so unpredictable been with servicenow since 2010 was a customer for a couple of years before then so let's go around and introduce our drinks all right i am today drinking a um this is a dogfish head uh utopia's barrel-aged stout this is one of my favorite beers so i thought it'd be a great way to kick off uh the year i don't normally go with the high abv beers on shows that i'm driving but uh let's do it all right i'll go next um so i am drinking also a stout it is athletic brewing's lodge life um it's actually a non-alcoholic beer it's pretty good though it tastes like vanilla and cinnamon and chocolate i have wanted to try that beer really badly since i saw it and they don't have it in my area oh i'm sorry it's really good all of their other beers i love but that one i couldn't find i'm drinking uh i i drank this on the show before but it's a early bird stout with coffee in it um i'm pacific standard time so this is right after i eat lunch which makes me really sleepy and so i i need i need stuff that really wakes me up so nice dark stouts i'm gonna break the step tradition i've got a scottish style amber ale i've got kilt lifter from four peaks brewing right here in the area this was provided courtesy of mark scott who was over last week singing karaoke with me for several hours and uh we had a good time we had a lot of pizza we did not get to that beer so i still have well after this one five left so we might see this one again soon all right earl i saw you sneak a link up there and that's a good reminder for me to remind everybody if you go to devlink.sn san diego you will get our master directory of all this content we are doing this in chapters of a season so each week we're going to bring you a different theme or in the case of this one it's so big we have to have two weeks of ui builder and next experience things so keep your eye out for that we will have links you can set your schedules and say oh that second week of march is really what i'm after so creator toolbox blog if there's a podcast on that week it will align with the same topic live coding happy hour you've got up to four opportunities to really drill in and get the history of a topic and see how it's made and a great demo and then well there's live coding happy hour so with that introduction i think i'm going to leave you with that uh brad's driving right i am right go for it all right um hopefully we don't get the pink screen again soon which has been happening uh so today this is uh now next experience week week one of next experience two weeks so today we are going to be looking at the repeater functionality in ui builder this some functionality i've been waiting for for a long time uh this is you know i think if you're working with some with jelly or service portal you know one of the first things that you learn how to do that really feels like you know you have some power now and you can make things happen is when you learn how uh to loop through things and then you know display each of the items on the screen and make lists or cards or all sorts of things and so we had that functionality in ui builder uh through um uh what's the things called uh the acronym you thinking ebam i was thinking evam i knew it was an e i totally blinked uh i kept wanting to say espn so i don't know what's going on uh through evam uh but evam requires a good amount of work to set up and then on the back end it's pretty um or in ui builder it's kind of rigid what you can do with it um so that's uh that's what was there and now we're going to look at the repeater component which is something you can kind of loop through so i don't know is that screen like that for everybody watching anybody else see a pink screen it looks fine to me oh it looks good okay it's fine no we're so when i'm sorry when i see my screen in stream you are which is our streaming platform it looks almost totally pink i can't see anything oh oh yeah that looks good for everybody else well this will be interesting since you're driving well i can see it on my monitor fine so all right we're going to get into ui builder and yeah so let's get in here uh the uh i should say what our use case is so we have kind of done some things around this on the show before but we have an internal tool that the dev advocates built i think dave and josh built it way back when called artifact manager and this is how we manage all of the content that we produce we produce blogs and live shows and recorded videos and podcasts and webinars and we have to manage all of that all of that stuff and track it and track the views and all of those things so we do that through an app called artifact manager that we just kind of use in the standard forms and lists i'm never happy with the standard forms and lists and so we've made artifact manager like uis before but only part of the way on shows and i'm hoping that we can make a functional one for artifact manager on this show and uh so artifact we artifact manager we have all these artifacts uh i guess i could show it uh anyway we have all these artifacts and then uh we also have a short link generator uh where we can generate devlink.sn something uh and so a lot of times artifacts have short links but there's no connection and they don't always have short links and so i want an easy way where i can look at a list of artifacts see if it has a short link and if not generate one and so we're going to build that ui here in ui builder so this is a very simple home page that i put together for our artifact manager workspace uh it already says artifact manager home uh it looks beautiful so far and i have i i pre-built a data resource called artifacts and short urls uh and it's generated it's basically generating me a whole bunch of objects where each artifact is an object and then i did a search to where if that artifact has a corresponding short url that shows up as well so those are two different tables and they're not actually linked so there's some querying going on so this is a transform data resource like here's one so this was the mvp announcement has a short link here and so that shows up under short url so basically i want to loop through this list of stuff and show it on the page uh each of them in whatever format i want so you could do this through a list or you could do it through evam but right now i have total control over everything so i i could zoom in but ui builder does not like to be zoomed in any more than this so you guys let me know or y'all let me know if i need to zoom in more you seem to be fine okay and then i have uh yeah i i probably have too many things in this list actually so let's let's edit this query a little bit um let's just say a planned published day on the last three months uh where's on oh on all right so that should give us a little less i don't know okay so uh what we want to do i'm going to add another container in here and y'all feel free to jump in and ask questions or say things have we hit anything that's new in san diego um on the interface that you've already touched on we have hit things and i have not talked about it um so the big thing that people may notice is new is uh the the whole layout system was redone uh so i already did this but if you look at an existing page it'll ask you hey do you want to update this page's layout to the new layout system and when you do you have a whole lot i don't know that you have that many more options but it it is formatted a whole lot better over here so it's a lot easier to format the containers and everything so i've got all this alignment and then i can add a lot of css stuff where i don't necessarily have to know how to how to work the margins i i never remember where the four um you know margins of padding i don't remember which ones first i probably should i've done enough front-end stuff but i don't so i could you know i can do that through here um but yeah this whole layout system is new which is cool uh i want this to be underneath though i'm sure most css designers out there still google most of those things yeah uh let's go down more ah this drives me crazy sometimes oh i totally messed this up here we're just gonna put it down there and be be okay with it all right so the the way to start this is by repeater uh so this is a new we'll call it a component uh i think it's a little more um it's a little more um like i guess it technically is a component but it's more than just a regular component so we're going to add the repeater component and you'll see there are some helpful instructions down in the bottom right on how you set up that repeater component but it mainly has this one property uh which takes in an array um probably an array of objects this can be a fairly complex array of objects so you can go more than one level deep although the autocomplete doesn't always doesn't always work if you do that so we're going to do that and bind the output of our data resource this has also changed a little bit where i think we now have these little icons and this functionality is a little bit easier to use i think output yeah all right so this is that data resource this is the output if we want to see what this actually looks like it's this thing so our output is this whole array of things so we've got that there i'm going to save this all right and then now that i added some output uh it tells me uh that i've got 52 items uh in this repeater so that's kind of nice you you know pretty quickly uh if you have failed at adding the correct format of the json there but we've got 52 items i probably put too much in the list but oh well um so that's right ctrl s to save faster i usually do that i just uh i'm not didn't do it all right so what we're going to do is we're going to come into the repeater and add a component and i think for now let's just do um let's just do some stylized text actually i want to add a container first it's always better to add a container and then put stuff inside of it and then let's do some stylized text and put put maybe the name of what i'm doing in it so notice when i come over here it's telling me hey this component is actually inside of a repeater so whatever you're doing here you're inside of a repeater it's going to get repeated so let's do the dynamic data binding and then if i go at i have a new option here which is item so my uh i gave my repeater an array and so each item in the array is represented as item here and so my my item is an object so i'm gonna hit item and then value and then here's all of my all of my different properties on that on that object so let's start with uh let's start with short description and then let's make it let's make it a div and then let's go to this container and give it a little bit of padding how's that beautiful and so and so one of the things you'll notice and something uh this to me this feels like expanding and collapsing uh except uh it's actually adding and removing properties uh and so maybe chris johnson is going to be on next week maybe we'll uh we'll mention that sam but yeah that tripped me up a few times when i was playing with this i'm like why is this not saving at least it changes live for you so you'll notice that we have 52 items in the repeater component but only one shows up here and that is to make editing easier right you don't want all of that stuff on your page if you've used a lot of ui builder you know the more you put on the page you know that's on the back end that's a whole lot more json and uh it's just harder to work with um so you only see one on the page so i'm gonna say so that threw me off at first i was like where's all my stuff so let's save it and then open it and test it out it worked everyone drink all right so we've got all of our all of our items here and oh it's really easy the page doesn't scroll which do we have to do something to that's interesting that's all right the page i guess doesn't need to it doesn't need a scroll you wanted to scroll but phil wants it to paginate yeah i guess both good all right so we should add some more things in here uh so flow designer so let's let's add i'm going to make this container uh do a row and we've got stylized text uh does my container maybe this container i need to tell it to go uh like full height maybe grow what do we think grow does did not work yeah scrolls let me check and see real scrolls is it is it a workspace thing maybe i just pop mine in the csm workspace ah we'll we'll figure that out uh we'll figure that out later all right uh so that was that one uh so we have to go we have a question in the chat uh moody coda uh is asking how nuanced is the css for the repeater that is a great question and it is something i want to look at um so i will say uh there is if you go to the docs i think it's the docs has some documentation on this and there is an index value that you can access i believe uh when you're in the item uh so you you should be able to do something um maybe you can use a formula for conditional css maybe that's a good next week topic um but i think you should be able to do that um and and we may get to it but that's that's a really good question i had the same uh i had the same question in my head when i was messing around with this the other day um all right so that's the title we want uh the state of the artifact the date and then the uh if it has a short url so let's add some more things in here i'm going to add a component after and i guess for now we'll just make all of these divs this is the fun part oh i there's also a bug that uh you don't get the ampersand that's not 90 percent you don't get the at symbol um if you select it from the list so that was short description we want the publish date so that's there and then we'll kind of style these in a minute and let's add the state actually really wanted the state first i'm kind of tripped up by that two things declared as divs are showing up on the same span line yeah it's the flex box well it's flexbox okay yeah so this is the so if i just click on item i don't get the at symbol so i don't have the auto complete so i have to hit add item value and then we want the state and then we're gonna do one more i know this is riveting um item value i could do some copy pasting but we're past that oh i did state i wanted a short url here or did i do yeah short earl take a drink all right so did this beautiful uh set of run together div show up for everybody oh there they are on new lines that's not what i want it's what i wanted i want it to show up the way that it looks that's fun [Laughter] now let's dive for an hour trying to debunk that part it's very annoying i knew i was going to run into some uh formatting issues uh just because i'm i'm not generally a great uh a great css person what if we change this to a grid oh let's do this yeah i really like that feature a lot where you can set the columns and the rows right there um oh that's just because the past you had to actually go in the code to do that yeah yeah that's that is wonderful and then can we add i think about the pain and suffering of doing that in in service portal yeah do you know how it's rendering the grid is it like css grid oh let's see because like in portal you could do the um bootstrap columns and then it'll resize for mobile easily earl css grid is the most powerful layout system in css i'll shut up so there you go uh well yeah let's see how this worked i wonder uh i wonder if there's something messed up with this workspace is it because it's the divs though maybe you think the what else when we've made them spans yeah or try a paragraph or something oh yeah let's paragraph spray better than spam although it doesn't paragraph has it have its own here let's try spans and see well once you hit save four more times before that's right log out and log back in we'll see if it i works i as i was building that data resource yesterday uh i uh i was troubleshooting it and then finally closed out a ui builder and opened it back up and it worked and in my head i was like ah andrew's right again because that's what he always asks me to do yeah kirk thinks it's the um the divs also all right let's see if you're right kirk go ahead and zebra your instance real quick this what's dope program dev um oh yeah why is this not i don't want to spend the whole time troubleshooting this i there has been some weird stuff happening in this instance so that's probably what it is um you know what let's do this if that doesn't work we're gonna we're gonna move on to the next phase so there's a question this builder is totally new um so this is ui builder it did come out in quebec um it got enhanced a little bit in rome and then there's some some good enhancements that happened in the san diego release as well so this is uh it's been around since quebec but keeps getting better where did my stuff go now it's not even here what's happening did my uh data resource return stuff yeah just just blame the high abv alcohol [Laughter] i wish it was that i'd just not even don't drink in code kids um yeah it seems to be there it's just not showing a new eye builder didn't here let's uh let's reload it's kind of amazing that we're able to run um a different show creator toolbox that doesn't have these kind of hiccups as much as live coding happy hour yeah so now i see your repeater doesn't have a little badge next to it i think my uh it's probably a really poorly written uh transform data resource i'm pretty sure it doesn't loop that was a joke it definitely doesn't um wow so just in case it's the data resource let's let's uh right now it's querying a bunch of stuff so let's say this week we should just get like a few of them yeah i think that was it ooh this will work this will work for us no it's still giving us 52 6. all right so let's see if that did it well this is upsetting to me but uh i'm sure i'll figure it out five minutes after we get off this call why it's not rendering right um but anyway uh one of the things that i wanted to do uh is if it doesn't have a short url uh i wanted to have a button that creates a short url for it so we need to do a couple of things here so i believe we can edit the component visibility here and test value hide component uh so we can say so i want to if there's no i guess if there's no um there's no short url it's probably not going to show up anyway but we just want that to go away is oh i need to use all right now we're showing off one of the other san diego features in ui builder which is the new formulas i have not uh let's reduce ui builder formulas sure formula editor all right so we have this formula editor now uh where i can say uh i can use an if statement so oh dude does this have to be true or false for that one yeah and if you start typing it it'll actually show you the um the arguments that it takes uh but i can't do a i can't say is it uh all right so i think it could be an expression it's true or false like you put equals or greater than or something in there you can cover all your bases and do is null is all right so let's say at item dot value this is going to be hard to test a short url uh equals blank or equals yes yeah and then we put both uh it's blank it will not be null because i i built that uh oh the transformer yeah yeah is it a comma here so yeah true true no that's the other way so hide component all right so we're hiding the component if it's empty so this is this is right but we won't be able to tell if it worked because it won't show up anyway um oh we can do this though let's uh can we give it a border let's work oh no no um so let's uh well let's do this styles if we give it a background color yeah i just want to mention two and we'll talk about this later all those are coming from your theme yes and it makes it it makes them all discoverable i guess we'll get into this next week but um wait why do none of these have so it is working but not correctly because it's hiding all the short urls um i think you're quite true did our uh did we not write that expression the correct way because it's gone now right and it stripped white and it left of actual value but it stripped the rest of the wavy of it away it did do that um if i think we wrote that right that says that's in the label column um field does that make a difference i don't think so i think it should work in any way any place you're binding data i mean we can do this in a with a script too i just wanted to mess with the formula so it's probably easier with the script because we can just say um api dot item [Music] uh lisa is saying there was a error underline underneath the if statement it probably is not like a that expression you might be able to go look at it see if it has a why all right let's try it yeah i wonder like i've been using it with the like client state parameters i'm just wondering if it has something to do with us using that item data binding i think it's this part that it doesn't like so ah a conditional parameter very conditional as it's the types yeah yeah so i've been using like you know if state dot table name like putting the exclamation point in front of it for it to return falling you know if one doesn't exist but you said your your data transform isn't returning null values yeah so it's just a it's an empty string or or not so just note to self if you're gonna use the condition uh the formulas i guess you have to use a true false in the in the first part yeah drew i think this would work except this is only going to return an empty string oh well it's still going to work when i've done empty string checks it checks for null it checks for empty string so the the boolean value i don't know what evaluator we're using here but it's worked fine in the past all right i say give that a try you wanna you think this will work all right well it's either gonna be it's either gonna work or it's gonna be reversed because you might wanna say if not that item how come we're not getting uh yeah let's all right we'll have some sort of border too uh that worked all right oh cool it does not work so these should all be hidden mm-hmm oh um phil asks if we can wrap it in parentheses that is an interesting idea i i don't so all of it it was always evaluating is true yeah it's false right this is whether it's hiding it or not yeah you're right you're not hiding it yeah oh no yeah boolean is the first we maybe should have read that the first time uh all right so it does not accept an expression here what if you put um no i'm trying to get the expression uh can you tag a writ like a return statement on top of the boolean on the expression i think no expressions is lame i think we've got to fix that yeah so we could do this in a script fairly easy um where we say um value that oh it's not going to auto complete for me all right see if that works somebody sanity check me did that that looks great yes we want to hide it if it's an empty string yeah it's the opposite one it did work all right cool so now what i want to do is i want to put a button here um yeah let's let's see oh lisa just in case people want to go back and under um see what might be the solution lisa's saying that um the evaluator will work oh do we how did you find that how does she know that supported functions lisa knows a lot of stuff yeah at least it's a it's a wealth of knowledge i want to know where she's getting these things yeah what she posted me were just just plug in random sql statements and see if it returns true if value is see if it deletes tables out of the database it's very likely faster this feels very excel now like using len parameter list it feels very that's what it was modeled after all right i'm i want to try it because i'm copying that uh oh thanks oh yeah we don't need all that other stuff oh i lost my copy all right no red lines no no no you're missing your if there's no f it's an empty so it returns true or false whether that's empty or not no i think your condition is if it's if and then empty is your first yeah that goes that's your first parameter if empty no so this expression returns a true or a false and so oh that's all we want i guess you're right okay should work but if you want if you like pain you could wrap it into another if statement of true and false but it did not work it did not work all right let's try the if statement let's show you so the well what it technically says here is it returns true if value is null or undefined which i don't think either of those are the case with an empty string right it seems like this whole thing would be better if i had just uh done done null but start before oh there we go did you save your script it's still there thanks ui builder all right it's working again um so i think the last thing we're going to get to is adding this button um and uh one of the things that i was i wanted to show here is we actually didn't spend very much time on the repeater component and it's because it's very simple uh there's not a lot to it it's just repeating the same thing a bunch of times um you know before we add this button i guess one thing we can explore uh before we get into um before we go is the um the css question and um so i think we should have access to the uh point and the array where we're at is it context where did i see oh it was internal documentation of course uh context that's helpful yeah no this that's that's a global thing it's item i think there's another no i could have sworn there was a there was something that tells us where we are at in the array um oh and i think i've bookmarked it all right talk amongst yourselves this is when the faces come back on screen or i can just focus on brad's face while he ponders this all right let's see if this works it did not auto complete for me but i found on something that this should work so let's see it did work all right you don't you don't always get a lot out of this show but here's something that's not documented i don't think that's pretty cool so that's helpful item.index uh you can you can use can we try all of them put first or last or uh even and see what happens yeah let's try we're really testing what uh uh who asked earlier coda we're off script if there was nothing item oh dot undefined well thanks for that's kind of nice actually so i put even what uh phil you're right it did start at one nope even is not a thing ah so you tried first and you tried even i tried first and even yeah so last and odd probably won't work either well at least index is there but oddly it starts at one i mean you could test whether it was even or odd in your conditions for your styling i think right all right so we did that i like i like when the show goes into like pushing boundaries and seeing if things work that's two things i've learned today my head hurts so i'm my brain purges the first thing once it learns anything don't drink a stout was that the first or the index all right brad keep drinking i still have a lot left uh let's give this another column so it all shows up in the same can we change the default let's workflow it we cannot well it's it's it's not on brand anymore guys yeah can we change it to something i'm sure i'm sure there's something right in for that i'm sure the team will hop right on that that's a utah thing um no we don't need anything here why did i use stylized text we want a button really we need to do a bunch more things to make this work but um label create short url i like to use icon how about a plus yeah i learned that about you you really do like bygones there's the third thing so we only want this to show up um here let's grab my script and then switch it if people are wondering why did you hide a thing that you can't see anyway i really wanted to do the opposite and only show the button i also love live coding happy hour because it's it's true development in the sense of worse copy pasting stuff changing true to false yes reading the documentation googling some things um talking out loud to yourself one painting yourself over um a css thing that won't show up even though it's not part of the requirements uh all right so this may be [Music] yeah so so basically what i want to be able to do is when we we have these uh calls every week where we go over you know what are we doing uh what's coming up in terms of blogs and live shows and i usually want a short link from there and there's a lot of ways we could do that but ui builder is a fun way to do that and i want to know if a thing has a short link and since they're not connected that's hard to do in the regular forms and lists we could always just connect them but this is more fun so what we have here is we've got if the thing has a short link we show the short link if not we have a button to create a short link and there's a few more things we would need to do uh for that short link to get created we need a stub for it so what goes after devlink.sn um so we probably hit the button if there's already a stub on the record we could use that if not we could pop up a modal and have a person type in what they want it to be and then create it refresh this list oh you know one thing i wanted to check before we go so in a standard list in the list component or the simplest component in ui builder in order to get it to refresh you have to pass it uh a like the date time stamp of when you want it to refresh so if you want it to refresh right away you just give it the current date and time uh and it's it's always kind of annoyed me but generally if you are populating something with a data resource and you refresh the data resource then your thing should refresh uh oh there's not going to be enough time to do that we may continue this next week but we'll see um i don't know anything else we want to try to get done in the next few minutes pop up a modal with a suggested value we could do that um [Music] i think that's going to take too long let's add a refresh button we won't be able to yeah i'm adding a refresh button i asked for suggestions and then ignored them uh sorry i appreciate you uh let's call it refresh and then what this button is going to do is it's going to refresh this data resource so what we're gonna have to do is refresh the list we have a refresh button i'm going to come into artifact manager and uh we go don't look at the blog posts that have been around for two years already uh what was the thing behind the curtain they're sitting behind the curtain we're going to convince dave slusher to publish that one of these days ouch all right so i changed that let's go back so if we hit refresh it worked cool all right so i just wanna i i always i'm kind of i get disenchanted with like because oh how many years we're on the system and building service portals and building other interfaces inside but you were able to do a repeating thing with uh conditionals for buttons and a refresh button in less than an hour while drinking and i don't know i just sometimes need to take a step back like huh that was all via one interface that's a really good point you know i think with ui builder there is definitely a learning curve and it's not necessarily like a an easy entry uh tool but it's an incredibly powerful low code tool like you know if we had gotten that formula to work we wouldn't have written any code on this episode um and so you know yeah you're right being able to repeat a list and come in and style it if we learn how to do that and all of those things is pretty powerful um for for creating a ui yeah i was gonna say too i mean you're doing this and i know the stuff i'm doing we don't have this like wealth of documentation that we can pull from right now i think you know as the community grows we have more example in community maybe if folks start throwing up recipes for things that they've done in ui builder that it will go even faster when you're in here all right we're back thanks brad yeah let's go around and raid our beers all right i had the barrel worldwide stout it's an excellent beer i do have a good amount left still um but uh i'm gonna give it a five i don't know that i've ever given anything a five but it really hit the spot today ashley um so i had the lodge life by athletic brewing um like it's a it's a non-alcoholic beer it was pretty good i mean it's pretty flavorful i'm gonna give it a four i'm not really a heavy beer drinker but i think it was you know i really got the vanilla and the chocolate and cinnamon in there you don't have to drink beer on this show you could drink wine you could drink a spritzer you whatever you want it's totally up to you i think drew brought a coca-cola a couple times we get a lot of water i've seen tea on here too yep i've i've been known to do that myself [Laughter] earl mute i have a i said ah fudge um i have an early bird from coronado brewing growing co uh solid i would say 4.25 but i've also been eating strive beef built on beef jerky and i'm going to upgrade it to 4.5 if you're eating the beef jerky with it because oh man it's so it's so happy in my tummy that's excellent i don't think we've ever rated beef jerky on the show it's great it's the first time for everything man live coding jerky hour i like it and i've got my kilt lifter scottish style amber ale from four peaks um if i drink too many of these i start to go down and rating it it's it's nice once in a while beer and this is that once in a while because i don't think i've had in at least six months because i was sick of it last time for getting a case so it must take about a month per bottle to get over it so i'll see this one again in a month i'm going to give this one a 4.0 pretty nice do we have any and with that i want to just do one more plug for uh you may have heard it on the break point you may have heard it on tech now but if you haven't heard already we're doing a software peer review kind of like the yelp of enterprise software with a company called g2 we're in partnership for that so if you go to devlink.sn g2 review i know earl is ferociously typing that right now devlin.sn g2 review you can go give a review of app engine so app engine app engine studio that surrounded stuff and i don't know if we reached that 30 person mark or not but i think the first 30 people were getting a gift card so check that out if not if you don't get the gift card we still truly appreciate it i know the number of people have been putting those in and we really really appreciate it so give it a quick plug for that are there any other announcements i think we've got more ui builder stuff next week do we not brad we do ashley's going to join us on tuesday for creator toolbox and we're going to kind of go through all of those little ui builder features and enhancements so we touched on a few of them today and we'll get more into those and then next friday we will do another live coding happy hour on ui builder it'll probably be a continuation of this one and we'll try to use some of those things but we'll see make sure to check back to the devlink.sn dot san diego for any updates it's going to be updated throughout the entire season so make sure to just get used to going back to that link to seeing what's coming up yeah if there's a specific topic that you're interested in we're going to be publishing the youtube links a couple weeks in advance so i know after next week i think we have flow designer coming up so if you're interested in flow designer try catch statements or what is the debugging i don't remember the other one you can set a reminder for that and have it remind you when it's about to start and the last thing is the mentorship program is live so if you are looking to be a mentor or a mentee within the sector and want us to help you find one a person to be meant be your mentor or mentee go to devlin.sn mentorship and sign up we're really looking for a lot more mentors if you're out there and you think you have knowledge to spread or just the ability to guide somebody to find who they want to be that's what we're really looking for so check it out ashley do you have anything just stay tuned next week like brad said we have more ui builder stuff um coming up for san diego release now with that we thank you for watching see you again real soon until then stay safe everybody have a wonderful week bye bye everyone [Music] so [Music] so [Music] you

View original source

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