Paris - Community Live stream & Artifact Manager for 2020-07-31
[Music] hello and welcome to live code happy hour for july 31st 2020 i'm andrew barnes and our merry band of folks here today are going to do some servicenow live coding uh we've got some guests today um so let's get right into the introductions and we'll start with brad brad hey everybody i'm brad tilton i'm a developer advocate with the developer program here at servicenow i've been developing on the platform for about 12 years specializing in kind of front-end experience custom apps that sort of thing awesome and shivjit why don't you introduce yourself okay hi everyone my name is shukit mishra and i'm a principal product manager on the platform developer experience group and i want to upload a full starter in servicenow and i've been with servicenow for two and a half years now awesome we're excited to have you today and your engineering partner mudit introduce yourself i am i am modern why don't you introduce mood it for us nope could you introduce mood it for us yeah sure uh so um is a senior engineering manager and he's my engineering counterpart for the protect tool team and we together own the product script editor debugger and the vs4 extension awesome guys you want to be friends with [Laughter] yeah i mean so this is the this is the prodev team uh so the product manager and the engineering manager uh and chuck uh we're taking up the rear it's the abcs of live coding happy hour and uh and guests i'm chuck tomasi senior developer evangelist at servicenow been here for 10 years customer for a couple before that and if you want to go into the wayback machine i've been a software developer of some sort since the early 80s so just just after the vacuum tube era so i'm andrew barnes also developer advocate here at servicenow along with brad and been on the platform for six years now uh been at servicenow for just about two years coming up here on my uh my anniversary here in just a moment have been doing uh live coding uh on this show for almost three years now love building developing on the platform doing things for development at scale integrations and just excited to be here today normally we have this show at our happy hour time and we introduce our uh alcoholic beverages uh us in the u.s it's way too early for that um but as you [Laughter] but we'll go around the horn and introduce what we're drinking uh this morning for us and hey if the india team has brought tasty beverages uh i hope you all enjoy them too so around the same order uh brad what are you drinking this morning uh i am uh i'm drinking some coffee out of my uh rockets mug uh today is the the first game of the restart for the rockets go rock the rockets what do you have today i just finished my ginger tea before this call ooh ginger tea mood it what what do you have to to drink today oh i love having my tea so it's tea all the time what what is it a particular kind of tea do you do you make your own blend what no i like it like quite uh plain you know just with a little bit of sugar a little bit of milk so typical ac types and what do you have chuck i'm also joining the tea crowd i have a licorice tea i think yeah that's what it says and i've also got a slug of water i've got an orange mango uh sparkling water so that's a what a virgin screwdriver awesome so um it is uh paris release time uh and we are going to highlight uh so we're sort of pairing these things together so that if you caught the blogs this week um brad did one on the script debugger console that was added in paris and i did one on source control around the global application bundling and the uh delta loading for uh scoped apps and so we have uh some use cases for those things in our applications uh that we'd like to work on today so the first thing we're gonna do is we've got um one of the main apps that we run our program on for us as the content team is our artifact manager which helps manage the show and does the automation there and we've been merging that with chuck's community live stream app on previous shows and we'll continue to work on that today what i wanted to do is we have a few not very many but just like i think three global files that there was just no way around uh having those global files for this purpose with artifact manager and i'd like to create a global app bundle for those get them into source control and then highlight the delta loading from source control either for that app or for our base artifact manager app because we have i've uploaded a new version to source control and we can pull that down into a different instance um and and watch that delta loading then after that we're going to uh we have comments on the blog and right now we're collecting an artifact manager the number of comments but we're not actually collecting the comments and i'd like to to get those messages there um in a related list to the artifact um and it's so we can see those messages and and uh take action on them because sometimes some of those comments slip through the cracks because they don't notice them so i want to get that centralized into one place and in order to do that we're going to take a look at how we're doing that by inspecting the code that's running that through vs code which is also uh a uh something that should uh steam owns and then pull it up in the script debugger and walk through it and see where we need to make changes in order to move from getting account to getting messages so it's a it's an aggressive plan and we're gonna we're gonna plow through it um and then at the end um we're going to have some question and answer session um so if you've got questions on the the pro developer experience so the script editor um the script debugger the the console uh edition the um session uh the what is it it's the session logger what's there's a better name for it though the session log yeah he would i i'm bad at names of things i just know what it does uh and the vs code extension so if you have any questions for that go ahead and put it in the comments now on and as we get there and then we'll talk about those live on the show uh when we get there so i will start the screen share now and we will get rolling uh pick the right desktop there we go and let's get rolling so i'm in one of our instances that we've upgraded to paris and i'm going to [Music] move right into studio and i'm going to create a new uh application oh what are the odds that i've enabled the property uh slim to none because it's not on by default i think i think chuck is right oh they put the splash screen back ah chuck is right so this is a good one you want to know where this i am hilariously going to go to the blog for this because i know that the the property i need is in here that's a better idea i know where it is it's very easy to find delta loaded you'll need to turn on the other one to show the oh did i grab the wrong one yeah you grab delta loading that's delta loading i need the i should be near here there it is yeah i knew it was sng app something so uh this will be a new system property it's not loaded into the system at all you don't want to do that in a scope ah good i have i have literally done this property with this error before yeah no i haven't done that properly but i've done other ones going how do i get the scope out but still get the property and i couldn't figure out why it wasn't working and then i went to the properties list and looked at the name and i was like oh that's why it's not working yeah you're clueless because the net the name was prepended you know prepended with the the scope and that was clearly wrong then all right so let's reload studio and we'll get that property to be able to offer up this because this is a global app bundle and there's a handy dandy warning there so this is artifact artifact manager and i'm not wild about this but i'm going to put something like global here i know it's global but i don't want to see two things in the picture that are the same and we're gonna just drop right into studio and go claim some stuff and we're gonna go claim some stuff this is like that scene in a christmas story where the kid is going that's mine that's mine whoopee that's tripling so there is a i believe that there are two script includes so let's go uh i'm not creating an application i'm grabbing an application which is add existing files so there's a couple of ways you can do this if you've got an update set that is a really easy way because you can just choose that update set we are going to have to go to a script include and then do a search here for i think actually the list view is going to be my friend here because i don't remember their names so i'm gonna get rid of admin i'm gonna only show global then i'm going to group by updated by and find there's dave's i need that one and then josh's i need these i need these three so here's the name bam uh really that's the name it's global script include this is search by table that's odd what is that doing for us or doing to us uh this is narrowing it down to the script include table do you have to hit continue oh god is that really i just know the list is showing things that are not script includes but it's still doing that it looks like all right we're gonna go by name because i've got the name handy i like that better than others too i i don't know why it's revealing two of them but i'm gonna go with the newer one that's usually my it's usually my thought as well show xml which one do we want yeah which one do i want i want dave on 218 2018. that's the one we got add okay all right so we got one file yay let's get the others this one's just called rest that is a terrible name oh hopefully it's unique [Laughter] no okay there's got to be a better way to find this i'm i'm legit about to push them into an update set so i can choose the update set looks like you can filter it now maybe no oh this is killing me how about script include [Music] so that seems to have helped a little but not got the one i want what is the filter filtering on uh well right now it's clearly filtering on file type file type let this be a lesson give your script includes good names well so uh i think you get the point is is is most people will be will have these in update sets and you can use the update sets and that makes it way easier um but let's go ahead and create our um repo get it linked up and then move on and i'll i'll go get those other two stuffed in there so we want artifact manager globals that seems like a fine name sure let's go what was that comment about the update set if you've already got an update set you can import them and then they show up as claims okay um so you can choose them from that list so if you've got an update set okay like this one uh and hit continue it'll load all of those files from that update set and then you can just click the ones you want that's a nice feature to migrate people off of update sets it is so copy uh we'll close these three for a minute there i thought you were saying i did this with update sets it would be way easier like wait good good call out there because if if it wasn't clear to you then uh it still didn't make it clear enough still 6 a.m for me i get an excuse uh do i have github credentials on this instance yet i don't know probably not probably not so this is this is new also to paris is the github is using credentials from the credentials you don't just type in your username and password anymore yeah i think it's orlando but you're directionally correct is it is a new feature so let's get some basic off and let's get a github password okay now curious about that tag field but we'll come back to that later link to source control drum roll please huh it feels so great to be able to link to source control with global just just feels like coming home like that's that just feels great so over here it it still feels a little dirty just working and global to me uh you know i don't have a choice about that i know there's times when you gotta like this this in particular um this script include for the oauth uh client yeah that must be there unfortunately it has to be in global like it just won't work if it's not it there's nothing special in here but the client and credentials table um for the application registry entry that uses it just doesn't run them correctly if it's not in global well unless we can get josh to you know fix the way we do better or something so we can inject the right things in without that special script so that is um global app bundling getting it into source control and then the next thing i wanted to show in source control was the delta loading and i've got a couple of choices so i've got a fresh version of artifact manager pushed into our repo for that and we could load that into our dev instance yeah see if it blows away the data or not yeah so if i switch over to uh because and the reason for this is there have been some things uh with our artifact manager that we've had some issues with moving them from dev to prod so we've had to do stuff in prod so prod is actually our current most updated version of our artifact manager and i want to make uh dev now uh correct and up-to-date and sync them and then use dev from now on that we can use source control properly for these things so let's switch over to artifact manager in our dev and then we are check out our source control that is not the right one actually huh okay so that is not the correct that's not even the correct connection let's do a different one then how about i just switch the branch that this one is connected to that'll show effectively the same thing oh we got a branch we've got some changes which is fine uh we don't have another branch well this is clearly something i need to resolve as this isn't pointing at the correct repo uh but the uh the test instance should be not something you normally do is go modify stuff on task test yeah test is a fresh clone um so it should be a uh fairly up-to-date and able to uh show this for us so let's yeah let's choose artifact manager it's a pretty beefy app at this point let's validate we're logged in might have timed out nope there we go sweet and it's linked to source control or not it thinks it is come on man hmm why why are you giving me a hard time the schema on that uh i think that might just be something that didn't move in the clone is the connection to source control all right well we're gonna have to show this a different way then ideas come on help me out guys just make it you want to show the delta love right now right yeah i want to show the delta lord okay um and if this isn't on source control do we have anything that is connected to source control on test well if this one didn't come over then none of them would um here i'll just pull in something import from source control and then and then i'll switch branches so if i go to github and pull down something like one of my labs because we know that i know i know this one so let's get this one uh and we'll pull it down we'll do test import from source control and i don't have credentials here ah well we can uninstall it from it'll be fine here pull down master use this input so this will get the master branch but we do actually have some other branches here and we'll wrap this up pretty quickly starting to think my credentials table may want to be on idr [Laughter] interestingly enough um you you make a joke about that um but the all of the automation for the ci cd stuff uh for doing stuff from source control relies on the repo being set up in the instance that it's going to so you can't for example say initially load an application in another instance from source control without the repo already being set up so i have been thinking about how i can push the repo credentials and setup to other instances because because i need that yeah you got to be for the repo credentials potentially but you may have you know i wouldn't do the entire credential table because your dev instance may be talking to dev yeah no i just want specifically the repo credentials yeah yeah um so let's put a piece of data in one of these tables and then switch branches so there's already one packaged with the with the app but we can create a new entry for a new suite and say itam so our expectation is is if i switch my branch so right now i'm on the master branch if i switch branches um and i come back to this atf to apps as long as this table still exists in that other branch with these fields my record should still be here because we're doing delta loading we've we've had destructive branch switching for so long i am very nervous about this [Laughter] i and uh it it seems to have loaded uh i'd be the guy doing an export xml on all my tables before i tried this the first time oh i i want to know what the view details is oh there's some claim outcomes to review okay if you don't know what that is read the blog from this week so here's the import details uh and it'll say whether or not it has been changed uh or unchanged or deleted so this disposition here uh is seems so brand new updated deleted or unchanged and a priority and then this claims outcome is an important process for if multiple uh files have claimed if a application file has a claim from more than one application scope all right so hopefully all of that worked and when i load this list view i have two entries let's see ah i do oh oh happy all right awesome can we clap we we we can clap i tried to give you a mario coin but the sound isn't working [Laughter] so that is uh i i really wanted to get the artifact manager one synced up but i i there's issues there so i will do that offline so that is the end of the source control stuff i wanted to get working this morning uh so the next thing that we talked about earlier was uh on the developer blog which we have handy dandy right here oh mario corn i had the wrong output sorry so on the developer blog there is a place to leave a comment and obviously to read the comments if if there are some i believe that brad's article from tuesday tesla look at that it does so and we have a way in our artifact manager to go and get uh those messages accounts so if we go why did i go to knowledge i want uh artifact manager not articles oh it's early it's early not as early as it is for brad and uh chuck oh chuck has me beat by a good deal he's he's only oh no you are two time zones even you're west coast i'm currently on pacific time or pacific time is currently on my time zone because arrow it doesn't change you guys all jump around i stay where i am so much longer upside down andrew will have us all beat he he will it's still his friday he says [Laughter] barely so uh somewhere uh there's a another field on artifacts for uh the comments account um i don't see it on this uh view but it's there and we've got an outbound rest message that is what's the enabling feature for that we need to add that to our spoke i i'm getting there i'm getting there chuck [Laughter] i got a few other things i want to add to your spoke so this might already get the comments and just count them it does okay so we've got the content we just need to save it somewhere right so uh here is our outbound message to the developer site to get the comments um so this is a very simple get oh i thought you were getting them from youtube comments no sorry this is from the blog okay this is blog ones gotcha um but you know same use case right yep is we want to get the comments from our content uh so that we can see them that they need some responses excuse me so let's uh go get some comments uh and i'm going to actually um throw in a different entry here so let's switch over to artifact manager let's get this post uh and i probably just need the post part right yep i do so here and and let's test this i didn't work uh it's probably an off issue or is it your parameters were encoded i suspect that it's an off issue i don't think we have the credentials for the dev instance to connect authentication but let's test it without changing the test value all right good we've got some comments and let's test it after we change the oh this one is uh oh no it took me away i got excited so oh looks like this has index.html on the end of it i don't know why that's annoying but but then i'm going to do whatever the example has if it worked before there's some comments right now let's go switch back to this one and see if that was the reason because as you noted there there is no authentication and then oh look so um how does this work well let's go take a look and this is where we're going to uh take a look at using some of our pro death tools uh so um this is a script include that is calling this web service which is uh so i'm in vs code now and we have a vs code extension um the latest version i think is 1.4 which has added some quality of life improvements around getting set up and interacting with global and some other really nice comparator things it's it's really good update so if you haven't updated go go tell your uh your vs code to update and we've got a script include that is being called for the the dev blog utils so this script include is how we're getting that read count uh and comments count and you can see we are calling that get blog comments uh outbound rest that we were just looking at and it's a you know pretty straightforward we're uh getting the the counts of them which is pretty funny so what i thought would be interesting is if we ran this in a background script so you we saw how we could do this from the um from in the our session in the traditional servicenow instance uh interface and we could hit that test button um but if i want to test both the uh the rest outbound rest and my script i can do it from you know loading up the the script itself and then you know executing it in a background script once i pass it some parameters so i'm going to copy this and i'm going to scroll up here to the top to our background scripts area and i'm going to make a new one and paste it in here and the reason that i'm doing this is because i need to set this post uh parameter we can see here in dev blog utils uh so i'm passing this function post and probably need to also uh set count so i'm actually gonna grab from here all the way down to count throw it in my background script here because otherwise you can run it directly from the code right you don't have to put it in yeah if i hadn't if i hadn't had to uh set a parameter you're exactly right um i could have just right clicked and said run in background script but since i need to pass it a parameter um i am pulling it up in here saying far post i have not done this i have not gone under the script background script section this is interesting go on and grab our post this thing uh index.html and let's uh through this does that roughly look right roughly looks right oh what the heck let's uh just uh print print it out um uh we'll do an info message it's gonna say don't go legacy on me i think we're on scope right uh count all right that roughly looks like a thing i can run so let's run it run background script in current and current is no i think i want to run it in global it's not part of the active okay we'll run it in i don't understand not referencing current anywhere what am i doing wrong what should you do oh no i was in chuck's application i think no you're an artifact manager you're under the artifact manager hierarchy no i but i was in chuck's yeah see this current application changed artifact manager because the current was yours oh you got to keep an eye on the on the bottom gotcha okay so the count is four is that uh what we believed it to be i believe the count on that blog was four that's some victory so uh what i'd actually really like to do is now see the the response body and and see how hard it is to turn that into some records in our instance easy i think the more challenging part is changing around this method the script include method to return that and not impact the others or here i say it copy this one and make one that says get comments so it's not just get comments yeah i'm i would just get comments and then have get comments um be able to uh set the count too like if i need uh so let let's take a look at our response body so let's just uh you know log the response body too yes this is when i start thinking i could have written an action for this by now absolutely i could if if i knew all the things and it was simple enough i could have done that it's an object object that's not surprising yeah so we want to uh you know just straight from this yeah i swear i'm going to make a macro for that someday json.com i do it so much which probably means i'm not using the debugger enough all right and throw an extra parentheses and we should be reasonably good to go right okay so inside of result we have a results.result.comments we [Music] thing to get it a little more readable so uh shujit uh how should we proceed from here do you think it will be valuable to continue um you know working this from our background script or is there an opportunity here to use our script debugger and maybe even invoke the console um to to work on this inside the servicenow instance yeah i think let's let's do it andrew like let's invoke uh debugger and then we can show a quick demo of the console all right let's do that then so in order to do that i need to go to that script include which was called uh dev blog utils something like that blog utils and we want to you know set a breakpoint somewhere in here which you know why not like right about there and then uh we'll set another one and then i'm going to set one right at the end the reason i'm setting three break points is because sometimes i really accidentally hit play and i don't want to leave i didn't i like your philosophy so i just set a couple of extra break points if i do actually want to resume hitting play two or three times no big deal if i didn't want to resume but i accidentally clicked it it's really annoying but i'm on every line then your play just turns into a step [Laughter] so i set some break points uh which will allow me to invoke the script debugger um but i still need to execute uh a call that's going to do this so i need to um either throw a new call into a background script or find uh the thing that invokes this uh and invoke it so which which would you all like to do you want to just fire up a background uh script and you know create a new let's do that it's a common way of unit testing so let's just do that okay yeah you don't know if the way it gets invoked is something that we could debug anyway yeah in a background script or who knows where all right so we need a same thing you just had before right you could start the same way with your with your couple variables that you had in the editor um the only thing that i need for the editor is this line yeah okay so let's grab that the rest of it's actually in the script include yeah and then we can just instantiate a new dev log util uh i had it copied in my thing but sorry i made your buffer go away uh and i really don't remember the exact name it's right there on the side because i have no i have no memory his his dynamic ram refresh is low and then blog util dot and the method is get comment count and we're gonna pass it in uh we'll do it down here post all right have i done anything egregiously not right appeals roughly right we're in the right scope everybody's happy good all right let's run it oh uh we need to what does that new check box execute as scriptlet [Laughter] andrew and i had a conversation about this the other day you're getting more check boxes on here we're going to have a full-blown dev environment done scripps background you've got some uh some uh laser eyes there chuck when i was a kid there were no check boxes so just really quickly um that is a feature uh that is enabling some stuff in quebec that that got into pairs that is actually not getting uh we don't have any use for it uh directly like nothing in the platform is using it um but the idea behind the scriptlets is a javascript uh sandbox that has none of the regular servicenow stuff loaded into it okay so it's just a pure javascript execution area that's isolated and doesn't load any of the servicenow javascript stuff into it how's that different from executing sandbox uh that's a sandbox from so the sandbox still loads the servicenow area uh like the servicenow glide record script stuff but isolates it from other like running scripts um but the scriptlet isolates it from everything okay is is my rough understanding i don't know if anybody or he's old enough to remember rich hall he had a book called sniglets and i think he did this on not necessarily the news old sitcom show they're funny words that are made up for other things like uh the way you eat a taco and you have to tilt your head that's called a talk angle but the uh had one for a switch that you have in your house that controls nothing it was called a flarp switch so that effectively executed as scriptlet in paris is a flarp switch one of my favorites uh somebody just pointed this out too it's still on one of the grammar girl podcasts from years and years ago if you see an asterisk at the like in in in a document but there's nothing at the bottom to tell you what the asterisk is about that's called aster exasperation [Laughter] tidbits from chuck random stuff you hear on live coding happy hour and we're not drinking today and we're not even drinking today um so i have executed my background script um it gave me the prompt to say hey you appear to have some break points along this execution path would you like to start debugging so i've pulled up the script debugger which is also where the session log lives is in the same interface and we might even have some more future things coming along there and now i can do things like i can go ahead and get that response status code and then i can execute this json parse and that should allow me to but even cooler this results object now is a parsed object which is nice wow look at that see this is so much easier to read than that blob we printed out right is i can actually see the structure of this object and say oh we have three things in it it's author text and time cool like that's useful information that i didn't have before um because you know when when i had just a blob and vs code of this it was not very easy to tell that that's uh what is what is contained in these so that's very handy now that i have that information i could do something with it so for example i could start to and even execute some new javascript that would create the entries in my target record from this data so i can come down here into this new area of the console and i could create a new glide record object um blog comments it's uh new you can just output the values of variables if you didn't see them on the side you just type in current.number and middle oh it could and so what i might want to do is like actually take those objects and put them in glad you know store them where i want to store them and so we actually don't have a table for this so i'm just going to say comments the other one nice one is if you want to evaluate an expression like you could literally cut it out of the code above and paste it down here go is this evaluating to true or false and why or why not and i could do you know an initialize shift enter new record not initialized yeah it's true new record so i get the uh get the default values defaults comments and then i can start to get a typo in there you go cool i think that's a medication my dad takes and then i could for example go and get the first object in my array and get the author and set that value in a record right so i'm going to pause it here so that we have some time for our qa q a but this uh console allows me to you know add things into my execution so this is in the same execution path that this script is in so it's the same session uh and execution here so anything i do here is as if i'm inserting it um you know between the last execution and the in the current line it understands the context which is really really helpful so i can interact with these variables i could change results before line 34 gets to execute so that's really powerful i see this saving me a lot of json stringify statements so i don't have to go back and re-execute it if i noticed oh if for example i had a an error on 33 and it i misspelled parse and i noticed over here that i didn't parse it correctly and i go oh json parse didn't work i could i could say results equals json to parse response body and then continue the execution on line 34 and it would work correctly so a really powerful feature here added and we will now stop the share and then enter into our qa and a period with shujit and mudet i don't see any q a in the youtube chat at the moment well we can come up with some cause i've got questions okay um i have to think of which questions i have in what order so uh i'll go in the order we did today so in the vs code extension um you know we've gotten a lot of enhancements over time recently um can you share with us you know uh you know nothing super secret but sort of the direction that you see uh us going with the editor so not necessarily a list of features but you know like what your vision is uh for the vs code editor extension for our for our developers so yeah uh thanks for the question so the idea which we have at the team is we want to enable the developers uh build the servicenow application end to end through the vs4 extension and that is the direction which we want to take going forward right now we do understand we have the extension which allows for the easiest scripting for the developers but again there is a switch which happens between the extension and the instance and that is what we would like to avoid going forward so yeah the idea is to have an end-to-end workflow through the vs4 extension oh that sounds cool so if if i'm a you know if i'm a pro dev who doesn't want to have to load up my browser to to get to via to service now for building my application and i should be able to do uh you know the vision at least is that i should be able to do most of that uh through the through the extension right i like that uh idea and direction did that did that give you guys enough time to to come up with something either through uh the session um or the script debugger or the script editor period in the platform or vs code uh it was uh more around the consistency in the behavior of the editor so yeah that is something which uh i have got feedback from another source also so we'll surely look into this so for the uh script editor in the platform um do we have uh some directions and visions and plans around you know where we want to move with that i know we like you said we've got some inconsistencies in the which one is present are we looking to add uh you know some configuration to that so that i can personalize it some new features um you know again don't share anything that's uh you know you you know how to to handle that we didn't throw up a safe harbor but you know sort of more like the idea of where where we're going uh yeah thanks for that so i think the idea here is again to uh give the best of class uh scripting experience for the users on the editor who are using it on the platform uh so specifically uh we we have plans around how to improve the intellisense which is available currently on the platform we do also have plans around how we can basically provide them guidance when they are writing scripts and uh i would surely uh want mudip to also add his points here so and a couple of things which we are certainly looking to uh in the edited area one is uh more consistent behavior across the platform so for that uh in quebec we are building a seismic portal base editor so all seismic portals were using that writers are really more consistent so as different portals like service portals and flow designers move to seismic uh you will have more consistent behavior across all the ui you see second thing which fuji touched upon was you're trying to provide some kind of scripted assistant assistant scripting so people who start writing the script code don't have to you know think or start from scratch or you know think about what is that api how do i find it you know how to this dot walking doesn't work table dot walking doesn't work so those kind of kind of figures which are really looking to solve in the in the near future awesome and when you were talking about seismic for our customer developers that that when we say that we're referring to the technology behind now experience um so just just to translate a little bit uh there so that that sounds great mood and i appreciate the thoughtfulness there so when you're talking about you know giving a newer developer some context there um in in the features that we could potentially do there um you know like you said we could do some better around uh you know auto completing dot walking stuff and and even provide information about you know the apis so we've got some intellisense around some auto completion for some apis but but what we don't have uh is like what what this api is like a way to get to its documentation you did add and i love it it's the best uh getting to the uh the the script include that's being called uh is is fantastic i love it it's the best so getting to the tables and their definitions and anything like a script include in its definitions um and you can even load the list from the the table that sort of contextual stuff i know has added to my to my life feedback from uh brad or chuck on that like any of that no it's fun just to see what's new and how like you said dave slusher and i had a discussion on this yesterday it's reducing those pain points and when you first come out with something you don't know exactly where they'll be until somebody actually uses them so we're listening and addressing so speaking of listening and addressing oh brad go ahead uh we had few more questions uh here so uh so one questions from nithin are these console debugs recommended to be used in production uh i do not see any challenge why they cannot be but yeah what you would like to add to that you can definitely use it in production but of course you need to be careful while executing any script from the console developer because those clips are executed like any other script so if you make change to a dvd it actually gets done uh so be careful i if i if i would use in production i would use morris to get data rather than to change data yeah i i think my feedback is exactly the same as your smooth is using the script debugger in production it should be fine because it's only holding up an individual your individual session um thread and so from that sense it should be fine but i would uh stay away from using the the console um to for any database operations at all in production i wouldn't do any so that that would be my advice to developers same same governance or philosophy that you have with using scripts background if if you're not allowed to use it in production then you're probably not going to be allowed to use the console in production but there are times when you need to do debugging in production because the production data may warrant that but it's a different set of conditions than you have in dev so yeah use it cautiously especially on those right operations yep so that that's a good question did you say there was a second question uh yeah there are a couple of moves here so there is one more uh is the vs code editor plug-in using live web socket or signal r type connection to the platform instance to immediately commute changes as you type i am not sure if you would like to take that question it's not a live interaction between vs code and the script editor so it's not kind of like google docs where you see one person typing you see another person type they're not in sync you have to manually sync them so when you're done changing in vs code you hit the sync button and your changes get pushed back to the instance well that's true and the recommended way to use the extension we do have an auto sync on save feature available for you so if you want to directly keep pushing your changes to your instance you can just choose to do that uh but chuck rightly mentioned probably you would not want to do that you want yeah i usually have to be you know fairly uh it should be a fairly manual uh mental step to basically uh equivalent to committing like i'm committing this to the instance when i do this like locally auto save sure knock yourself out but but sinking remotely uh to you know the source of truth um yeah i i like to uh do that uh with the thoughtfulness that makes sense um so we're uh wrapping up now so uh the last thing i'd like to say is um if folks aren't aware uh this team uh like uh others at servicenow but specifically this one i know takes feedback from the idea portal and and helps drive their changes is there anything other than suggesting that they go and engage with the idea portal of how to provide feedback for any of your tools um uh so yeah uh so what we have been doing is as you ready mentioned and we usually review it on a weekly basis idea quarter for the vs code extension you can use uh the feedback link which is present at the bottom of the landing page or the vs code extension so we these are the two places i would surely suggest everyone to go and write their feedback and as andrew mentioned ironwood very proactively look for feedbacks and we do ensure that we are working on those feedbacks yeah and uh i know that uh at least you have been joining some of the developer meetups um and uh you know if there's a meetup organizer that has uh a desire to to talk about these things uh you know reach out uh to to our our team uh and we'll uh we'll try and arrange um you know someone like shujit to be able to come and have a conversation about that uh so um shall we rate our beverages how how was your coffee today sir brad uh my my coffee was wonderful uh as always uh so yeah we'll give it a four just a nice solid four bam do you add anything to your bread or is it just straight up black coffee uh it is just straight up black coffee all right i was like that's why the beard is so long that's right he's a coffee drinking bearded man i don't i don't think you had a beverage juice yet right you finished it but how was your tea rate your tea from before the show yeah that's pretty good i just relish my tea so i typically will have three three cups of tea in a day and i really enjoy it so is it a is it a four so out of a scale of five in quarter increments is it a four is it a four two five is it a four or five okay because i make it i will get five on five oh nice all the way very rare that we have a five on anything and takes pride in his work how about your beverage it was great i really enjoyed it it was much better having me the session i'll give it a four and a half four and a half nice and you sir truck i i finished off my licorice tea and licorice i like taste of black licorice and anise uh some people don't if if it's not your thing i appreciate that but uh i give this a four and a four and a half also i nice went down easy i had one last night too and said just the box was unopened and i said licorice is a very polarizing flavor like olives yeah people either hate them where they you're like yes this is my place or you're like who why does anyone eat this when the black jelly beans are left in the dish they're mine and uh my mango uh orange mango uh water was very tasty uh and nice and bubbly uh so it's a it's a solid four so uh i would like to really thank uh mudet and shijit for taking uh part of their evening friday to join us all the way from india we love your team we love working with you and i know our developer community really appreciates what you do um always a pleasure to have you join us chuck and uh this this uh thanks for all the feedback in the comments and uh share your ideas uh either as you just said on the idea portal or through the feedback and the vs code extension uh itself and we will see you next week thanks everybody thanks bye thanks everybody
https://www.youtube.com/watch?v=h13kRSsBCoc