Welcome to our JAVASCRIPT PAGE Section X
xxx Configuration Management Database * (CMDB *) - Takeaway The CMDB stores all of the Configuration Item information, including the relationships between CIs. It can help management make informed decisions and provide visibility into those groups or users who will be affected by a Change. The CMDB may be populated via flat file import, via Discovery, or via Integration. A “CI Class” represents a type of Configuration Item such as “Application”, “Computer”, “Printer”, or “Server”. It is a table that descends form the main cmdb_ci table. - Videos
https://www.youtube.com/watch?v=F58yTbDKaCo&list=RDQM56YIjzjI_94&start_radio=1
https://www.youtube.com/watch?v=qdEIYjs-Y3A - Courses
Configure the CMDB Simulator (Rome)
https://nowlearning.servicenow.com/lxp?id=learning_course&course_id=7728687e1be674d49ab10f66624bcb52&child_id=f7cee9321bb97094076274ce034bcb94&spa=1 Configure the CMDB Simulator (San Diego) Lab Instance Training Video - Modules:
- Configuration
- CI Class Manager - Relationships - Suggested Relationships - Servers - All - Tables: - Base Configuration Item (cmdb) - Configuration Items / cmdb_ci
- The Base table for all Configuration Items.
CI Relationship (cmdb_rel_ci) - Roles: asset itil itil_admin - Definitions
- CMDB
- A data repository for Configuration Items. - A collection of tables and fields that store all of the information about the Configuration Items (CIs), as well as their relationships to each other. - Configuration Item (CI)
- A hardware or software asset.
- A uniquely identified physical or logical component used to deliver a service, for which changes are controlled.
- ITIL Definition: Any component that needs to be managed in order to deliver an IT Service.
- Can by a physical device such as a server, or a logical construct, such as a cluster of servers, or an Application.
- Contains properties such as Manufacturer, Vendor, and physical Location.
- Examples
Server
Computer Switch Router Printer Software
- Issues
- Even today (2022) many organizations rely on Word documents and Excel spreadsheets to understand their Infrastructure.
- Even though IT is often aware of the value of a trusted CMDB, many organizations struggle to implement, sustain, and derive value from their CMDB. - Value - Provides a single source of Truth. Lets you know which users may be impacted if a change is made. Helps eliminate redundancy in the organization. - The CMDB provides a logical model of your company's infrastructure. - Provides visibility into your infrastructure and services. Helps management make more informed decisions. - Having an accurate and up-to-date CMDB helps you locate failed changes, and facilitates quick analysis of impact, helping reduce downtime. - Allows you to organize (classify) your CIs and control the different types that are there. - A well implemented and maintained CMDB provides an organization with complete visibility into their enterprise infrastructure, including reliable configuration data for physical and virtual servers, computers, routers, switches, applications, cloud instances, and more. - Every change to CMDB data is fully traceable and logged by date and time, source of change such as ServiceNow Discovery, SCCM, user, etc., and includes the new and previous value. - Discovery VS Service Mapping:
- Discovery
- Finds everything, whether it's helpful or not.
- Identifies all devices located in an IP address range.
- Service Mapping
- Discovers only CIs that comprise a Service.
- Allows a company CMDB to become “Service Aware”.
- Identification and Reconciliation Engine (IRE) - Reconciliation Rules allow only authorized data sources to update specific CI classes, normalizes the data, and then loads the data into the CMDB to ensure the most recent and accurate profile of that CI. - Identification and Reconciliation rules provide a centralized framework for identifying and reconciling data from different data sources. It helps maintain the integrity of the CMDB when multiple data sources such as Event Management, Discovery, Import Sets, third party discovery tools, and integrations via REST are used to create and update CI records. - Used to help prevent duplication in the CMDB. - Data may be imported into the CMDB through IntegrationHub ETL (a ServiceNow Store application), import sets, web services, direct database imports, and Excel files. Transform maps, the Identification and Reconciliation Engine, and business rules enable inbound data to be mapped to target tables and fields, transformed, merged, and coalesced. - The CMDB is the authoritative source of information for some fields:
- Owner, Contact, Support Group
- CMDB Query Builder - A feature which provides a simple and intuitive way to query the CMDB for CIs and relationships across multiple CMDB tables, including service maps. The user interface is drag-and-drop and enables the creation and execution of complex queries into CMDB data without writing code. Queries can be saved, scheduled, and exported into multiple file formats. - Configuration Management System (CMS) - A set of tools and databases that are used to manage an organization's configuration data. - Attribute - Information that describes a CI such as its Name, Serial Number, Manufacturer, or Operating System. - To create a new CI, navigate to any CI table such as “Oracle”, and then click on the New button at the top of the List View. - Businesses Services depend on other Business Services and also on other Configuration Items such as Hardware. - The CMDB allows you to track Assets, but it is NOT financially oriented. - The hardware tables are the most commonly used CMDB items. - Do assign a CMDB Admin in your instance. - Do review your relationships and eliminate duplicate relationships. - Watch out for Loop Backs (Dependency Loops). This can result in some errors. - IP Address can be problematic because of “IP Leasing”! You get assigned a new IP Address every few days. Don't use IPs for Identification of CIs.
- Use Serial Number and Class and Name.
- Help-the-Help-Desk
- For External Laptops.
- A Windows-Based out of the box thing.
- Does “poor man's discovery” on Windows Devices.
- Class - A “CI Class” is a type of Configuration Item such as Application, Computer, Printer, Server, etc. - Think of Class like in Object Oriented Programming. Each class derives from another class and adds new properties. - A Class and a Table are the same thing. - Linux Server derives from Server which derives from Configuration Item, for example. - Discovery Application: - ServiceNow Discovery can be implemented to easily and accurately populate and maintain the CMDB with CI data that is constantly being rediscovered and refreshed in the CMDB. Fully integrated and agent-less, ServiceNow Discovery automatically identifies the type of CI it is interacting with and then launches additional probes, sensors, and patterns that are appropriate to that device to gather further information and attributes. - An automated solution for collecting CI information for the CMDB. - May also integrate with an external CMDB. - Discovery finds computers, servers, printers, and other IP-Enabled devices, and the applications that run on them, and updates the CIs in your CMDB with the data it collects. - Gives a clear view into an organization's IT ecosystem to identify and verify all Configuration Items. - Runs on demand or on a scheduled basis. - Integrate with 3rd party discovery tools such as Microsoft System Center Configuration Manager (SCCM) - Perform discovery of cloud resources such as Amazon Web Services, Microsoft Azure, or Google Cloud. - You can add custom fields to any Class of the CMDB, but also consider whether or not you should create a new Class instead. - Types
- Horizontal
- Scans your network, finds computers and devices, and populates the CMDB.
- Creates Relationships such as “Runs On” and “Uses”.
- Top Down
- A technique used by “Service Mapping” to find and map CIs that are a part of Business Services such as Email.
- Health Dashboard
- Has scores for Completeness, Correctness, and Compliance. NOT Connectedness.
- Hierarchy of Classes
- Go to “CI Class Manager” and click on Open Hierarchy to see a Tree View of the different CMDB classes.
- Click on “Add Child Class” to create a brand new Table (class). There is a Wizard which walks the user through adding…
- Attributes.
- Identification Rules
- Reconciliation Rules
- Relationships
- Relationship
- Consists of two (2) Configuration Items, and a Relationship Type.
- Parent CI
- Child CI
- Type of Relationship such as “Runs On” or “Stored On”.
- Dependency View / Dependency Map - Graphically displays an infrastructure view for a CI, and the business services it is a part of and supports. - Provides a modern interactive graphical interface to visualize CIs and their relationships.
- Types of Relationships
CI to CI
CI to User CI to Group - Parent / Child
- If you have a Server that “Receives Data From” a Mass Storage Device, and the Mass Storage Device “Sends Data To” the Server, your relationship would be called: “Receives data from :: Sends data to”. - Your “Parent” would be the item to the left of the relationship and your child would be listed to the right of the relationship. - Example - MyServer Receives data from::Sends data to Mass Storage Device - You can read the relationship in any direction, but you always skip over the 3rd term. - So if you read from left to right, MyServer Receives data from Mass Storage Device. - If you read from right to left, Mass Storage Device Sends data to MyServer. - Relationship Editor - Uses a concept of “suggested relationships” to help users see reasonable relationships between CIs. For example:
- A database Runs On a server.
- A rack Provides Power for a server.
- Provides Filtering to allow you to limit the CIs displayed and locate the appropriate CIs for new Relationships to the current CI.
- In the “Relationships” table at the bottom of the form, hit the Plus button to actually add a relationship of the type you specified, to the CIs you selected, in the sections above.
- Related Items
L1 - A Level 1 Relationship - A direct connection between the current CI and another CI.
L2 - A Level 2 Relationship - Indicates an Indirect relationship between the current CI and another CI; so there is 1 CI between them. L3 - A Level 3 Relationship - Indicates an Indirect relationship between the current CI and another CI, with 2 other CIs between them. - Most Popular and Useful Relationship Types - Connected by::Connects - Consumes::Consumed By - Contains::Contained By - Depends on::Used by - Runs on::Runs - Used by::Uses
- MID Server During most CMDB implementations, data will come from multiple sources often requiring a MID Server to be installed and configured. - Having a MID Server setup is required for the following CMDB-Related activities: - Service Mapping - Population of the CMDB - Methods - Manual - Excel - Keyboard
- External Sources
- Microsoft System Center Configuration Manager (SCCM)
- Provides good detail.
- ServiceNow Discovery
- Based on Ranges of IP Addresses
- Good method, but usually does not pull in very detailed information.
- ServiceNow Cloud Management. - Service Mapping
Top Down for example from a Website down through the support structure. - Experts say to use Discovery First, and then later Service Mapping; they are good complementary methods of populating the CMDB.
- Lifecycle Management
?
- Reconciliation Rules
- Discovery Source Reconciliation
- Decide under which situations Cis are allowed to be updated. In some cases, one source of data may be more trusted than another. - You must setup a Reconciliation Table and designate your number 1 source for the CMDB so that other sources do not overwrite your data. - Example rules: - “For class X, the source of truth is data source Y, so no other data sources may overwrite records from data source Y.” - “For class X, the source of truth is data source Y, so other data sources may only write to Empty Fields, not fields already populated.” - CMDB Health Dashboard - Measures things such as the following: - How many attributes are populated? - How much Compliance is there? - How current the CI's are? (Correctness) - Service Mapping Application: - Provides the contextual map that shows how Cis are deployed to support the delivery of a specific service. - See “Service Mapping” elsewhere in this document. - Business Service
- An organizational element which may represent a series of CIs which together represent one “Offering”.
- Technical Service
- A collection of CIs, grouped together, and used to support an upstream business application.
- Such as a grouping of Web Services.
- Business Services and Technical Services can be used to REDUCE THE NUMBER OF RELATIONSHIPS depicted in the CMDB. - The number one problem of the CMDB is that it is NOT CORRECT because of bad data entry, obsolete items, etc.
- Don't upload consumable assets (cans of oil) or facilities information (parking lots).
- Use asset management or other tables.
Service Mapping * - Hierarchy: Business Service
Business Service Configuration Item (Hardware)
- Service Mapping is one method to populate the CMDB. - Service Mapping requires a MID Server. - Top Down - A technique used by “Service Mapping” to find and map CIs that are a part of Business Services such as Email. - Service Mapping Application: - Provides the contextual map that shows how Cis are deployed to support the delivery of a specific service. - - Business Services and Technical Services can be used to REDUCE THE NUMBER OF RELATIONSHIPS depicted in the CMDB. - Business Service
- An organizational element which may represent a series of CIs which together represent one “Offering”.
- Technical Service
- A collection of CIs, grouped together, and used to support an upstream business application.
- Such as a grouping of Web Services.
- The ITOM Suite includes:
Discovery Service Mapping Event Management Cloud Management
- To upgrade to a new version of ServiceNow, the basic steps are:
- Do a fresh clone down to Sandbox
- Upgrade Sandbox to latest City version of ServiceNow
- Review each Skipped Change
- Open up an Update. (note, you will need to open an update set for EACH Application Scope you work on)
- If you “Revert to Base System”, that is, to the ServiceNow Out of the Box version of an object, a Customer Update will be generated.
???
- If you “Merge” a Customer Update will be generated.
- An Upgrade Details record will also be captured in the update set. (Table sys_upgrade_history_log)
Empty Fields * - Sometimes a ServiceNow column value (field value) will show up in a list view as “(empty)” when it actually has a value. What this means is that the field is a reference field and the referenced record could not be found. You can still see the sys_id of the referenced record by exporting the main record to XML. Some tables, such as the “sys_update_version” table, are setup to delete old records automatically, which can cause this situation. This is normal and expected.
- Sometimes if you cannot save a record because of a Required Field, you can make a change in the List View, and still get away with setting a value that way. - Super-Hidden Feature: With list items selected, from a column menu, choose “Update Selected”. - If you don't know where a function is being called from, you can still do alert(theFunctionName), and the entire function contents will be displayed to you!! - Right clicking the ServiceNow Filter breadcrumbs and choosing Copy URL will NOT include row ordering information. However, the URL itself in the Browser Address Bar will. - Before running any Script, be sure you SAVE the script! Otherwise you may not be running what you are seeing! - Use Shift + Down Arrow to select consecutive values from a column. - In order to see the actual Table Name from a List or Form view, just look at the URL in the web browser. You will see “sys_user_list.do” for example, so the table name is “sys_user”. - Once you do a “get” operation on an object from the database, you can then DOT WALK to related objects! No need to keep calling into the database! - One technique for finding code relevant to a UI object is to use F12 for the developer tools, use the Cursor/Mouse button and point to an element on the screen, then use the source window to find the sys_id values around the item you care about. Then use a Script to find, in all tables, the ID in question. - At least 4 options for promoting a change:
- Make the change manually on each instance.
- Run a script on each instance.
- Import Commit Update Sets.
- Import XML Files.
- The tool (ServiceNow) is not responsible for telling people Why they should be doing something, or When they should be doing something. - Another name for the “Platform UI” is the “Fulfiller View”. - Determining why a field is Read Only / Disabled 1) Small Menu - Configure - List Control - List Edit Type - “Disable List Editing”.
(UI Policies do not run on List Edit, so it is sometimes useful to disable it.) 2) System Security - ACL - [Column Name] - Look for Access Controls for the column in question.
3) Just click on the dictionary entry and look for ACLs inside of that record. debug - Debug Security can be used to look for Access Controls. - Check for the field in Parent Classes / Tables. - Out of the Box, Outages automatically appear in the “Announcements” section of a portal home page. - ServiceNow Utilities for Web Browsers: - SN Utils - ServiceNow Lookup - ServiceNow Alerts - Knowledge - Best Practice - Stay away from Article level visibility. - Managed Documents is another Knowledge type concept. Has more security and functionality. - You need to Publish a workflow at the point that you expect another user to utilize it.
- Useful Questions to ask with regard to a new Catalog Item or User Interface. Ordering of field choices? What fields mandatory? What is done with the data captured in each field? Wording of various field labels, titles, etc.
- Roles
- Cost
- The ITIL role should only be in groups where the members work ServiceNow tickets such as the IT Service Desk groups. The ITIL role is a paid license role. Each person that has access to that role costs the company money. - Users with particular roles do cost the company a substantial amount of money. For example: PMO Analyst Role - $425.00 / month. ITIL - $25 / month. - 1.6 to 1.9 million dollars to implement ServiceNow - Change, config, incident, knowledge, service catalog, PA, Discovery - Continuous improvement, walk up, ITBM
- Redirects Article on Redirecting people to the Service Portal after login - A user may only be associated with a single HI Service Portal at a time. So when we move over to OC, we will lose access to LDMG. - “The portal is for users who don't have Expertise with ServiceNow, or who do not have Access (roles). If you have a Role, you would normally use the Native UI.
Changes to the “catalog_home” module / page / view seem to be captured under “Portal Pages” (table sys_portal_page). To capture changes in an update set, you can right click an item in that table and use the “Unload Portal Page” command as described here: https://community.servicenow.com/community?id=community_question&sys_id=29484baddb1cdbc01dcaf3231f961990
In San Diego and later, you cannot set a password directly. You can generate a new password, and then you can log in with that user and CHANGE the password as a part of the login. But you cannot set a user's password directly.
If you have issues with a MID Server User Account getting Locked Out, it could be because the MID Server service is running and trying to log into ServiceNow over and over again. This can cause the account to become locked very quickly.
- If you force a Customer Update into an update set for a different Application, it will go in but when you go to deploy, you will receive error messages: - To commit this update set you must address all related problems by fixing and previewing again. You may also just accept or skip the remote update that caused the problem. - Cannot commit Update Set 'GGB - Test Update Set' because: Update scope id '2b3a837a0bb732007a0e41d6f6673a7f' is different than update set scope id 'global'. Resolve the problem before committing.
- List View List Layouts (columns and column ordering) is configured in the following tables:
sys_ui_list sys_ui_list_element
Workflow Stages Tables wf_stage
- Allows workflow-specific stages to be defined.
- This is also a Related List accessible via the Workflow Editor when you click on the I icon for Workflow Properties.
wf_stage_default
Allows stages to be defined at the table level.
https://community.servicenow.com/community?id=community_blog&sys_id=bbddaae9dbd0dbc01dcaf3231f96194c https://docs.servicenow.com/bundle/sandiego-servicenow-platform/page/administer/using-workflows/concept/c_WorkflowStages.html https://community.servicenow.com/community?id=community_question&sys_id=92e883a1db5cdbc01dcaf3231f96195e https://community.servicenow.com/community?id=community_question&sys_id=8c4069dbdbcde01011762183ca961995&feedbacktype=topRatedAnswerHelpful https://docs.servicenow.com/bundle/sandiego-servicenow-platform/page/administer/using-workflows/concept/c_WorkflowStageSets.html#c_WorkflowStageSets - Workflows can provide a summary of workflow progress by updating any field you specify, of type “Workflow”. - Any field may be designated as a “Stage Field”. - For example
Incident Record - Stage Field may be designated as "Incident State" Requested Item - Table sc_req_item - Stage field may be designated as "Stage".
- For workflows that use the Requested Item table, the stage field is automatically set and cannot be changed.
- Use the Workflow Properties to specify the Stage field.
- If the field specified is a Choice List, then the choices are available as stage values for the workflow.
- If the field is a Workflow field, it displays an icon to indicate the workflow's progress.
- After stages are added to the workflow, they can be assigned to each workflow activity. If an activity with an assigned stage is encountered when the workflow runs, the workflow engine assigns the stage.
- Activities
- If an activity is active, then the stage is shown with the state of In progress. - If an activity is in the Pending or Completed state, the stage reflects this state. - If an activity is canceled, Request Cancelled appears in the Stage field.
- Form Behavior
In a form, the workflow field displays the current stage as a choice list value.
- List View Behavior
- If the stage field for a workflow is the table column named Stage, the progress of the workflow appears in any list view containing the Stage column. - Stage values shown in the list views are accompanied by the state, based on the workflow activities being executed. If an activity has a stage specified for it, and the activity is currently active in the workflow, then the stage is shown with a state of In progress. Similarly, if the activity is in the Pending or Completed state, the stage reflects this state. - Request Item States
- From sc_req_item.stage choice list…
Waiting for Approval
Fulfillment Delivery - From wf_stage_default… Request Cancelled Completed - Custom values set by the administrator in the workflow editor via table wf_stage… Start Abort
- Incident States
- OOTB Incident States are:
Pending An action is pending to be taken; dependency from another team, or requires additional information from user.
Resolved Ticket can be re-opened if solution is insufficient. In Progress Have understood the issue & it is being worked accordingly. Closed Solution provided is fine thus can be closed. OOB functionality closes ticket after 7 days from Resolved state.
- Project States - OOTB Project States are:
Project State Category
Pending Active Open Active Work in Progress Active Closed Complete Closed Closed Incomplete Closed Closed Skipped Closed - When you first create a Project the Project state will be Pending. What Pending means is determined by your organization; it could be “no prep work has begun”. ServiceNow does not define a Project State of Open either; it could be “prep work has begun but the project has not officially begun”. I find some clients skip both and go directly to Work in Progress, especially if they are converting Demands to Projects. But you define the definition of both Pending and Open States of a Project. - When a project is created it is in Pending state. When you click on “Start Project”, the state automatically changes to “Work in Progress”. This impacts the state of tasks set to Start ASAP. - If you change the state of any ONE Project Task, the parent Project State will change as well - based on the 'most active' state (Pending > Open > Work in Progress). For example, if the parent Project State is Pending, and you change at least one Project Task State to Open, the Parent Project State will change to Open. If the parent Project State is Pending, and you change one Project Task State to Work in Progress, the Parent Project State will change to Work in Progress. - There is no “On Hold” state. I get you may want this. I usually add an “On Hold” checkbox to all Project forms to help with reporting so I don't mess with the States (see bullet two above). But there is no “On Hold” functionality. - If you change the Project State to one of the Closed States all Project Tasks will be closed as well. - It is best practice to make changes to the Project State via Project Task States and let the magic occur in the background. But if you have no Project Tasks you will need to make changes within the Project State field. - Duration - If you want to report on how long the item spent in each stage, an easy way would be to create a field duration Metric for this on the stage field. https://docs.servicenow.com/bundle/sandiego-platform-administration/page/use/reporting/task/create-metric.html
- When you create a new Workflow, you specify the Stage behavior on the Stages tab, or subsequently on the Workflow Properties - Stages tab.
Then for each Workflow Activity, you specify the Stage that is associated with the activity, that is, the value the activity should set the Stage to: (Looks in table wf_stage !)
I believe that “Linear” displays one icon for each Stage defined, whereas “Workflow Driven” displays only those Stages which fall in front of or behind “Approved” decision paths, but not “Rejected” decision paths; Unless the Rejected action is actually executed.
Configure - List Layout - When you configure a List using a column menu and then Configure - List Layout, a record is created in the table sys_ui_list with a user column of (empty). In order to move the list to a new instance, you must export the sys_ui_list record, and all of the sys_ui_list_element records. - When a user goes into Personalize List Columns and presses the Reset to Column Defaults button, a record is Deleted from the sys_ui_list table; the record with the user's name in the user column. This cause the system to then use the record with an (empty) value in that column for the same table.
Webhooks * - A User-Defined HTTP callback to an external system. - A way to feed information from your application to an external system based on some event or action.
Map Pages - Docs - https://docs.servicenow.com/en-US/bundle/tokyo-platform-user-interface/page/administer/navigation-and-ui/concept/c_MapPages.html - Set up Google Maps API - https://docs.servicenow.com/en-US/bundle/tokyo-platform-user-interface/page/administer/navigation-and-ui/task/t_CreateAMapPage.html - https://docs.servicenow.com/en-US/bundle/tokyo-platform-user-interface/page/administer/navigation-and-ui/reference/scripting-for-map-pages.html
- Tables cmn_location - Use of this feature requires installation of the Google Maps plugin. - Map pages display ServiceNow data graphically on a Google map page based on location data that you provide. - After creating the map pages, you can create modules to display the map pages. - You can configure different levels of location in a parent-child hierarchy. - Location Table - Latitude - The get_lat_long business rule automatically populates this field and the Longitude field described below when the form contains enough information, such as an address or city name and a postal code. This business rule uses the GoogleMapsHelper script include to create sys_geocoding_request records. A scheduled job called Process Geocoding Request runs every 10 minutes, and processes sys_geocoding_request records. Process Geocoding Request uses Google Map service to populate the latitude and longitude fields of the changed or created Company and Location records. - Longitude - API - You enable the geolocation feature using the entries from a Google Maps API for Business license (old method), or a Google Maps JavaScript API Key.
Google Cloud Platform - Steps
1. Create a Google Cloud Project and attach a Billing Account to it.
- Google Cloud Platform Console - Billing - Add Billing Account - You will be given an initial credit of $300. You do need to provide a Credit Card number, but you won't be charged anything until you upgrade your account by clicking on the Upgrade button. Instead, your account will be paused. - Home - Select a project at the top middle of the screen - New Project (at top right)
- Project ID cannot be changed once the project is created.
- Specify billing account (if you have more than one).
- Under Location, you can optionally specify an Organization to link your project to.
2. Enable APIs and SDKs next.
- Enable the tools that you need via your Google Cloud Platform Project.
- Make sure that you have the correct project selected at the top of the Google Cloud page.
- Menu - Google Maps - APIs.
- “Geolocation” - (Or other API)
- Enable
3. Generate and Restrict an API Key. - An API Key is a unique string that allows Google to understand who is requesting access to the platform, and to verify that they have permission to do so. - Also identifies which project usage should be billed to. - Menu - APIs & Services - Credentials - Create Credentials (button at top) - API Key
- Geoff's API Key: AIzaSyBuvIBOF1yckGnwqFGxHBYeWp-nv3XXXXX [redacted]
- Application Restrictions:
- HTTP Referrers (Web Sites)
- servicenowservices.com
http:*.servicenowservices.com http:*.servicenowservices.com/*
https://*.servicenowservices.com
https:*.servicenowservices.com/* - ApiNotActivatedMapError - “Maps JavaScript API” must be enabled on your API project. - ApiTargetBlockedMapError - API Restrictions setting of API Key must be set to allow the correct API (“Maps JavaScript API”). Email GeoffBishop@gmail.com Password **) MFA Geoff's Personal Phone Number: 727 512 3049 Project Name XXXGoogleMaps [redacted] Number 289481956219 Project ID hopeful-sunset-369322 APIs Maps JavaScript API Name API key 1 Creation Date November 21, 2022 at 5:24:22 PM GMT-5 API Key AIzaSyBuvIBOF1yckGnwqFGxHBYeWp-nv3KpNdo Application restrictions HTTP referrers (web sites) Website restrictions http:*.servicenowservices.com http:*.servicenowservices.com/* https:*.servicenowservices.com https:*.servicenowservices.com/*3 API Restrictions This key can call ONLY the following API: Maps JavaScript API Screenshots Sending Emails from ServiceNow - To enable email sending from a particular type of record (particular table), configure the Dictionary record for that table… - In the Attributes field for the dictionary record, add the following: email_client=true - Doing this will activate the More Options - Email menu option available at the top right of any form for the table. - To configure the different options for users when thy go to draft an email for a particular table… - Under Email Client - Email Client Configuration, create a new record to represent the table you want to configure emails for. - To compose Snippets or Chunks or Email Content which may be inserted into an email message which is being composed… - Under Email Client - Quick Messages (also called Canned Messages), create a new message and specify the table it relates to. - When the user has the “Compose Email” dialog open, and is composing a message, a special “Quick Messages” dropdown will appear at the top right. Selecting an item from this dropdown will insert the message into the message body wherever the cursor is positioned. ??? Use table Email Client - Email Drafts (sys_email_draft) for staging Coop emails??? Email Client https://www.servicenow.com/community/in-other-news/email-client-client-templates/ba-p/2286626 TimeStampLog - In folder “GeoffCustomLogging”, - See file “ServiceNow_Knowledge_Logging.docx” for a complete example of how to log messages ORDERED down to the Millisecond. Steps for Finding Useful Code FROM the Service Portal - Ctrl Right Click the form element or error message on the portal to get the name of the widget: - In this example, the widget name is “IBFS Record Producer Wrappter”. - Open the “Service Portal Configuration” tool and select “Widget Editor”. - From the Widget Editor dropdown box, type in the name of the Widget. You want to be working in the Widget Editor tool for the following reasons: - You can display the FULL LISTING of the HTML Template, Client Script and Server Script. - When you press Ctrl F for Find, symbols will be found EVEN IF they are not visible in the web browser window. In other words, they will be found even if they are Scrolled Off of the visible text editor panes. “Mainline” Certifications - Certified System Administrator - Certified Application Developer - Current through Tokyo (Passed Tokyo “Delta” Exam) “Micro” Certifications - Agile and Test Management Implementation - Agile Development 2.0 and Test Management 2.0 Implementation - Application Portfolio Management (APM) Fundamentals - Automated Test Framework - Enterprise Onboarding and Transitions - Flow Designer - Human Resource (HR) Integrations - Integration Hub Fundamentals - Performance Analytics - Predictive Intelligence - Virtual Agent https://www.servicenow.com/community/ https://www.servicenow.com/community/developer/ct-p/Developer https://www.servicenow.com/community/notificationfeed/page (Notification feed) (bell icon) https://www.servicenow.com/community/user/viewprofilepage/user-id/47283 (My profile) - You can navigate, using the Platform UI, to the various portal objects, via the following tables: sp_portal sp_instance sp_rectangle_menu_item sp_page sp_container sp_row sp_column sp_instance sp_widget More notes about how to get from a Service Portal page to something useful - Problem: From a portal page, how do we locate the underlying database field, and any “variables” or UI components used to SET the value of that field? - To find the name of the specific field you care about… - Right click the field label and choose “inspect”. - In the HTML, look for a “name” or “id” field, such as “site_state”. - To find the object you care about, that is the larger object that contains the field you care about… - Find some unique or long text on the form. - Search for that text in double quotes in the sys_metadata table. - In the object you locate, look for Table and field references - Now that you found the table you think is the correct table… - In the Table, change the Label of the field, and confirm that the label changes on the portal page, to confirm that you have located the right object, table, and field. Update Set Preview Problems Table sys_update_preview_problem Description “Found a local update that is newer than this one” Object Activity Stream Fields Target Name glide.ui.x_fmc_ibfs_coop_site_activity.fields Table sys_properties Update Date on Dev 2023/01/31 12:06:23 Update Date on UAT 2023/01/31 17:06:18 Notes - Seems like changes were made directly on UAT after they were made on DEV. - Not sure why the sys_id of the record on UAT is different from the one on DEV. - Maybe the record was totally deleted and then re-created. But don't know why that would have been done. hiwave.servicenowservices.com - Dashboard - Contains an “Instance Restore” capability. This is not a clone. It's an actual image. You can choose the source and the target. Configuration - Configuration of Related Lists Table Related Lists to turn On sysevent_email_action Email Logs - System Property Configuration Property Value Notes glide.ui.reference.readonly.clickthrough true This shows preview (i) icons, even for disabled fields! The Options Schema field on an sp_widget record allows you to setup the input fields which appear if a user Ctrl Right clicks on the widget and chooses Options. The Options Page is broken up into “Sections”. Section, field name, label, and hint are all specified in the Option Schema. The sp_instance_table field “Additional options, JSON format” allows you to soft-code (configure) the values for options which get passed in to the Widget and go into the following fields: “Server script” field as “options.WhateverOptionItIs”. “Client controler” field as “c.optionsWhateverOptionItIs”. Apparently a * appearing after a View Name indicates that the view has been enforced by a View Rule, and thus cannot be changed. Per Mike: “Signature Pad” Plugin to ServiceNow. Generates an Image. If you can't use a form to See or Change a field value, remember that you can often make changes to field values DIRECTLY in a List View. It may help, when you are deploying Update Sets, to put all of the DELETE Actions into a separate update set, and run those FIRST. This may result in fewer “Preview Problems” when you deploy. Tables to save XML files from to preserve data across images / clones: sys_ui_bookmark sys_ui_list sys_user_preference You can NOT use comments in a Filter field, even after you specify the “javascript:” designator.
Per Jack Wurm, on 02/28/2023, if a user has Read access for Records, they will be able to see a row count. But they may still NOT have access to any fields, so they may see what appears to be blank rows. An OnDisplay business rule may be used to prevent the user from seeing strange messages about rows which were hidden? Bad practice though? Since Debug Security will not show you why the user can't view certain rows?
When debugging access controls, try from the List View before you try from the Form. If a record is not being displayed, and there is no Security Log of it, it could be because a BEFORE QUERY Business Rule is changing the record query itself. This can be extremely difficult to track down, especially if the BR does not LOG anything when it changes the query.
Documentation on use of gs.nil() https://developer.servicenow.com/dev.do#!/reference/api/tokyo/server/no-namespace/c_GlideSystemScopedAPI#r_ScopedGlideSystemNil_Object?navFilter=glidesystem
It is possible to get from a SENT email, logged in table sys_email_log, back to the specific Event INSTANCE that it came from, and from there back to the Record it was associated with. You can attach an After Async business rule to this table to perform additional processing on Notifications which were went out, and have access to both the notification and the event which generated it, and the record which it was associated with.
If a record type (such as a script include) has Versioning turned on, the Versions related list will include the “Source” which is an Update Set record.
Believe that the "Install Date" is the date and time the update set was applied to the local instance. 2022-12-27 13:42:48
g_navigation.reloadWindow();
Client Side Script for making fields Read Only or Read Write, rather than using individual UI Policy Actions. https://www.servicenow.com/community/developer-forum/g-form-getfieldnames-on-portal-only-why/m-p/2429101#M946596
Service Portal Supported client script types and APIs! https://docs.servicenow.com/bundle/rome-servicenow-platform/page/build/service-portal/reference/client-script-reference.html
Remember Ctrl + Space to pull up list of available objects.
To log messages and be able to sort them in the ORDER GENERATED! function GGB_Log(textToLog) { var gdt = new GlideDateTime(); sMessage = gdt.getNumericValue() + ” GGBB.“; if (!gs.nil(textToLog)) sMessage += ” “ + textToLog + ”.“; gs.warn(sMessage); Using gs.warn instead of gs.info makes it even easier to filter out the messages you don't care about. } See the document “ServiceNow_Knowledge_Logging.docx”, which contains step by step detailed examples for building an excellent logging function. To see all the Properties of an object, including those which are UNDOCUMENTED: console.log(Object.getOwnPropertyNames(AnyObject)); AnyObject could be an object such as g_list.