ServiceNow Application Developer Certification
Terms in this set (232)
A collection of files and data that deliver a service and manage business processes
Protects applications by identifying and restricting access to application files and data
By default, all custom applications have a ________ scope that uniquely identifies them and their associated artifact with a namespace identifier
Special application scope that identifies applications developed prior to application scoping or applications intended to be accessible to all other global applications
________ applications can bypass scope protections, allowing them to:
-Run API requests
-Create Configuration records
True//False: Assume an application scope, sn_my_app, exists. Scripts from other application scopes can never delete records from tables in the sn_my_app scope.
All application scope, This application scope
The application Access settings for a table are:
True//False: An application owns its tables and determine whether other application can access resources from them
Developers DO/DO NOT create application file records directly from the Application File table
The platform is a ____________ development environment that displays the currently selected application, identifies the scope of every application artifact, and prevent any changes that violate the access settings for an application
Application Access Settings
____________________ is similar to ACLs in that it allow you to restrict access to certain resources, but instead of restricting tables and records from users - they restrict application resources from other applications
Runtime Access tracking
-Allows administrators to manage script access to application resources be creating a list of script operations and targets that the system authorizes to run
-Options: None, Tracking, Enforcing
Cross-scope privilege record
-Runtime access tracking uses __________________________ to determine which script operations and targets the system allows to run
-System creates this when: Runtime Tracking is set to "Tracking" or "Enforcing"
Script API, Web Services
Runtime access points
Allows application developers to view and select applications
Allows application developers to view and select the application where their changes apply
True//False: Removing a field from a form using the Form Designer deletes the field from the database table.
Application Creation options
-Start from scratch
-Create a custom application
-Start from a template
-Start from an existing service
-Start from global
Start from scratch
-Create an empty application
-Good for application that only use one configuration record, such as workflow or script-based application
Create a custom application
-Create an application with UI and data elements
-Good for applications that require UI elements and tables
Start from a template
-Create service management application
-Good for applications that need to track the status of requests or task-driven records
Start from an existing service
-Convert an existing service to an application if service creator is active
-You may want to convert successful services into full application to utilize application features like contextual security, data or UI Policies, UI actions, and auditing
Start from global
-Create an application in the global scope
-Required role: admin
-Set the system property glide.app.creator.global to true
Made up of:
Source Control Integration
Allows application developers to integrate with GIT source control repository to save and manage multiple versions of a sub-production instance
Linking to an application to ___________ allows application developers on sub production instance to:
-Import applications from a GIT repository
-Pull and apply changes from a GIT repository
-Commit all local changes on a instance to a GIT repository
-Create tags to permanently link to a given version of an application
-Create branches to maintain multiple versions of an application simultaneously
-Import from Source Control
-Link to Source Control
-Edit Repository Configuration
-Apply Remote Changes
-Stash Local Changes
-Grant Access to Repository
-Publish internally to company instances
-Publish to the ServiceNow Store
-Publish to an Update Set
-Push to team development instances
Supports parallel development on multiple, sub-production ServiceNow instances
Provides the following features:
-Branching operations, including pushing and pulling record versions between instances
-The ability to compare a development instance to other development instances
-A central dashboard for all Team Development activities
-Providing change management across multiple instances
-Allowing multiple developers to work on applications
-Organizations that have access to several sub-production instances
-Works best when each development team has access to a dedicated development instance
-Requires developers to manually merge colliding changes
-Works only for instances owned by the same organization
-Storing changes to a baseline or installed app
-Storing and applying a particular version of an pp
-Producing a file for export
-Manually create update sets to store a particular application version
-Use update sets to deploy patches or changes to installed apps
-Installing and updating apps on all company instances
-Automatically managing applications update sets
-Restricting access to applications to the same company
-Deploying completed applications to end users
-Consider publishing to ServiceNow Store
-Allow installation of and update to latest version only
-Use Update Sets to store prior application versions
_________ table tracks which customized record have current versions that exist on the development instance but not on the parent instance
_______________ Exceptions for Team Development:
-Matched an exclusion policy
-Previously resolved collisions
Provides a central place to manage all Team Development activities on your development instance
Team Development instance hierarchy, grant access rights
To enable parallel development on multiple sub-production instances, administrators can set up the __________ and __________ for developers
False (uses version records)
True//False: Team Development uses Git to manage versions
Credentials for Team Development access
-Access to the Team Development application
-Right to register a remote instance
-Right to push changes to the parent instance from the developer instance
-Right to compare to a registered remote instance
-Access to the Code Review Requests module
Access to the Team Development application
Credential: A user with the admin role on the instance you are accessing
Right to register a remote instance
Credential: One of the following
-A user with the admin role on the instance you are registering
-A user with the teamdev_user role on the instance you are registering
Right to push changes to the parent instance from the developer instance
Credential: One of the following
-A user with the admin role on the parent instance
-A user with the teamdev_user role on the parent instance
Right to compare to a registered remote instance
Credential: One of the following
-A user with the admin role on the registered development instance
-A user with the teamdev_user role on the registered development instance
Access to the Code Review Requests module
Credential: One of the following
-A user with the admin role on the parent instance
-A user with the teamdev_code_reviewer role on the parent instance
Developers can create an _____________ to prevent pushes or pulls to particular instances in the team development hierarchy
Team Development administrators can require that pushes undergo ___________ before accepting pushes
When enabled, pushing a change to the parent instance triggers the ____________ workflow
Code Review Workflow
Notifications are sent out by the ______________ to the reviewers group when:
-A push requires code review
-A user cancels a push
Code Review Workflow
-Starts when changes are pushed to the parent instance
-Verifies that the code review property is active on the parent instance
-Sets the stage of changes requiring approval to Awaiting Code review
-Notifies the Team Development Code Reviewers group to review the pushed changes
-Loads approved changes or set the stage to Code Changes Rejected
A group of configuration changes that can be moved from one instance to another
Allows administrators to group a series of changes into a named set and then move them as a unit to other systems for testing or deployment
Captured in Update Set
-Tables & Fields
Not Captured in Update set
-Data, New Records
True//False: Update sets track customizations where the table has an "update_synch" dictionary attribute
An ___________ is an XML file that contains:
-A set of record details that uniquely identify the update set
-A list of configuration changes
-A state that determines whether another instance can retrieve and apply configuration changes
Things tracked with _____________:
-System dictionary entries
True//False: More than one update set can be the default set for any application scope
ServiceNow Best Practices for Update Sets
-Do not delete update sets, if an update set is deleted, any updated record maybe overwritten in the next update
-Do not include the system_id field from the ldap_server_config record in an update set, this points to the wrong system_id for the target instance and does not work
-Do not back out the Default update set, causes damage to the system
-Never change the Update Set field value in a Customer Update record
-Do not mark an update set as Complete until it is ready to migrate. Once complete, do not change it back to "In progress".
-Do not manually merge updates into an update set, always use the Merge Update Set module
-If a committed update set has a problem in the test instance, build the fix in another update set in the development instance
-Always preview an update set before committing it
-Set completed update set on the production instance to "Ignore"
-Keep a to-do list of manual changes and data loads that need to be completed after an update set is applied
-Do not make too many changes at one time, verify that the correct changes have been made incrementally
Donuts and semi-donuts
Multilevel pivot tables
Auto Map Matching Fields
Which utility is used to determine if field names in an Import Set match the field names on the target table when importing data into ServiceNow?
Good fit for ServiceNow
-Data can be modeled in a relational database
-Extensive use of forms to interact with data
-Needs workflow to manage processes
Bad fit for ServiceNow
-Data is unstructured such as audio or video
-Requires "as-is" use of low level programmatic libraries
-Multiplayer games or apps that need a game engine
-No process flow through application
True//False: ServiceNow is good for real-time data delivery and update form external sources
True//False: ServiceNow is good for media streaming
The option in Table configuration that allows this table to be extended from
Columns, Controls, Application Access
Sections of the configuration for Table
Links available to display within application menu
_________________field on the Module form specifies what type of link the module opens.
-List of Records
-Run a Report
How to get to the mobile version of the application
Form element: Provides navigation tools and actions related to the record
Form element: Stores specific data about the record
Form element: Provides access to additional functions based on record type and system setup. Administrators can add related links to form using UI actions.
Form element: Displays records in other tables that have relationships to the current record.
Form element: Allows for editing related lists without having to navigate away from the form. Changes are saved when the form is saved.
Response time indicator
Form element: Appears at the bottom of some forms to indicate the processing time required to display the form.
Drag and drop interface used to:
-Create form layouts
-Create form views
-Create and delete form sections
-Add fields to tables
Fields, Field Types
Components of the Field Navigator
A list of all fields from the selected table that are not already part of the form layout
A list of data types that can be used to create new table fields. The Form Layout is used to create and edit fields, sections, and annotations
onLoad, onChange, onSubmit, onCellEdit
The Client Script Types:
Option in the configuration that controls whether the script is enabled. Inactive scripts do not execute.
control, oldValue, newValue, isLoading, isTemplate
The parameters for the onChange function
GlideForm (g_form) Class
______________ client-side API provides methods for managing form and form fields including methods to:
-Retrieve a field value on a form
-Hide a field
-Make a field read-only
-Write a message on a form or a field
-Add fields to a choice list
GlideUser (g_user) Class
_________________ API provides methods and non-method properties for finding information about the currently logged in user and their roles
g_user.hasRole('x_foo_app_user'), does this return true for the admin role?
Client-side debugging & UI Policies debugging
-Debugging tools built into web browsers (browser dependent)
Tracks and displays information about actions ServiceNow performs on a form field
Client-side logic which governs form and form field behavior. Unlike Client Scripts, UI Policies do not always require scripting
UI Policy Actions
Client-side logic in a UI Policy used to set three field attributes:
UI Policy Scripts
Client-side API to execute script logic based on whether the UI Policy conditions tests true or false
Two types of server-side scripts:
Server-logic which execute when database records are queried, updated, inserted, or deleted
Before, After, Async, Display
The "When" options for Business Rules:
Business Rules execute their logic before a database operation occurs
Business Rules execute their logic immediately after a database operation occurs and before the resulting form is rendered for the user
Business Rules execute asynchronously
-Business Rules execute their logic when a form loads and a record is loaded from the database
-Processed when a user requests a record form
-Primary objective is to use a shared scratchpad object, g_scratchpad, which is also sent to the client as part of the form.
Used to specify when the Business Rule script should execute
_____________ often use the current and previous objects in their script logic
•Automatically instantiated from GlideRecord class
•Properties are all fields for a record and all the GlideRecord methods
•Property values are values as they exist in the runtime environment
•Automatically instantiated from the GlideRecord class
•Properties are all fields from a record
•Property values are values for the record fields when they were loaded from the database and before any changes are made
•Not available in async Business Rules
•Examining scripts to look for errors
•Verifying the trigger is configure correctly
Business Rule debugging before has been:
Business Rule debugging strategies:
Allows direct scripting access to fields and field values on related records
GlideSystem, GlideRecord, GlideDataTime
Commonly used server-side APIs
________________ is a server-side API that:
-is used for database operations instead of writing SQL queries.
-is an object that contains zero or more records from one table
Primary strategy for debugging Business Rules and other synchronous server-side scripts
-Set, remote, and pause at breakpoints
-Step through code line by-line
-Step into and out of functions and method calls
-View the values of local, global, and private variables
-View the call Stack
Pauses script execution to give developers the chance to examine variables and their values
Reusable server-side script logic that defines a function or class
____________________ execute their scripts logic only when explicitly called by other scripts
__________________ function is both declared and invoked within the same script field. Whenever writing a script that only needs to run in a single context, such as a transform map script, use this type of function.
On demand/classes, Extend a existing class, Define a new class
Different types of Script Includes
On Demand Script Include
-A Script Include that defines a single function
-Function is callable from other server-side scripts, can never be used client-side even if the Client callable option is selected
Extend a Script Include
Script Includes can extend existing Script Includes by adding new methods and non-method properties
Used by client-side scripts to send data to and receive data from the ServiceNow server
Client-side script passes parameters to the Script Include, which returns data as XML or JSON object. The client-side script parses data from the response and can use the data in subsequent script logic
Service Catalog > Catalog Definition > Record Producers
How to navigate to Record Producer
A specific type of catalog item that allows end users to create task-based records, such as incident records, from the service catalog
task records, request item
Record producer is similar to that of a catalog item but generates _______________ instead of a ________________
Define the redirect link in the "Script" field:
___________ control access to features and capabilities in applications and modules
Access to modules in the Application Navigator is a controller by __________
Set of users who share a common purpose, may perform tasks such as approving change requests, resolving incidents, receiving email notifications, or performing work order tasks
Instead of individually assigning roles, assign a role to a ___________
Override application menu roles
This option gives module-level access to a role that is not authorized to see the application
Temporarily allows admin users to become another authenticated user for testing purposes
Restrict access to data by requiring users to pass a set of requirements, defines:
•What is being secured
•The operation being secured
•The permissions required to access the object
To be granted access by the _____________, a user must have the role specified for the table
All Access control operations (except read) require elevated security privileges
Table/field, Requires Role, Condition, Script
Four sections in Access Controls:
Access Control Execution plan
•Red text: An Access Control that was activated or deactivated
•Blue text: An Access Control that was modified
•Green test: An Access Control that is added or has become active
•Masked: An Access Control that was effective until you made a change
•Unmasked: An Access Control that was made effective when you made a change
Grant access to records and all fields in the records
Grant access to all fields where there is no field-specific Access Control
Best Practice: None and *
You cannot write * Access Controls without None because only None grants access to records.
When writing an ACL that mostly grants access, use only None.
When writing an ACL that mostly denies access, use None and *.
True//False An ACL can't have a NONE Access Control and a * Access Control
_____________in an Access Control specifies the table record to protect and a field to protect, the field list has a -None- option and a * option
System Security > Debugging > Debug Security Rules
To enable Access Control debugging, use Application Navigator in the main ServiceNow browser window
Access Debug color code
•Green: Access granted
•Red: Access denied
•Blue: Does not to be re-evaluated, already in cache
•Gray: Not evaluated, part of the rule has already denied access
•Check mark: Passed
Client-side GlideUser (g_user) API
Server-side GlideSystem (gs) API
canCreate(), canRead(), canWrite()
Server-side GlideElement API has methods to check whether a user's role allows them to access the associated GlideRecord(s):
Determines whether an application can access resources from another application, Application designers can configure:
-Availability of cross-scope tables in Studio
-Ability for cross-scope scripts to run on application resources
Runtime Access Tracking
Use to managed script access to resources from other applications, also known as cross-scope access
None, Tracking, Enforcing
Runtime Access Tracking settings:
No Authorization required for application scripts to access resources from other applications, no record in the cross-scope access table
Allows application scrips to access resources from other applications, record for the access is automatically inserted in the cross-scope access table with a Status of Allowed (default setting).
Allows application scripts to access resources from other applications only after an admin authorizes the access, automatically added to the cross-scope access table with Status value of Requested
Table, Script Include, Scriptable
Cross-scope privileges can be granted for:
Application Access Web Services
The Allow access to this table via web services option determines whether users can make inbound web services request to the table
Allows out-of-scope applications to create application files for tables:
A sequence of activities for automating processes in applications
_________________ are workflow blocks which perform different tasks; such as obtaining approvals, sending email, running scripts, testing conditions, and setting field values on records
All workflows start with a _______ activity and end execution with an ______ activity
Triggered by field values on a record, UI Action, Server-side scripts
Workflow are launched a number of different ways including:
Graphical Workflow Editor
To prevent developers from making changes to a workflow that will impact users, work flows need to be ________________ before they can be edited
A _________ workflow's runtime environment
Checked out, Published, Unpublished
Workflows can have three states:
checked it out
When a workflow is checked out to a user for development, that version of the workflow runs only for the user who ______________
-Role Required: personalize_dictionary or admin
-A live feed group that is associated with a record, such as an incident or change
-Is unlisted; it does not appear when users view all groups on live feed.
-Automatically approves membership for every user who can access the record.
-Uses the record number as the group name.
-Uses the record short description as a group description.
-Maintains all messages posted to live feed on the record, if the record has a journal field for comments. If the record has a standard text field for comments, each live post overwrites the field value.
-Maintains all messages posted on the record in live feed if the record has a journal field for comments. When the group is created, existing messages are added to the document feed.
Live feed can be used on __________ and ___________
Live Feed Document plugin
To use document feeds, activate the
Configurable application parameters for changing an application's behavior
Can an application system property be a reference field?
Use Scoped ________________ method to retrieve Application Property values
Scheduled Script Execution
Automated, server-side script logic which executes at a specific time or on a recurring basis
To test a Scheduled Script Execution, use _____________________
An indication in ServiceNow that something notable has occurred, can be generated by server-side scripts, workflows, ServiceNow processes, or by user actions
Add event to the Event Registry, Generate the vent, Create logic to respond to the event
Generalized process for working with events is:
ServiceNow can only respond to events which are registered with the ______________
-Server-side script using the gs.eventQueue() method
-Workflow Create Event activity
There are two ways to generate events:
Checking for events that have been generate
Email Notification, Script Action
Two possible ways to respond to events
Record are inserted or updated, Events are generated, the Notification activity executes in a workflow
Notifications send outbound email to recipients, when:
Notifications send _____________ to recipients
when to send, who will receive, what it will contain
Three sections to configure in a Notification:
-Email will go to expected receipients
-The Subject field resoves correctly
-The Message Body HTML field resolves correctly
Previewing notifications allows you to verify:
•current (GlideRecord API)
•email (GlideEmailOutbound API)
•template (TemplatePrinter API)
•event (Only for notifications responding to events)
Script Field has access to:
Mail sent from any user into ServiceNow
Inbound Email Actions
_________________enable you to define the actions an instance takes when receiving email.
True//False: Can customize default homepages that appear for each user
Content for the Homepage
Import data sources
Load Data, Create Transform Map, Run Transform
Data Import Process
_____________ option in a Transform Map Field Map shows if a row in the source data matches a record in the target table
__________ option makes a field a record's unique key
Table, forms, data
What gets automatically captured in an update set?
UI Macros and Content Management System
Where can Jelly Scripting be used?
producer.variable and gs.include()
In a client script, the follow variables cannot be used:
UI Polices, Business Policies and Data Policies
Where can Jelly Scripting cannot be used?
Change in value of a particular field
When does the onChange client script run?
What application is available to all users?
True//False: An unpublished workflow will be captured in an update set.
True//False: You can define visibility of variables on a task form using the workflow.
Current ______________ is an Elevated Privileges.
True//False: Sending an email notification is possible via an inbound action?
_____________ is a unique identifier for each record in a table.
A map to determine relationships between fields displaying an Import Set to fields in an existing table
Record List, Form, Tables and Columns
Tables and Fields can be viewed and manipulated where?
What is a rule that applies to a form to dynamically change form information on the form itself?
What enables admins to set mandatory and read-only state for field?
What do you use to put buttons, links and context menu items on forms and lists?
What is a control that applies permissions, sends notifications and triggers other processes when a record is displayed, inserted, updated or deleted or when a table is queried?
What stores structure and relationship definitions?
What are the three ways Access Control Rules are defined?
What contains a record of every generate event?
Approvals, Notifications and Tasks
What are the 3 basic components of Workflow?
What do you use to import data from various data sources and map data into SN tables?
System Logs->events->system.upgraded, use this event to trigger the System Upgraded notification
How do you confirm an instance upgrade?
By default, the system generates a _____________ label at the bottom of each notification email to allow matching incoming email to existing records, each includes a random 20-character string that makes it unique.
System Administrator, ITIL, ESS
What are the three OOTB Servicenow roles?
Conditional Expressions, Scripts, Roles
Access Control Rules are defined
Inbound Email Action
Utilized when a user opens an Incident by email.
Mapping Assist Utility
Visually tool for specifying mapping between import set fields and production table fields. With the mapping assist utility it is possible to map a single source field (field on an import set table) to multiple destination fields (fields on a production table).
Automates simple or complex multi-system tasks on remote servers that are normally done manually.
To make a new or edited workflow available to all users, it needs to be published.
A GlideRecord method to run any queries added by the previous method calls.
Ran when a specific event is triggered to determine how the system handles it.
Often used to automate a response when a specific event occurs, such as send an email notification when an incident is opened.
Often used to enable different components to reuse server code and to make server code available to client-side calls.
Self Service, Incident, User Administration, Custom Applications
What are the 4 Baseline Applications
System Security>Access Control
System Security>High Security Settings
ServiceNow security composes of what 3 sections?
The 3 basic components of Workflow
The six workflow activities
• Form buttons
• Form context menu items (right-click the header)
• Form links (navigation link at the bottom of a form)
• List buttons
• List context menu items (right-click a record)
• List choices (at the bottom of a list)
Determines which activity is performed based on an evaluation of which workflow element.
Run behind the scenes and communicate the stages of the approval process of the requester.
Visual Representation of activities consisting of connected steps planned out in a sequential manner.
All of the "application files" comprising an application. Artifacts include but are not limited to: Access controls, business rules, script includes, tables, client scripts
When ServiceNow calls a Web Service, outside of ServiceNow, it is a