Update Now Experience Component (Hacktoberfest) - Live Coding Happy Hour for 2020-10-09
[Music] so [Music] hello and welcome to live coding happy hour on this october 9th i wrote it down that's why i looked down 2020 still uh with me uh we'll let chuck introduce himself first uh go ahead check hi i'm chuck tomasi and uh i remembered it was october 9th because it's my daughter's 25th birthday today we're gonna have ice cream cake later i'm a senior developer advocate at servicenow been here for just over 10 years was a customer for a couple of years before that having a good time because i get to specialize and play around and share things all about the platform and custom applications and integrations in fact production has officially started on the integration series so watch for articles on that it's not going to be a big drop main blast because you'd be waiting a long time and you'd have about 800 videos to watch so we're going to do this in sections you're going to get a little bit now and then a little next quarter and we're going to not milk this cow but i want to make sure you get the content you want and and don't have to wait for it otherwise it'll never get done because it'll always be something new to add to this thing so there's a plan honestly like the sciolons i have a plan anyway that was a bit of a nerd reference over to you brad yeah brad tilton i'm a developer advocate with the developer program here at servicenow i have been building stuff on servicenow for about 12 years and doing it as an employee for the last four i am uh excited about what we're gonna do today but before we get into that uh chuck what are you drinking today i have my wife was gracious enough to go get me another moosehead grapefruit rattler oh nice there it is so yes very delicious it's still warm for another few days out here in phoenix so i'm enjoying it before i go into the darker stuff yeah i am actually uh re re treading my drink from last week which is the dragon's milk white not as good as the dragon's milk stout uh but still pretty solid so we'll see if the score ends up different i don't remember what i scored it last time so quick play the other video um yeah so before we get started today a couple of announcements chuck i'm going to let you make one of them but the first one is hacktoberfest we are nine days into hacktoberfest because it's october 9th uh and uh we will be doing some hacktober festy things on the show today we'll fork a repo and hopefully make a pull request against the repo uh but hacktoberfest is a way that you can contribute to open source code it's sponsored by digitalocean and we have you know we're tagging on to that as we've done the last few years with both spokes and components uh and uh the the deal is if you make four successful pull requests that are non-spammy so you didn't just go in and make a comment and some code somewhere then you get a free t-shirt from the hacktoberfest organization now did i hear right there was a caveat in there that your instance credentials have to match the github credentials so that the name is the same is that what dave said last week i think they're if you're doing the spokes there may be something to that but i think if you make the pull request from your github account okay i think you should be good but uh we can we can look at that a little bit right um yeah i'm new to all this so you're gonna have to walk me through it i think we're doing some of that next week i've got projects i want to contribute i want to build them out but and i also want to get credit i want to don't want to do all those hoops and circles and go where's my t-shirt that's right i think i'm at three hopefully the end of today i will be at my fourth uh pull request that'll be a good a good victory uh for me to the finish line then there we go uh but yeah we're nine days in a little over a quarter of the way through there's lots of time for anybody that hasn't uh done anything yet you have a lot of time to to be involved and we'll show a little bit of that on the show today uh but one other thing that we want to uh we want to talk about is something we announced this week which is creatorcon chuck you want to tell us about creatorcon a little bit yes if you haven't already got your email because i know if you were already registered for knowledge back in may you should have an email that says guess what you're pre-registered for creatorcon 2020 digital experience save the date mark your calendar if you haven't already mark your calendar for october 27th that is going to be the event i believe it's nine to noonish or one-ish pacific time so block off that calendar time although block off some time the week before because starting the 20th we're going to have the hands-on labs available so you can do that on demand at your own pace and then when you get to see the keynote and the workshops the breakout sessions and everything we're gonna do in that very tight four hours at the end we're going to have a networking session and one of the things you can talk about is hey what workshops did you do as if you went to a real conference and did these things and then you kind of congregate in the hall over the refreshments and snacks and whatnot that's what you would do as you would be talking about that so we're going to have these networking sessions at the end wonderful keynotes so october 27th is the date october 20th start with the labs october 8th which was yesterday as we record this registration opens if you didn't get to see the registration you go to the servicenow site you click on events there's creatorcon i don't remember it's creatorcon or creatorcon.html i should know better but it's on the main page under events you will find it it's not that hard register for free big button easy to do turn off your ad blockers because i know that those registration forms gets a little wonky or whitelistservicenow.com it'll it'll work out just fine uh keynote i'm i'm super psyched and honored to be the host again for this like i was for the creatorcon week at knowledge back in may uh we'll be talking with pat casey again he's got a lot of more great insightful information brad and andrew are going to be doing live coding happy hour at the exact same time i'm going to be doing a live builder hour to be doing some low no code stuff so if you've got people in your organization that go i want to get into this too but i'm still new and i'm not a super coder we've got the builder tracking we've got the developer track and we've got breakouts and content and lots of great stuff for both people so we're keeping it tight we know that a week long doesn't work for you we know that uh uh that that you can do things on your own and there's times when you want to see the live live stuff and we'll have some pre-recorded things as well so really encourage you to see you there again sign up on servicenow.com under the events go to creatorcon register please please please it's going to be a lot of fun best half a day you'll ever spend yeah and one thing to add all of the content in the half day is all new content i know because i have been on the recordings for a lot of it so we we have built out a lot of new content for that half a day we'll have a live chat running through most of that day chuck mentioned we'll do some some actual live sessions there and then even some of the content we are releasing on the 20th will be either new or updated content uh from uh knowledge and then you'll also have access to a lot of our our content from the from knowledge last year in creator cod uh or this past year uh so yeah it's gonna be it's gonna be great uh a great day on the 27th and and the week leading up to it i'm really looking forward to it and i know a lot of us have put a lot of time and effort into it and hope everybody enjoys it yeah all right permission captain so today uh we are going to uh to take up from where we started uh two weeks ago with uh creating a component for our asset manager workspace where we can easily and quickly create a new artifact and so we achieved that and i'll kind of show what we did but we achieved the ability to start from that workspace create a new artifact without leaving the workspace and today we're going to be able to add a little bit more to the artifact and one of the goals for today is to show taking an existing component from a repo forking that repo pulling it down making some changes and then submitting it back and committing a pull request so this is the process that you would go through if you want to participate in oktoberfest so we're going to both do some now experience stuff and then also do some github stuff because i chuck i'm kind of in the same boat as you i'm not a i don't have a ton of github experience all of my github experience is really service now related uh i didn't you know i didn't have a past life where i did lots of uh github stuff outside of servicenow um so you know a lot of times you know things are a little bit new to me uh when it comes to github capabilities especially when the orlando and paris release have brought so much more uh to how we can interact with uh github from servicenow yeah i've i've done source control in the past or version control systems i mean i go way back to the old unix sccs so don't don't i am an old fart the uh the i i get the idea of creating branches and merges and pulls it's just the mechanics of that i haven't done before so that that's what intrigues me about learning how we can do that within servicenow and what pieces you need to do as a ci cd pipeline outside of servicenow as well nice all right so i'm going to hop into a screen share here and i see we've gotten some youtube content comments i'm going to respond to those in just a minute um and we're going to show this screen and we're going to start here let's see which part of i think this works so i'm going to zoom in a little bit and i know part of the screen is cut off uh but we will uh i'll move some stuff around in just a minute so let's start in the um the asset manager workspace which i don't remember what it was called artifact asset manager i've been doing servicenow stuff for too long to actually say artifact manager i say asset manager all the time artifact manager is the name of our workspace here so while this is loading so we have a we have a question around using react components uh as part of now experience and i'm gonna direct that question to a tech now episode that chuck you did with uh wolf because it has an incredible list of questions that people submitted along with it and that is a question i think that was submitted three or four times in it that got a similar answer at least yes um and uh let's uh i think we can probably search for that uh success see if my bitly link works for you if you want to take the shortcut yeah bitly tn 78 blog tm 78 blog i think i put that in i think i started doing the short blog link at that point oh yeah it looks like it worked okay and scroll down to the q a or just search for react uh yeah yeah so we have uh we have a default renderer which is a dab snab dom renderer which is something that i think it was an open source library that was used just because it it's really lightweight and allowed just allowed us for a lot of a lot of things to happen rather than actually using react so i think the answer is like it's technically possible to deploy a react component if you want to use the react renderer but that's something that uh looks like it's not supported uh we can see here so uh that's that's the answer to one of them the other one is uh kind of component inputs and ui builder and we didn't put up a safe harbor here but i think uh you will see ui builder um enhanced in future releases to where you'll be able to do a lot more with components and ui builder than you can right now so right now you know we're building components locally and deploying them to the instance and they can communicate with the instance but there's not there's not a ton of configuration of the components once they get there yeah we did get a little bit of preview and you will see this if you attend creatorcon 2020 that there are many many more configuration options coming so yes you will be able to create a component that you can then have like a properties panel full of stuff and i'm sure there are best practices about what you should and shouldn't put in there but uh you know if you just want to say do you want a border or not slider you know you'll be able to do that it's it's coming it's coming yeah all right so looking at our artifact manager workspace here uh the component that we added was this little component here where i can just type in an artifact and add it and so we do so i could say test artifact i'm not sure if this actually refreshes the page the other thing i wanted to do is clear out and give us a success message but it's not doing that now if i refresh um it doesn't show up here but there are some really specific um uh there are some specific filters there so let's look at artifacts and see if it showed up this feels like a lot of what i've been doing the last couple of weeks yeah test click where's my status message where's my record 10 nine this is today because i have it okay good yep um so yeah that test artifact so it did work uh although it didn't uh you know ideally we clear this out uh we refresh this list or make this list actually work but so this is a working component that we have that we've deployed to this landing page well the other option we've got right now is you see you got a refresh icon up there right next to artifact title we i'd well no over over where you're oh yeah yeah so i believe live lists in paris are are not really a live list thing but it will show a badge there that says hey you've got something new so we may not need to do anything you know just figure out how to tap into that otherwise live list could be very expensive yeah i i believe there is a way i think there's an event we can fire from this component that will make this refresh i have seen people talk about but i don't i don't know what that is that's not part of today's success for criteria so what we want to do for today is we want to add another field here which is a a choice field for type so we have a lot of different artifacts so live code happy hour is a live stream we put blogs on the blog we have videos that we publish podcasts so we have a lot of different artifacts and we want to be able to choose that as we create the article okay so the first thing i'm going to do is i'm going to start at this github repo which is on our dev program org and this is uh that component uh that i uh three three days ago pushed to this repo so that we could uh do this during the um during this live code so i'm going to fork this repo to my personal github and then we're going to pull it down and then we're going to make some changes then we're going to push it push we're going to commit the changes here and then we will make a pull request uh assuming that we're able to make the changes work so because you certainly don't want a pull request for something that's broken that's correct so i'm going to grab the link here i'm going to come back over here we're going to zoom in a little bit thank you because i knew that was coming uh so let's get in a little bit of experience and uh we don't quite have enough space yet so let's let's do this uh so i'm gonna say it's get clone right oh yes i did create an empty directory called am quick add lch which is uh what we are opened in here so that's where we're running this so if you're in that directory it's going to create an am quick add directory in there so you can have a directory within the directory sure yes because i usually i have one a generic one called github and then all my repos are in there that's what i should have done that's all right i've i've made the same and i wouldn't call it a mistake but i've made that same behavior a number of times going you know i really don't need that extra and i know i don't remember which one i'm supposed to be in to be editing or where's my dot get folder all right let's we'll change into that and then i'm gonna do we're gonna install dependencies here and this will take a little while and then we're going to do a develop and make sure that this actually worked so we have a question here is the now experience ui based on something like bootstrap or some other framework so we have actually created something called the now design system which is the kind of design system for that it has a lot of flexibility so i think uh you know flexibility and maintainability were more the keys for this if you go so if you are interested in now experience i would definitely go watch uh or listen to the tech now that we looked at because uh the developer wolf and that tech now gave a lot of background for you know what it is that now experience is and why it was created some of the history around you know how you know a portal is built on angularjs and angularjs was deprecated and you know that was kind of difficult and you know why now experience is the way that it is so that's a good thing to watch uh or listen to if you're going to go if you'd like to go look at that but there are some some answers in there and all right so we have uh we have finished this link in the chat nice don't watch it now watch it when we're done [Laughter] all right so now i am going to run i'm pulling this there we go i'm going to run a develop so this is going to develop our local component here and open it in a new tab uh we have a question about uh can you tell us about configurations and now cli at json can you be more specific with your question well there's a folder in there i mean there's a file in there called now cli.json you want to just poke in and see what's in it yeah i never take a look at that one but let's do that once this i'm pretty green on a lot of this stuff renders maybe we can do it while it's oh it's still building yeah let's look at it so now cli json so this is this is something i have not really needed to mess with this much so in a previous version of now cli you did have to add some some authentication information if you wanted to connect to your instances api but that's not handled through now cli.json anymore um so you can see for this one uh the api proxy is something i think this gets added by default now i'm not sure uh but i don't think this is something you really need to mess with oh now ui.json so now ui.json is where you have your ui builder configuration yes um and i think some of the important parts in this are the global core and global landing page if you want to add your component to uh ui builder so these are you know you'll need i think i think the landing page is what allows it to be added to a landing page the label when you're choosing your component to add the label i always forget to change this from my component so i have instances that have quite a few components called my component but yeah this is this is the only thing we have in this component here all right so we compiled that successfully if i come in and look at this um component here we can see that it looks about the same as it did when we when we uh looked at it in the instance so what we want to do is we want to add i think after title before the button we're going to add a drop down and uh so we have a couple of options here so if we look at our artifacts the type drop-down has a lot of has a lot of things we could do so we could be really aggressive in this live code and we could query our choice table for the right choices and pull that into our drop down or we could just predefine our most common types of artifacts and use those and just uh hard code them maybe we have a choice component we can leverage ooh what a good question so i don't somebody's there is a there's a drop down there is a drop down component uh that would free us from what language are you using and because i think we've all written some form of that widget or component that says all right i need the same thing you got over here and i don't want to redefine it because i'm maintaining things in two places so developer i am not signed in which is good if i go to components there is a drop down hey does this look different to anybody um yes from the last time i saw but i haven't seen in about two months yeah this is a new i think we deployed this this week this is the new component experience um so the andrew andrew barnes is not on uh he had a hand in in this little bit well then he could probably tell us more about it but this is the new kind of component experience playground it's a little nicer than the old one but if i search drop down we do have i think this is where we want to choose from so i think we're going to use this uh what's advice um but i think we're going to have to give it the items the data model somehow oh yeah i was hoping maybe we could just say here's a table here's a field here you go figure out the language and the order and everything else not so so i think we're going to have to give it so my vote uh since we are halfway through i think uh we should pick our most common sure types and just put them put them in like everything else brute force first so we've got i think our most common our blog post video live stream and podcast would you agree with that there's another discussion going on in the chat that raises some interest because you can create ui actions that are in a drop-down style menu you can you can create i forgot what they're called stacked or um grouped ui actions so that might be something we can look at later i think we should stick with the current mission yeah so the ui actions you could you know so with the with now experience we have we've got these components that uh represent now for the most part they represent you know some sort of like html and behavior with some actions and so you could connect your your drop-down component to some api um which you know by default a ui action doesn't necessarily have an api but if you're you know writing ui actions correctly your ui action is probably calling a script include or flow designer action so you could build a now experience component that calls that same thing through a rest api which i think is about as close as you get with a component at this point okay so our common ones are live stream blog video podcast i think i think those four probably work live stream live stream blog video podcast so let's start let's start in the playground here oh i forgot about the playground the playground all right so so this is uh the playground starts with a um [Music] some states picker yes hopefully you didn't have a big it's not i scrolled and the whole page scrolled so oh yeah we can see it here so i think what we want is uh uh i want to be more so we want to call this let's call it label and value so value and yeah because there's i guess it was already labeled so we have four of them so i'm gonna i'm gonna build this in the playground here it doesn't have to be id and label sometimes the data structure is oh are you you're right well hey let's see maybe the playground will tell us before we actually so uh yeah i think you're right so if i select alabama i have changed that to value and in selected items it says no like it doesn't know what i'm talking about just do that i change to colorado it does know what i'm talking about it says co so yes i believe that i did i would not have guessed that that was a good catch i would have been tempted to change it to value and label too i mean that's the way choice lists have been going yeah um so we have uh we've got four that we want california's hanging out there on its own oh i see it yeah it's too long it's a word wrap thing i thought it was something long california like what's that new object okay oh except this is the wrong one i'm gonna lower case blog there you go i don't know what you saw the actual values closer than i did yeah i i think this is right um yeah blog post live stream video podcast all right easy peasy nope here we go just like every other thing you do with a developer try it in the practice environment first and then it just dumps you the code down below right yeah i think it's changing it as we click out of it so we call that on blur is that do i remember correctly from so what do we have live stream left i didn't do this in alphabetical order which bothers me a little bit but we'll i'll be all right we'll fix it in pro production we'll do it live all right listen i can't see the right hand side of the screen oh they can't see our practice oh that is so sad i am so sorry i should have known scoot that over i think we have to about here we're tweaking the json in the items list yeah and the bottom thanks for letting us oh lofty man brad live stream fail guys sorry what happens when andrew's not around yeah oh all right so what i am doing in the playground is i'm re-typing uh these items in here and then for selected items uh i think we need to get even a default yeah so a little blog post so that makes sense yeah generally i'm so so this is also a little bit selfish because i uh i generally am managing blog posts and andrew is generally managing live streams but he's not on right now so i'm gonna make the default a blog post um i think that looks good we can add some things this is one of the ads here so if i click into icon i don't have to go find the icon name uh i have an auto complete i don't know oh so much better this before um so uh do we is there like a good type no um document i don't know something sure uh how about this one certificate that looks it works for me i didn't accept it it did not pick anything you can see it you still have to type it what what still better than it was with document certificate fill all right i know what i'm doing when we're done oh just keep typing it's not an applicable list i'm gonna get there uh it probably tells us the right thing in the document here we have room to improve kids anyway all right so i think that's all we want to do here uh that that should give us the drop down with the things we want um that's cool you can even specify this holder and it'll do that for other widgets neat there are other components i got to start saying that it's hard it's hard so what we oh i should do that yeah so we should be able to copy this i think there's an icon in here somewhere roll left right is there a left right scroller oh well i'll just that's right i'll just copy manually we're smart enough to do wow but yeah a copy icon would be nice all right so and then what do you get let us uh open up your index dot yes my source this is going to be in my view in the view okay i'm still learning yes so i did a little bit with this one uh where we um we separated some things out to where uh it has a view and uh and i would know about this but some people like if you get errors while you're coding it's helpful to know the file name where the error happened so that's one of the nice things about splitting out your code like that but uh yeah so let's uh we can there's one big long line yeah so ideally uh and maybe we will actually do this we can separate out um you like getting rid of the empty things i am getting rid of the empty things just so we can see stuff a little better all right and then i like everything to be spaced correctly all right so this is uh this is our drop down right now uh it is not uh it's not doing anything uh did it have a value that i got rid of let's uh uh well the values were in the object and you said selected items was the default oh it's something new we will have to learn about i think um so for the input uh it has this value here you know i think selected items will work the same way so i'm going to save this and we still have it running i think and we don't have it running let's uh is we've got a picker but i'm i'm i know this is the wrong thing to do but i'm mentally mapping that to like the ng model kind of thing in or in in a widget how do you tie that to a piece of data to say this is what i picked we are going to get there in just a minute but i realized that i did the rest of these backwards where the id is video there we go the label oh he's the wrong way i wasn't watching sorry so we were talking and advertising and what not to okay so uh we've got that that's why it's really nice to have your uh practice developer window up there yeah so here's our developer window again oh that looks correct nice so now what we what we're gonna need to do is so we're sending the state back so we have the artifact title here and we i think need to do the same thing with selected items so one of the things i want to do is look at in our components api i want to look at what it tells us about these so item clicked open set selected item set i think is what we care about here so i believe this is once you click it and select an option uh we fire this event and this is the event that we're going to do something with so this is dispatched when the user changes the item selection and the payload contains an array the id okay so our id matches with a value so i think when i set something this is going to um this is going to set the id as the value here so i'm going to go ahead and copy this and we're going to look at our action handlers all right so let's also look at our action handlers here pull this down a little bit uh so what we have going on with the input is when uh when i basically uh when i type something into the input and then tab out of it it fires this now input value set event and what happens in there is it takes the value uh as the payload of the action and then i am doing an update state where i'm saying hey whenever you basically whenever you click out of this on blur i want you to update this our artifact title state with whatever's in that box so i think we're going to do something really similar with uh this artifact item set so i'm going to do some copying that's the space then we will just change things fastest way to make mistakes so we don't want an artifact title uh we're gonna create a new state here which is uh artifact type um and then so there is going to be another place where we have to update this before we go but so this is artifact type um and it's going to have well let's do this let's say artifact type and then instead of updating the state i want to i want to see what it actually is passing us so we're going to do a console.log good thought and log the value here and it may be a if it's an object yeah we probably want to do that yeah okay so i think that is going to do something it should be small enough we don't need to prettify it yeah so let's go to our component it should be refreshed i just gotten so used to command option j i'm i'm on the phone so uh there i'm on i can't think of anything all right there we go okay video blog post yeah so it's just a single item with one item okay so we could take whatever sub zero um yes yes so that is oh i guess if you if you had multi-select it would just give us multiple items in the array okay something was thinking ahead so let's uh let's see what happens ding ding i guess we didn't need to stringify that you can make sure it's a string all right so can you put a two string on a two string on a string i think you can stringify a string that you've stringified already all right so that's the artifact type um okay so and then what is update state defined refresh my memory on where that lives yeah so the update state uh is going to change the state so i think we want to set an initial state here oh right and we can do that where do we i think we're doing that in the quick add.js so we're already setting artifact title to empty so we're gonna do that here oh i didn't i did not but you we didn't tell the view to pick that up it's we have not coded as here's my default statement okay yeah so we're gonna set it to blog post yep comma oh yeah it would have been mad at me and then we'll go back to the view and we need to grab that from the state uh the artifact type then you can put that i think we will be able to do that and then one of the things that we'll need to do now so i think we have successfully updated the state but we need to create the artifact and when we do that you need to pass it we need to pass the uh data this is where we're doing it yeah how do you specific data there's data or description let's okay i'm starting to get how these pieces are put together so we're going to say what is the name of that field so the name of the field is type that makes sense [Laughter] it was either type or category we couldn't type and then this is going to be state dot artifact type so i have saved and i don't want to say i think this is going to work but i do think it will work i'm optimistic i mean based on what i see there from the previous exercise this is looking pretty healthy i don't see it let us see his errors all right so i don't need to refresh but i always do so test for success and let's make this a live stream so i have created the artifact here maybe maybe let's go back and uh look at all artifacts ooh test for success and it is a live stream wow that actually worked hey that's uh i'm shocked so one of the things that i do want to do from that though is on success i want to clear out the artifact title and it looks like we're already trying to do that um uh maybe it did work actually let's look oh it did yeah okay i don't necessarily i think i want to leave this the same yeah because you might be making two or three in a row i do that all the time like oh i got to do this podcast and the next one and the next one so that would be very handy so we're at 4 20 um or it's 20 minutes past the hour try that find out what's up with the status message you said you had some sort of like information you wanted to present i think what i'd like to do is say like hey this worked um but i also want to i also want to commit this and uh and do it all right so let's do that let's do that first and then if we have time we can come back um all right so this is done this is done you want to go to the github icon on the left oh yeah yeah we can do that so let's say added type uh on live code and let's do them all there's a hotkey for that all right so we have commitments says alert done i was i was thinking console.log myself that that could work yeah the status bar in the console log so here's our github window okay so we committed yep i see it in the source yeah yeah all right and then so we go down little requests and we make a pull request yeah i can say new all right and then hey here's what changed oh look at that it's pretty look at these changes yes all right create pull request and then we put in a little comment we worked very hard for months to get this update to you added uh the charge and then i think i'm i think i need to add a label somebody what's the label is it's oktoberfest something oh update now experience component parenthesis hacktoberfest is it approved do you want to type all that i think there's a it's oktoberfest accepted thanks upside down andrew there it is oh i see all right wait what does that represent this this makes me get credit for it if i think if the repo is not already tagged or maybe when they're accepting the pull request they add this tag and then i just i know i need it to get my credit for there's another detail i would have missed i would probably ended up doing like 25 pull requests and got credit for one so all right andrew is our maintainer on the uh now components repo which this is not actually part of the now components repo but yeah so this is uh that was my pull request and somebody will come in and merge this since i i am also a maintainer on the servicenow dev program repo uh i can merge this uh we'll see uh andrew barnes was watching at some point maybe he'll do it um but well that was really painless as long as you remember the details we needed a little checklist yeah yeah so it is you know i we we did we did all of this on the episode so we forked the repo we pulled it down we did some changes we committed it and then we made a pull request um to merge it back with the uh the main or what the master branch here and you got the you're back on the servicenow debt program repo at this point yeah so my this is a little tricky because i am also like i also have uh privileges on that on that repo but uh you know if you are if you are wanting to do this with and and let's look at it with the now components uh repo there is some information here there are some components that you can come work on one of them is this to-do list component that i added that i have some i have a lot of things that people can do to it because it technically works but it's pretty ugly right now so you know people could come in and make it look nicer and add functionality to it but if you wanted to do that you would just come in to the it's this now components org github.com components and we've got a few repos on here that you can come in fork the repo make some changes uh commit your changes make a pull request and uh you you do four pull requests and then actoberfest sends you a t-shirt uh or i think you can plant a tree if you have too many t-shirts already which i probably have too many t-shirts but i'm gonna get a t-shirt you're not gonna say no to that one not when you earn a t-shirt it's one thing when you give it away to is a freebie that's right so this is uh the now components repo there's also a spoke toberfest repo where you can do integration hub spokes if components are either you know something that you're not really interested in or you know it's just too much work to get it set up locally you can also work on integration hub spokes and if you don't know where to find integration hubspokes i don't know what the url is either so i'm going to come into the developer blog i'm going to click into this hacktoberfest featured posts and then i'm going to scroll down to where andrew wrote about spokes so there is a central repository for spokes that tells you where to go to get started and has some info on the spokes here with a beautiful readme yeah with this incredible graphic as well all right we've we still have four minutes left uh i think i'm about uh i'm about done here i think yeah i don't know if anybody would cry if we ended on a success a couple minutes early anybody have any uh questions that chuck and i probably can't answer around components yeah we'll just point you to uh the uh the tech now let me look through the chat here uh so one of the questions is is the now now now experience ui framework a replacement for old angular widget so this is a really common question basically like is this replacing service portal so i think the goal is for eventually if you are doing any sort of custom ui work including portal that you will do that through now experience the exact timeline on that on you know when when portal gets deprecated or anything like that that's a long that's a long time so lots of our customers have built um really awesome service portals that work great and you know those are going to continue to work for a long time so that's you know that that's not something you should be worried about if you've just invested a lot in service portal um you know obviously the angularjs one that service portal is built on uh is fairly old now so i don't think i would expect service portal itself to get updated with some sort of new language like i don't think we're going to make a change to go to angular 2 and service portal or would be as painful as more so than going to uh now experience because they're two and angular one are not compatible you have to do some recoding yeah yeah so i i eventually i believe you will be able to create portals in uh using the now experience ui framework so big uh big um safe arbor up there i guess um so yeah scrolling down here uh do a community walkthrough on the vs code servicenow extension uh what a good request if you watch creatorcon uh there is going to be about a 10 minute breakout on using uh vs code uh locally so guys that's right from our product manager and devlead for uh vs the vs code plugin nobody knows this stuff better than they do so if you are interested in it uh join us on october 27th in the morning pacific time and uh we will uh we'll look at that all right i think i think we hit everything i think so all right well uh let me step right here off screen share probably could have done that while we were answering questions too but that's all right that's good well we have access to the top and sidebar components on the workspace um eventually yes yeah so yeah i i ui builder uh is going to uh is going to have some changes in the future so i i would definitely look forward to those things in future releases don't miss the keynote spotlight vadercon that's all i'm going to say there's yes just way awesome stuff when you see what joe davis does and what's coming you're going to go you're going to salivate like we did like yes that's what i want that's what i want and marcus even makes a comment about it he said something like you know that's nice but what's next when we saw what ui builder did in orlando in paris right next next well this is the next coming nice yeah i think creatorcon you know it's it's four-ish hours of of uh really packed in content i think i think it'll be worth uh worth everyone's time if you're a developer or builder if you miss it you know let's say you've got some medical procedure going on on the 27th during that time and you're unconscious i think that may happen i've got something similar coming up on another special date but if you're not available the content will be available on demand including all the workshops that come out on the 20th through the end of 2020 so depending on when you're watching this hopefully you've watched in time you can still review the keynote and the breakout sessions from both tracks and if you were watching the developer stuff and you say hey i wanted to know what was on builder at the same time you can always come back and watch it it's going to be there available on demand yeah well chuck how was your beer i you know i am a sucker for a good rattler and i don't know why this grapefruit thing just i feel like i should be drinking this for breakfast [Laughter] um i'm giving it a four and a half with the quarter point success factor you did an awesome job nice i've got the dragon's milk white which is the dragon's milk barrel age stout is one of my favorites and this is a barrel aged white stout which doesn't really look like a stout uh anyway it is a four two five uh it was delightful today so and uh we had some success awesome all right well uh we talked about hacktoberfest and creatorcon i think that is about it to check do you want to pick up next week next week what's coming up next week oh what a good reminder yes we are doing something different with live code next week thank you for reminding me uh we are going to do an extra long live code we are calling hacktoberfestravaganza that we're going to run in the morning in the u.s and it'll be a little bit later if you are in uh emea uh so we're gonna run four hours uh hopefully we will have some special guests on some of our maintainers and contributors to hacktoberfest uh to the repos we'll highlight things that people have done we've got some different components and spokes that people have added and we'll go through a lot of that and you know you don't have to tune in for all four hours it all i'll be available on youtube afterwards anyway but come join us for at least a little bit um you know get into the comments and we'll be you know talking to people and also doing some development of course uh on both components and spokes and uh you know chuck and myself and andrew barnes and and others uh we'll be on that uh and it'll be a fun time i'm really excited about it i think it'll be fun me too all right well thanks everybody for joining and uh have a great weekend and we'll see we'll see you next wednesday take care everyone stay safe
https://www.youtube.com/watch?v=qVzkxmm22x0