Building an app in 2007 - Live Coding Happy Hour for 2021-04-30
[Music] so [Music] hello and welcome to live coding happy hour on today april 30th we have a special show today i'm really excited about it but before we get into that uh let's go ahead and introduce ourselves andrew hey everybody i'm andrew barnes developer advocate here at servicenow and so delighted to be here with you today um i've been developing on the platform for uh seven years and uh you know as a customer a few times an implementation partner and here at servicenow for two and a half years now and just loving it over to you chuck hey my name is chuck tomasi senior developer advocate at servicenow been here since 2010 customer for a couple years before that so some of what we'll see today i'm familiar with [Laughter] some is really old like me what are you brad hello everyone my name is brad tilton i am also a developer advocate with the developer program here at servicenow i've been developing on the platform since 2008 as a customer and partner and now employee uh and i'm i'm excited about today but before we get into that we have to introduce our sidekicks uh what are you drinking today sorry i've got a switzerland um alex le rouge and it's got uh a crunch of bitter chocolate or cigar in it it's one of those fancy bottles with the court or the it's metals brackets yeah a fancy bottle it's either fancy or really old from the 1880s i'm not sure we are doing old stuff today back in time i am i i said well if we're going to be going in top back in time i'm going to get the oldest scotch i could find which is about as old as the software we're using today so i made myself a scotch sour awesome all right and since we are going back in time i also did the same and i've got my uh mcallen 15 uh that i am excited about uh yeah so yeah y'all could have told me about the plan it was in the slack channel it wasn't you oh really all right well anyway apparently you did tell me about the plan and i just didn't listen so we're going back in time today's show we are gonna go back in time uh to 2007 and do some development on an older version of servicenow and i'll let chuck kind of take it from there all right the uh the idea for this came about because we have a panel on creatorcon called the evolution of servicenow development and we've got beau riggieri and david lu and jesse graves and uh and me and we have a discussion about how things have changed over time so i thought we would take a look as sort of a prequel to that panel and take a look at what an instance looked like in 2007. you probably say why did you randomly pick march of 2007 as the build well it's sufficiently old enough to show to demonstrate some of the things you take for granted today yet it's also as old as we could get i've got a co-worker who archived a whole bunch of builds and this was the oldest one he could find so march of 2007 we're going to point out the the missing features and what we actually do have and our objective today is just build a simple request app a table an approval i don't even know if we're going to get near a catalog item but will or reporting or notifications but let's see how far we can get because everything and i mean everything was manual there was no guided app creator to guide you through the table you created the table and we'll we'll get into what we what we got to do i did some exploring a couple of weeks ago on this instance just to save you some time and and maybe some rather large explicatives that we we uh we won't be throwing out today but uh i i was curious to see how how many comments we could get in the chat that would actually help us because usually you guys are really helpful going oh no no the data pill over there oh no no this property over there but back in 2007 it was a different story i've even uh dressed in the colors of the the motif at the time we had that light blue banner and an orange check mark for the logo so i thought that would be kind of retro as well do we get started all right yeah let's get started all right we didn't do our screen measurements but i'm just going to share my entire screen and i will don't worry about the url uh andrew cause i've got the i've got it running in full screen so we aren't exposing anything we shouldn't be but if we can get that whole screen i'll let you do your thing so i i was telling chuck earlier that uh this uh this screen uh it uh both uh you know brought back some nostalgia and gave me ptsd at the same time i was having fits going where is this stuff now the first thing i want to point out is this is running at 150 if i back that down to that's a hundred percent nobody nobody can read that i'm sorry i'm three feet away from it and i can't read it so 150 it is for today the other thing is there's this strange thing about the ui uh it didn't used to do this back in 2007 and it might be modern browsers just not doing whatever stuff that we're asking it to do but it's like there's a scroll bar but it only goes down about two-thirds of the screen so you're going to see some things chopped off but we're going to do our best that's that's not the way the software behaved back then and okay until you you accidentally you know go to one of the things that tells you oh you're not running ie get out of here right ie6 the business service map uh page and a couple other things will will throw you that error oh you're right i did see that somewhere okay so task number one is what do you say we build a simple table with uh i don't know let's order some parts or something maybe uh order a drink how about that let's let's make a simple drink request app uh we want to build a table so i'm going to guess system definition we didn't have guided app creator we didn't you know some of this stuff has been around since calgary we didn't even have that so let's go dictionaries to called tables and columns all right yeah we could try with the dictionary but i am waiting for tables and columns.due to come up oh yeah which update set are you working in here oh good point um oh where do we set that [Laughter] we're we're in the we had different menus so let's let's do all was it just xml i don't know if we had system policies and some properties we don't have local update sets you know what well go to your table and see if there's a table for it um yeah you know what else we're missing that i really i'm going to need is there's no navigation filter at all yeah that's going to be painful today people uh let's go down here you want to see if there's an update set table oh yeah that's a good idea yeah there is an update that's what i was saying yes i'm not sure how we're going to get to it because when i tried hacking the url to go to like put some table dot some table under list dot do that didn't work so never mind about update sets we're just going to do this live as you'll hear in the panel originally there were no update sets people just made changes in production okay let's make a new table so uh drink i i believe it's going to name it you under drink but i'm going to explicitly say that should we extend a table look how short this list is [Laughter] the whole cmd cmdb almost fits on one screen [Laughter] uh let's create a new application that's what they called the menus originally and the module is just going to create one under this new one and it wasn't run it wasn't submit it wasn't saved it was do it i remember this i do too the other the other one that i remember is when you were making a filter and the run icon actually had a little icon of somebody running okay so we have a table hey this is this is we're on the right track refresh browser f5 to view oh boy we have a refresh scope question did we have the scopes back then the answer no scopes came in in fuji 2015. we are still eight years away from that this is like working with stone knives and bearskins sorry for the star trek reference for those of you that got it okay we got a table no we should have a menu drink we have a drink table we have a drink list fantastic uh we need to create some fields we could go to the dictionary or we could do this let's let's just create a record here ooh calendar pic that looks familiar that looks like it was never updated and you can right click and save look at that my intuition is actually working here did you notice that if the value changed you get this little green bar on the edge of the field and orange was mandatory or and red was read only or something like there were the other way yeah yeah it might have been the other way yeah and you can also get the reason everybody who's been using this system for so long still right clicks on the banner is because it was really hard to hit this little arrow you always hit the back arrow instead so they stayed away from it and if you still want to see that back arrow go into your system settings on ui 16 and when that modal comes up you know we've got developer and notifications hit print this page or printer friendly or whatever it is that green arrow icon is still on that page it looks like it's from this era okay let's add some fields so what do we have under this menu come on uh we don't have personalized dictionary it wasn't configure it wasn't it was personalized back then which i think is funny let's do it the form way because a lot of people still add fields by going to configure form layout this is configure form layouts early ancestor so we can you don't see it yet uh down here i i told you there's some you would i kind of freaked out at first i'm like no there it is let's um create a name string field what what data types do we have that's it string we have i think 40 will work and that adds it up here do we have we have our n split we don't have a start split that's fun okay whatever and just it automatically starts at the top you couldn't go all the way across then you wouldn't be able to do multiple you wouldn't be able to do like a long field in between two two column sections what else uh quantity let's do that and that should be an integer whoa add we also need a customer which will point to cis user man life was so easy when you didn't have that many field types and you can't type ahead i'm sorry but we could do user oh my look at no table names yeah oh wait there are if it was conflicting kind of like you get when you when you're doing uh like form layouts and list layouts if if there's two of the same name it will put in the field name okay so like not available for groups not available for groups then it will put in a table name so i'm going to assume this is cis user love this form layout look at this [Laughter] what else you think we need guys should that be it for now i think that's good for now let's get rid of that let's um let's try a little form layout oh wait did we have a journal field probably not we do okay feedback we want your we want your comments leave a note for the bartender man that button jumping all around is under me okay so we'll put that there and maybe i don't know now i'm just parting around okay save that we did have views which is nice to know you could have like an ess view or i hit save i think i hit save let's hit save again just to make sure remember it always took forever because it's creating all the fields and everything on the back end so that first time you went into a table and added everything and hit save it was like a yeah and in all fairness this is running on somebody's home machine yeah so i'm not expecting you know data center production quality did you have form section says phil i don't think um i don't think so i remember when collapsible form sections when the tabs were first introduced that's a big deal okay so it added these fields you name your quantity you feedback and we got our form layout there's our paperclip we have attachments i want to see what oh it didn't even come up in a modal done okay yay attachments um but we didn't have any formatters so we couldn't put in the activity history did i miss that maybe there was there something hang on i gotta look at this again personalized form no no formatters are there are there's no formatters at all look here the the green arrow thing still representing reference fields as green arrows with a plus so if you go to incident does it have a it would have to it would have to let me see incident open let's open an incident oh we we just have to take a second and appreciate this list layout [Laughter] and and my favorite is this little hiding group by thing i didn't even notice that one yeah that's sneaky up there you could you group that way the um the header menus had some of the header menu stuff and export had some familiar things but xml was not in there yet and and show active is there like that's a filter extra filter like next to the group by the show active that's a oh yes these are like yours these were your filters from here yeah those are the saved ones those are yours yeah we didn't even have a button here for run filter the the the filter tool did behave similarly to what it does today but you couldn't click the arrows between yeah that was the you know you could go back if you wanted to remove all of them but you couldn't remove just a single uh query from the filter okay the um this is the old info icon when you could hover over them and have it appear as the pop-up view reference field still represented as underlines the the cell shading was always completed i remember when they changed to the dot and i asked tyler jones could you make that a user preference and he did oh yeah i get like two contributions that i can take credit for in this whole platform okay additional comments work notes oh so what happens if you put in here's a comment and look at the header scrolls right the header scrolls off the form save okay so how did the activity formag formatter get there or was it only for task tables yeah let's configure this form and see well check under the selected task activities we didn't extend from task it must have been a task thing only at one time is there so there's no formatters maybe we should have made our drink table extend task um that would probably be under system ui yeah formatters yes there were formatters task activities table task look at that i wonder if you uh insert and stay against our new table with that like it probably wouldn't work but you are you are really wild today i was gonna say global but is global even a thing what gets our new table against our new drink table okay let's try our new drink table drink i really want to hit that arrow but i don't want to hit that arrow uh insert and stay yeah okay now back to our drink app there was a lot of going back and forth let's personalize this list layout first get the customer out there the name the quantity that'll work i need a better list than this oh we we should autonumber this if you want to talk about pain and suffering um back into the record is number maintenance around yes and surprisingly i think it still uses the same script i mean we're going to check that out we want to auto number this personalized form woohoo take a drink i i like that the name of the in the formatter it's it's even called it you know for task it's called incident editing and it works even though we didn't change the yeah i'm taking a drink we're getting it done and this was um look at the the comments are above this thing i'm not sure what's going on here the arrows for next record in previous record up here very tiny but also not accessible [Laughter] okay we got feedback and i think i i don't know what other fields it might be auditing let's put in uh name uh [Music] scotch sour that's what i'm drinking for oh you're gonna get a kick out of this what do we have today about five six hundred people in the demo data here they are all 44 of them [Laughter] that was actually more than i thought we had i thought we had like 14. uh but you'll recognize some names chuck farley charlie witherspoon no abel tutor oh okay so we picked don goodliff he's going to have a scotch sauer and okay that did not get in there so somehow we would right for that right click on the activity bar i think yeah personalize activities wow you have a good memory my friend gracious brad that's what i remember i remember when in doubt right click that was yes yes ian bros taught us that just start right clicking everywhere just right click okay so did it capture that audit change we're waiting for it to save i think when i started there were still 44 people in the demo data i swear when i checked this earlier uh david liu's id was david.liu which is still true and these people still have the same sys ids but beau riggieri was just bo i'm still waiting for this apparently bo was responsible for that then okay there we go let's let's change the quantity to two he wants to get one for me and his friend and we're not seeing that activity captured okay moving right along did we audit this table i don't know let's go to personalized dictionary i feel like i'm doing it wrong when i select personalize because nowadays personalized means for you versus for the instance so let's turn on audit notice there's like no ui policies here i'm on the table but yet you have display and mandatory oh and here's the security there were no acls back then kids it was simple security unless there's a plug-in that still needs to be turned on i don't recall exactly when complex security came around but i think it was about this time i'm not brave enough to turn on plug-ins on this instance can you imagine turning on the acl plug-in when it was was not on originally it's like um yes i know customers who have done that i believe there's still one or two customers out there that did not turn it on they're still using social security turning on the high security plugin that's what it was called that was look at all of these i remember doing that a couple of times and that was a that was a chore to go oh remediate all of the action security don't forget security on this was default open you had to lock everything down yourself it was not default deny yeah that was one of the big changes with the high security plugin was yeah yeah security reversed that acls were already around but high security oh you're right you're right was that that was one of the reasons you had to go fix so much stuff with high security is because it was defaulted yes and then you had to go set up a bunch of stuff to to grant access afterwards we told you this is part psd here [Laughter] okay we have that what do you say um we add some kind of an approval to this let's let's try to workflow it there oh by the way there was no workflow yet that was uh no number two yeah let's automate this let's automate what are we what are we going to do if we we need like a we can use what we they called an approval rule so we had let's do a let's do a business rule uh let's do a business rule oh we didn't put a stake on this thing hold on we didn't put a state silly us we need a state so personalized form that's what we were missing i knew something felt a little sparse in here let's go create a new field state we'll make it a these aren't alphabetized this is really hard add let's put that on the form in the right place i'm feeling kind of at home now let's put the customer on the other side to keep the form balanced yeah sysadmin class 2008. okay and we have no choices so do you remember how to add choices everybody i mean right click right click right click yes personalized choices these two are still around most of this stuff is still around today just configure choices now okay i i have to tell a story right here about an obscure bug that i found in 2015 2016 when i was doing a demo for a video um i was typing in like colors and i said dark red and if you hit add it will put in a space in the value because you know every choice has a value and a label and a sequence if you hit tab it would put in percent 20. that drove me bananas and i literally sat down with marcy palin who was writing the script she says i'm not seeing that chuck what are you doing and and i sat in her chair at her keyboard using the same instance and i'd type it and i'd go real fast and she and there it was i said i swear there's a line of code in this platform somewhere that says if chuck is at the keyboard we're gonna screw with his brain and she said hold on slow down what did you do and it wasn't until she recognized i was hitting tab and she was clicking add that we had a difference and i immediately walked across the hall to the developer team and i said i forgot who it was you know sanjeev or somebody dude please log this as a prb okay so the state let's get uh new order i'm going to click add because i don't want any percent 20s in there although we should probably check that just to see if it happens um what what orders would you have if you ordered a drink what states would you have preparing or oh how about approval we were going to put approval in there preparing uh if it was approved then we could probably have a cancelled yeah and complete how's that fair enough good okay wait i just have to try one dark red tab it didn't work i think we didn't have the tab capability somewhere else okay thank goodness [Laughter] i should have tried it with a save now we have states but we have this annoying nun so let's go personalize dictionary and see if we can take that out trust me i haven't done any of this ahead of time um drop down with none drop down without none look at that's just still there well it doesn't look quite like that with the explanation in the choice we still have choice table and choice field that's nice i use that all the time but they're into the advanced view and you have to turn them on calculated dynamic creation i don't even want to try that so a lot of this looks familiar i just like looking at the forbes ago what's still oh clicking update takes you back here for whatever reason let's go drink yeah they're not having ui uh policies on that page makes it very funny when you're when you're looking at things that wouldn't be relevant for some of the record types and under system ui there's no ui policies under system policy these aren't alpha alphabetized but there's also no ui policies everything back then was done with a client script okay so what do we need to do like a total refresh here to get my form [Music] to behave where's my my state field is not no it still has a nun did i not save personalized dictionary oh i wonder if i didn't sell it in the default value i didn't give it a default value default value is going to be new should i assume it's lowercase i don't know i want to say it did not used to auto lower case but we'll see we should probably show choices and find out well i guess it did hey it said it new no it's uppercase but it worked yeah it it would have worked except it would show oh let's see if it does the blue thing back then if if you have a value in a field and it's not a choice it will still show up blue so let's personalize the list i still feel like i'm doing this wrong come on personalize list put the state out there you gotta have a state on your list let's get created out of there bill says ui policies were fall 2007. so six months ago bonus points for the history major okay now it says new oh it even selected you maybe it didn't care yeah i don't think it seems to not care let's find out okay didn't care that's a bit scary okay we have a state does it still have the uh the javascript editor when did that come the control shift j or whatever oh you want me to find that on a form well i tried it but something happened to my nav menu oh my what yeah it's there oh yeah it's there i don't think that's quite how it's supposed to work controls if j oh it shows up in whatever window has focus that's whatever yeah whatever frame you're in so this is this is client code right yeah okay yeah that's how i i used to always uh change the states to something random to see [Laughter] you'd overwrite read-only fields g-form set value okay we need an approval rule so it's somewhere in here you know i think you used to be able to do that on high uh when that functionality first came out i think you could log into hi and use the javascript editor i think i remember doing that changing his data definition that's a thing you would do brad i believe all right how how are we going to do this approval i thought there were approval rules in this release i still want to do a business rule how would you do a business rule approval no i mean i just want to do a business rule at all oh okay you want to do a business rule just for the fun of it what do you want to do pick some functionality let's you validate that customer is populated with a business rule okay click we don't have data policies we don't have it here so business rule down here everything was script so get ready i don't even know what the apis were and and looking at the options on this is so glorious okay name what is it validate customer customer customer table name drink drink order 100 run apps run at a client in server is hilarious yeah okay so client scripts were business rules there there was a script uh record there's a whole difference i don't know why so what's a client business rule i is this i think it's like a script include kind of like this is that's where or is that i think business rules are operated as a oh it could be the buttons uh because the win win is going to show you lots of fun stuff yeah okay pop quiz andrew and brad what are the current options for when oh after before async and uh query yeah no no query is down here it's display okay so what do we have here we have action action button this is where ui actions are now buried yeah they were this is why i wanted to go to business rules just to show this one field they started like i couldn't tell you two weeks ago i hunted around for three hours trying to find the ui actions so yeah i'm glad you took us here then we have our after async before job okay so we don't have a display i'm not sure unless this is a scheduled job no no because nothing new comes up for when you should run it schedule jobs is down here i'll bet they look exactly like they do today all right what are we doing a a before we want to verify the field is not empty yep okay uh before insert and update i assume yes any conditions you want to put on this business rule uh customer is empty okay uh current dot customer dot nil maybe gs.add error message oh that doesn't seem like it it's going to be available doubting our apis it's a gs come on okay gs dot uh or current dot set abort true oh yes good catch good catch thank you thank you i i've been scoping way too long [Laughter] validate customers at the top of the list because we have it sorted by updated thank goodness all right let's go to drink apparently drink doesn't want to play it's great out or something so let's reload this happened a lot let's create a new one name uh boy i am just throwing a blank uh tequila sunrise new quantity one save oh customer required oh drink inserted wait what [Laughter] so the info message happened but the abort did not look at the info message it's just an axe yeah well that's the error message let's let's actually see if the record is there or not though all right all right yes oh it did okay maybe there's something in the system let's check the system logs is it it's not it's not a api chat says abort action which sounds right oh you you are correct i just want to see if there's anything in here information from boy this really doesn't tell you a heck of a lot message admin message admin what wow the system log was not as helpful as it is today i'll give you that okay so let's go back to our business rules we let's collapse so did we use the wrong yes it's set abort action i should have caught that shame on us auto complete has gotten us that's right yeah thank you auto complete look at no line numbers so if it aired out syntax okay it had a syntax checker that was all we had uphill both ways in the snow right here oh man talk about taking things for granted if it aired out it would say air at line 133 and you go fine where's that this is this is still as useful as scripps background is today ow that hurt okay let's go back to our record that doesn't have one of these we're going to add some feedback um customer is required save invalid update look at that noise okay all right change the state to canceled update all right we have a business rule let's um dare we try to make a ui action let's make a cancel ui action oh i like it i like it and let's make quantity just for the heck of it mandatory just i want to i want to see some screen elements on here okay red is mandatory confirmed if you remove the value does the red the shade of it change slightly uh well it's green so let me let me go to a new record it should screw oh no it's the other way yeah if you yeah then it turns okay turns green because it says i changed i kind of miss an indicator that says the field value is changed the other thing that we should do watch this uh dot walked fields remember that the field label would change yeah it was like a darker gray yes so if i go to customer open this up and say that that's still the case i wish there me too some way to denote this is a dot walk field because i've been fooled by that like looking around a report or something go where the flapjacks is this thing let's just put in um their email address on the form so it still shows it in a dotted notation which is nice and look darker i like that i like i like that now you have to default yeah it's not obvious and it won't fill it in by default oh it does it fills it in yeah nice it took a sec okay where were we going ui action which is really a business rule i feel i still feel like we haven't done anything really useful i mean imagine we were not intending to do anything useful think how quick this would go in studio oh we did an auto number darn it let's let's do a ui action to cancel first see if we can get through that then we'll go dig down in the uh auto number cancel order 100 this will be a action button button i don't know if any of these apply yes this don't seem to be relevant yeah right and we'll do current dot u state equals do we dare try a set value um i don't think we have the getters and setters [Laughter] i really feel dirty doing this and do you want to throw a condition on it to see if it respects that sure make sure you state not equal to cancelled how's that or i think i forgot how i spelled it one or two you went one l yeah and or you're going to need to do a an update dot you state not equal to complete you're going to want to do what an update oh yes dot update because it looks like a business rule but it's not correct we hope i don't know i don't know how these things behaved in 2007. they could have they could have could have hidden a snake game in here somewhere i don't know did we put it on the right table uh i don't know we didn't pick a table down because it's not required table name was blank there shut up andrew global it was global then i guess or maybe not and here comes the moment of truth i don't see it i don't see a cancel button what's is it over here oh cancel yes of course okay we probably should have not put insert then but let's let's try uh we'll fill this out drink um buzzy navel for charlie witherspoon who is also still in the demo data and he needs approval for one of these okay so we save that drink inserted and then if we hit cancel cancel refresh no we don't have a we don't have a refresh on here oh yeah reload form came later was everything everything in f5 drink charlie is still in approval our ui action isn't working how do you debug one of these things just turn on script racer yeah put in a break point give me a time machine i need to go to 2021 transaction log no okay we missed something obvious with it let's take a look probably oh do we need to give it an action name maybe we maybe maybe so okay um give it like cancel or something drink cancel there you go and while we're oh hey what happened to the insert and update stuff they filtered out wow sorry it's a quiet script is there a client script running on there i don't know i'm gonna check i'm busy debugging my code not someone else's charlie cancel [Music] i don't know what oh it was the action name and i also put in an action dot set redirect url so we know that api was around it back then well we are really great or at least didn't throw an error all right i want to auto number check out how many steps it took to do an auto number we first need to create a field so let's go create a field called not view number by the way it doesn't even let you select what views are available you just better remember their names string 40 add let's put that up here save let's make it read only so personalized dictionary uh okay there's no read only so it must be done with acls right what would you do give everybody i'm not even going to try any attributes i don't know what was there let's say writable by admin only unless there's a nun or there's public no this won't really prove anything because we are admin right now okay then impersonate come out oh dear chase i know you're out there question it's not here or we would have seen a little person and a lock icon for escalated security next to system administrator up here yeah i think it was out by it so we need number maintenance let's go look how it's done on incident and see if we can cheat so open number this field isn't read only either personalized dictionary i'll bet there's our good old-fashioned get next number it's probably not padded if i remember right get next number object get next object number i never got that right okay same script we have available today only this one does not do zero padding or does it by default i can't remember so we can do that on ours i was just looking at the the number uh the code behind this function like last week so this is weird it's it's gotten pretty sophisticated when what was it brad help me out it was like 2011 or 12 that we detached the actual counter from the app so there was a number maintenance field and then a number maintenance table and then there was a number mean it's counter uh i have no idea where we're going to find any of that yeah i don't see a number maintenance oh boy you want to see if there's a table at all for number maintenance uh under tables and tables maybe l m n u nothing and on the dictionary record man we're gonna have to take apart that script and find out business rules uh filter add filter name contains thank goodness this is working yet next run oh man where is this i swear it was in a global business rule open this back up table name is global run okay well we got 26 of these 36 yet number there it is there's the function get next object number it's it's a property what no get now is true do it on insert so this still exists if you want to save your numbers till they insert if cis id is nil get now false get now oh wait we still have to scroll somewhere there we go um it was a package call to what cis number so it's managed in cis number but it's not exposed what do you say we go make a module for this yeah let's see if we can get to that sysnumber table oh we can't edit there's no edit application i'm right-clicking where can we make a new application menu uh is it under system definition no it's not no [Music] was it under tables and columns what was the field what was the table called sysnumber yeah that's what it showed on the this number is how it was labeled back then you don't want to create that's a that's the only place you could create a table except the dictionary where i don't suspect it's in the dictionary as a related list do you people name sis sis number sis approval is this created wow ooh under system so you want to make a module to it yeah go to applications under oh right there system definition application right about business rules oh that's obvious okay and then we'll go to system definition let's sort this thing page 2 and then let's create maybe there was one that's active new module title number maintenance this is rolling your own at this point sis number a lot of scrolling man we got a few minutes left see if we can get this number thing done quick order 10 000. we'll put it at the bottom application sysdef list of records view name roles don't need it active filter don't care boom go yeah think that's it i think that's it the form looks all wrong which is confusing then you'll have to do a full reload i'm sure oh man how did anyone do demos back then they were they were demoing the itsm stuff system definition applications number maintenance number maintenance yes sweet okay this should look familiar let's go put a new record on ours category that appeared to be the table name yeah on the on the list view when i was it looked like that it was the table name yeah it's not a reference so that's oh oh i see what you're saying on the list sure yeah wow holy bad labeled things i have to wonder if it if it's still called category behind the scenes so you drink that's just a great table name now that i think about it number 1000 prefix uh give me a prefix other than drink drk yeah how about that oh boy let's go create another drink record and see what we get [Laughter] now here's the here's the thing it incremented the number and that number will be taken with your update set so if you create 10 000 sample records in dev you're going to start at number 1001 in prod oh okay that's hilarious well i think that is right that's as far as we're gonna get yeah we're not gonna be able to jump in any kind of approval at this point but an hour to get that we did have a question on related lists there there were related lists i just validated it um yes there were there are i because we had i forgot if incident tasks incidence was down here but i'll be darn if i could remember how you got them configured first personalized lists personalized lists oh my gosh yeah that's intuitive and it should probably show the same slush bike we have today you're right that's what it was and look same notation for the many to many's and the one to many some things don't change can we get out of here yet yes oh that was fine chuck a little painful but fun that was fun that was a lot of fun and wow it was definitely painful um look up the evolution of servicenow development panel in your guide library whatever when you're looking for panels bo and david and jesse and me it's a lot of fun now i will tell you that we recorded more content than you are going to watch we had to edit that down to fit into the constraints we were given i have a mission to get my hands on the original footage and put together the full uncut edition of that conversation because we go down some deep rabbit trails it's a lot of fun awesome so um that that was a ton of fun chuck um in addition to your um that fun session uh the coming up in a week from now or less if you're watching this later is the hackathon so the very next live code that we do will be the launching the hackathon live code which will be a week from tomorrow if you're watching this live in the description right below are two links one for information about the hackathon and one to register so if you're watching the show you are the right kind of person to come join the hackathon no matter your skill level you're already here you're already watching the show you have enough to contribute to to be on a hackathon team so go go register sign up and uh join us uh next week uh as we kick off the hackathon and build an app uh we won't be using the 2007 version oh i was just about to say we were all you get to use that sounds rough you ruined it eight hours i made a home page uh so we i'm i'm very much looking forward to that uh and so come join us now in all fairness in all honesty building that app was still a lot quicker than a full stack like php app no doubt about it i mean that was that was what we did in an hour it would have taken me a couple of days to do on some other framework so yeah as much fun as we had poking around going oh that was painful it really underscores how nice things are today and the tools we have to really accelerate that really a guided app creator studio aes flow designer process automation designer no no no contest yeah i mean if you had shown me that in 2007 i my my my mind would have just been blown like i would have been like what mine was no this is this is this is too far into the future uh we're not ready for that it's in the cloud that's evil all right the drinks yeah before we uh before we go let's raid our drinks uh andrew i think you were first i was first and so my uh swiss beer here uh was quite good and it is a solid four nice chuck how about you my scotch sour i am a sucker for these things whether it's scotch vodka gin something sour looks good to me this is a five i'll take one of these any day nice my uh my macallan 15 was excellent i will give it a 475. do we get any bonus points for that what we did today did we succeed i'm not sure it didn't crash we we we did the things we set out to do that feels like success to me oh yeah i did actually crap not crash this instance but my first attempt at building an app i deleted the table but it didn't like delete all the fields and then i couldn't delete the fields without the table and it got into this weird state so i told andrew kinkade i said go z-boot this thing please i don't know if it's even usable at this point so yeah you could get yourself in a world of hurt easily yeah but the nice thing was you call up support and you're probably going to get david lu on the phone and david lew's awesome so i'm sure he would have helped you out real fast yeah all right well this was a lot of fun thanks every everyone for joining us we'll put the link to the evolution of servicenow panel in the description of this episode on youtube and uh thanks for spending this friday with us and we will see you in about a week at the hackathon yes i know everybody thanks [Music] foreign
https://www.youtube.com/watch?v=y7YDlQQNyTI