
- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
04-11-2024 09:00 AM - edited 04-16-2024 06:56 AM
Welcome to ServiceNow Administration Advanced at Knowledge24 Now Learning Pre-Conference Training!
We will be using this forum to:
- Connect – You are welcome to introduce yourself using the COMMENT button and share your role within your organization and what you hope to get from this learning experience.
- Ask and answer questions - Please post comments or questions here using the COMMENT button. Classroom staff will respond to the best of their ability.
- Share resources – Let us share resources and links that will be valuable for future reference.
NOTE: Now Learning staff will stop monitoring this article on May 24.
- 5,008 Views

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Good mornin', y'all! I guess I'll get this party started.
I'm Phil. I'm a technical trainer with ServiceNow and have served this capacity for just about nine years on the dot. Currently, I'm based in Tulsa, Oklahoma, USA. You may often see me facilitating this class, as well as our application development courses.
In what feels like a past life, I earned degrees in Interdisciplinary Computing and the Arts and in Japan Studies from the University of California, San Diego. My Japanese ability is passable.
I can otherwise be found in hotels, cocktail bars, and museums. In fact, I'm a docent-in-training with Tulsa's gorgeous Philbrook Museum of Art. I've also accepted a volunteer gig as the sister-city chair with Tulsa's sister city in Japan: Utsunomiya, in Tochigi prefecture.
Truthfully, though, napping with my cat, Pixel, is probably my most cherished pastime.
Let's do this, folks! Keep up the good work!

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Just curious: did anyone come here from a link-laden email I blasted out around 8:15am? 🙂

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
This COMPONENTS OF AN APPLICATION SLIDE is gold. (If you're logged into Inkling, this link should take you to the correct content.)
I once heard that if you wanted a complete liberal arts education, you just need to fully understand all the allusions and themes in T.S. Eliot's The Wasteland.
Well, I feel that way about this slide and ServiceNow. If you can talk through all the jargon and relationships while looking at this slide, you've got a heckuva ServiceNow foundation.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
For me, application scope is like a bento box.
See, in the old days, all your applications' components were piled on the same plate, just like you were PILING ON the goodies at a Las Vegas buffet. But, when you do that, your food starts to touch and even mix together. Don't you hate that? I mean, I don't care if my mashed potatoes get on my cheesecake--but you might. In ServiceNow terms, app components would interact basically whether we wanted them to or not.
With the advent of application scope, it's like putting our food in a nice little bento box. Everything's segmented and isolated. It doesn't mean the different dishes cannot interact--sure, they can. Rather, it means we get to choose if, when, and how they interact.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Configuration vs customization:
Maybe think about it like a car? What's likely to void your car's warranty?
Configuration might be... what, adjusting your seat position? Setting the stereo EQ?
A lightweight customization might be, I dunno, bumper stickers? A new air filter?
But getting into your engine and messing with the pistons or something wacky like that... whew, boy, that's risky business!

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
In Lab 1.1, y'all're gonna make a Business Rule (BR) with a message.
Here's a neat trick: in the Message field, put the system name of a table column into this format: ${system_name}
(Example: ${sys_created_by})
If my message field in a simple BR reads:
"Oh snap, ${sys_created_by}, you just created an Incident!"
... then the actual output will be:
"Oh snap, phil.sharp, you just created an Incident!"
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
What kinds of data is not captured within Update Sets - user, user_group records, etc.?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
For lab 1.2, step D - where is a place we can copy/paste the script lines?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@JSchmauch , only items that ServiceNow considers a configuration change. There isn't a super-easy way to tell what ServiceNow considers what, though. (There IS a way, though, by looking at the data dictionary.)
Basically: process data, like Incidents, Requests, and even Users and Groups, do not get captured, as they aren't considered config changes. They're just considered plain ol' table records.
Things like tables, columns, forms, Business Rules.... anything that changes behavior (i.e., tables that have the "update_synch" attribute set to true) will be captured.
Notably, dashboards are weird. You have to unload them by selecting the" Unload Dashboard" link in the context menu of the dashboard records itself.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@HutcH , if you go to the class Knowledge Base, there's a file in there.
For a shortcut, try adding this to the end of your core instance URL, after the .com:
/now/nav/ui/classic/params/target/kb_view.do%3Fsysparm_article%3DKB0010001
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
For those interested in having the Instance Tools bar instead of the app/update set picker you will need to create the system property in sys_properties. The property should be called glide.ui.next_experience.instance_tools_disabled it should have a type of true/false and be set to false.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
For those interested in having the Instance Tools bar instead of the app/update set picker you will need to create the system property in sys_properties. The property should be called glide.ui.next_experience.instance_tools_disabled it should have a type of true/false and be set to false.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
For Transform Maps, dig this page in the docs. I highly recommend you understands the Choice Action field!

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
We've got a student who forget a mouse for their laptop. Anyone got a spare?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Behold, my attempt to make sense of Data Preservers and Table Exclusions during the cloning process.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
(Instance details hidden for privacy.)

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Some thoughts about automating clones:
I was dead wrong about there being a baseline Event that fires when a clone is completed. My apologies!
However, I wonder if you could use the CloneAPI Script Include to schedule a clone once you know that the prior clone is complete? There is a clone_log table where presumably that sort of stuff is written (and a clone history, too).
If these premises are accurate, then you could create a custom Event to fire when clones show complete, and the Script Action that responds to said event could use the CloneAPI Script include.
Orrrr, maybe just kick off the next one inside of a Clone Cleanup Script?
Finally, check this out: a plugin you can activate called Clone Admin Console.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Lab 1.3:
We'll technically be making a "composite index" of those three fields. That's different than making three separate indexes (indices?). How? I've no idea. Indexing is a specialized topic. Ask your local dyed-in-the-wool DBA. 😶
Also, you'll test the indexes by re-running the filtered search that you set up at the beginning of the lab. It's not shuffling through a great amount of data, so don't be put off if the change in response time appears to be statistically insignificant. 😅

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Yo! The [Shift + Ctrl + J] JavaScript Editor I think uses the same keyboard shortcuts on Mac and PC (yep, you use the Ctrl key even on your Mac).
It's a great way to see what's really stored in a field using the method g_form.getValue(''). For example, try seeing what's really stored in the Caller field on an Incident form (that has a Caller value!) by popping the following code into the JavaScript Editor:
alert(g_form.getValue('caller_id'));

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
My favorite Application Navigator "shortcut":
"ny a" will take you to "My Company Applications."
Why do I like this so much? "Nya!" (more properly, "nyaa!") is the Japanese word for "meow!"

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Try incident.list in the filter navigator.
Then, try incident.LIST in the filter navigator.
What happens?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
The ability to read a ServiceNow URI is, IMHO, a really good skill to have. And, if you want to really show off, you should be able to write a URI with query parameters and their arguments and get stuff to actually happen.
Also: not only can you read things as XML... but say this with me:
"(Almost) everything in ServiceNow is a record in a table--and every record is a JavaScript Object."

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Wanna see logins and stuff? Here's a good thing to zip to in the Application Navigator:
v_user_session.list
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Testing - will anyone approve this post?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Plugging this course on NowLearning:
Troubleshoot the Now Platform - Now Learning (servicenow.com)
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Testing
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
I am just testing!
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
testing 3rd test
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Test test test. Is this thing on?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@lisa slavin Reporting inappropriate comment! 😈
(I kid, I kid!)
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
The racing ducks have no pants, and I think THAT is inappropriate! LOL
😄
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Question to the cloning activity.
Is there any ability to do a full rollback or would i need to apply a backup for this?
Also, we recently cloned an instance (i was not really involved) but after the cloning, it was determined that a LOT of tables were missed to get excluded. I know there are defaults but is there a list of the "most common" items to exclude when doing a cloning downwards? Some sort of a checklist based on users experience?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
If you wanna see me misuse Database Views to hasten GlideRecord queries (in UI16, natch), take a look at this:
https://youtu.be/ZRtedPYmfcI
I think nowadays with the new GlideQuery() class, this kinda becomes unnecessary, but hey...

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
🚨 NERD ALERT 🚨
The cool diamondlike shape that's in the middle of two overlapping circles (like we see in the database view portion of the materials) is called:
vesica piscis
🤓

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hey, so you know how you're selecting "is (dynamic) | Me" in the report in Lab 3.2?
Did you know that before you could choose "is (dynamic)" you had to set it up as "is | javascript: gs.getUserID()" instead?
Well, the only difference nowadays is that "Me" is stored as a record on the Dynamic Filter Options table. And if you go find that record, guess what the script is?
And yes--this means that you can create new, custom values for "is (dynamic)" if you can script a little bit. I once made a "People in the Same Groups as Me."
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
The slides show only itil users can use report sources, does these mean our other App Engine Enterprise fulfiller group would be unable to use this feature?
Update: I went back and checked our contract and it said all fullfiller users can create and modify reports, so i suspect it is available for fullfiller users and not only itil users.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Is there a way to share a dashboard with ITIL data on the reports with everyone (folks with no roles)? Without having to give everyone ITIL?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hey Phil, two ques's.
How would you define widgets? We're trying to refine our user stories to describe how we want our data visualized on dashboards. Maybe you can provide the technical answer, and the less technical answer for some of our new starters?
Q2 - We are having some issues with Is (dynamic) and it's become unreliable as it omits cases & tasks they need to manage. My team's taken to Contains or Is (types their name). Thinking this is an issue related to user table. Thoughts?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Will searching in the View/Run listing be covered in today's session? Without the filter funnel, I find it difficult to search through our Group & Global report folders. Besides using column sorter, any other tips to make this easier?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Regarding my above "People in my Groups" comment:
Your Dynamic Filter Option record would need call a script include from its script field.
Here's the script from my script include:
function peopleInMyGroups(){
// Stringify a built-in method of fetching array of my groups
var myGroups = gs.getUser().getMyGroups() +'';
// Get rid of brackets and whitespace
var myGStr = myGroups.substring(1,myGroups.length-1);
// Pop it back into a cleaned-up array
var gArray = myGStr.split(',');
// Start building encodeded query string of format: 'group=group_sys_id^ORgroup_sys_id, ...'
var query = 'group=' + gArray[0];
// Return this array later
var answer = [];
// Iterate through gArray to concatenate full encoded query string started line 13
for (var i=1; i<gArray.length; i++) {
query+='^ORgroup=' + gArray[i].trim(); // it was adding space characaters?
}
// Create GlideRecord object on m2m table which maps users to groups
var gr = new GlideRecord('sys_user_grmember');
gr.addEncodedQuery(query.trim());
gr.query(); // go fetch the users of all the groups in query string (line 20)
while(gr.next()){
answer.push(gr.user.sys_id); //pop said users into the final array by sys_id
}
// Give this to the dynamic filter!
return answer;
}
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hey guys,
We are in the process of a possible reset and I want to import my data, what is your suggestions on the easiest, fastest way to do this?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Whoa. Check out the [sys_report_users_groups] table. It's a many-to-many table that creates a record for every combination of report-plus-user and report-plus-group. In other words, every time you Share a report, a record gets created on that table. Nine years of doing this and I didn't know that's what happened when you shared a report. 😅
I also noticed there's a very interesting undocumented server-side class called GlideReportChoiceList(). If you know how to do a code search from within Studio (and can read a little JavaScript), searching for it yields some interesting results.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
What`s the best practice/user friendly option for a big department to have as default homepage? dynamic dashboard vs landing page?

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
I deleted some old incidents and then un-deleted them. All the time-stamped fields remained as they were prior to deletion, so it shouldn't affect reports or PA. Things may be different after a catastrophic database backup.
Also, I mentioned some things called "metrics" and "metric definitions." These can be very useful, especially in conjunction with Performance Analytics. For more info on them:
- Read this
- Go read the records on the [metric_definition] table, and
- Take the Performance Analytics Advanced class (and PA Fundamentals first, if you haven't already!) 😅
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
I'm curious about how ServiceNow handles cross-scope calls between a Global scope running ES5 and a custom Scope App running ES12. Could you shed some light on this?
This comes from a question I posted in the developer forum yesterday, including now-sdk questions.
With Custom Scope Apps, we can specify the ES version to use. Since Global uses ES5 and Custom Scopes can use ES12 you can create a Script Include in an ES12 Scope App but still call it from Global.
what is the mechanism that SN uses to handles the boundary call between ES versions?
thanks

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@scornell Oh man, we started talking about this yesterday. I'll see what I can sort out. Hopefully some others can chime in!

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@ardymary Nowadays people will recommend new Workspaces. I think after getting your department's requirements, look at the pros and cons of:
- A simple Service Portal page
- A newfangled Workspace
- A responsive dashboard
For example, if folks need to see data first and foremost, a Dashboard's the easiest solution.
If communicating information and showing some lists of records is the main need, a baseline-as-heck Service Portal page would be pretty easy.
Newfangled Workspaces are awesome but I'm not well-versed enough in them to make a recommendation.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Question around update sets.
I am not clear on what changes and configurations that gets captured on an update set. We always run into an issue where some changes do not get transferred when update sets are imported into an instance. Are there some configs that don't get captured? I'd like to understand what those are.
Thanks in advance.
Edwin
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
I know @That Phil Guy plugged this course already, but I was talking to someone this morning who hadn't heard about it yet. 😯
Glenn Pinto and I worked with ServiceNow Support to create a course about some of the things they do every day to support ServiceNow customers. It details many of the methodologies and techniques used to identify and resolve technical issues with the Now Platform.
Here's the link to Troubleshoot the Now Platform: https://nowlearning.servicenow.com/lxp/en/now-platform/troubleshoot-the-now-platform?id=learning_cou...