ServiceNow Application Developer Certification
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
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
Link type
-Assessment -Content Page -Documentation Link -Homepage -HTML -List Filter -List of Records -Map Page -New Record -Run a Report -Script -Search Screen -Separator -Single Record -Survey -Timeline -URL
Display
-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.
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
Create a custom application
-Create an application with UI and data elements -Good for applications that require UI elements and tables
Start from scratch
-Create an empty application -Good for application that only use one configuration record, such as workflow or script-based application
Start from a template
-Create service management application -Good for applications that need to track the status of requests or task-driven records
Captured in Update Set
-Customization -Tables & Fields -Reports -Workflows -Forms
Good fit for ServiceNow
-Data can be modeled in a relational database -Extensive use of forms to interact with data -Needs reporting -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
Not Captured in Update set
-Data, New Records -Configuration Items -Schedules -Users -Groups
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
Operations
-Import from Source Control -Link to Source Control -Edit Repository Configuration -Apply Remote Changes -Commit Changes -Stash Local Changes -Switch Branch -Create Branch -Create Tag -Manage Stashes -Create Repository: -Create credentials: -Grant Access to Repository
Client-side debugging & UI Policies debugging
-JavaScript Log and jslog() -Field Watcher -Try/catch -Debugging tools built into web browsers (browser dependent)
Sharing methods
-Publish internally to company instances -Publish to the ServiceNow Store -Publish to an Update Set -Push to team development instances
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"
Application Creation options
-Start from scratch -Create a custom application -Start from a template -Start from an existing service -Start from global
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
Application
A collection of files and data that deliver a service and manage business processes
Update Set
A group of configuration changes that can be moved from one instance to another
Fields
A list of all fields from the selected table that are not already part of the form layout
Field Types
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
Update Set
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
Source Control Integration
Allows application developers to integrate with GIT source control repository to save and manage multiple versions of a sub-production instance
Application List
Allows application developers to view and select applications
Application Picker
Allows application developers to view and select the application where their changes apply
update set
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
Async
Business Rules execute asynchronously
Before
Business Rules execute their logic before a database operation occurs
After
Business Rules execute their logic immediately after a database operation occurs and before the resulting form is rendered for the user
Private
By default, all custom applications have a ________ scope that uniquely identifies them and their associated artifact with a namespace identifier
UI Policy Scripts
Client-side API to execute script logic based on whether the UI Policy conditions tests true or false
UI Policy Actions
Client-side logic in a UI Policy used to set three field attributes: -Mandatory -Visible -Read-Only
UI Policies
Client-side logic which governs form and form field behavior. Unlike Client Scripts, UI Policies do not always require scripting
Fields, Field Types
Components of the Field Navigator
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
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
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
DO NOT
Developers DO/DO NOT create application file records directly from the Application File table
exclusion policy
Developers can create an _____________ to prevent pushes or pulls to particular instances in the team development hierarchy
Form Designer
Drag and drop interface used to: -Create form layouts -Create form views -Create and delete form sections -Add fields to tables
Embedded lists
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.
Related lists
Form element: Displays records in other tables that have relationships to the current record.
Related links
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 Header
Form element: Provides navigation tools and actions related to the record
Sections
Form element: Stores specific data about the record
Application Repository
Good for: -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 Future considerations -Consider publishing to ServiceNow Store -Allow installation of and update to latest version only -Use Update Sets to store prior application versions
Team Development
Good for: -Providing change management across multiple instances -Allowing multiple developers to work on applications -Organizations that have access to several sub-production instances Future considerations -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
Update Sets
Good for: -Storing changes to a baseline or installed app -Storing and applying a particular version of an pp -Producing a file for export Future Considerations: -Manually create update sets to store a particular application version -Use update sets to deploy patches or changes to installed apps
$m.do
How to get to the mobile version of the application
source control
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
Module
Links available to display within application menu
Report types
List Line Column Area Spline Bar Pareto Histogram Pie Donuts and semi-donuts Speedometer Dial Pivot Multilevel pivot tables Heatmap Map Bubble Pivot table Funnel Calendar Pyramid Box Trend Control Trendbox Single score
Studio
Made up of: -Header -Application Explorer -Content Frame -Status Bar
Code Review Workflow
Notifications are sent out by the ______________ to the reviewers group when: -A push requires code review -A user cancels a push
Active
Option in the configuration that controls whether the script is enabled. Inactive scripts do not execute.
Application Scope
Protects applications by identifying and restricting access to application files and data
Team Dashboard
Provides a central place to manage all Team Development activities on your development instance
Team Development
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
Script API, Web Services
Runtime access points
Columns, Controls, Application Access
Sections of the configuration for Table
Business Rules
Server-logic which execute when database records are queried, updated, inserted, or deleted
Global Scope
Special application scope that identifies applications developed prior to application scoping or applications intended to be accessible to all other global applications
Team Development
Supports parallel development on multiple, sub-production ServiceNow instances
code review
Team Development administrators can require that pushes undergo ___________ before accepting pushes
Before, After, Async, Display
The "When" options for Business Rules:
onLoad, onChange, onSubmit, onCellEdit
The Client Script Types:
All application scope, This application scope
The application Access settings for a table are:
Extensible
The option in Table configuration that allows this table to be extended from
control, oldValue, newValue, isLoading, isTemplate
The parameters for the onChange function
contextual
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
special handlers
Things tracked with _____________: -Workflows -Form sections -Lists -Related lists -Choice lists -System dictionary entries -Field labels
Team Development instance hierarchy, grant access rights
To enable parallel development on multiple sub-production instances, administrators can set up the __________ and __________ for developers
Field Watcher
Tracks and displays information about actions ServiceNow performs on a form field
True
True//False: An application owns its tables and determine whether other application can access resources from them
False
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.
False
True//False: More than one update set can be the default set for any application scope
False
True//False: Removing a field from a form using the Form Designer deletes the field from the database table.
False
True//False: ServiceNow is good for media streaming
False
True//False: ServiceNow is good for real-time data delivery and update form external sources
False (uses version records)
True//False: Team Development uses Git to manage versions
True
True//False: Update sets track customizations where the table has an "update_synch" dictionary attribute
-Business Rules -Script Includes
Two types of server-side scripts:
Condition Field
Used to specify when the Business Rule script should execute
code review
When enabled, pushing a change to the parent instance triggers the ____________ workflow
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?
Global Scope
________ applications can bypass scope protections, allowing them to: -Read records -Run API requests -Create Configuration records
Local Changes
_________ table tracks which customized record have current versions that exist on the development instance but not on the parent instance
Business Rules
_____________ often use the current and previous objects in their script logic
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
Pull
_______________ Exceptions for Team Development: -Matched an exclusion policy -Private properties -Collisions -Previously resolved collisions -Skipped
GlideUser (g_user) Class
_________________ API provides methods and non-method properties for finding information about the currently logged in user and their roles
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
Link type
_________________field on the Module form specifies what type of link the module opens.
Yes
g_user.hasRole('x_foo_app_user'), does this return true for the admin role?