NOWCommunity Live Stream - 2020-01-06

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] good afternoon good morning good evening that wasn't even the right order but wherever you are and whenever you are welcome to the community live stream my name is Chuck Tomasi from ServiceNow and I am here to bring you not only the answers on the community but the answers behind the answers the thought process the journey of discovery the learning the reverse engineering that happens thank you for joining me if you are joining me I appreciate it very much you can find this video on youtube if you haven't found it already good morning Carolyn Ram sport happy New Year to everyone before I forget this is January 6th 2020 1980 is now 40 years ago that's what makes me feel old and it just goes on from there subscribe to the YouTube channel click the notifications to get the notifications of when this goes live I have fingers crossed that everything is working fine the audio appears to be working the video is working I'm happy we're off to a good start the bandwidth is holding up hopefully those issues are long gone and in the past lots of lots of struggling with various vendors to get this all put back together and now let's keep going so YouTube is one place you can find that of course where we have those on the ServiceNow community channel and also over on Twitch so sometimes YouTube is a little flaky and you know you need a back-up plan so use twitches your plan B the videos on Twitch are only there for a couple of weeks so plan accordingly good morning I'm on I'm just gonna go with AJ everybody there are some names that I do struggle with and I apologize for that if you are if you have more than just a hello how are you on the live stream then certainly go over and post your questions I try not to answer questions live on here unless it's part of the content on the community because if I answer here it's hard to search hard to find other people aren't gonna go scrubbing through and say where was that one question that chunk answered I saw it once on a video sometime years ago the community is much better system of record to keep track of your issues your questions your problems other people can search them out appreciate it I'm on will go with that thank you for the correction live chat it's a wonderful thing time for in a sip of herbal tea Oh got some service now swag in the stock a stock Christmas stocking this year same good old herbal tea so let us progress through good morning Neal people are checking and I am so happy that you are joining me this morning or afternoon or evening wherever you are whatever what I said at the top of the show so community not service now comm that's what's right behind me that's what we'll be using for some of this live content this is unscripted I'm going to be looking for things that are of interest where I can help I am NOT an expert in all things service now so you'll generally see me solving developer questions integration of questions platform questions that's where my expertise lies so if I'm skipping over something it's not because I don't love you it's because I really have nothing available to contribute I may subscribe to the question to see what other people are answering there good morning John good more Davey people are checking in love it love it love it just beyond the community of course let's do some general rules we have not done this in a while if you are new to the community please observe good community etiquette this goes with observing searching learning the way the community goes as with any online community before you jump in and start asking questions if you do have a question or problem ask once find the appropriate sub community or group forum whatever you want to call it where to post this if you've got a question about security look for the security section if you got a question about scripting developer is probably the best place discovery or service mapping I Tom questions there's a space dedicated just for that so you will have a better chance of getting the right answer if you put it in the right space it's a bit like going to the right department in a department store if you go to the Electronics Department started asking questions about fishing equipment you're probably not going to get a lot of good answers there so think of it that way and move on only post one question once if you don't get the answer you want wait a while you might take a day or two for people to respond but try not to broadcast into multiple forums and multiple times it just makes it hard for people to answer and harder to find when they come back later so if you are an expert and you've done this before consider turning some of that content that you have deserves say hey you know I've seen people ask this question two three four five six seven times why not turn that into a blog post and people can reference it and find it easier that way gets a little bit of street cred for you too you can get that reputation as an expert in the community we'd love to see you do that morning Shane hey hey drew good to see you online Nasir good morning to everyone thank you everybody for joining us and watching so those are some tips if you do have a little bit of expertise and even if you've got an experience that you just want to share a good blog post is always a nice thing to say hey here's how I did it and here's how we're gonna do it again usually you might want to approach this if you have not already done so I invite you to go over to the developer portal at developer.android.com or my cursor is and I'm a visual cue on there you can get a free personal developer instance running any of the latest three releases that'd at this point that would be New York London or Madrid I think London is out word may not even be allocating those at the moment because we are so close at this point to having Orlando it makes more sense to look forward and Orlando will be early access I'm told at the end of this month January 2020 so if you want early access to Orlando before it becomes general availability in March go over to developer komm get your instance you'll be notified when Orlando is available and you can upgrade your instance before everybody else use that as a sandbox before you upgrade your organization's dev test and UAT environment to understand what features you're getting what challenges you may have in upgrading etc etc there's also a share portal where you can get free downloads I know a lot of you have already seen this and know about this but some people are new to the video so I want to cover this just real quickly this is user contributed software snippets applications that i've put a number of things in there as well a lot of fun take a look at share I do plan on showing something from share and I'll point that out when we get to that today maybe it says hello Chuck I'm currently trying to automate synchronization of data between two instances data of CMDB CI server do you have any tutorial link to start somewhere please quick answer to that there's a new feature that came out in New York called IDR instance data replication you might want to take a look at that it is a pay-for service it is specifically designed to quickly set up data replication between ServiceNow instances you don't have to make a brittle rest api and keep that going in maintain different endpoints and the IDR takes care of a lot of that with simple configuration so there are some enhancements I'm told coming out in the next release in Orlando look for those but right now IDR is probably your easiest and quickest solution yes you could build something for cheaper IDR is the way we've already got it let's go forward okay enough of that that was a rapid-fire question also available our meetups you know what I didn't show that but you can you look under events on the developer portal and it will say hey there's a Madison meetup coming up tomorrow night there is a Charlotte North Carolina developer meetup coming up later this month Minneapolis so look here if you don't see what you want this also includes more than meetups it's also got some of our webinars that are on their meetups are organized through meetup calm if you're not already part of that go over there look for service not Developer Program we've got over 21,000 people looks like and chapters continue to grow up to 63 chapters as of early put that title back on the the sorry wrong keyboard I got to be retrained you can go to meetup.com slash Pro slash service now def program to be part of that look and see if is there a chapter near you at sixty three of these things in crowing all the time so odds are that there is if there isn't let us know we'd like to help you start one these are run by developers not run by service now we can suggest content if you've got questions we definitely have an application to help with registration and reimbursement so we'll take care of all the ugly work you take care of content venue and people will show up with if we're lucky and they don't all have to be you know PowerPoint and developers we've got some people that you know meet once a quarter or once every third meeting whatever it is in a pub or a bar setting to socialize and say hey what are you working on what do you want to talk about for the next upcoming meetings what's of interest so look for that over at meetup calm moving right along we've got other events available over at ServiceNow comm slash events dot HTML webinars ServiceNow user groups if you want something a little bit of a difference difference between a ServiceNow user group meeting and a developer made up developer meetup is for developers they're going to be talking deep dive stuff projects they're working on scripting API is things of that nature whereas a ServiceNow user group or a snug is a wider gathering you're going to have architects you're going to have administrators you're going to have developers and project sponsors platform owners every every level of persona in the ServiceNow ecosystem is welcome to a snug so you'll get a little bit different discussion about that people will be talking about how they implemented their CMDB or GRC or a particular application and that may or may not be of interest to the developers so we've got that laser focused developer meet up at developer got ServiceNow comm that you can check out but for the rest of the events webinars knowledge is coming up you can find that over at events dot HTML servus now.com encourage you to take a look at that where are we going next oh I don't know we do a couple of clicks here and make sure I'm not off track we also have don't have any webinars to talk about in the queue at the moment the let's get the right keyboard again any code that's written today will be available in github over a bitly /sn - CLS that's service non-community live stream encourage you to take a look at that I do also have a little booklet that I want to share if you are not what I would call a pro coder you don't do this for living or you know people in your organization who are power users who want to get started go over to bitly slash s n - n CAF d that stands for no code apps for dummies this is a short little book you can see not very thick 64 65 pages of the why why do you want to build applications on there now platform authored by me and Brad Tilton thank you very much Brad for the skeleton the bones of this I put some meat on those bones and we launched this earlier in October so q4 2019 we plan on refreshing this periodically and it goes into a lot of the best practice is the thought process you should go through before I even start an application what are the questions you want to ask of your project sponsor your owner or if you were doing this yourself what questions should you ask of yourself to make sure that you've got this planned out and then some of the implementation details things like extending a table or not extending a table these are things that we want people to understand if they are building an application and then we go through the how will be done in a video series that I'm currently working on so look for that coming soon and we've also got events at knowledge so again no code low code persona a very good information on that if you are more of a pro co developer or you want to be more fluent in JavaScript I invite you to go look at the JavaScript series that I put out a while back called learning JavaScript on the now platform I couldn't remember the title but there's a bitly short link at the bottom of the screen you can see there do you know I should probably put myself away that's fine that's alright I've got my talking head on my static picture so go over there whole series of videos lots of people getting involved getting some education you can zoom in a guy I need to learn more about objects and learn about objects if you need to learn more about the do-while loop or boolean operators or arithmetic there's an individual for that if you just want to start at the beginning and go from syntax to script to rest API at the end you can do that as well i invite you to go take a look at that alright the warm-up act is over let's continue on with the main show whoo I was a lot good morning Kevin good to see you one quick sip again unscripted I don't know what I'm going to find before I start before I start let me follow up on a couple of things that I did notice because I have been doing some community and some projects that I want to blend into this content over the time John says there's some really good service no specific content in there it helped me big-time oh good glad to know because that was the intent of the JavaScript series was not just a teacher JavaScript but how ServiceNow takes care of some of those things some of the API some of the best practices you can do there so I have a question from this weekend where Lee Leonard said how do I set the primary search field for a table and you pretty I believe helped him out and said you know what you can use the reference attributes to do that this is a reference field and what I notice when he pull up this picture was that he's got a child or a child reference field here it's referencing some table called checking reference data and he's got just the created date now there's two things that are happening here I'm not quite sure which direction he's taking this discussion because Pradeep said if you want to personalize the layout of this list you can do that and he instructions on how to do that I'll show you that in just a second over here over at my developer instance which I got from developer service now.com and if I go to say incident you know I have a application that I use just for this i've got persons and in each person record i believe i have a reference field somewhere yeah location is a reference field and when i pop that open there's a couple of things I've talked about reference fields in the past but let me give you a quick review a reference field if you're not familiar with it is a field that points to a record in another table it references that record and the idea is rather than having a form that has what is your name what is your phone number what is your location who is your manager all of this information we can reference that information that's already built into the user record or if you need a location it may have a location manager it may have latitude and longitude lots of information on a location record let's leverage that by this relation that's what relational databases are good for and this is the field that relates this location record to in my case this person record so I can find out more about that by saying show location it says I am pointing this tables location field it is a reference field to the CMN location which is one of our basic out-of-the-box tables for locations always encourage you to use whenever is available out of the box and it has an attribute on it that says don't allow to use you and now the value of what's stored in here is a society right now there's nothing in there and I can use show XML off of this form menu to see what are the values of each of these fields and in my location I currently have nothing which is fine there's nothing in there but if I pick a value I get let's save that so that it actually saves it to uppercase I probably got a script this is sort of a sandbox environment that I provide and this application has been beat up with many examples so if something like that pops up it doesn't surprise me doesn't mean there's a problem at the platform means there's a problem with what I've been doing now location doesn't just say slash it says I have a display value this is the human readable value that it's going to show on that form and it also has this the actual value that's stored in the field that's called a society or a gooood a unique identifier in the system that says this is the record I'm pointing to now that record has a whole bunch of feels it has in daemon to the street it has a state it has it zip code it has all kinds of information you need to tell any record that's pointing to that table what do you want to display when I show this in a field basically what is the display value of that reference field and that's what will show up here because if you displayed this 32 characters of hexadecimal it's not gonna mean much to a human being machine will be perfectly happy using that but the humans not so much so that's what you put in there and if I go to that table CMN location or I could just type location here it's under user administration locations there's one hundred South Charles Street and under configure table I will see the table definition for this it's got all the columns there's a display field on the columns to say which one of you fields are going to be the one I display in this and if I filter out the falses I should have one that's true called name now here's a dirty little secret you may in fact get rid of all the falses and there's nothing left I go how does it know there is a built-in rule down at the java layer of the platform that says if your table has a field called name n am E or u underscore name or number or u underscore number it will use that as a default don't ask me what happens if you have name and number or you name a new number I don't know we could probably try it and find out real fast there's probably an order of precedence that it takes for those so if you don't see something that's set to true look for a field called name or number and it's probably going to be that instead in this case it is explicitly set to true even if I have a name or a number field I still like to have a display value I have in fact created fields called display value which are a concatenation of a number of other fields I may have a name but I don't want to use that as the display value I want to use my display value which has some formulaic way of putting the other maybe name and location because you might have two people or two things with the same name so an easier way to identify that you can only define one display value per table it's not like the location field on my person record can display one thing and the location field on the incident record can display another thing that's a little confusing to the end-user by way what am I looking at here oh it's the same data why am I looking at it two different ways I know we've asked had people that have asked for that it's just not gonna happen okay the only way you could change that would be to extend one of these tables and put a dictionary override to say when I referenced the child table but you're going to get into some other issues when you deal with table extensions I'm not gonna get into here so that's a quick overview of reference fields and what they're after if you wanted to change the layout of that now by default let's go back to user location locations name contact this list layout is also what's used as a default layout for related lists and reference lists and related lists as you're probably well aware are these lovely little lists at the bottom that have records related to this parent record automatically available because used a reference field if you have Table one referencing table two then table twos records can show up as related items on table ones records that's what this is say and because we have a location field on a location record we can have a parent-child relationship very easy to do that being said this list layout comes from the default that you've got on the default list layout and when I go into the person record this layout when I click the magnifying glass comes from that same default list layout oh you can customize these personalize these configure them individually if I want to do that and say you know what this one obviously has been already because it doesn't have the updated field on it or I changed it after this one was created I could say configure list layout from here any column menu configure list layout and it says you can't do that you're in a scoped up this table belongs to a non scoped app etc etc so that's a protection to say Chuck don't mess with this or you're going to be impacting other applications that also use this reference list layout if you want to change this you better be sure it's in the global scope talk to your other process owners that's a good thing I want to be warned when I'm impacting other people potentially and then I can configure the list layout with which columns that want in there and that's kind of how I read into this one because he's got wrong one he's got just the created field on here yeah that's not really the most friendly list layout to pick things from is what date the record was created so put some other fields on there like name or he's got a number or something in here that says the Hana J that would probably be a good field whatever's in the hunted the field that's displaying to Hana J to put those fields on the reference field well that was a long discussion about that Kevin asked what are you Kevin asked I see a response says the no code apps for dummies link oh yeah I could put that on real quick it is bitly /sn - and CAF d say to yourself service now no code apps for dummies there you are there was a second link I wanted to follow up on and that was a round glide aggregate this person wanted to count all of the records in the CMDB CI structure that had zero records so they wrote out a glide aggregate and I've never seen this class before but ordered by aggregate don't know what that's for but they did a group by sis class named a go to my personal developer instance into scripts background global scope let me make that just a little bit bigger and paste in their script I don't have a whole lot of records in my CMDB but it says you have one record in this table thirteen records in this table and the thing to recognize about this is when it counts CMDB CI server it is only counting those records that are in that class CMDB CI server also has child classes there's UNIX server there's Linux server this Windows server there's other tables under there so even though there's 19 records at the server table and there's additional other ones that whole cluster adds up to 40 in my case how do I know this well he wanted the zeros in here so we have to go and count each of the tables and what I did for him on this post was to say okay there is a class a script include called table utils that returns an array of all the tables that are extended from a specific class so if I look at the output of that I say table equals new table utils list is get table extensions and then let's put in a GS dot info list I get a lovely list here of all of these nice tables that extend from as it hey I've got a list of tables now I can do a glide record on our glide aggregate on each one of those however there's a hook in this and it took me a while to see this I went this looks like an array so what is the length of that array said GA info length equals list dot length I just spit out what the like this says undefined I said is this an array or not it looks like you know right what's going on that's when I took a tip that we learned on Friday for a live coding happy hour to use explore this is james deals lovely utility think of it as script background on super steroids very lovely debugging environment and if you take an element and just leave the last line as that data item it will tell you a lot about that data item so let's run this script and it says hey this is a java object it's not an array AHA this is because it's using some older application programming interfaces some api's that return a Java object that's why it's only available in global you can't get this inna scoped app unfortunately but what you could do is write your own scoped app that calls this from global etc etc we'll get into that another time but it also has a lot of methods available with that object one of which I noticed is to array and if I take that script now and say our table list equals list dot to array and then GS info table list dot length it should tell me that it is actually an array and has a length of where's my output no no properties to display let me run that from scripts background I think it's a little might be just looking at a little funny now it says 690 it is in there I saw it on the next line ok so it's right there it's on the second line there's a timestamp and and the output the number was throwing me off so there are 698 entries in that array turning a JavaScript array I think there were there was another method like j2j s or something but I might be thinking about it another place I can now do the glide aggregate to go over each one of those records and he said well I'm not much of a script er please help me with that so I gave back this answer last night which I will go through you with you very carefully one line at a time we'll do this in explore a nicer format okay get the table utila say how many tables extend cm to VC I get all those table extensions comes back in a java array convert that to a JavaScript array I even print out the length of Jung then there's a for loop that says for every element in that there's a length of at 698 go through each one of the 698 and set up a glide aggregate on that list I'm just doing a count on what however many records are in there and if you get a valid count record back just print it out now I've combined info and print which is lovely but don't crucify me on that one this takes a few seconds to run because there's 698 tables which it says right up here but now I get the tables that have no records in them that being said I also noticed that CMDB CI server which is not off abetik down here reports back cfpb CI I'm searching for it CI server there it is has 40 records in it not nineteen so what's happened is it's counting not only those records at the right table I go to CMDB CI server got list it says yes sir you have 40 records in this table oh and note that 19 of them are in the server class some other ones are in the UNIX server class etc and said there's a Linux server there's a Linux server you get the idea it's counting the parent class and the child class tables now that's going to happen because I'm saying count all the server records it goes you know what this is an extended table like tasks would be extended when you say show me my work it shows you all of the records in that class that's what this is doing glide aggregate is counting all those records if you wanted to count them individually you would have count all the endpoint tables and then do some crazy math to understand that there extract if there are methods to do that I didn't want to get into that so I put that in the explanation that this is an extension thing it's going to happen if your CMDB is what I would call pure and clean I don't know if anybody is just like this but why would you have a just a generic server without identifying it as a linux server anti X server window server that kind of thing if you all of your CIS are on those endpoints then you can you can count just the records on those nodes there is a method in table utils that says is this an extended table or is this not if it's extended like CMDB CI server don't count the records just skip over it go to the next record do do a continue statement in your for loop if it is an extent if it's not an extended table then you can count those records and repeat it back so that would be one way around that happy new year edie and thank you let's do a couple of community records see what's happening this is supposed to be all about the community got lots to share been offline for a while I haven't done in one of these videos so lots of ideas piling up in the back of my and yes I'm gathering those up in a list on servers now all right I like to start with the unrep lied ones see what's happening that nobody's responded to yet five minutes ago visual task board and Azure DevOps board integration so one doesn't really feel like a developer question but let's take a look just out of raw curiosity does anyone know if there's an integration exists or is it possible to integrate VTB and Azure DevOps work item board not sure what type of integration they're looking for but I can say may not be the answer but there is a REST API for VTB let's make sure that I have a sneaky suspicion REST API Explorer and if you go to REST API Explorer is great tool for developing integrations third-party integrations that are inbound or outbound somebody who wants to communicate with ServiceNow so let's go table API I might be thinking of something else and I'm not finding it so let's go to Doc's which i think is actually over here already REST API VT maybe I'm imagining things up I swear I saw VTB integration somewhere before rest api and when you get close enough this little deal on the left tends to be very helpful debug outbound or state P I reference agent agent agent agent import you know what I might be thinking of service portal it could be wrong I swear I saw something on V TV I had to do with the REST API but a lot of mixed up mashed up information in my head over the holidays uh you know what I better not answer that one with that answer until I'm sure that's not pass out false information where'd my documentation go visual task board I don't really care for the release notes but visual task boards today but this is gonna drive me nuts I know where I saw it I mean I know I saw something you figure configure configure oh I know where it was it was in flow designer yeah no that's not gonna work darn darn okay we're gonna put that one away but I am curious to know what's gonna happen Auto close left cancelled The Associated change task if a change request is closed or cancelled that's an easy script can anyone please help me with the query below is there a baseline functionality to auto close / cancel any associated change tasks when a change request is close or cancel how do i implement in our instance let's go check an instance real quick and look for business rules system definition business rules on the table change request and cancel conflicting update conflicts refresh restrict system actual planned start calculate risk read only mandatory mandatory validate closed cloade change prevent and read only 50 business rules on here let's look for clothes auto-populate clothes claude mark closed what does mark clothes do it runs before and has no script and sets active to false that's it okay so I don't see anything out of the box but it's a common request and easy to script create a business rule that runs after a change on change request an update excuse me where active changes to false I don't want to do it on a state field because there could be multiple states that change it to false and you want to do the same thing rather it's closed or canceled and if somebody adds a third state that has some sort of active equals false this captures it all right your script will look something like this note this is not is not been tested let's go write it in vs code so a I can publish it to the github repo very quickly and B it's formatted nicely so first thing is put on the framework for our business rule and we want to get all the records glide record change tasks table get all the records from change task task gr dad ahead query I really need the ServiceNow plug-in on this thing so test the autocomplete for me no let's not restart in the middle of something I want the change request table it is changed request is it not validate that real quick change task do should have a field on there called change request show it is called change request I know there's a plug-in that shows that for me but I haven't really got warmed up to the having the field label and the field name on the form at the same time current get unique value to get this this ID so get all the records that have the same parent record let's also add a query where active is true and yes you could do add active query instead of that I'm just being old-school on this one well task gr dot next so for every record that you find task gr dot state equals could take the current state if they line up okay set these to whatever you want seven four three set this to whatever you want I'm also going to do a task G r dot active equals false and task G r dot update and that's it so for every record you find put that there that's my inbox that's not what I was looking for bring up our little script D editor for nicer formatting pick JavaScript slap that in there and only we go easy as that anybody spot anything obvious that I missed great and that's our first coin of the day next time I mean next record refresh take a drink are we having fun yet thank you for joining us I'm having fun feels like it's been forever since I did this how do you share an instance of allocation workbench that's in ITB M not really one of my specialties I'm going to change or create widget for different catalogs find out what they're looking for been doing some service portal work so I'm learning a little bit as I go I have five different catalogs the classic service catalog for IT another one for HR FM and two more so as in the portal is there an easy way to use the SC widgets to show items and categories of the classic Service Catalog but I want to create a page for every catalog with widgets they show only the content of the catalog of course I can clone the widgets and try to edit but I think they might have been easier way if I have to clone a widget could somebody show me the rows or functions I have to change are you looking for different behavior on the widget quite clear what your your requirement is here are you question are you looking for different behavior from the same widget based on which catalog it is part of or are you looking for different widgets for each catalog AG if it is the latter I recommend I do budgets have roles I can't remember now so country service portal widgets I know pages have roles look at this one real quick yes they have a role command taking a look at the roles used for each catalog and applying them to the widgets to make them appear or disappear based on the roles you know I'll probably misunderstood what they're asking for but that happens all the time I I tend to need clear requirements don't forget if you are posting to the community put in the requirements what is the business requirement here don't go after technical requirements right away so hey this is what I've got this is what I'm tried this is if you've tried something share the code share screenshots very very helpful ITSM how do we copy over the multi role variable set answers along with questions to the HR case payload or is comments [Music] there's an article that bred Tilton wrote about multirow variable sets and I thought copy was one of them let's see if we can find that real fast well let's open that up go back to my main page search for multi variable set there should be a blog entry by Brad searching searching searching let's look for blogs there it is exploring the multi row variable set and Sri says hi Chuck in the script you just posted shouldn't we check if activists false because it's after business rule not necessarily because the condition of that script you're talking about this one the the condition of the script says hey run this when the change record active field changes to false that will trigger the script says hey if the change record went to false then I'm going to make sure that all of the children that are not currently closed or cancelled get cancelled or closed whatever it is so that is we have a requirement to upgrade one of our catalog item and taught the multi row variable set would fit the bit as it looks neat and comparative for the regular vs hence I was able to implement it however the user submitted data does not get copied over to the payload slash as the comments other details are captured can you please help me help to point out how to copy the MDR and rvs answers to the payload along with its question so my thing here is here's our multi row variable set and I believe Brad includes some script see my next post scripting in the multi-role variable set that's the one I was looking for here we are so variables dot access list variables comes out as their that's what I wanted that oops it's over here you can copy them over with script this article should be helpful sometimes a shorten it up so it doesn't say developer community service now community that just kind of bothers me great if I'm sending it in an email but we're already in that community in that community well let's continue on another rail and there's Brad's article we've got time for a couple more you're welcome three James good to see you thanks for joining I'm gonna go to the developer community which is not fitting on my screen at the moment because of my font size what you guys to be able to see it be able to read what's on the screen and replied see what's coming in knowledgebase approvals doesn't show content should if it's got a summarizer hopefully there's a picture hopefully there's a screenshot yes okay hello been working on sending approvals for the new comments and new article publishing I've managed to send approvals by setting the manager of the knowledge base and by that the approver receives a notification on the service portal when he opens the notification it will show him the approval form but it will only show the title can you confirm whether this is how it's supposed to be don't know about that widgets perfectly let's go take a look I haven't dug into that set of widgets so it's on the approval form approval request for knowledge-based done event or da Activity Stream so somewhere I'm guessing this is this is raw unknown territory here service portal widgets I'm gonna guess there's probably something called approval in there somewhere or a record approval info maybe they didn't give a URL on here anywhere did they knew her over request for blah blah so let's go look at this and mm-hmm what do we got HTM is this even the right widget hard to tell I can't glance at this and know what it is in G a field label field display value if data is mine state is requested class equals question and you click approve reject so there's couple of buttons here okay proven reject is that what we saw a proven reject that's looks like it's over here on the widget not seeing this part on the form I'd have to go to the page and see what the page looks like this one looks like it's gonna be a little deeper than I've got a few minutes for here I am interested in seeing what that's all about and it feels like feels like there may just need to be a summarizer what a summarizer is they still exist this is another thing that i learned going in 2008 don't have it here it's uh want to say it's a UI page is it UI page I could remember how these were put together if it's UI pages obvious how can I show up by the portal but know what you get sit-up formally on I'm trying to remember this has been a long time since I've had to deal with these what you get when you go to this approval approver dot list is your list of approvals and you can see this one is for a change record so if I open this up it gives me some details down here about the change request it says summary of item being approved so there's something on this form that is showing that and if I say configure form layout it will tell me that there is an approval summarizer it's a UI macro but that UI that summarizer is smart enough to say ok that was a change record let's look at something else it finds us something else hopefully I don't have 663 change records find something else let's group by approval for that'll make it easier to find something other than a change request I've got some change change change change standard change okay well whatever and it has come on down here that is the proposal I clicked right into the record I did not go to the approval shame on me so a standard change their different summarizer so the approval summarizer is a UI macro which just comes from a formatter so if you haven't dealt with four matters before there a way to put macros on to a form and that's also how it's represented in that list where it says approval summarizer comes from this and it says thou shalt use a type formatter of this UI macro so I should have a master approval summarizer out here under you imacros called that and I don't interesting approval summarizer approval summarizer default approval summarizer SC request so these are the individual ones again this isn't helping with that service portal question very much but I want you to understand what summarizes are and where they are manifested because that default macro because it says Hayes their specific one otherwise I'll show you a generic one kind of like tasks to form layout or list layout but if you put a pool summarize or underscore table name you can make your own summarizer what fields do you want on there here's one for a request so if you see a request it's got a little bit of code in here these aren't the simplest things to write like most jelly code but you can make your own tables and fields and take an existing one modify it to what you need you're probably going to just modify a few cells in this table to say I'd rather have this field than that field but start with an existing one and modified from there and you can make your own little summary section in an approval record that's not the case for service portal again I'd have to dig into what that page is displaying what widgets are on that page and what those widgets are doing haven't done that yet this part I have done before so with five minutes left let's see what else we can find in here I do have something in the inbox that needs following up on according to that little indicator at the top of the page and and hey we got a question mark correct Lupin and I go to his profile I want to go to this posting Thank You Johannes come on community let's go to the right page inbox Wow navigation this morning is troublesome for me loading loading loading loading and I'm subscribed to that one so I can let that go back to the inbox back to this posting so the question came in I said if I am using GS debug function in a scoped application where do I go to see the output that was printed by this function excellent question excellent question and I've wondered this myself for instance if I use GS log you go to the system logs and you see that output but with GS debug GS info that kind of thing you're not gonna see it so what I found this may not be the only way it's the way I know because this is the way it started working I know some functionality has changed let's go back to studio and take out my CLS 528 app my sandbox punching-bag server development business rules a little scratch pad I want to deactivate some of these they're kind of getting in the way record updated you activate that set default business rule deactivate that and incident commented I'm not even sure what this is doing in here it's not even the right application but anyway proof that you can put a business rule that impacts of global record so let me create a new business rule probably some client scripts and they need to disable as well but will continue on and debug test when I get this going anytime a record is inserted or updated in fact let's do advanced because we're going to need some script we'll do it before we can put a condition on here advanced condition current not active we'll just say that real simple and GS not info this script is active R this record is active hey I can even make it easier to spot or myself by doing that and I saved that so I've got a business role that's going to run whenever one of these well number one of these fictitious records that's not listed here in the person table is updated so it's that one I can barely see it but I can't see it let's go back to this CLS 528 person's table update a record and say hey Craig I'm going to update your social security number from this to this and I save you go well where's the debug output hmm if I say debug business rule it brings up these rip debugger this is as of New York okay so look for it there and in the session log I can do it again and say let's change the order to 100 save did anything pop up there it said I went into the debug test and I came out of the debug test but there's no output on there I would like to see there's my info messages hmm it's not there why don't I see it well what I discovered once upon a time was if you go into system applications and you used to be able to click all and it would bring you to a straight out list of your system applications now it brings you to the application client say what's installed what's not what I found in here it's a little easier to understand is I go to sis under app dot list this is where it used to take you and in there is the record for my my scope gap which is editable because that me in the correct scope right now down here it says enable session debug which means on the standard listen forms come on there we are and it should switch over to disable yeah okay if I go back to my person record and update Craig's age to 51 and do a save now when I look down here I've got not just my debug that was on before but I also have my GS info statements should be in here but they're not they're supposed to be but they're not and here's the next set of things in my debug log I can tell the business rule is running because it goes in and comes out if it were skipped it would say equals equals equals so this demo did not work as expected back in studio I know it's running I've got a GS info I know it's missing a semicolon but that shouldn't preclude it from running current dot active is true and it even said in the script log execute before business rule before engines are number 1000 you look at debug business rules details don't think that's going to be much difference here but to change that to a one still do a save on that and did my log show anything new skipping user query went into debug test interesting it is not showing any info statements is it showing any info statements down here find no huh I've done this a thousand times before very interesting I'm gonna have to dig into that where do those debug statements go please check your business rule and I thought I did let's diesel debug test is active advanced on the person table when to run before any insert or update no condition here there's no actions there there's advanced here which just says current active I probably don't even have an active field let's try that just unconditionally run this script I thought I had an active field I usually put them on a lot of tables there is an active field okay so I saved that right I saved that and changes age to 50 to save it find nope this should be right between these two the debug test going in and a debug test going out interesting that's where it's supposed to be I don't know where it's going and I don't know why it's not and I don't know why it's not in here either because it should be in both of these so to turn on session debugging select all this is real details this is much easier than the other way I kind of like this new debugger in New York that has the session log on it very happy but normally I don't output things like this to the screen because a lot of stuff I do is asynchronous what I'll do is I'll put the debug statements into a script include test those unit test those ian's scripts background or as you saw earlier with Explorer to make sure that they're doing the ready inputs and outputs and I get my debug statements then I'll comment out the D bugs because I don't need them after I've tested it then just run the code I trust that little piece of code in the script include implicitly to be called from a business rule or a UI action or wherever so that brings us past the top of the hour I appreciate you joining me and invite you to come back I'm not sure what's going on with the screen in the background we've got some lighting effect going on that's kind of fun but I will talk to you again next time until then take care learn something share something be helpful to others and we'll talk real soon [Music]
Info
Channel: ServiceNow - Now Community
Views: 879
Rating: 5 out of 5
Keywords:
Id: 3lwzhdZ9asI
Channel Id: undefined
Length: 65min 56sec (3956 seconds)
Published: Mon Jan 06 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.