Beruflich Dokumente
Kultur Dokumente
PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information.
PDF generated at: Tue, 30 Jul 2013 16:47:08 PST
1
Domain 1
Using Forms
Overview
A form displays information from one record in a data table. The specific information depends on the type of record
displayed. Users can view and edit records in forms. Administrators can customize forms.
The form interface contains the following elements:
• Title bar: appears at the top of the form and provides navigational and functional controls.
• Fields: display individual items of data for the record.
• Sections: group fields under a header. Users may collapse or display sections using tabs.
• Related links: provide access to additional functions based on record type and system setup. Administrators can
add related links to forms using UI actions.
• Related lists: display records in another table that have a relationship to the current record. To learn more, see
Using Related Lists.
• Embedded lists: allow for editing related lists without having to navigate away from the form. Changes are
saved when the form is saved.
• Response time indicator ( ): appears at the bottom right of some forms to indicate the processing time
required to display the form.
Title Bar
The title bar displays the title of the
form (table) and provides the following
controls:
• Back ( ): navigates to the
previously viewed page without
saving changes.
• Form context menu: appears when
a user points to the arrow ( )
beside the form title or right-clicks
the title bar.
• Submit or Update: saves changes
and returns to the previously viewed
page.
Forms • Related actions: provides standard
actions in the form title bar for
some tables, such as Close Incident in incident.
• Attachments ( ): allows users to view and add attachments to the record. To learn more, see Uploading
Attachments.
• Previous ( ) and Next ( ): open the previous and next record on the list from which the record was accessed.
These controls save changes to the record.
Using Forms 2
• Toggle tabs ( ): toggles between tabbed and sequential arrangements of related lists and form sections.
Fields
A field represents an individual item of data on a record. Users can view and modify field data on a form. Fields may
be configured as:
• Mandatory: requires a value before users can save the record.
• Read-only: prevents the current user from editing the field on the form.
• Standard data entry: accepts values such as numbers, text, choice lists, dates and times, and check boxes.
• Specialized data entry: accepts one or more of the following:
• Journal: permits users to enter text. When the record is saved, journal field entries are listed under the input
field, marked with the user name and timestamp (example, Additional comments on an incident).
• Suggestion: provides the option to include predefined text in a text or journal field.
• Reference: lets users select a record on another table (example, in an incident, the Caller field references the
User table). Reference fields define a relationship between two tables. When a reference field is populated,
point to the reference icon. ( ) beside the field to preview the referenced record, or click the reference icon
to navigate to the record.
• Watch List: allows multiple users to subscribe to notifications of a task. A watch list is a common type of
glide list, which is a field that allows users to select multiple records from another table.
• HTML: allows users to use HTML to define how field content renders (example, knowledge article text).
HTML fields can include media elements, such as images, Web links, and videos.
• Wiki: allows users to use Wiki markup to define how field content renders.
• Image: permits users to upload an image file (type of .gif, .jpg or .jpeg, or .png only).
• Video: permits users to upload a video file.
• Normalized: alters raw input to match standardized values for improved searching and reporting.
• Currency or Price: accepts monetary information.
• Translated HTML or Translated Text: are similar to standard HTML or text fields, but can be translated if
the Internationalization plugin is active.
• Duration: indicates a length of time. The field automatically converts hours to days for values greater than 24
hours. For example, 30 hours is converted to 1 day and 6 hours.
• URL: accepts a URL (web) address and creates an active hyperlink.
See Introduction to Fields for more detailed information on fields.
Sections
Sections provide headers for a group of related fields.
• To expand or collapse a section, click expand ( ) or collapse ( ) in the section header.
• To toggle between tabbed and sequential arrangements of sections, click Toggle tabs ( ).
Embedded Lists
Some forms may show related lists as embedded. Changes to embedded lists are saved when the form is saved (see
Editing in Forms).
Use these controls to work with an embedded list:
• To expand or collapse an embedded list, click expand ( ) or collapse ( ) in the list header.
• To add a new row, double-click Insert a new row...
• To edit a row, double-click in an empty area of the field. See Using the List Editor.
• To delete a row, click Delete ( ) beside the row.
• New rows are removed immediately.
• Existing rows are designated for deletion when the record is saved. To clear this designation, click Delete
again.
Navigating to a Form
Users can navigate to a blank form to
create a new record, or to an existing
record form.
To open a blank form for a new record,
use one of these methods:
• Open a list (example, Incident for a
new incident), and click New.
• In the navigation filter, type the
Embedded list
table name followed by .form.
• Append the table name and .do to the instance web address. For example, the following URL opens a new
Incident form:
https://<instance name>.service-now.com/incident.do
To open an existing record in form view, use one of these methods:
• Locate the record in a list and click the record number or the reference icon. To learn more, see Navigating
Applications and Using Record Lists.
• Append the table name, followed by .do?sysparm_query=number= and the record number to the instance web
address. For example, the following URL opens incident INC0000007:
https://<instance name>.service-now.com/incident.do?sysparm_query=number=INC0000007
Additional record parameters can be applied with a URL. To learn more, see Navigating by URL.
Using Forms 5
Editing in Forms
To edit a record in form view:
1. Navigate to the form.
2. Enter appropriate data.
3. Save the record using one of these methods:
• Click Submit or Update to save changes and return to the previously viewed page.
• Right-click the title bar and select Save to save changes without leaving form view.
• Right-click the title bar and select Insert or Insert and Stay to save the data to a new record instead of
updating the current record (see Inserting a Record).
4. If the record has been changed by another user since you opened it, an alert may appear. Click OK to confirm
your changes.
This alert is generated by the Simultaneous Update Alert client script.
Alert
Note: Depending on system setup, the data entered in a form may affect other options on the form or change its appearance. For
example, if you select a status of Closed for an incident, a Close Notes field may appear and may be required to save the record.
Administrators can create custom form effects in a variety of ways, including UI policies and client scripts.
Inserting a Record
Insert provides a method for creating multiple similar items, such as email notifications, users, groups, or business
rules. Administrators may also enable the Insert function for task records.
To insert a record:
1. Open a similar item.
2. Edit the item and give it a new Name.
3. Click one of the following:
• Insert saves the item as a new record and returns to the previously viewed page.
• Insert and Stay saves and views the new record.
Using Forms 6
Cancelling Changes
To cancel changes to a form, navigate away
from the form view without saving the
record. If a message appears, click Leave
this Page to confirm cancellation.
Insert
Note: Administrators can disable the confirmation message by setting the glide.ui.dirty_form_support property to
false.
Confirm cancellation
Personalizing Forms 7
Personalizing Forms
Overview
Administrators and users with the form_admin role can customize the layout for any form view.
Personalizing Forms
To personalize a form:
1. Right-click the form header and select Personalize > Form Layout.
2. Using the slushbucket, select the fields and the order in which you wish them to appear.
• Available items that appear in green followed by a plus (+) sign represent related tables. To access fields on
these tables, use dot-walking.
3. Click Save.
Personalizing Forms 8
Related lists
Personalizing Forms 9
Tutorials
The following video demonstrates
personalizing forms. For more
e-Learning videos, see Tutorials.
Personalizing Forms Video [1]
User Preference
References
[1] http:/ / link. videoplatform. limelight. com/ media/ ?mediaId=7e485a42e4a349c899c36a6077fe0e30& width=480& height=321&
playerForm=d286c3052c63466aa61efcdb7ef1ef1f
Personalizing Lists 10
Personalizing Lists
Overview
ServiceNow lets users with the personalize_list role (including administrators) personalize the columns in any list to
show only the desired information. You can add or remove fields (columns) from a list or change the order in which
the fields appear in the list. You can hide controls and define access conditions by role to existing controls. To
personalize a list, bring up the list, right-click the list's header bar, and select Personalize. This opens a cascading
menu with the following list options:
• List Layout
• List Calculations
• List Control
Note: Personalizing a list in this way modifies the list for all users. To make changes to a list that are only visible to you, see
Creating Personal Lists.
Personalizing Lists 11
Enhancements
Calgary
The Calgary release adds this enhancement:
• A new list control option allows administrators to disable the link to the record from the first column in list view.
List Layout
To change the default columns for a list view:
1. Open the list in the view you wish to modify.
For example, to modify the incident mobile view, navigate to Incident > Open and select View > Mobile
from the context menu.
2. Right-click the header and select Personalize > List Layout.
3. Use the slushbucket to select the columns and the order in which you wish them to appear.
The first non-reference field automatically links to the form view of the record. For this reason, consider using
the record number as the first column in the list layout.
Note: If you personalize a list and then change the default columns for the list view, you do not see the changes until you reset your
personal list to column defaults.
List Calculations
In a record list, right-click in a numeric field you want to evaluate, and then select Personalize > List Calculations.
A dialog box appears, enabling you to view minimum and maximum calculations for that field for all the records in
the list. To see both the minimum and maximum calculations displayed, select both check boxes. The totals appear in
the column you selected, below the last record in the list.
List Control
A number of elements in a list can be personalized, such as control buttons and filters. Right-click in the header bar
of the list and select Personalize > List Control from the pop-up menu. The following List Control form appears:
Field Description
Name View the name of the primary file for the list or related list. This is automatically set by the system.
Related List View the name of the table and field that define the related list. This is automatically set by the system.
Label Enter the label you would like for this list. Allows an admin to customize the label for a related list or list. If not supplied the
default plural label for the file is used. For example, the label for the incident file would be Incidents.
Omit new Select the check box to prevent the New button from displaying on this list. Clear this check box if you want the New button to
button appear on this form, or if you want to control the New button with roles (New roles field).
Omit edit Select the check box to prevent the Edit button from displaying on this list. Clear this check box if you want the Edit button to
button appear on this form, or if you want to control the Edit button with roles (New roles field). Note that the Edit button does not apply
to all lists.
Omit if empty Select the check box to omit the Related List from the form entirely (no header) if there are no entries for the Related List.
Omit columns Select the check box for a top-level list to omit the column headers AND filters/breadcrumbs for an empty list.
if empty
Omit filters Select the check box to display filters or breadcrumbs for this list. Clear this check box if you always want filters or breadcrumbs
or if you want to control filters/breadcrumbs with roles (Filter roles field).
Personalizing Lists 13
Omit links Select the check box if you want links for fields that reference other files in this list. Leave this button unchecked if you always
want links to be generated or if you want to control the use of links with roles (Link roles field).
Omit Select the check box to disable the link to the record from the first column in list view. Users can still click the reference icon to
drill-down link access the record (Calgary release).
Hierarchical Inserts a hierarchical list into a record list. This enables a user to view the contents of a record's related lists without leaving the
lists record list form.
List edit type Controls the ability of a user to edit values directly in individual cells in a list. The options are:
• Save immediately (cell edit mode): enables cell editing. The entire row is saved as soon as the user enters a new value.
• Save data by rows: enables cell editing. The row is saved only when the user navigates away from the row or clicks the Save (
) button. This mode allows the user to modify multiple values before saving a record.
• Disable list editing: prevents users from editing cells in the list.
List edit tag Enter an arbitrary string of letters or numbers to create a unique tag that is sent to a reference qualifier as the script variable
listEditRefQualTag.
List edit insert Select the check box to enable or clear the check box to disable the ability for a user to create new records in list view. When it is
row enabled, an empty row appears at the bottom of the list.
New roles Specify the user roles required to have the New button appear on this list. Click the padlock icons to open the role selection lists.
Filter roles Specify the user roles required to have the filter appear in the list. Click the padlock icons to open the role selection lists.
Edit roles Specify the user roles required to have the Edit button appear in the list. Click the padlock icons to open the role selection lists.
Link roles Specify the user roles required to have links generated for fields that reference other files. Click the padlock icons to open the role
selection lists.
Example
In the following example, we will personalize a list of related incidents embedded in a problem record to suit
specific business needs.
In this example, we will configure the label to say Child Incidents rather than just Incidents, and remove the New
button to prevent users from creating new incidents from this form.
1. Right-click in the header bar of the embedded Incidents list and select Personalize > List Control.
2. In the List Control form change the Label field in the List Control record to Child Incidents.
3. Check the Omit new button check box.
4. Click Submit to save your changes and return to the previous record, in this case, the problem record.
Personalizing Lists 14
In the problem record, the label for the embedded incident list has changed, and the New button is no longer
available.
Advanced Control
There are also script fields that can be personalized and placed on the List Control form so that you can write a script
to indicate if the various elements (links, filters, new and edit buttons, empty) should be present or not. These scripts
can react to the record that is being displayed. For related list controls the parent record is identified by the global
variable 'parent'. For primary lists, there is no parent record.
The following example script could be used on the 'Affected CIs' related list to only show the 'Edit' button if the
parent task was active. This script would need to be placed in the 'Edit condition' script field when personalizing the
list control for the related list.
var answer;
if(parent.active == true){
//Do not remove the 'Edit' button
answer=false;
}
else{
//Remove the 'Edit' button
answer=true;
}
answer;
Personalizing Lists 15
4. Click Add.
5. Use the slushbucket to place the field in the desired location on the form.
6. Click Save.
The field now appears on the form in the correct location.
Creating New Fields 17
Note: Mandatory fields are global. The field is marked as mandatory everywhere it appears in a form.
Creating New Fields 18
javascript:GetIDValue('sys_user_group', 'Development');
Example: Set a default value for assigned_to if user has the itil role
This example shows a default value, defined in script, that sets the assigned_to value equal to the current user id if
the user has a role of itil:
javascript:current.duration_field.setDisplayValue('3 04:30:14');
Typically, it is best not to hard-code a particular date-time because if the system date-time format changes, the value
will be invalid.
In the example below, the "subcategory" field is made dependent on "category". The "category" value in a form will
determine which options appear for the "subcategory" field.
4. Update.
Creating a Custom Application 21
Creating Applications
1. Navigate to System Applications > Create Application.
2. Define the application by completing the fields on the form (see table).
3. Click Submit. The application record remains open.
• The application record is saved and now appears on the Applications list.
• An application file record for the application record is created and assigned to the application. The application
file appears in the All Files related list.
• The application is selected as the current application in the Application picker.
Field Description
Active Select the check box to indicate that the application is in use (default). Clear the check box to deactivate the application.
Short Provides an explanation of what this application does. When you publish the application for transfer to another instance, this field is
description the default description for the update set. See Publishing Applications.
Menu Specifies the primary menu, which is the default application menu for any modules created in this application (see Administering
Application Menus and Modules). It is populated automatically based on the application name.
[Optional] Edit the new menu name or select an existing menu.
Note:
• If the menu name does not match an existing menu, a new menu is created when you save changes to the application record.
• You can modify this field for an existing application to create a new menu or select another existing menu. The default user role
is applied to the new menu. The original menu record is not changed.
User role Specifies the default user role required for the primary menu and to access any tables created in this application (see Creating
Security Rules for Tables). It is populated automatically based on the application name.
[Optional] Edit the new role name or select an existing role.
Note:
• If the user role does not match an existing role, a new role is created when you save changes to the application record.
• You can modify this field for an existing application to create a new role or select another existing role. The role is applied to
the primary menu. The original role is not changed.
Creating a Custom Application 22
Note: If you create a new table with the same name as a deleted table, the new table is associated with the application of the deleted
table instead of the current application. To avoid conflicts, use a unique name for the new table. You can still use the same label.
Working on Applications
Select the current application to associate configuration records with it as you develop.
1. Select the desired application in the Application picker. When you create a new application, it is automatically
selected as the current application.
2. Create a new or make a change to
an existing configuration record.
• For a new record, the application
file is automatically assigned to
Applications picker
the selected application. If a
conflict is detected, a notification
appears.
• For an existing record, the application file is not assigned or moved to the selected application. If the record is
not already associated with the selected application, a conflict notification appears.
3. If a conflict notification appears, resolve the conflict.
Resolving Conflicts
A conflict may exist when application files that normally belong together are not assigned to the same application. A
notification appears when the application file you changed or its parent is not assigned to the application selected in
the Application picker. For example, a conflict is detected in this scenario.
• Table A is associated with Application A.
• Application B is selected in the Application picker.
• You create a new field on Table A.
To resolve conflicts, choose an action for each conflict that is detected.
• To move the application files to the recommended application, click Move Files.
• To leave the application files where they are, click Leave Alone.
5. Click Add.
The application file and all of its
descendant records are moved to
the selected application.
You can also move a single application
file without affecting its descendants.
Use this method with caution; if you
move an application file without its
descendants, items may be missing
when you publish the application.
Move application files to an application 1. Navigate to the record.
4. [Optional] Make this the current update set by selecting the check box.
5. Click Create.
Deleting Applications
By default, deleting an application also
deletes all the records that are
associated with the application, such as
tables, business rules, and menus.
Alternatively, you can deactivate an
application that is no longer in use.
Create a new update set To delete an application:
1. [Recommended] Back up the
application in an update set. See Publishing Applications.
2. Navigate to System Applications > Applications.
Creating a Custom Application 25
Restoring Deleted
Records
In some cases, you can restore deleted
configuration records. Limitations
Application is deleted include:
• You cannot restore individual fields
or field labels. You can only restore a deleted table, which restores any fields and labels that were deleted with it.
• You can only restore records where both the update and version records exist. For example, you cannot restore a
record if you also deleted the update record (see Deleting Update Entries).
To restore an application that you just deleted:
1. On the deleted application confirmation page, click the Show Deleted Files link.
2. Select all of the rows.
Creating a Custom Application 26
Note: Users may refer to an application menu as simply an application (see Navigating Applications). For administrators, an
application is a packaged set of configuration records that provide a business solution (see App Creator), while an application menu
is a way to make application features accessible to users.
Enhancements
Calgary
The following enhancements have been added as of the Calgary release:
• The Application [sys_app_application] table is now called the Application Menu table. Administrators now
navigate to System Definition > Application Menus to modify the application and module listings in the
application navigator.
• A new table, called Application [sys_app], now represents packaged solutions for delivering services and
managing business processes. See App Creator.
• A new menu category, called Custom Applications, is now available. It is the default category for new
application menus.
• A new field, called Default order, is now available for menu categories. If you create an application menu
without specifying an order, the default order of the category is used to determine the relative position in the
application navigator.
When you change application menus or modules, the application navigator automatically refreshes to display
the changes.
Field Description
Name Specifies an internal name to uniquely identify application menus that have the same title.
Hint Defines the text that appears in a tooltip when a user points to this application menu.
Active Select the check box to activate the application menu. Only active application menus appear in the application navigator.
Order Defines the relative position of the application menu in the application navigator. If you do not specify an order, the default order of
the menu category is used.
Category Specifies the menu category, which defines the navigation menu style (default value is Custom Applications).
Roles Specifies user roles to limit who can view the application menu. Otherwise, all users can view the application menu when it is active.
Device Defines whether the application is intended for mobile devices. See Mobile Application Configuration.
type
Creating Modules
1. Open the application menu record by using one of the following methods.
• Navigate to System Definition > Application Menus and select the application menu from the list. In
versions prior to Calgary, navigate to System Definition > Applications.
• Right-click the application label in the application navigator and select Edit Application.
2. Scroll down to the Modules related list and click New.
3. Define the module by completing the fields on the form (see table).
4. Click Submit.
Administering Application Menus and Modules 30
Field Description
Title Defines the module name. Choose a title that clearly identifies the module.
Order Specifies the order in which the modules appear under the application.
Application Specifies the name of the application menu under which the module appears. Defaults to the application menu you opened in
menu step 1.
Hint Defines the tool tip that appears when a user points to the module name.
Image Specifies an icon to appear next to the module title in the navigator.
Link type Specifies what type of link this module opens. You must specify additional information based on the link type. See Module Link
Types.
Roles Restricts module access to the specified roles. If this field is left blank, the module is visible to all users who have access to the
application menu.
Arguments Defines additional information that is required for specific link types. For example, the URL for a link type of URL (from
Arguments:).
Field Description
Content Page Displays the content page you select in the Content page reference field. See Creating a Content Page.
Homepage Displays the homepage you select in the Homepage reference field.
HTML (from Places HTML in the application navigator. This is best used for more complicated links, where a flat URL is not customizable
Arguments:) enough.
Note: You must enter a value for the Arguments field.
List Filter Displays an unpopulated list view for the table you select in the Table field. Allows users to specify a filter without loading the list
first. Use the Filter field to define the default filter for the list. Use the View name field to specify a view.
List of Records Displays the list view for the table you select in the Table field. Use the Filter field to define the default filter for the list. Use the
View name field to specify a view.
Map Page Displays the map page you select in the Map page reference field. See Using Map Pages.
Administering Application Menus and Modules 31
New Record Displays a form for creating a new record in the table you select in the Table field. Use the View name field to specify a view.
Run a Report Runs the saved report you select in the Report field.
Search Screen Link that displays a blank form for searching records in the table. Use the View name field to specify a view.
Note:
• Use the parameter &sysparm_result_view=view_name to define the view the results are rendered in.
• All searches use a starts with query to search for matching text. Other query types are not supported in search screens.
Separator Creates a division between modules. Enter a name in the Arguments field to add a section name that users can collapse or expand.
Single Record Displays a form for a single record on the table. Use the View name field to specify a view.
Survey Links to the survey you select in the Survey reference field. Use the Survey overwrite check box to determine whether the survey
can be taken multiple times. See Making a Survey Public.
Timeline Page Displays the timeline page you select in the Timeline Page reference field. See Timeline Pages.
Additional Queries
For List of Records link types, you can append additional queries to the module to further define the filter for the
returned list. For example, to filter active incidents that are assigned to the currently logged in user, use the following
argument query:
active=true^assigned_to=javascript:gs.user_id()
Creating Tables
1. Navigate to System Definition > Tables.
2. Click New.
3. Define the table by completing the fields on the form (see table).
4. Use the Table Columns embedded list to add columns to the table.
5. Click Submit to create the table, or click Cancel to close the Table form without creating a new table.
Field Description
Label Enter a unique label for the table. The label appears on list and form views for the table. Updating the Label field also updates
the label record in the language file (for the current language). See Field Labels.
Name Populated automatically based on the label. The table name is automatically prefixed with u_ to indicate that it is a custom table.
For example, if you enter Marketing Event as the table label, the table name defaults to u_marketing_event.
[Optional] Edit the table name. You can use lowercase, alphanumeric ASCII characters and underscores (_) in the table name.
You cannot modify the automatic prefix.
Extensible Select the check box to allow other tables to extend this table. Clear the check box to prevent the creation of additional child
tables; existing child tables remain unchanged.
Extends Table [Optional] Select the table to extend. Extending a base table incorporates all of the fields of the original table and creates new
fields for the new table. Only tables that are marked as extensible appear in this list.
This option is available only when you are creating a table.
Create module [Optional] Select the check box and then complete the Add module to menu field to create a list module in the application
menu.
This option is available only when you are creating a table.
Add module to Select an existing menu or select Create new and enter a new menu name. This option is available only when the Create
menu module check box is selected.
Create access [Optional] Select the check box and then complete the User role field to create basic security rules for the table.
controls
User role Enter a new name or select an existing user role. This option is available only when the Create access controls check box is
selected.
Auto-number Select the check box and then define the number format to add an auto-numbered field to the table. The check box is available
only when a number format does not exist for the table. Otherwise, you can edit the existing number format.
Creating a Custom Table 34
Adding Columns
You can add database columns when
creating a new table or when editing an
existing table. To learn more about
creating fields and for versions prior to
Calgary, see Creating New Fields.
To add columns from the table record:
1. Navigate to System Definition >
Tables.
2. Create a new table or open an
existing table record.
Requests table 3. In the Table Columns embedded
list, double-click Insert a new row.
4. Define the column by completing the fields in the row (see table).
[Existing tables only] You can create a column with advanced settings by right-clicking the form header and
selecting Create Advanced Column. See Modifying Dictionary Entries.
5. Repeat steps 3 – 4 for each column being added.
• To delete a field, click the red X beside the row. This option is available only for custom fields.
• Changes to embedded lists are saved when the form is saved. See Using Embedded Lists.
• The Table Columns embedded list provides list filtering, searching, and sorting in addition to standard
embedded list functions.
6. Click Submit or Update.
7. [Optional] To customize the form layout for the new fields, open the table record, click the Show New Record
Form related link, and personalize the form.
Fields are automatically added to the default form view. If a default form view already exists, new fields are
added at the end of the first section.
8. [Optional] To customize the list layout for the new fields, open the table record, click the Show Records in List
related link, and personalize the list layout.
Field Description
Column Defines a unique label for the column. The label appears on list headers and form fields for the column.
label • Updating the Column label field also updates the label in the language file (for the current language). See Field Labels.
• When you create a new column, the column name is populated automatically based on the label. The name is automatically
prefixed with u_ to indicate that it is custom. For example, if you enter Activity Description as the column label, the column name
defaults to u_activity_description.
Type [Mandatory] Defines the field type for the column. See Introduction to Fields. To preserve existing data, only change fields between
the same basic type (for example, Choice and String). A warning appears if a change to a custom field will result in data loss. For a
base system field, you cannot make a change that will result in data loss.
Max [String fields only] Limits the length of the field. A length of under 254 appears as a single-line text field. Anything 255 characters or
length over appears as a multi-line text box.
Note:
• You can change this value only for a String field. Changes for any other type of field are ignored.
• Users on an Oracle instance cannot increase the maximum length of a string field to anything greater than 4000 through the
application UI as this requires the CLOB datatype in Oracle. To increase beyond this size, log an incident with Technical Support
to request the change.
• To prevent data from being lost, only decrease the length of a string field when you are developing a new application and not when
a field contains data. A warning appears if a change to a custom field will result in data loss. For a base system field, you cannot
make a change that will result in data loss.
Default Specifies the default value of the field for any new record. Ensure that this value uses the correct field type. For example, an integer
value field can use a default value of 2 but cannot use a default value of two. These values can be overridden with dictionary overrides.
Display Indicates that this field is the display value for reference fields (appears on records that reference this table).
Note: This option does not control whether or not this field is displayed on lists or forms.
Class [sys_class_name] System Class If the table is extensible, a string field that indicates which child table the record is on.
Name
Created [sys_created_on] Date/Time A time-stamp field automatically populated by the system at the moment of insert.
Created by String A string field automatically populated with the display name of the user who inserted the record.
[sys_created_by]
Sys_id [sys_id] Sys ID The unique record identifier for the record, automatically populated by the system.
Updates [sys_mod_count] Integer A numeric field that counts the number of updates for this record since record creation.
Updated by String A string field automatically populated with the display name of the user who most recently updated
[sys_updated_by] the record.
Updated [sys_updated] Date/Time A time-stamp field automatically populated by the system every time the record is updated. Stores
the most recent update date and time.
Note: If the new table extends a table, it inherits all the fields on the parent table.
Creating a Custom Table 36
Field Description
Prefix Enter a prefix for every number in the table (for example, INC for Incident). The default value is the first three letters of the table
label.
Number Enter the base number for this table (default value is 1000). Record numbers are automatically incremented, and the next number is
maintained in the Counter [sys_number_counter] table.
If you set the base number to a value higher than the current counter, the next record number uses the new base number. Otherwise
the next record number uses the current counter. The counter does not reset to a base number lower than itself.
Number of Enter the minimum number of digits to use after the prefix (default value is 7).
digits • Leading zeros are added to auto-numbers, if necessary (for example, INC0001001 contains three leading zeros).
• The number of digits can exceed the minimum length (for example, if Number of digits is 2 and more than 99 records are created
on the table, the numbers continue past TAB100).
Warning: Changing this field may update all number values for existing records on a table. Take care when changing this field on a
production instance. See Renumbering Records.
Note: To change the default values for new number formats, change the Default value field on the system dictionary record for the
Number or Number of digits field.
Note: You can repeat the procedure to grant full access to a different role. The new role is created and the original role is replaced
for every ACL on the table. The original role is not changed for ACLs on other tables or objects, and any other roles or scripts on the
ACLs are not changed.
Extending a Table
You can create a new table that stands alone or that extends a base table. Extending a base table incorporates all of
the fields of the original table and creates new fields for the new table. This inheritance is used to create
subcategories of data. Examples include the Incident, Problem, and Change tables, which are all subcategories of the
Task table.
To extend a table, select the table to extend in the Extends Table field on the table record. This option is available
only when you are creating a table.
Note: For a table that extends another table, the Table Columns embedded list shows columns on both the child table and the table it
extends. To improve sorting and filtering, consider personalizing the list to add the Table field. You cannot change the table for a
field. You can only add columns to the current table.
Creating a Custom Table 39
Note: You cannot extend system tables, such as sys_audit, or database view tables.
hasWorkflow
The new table now has fields from the Task table and supports workflows.
4. Click Submit.
5. Add any related lists. Refer to the
existing classes (such as
Workstations) for examples.
6. Position the new module in the
correct location in the application
navigator.
In the Laptops example, the
new class belongs next to the
Workstations module, under the
Example: CMDB class for laptops Base Items heading.
1. Right-click Configuration in
the application navigator and select Edit Application.
2. Locate the Workstations module in the list and note the value in the Order column.
3. Open the new Laptops module and give it an order value one number greater or less than the order number
of the Workstations module.
4. Click Update.
Field Description
Label Enter the name of the new class (such as Laptops or Thin Clients).
Name Preface the name of the table with u_cmdb_ci_ to make it similar to the other CMDB classes (for example, u_cmdb_ci_laptop).
Extensible Select the check box to allow other tables to extend this table.
Extends Table Select the table representing the class under which this new class should be placed. For example, if the new class is Laptops,
which is a subclass of Computers, extend the cmdb_ci_computer table. If the new class is a top-level class, extend the cmdb_ci
table.
Add module to Select the check box and then select the Configuration application to create a list module for the new class in the same application
menu with the other classes.
Each CMDB class is its own table, so creating new classes requires creating new tables. To create a new class (such as Laptops or Thin Clients),
create a new table with the following specifics:
Creating a Custom Table 41
Field Description
Label Enter the name of the new class (such as Laptops or Thin Clients).
Table name Preface the name of the table with u_cmdb_ci_ to make it similar to the other CMDB classes (for example,
u_cmdb_ci_laptop).
Extends base Select the table representing the class under which this new class should be placed. For example, if the new class is Laptops,
table which is a subclass of Computers, extend the cmdb_ci_computer table. If the new class is a top-level class, extend the cmdb_ci
table.
Create new Select the check box and then select the Configuration application to create a list module for the new class in the same
module application with the other classes.
The completed Table creator form looks like the following image.
Click Do it! to create the table. The new module appears in the Configuration application.
Personalize the form to add any new fields and then add any related lists. Refer to the existing classes for examples.
Position the new module in the correct location in the application navigator.
6. Click Do it! to create the new table in the database with the
ServiceNow required fields (see Global Default Fields).
7. You can add new fields to the table by personalizing the form.
Note:
• You cannot extend system tables (such as sys_audit) or database view tables.
• For versions prior to the Berlin release, contact Technical Support to extend a table that is not already extended.
CMDB
CMDB contains two major record types:
• Configuration Item (CI): Any computer, device, or piece of software in the CMDB. A CI's record will include
all of the relevant data, such as manufacturer, vendor, location, etc. Configuration items can be created or
maintained either using tables, lists, and forms within the platform, or using Discovery.
• Relation Type: A defined relationship between a CI and either another CI, a user, or a group. Relation types are
defined twice, once from the perspective of the child CI and once from the parent CI's perspective. For instance, a
parent CI that powers a child CI uses relation type Powers::Is Powered By. Example relation types include In
Rack::Rack contains, Log Reviewed by::Reviews logs for, or Backup done by::Does backups for. CMDB
relationships can be established using Discovery, or using the tables, lists, and forms within the platform. The
CMDB form has a specific Related Items toolbar optimized for modifying relationships.
CI Relationship Builder
Click the CI relationship builder icon ( ) to display the Define Relationships page. Used to define CI relationships
manually, this page is a sophisticated version of the standard ServiceNow slushbucket. For more information, see
Defining CI Relationships.
Flat Layout
Click the flat layout icon ( ) to group the related CIs by relationship.
Introduction to Assets and Configuration 45
Tree Layout
Click the tree layout icon ( ) to group the related CIs in a hierarchical tree.
BSM Map
Click the BSM icon ( ) to launch the BSM map in another window or tab. The map starts with a focused item and
displays a set number of levels below and above that item in the heirarchy. Using a right click, the user can focus on
any item within the map and redraw the map using that item as the focus. A right click can also highlight the
hierarchy of any particular item in the map.
8. Click the button in the top right corner of the Sections pop-up box.
2) Modify a widget or create a new widget (System UI -> Widgets) so that you can select your UI page from the
'Add content' selector on a homepage. The important thing is that your widget script references your UI page. The
name of the widget will be the name of the category in the 'Add content' selector. The 'Renderer type' field on the
widget record should be 'JavaScript'. This script can be used if you want to create a new widget.
function sections() {
return {'ServiceNow' : { 'type' : 'iFrameSNC' }};
}
function render() {
var type = renderer.getPreferences().get("type");
Adding Existing Gauges to a Homepage 48
function getEditLink() {
return "sys_ui_page.do?sysparm_query=name=render_gadget_" +
renderer.getPreferences().get("type");
}
Domain 2
Enhancements
Berlin
The following enhancements have been added as of the Berlin release:
• The User ID field [sys_user.user_name] requires unique values. You cannot create a new user whose User ID
duplicates an existing user.
Creating a User
1. Navigate to User Administration > Users.
2. Click New.
3. Enter the user's information (see table).
4. Click Submit.
The new user record appears at the top of the list.
User ID Create a unique identifier for this user's ServiceNow login user name. Typical examples of user IDs are cwitherspoon and
charlie.witherspoon. You cannot create a new user whose User ID duplicates an existing user (Berlin release). If you do import
duplicates from an update set, the more recently created names takes the duplicate User ID.
Title Enter a title or job description, or select one from the list.
Password Assign a password to the user. This password can be permanent or temporary.
Password Select this check box to require the user to change the password during the first login.
needs reset
Locked out Select this check box to lock the user out of the instance and terminate all their active sessions.
Creating Users and Associating to a Group 50
Active Select this check box to make this user active. Only the administrator sees inactive user in:
• Lists of users
• The selection list on reference fields (magnifying glass icon)
• The auto-complete list that appears when you type into a reference field
Notification Select the type of notification to send to this user. The default is Email. If you select None, the user can still receive notifications if
he or she subscribes to the notification or is specified as a recipient in the Email Notifications form.
To prevent notification completely, set a condition on the Email Notification form itself that does not deliver the notification if this
field is set to None.
Calendar Select Outlook to have this user receive meeting notifications via email directly to the calendar. Otherwise, select None.
integration
Creating Groups
Overview
A group is a set of users who share a common purpose. Groups may perform tasks such as approving change
requests, resolving incidents, receiving email notifications, or performing work order tasks. Any business rules,
assignment rules, system roles, or attributes that refer to the group apply to all group members automatically. Users
with the user_admin role can create and edit groups.
Creating Groups
1. Navigate to User Administration > Groups.
2. Click New.
3. Fill in the form.
To see some of the fields, you may need to personalize the form.
Field Description
Type Category for this group. For example, a group designated as type catalog is a service catalog group and can also be accessed under the
Service Catalog > Catalog Policy > Fulfillment Groups module.
You may need to personalize the form to add the Type field. Activating the Work Management plugin (Calgary release) adds the
Type field automatically.
See also Configuring Group Types for Assignment Groups.
Group Group email distribution list or the email address of the group's point of contact, such as the group manager.
Email
Parent Other group of which this group is a member. If a group has a parent, the child group inherits the roles of the parent group. The
members of the child group are considered members of the parent group.
Note: The Assignment group and Assigned to fields on incidents have special logic that prevents setting the Assigned to field to a
user not defined directly in the assignment group. Therefore, only users defined in the assignment group, and not members of the
assignment group's child groups, can be entered in the Assigned to field.
Active Check box that indicates whether the group is active or inactive. Inactive groups still appear in any reference field that already
references the group, but are not visible by non-admin users in:
• lists of groups
• the reference lookup list for reference fields
• the autocomplete list of groups displayed when you type into a reference field
Exclude Check box that controls whether the group's manager receives email notifications. Note that if the Subscription Based Notifications
manager plugin is enabled, managers receive all notifications they are subscribed to, regardless of the Exclude manager setting.
Creating Groups 52
Include Check box that controls whether the group members receive individual emails when someone sends an email to the Group Email
members address.
Creating Roles
Overview
A role is a category that can be assigned to a group or user, and can be granted access to particular parts of the
system. Once access has been granted to a role, all of the groups or users assigned to that role are granted the same
access. Roles can also contain other roles, and any access granted to one role will be granted to any role that contains
it.
For a complete list of the roles included with ServiceNow, see Base System Roles.
Creating Roles
1. Navigate to User Administration > Role.
2. Click New.
3. Give the role a unique, descriptive name and a brief description.
4. Click Submit.
The new role appears on the Roles list. It does not have access to any applications or modules until you add
other roles to it or add the new role to the appropriate applications and modules.
5. To add other existing roles to the new role, open the role in form view and click Edit in the Contains Roles
Related List.
Use the slushbucket to add the appropriate existing roles to the new role and click Save. Users who are
assigned the new role automatically inherit access to the same applications and modules as the existing roles
added here.
6. To create a role to add to the new role, click New in the Contains Roles Related List.
Creating Roles 53
Role Delegation
Overview
With the Role Delegation plugin, an administrator can grant a user the right to delegate roles within a particular
group with the role_delegator role. Roles available to a role delegator can come from roles specifically granted to
that user or roles that the user inherits by being the member of a group. For example, if a user is a role delegator in
the Network and Database groups, he may delegate roles he inherits from the Network group to members of the
Database group.
4. Click Submit.
A change request is created for the role delegator request. The change request is approved automatically.
Role Delegation 54
User Records
Open a user's record (User Administration > Users) to view all the roles assigned to that user.
Role Delegators
To view existing role delegators (and the groups in which they can delegate roles), navigate to User Administration
> Role Delegators. All the role delegators in the instance are listed, showing the groups in which they have the
role_delegator role.
Role Audit
The Audit Role list view displays all the role changes made in the instance by user and group. To access the Audit
Role list, navigate to System Security > Reports > Audit Roles.
Role Delegation 55
Delegating Roles
To delegate specific roles to members of a group, navigate to User Administration > Delegate Roles in Group.
This module is available to users with the role_delegator role. The role delegator provides the following fields:
Group Select the group in which a member shall be delegated a role or roles
User Select the member who shall be delegated roles in that group.
Upon submission, a change request is created for the delegation request. This change request is approved
automatically, and the specified roles are granted to the named user in the group selected.
Role Delegation 56
Removing Roles
Delegated roles can be removed in the same form by reversing the process. Select the group and user, remove the
unwanted roles from the Roles slushbucket, and then re-submit the request.
Administration
Record Producers
The Role Delegation modules link to Record Producers. These Record Producers create Change Requests that are,
by default, automatically approved by the following graphical workflows:
• Grant role_delegator role to user in group
• Delegate roles to group member graphical workflows.
can_delegate Field
The Roles [sys_user_role] table has a can_delegate field. A role can be delegated if this field's value is true. In the
base system, the following fields are not delegatable:
• admin
• role_delegator (a user with the role_delegator role cannot, by default, delegate this role to other group members)
• public
• nobody
Enhancements
ACL Rule Workflow
Calgary
The following enhancements are available as of the Calgary release:
• You can create ACL rules for processors.
• You can create ACL rules for client-callable script includes.
Note: The Requires roles related list is available only after you save the ACL rule.
Field Description
Type Select what kind of object this ACL rule secures. An object's type determines how the object is named and what operations are
available.
Operation Select the operation this ACL rule secures. Each object type has its own list of operations. An ACL rule can only secure one
operation. To secure multiple operations, create a separate ACL rule for each.
Name Enter the object's record name or select the object's table and field names. The name identifies the object being secured. The more
specific the name is, the more specific the ACL rule is. You can use the wildcard character asterisk (*) in place of a record name,
table name, or field name to select all objects that match a particular record type, all tables, or all fields. You cannot combine a
wildcard character and a text search. For example, inc* is not a valid ACL rule name, but incident.* and *.number are valid ACL rule
names.
Active Select this check box to have ServiceNow enforce this ACL rule.
Admin Select this check box to have users with the admin role automatically pass the permissions check for this ACL rule, regardless of
Overrides what script or role restrictions would apply. Clear this check box if administrators must meet the permissions defined in this ACL
rule to gain access to the secured object. Since administrators will always pass role checks (see the description of the Requires role
field), use the condition builder or Script field to create a permissions check that administrators must pass.
Description [Optional] Enter a description of the object or permissions this ACL rule secures.
Condition Use this condition builder to select the fields and values that must be true for users to access the object.
Script Enter a custom script describing the permissions required to access the object. The script can use the values of the current and
previous global variables as well as system properties. The script must generate a true or false response in one of two ways:
• return an answer variable set to a value of true or false
• evaluate to true or false
In either case, users only gain access to the object when the script evaluates to true and the user meets any conditions the ACL rule
has. Both the conditions and the script must evaluate to true for a user to access the object.
Requires Use this related list to specify the roles a user must have in order to access the object. If you list multiple roles, a user with any one of
role the listed roles can access the object. Note: Users with the admin role will always pass this permissions check because ServiceNow
automatically grants admin users all roles.
could hide a field on a form, hide rows from a list, or prevent a user from accessing a particular UI page. See the
table for a complete list of results of failing an ACL rule for a given operation and object type.
create User cannot see the New UI action from forms. The user also cannot insert records into a table using API protocols such as
web services. Note that a create ACL with a condition that a field contain a specific value always evaluates as false, as fields
on new records are considered empty until saved.
read User cannot see the object in forms or lists. The user also cannot retrieve records using API protocols such as web services.
write User sees a read-only field in forms and lists, and the user cannot update records using API protocols such as web services.
delete User cannot see the Delete UI action from forms. The user also cannot remove records from a table using API protocols such
as web services.
add_to_list User cannot view or personalize specific columns in the list mechanic.
personalize_choices User cannot right-click a choice list field and select Personalize Choices.
Client-callable Users must meet the permissions By default, there are no wildcard (*) rules for these object types. If you create a wildcard
script includes of two ACL rules: ACL rule for one of these objects, then the ACL rule applies to all objects of this type.
1. All wildcard ACL rules for
the object (if any ACL rule
Processors exists for the operation).
2. The first ACL rule that
matches the object's name (if
UI pages
any ACL rule exists for the
operation).
Record Users must meet the permissions By default, ServiceNow provides wildcard table rules (*) for the create, read, write, and
of two ACL rules: delete operations and provides wildcard field rules (*.*) for the personalize_choices, create,
1. The first ACL rule that and save_as_template operations. When you create a new table, create new ACL rules for
matches the record's field (if the table unless you want to use the provided wildcard ACL rules.
any ACL rule exists for the
operation).
2. The first ACL rule that
matches the record's table (if
any ACL rule exists for the
operation).
Note: ServiceNow uses the high security property Security manager default behavior (glide.sm.default_mode) to determine
whether users can access objects that only match against wildcard table ACL rules. When this property is set to Deny access, only
administrators can access objects that match the wildcard table ACL rules.
Using Access Control Rules 60
Note: The wildcard field ACL rule (*.*) for the create operation reuses the same permissions as the write operation. This means that
the create permissions are the same as the write permissions unless you define an explicit create operation ACL rule.
Operation Description
add_to_list Allows users to insert records (rows) into a table from a list.
Using Access Control Rules 61
Operation Description
Since UI pages typically only display read-only information, the most common UI page ACL rule is for the "read"
operation. For an example of limiting access to live feed with this type of rule, see Limiting Live Feed Access by
Role.
Using Access Control Rules 63
Debugging
ServiceNow offers the following ACL rule debugging tools:
• Field level debugging
• ACL rule output messages
To enable ACL rule debugging, navigate to System Security > Debug Security Rules.
Note: Impersonation can simplify debugging ACL rules. First enable ACL debugging, then impersonate another user to see what
ACL rules the user passes and fails.
Troubleshooting
Here is a list of common ACL rule errors and their solutions. Enable debugging to help troubleshoot an issue.
You cannot access records from a Create a table ACL rule for the custom table granting users access to the table. Without an explicit table
custom table. ACL rule, users must pass the permissions in the table wildcard (*) ACL rule, which by default restricts
access to administrators only. Enable debugging and determine what ACL rules are evaluated for the
custom table.
You create a custom ACL rule that The most likely problems are that another rule takes precedence over your custom rule in the processing
does not work properly. order or that the user does not meet all the permission requirements for the object type. Enable debugging
and verify that the ACL rule is being evaluated.
Your field ACL rule does not work There is likely a table ACL rule that the user has not met. Enable debugging and determine what ACL rules
properly. are evaluated for the field. Verify that there is not a conflicting table ACL rule or duplicate field ACL rule.
Your table ACL rule does not work There is either an ACL rule higher in the processing order or a duplicate table ACL rule interfering with
properly. the table ACL rule. Enable debugging and determine what ACL rules are evaluated for the table.
You can see a field in a list but not in It is possible that the ACL rule conditions or script are being triggered in the list but not in the form.
form. Enable debugging and determine when the ACL rules evaluate to true. Update the conditions or script to
have the same behavior on the list and form.
You receive an error message when There is an ACL rule for the processor or client-callable script include that the user has not met. If the user
trying to execute a processor or should have access to the object, enable debugging and determine what ACL rules are evaluated for the
client-callable script include processor or script include. Update the ACL rule or the user roles as needed to access the object.
Using Access Control Rules 65
Property Description
glide.sys_reference_row_check Controls whether the script conditions of Access Control Rules apply to a table's reference fields.
• Type: true | false
• Default value: false
• Location: Add to the System Properties [sys_properties] table
Overview
The Platform Security Settings - High plugin is active by default on all new ServiceNow instances. For instances in
which the high security settings are active, observe the following cautions:
• Integrations into ServiceNow tables fail unless access control lists (ACL) are defined for the tables being accessed
and the appropriate roles are assigned.
• The same ACL requirements apply for import sets that apply to integrations.
Note: For instances running earlier versions, this plugin can be activated by an administrator. After activating the plugin, log out
and log back in for it to take effect.
Platform Security Settings - High automatically activates the Contextual Security plugin if it is not already active. In
addition, Platform Security Settings - High delivers the following settings and features in the context of increasing
the security of your ServiceNow platform.
Features:
• High Security Settings: Default property values to harden security on your platform by centralizing all critical
security settings to one location for management and auditing.
• Default Deny Property: A new security manager property controls the default security behavior for table access.
• Security Administrator Role: A new role used to prevent modification of key security settings and resources. The
Security Administrator role is not inherited by the admin role and must be explicitly assigned.
• Access Control Lists: Prevents modification of sensitive and platform-level resources in prior versions.
• Property Access Control: Enables the ability to set read and write roles to individual properties in order to prevent
modification.
• Elevated Privilege: Allows users to operate in the context of a normal user and elevate to higher security role
when needed.
• Transaction and system logs are read only.
High Security Settings 66
Enhancements
Calgary
The following enhancements are available for the Calgary release.
• A new system property glide.security.checkacl.before.setvalue controls how an instance
processes ACLs when high security is enabled. By default, high security instances will check ACL rules for all
columns before applying any updates to a row. Setting this property to false causes the instance to apply ACL
rules as each column is processed in alphabetical order. Administrators must add this property to the System
Properties [sys_properties] table.
• A new system property glide.security.strict_elevate_privilege forces administrators to
manually elevate to all privileged roles.
Aspen
The following enhancement is available for the Aspen release.
• High Security Settings are on by default for all new instances.
Properties
High security settings are controlled by the following properties, accessed from System Security > High Security
Settings.
Note: Access to System Security is restricted to users with the security_admin elevated privilege.
Name Description
glide.ui.escape_text Escape XML values at the parser level for the user interface. This will prevent reflected and stored
cross site scripting attacks. Note: This property also disables HTML rendering on the activity
formatter. Default: Yes
glide.ui.escape_all_script Forces all scripts injected in Jelly to be escaped by default. Use noesc: to preserve special characters.
Default: No
glide.ui.rotate_sessions Rotate HTTP session identifiers to reduce security vulnerabilities. See: [1] Default: Yes
If you are using the SAML 2.0 plugin for Single Sign-on authentication, set this feature to false.
Otherwise, it interferes with the session information sharing that takes place between ServiceNow and
the Identity Provider.
glide.ui.secure_cookies Enable secure session cookies: Enable additional cookie security. If checked, strict session cookie
validation is enforced. With version 3 cookies enabled, additional security requirements are also
enforced. Default: Yes
glide.security.strict.updates Double check security on inbound transactions during form submission (rights are always checked on
form generation). Default: Yes
glide.security.strict.actions Check conditions on UI actions before execution; normally the conditions are only checked during
form rendering. Default: Yes
glide.security.use_csrf_token Enable usage of a secure token to identify and validate incoming requests. This token is used to prevent
cross site request forgery attacks. Default: Yes
glide.ui.escape_html_list_field Escape HTML for HTML fields in a list view. Default: Yes
glide.ui.forgetme Remove Remember me check box from login page. Default: Yes
glide.smtp.auth Authenticate with the SMTP server by the user name and password properties. Default: Yes
glide.script.use.sandbox Run client generated scripts (AJAXEvaluate and query conditions) inside of a reduced rights
"sandbox". If enabled, only those business rules and script includes with the Client callable checkbox
set to true are available and certain back-end API calls are disallowed. Default: Yes
glide.soap.strict_security Enforce strict security on incoming SOAP requests. Checking this requires incoming SOAP requests to
go through the security manager for table and field access and checks SOAP users for the correct roles
for using the web service.
[2]
[3]
Default: Yes
glide.basicauth.required.wsdl Require basic authorization for incoming WSDL requests. Default: Yes
glide.basicauth.required.csv Require basic authorization for incoming CSV requests. Default: Yes
glide.basicauth.required.excel Require basic authorization for incoming Excel requests. Default: Yes
glide.basicauth.required.importprocessor Require basic authorization for incoming import requests. Default: Yes
glide.basicauth.required.pdf Require basic authorization for incoming PDF requests. Default: Yes
glide.basicauth.required.rss Require basic authorization for incoming RSS requests. Default: Yes
glide.basicauth.required.scriptedprocessor Require basic authorization for incoming script requests. Default: Yes
glide.basicauth.required.soap Require basic authorization for incoming SOAP requests. Default: Yes
glide.basicauth.required.unl Require basic authorization for incoming unload requests. Default: Yes
glide.basicauth.required.xml Require basic authorization for incoming XML requests. Default: Yes
glide.basicauth.required.xsd Require basic authorization for incoming XSD requests. Default: Yes
glide.cms.catalog_uri_relative Enforce relative links from the URI parameter on /ess/catalog.do. If checked, then only relative URLs
are permitted through the /ess/catalog.do page using the parameter 'uri'. If unchecked, all URLs are
permitted, which may permit linking to external unauthorized content. Default: Yes
glide.set_x_frame_options Enable this property to set the X-Frame-Options response header to SAMEORIGIN for all UI pages.
The X-Frame-Options HTTP response header can be used to indicate whether or not a browser should
be allowed to render a page in a <frame> or <iframe>. Sites can use this to avoid clickjacking attacks,
by ensuring that their content is not embedded into other sites. [4] Default: Yes
glide.ui.attachment.download_mime_types A list of comma separated attachment mime types that do not render inline in the browser. This will
prevent cross site scripting attacks. For example, text/html forces HTML files to be downloaded to the
client as attachments rather than viewed inline in the browser.
This property is available starting with the Aspen release.
Default: Yes
glide.ui.security.allow_codetag Allow support for embedding HTML code by using the [code] tag. Default: No
glide.ui.security.codetag.allow_script Allow embedded HTML (using [code] tags) to contain JavaScript tags. Default: No
glide.login.autocomplete Allow browsers to use autocomplete on password fields on login forms. Default: No
The following properties have been defined in the sys_properties table, but are not visible on the High Security
Settings page.
High Security Settings 68
Name Description
glide.security.csrf_previous.allow Allow usage of an expired secure token to identify and validate incoming requests. This token is used to
prevent cross site request forgery attacks. Default: No
glide.security.csrf_previous.time_limit Time in seconds for a secure token to expire. It allows control over the length of time that the previous
CSRF token is valid. When the user session expires, the secure token expires with it unless the "allowing
reuse of expired tokens are allowed" property is enabled and it's within the time frame described by this
property. This token is used to prevent cross-site request forgery attacks. Default: 86400 seconds or 1 day
Note: By default, the wildcard table ACL rules are the only ACL rules that check for the value of the glide.sm.default_mode property.
If you want to control other operations with this setting, create your own ACL rules to check for this property value. See Using Access
Control Rules.
When an instance is upgraded while running the High Security plugin, the glide.sm.default_mode property is set to
Allow Access and can be changed to Deny Access.
When the High Security plugin is activated on a new instance, the glide.sm.default_mode property is set to Deny
Access.
To change the property:
1. Navigate to System Properties > Security.
2. Select Deny Access or Allow Access for the Security manager default behavior.
High Security Settings 69
sys_user_role (Roles) read all • The "maint" and "nobody" roles cannot be read by any role except "maint"
records • all other roles can only be read by users with the "role_delegator", "itil", or
"user_admin" roles
sys_user_role (Roles) delete all • The "maint" and "nobody" roles cannot be deleted by any role except "maint"
records • all other roles can only be deleted by users with the "admin" role
reset_acl_rules (Reset ACL UI read UI Page This UI page has been removed from the platform. Furthermore access to this UI page is
page) set to "nobody" so that existing modified pages will not be accessible
sys_app_module (Application write all • Only users with roles that are set in the "roles" field in the application module record
Modules) records can modify it
• The user with "admin" role can modify any application module that is set with a role
that "admin" can inherit (all roles except "maint" and "security_admin")
sys_app_application write all • Only users with roles that are set in the "roles" field in the application record can
(Application) records modify it
• The user with "admin" role can modify any application that is set with a role that
"admin" can inherit (all roles except "maint" and "security_admin")
sys_properties (Properties) read all • Only users with roles that are set in the "read_roles" field in the properties record can
records read it
• The user with "admin" role can read any property that is set with a role that "admin"
can inherit (all roles except "maint" and "security_admin")
sys_properties (Properties) write all • Only users with roles that are set in the "write_roles" field in the properties record can
records modify it
• The user with "admin" role can modify any property that is set with a role that
"admin" can inherit (all roles except "maint" and "security_admin")
sys_properties (Properties) delete all • Only users with roles that are set in the "write_roles" field in the properties record can
records delete it
• The user with "admin" role can delete any property that is set with a role that "admin"
can inherit (all roles except "maint" and "security_admin")
sys_security_acl (Access write all Only users that have elevated to the "security_admin" role can modify records in
Control List) records sys_security_acl table
sys_security_acl (Access delete all Only users that have elevated to the "security_admin" role can delete records in
Control List) records sys_security_acl table
sys_security_acl_role (Access write all Only users that have elevated to the "security_admin" role can modify records in
Roles) records sys_security_acl_roles table
High Security Settings 70
sys_security_acl_role (Access delete all Only users that have elevated to the "security_admin" role can delete records in
Roles) records sys_security_acl_roles table
migrate_security (Migrate read UI Page Access to this UI page is only granted to the user who elevates to the "security_admin"
Security UI page) role
syslog (Log Entry) write all Modification of records to this table has been set to the "nobody" role which means
records records cannot be modified
syslog (Log Entry) delete all Deletion of records to this table has been set to the "nobody" role which means records
records cannot be deleted
sysevent (Event) write all Modification of records to this table has been set to the "nobody" role which means
records records cannot be modified
sysevent (Event) delete all Deletion of records to this table has been set to the "nobody" role which means records
records cannot be deleted
Elevated Privilege
An elevated privilege is a role that has the elevated_privilege field set to true. After the plugin is activated, a new
security_admin elevated privilege is created and assigned to the default System Administrator user. This role
grants modification access to the High Security Settings and allows the user to modify the Access Control List,
directly import XML files, and access the Scripts - Background module. A user can get an elevated privilege role in
his session only by manually elevating to it. The role is in the user's session only for the duration of the session.
Session timeout or log-out removes the role.
A role that is an elevated_privilege
does not appear in an assigned user's
session when the user logs in. The user
must manually elevate to that role. See
The security admin role with elevated privileges
the following section for details.
High Security Settings 71
Note: Any edits being made when the page reloads are lost.
High Security Settings 72
Notifications
Activation of high security settings
also activates security warning
messages. The following is an example
of a message that appears after an
approval. Click Continue to complete
the action without error.
References
[1] http:/ / www. owasp. org/ index. php/ Session_Management#Rotate_Session_Identifiers.
[2] http:/ / wiki. service-now. com/ index. php?title=Contextual_Security
[3] http:/ / wiki. service-now. com/ index. php?title=Web_Services
[4] https:/ / developer. mozilla. org/ en/ the_x-frame-options_response_header
73
Domain 3
Performance Metrics
Overview
You can view a wide range of performance metrics for your instance and for the machine on which your instance is
running, displayed in a graphical format. Add these graphs and their controls to your home page to monitor the
performance of your instances. Some of these graphs are intended for use by ServiceNow Technical Support to
troubleshoot performance issues or help you tune your system for maximum efficiency. Each graph enables you to
filter the data by using different measurements, such as maximum and minimum values, means, and medians. The
available graphs reflect performance in eight functional areas of ServiceNow.
• Database
• Discovery
• Disk Partitions
• Linux Stats
• Logging
• MySQL Overview
• Node Metrics
• Replication
• ServiceNow Servlet
Performance Metrics 74
Graph Controls
The performance graph controls that you added to your homepage allow you to adjust your view of the graphs as
follows:
Control Description
Refresh Set the refresh rate for your graphs from five minutes to one hour, or turn off the refresh feature.
Time Select the amount of data to display in the graph. The time span selected shows the data for that period up to the current time.
span
CI The value in this field defaults to the name of the node (instance node ID). The list for clustered environments will contain all the nodes
in the instance, enabling you to view the performance metrics for selected nodes.
Performance Metrics 75
Available Metrics
Each graph has a set of colored check boxes at the top that control the display of available data. Clear a check box to
remove that input from the chart.
Database Graphs
Database graphs display metrics for various database operations (e.g. insertions and deletions) and a current count of
database connections for the selected ServiceNow instance. To view the details of a database, select an instance from
the CI list, and then select a database operation to view from the list of available operations above the chart. Note
that all traffic listed here is specific to your cluster node/instance. If you are looking at the database graph for your
discovery node, it will not include traffic for your UI node or vice versa. If you, like most customers, are running on
a single node, the graph will, of course, show everything.
• Database Throughput: Displays the count (per minute) for each type of database operation (inserts, deletes, etc.)
over time.
• Database Response: Displays the response time (in milliseconds) for each type of database operation.
• DB Connection Use: Shows how many connections this instance has open to the database. Select to display as a
maximum, a minimum, or a mean.
Performance Metrics 76
Discovery
Functionality described here requires the Discovery plugin.
Discovery metrics measure the performance of the probes and sensors in your instance as they collect information
about CIs in the network. The available measurements to apply are count, maximum, mean, median, and minimum.
All times in these charts are measured in milliseconds.
• Discovery Probe Run Time: Elapsed time, in milliseconds, that probes take to run. Use this chart to check the
performance of your MID Server. Slow run times can indicate a resource problem on the MID Server machine.
• Discovery Sensor Queue Time: Indicates how long a sensor task sits in the scheduler queue on the instance
before it runs.
• Discovery Sensor Run Time: Measures how long a sensor task takes to run after it is started.
Performance Metrics 77
Disk Partitions
Select Disk Partitions to view the input and output statistics for partitions on the server hosting your ServiceNow
instance. The available measurements are the read and write requests per minute and the number of bytes read and
written per minute.
Selecting a Partition
You can display the statistics for each partition or the cumulative totals for all partitions. To view cumulative I/O for
the entire disk, select the first line in the drop-down list in the CI field. Select one of the individual partitions from
the list to view the statistics for that partition alone.
Four of the disk partitions that appear in the list are generated as business services and are used to populate the
performance graphs with data. If they are deleted, the instance automatically regenerates them. They appear in the
list of Business Services as shown here:
Performance Metrics 78
The list of disk partitions generated by the platform appear in the performance graphs as shown below:
Linux Stats
The Linux Stats graph displays performance data for the server on which your ServiceNow instance is running.
ServiceNow uses these graphs as a tool to locate and resolve issues with your instance.
• CPU Usage: The measurement of this chart indicates the percentage of the available CPUs that are running on
this machine. This is aggregated data and indicates what portion of the machine's resources are being used at any
given time. The most useful metric on this chart is the IOWait time measurement, which can indicate
performance issues.
• Load: The load on the Linux machine indicates the average sum of the number of process waiting plus those
processes executing over increments of 1 minute, 5 minutes, and 15 minutes.
Logging
The charts of logging activity display the mean error log count and the mean number of logs created per minute
within the configured time period. The error logging rate is the most important metric in this group.
Performance Metrics 80
MySQL Overview
The charts in the mySQL Overview display are an aggregate view of all traffic going to your database server. This is
distinct from the charts under the Database section which monitor only queries originating at your particular
application instance.
• mySQL Statements: Displays all the database activity - deletes, inserts, selects, and updates.
• mySQL Threads: Measures the number of connections to the database and how many active threads are running
on the database.
• mySQL Statement - writes: Displays only the database write actions: deletes, inserts, and updates. The select
action represents a large portion of the activity, and removing this view makes it easier to analyze the write
actions.
• mySQL Table Locks waited: Displays the number of table locks per second over the configured time period.
This is a very important metric to monitor. The more table locks that exist, the lower the performance.
Node Metrics
Node Metrics displays a set of baseline performance and throughput metrics for a particular application instance
and/or cluster node. Note that most customers are not, in fact, running in a clustered configuration, but you will still
have data here since the system treats those instances as a cluster with only one node.
Those customers running with multiple cluster nodes will be able to view different metrics for each node on their
cluster by changing the CI in the graph control.
• Response Time: Displays the maximum, median, and minimum response time for database queries by the
selected node in milliseconds.
• Events Logged: Shows the mean number of the events queued and added to the event log by ServiceNow in the
selected time period.
• Events Processed: Shows the mean number of the events actually processed by ServiceNow in the selected time
period.
• Transactions: Displays the total number of database transactions per minute by the selected node.
• Semaphore Use: Shows the number of semaphores in use by the selected node. Semaphores control the number
of user transactions that can be run in parallel.
• DB Connection Use: View the maximum, median, and minimum number of database connections in use by the
selected node.
Performance Metrics 81
Replication
Replication is the process whereby an entire instance is replicated on a second machine for failover protection. The
Replication Throughput graph measures the difference in the data (delta) between the production instance and the
replicated instance as user activity changes the database. ServiceNow Technical Support uses this information to
monitor the progress of replicating a customer's instance.
ServiceNow Servlet
Each ServiceNow instance has a servlet.
• Sessions: The session data graph can display existing sessions, including those initiated by the MID Server and
external integrations
• Transactions:Displays all transactions initiated by users, the MID Server, and external integrations.
• Response Time:Displays the interval (in milliseconds) between the time the instance receives a transaction and
the time the instance responds.
• Java Memory: Records memory usage and indicates when the instance is running out of memory. This is a very
useful problem indicator.
• CPU Usage: Shows aggregated CPU usage for all the instances on the machine. This information is used by
ServiceNow Technical Support to troubleshoot performance issues.
• Scheduler: Displays all scheduler activity for the selected instance, including Discovery probes. You can
determine the backlog of scheduled jobs in the queue for a particular time period and compare that against the rate
at which the jobs are being processed during the same period.
Performance Metrics 82
Creating Reports
Overview
ServiceNow puts the power of report creation in the hands of every user of the system. Administrators can create
reports that are viewable by specific groups, or by everybody. Individual users can create custom reports that they
can access at any time. Reports can be scheduled for email delivery at specific times of the day, week or month,
internally and externally. Any report can be made into a gauge which can be added to a ServiceNow homepage.
Combine these powerful features with over 60 customizable, commonly used reports that are delivered with
ServiceNow, and you have the most robust native reporting tool available in any ITSM application on the market
today.
Enhancements
Calgary
The following enhancements are available with the Calgary release.
• A new Export to PDF button appears on the reporting form. Users who can export reports can use this button to
create a PDF of a report directly from the report form.
• Users who can edit a report can share a report with multiple users or groups.
• Changing the visibility of a report now updates the original report. Changing the visibility of a report without the
permissions necessary to edit that report generates a new report instead.
• Users who can edit a report can disable the report details block on PDF exports of that report.
• The Save as button on the report form now appears as Insert. The behavior of this button did not change.
• A Tiny option is now available from the Chart size choice list. The Tiny chart size is approximately one half the
size of the Small chart size.
• Certain elements on the report form have moved to accommodate other changes.
Creating Reports 83
Running Reports
Reports can be accessed through the left navigation bar. Here are some quick definitions of the modules in the
Report application:
• View/Run - The list of available reports. This list will be based on the role the logged in user has to access
individual reports. From this list users can either create a new report or click on any available report to run it.
• Chart Colors - The colors of specific sets of data in viewed graphical reports. Once any graphical report is
rendered in ServiceNow, a list of records will be added to this table showing the attributes of what report, what
data set and what color is displayed on that report. By clicking into any of these records, you can adjust the color
used in the report.
• Color Definition - The available colors which can be accessed for graphical reports. ServiceNow comes with 143
predefined colors; you can create new ones if you choose, or use this list as a reference guide for customizing the
look of your existing graphical reports.
• Scheduled Reports - This is the list of reports that have been scheduled to run at specific times. If an individual is
receiving a report at a specific interval, this is where you'll find it scheduled.
Creating a Report
1. From the left navigation pane, select Reports > View/Run.
Note: When saving a report, avoid characters such as '&', ';', or ','.
Note: If a non-admin user is viewing a global report, clicking Update or Save will not overwrite the initial report: instead, it will
save/update a personalized version of a report belonging to the user.
Creating Reports 84
Scheduling Reports
Note: You can grant non-admin users rights to schedule reports with the report_scheduler role.
Scheduling reports is a powerful way to automate distribution of the current status of your database tables. Instead of
spending time creating Access or Excel reports and emailing them to team members or executives, you can create a
report and let ServiceNow periodically run it and email the output to the appropriate parties automatically.
1. Open a report that you want to schedule for distribution.
2. Click the Schedule at the top of the report.
3. Select the Users, Groups, or any undefined email addresses you want the report to reach.
4. Define the interval and time you want the report to be distributed at.
5. Define a subject for the email.
6. Define any text information you want to accompany the report, which is sent as an attachment to the email.
7. Choose an output Type for the report.
8. Check the Zip Outputbox send the output as a .zip file.
9. Click Submit.
Note: A scheduled report may not display any data if the report author has a deactivated user account or their role has changed. To
ensure that scheduled reports always run, verify that the Created by field always displays an active user.
Reports are distributed via email. Calendar reports are not currently supported for automatic emailing.
Available report output Type field selections are PDF, PDF-landscape, Excel, CVS, and PNG. Graphical reports
are sent as .png or .pdf files and text reports (lists) are sent as .pdf files. When scheduling a graphical report to be
emailed, select output type PDF or PDF-landscape to include the chart grid data. (Include Grid should be checked
on the report.)
A user must have Notification set to "Email" on their user record to receive reports. An exception to the above is that
an email address directly specified in the "To these addresses" field will always receive the report, even if there's a
matching user record for that address that says "Do not notify".
You can add the Include detail field by personalizing the form. Selecting the Include detail field for a list report
includes a form view for all records from the selected list in the report.
Note: To change the time zone of a scheduled report, run as a user with the desired time zone.
Creating Reports 85
Configuring Thresholds
You can modify the threshold, which determines how many bars or pie wedges are displayed in a chart, or you can
remove the other grouping entirely from your report. The Other Threshhold does not take effect if stacked fields
are specified. In Pivot Table Reports, it applies only to columns, not to rows.
Administration
The glide.ui.report_expand_header property controls who has access to expand or collapse the report header,
where a report is defined and built. It is a comma-separated list of roles. Default is public, meaning everyone. Find
this property in System Properties > UI Properties with the description, List of roles (comma-separated) that
can expand the report header. If this property does not exist in your instance, you can add a Property to the table.
Note: There is a user preference called 'report.expanded' that may override this behavior. For this property to work correctly, set the
global report.expanded user preference to false and delete all individual user preference settings for report.expanded
that override this behavior. You can manage user preferences under the User Administration application.
Sharing Reports
You can share a report with multiple groups or users starting with the Calgary release. In releases prior to Calgary,
you can share a report with only one group. To share a report with multiple groups and users:
1. From the Visible to field, select Groups and Users.
2. Add user groups or individual users in the respective fields.
Creating Reports 87
Publishing Reports
You can make a report visible to anyone - without requiring a login. Users need the report_publisher role to see the
Publish button.
1. Select the report you want to publish.
2. Click Publish.
3. Copy the link and paste it where you want to distribute it. The info message will look similar to this:
Use the following URL for the public report:
https:/ / www. service-now. com/ demo/ sys_report_display.
do?sysparm_report_id=15dfdc80c611227b0127d4d9baa00425
Notes
• If you cannot see the data of the report when logged out of the system this is probably because you do not have a
public role on the table being reported on.
• If the report has already been published, the Publish button is not available.
• You can see a list of published reports by navigating to Reports > Published Reports. This module is inactive
out-of-box. From the module, you can right-click a report in the list to see its Published URL.
• When scheduling a report, the name you enter for Run As must have permission to view the records.
Creating Reports 88
Field Description
Orientation Select Portrait or Landscape to set the layout of the resulting PDF.
Delivery Select Generate now to generate and download the report PDF directly. Select Email me the PDF to send the report PDF to a
specified email address.
Email Enter the email address to receive the exported report. This field appears only when you select Email me the PDF.
Address
Defining an SLA
Overview
Service Level Agreements (SLAs) allow the service desk to track whether or not their representatives are providing a
certain level of service. The most common use of SLAs is to ensure that incidents are resolved within a certain
amount of time.
A Service Offering SLA is an SLA that applies only to service offerings for business services (requires Service
Portfolio Management plugin and Service Portfolio Management - SLA Commitments plugin). To define a service
offering SLA, navigate to Business Services > Service Offering SLAs > SLAs.
Defining an SLA
When defining an SLA, the Duration field, in coordination with the Schedule field, is critical. For example, select a
5 day 2 hour duration and a 9-5 schedule. The 5 days and 2 hours are considered 122 hours (5x24 + 2). The 122
hours are distributed across the 9-5 schedule at 8 hours per day resulting in 15.25 schedule days (122/8 = 15.25).
To define an SLA:
1. Navigate to Service Level Management > SLA Definitions.
2. Click New.
3. Fill in the form.
Type The type of agreement being defined. This is used for informational purposes and does not change the behavior of the SLA. Choices
are:
• SLA
• OLA
• Underpinning Contract
Table The task table (table extending Task Table) whose records will be tracked by this SLA.
Workflow The SLA workflow that determines what activities occur in response to the SLA. For more information, see Creating an SLA
Workflow.
Duration Determines how the duration of the SLA will be calculated. This can be a User Defined Duration, or a Relative Duration (e.g. "end
Type of next business day.").
Duration If Duration Type is User Defined Duration, this is the length of time the SLA will run before it is marked Breached. Note: The
number of days specified in this field are converted into 24 hours. Thus, if a schedule is used (see next field) that has eight hour days,
the duration 1 Day will set the SLA to breach three business days later.
Schedule The hours during which the SLA should time. This allows SLAs to be defined which only count during business hours. For more
information, see Using Schedules.
Timezone If the SLA is defined in the SLA Properties (Service Level Management > SLA Properties) as using the SLA Definition's time
zone, this field determines what time zone the SLA will use. For more information, see Using Time Zones.
Defining an SLA 90
Retroactive Retroactive Start determines the SLA's behavior if it is attached to the task at a point later than the task's creation. If Retroactive
Start Start is true, then the SLA will time from the task's Created On date and time. If Retroactive Start is false, then the SLA will time
from the date and time that it was attached to the SLA. For example, if an Incident's Priority is changed to 1 - Critical and a Priority 1
SLA is attached at that time, Retroactive Start means that the SLA will count from when the incident was first created, rather than
from when the Incident's Priority changed.
Start Defines conditions (using the Condition Builder) which, if met, attach an SLA to a task on the table specified in the Table field and
Conditions begins the timing. Note that all conditions used to define an SLA are case sensitive.
Stop Defines conditions (using the Condition Builder) which, if met, stops the SLA's timer. If these conditions are met before the end of
Conditions the duration defined in the Duration Type and Duration fields has elapsed, the SLA's state will be set to Achieved. If these
conditions are no longer met, the SLA will not resume. However, if the Start Conditions are met again, a new SLA will attach.
Pause Defines conditions (using the condition builder) which, if met, pauses the SLA's timer. Once the conditions are no longer met, the
Conditions SLA will resume. Pause conditions are not compatible with Relative Durations.
Condition Accepts the string value of an SLA Condition Rules record to use instead of the global Condition Rules. If blank, the global rules will
class be used. For more information, see Modifying SLA Condition Rules.
Reset Defines conditions (using the Condition Builder) which, if met, completes the current SLA and starts a new one.
Conditions
Example
This example will demonstrate how to use the SLA Plugin to create a Service Level Agreement to ensure that critical
incidents logged in Paris are handled within 1 business day. This example uses the demo data within the system.
The result is that whenever an incident is listed as being Priority 1 incident in Paris, the following workflow will be
launched:
The workflow will run, pausing if the incident is awaiting user info or evidence, and will be completed if the incident
becomes inactive.
Once the incident is saved, a related list of Task SLAs will appear at the bottom, with both the Priority 1 Paris
Incident SLA and the out-of-box Priority 1 Response SLA:
Clicking on the Priority 1 Paris Incident SLA will display information about this instance of the Task SLA:
Clicking the Show Workflow link will display the workflow attached to the SLA's progress:
Defining an SLA 93
This example creates a new Urgent SLA workflow to be used for a priority one ticket.
Click Update. There is now a workflow with a beginning and end. Now it is time to specify what will happen when
the Urgent SLA workflow is triggered.
Suppose the desired process is:
• After 33% of the SLA's duration, alert the user assigned to responding to the task.
• After 66% of the SLA's duration, notify the assignee's manager.
• After 100% of the SLA's duration, notify the Customer Care representative that the SLA has been breached.
To define that process as a workflow:
1. Drag the activity SLA Percentage Timer onto the arrow between Begin and End.
2. Name the activity 33% Timer and enter 33 in the Percentage field.
3. Drag the activity Notification into the empty space below the 33% Timer activity.
4. Name the activity Notify Assignee.
5. Click the lock icon on the To field, select the variable picker ( ), and select Task SLA > Task > Assigned
To.
6. Click the yellow box on the side of the 33% Timer activity and drag to the new notification box. This creates a
second arrow from 33% Timer to the new notification:
7. Drag the activity SLA Percentage Timer onto the arrow between 33% Timer and End.
8. Name the activity 33% Timer 2 and enter 33 in the Percentage field.
9. Drag the activity Notification into the empty space below 33% Timer 2 activity.
10. Name the activity Notify Assignee's Manager.
11. Click the lock icon on the To field and select Task SLA > Task > Assigned To > Manager.
12. Click Submit.
13. Drag an arrow from 33% Timer 2 to the new notification box.
14. Drag the activity SLA Percentage Timer onto the arrow between 33% Timer 2 and End.
15. Name the activity 33% Timer 3 and place 33 in the Percentage field.
16. Drag the activity Notification into the empty space below the 33% Timer 2 activity.
17. Name the activity Notify Customer Care.
18. Click the lock icon on the To field, locate the Enter Email Address field, and enter
customercare@yourcompany.com.
19. Click Submit.
20. Drag an arrow from 33% Timer 3 to the new notification box.
The workflow should now look like this:
Creating an SLA Workflow 96
Enhancements
Berlin
The following enhancements are available as of the Berlin release:
• Notifications no longer require creating a custom business rule and event. See Email Notifications for information
on the creating notifications without creating custom business rules and events.
• Event-based notifications include the Sys ID of the user as parm1 and the user name as parm2
• The event state transferred indicates that ServiceNow rotated an event to a different shard of the Event
[sysevent] table.
Events and Email Notification 97
Business Rules
A business rule is a piece of JavaScript that you can configure to run when a record is inserted, updated, or deleted,
or as part of a table query. All business rules run either before or after the database action has occurred. Event-based
notifications add event records to the event queue using the following script logis.
If [something is true], then [add a specific event to the queue]
To create a new business rule navigate to System Definition > Business Rules and enter values for the following
fields (see table).
Name A descriptive name for your business rule. For example, Service Catalog Comments.
Table Select the appropriate database table for this business rule. For example, Request [sc_request].
Order Type the sequence in which this business rule should run. If there are multiple rules on a particular activity, then the rules will run in the
order specified here, from lowest to highest.
Active Select the check box (true) to enable this business rule.
When Select when this business rule should execute: before, at the same time, or after the database operation is complete. For example, select
after to run the business rule after completing database operations.
Insert Select this checkbox to execute the business rule when adding a record into the database.
Update Select this checkbox to execute the business rule when updating a record. For example, to update an existing Service Catalog request,
select this check box.
Delete Select this checkbox to execute the business rule when deleting a record from the database.
Query Select this checkbox to execute the business rule when querying a table.
Condition Enter a JavaScript condition under which the business rule runs. By adding the condition statement to this field, ServiceNow only runs
the logic in the Script field when this condition is true. If you decide to include the condition statement in the script, leave this field
blank.
Script Enter the JavaScript you want to run when the condition you define is true.
Events and Email Notification 98
Building a Script
The incident events business rule comes with the system and defines a number of events that can be triggered by
different actions in the Incident table.
This business rule defines several events, three of which are triggered after a record in the Incident table is inserted
or updated. The first script is:
The condition in this script requires that a change be made to the Comments field in an existing (not inserted)
incident record. If this condition is true, then ServiceNow adds the incident.commented event to the event queue.
The second condition requires that a record be inserted before the event is added to the queue.
if (current.operation() =='insert') {
The third condition is true whenever the incident record is updated (including updates to the Comments field, as
specified by the first script).
if (current.operation() == 'update')
The then part of each script, the gs.eventQueue function, adds the event to the event queue. This statement uses the
following syntax, set off with braces:
Record The record referenced when the condition in the script evaluates to true. Usually this is expressed as current, meaning the current record
the business rule is working on. If the business rule is being triggered as part of a scheduled job, use a GlideRecord argument in its place.
Parm1 Passes a string value. Notification events pass the Sys ID of the user with the gs.getUserID() method (Berlin release). Other scripts can
reference this string value as parm1 using the format ${event.parm1}.
Parm2 Passes a string value. Notification events pass the user name with the gs.getUserName() method (Berlin release). Other scripts can
reference this string values as parm2 using the format ${event.parm2}.
Event States
Events may exist in one of several states:
Events and Email Notification 100
State Description
Processed The event successfully ran. An event does not necessarily trigger any further action when processed. Additional functionality must
make use of the event.
Error The event encountered an error durring processing. This state is often caused by invalid event parameters.
Transferred The event was rotated to a different shard of the Event [sysevent] table. When an event is rotated, a duplicate record is created in the
active shard. The Transferred state was added with the Berlin Release.
Global Events
ServiceNow has a global function called global_events() that triggers from a business rule when these3 conditions
occur:
• Inserting new records
• Updating existing records
• Adding comments to an existing record
• Assigning a record to a user
• Exceeding a record's inactive timer
For example, if you add the script global.events(current) to a business rule on the change_request table,
ServiceNow automatically configures the following events:
• change_request.inserted
• change_request.updated
• change_request.commented
• change_ request.assigned
• change_ request.inactive
The business rule for global events on the change_request table looks like this:
if (current.operation() == 'insert') {
gs.eventQueue("change.inserted", current, gs.getUserID(),
gs.getUserName());
}
Events and Email Notification 101
if (current.operation() == 'update') {
gs.eventQueue("change.updated", current, gs.getUserID(),
gs.getUserName());
}
if (current.start_date.changes() || current.end_date.changes() ||
current.assigned_to.changes()) {
if (!current.start_date.nil() && !current.end_date.nil() &&
!current.assigned_to.nil()) {
gs.eventQueue("change.calendar.notify", current,
current.assigned_to, previous.assigned_to);
}
gs.eventQueue("change.calendar.notify.remove", current,
current.assigned_to, previous.assigned_to);
}
}
// Remove old calendar from current assigned to, due to date changing
else if (!current.assigned_to.nil()) {
if ((current.start_date.changes() && !previous.start_date.nil())
||
(current.end_date.changes() && !previous.end_date.nil())) {
gs.eventQueue("change.calendar.notify.remove", current,
current.assigned_to, current.assigned_to);
}
Events and Email Notification 102
}
}
Accessing Knowledge
View role-appropriate knowledge articles from these locations.
• Knowledge portal: every ServiceNow user can access the knowledge portal through one of these paths:
Self-Service > Knowledge, Service Desk > Knowledge, or Knowledge Base > View. The portal lists the most
recent articles arranged by topic.
• Knowledge base list: users who click a topic's View all items link on the knowledge portal see a list of all
articles in that topic that have not passed their valid to date. Unlike a record list, users cannot alter knowledge
base entries with the list editor.
• Global text search: users whose roles permit access to global text search can find knowledge articles along with
tasks, policies, service catalog items, and other records. Administrators can tailor which tables are searched.
• Homepages: each user has a homepage that appears by default, typically filled with reports, selected knowledge
topics, and other commonly used functions. Users can personalize and rearrange their homepage based on what
information is most useful to them.
Using the Knowledge Base 103
• Content pages: the knowledge management team can create content pages that serve as a customer interface for
the knowledge base.
• Forms that contain the knowledge icon: users can click the knowledge icon ( ) that appears in some forms to
initiate a knowledge search for the text in the adjacent field. This icon appears by default beside the Short
description field on the Incident and Problem forms. Administrators can configure other forms to include the
knowledge icon, as well.
• Reporting: users can easily generate role-appropriate reports on knowledge feedback, development, and usage in
a variety of formats. These reports can be scheduled for email distribution, or added to homepages or content
pages. Users click a report element for a list of related knowledge articles.
• Known errors: problems can be marked as known errors which adds them under Problem > Known Errors,
providing quick reference. Although items in the Problem > Known Errors module are not part of the
knowledge base, this information is important to the knowledge centered support (KCS).
In addition to the article's content, the page may show these elements, depending on administrator settings:
• Breadcrumbs that show the article's topic and category.
• Article number, date published, and date last modified.
• Feedback area with up to four feedback options and previous user comments, if any.
• List of affected products and related tasks (such as incidents or problems).
• Permalink URL that can be shared to give others quick access to the article.
Using the Knowledge Base 104
[1]
Note: Knowledge search terms are stemmed , meaning that searches may return similar words.
Responding "'No"' to the same question displays a Thank You message and opens the feedback field. This selection
may also display a Create Incident link, depending on administrator settings.
Using the Knowledge Base 105
Clicking the Create Incident link creates an incident record that contains the knowledge search that led to the
article.
In the five-star rating area, move the mouse over the stars to display a rating preview in the header. Click a rating to
select it.
Select the Flag article check box to call the article to the attention of the knowledge management team. Selecting
the Flag article check box makes the Feedback field mandatory. Enter comments to help the knowledge
management team update the article appropriately.
Using the Knowledge Base 106
References
[1] http:/ / en. wikipedia. org/ wiki/ Stemming
Creating Knowledge
Overview
The ServiceNow knowledge base houses the information an organization needs to keep and share. For example, it
might include desktop support information, company/department processes and procedures, and documentation on
internally developed applications.
Add information to the knowledge base by:
• Creating articles manually.
• Creating articles automatically from an incident.
• Creating articles automatically from a problem.
• Creating articles automatically from events.
• Linking to or importing content stored in another knowledge base.
• Publishing managed documents to the knowledge base
By default, most new articles are created as drafts and move through a review state before they are published. Some
exceptions to the standard workflow include posting news from the Problem form and creating an article from an
event.
If the administrator enables the optional knowledge submission workflow, articles created from incidents or
problems become knowledge submissions, which are processed through a different path. For more information, see
Knowledge Workflow.
Creating Knowledge 107
Number Do not modify. The record number is assigned by the system and should not be changed.
Topic Select the topic in which the article should appear in the knowledge portal. To add options, right-click the field label and choose
Personalize Choices.
Category Select a category to further organize articles in the knowledge portal. Available categories depend on the selected topic. To add
options, right-click the field label and select Personalize Choices.
Published Enter the date the article was published. The current date is used by default.
Valid to Enter the date when the article expires. Only Published articles within the valid date range are visible to most users. ServiceNow
supplies a default date. To change the default date, right-click the field label and choose Personalize Dictionary.
This field is available only to users with the admin role.
Creating Knowledge 108
Image Click the reference lookup icon ( ) to select an image that was previously uploaded to the ServiceNow database. The image
appears as an icon beside the article name in the knowledge portal.
This field is available only to users with the admin role.
Article type Select the markup language to use for formatting the article:
• HTML: the Text field offers a WYSIWYG interface with a toolbar to apply formatting and create links. Click the HTML
icon on the toolbar to display HTML mode, where you can view and format with HTML commands.
• Wiki: the Text field offers Wikitext icon that toggles between a preview of the formatted text and an edit field where you can
enter text with Wiki markup language to define formatting.
Workflow Select the workflow state for the article: Draft, Review, or Published. Generally, only Published articles appear in the portal.
Users with role-based permissions might also see articles in the draft or review state in the portal and search results, depending on
administrator settings.
This field is available only to users with the admin role.
Source Click the reference lookup icon to select the task that formed the basis for this article, if any.
This field is available only to users with the admin role.
Roles Specify user roles to limit who can view the article. Otherwise, all users can view the article after it is published.
This field is available only to users with the admin role.
Attachment link Select this check box to have this article's link open a file attachment. To upload the attachment, click the paperclip icon in the
upper right corner. The link in the knowledge portal or search results opens the attachment instead of navigating to the text of the
article. You can link to one attachment per article.
This field is available only to users with the admin role.
Display Select this check box to display a list of attachments below the article. Although you can link to only one attachment (see the
attachments Attachment link field), you can attach multiple files and list them below the article in article view.
This field is available only to users with the admin role.
Short Enter text to appear as a title for the article in the knowledge portal and search results.
Description
Text/Wiki Enter the text of the article. This area accepts either HTML or Wiki Markup, according to the selected Article type. If Article
type is HTML, you can work in WYSIWYG mode, using the toolbar above the text field to apply formatting and create links.
Click the HTML icon on the toolbar to open HTML mode, where you can view and format the text with HTML commands. See
Using HTML Fields for information on using the HTML editor.
If Article type is Wiki, click the Wikitext icon to toggle between an edit field and the formatted text. See Knowledge
Management Wiki Support for information on using wiki tags.
Update Click the Update button to save any changes made to the form and return to the article list. To save changes and stay on the form,
right-click the header bar and choose Save.
Mark Public / Click the Mark Public button to make the article accessible to everyone. This action sets public as the role for the article.
Mark Internal Click the Mark Internal button to make the article accessible only to the roles specified by the administrator. If no roles are
specified, the article is available to the public and there is no change.
Search for Click this button to search the knowledge base for existing articles that contain similar content.
Duplicates
Delete Click this button to delete the knowledge article from the system. You must confirm the request before the record is deleted.
Creating Knowledge 109
Communicating a Workaround
To update all incidents associated with a problem, go to the Problem form and click the Communicate
Workaround related link. This adds the problem number and the contents of the s Workaround field as a new
entry in the Activity field on all related incidents.
By default, any entries made in an incident Activity field generate an email notification to the Caller on the Incident
form. The Communicate Workaround option on the Problem form quickly and easily communicates workarounds
to multiple users from one place, eliminating the need to manually update each incident.
If group on-call rotation scheduling is in effect when you communicate a workaround, ServiceNow stops the
escalations on the associated incidents because the workaround has been communicated to the end users.
This effectively communicates knowledge to the appropriate audience, but does not create a knowledge article.
Posting Knowledge
To create a new knowledge article from a problem immediately, rather than when the problem closes, go to the
Problem form and click the Post Knowledge related link. The resulting knowledge article contains the following
information:
• The problem number and Short description become the knowledge article Short description.
• The problem Description and Work notes become the knowledge article Text.
• The problem Configuration item becomes the knowledge article Configuration Item for the Affected Products
related list.
• The article Topic is set to Known Error.
By default, ServiceNow creates a knowledge article in Draft workflow state. If the knowledge submission workflow
is enabled, the problem Short description and Work notes are placed into a knowledge submission instead of an
article. For more information, see Knowledge Workflow.
Creating Knowledge 112
Posting News
To quickly create and publish a knowledge article in the News topic, go to the Problem form and click the Post
News related link. The resulting knowledge article contains the following information:
• The problem number and Short description become the knowledge article Short description.
• The problem Description and Work notes become the knowledge article Text.
• The problem Configuration Item becomes the knowledge article Configuration Item for the Affected Products
related list.
By default, the Post News related link creates an article in the Published workflow state. These articles appear in
the News topic of the knowledge portal immediately.
If the knowledge submission workflow is enabled, the problem Short description and Work notes are placed into a
knowledge submission instead of an article. For more information, see Knowledge Workflow.
Property Description
Label for knowledge portal page search site drop-down. Enter label text to identify the ServiceNow knowledge base as
(glide.knowman.name) the location to be searched. When a user clicks the Advanced
search link, the filter fields include an option for what to search.
By default, users can choose to search the ServiceNow
knowledge base, identified by this label, or the ServiceNow wiki,
or selected other search sites.
Number of columns on Knowledge portal pages. Set the number of columns for arranging topics on the knowledge
(glide.knowman.columns) portal.
Omit empty Knowledge topics and categories. Select the Yes check box to display topic sections only if there
(glide.knowman.show_only_populated) are articles for the topic. Clear the check box to show all topic
sections, even those with no assigned articles.
Show Knowledge section descriptions. Select the Yes check box to display topic descriptions in the
(glide.knowman.show_descriptions) knowledge portal. To enter these descriptions:
1. Edit an existing knowledge article.
2. Right-click the Topic field label and choose Show Choice
List.
3. Open the record for the topic name and enter the description
into the Hint field.
Clear the check box to omit section descriptions from the
knowledge portal.
Number of Knowledge Base items to preview in a section. Set the maximum number of articles per topic for the knowledge
(glide.knowman.section_limit) portal. The specific articles shown depends on the Knowledge
section sort field property setting.
Configuring Knowledge Properties 114
Knowledge section sort field. (glide.knowman.section_sort) Select the default order for articles within each topic section on
the knowledge portal.
• Published: uses the date published.
• View count: uses the number of times articles have been
viewed during the period specified in the Number of days
used when summing article views property.
• Alphabetically: uses the first letter of the article title (Short
description field).
Knowledge Base section sort direction. Select the order, ascending or descending, in which articles are
(glide.knowman.section_sort_direction) listed within each topic section on the knowledge portal. The
value used for sorting is set in the Knowledge section sort field
property.
Show unpublished articles in Knowledge Base portal and topic lists. Select the Yes check box to allow users to see unpublished
(glide.knowman.show_unpublished) articles in the knowledge portal and knowledge search results.
Use the subsequent List of roles... properties to designated which
users can see articles in various unpublished states. If this is not
selected, users with appropriate roles can access unpublished
articles through other modules of the Knowledge Base
application.
List of roles (comma separated) that can see articles in the Review workflow Enter role names exactly as they appear in User Administration
state in the Knowledge portal and Topic list. > Roles. If Show unpublished articles in Knowledge Base
(glide.knowman.section.view_roles.review) portal and topic lists is selected, users with these roles see
articles in the Review workflow state in the knowledge portal, in
the topic list that appears when they click a topic title on the
portal, and in knowledge search results.
List of roles (comma separated) that can see articles in the Draft workflow state Enter role names exactly as they appear in User Administration
in the Knowledge portal and Topic list. > Roles. If Show unpublished articles in Knowledge Base
(glide.knowman.section.view_roles.draft) portal and topic lists is selected, users with these roles see
articles in the Draft workflow state in the knowledge portal, in
the topic list that appears when they click a topic title on the
portal, and in knowledge search results.
Show only Knowledge topic titles on portal page (no article links). Select the Yes check box to omit all article titles from the
(glide.knowman.home_titlesonly) knowledge portal and show only the topic names. Users can click
the topic title to see the list of related articles.
Number of days (integer, default 30) used when summing article views. Views Enter a number of days to consider when calculating view count.
older than this are not considered when sorting articles based on view count. 0 This is used only when the Knowledge section sort field
means consider all views. (glide.knowman.view_age.days) property is set to View count. Enter 0 to have ServiceNow
consider all views, regardless of date.
Preview article when hovering over icon in portal. Select the Yes check box to have ServiceNow display article
(glide.knowman.show_preview_popup) number, date published, last date modified, and user comments
when a user points to the article icon.
Automatically place cursor in Knowledge portal search box. Select the Yes check box to have ServiceNow place the cursor in
(glide.knowman.portal_search_focus) the search field when a user opens the knowledge portal. Clear
the check box to have users click in the search field before
entering a search term.
Configuring Knowledge Properties 115
Property Description
Show affected products when viewing an article. Select the Yes check box to have article view include a
(glide.knowman.affected_products.display) list of products associated with the article content.
Products shown are defined in the Affected Products
related list of the article's Knowledge form.
Show tasks to which an article has been recently attached. Select the Yes check box to have article view include a
(glide.knowman.recent_tasks.display) list of tasks associated with the article. Knowledge
articles can be attached to a task by clicking the Attach to
Task button after searching from a form.
Number of attached tasks to display when viewing an article. Specify the maximum number of tasks to list in article
(glide.knowman.recent_tasks) view.
Show article rating section, which may optionally include yes/no rating, star rating, and Select the Yes check box to display the rating options for
flagging options. (glide.knowman.show_rating_options) users with specific roles. Clear this check box to omit the
rating section for all users, regardless of role.
The Feedback field is always displayed for all users.
List of roles (comma separated) that can see an article's rating section, which may Enter role names exactly as they appear in User
optionally include yes/no rating, star rating, and flagging option. Administration > Roles. If Show article rating
(glide.knowman.show_rating_options.roles) section... is selected, users with the roles listed here see
the yes/no rating, star rating, and flagging options,
according to related property settings.
Be sure to include all roles that should be permitted to see
any of these rating options. Separate properties enable
you to identify specific roles for each option separately.
All roles in those properties must also be listed here.
Show the "Was this article helpful?" yes/no rating option. Select the Yes check box to display the "Was this article
(glide.knowman.show_yn_rating) helpful?" rating to users with roles set in the associated
property. This appears only if the Show article rating
section... property is selected.
List of roles (comma separated) that can see yes/no "Was this article helpful?" rating Enter role names exactly as they appear in User
option. (glide.knowman.show_yn_rating.roles) Administration > Roles. If both Show article rating
section... and Show the "Was this article helpful?"
properties are selected, users with the roles listed here see
the "Was this article helpful?" rating in article view.
All roles listed here must also be listed in the List of
roles that can see an article's rating section..."
property.
Show "Create Incident" link after a Knowledge article is rated not helpful. Select the Yes check box to display the Create Incident
(glide.knowman.create_incident_link.display) link after a user rates an article as not helpful.
URL used for the "Create Incident" link after rating a Knowledge article not helpful. Enter the URL for the page where users can create an
(glide.knowman.create_incident_link) incident only if the Show "Create Incident" link..."
property is selected.
To find the URL, open the appropriate page, then
right-click the header bar and choose Copy URL.
Highlight the URL that appears and use the browser's
copy and paste feature to place it into this property field.
Configuring Knowledge Properties 116
Show five-star rating option. (glide.knowman.show_star_rating) Select the Yes check box to display the five-star rating to
users with roles set in the associated property. This
appears only if the Show article rating section...
property is selected.
List of roles (comma separated) that can see five-star rating option. Enter role names exactly as they appear in User
(glide.knowman.show_star_rating.roles) Administration > Roles. If both Show article rating
section... and Show five-star rating option properties
are selected, users with the roles listed here see the
five-star rating option in article view.
All roles listed here must also be listed in the List of
roles that can see an article's rating section..."'
property.
Show "Flag Article" option to identify incomplete/inaccurate articles. Select the Yes check box to display the flag article option
(glide.knowman.show_flag) to users with roles set in the associated property. This
appears only if the Show article rating section...
property is selected.
List of roles (comma separated) that can flag incomplete/inaccurate articles. Enter role names exactly as they appear in User
(glide.knowman.show_flag.roles) Administration > Roles. If both Show article rating
section... and Show "Flag Article" option properties are
selected, users with the roles listed here see the flag
article option in article view.
All roles listed here must also be listed in the List of
roles that can see an article's rating section...'"
property.
Show "Link" URL in Knowledge articles. (glide.knowman.show_links) Select the Yes check box to have article view include the
Permalink URL that links directly to the article. Users can
easily copy the URL and share it with others.
Show user comments on knowledge articles. Select an option for showing user comments When
(glide.knowman.show_user_feedback) article loads, When user clicks link to show comments,
or Never for users with roles set in the associated
property:
List of roles (comma separated) that can see user comments on an article. Enter role names exactly as they appear in User
(glide.knowman.show_user_feedback.roles) Administration > Roles. If the Show user comments on
knowledge articles property is selected, users with the
roles listed here see user comments in article view.
Maximum number of user comments displayed on a knowledge article. Set a maximum number of user comments to display.
(glide.knowman.feedback.display_threshold)
Property Description
Display advanced search options. Select an option for displaying advanced search options on
(glide.knowman.advanced_search_options) knowledge pages.
• Collapse/expand advanced search: displays a link that
allows users to show or hide the advanced search options as
needed.
• Always hide advanced search: prevents users from
accessing the advanced search options.
• Always display advanced search: shows the advanced
search options at all times.
Number of Knowledge search matches returned. Set the maximum number of results to return after any search to
(glide.knowman.search.rowcount) prevent performance problems that can occur with unregulated
searches.
Knowledge search result order. (glide.knowman.order.search) Select the order for displaying search results:
• Number of Views: orders search results based on the
Number of days used when summing article views
property.
• Relevancy: orders search results based on content that is
similar to the search term.
• Last Modified: orders search results based on modification
date.
Show "Refine results" section on Knowledge search results page. Select the Yes check box to have the search results page include
(glide.knowman.show_refine_results) the area that lets users filter the results by topics and categories.
Search method used when searching Knowledge from a task or directly in the Select the search approach to use when the search term includes
Knowledge Base... (glide.knowman.search.operator) multiple words.
• OR query: returns articles that contain at least one word
from the search term.
• AND then OR query: first searches for articles that include
all words in the search term (an AND query). If no matches
are found, an OR query is performed.
Property Description
When attaching an article to an incident, copy the content into this When a user searches knowledge from a task form (incident, problem, change
field. (glide.knowman.attach.fields) request, or other) and clicks the article's Attach to Task button, the system
copies the article number and content into the field specified here. For more
information, see Customizing the "Attach to Task" Button.
Knowledge Management logo to display if running out of the Click the reference lookup tool ( ) and choose an image file to be displayed
Service-now.com frames. on knowledge pages that are used outside of the ServiceNow application
(glide.knowman.frameless_logo) frames. For example, the logo image selected here appears if you create a
Content Management System site that includes knowledge pages.
Use submission workflow. Select the Yes check box to use the knowledge submission workflow instead of
(glide.knowman.submission.workflow) the standard knowledge workflow. If this option is selected, each time a user
creates knowledge from an incident or problem, the content is placed into a
submission record instead of a draft article. Transforming knowledge
submissions into articles follows a specific workflow.
118
Domain 4
Field Description
Category Select a category for the item. Catalog searches only find items that are assigned to a category.
Workflow or Select either a workflow or an execution plan (formerly named delivery plan) to define how the item request is fulfilled. If
Execution Plan you select a workflow, the Execution Plan field is hidden. Clear the Workflow field to select an execution plan.
Price Set a price for the item and select the currency from the choice list.
Recurring Price Set a price that occurs repeatedly at a regular interval. For example, a printer maintenance service could have a $100.00
monthly recurring price. For details, see Setting Recurring Price.
Recurring Price Select the time frame for recurrence only if the Recurring Price field has an entry. For example, Monthly or Annually.
Frequency
Omit Price on Cart Select this check box to hide the item price in the cart and the catalog listing. See Hiding Prices in the Service Catalog.
Active Select this check box to make this item active (available to be ordered).
Icon Upload a 16x16 pixel image to appear as an icon beside the item name in the catalog. If no image is uploaded, the default icon
appears beside this item.
Preview Link Click Preview Item to preview (in a new window) how the current item definition would look in the catalog.
Short Description Enter text that appears on the service catalog homepage, search results, and the title bar of the order form.
Ordered Item Link Specify the record defining a link to more information, as shown on the ordered item screen. See Adding Ordered Item Links
for more details.
Description Enter a full description of the item. This description appears on the item page and when a user points to the item's icon in the
catalog.
Template [Available for Record Producer items only] Select a template to populate the generated record with predefined values.
No quantity Select this check box to hide the quantity selector for the item. See Hiding the Shopping Cart and Catalog Item Quantity.
No cart Select this check box to hide the shopping cart for the item. See Hiding the Shopping Cart and Catalog Item Quantity.
Related Lists
Variables Define variables for the item to provide options for ordering the item. See Using Service Catalog Variables.
Variable Sets Link an existing variable set to the item to provide multiple options for ordering the item. See Service Catalog Variable Sets.
Approved By Add the groups that have to approve requests for this item. See Approval Rules.
Group
Approved By Add the users who have to approve requests for this item. See Approval Rules.
Additional Add any aditional categories associated with this item, besides the category selected on the form. See Assigning Multiple
Categories Categories.
Defining Catalog Items 120
If multiple items with the same recurring price frequency are placed in the same shopping cart, they are grouped
together. The grouping makes it easier to see how much items cost for each frequency (for example, weekly,
monthly, and annually). If the shopping cart contains items with and without recurring costs, they are grouped
separately.
Defining Catalog Items 121
On a Request record, recurring prices are grouped by frequency and shown in the Recurring Prices related list. In
the example below, two items each have a monthly recurring cost of $100.00 and their prices are grouped as a single
record of $200.00 monthly. Another item with an annual recurring cost of $500.00 is listed as a separate record.
If a Request record contains multiple items with the same recurring frequency, click the arrow next to the
corresponding Recurring Prices record to view details. In the example below, two items (the mobile phone and the
sales laptop) each have a monthly recurring cost and are grouped together under the Monthly Recurring Prices
record, but listed separately when the Recurring Prices record is expanded. Only one item has an annual recurring
cost.
Defining Catalog Items 122
Record Producer
Overview
A record producer is a specific type of catalog item that allows end users to create task-based records (such as
incident records) from the service catalog. Record producers provide a simplified alternative to the regular
ServiceNow form interface for creating records.
Note: ServiceNow does not recommend creating Requested Item records from record producers. Requested Item records should only
be created using catalog items.
Field Description
Script Scripts that should be run to dynamically assign values to specific fields on the created record.
producer.redirect="home.do";
Using Service Catalog Variables 127
Variable Definition
Field Description
Include none An option to include or exclude None as a selection choice for the variable (available for some variable types only).
Show help [Optional] An option for providing additional information when the user requests it. See Defining Help Information for
information about setting up this additional information.
Mandatory An option for making the variable mandatory as part of the ordering process.
Global An option to show the variable in all catalog tasks within service catalog workflows or execution plans by default. The variable
must be attached to individual catalog tasks if this option is not selected.
Using Service Catalog Variables 128
Visible An option to display the variable on other types of catalog items (such as content items and record producers)
Elsewhere
Applying Roles
Apply role-based restrictions to a catalog variable to control which users can create, write (update), read, and delete a
value for the variable.
This example shows that, for the the CPU Speed variable used by the Executive Desktop catalog item, only users
with the itil role can write (update) or create a value for that variable.
Note: You may need to personalize the variable form to add the Create / Read / Update / Write roles fields
To add role-based restrictions to a variable, click the lock icon by each field and select the roles that should have the
associated access to a value for the variable:
Using Service Catalog Variables 130
Question choice
Service Catalog Order Guides 131
Note: These variables must have corresponding variables defined in the relevant catalog items. See Cascading Order Guide
Variables for more information.
Creating Rules
The rule base lists all the rules that apply to the order guide. These rules determine the conditions under which items
are included in the order guide.
To create rules for an order guide:
1. Open the order guide definition.
2. In the Rule base related list, click
New.
3. Set these values:
• One or more conditions that
Rule base must be true for this rule to
apply.
• The item to include in the order guide if this rule is true.
• The position within the order guide to place this item.
4. Click Submit.
Service Catalog Order Guides 133
Example 1
Example of use
This example shows an order guide in
operation.
1. The system prompts the user for
information:
Example 2
Order guide
Service Catalog Order Guides 134
Order guide
Order guide
Service Catalog Order Guides 135
Order guide
3. Fill in the New Workflow form (see the table for field descriptions).
4. Click Submit.
ServiceNow displays a graphical representation of the new workflow that shows an Activities pane on the
right.
Defining a Service Catalog Workflow 137
Table Requested Item [sc_req_item] Please keep the following information in mind:
• Workflows on the Service Catalog Requested Item [sc_req_item] table should fulfill the request of a single catalog item. Each
requested item can trigger its own fulfillment workflow, which runs when those specific items are ordered. We recommend you
use this table for workflows for requested items.
Note: To enable approval-type workflows to operate smoothly, make sure that the appropriate users have the correct role,
and that the role grants access to the necessary tables for users in all the relevant departments and domains.
• Workflows on the Request [sc_request] table always run when a service catalog request is made, regardless of what item was
ordered. These workflows usually control the entire request process, which may involve delivering several parts (the request
items). So Request table workflows are not usually assigned to a specific item from the maintain item form. If you do use the
Request table for service catalog requests, you should add conditions to the workflow to make sure it only runs when the correct
item is requested.
Run after bus. Select this check box. This is required to assure that a workflow with approvals runs properly. If this field does not appear, it must
rules run be added. To personalize this form, submit it, then navigate to Workflow > Workflow Versions, select one of the workflows, and
personalize the form as normal.
Expected Days 7 Hours 00:00:00. Because workflows cannot calculate the end time (not all of the activities within the workflow have defined
time times), the Expected time on the workflow becomes the Delivery Time on the catalog request.
3. Click Submit.
4. Expand Utilities in the Activities pane and drag the activity Set Values to the space below the approval.
5. Drag from the yellow box beside Rejected on the Approval - User activity to the new Set Values activity.
6. Drag again from the yellow box beside Always on the Set Values activity to End.
Defining a Service Catalog Workflow 138
This activity marks the request as rejected if the manager rejects the request and then ends the workflow.
7. Fill in the form that appears with:
• Name: Rejected
• Stage: Completed
• Set These Values: Approval and Rejected
8. Drag the activity Set Values onto the the arrow between Approval - User and End, and the fill in the form.
This activity marks the request as approved if a manager approves it.
• Name: Approved
• Stage: Fulfillment
• Set These Values: Approval and Approved
9. Drag the activity Create Task onto the arrow between Approved and End, and then fill in the form.
This task tells Procurement to procure a laptop for the user.
• Name: Laptop Procurement
• Stage: Fulfillment
• Task type: Catalog Task [sc_task]
• Priority: 3 - Moderate
• Fulfillment group: Procurement
• Short description: Procure a Laptop
10. Drag the activity Notification onto the arrow between Laptop Procurement and End, and then fill in the form.
This task informs the requester that their laptop has been procured.
• Name: Procurement
• Stage: Fulfillment
Defining a Service Catalog Workflow 139
• To: Click the lock icon ( ), and then click the variable picker icon ( ). Select Request > Requested For.
• Subject: Your laptop has been procured.
11. Drag the activity Create Task onto the arrow between Procurement and End, and then fill in the form.
This task tells Hardware to configure the laptop and prepare it for use.
• Name: Set Up Laptop
• Stage: Fulfillment
• Task Type: Catalog Task
• Priority: 3 - Moderate
• Fulfillment Group: Hardware
• Short Description: Set Up Laptop
12. Drag the activity Create Task onto the arrow between Set Up Laptop and End, and then fill in the form.
This task tells the requester to come pick up the laptop.
• Name: Pick Up Laptop
• Stage: Delivery
• Task Type: Catalog Task
• Priority: 3 - Moderate
• Assigned to: Leave this field blank. The Advanced script assigns this task to the user who requested the item.
• Short Description: Pick Up Laptop
• Advanced: Select the check box and set the Advanced Script value to:
task.assigned_to=${current.requested_for};
13. Drag the activity Log Message onto the arrow between Pick Up Laptop and End, and then fill in the form.
This leaves a message in the log to record the successful completion of the workflow.
• Name: Delivered
• Stage: Completed
• Message: The laptop delivery workflow is complete.
See Approval and Rollback Activities for more information about activities.
Defining a Service Catalog Workflow 140
Domain 5
Enhancements
Calgary
The following enhancements have been added as of the Calgary release:
• You can now change the Active field on a tracked table and still receive subsequent upgrades to the rest of the
record.
• A new dictionary attribute (update_exempt) allows you to specify additional fields that you can change
without skipping subsequent updates to the rest of the record. See Excluding Fields from Updates.
• A new field (replace_on_upgrade) in the Customer Updates [sys_update_xml] table determines whether a record
with customer changes should be upgraded to the next software version. This field works with the new
update_exempt dictionary attribute, which allows you to exclude fields from updates.
• Update records are modified to include application file records. This feature allows update sets to track and
transfer the customized record and its file record in a single update record. Preview and compare do not detect
differences in application files, and application file records on the target system are automatically overwritten
when you commit an update set.
• You can navigate between a customer update record and the customized object or the application file for the
object.
• When you preview a remote update set, the message now indicates whether errors or warnings are detected.
• If any changes are marked as Skip, a confirmation message appears when you commit the update set.
• Update sets preview now indicates an error if a type mismatch is detected between a column on the target instance
and in the update set.
• Changes that will result in data loss are automatically skipped when you commit an update set. A warning is
added in the update log when a change is skipped.
System Update Sets 142
Aspen
The following enhancements have been added as of the Aspen release:
• You can now compare versions and revert changes to objects on a table with the update_synch attribute
(such as business rules). See Comparing Versions. The Versions [sys_update_version] table has been added to
support this feature.
• The preview function now detects a Problem if an updated object does not exist on the local system or in the
current update set. See Resolving Problems. The Update Problems [sys_update_preview_problem] table has been
added to support this feature.
• The BaseLine update set has been removed.
• A new access control rule restricts the ability to delete update sets.
• A warning message now appears when a Customer Update (sys_update_xml) entry is deleted.
• Customer updates (sys_update_xml records) with no Update Set value are no longer ignored during an upgrade.
• Reports are available for tracking customer updates. See Reporting on Updates.
• A UI Policy has been added to make sys_m2m (many-to-many) fields mandatory.
Warning: Do not add the update_synch attribute to a dictionary record. When improperly used, this attribute can cause major
performance issues or cause the instance to become unavailable.
System Update Sets 144
Special Handlers
Some changes require special handlers because they represent information on multiple tables. These changes are
packaged into one update set entry so that all records are properly updated when the customization is committed. The
following changes are tracked with special handlers:
• Workflows
• Form sections
• Lists
• Related lists
• Choice lists
• Content pages (in Content Management)
• Database changes
• System dictionary entries
• Field labels
Note:
• Values for excluded fields are not retained when you revert customizations to a default software version. For example, you
activate a UI macro and change the XML script. Later, a software upgrade contains a feature for the macro that you would like to
implement, so you revert your customizations. The default version replaces the entire customized version, and you now need to
reactivate the macro.
• If you also change a field that is not update_exempt, then updates are skipped for the entire record (the entire customization is
preserved during upgrades).
System Update Sets 145
To remove the Update Set picker, navigate to System Update Sets >
Disable Update Set Picker. To restore it, navigate to System Update
Sets > Enable Update Set Picker.
By default, only administrators can use the Update Set picker. To grant
Update Set Picker access to additional users:
1. Navigate to sys_properties.list.
2. Create a new property:
• Name: glide.ui.update_set_picker.role
• Value: enter the role that has access to the Update Set picker (in addition to administrators).
Note: This property accepts only one role. To give access to multiple roles, create a new role (example,
update_set_picker) and include that role in the roles that need access.
3. Click Submit.
Suppressing Versions
Administrators can suppress entries in the Versions table by setting a property.
1. Navigate to sys_properties.list.
2. Create a new property:
• Name: glide.update.suppress_update_version
• Type: string
• Value: enter a comma-separated list of tables for which updates are not tracked in the Versions
[sys_update_version] table. You cannot compare and revert versions for tables in this list. The default value is
sys_user,sys_import_set_row.
Getting Started with Update Sets 147
Field Description
Name Enter a unique name for the update set. You can use naming conventions to organize update sets. For example, add the problem
number to the name of the update that fixes it, or use sequence numbers to keep track of the order in which update sets need to be
committed. To learn more, see Getting Started with Update Sets.
Created By Automatically populates your user name when you submit a new update set record.
Created Automatically populates the timestamp when you submit a new update set record.
Release Date Enter the date on which you plan to release the update set.
My Current Select the check box to add your customizations to this update set. This field does not apply to all users; it only applies to the user
Set who selects it.
The Update Set Picker is a better method for choosing a current set because it appears at the top of the page and allows for easy
switching between In Progress update sets.
Comparing Versions
You can compare versions of any object for which changes are tracked,
Update Set Picker
such as a form, list, or business rule. This feature is available with the
Aspen release. Administrators can suppress versions for specific tables.
To compare versions of an object:
1. Use one of the following methods to view a list of versions for an object.
• For forms or lists, right-click the header and select Personalize > Form Layout or Personalize > List
Layout. Under Related Links click Show Versions.
• For tables that use the update_synch attribute (such as business rules), add the Versions related list to the form.
2. Select the check boxes next to the two versions to compare.
3. In the Actions on selected rows list, select Compare. A
comparison appears. Deletions are highlighted in red, additions in
green, and modifications in yellow.
Note: Click Revert to this Version to revert to the older version of the object. This option is available only when changes can be
reverted (see Reverting Changes).
Using Update Sets 151
Reverting Changes
You can revert changes, if needed. This feature is available with the Aspen release.
To revert changes:
1. View a list of versions for an object (see Comparing Versions).
2. Right-click a version and select Revert to this version.
3. Click OK to confirm the action.
The selected version becomes the current version.
Note:
• You can compare versions before reverting a change.
• You cannot revert database changes.
• You can revert to the most recent out-of-box version. You cannot revert to an older out-of-box version.
• The application file record for the object by clicking the Show Application File related link.
Using Update Sets 152
Reporting on Updates
Run a report to view the
customizations to an instance.
To view update set reports:
1. Navigate to Reports > View / Run
and locate the Customer Update
section.
2. Run any of the available reports or
create a new report. The following
Show Latest Update reports are available with the Aspen
release.
• Application Changes (Incident): displays all changes made to the incident table. Select a different table and
run the report again to view all changes to another application.
• My Changes: displays all changes made by the current user, grouped by table name.
• If the same object is updated in both sets (for example, both update sets modify the Incident form), only the
most recent change is moved to the merged update set. The other update remains in its original update set to
provide a record of the changes that were not moved. You may want to validate that the correct changes were
moved to the new set by viewing the update set.
• After merging and validating, it is a good idea to delete or empty the original update sets to avoid committing
an older change by mistake. The system does not remove the updates that were not merged into the new set.
Merge update sets 1. Navigate to System Update Sets > Local Update Sets.
6. Resolve the collision by deleting the unwanted update record from one of the update sets.
a. Click the link in the Sys update column for the unwanted update (sys_ui_list_incident_null in our
example).
b. Click Delete.
Note: You must open the update record to delete the record. You cannot delete the update by selecting
the check box beside the entry in the Update Set Collisions list and using the Delete action. When you
delete the update record, the customization is not backed out of the instance. Only the record of the
customization is deleted.
Using Update Sets 154
7. Run the comparison again to make sure all the collisions have been resolved.
Understanding Collisions
A collision is an update that has a newer update locally.
Most updates are compared by name, except for table records that have a different "sys_id" on another system as part
of their name. This does not include table records in the base system or table records created in one system and
moved to another system, but only table records created separately in each system.
Some of these records may include:
• System Properties [sys_properties] table
• Configuration Item tables
• Knowledge Base tables
• Report tables
• Homepage Admin tables
• Service Catalog tables: Category [sc_category] table and Catalog Items [sc_cat_item] table
• System Policy tables: Email Notifications [sysevent_email_action] table and Assignment Rules
[sysrule_assignment] table
• System Definition tables: Application Menus [sys_app_application] table, Business Rules [sys_script] table, and
Client Scripts [sys_script_client] table
Using Update Sets 155
• Password: enter the password for the username specified. The user account specified must have the admin
role.
• Short Description: enter any other relevant information about the data source.
ServiceNow displays a preview of the selected update set and compares the changes with retrieved and local
update sets in the instance. If a change is shared by another update set, the change is marked with one of the
following Dispositions, depending on which change is the newest:
• Update
• Insert
• Delete
• Collision/Update
• Collision/Insert
• Collision/Delete
A change appears as a collision in the update set you are viewing if the change is older than the same change
in another update set. Newer changes in the current update set are marked as updates. In the following
example, Incident Release 1 is the retrieved update set. The Update Set Preview shows a Collision/Update
between the change to the Change Request form sections in the Incident Release 1 update set and a newer
change in the Production Incident update set. Conversely, the change to the Change Request form layout in
the Incident Release 1 update set is newer than the same change in the local Production Incident update set
and is marked as an Update.
4. To view the conflicting updates, click the highlighted collision link in the Disposition column.
The two versions of the record are displayed with the differences marked by a color key. The change types are:
Modified, Added, or Removed.
Transferring Update Sets 158
5. To resolve the collision, select either Commit or Skip from the list in the Proposed action field.
Remember that the perspective here is that of the retrieved (remote) update set, and this action either accepts
or rejects the change from the remote update set. The default proposed action for resolving a conflict is Skip.
Resolving Problems
The preview function detects a problem if an updated object does not exist on the local system or if the object exists
in another update set that has not been applied. For example, an update modifies the form layout for a table that has
not been created in the local instance. Resolve all problems before committing an update set to an instance.
This feature is available with the Aspen release.
To resolve problems:
1. Preview the update set. Problems are noted in the Problem column of the Update Set Preview list, as follows:
• Error: the object does not exist on the system. Note that this function compares the display name and not the
sys_id for groups. Alternately, a type mismatch is detected between a column on the target instance and in the
update set (Calgary release). For example, the target instance has a field called due_date of type date and the
retrieved set has the same field with a type string.
• Warning: the object exists in another remote update set that has not been applied.
2. Open a preview entry for which a problem is detected.
3. View the Update Problems related list to see what objects are
missing or mismatched.
Problems detected in an update set
You may need to personalize the form to add the related list.
Transferring Update Sets 159
When you have previewed the update set and resolved any conflicts or problems, commit the update set.
1. Navigate to System Update Sets > Retrieved Update Sets and select the update set from the list.
2. Click Commit Update Set.
3. If any updates have a proposed action of Skip, a confirmation message appears when you commit the update set
(Calgary release).
• Click Cancel to return to the preview and reevaluate the change. None of the updates are applied.
• Click OK to skip the change and continue committing the changes that are marked as Commit.
A progress screen appears and displays a completion message when the update set has been successfully
committed.
Transferring Update Sets 160
4. [Recommended] Change the State of the update set to Ignore when you are no longer working on it but do not
want it to be transferred to another instance.
You should always set completed update sets on the production instance to Ignore. This state ensures the
update set is not reapplied when cloning the instance.
5. [Recommended] Navigate to System Update Sets > Update log and look for warnings that contain unsafe edit
(Calgary release).
The system automatically skips any changes that will result in data loss, such as changing the type of a field
that contains data. You must manually make any of these changes, if necessary. Use caution when making
changes that affect production data.
A new field The field is dropped from the database, deleting any data on it.
A deleted field The field is restored to the database, restoring any lost data.
A resized field The field resize is reversed. If the field has been increased, data is truncated first to avoid errors.
The Back Out button is available only on the most recent update set.
Transferring Update Sets 161
If backing out an update set as described above is not sufficient, another solution is to create and commit a new
update set to reverse the customizations.
Release Terminology
Release Type
ServiceNow uses the concept of a family for a given feature set. A family includes all versions, patches, and hotfixes
for a feature release. For example, Aspen Patch 1 Hotfix 2 is in the Aspen family.
This table defines the types of releases that may be available in a family.
Patch • Supports existing functionality with a collection of problem fixes. • Applied as needed on a per customer basis.
release • Includes all previously issued hotfixes for a given release. • ServiceNow provides patches for the current and
• Does not include new features. previous two feature releases.
Hotfix • Supports existing functionality with a specific problem fix for a • Applied as needed on a per customer basis.
feature release. • ServiceNow provides hotfixes for the current and
• May not include any previous fixes for a given release. previous two feature releases.
• Does not include new features.
1
A feature provides a complete solution that customers can implement to add value to their organization. New
features are only available as part of a feature release. Features are supported with patches and hotfixes.
Release Availability
Customers can upgrade instances to current releases. Current releases may be in a state of general availability (GA)
or controlled availability (CA). The following table explains the differences between GA and CA.
All releases are supported with patches and hotfixes for the current release and two prior feature releases.
Fully supported with patches and hotfixes for the current release and two prior feature
releases
ServiceNow introduces a new upgrade process as of the Aspen release. For the first time, early adopters have an
opportunity to install this release before it becomes generally available. Also, upgrades occur over a window of
several weeks, rather than all at once. Customers receive notification before upgrades.
Customizations
Customer customizations are typically preserved by the upgrade process by the following mechanism.
• When an object is customized, a corresponding record is added in the Customer Updates [sys_update_xml] table.
This table maintains the current version information for all objects that have been customized.
• To prevent customizations from being overwritten or broken by system upgrades, the upgrade process
automatically skips changes to objects that have a current version in the Customer Updates table.
You may want to overwrite certain customizations when a software upgrade contains a feature that you would like to
implement. To revert a customized object to the system default version, see Reverting Customizations.
Upgrades and the Release Cycle 164
Confirming an Upgrade
To confirm that a recent upgrade to a
feature release has been performed:
1. Navigate to System Logs > Events
and find the event
system.upgraded. This event can
trigger the System Upgraded
notification. If the event has a State
of error, the notification is not sent;
View Stats or point to the header logo however, the upgrade may have
completed successfully.
2. Navigate to System Diagnostics > Upgrade Log and locate the message "Notifying HI that upgrade has been
completed."
Note: To confirm that a patch has been applied, find the system.patched event. You can create a notification for this event; it is not
available by default.
FAQ
If our instance is more than one release behind, can we still upgrade directly?
Yes, ServiceNow fully supports the current and previous feature release as well as any interim hotfixes and patch
releases.
References
[1] https:/ / servicenow. com/ demo
166
Domain 6
Import Sets
Import Sets
Overview
Import Sets is a powerful tool used to import data from various data sources, and then map that data into
ServiceNow tables. The Import Sets table acts as a staging area for records imported from a data source.
Note: Data should not be imported in extremely large chunks. Creating an extremely large import set can cause delays and system
outages.
A transform map determines the relationships between fields displaying in an Import Set table and fields in an
existing ServiceNow table, such as the Incidents or Users table.
Importing sets will skip records when the data in the instance matches the data being imported.
Note: Import Sets run as user System. Therefore, Import Sets cannot add data to encrypted fields.
Import Sets 167
General Parameters
• Import sources:
• Files:
• Excel
• XML
• CSV
• Network (supported online data
retrieval methods):
• HTTP
• FTP
• JDBC
• Transformation Mapping:
• Transformation is flexible to
your needs.
• Specification can be as simple Flowchart of Import Set application operating parameters
Administration
Modules used for configuring data sources, transform maps and
setting up schedules for executing import sets.
Data Sources
Data Sources is a module of the Import Sets application. A data
source can be from a file or a JDBC connection. Files can be local
and uploaded from the browser or can be accessed by defining a remote data connection as the file retrieval method.
Data sources are used to create an import set so that data can be processed, if necessary, prior to being mapped onto a
production table. When using import sets to map data from one ServiceNow table to another, it is not necessary to
define a data source; this can be done simply by using the import set mapping tools. Importing sets will skip records
when the data in the instance matches the data being imported.
See Data Sources for more information.
Transform Maps
A transform map is a set of field maps that determines the relationships between fields in an import set and fields in
an existing ServiceNow table (such as Incidents or Users). Once defined, it is possible to reuse existing transform
maps for mapping data from an import set to a ServiceNow table.
The Transform Map module allows for defining destinations for imported data on any ServiceNow tables. Transform
mapping can be as simple as dragging and dropping to specify linking between source fields on an import set table
and destination fields on any ServiceNow table. When using transform mapping, you can also dynamically map
source and destination fields by using ServiceNow scripting objects and functionality.
See Creating New Transform Maps for more information.
Import Sets 169
Scheduled Imports
Scheduled Imports make it is possible to specify that certain import operations should occur at some regular interval.
If a remote data source is chosen, it will be refreshed via the remote connection prior to the import operation.
See Scheduling Data Imports for more information.
Advanced
• Import Sets: Table of all import sets. An import set is a set of records imported from a data source that can be
mapped to an existing table and serves as a staging location for storing imported data.
• Progress: Show the progress of scheduled import set jobs that are running in the background.
• Transform History: Log of completed import operations (where an import set was transformed onto a
production).
• Transform Errors: Log of all errors encountered during any import operations.
• Import Log: Log of all Import Set application operations.
Terminology Defined
Import Sets: ServiceNow table that acts as a staging location for records imported from some data source.
Transformation: in the context of ServiceNow, System Imports Sets, refers to the synchronization of data in an
import set table with data on a production table according to rules that are defined in an import set table.
Foreign record insert: A foreign record insert occurs when an import makes a change to a table that is not the target
table for that import. This happens when updating a reference field on a table, for example when updating the value
for caller on an incident the import is actually updating the sys_user table of ServiceNow.
Field Descriptions
• Number: Unique identifier for an Import Set
• State: Gives the current status of the Import Set either loading, loaded or processed, where loading refers to an
Import Set still currently being imported from a data source, loaded to an Import Set fully uploaded from a data
source but not yet transformed onto a production table and processed to an Import Set fully uploaded and already
transformed onto a production table since the last refresh from the datasource.
• Data source: The data source from which this Import Set is populated with data
• Table name: The name of the Import Set
• Created: Date the Import Set was created
• Load Completed: Date and time the Import Set was last updated from the datasource
• Load Runtime: Length of time for the last update from the datasource to complete
Import Sets 170
This is an example of the Import Sets table form view. From here it
is possible to view information on the status of the last data
This is an example of the Import Sets table list view. retrieval operation that was done for a certain Import Set.
Overview
In an import, coalescing on a field (or set of fields) means the field will be used as a unique key. If a match is found
using the coalesce field, the existing record will be updated with the information being imported. If a match is not
found, then a new record will be inserted into the database.
Updates Only
To only update records where a match is found, and skip records where a match is not found, specify a coalesce field
and add the following script as an OnBefore script to the transform map.
Using the Coalesce Field 171
if (action == 'insert')
ignore = true;
Data Sources
Import Sets
Overview
Data Sources is a module of the Import Sets application. Data sources are used to create an import set so that data
can be processed, if necessary, prior to being mapped onto a production table. The data source type describes the
origin of data:
• File: Data is in a recognized file format, accessible locally or remotely through several file retrieval methods
• JDBC: Data is in a database, accessible using JDBC. We currently support Oracle, MySQL, MS SQL Server,
Sybase and DB2 drivers.
• LDAP: Data is in an LDAP server, accesible through the LDAP or LDAPS ports, 389 and 636 respectively.
Note: When using import sets to map data from one ServiceNow table to another, it is not necessary to define a data source, rather
this can be done simply by using the import set mapping tools. Importing Sets will skip records when the data in the instance matches
the data being imported. For instructions on creating transform maps, see Creating New Transform Maps.
Data Sources 172
File Types
You can import a file from a local source, a remote network server, or another instance by providing a path and
authentication information. For file type import sets, you can select from a list of different file retrieval methods,
including FTP, FTPS, SCP, and HTTPS.
|
When you select a data source of type File, the following fields are displayed:
Field Description
Import set table A label is a tag on a piece of data. Labels are logical, descriptive names that are localizable.
Label
Import set table name ServiceNow uses the label you entered to construct a unique table name. This prevents namespace collision with an already
existing table.
Format Select one of the following formats from the list: CSV, CSV (tab), Excel, XML.
Xpath for each row XPath expression which selects the nodes which are to become rows in the import table. The children of the selected nodes
will become the columns in the rows.
Expand node if an element which is to become a column contains further child elements, should these be converted into additional
children columns, or should the column value be an XML fragment?
File retrieval method Choose the appropriate retrieval method for this file. See File Retrieval Methods for details.
SCP authentication Select to authenticate with a Username and Password or with a Public key. Note: You cannot authenticate to data sources
method with a public-private key pair. Use username/password authentication instead.
Server Type the name of the server from which the file will be imported.
User name Type the user name for authentication on the file server.
Private keyfile Note: This is a legacy field for SCP authentication with a public-private key pair. You cannot authenticate to data sources
with a public-private key pair. Use username/password authentication instead.
Currently ServiceNow supports file imports in XML, CSV (character-separated values) and Excel (XLS) formats.
Data Sources 173
Note: All .xls files must use the 1900 date system as opposed to the 1904 date system as the latter will cause your dates to be
imported with a year that is 4 years earlier than what your spreadsheet displays. Refer to MS Support for additional information
about date systems.
data. Once the specification has been tested, you can run it again with the full file.
Notice that the <userInfo> elements contained within <asset> contain child elements. This will cause a column
called "userInfo" to be created containing XML for the userInfo element. If Expand child nodes is checked,
individual columns will also be created for userInfo/lastName and userInfo/firstName. If Expand child nodes is not
checked, only the userInfo XML column will be created.
"guest","Guest","guest@yourcompany.com","2004-05-01 17:00:00","true"
To process CSV files that are delimited by any character other than a comma:
Note: This is an advanced step to create a CSV import. Normally, you would upload the data and import it directly using System
Import Sets, which will create this CSV data source for you automatically.
Encoding
The default character set used for decoding the imported CSV file is WINDOWS-1252. It may become necessary to
use a specific type of encoding such as utf-8 when importing a CSV document. This can be done within a data
source using the properties field. To use utf-8 encoding when importing a CSV file as an attachment:
1. If the 'Properties' field does not exist on your Data Source form, personalize the form and add it.
2. We add this property in the following format 'charset=<your encoding type>' (i.e. charset=utf-8).
Refer to the picture below to see what this data source would look like with this property added:
Note: For the import to succeed, your FTP server and client must be set up for the same authentication mechanism that you select
here. Refer to the following article for an explanation of the protocols support [2]
Data Sources 177
Method Description
Attachment Attach a file to the record and import that file in an import set.
File Select a file to import from a local drive or a network location (this is unusual). Selecting this method provides a field to specify
the network path. The Aspen Release limits your selection to one of these file locations for increased security.
• Tomcat home. For example, /Apache Tomcat.
• Glide system home. For example, /<Tomcat home>/webapps/glide/itil/WEB-INF/.
• Temporary directory. For example, /tmp or /var/tmp depending on how your system is configured.
If you need to specify an arbitrary network path, consider using a different file retrieval protocol such as FTP or SCP where you
can secure the communications channel.
SFTP [3]
Retrieve a file using SFTP . Fields are provided for the server name and logon credentials.
FTP [4]
Retrieve a file from an FTP server in your network. Fields are provided for the server name and logon credentials.
FTPS (Implicit In implicit security, the FTPS [5] server defines a specific port for the client (990) to use for secure connections. Implicit security
SSL) automatically begins with an SSL connection the moment an FTPS client connects to an FTPS server.
FTPS (Implicit In implicit security, the FTPS [5] server defines a specific port for the client (990) to use for secure connections. Implicit security
TLS) automatically begins with a TLS connection the moment an FTP client connects to an FTP server.
HTTP [6]
Retrieve a file using HTTP . FIelds are provided for the server name and logon credentials.
HTTPS [7]
Retrieve a file using HTTPS . Fields are provided for the server name and logon credentials. Use this method to transfer data
between ServiceNow instances.
SCP [8]
The Secure Copy protocol (SCP) securely transfers files between a local and a remote host or between two remote hosts, using
the Secure Shell (SSH) protocol..
connection.passive Sets the behavior for the FTP connection to establish a passive connection. connection.passive=true FTP, FTPS
Defaults to false or active.
connection.timeout The number of milliseconds to wait before timing out the FTP connection attempt. connection.timeout=10000 FTP, FTPS
Defaults to 10 seconds.
remove_file When this value is set to true, the remote file will be deleted after the import. remove_file=true FTP, FTPS,
Defaults to false, or don't remove. SFTP
rename_file When this property is set to true the remote file will be renamed to "<file rename_file=true FTP, FTPS,
name>.imported". Defaults to false, or not to rename file. SFTP
Data Sources 178
JDBC Types
A JDBC data source is a data source that retrieves its data via a JDBC driver (usually type 4 'network'), and has a
requirement that the JDBC connection is available either directly from the ServiceNow instance (a VPN setup
required), or via a MID Server installed inside your firewall that can access the database port. Note that any JDBC
call from the MID server is never encrypted. Limit the rights available to the MID user whenever making JDBC calls
from a MID server.
JDBC connections are supported for the following databases:
MySQL 3306
Oracle 1521
Sybase 5000
The following fields are available when you select a JDBC connection:
Field Description
Import set table A label is a tag on a piece of data. Labels are logical, descriptive names that are localizable.
Label
Import set table ServiceNow uses the label you entered to construct a unique table name. This prevents namespace collision with an already
name existing table.
Use MID Server Select a MID Server to use to connect to this data source.
Data Sources 179
Format Select one of the following formats (databases) from the list:
• DB2 Universal
• MySQL
• Oracle
• SQL Server
• Sybase
Instance name To ensure connectivity, provide the instance name for a SQL Server that receives a new port number dynamically after each
reboot. This field only appears when SQLServer is selected as a data source format.
Use integrated Select this check box to allow the JDBC connection to use the ID of the user configured for the Windows MID Server service
authentication for SQL Server authentication. For additional details, see SQL Server Integrated Authentication for Windows.
User name Type the user name for authentication on the database server.
Server Type the name of the server from which the data will be imported.
Query Select the type of query to run: All rows from Table or Specific SQL. If you select to run a SQL statement, the SQL statement
field appears.
Query timeout Specify the number of seconds the JDBC driver will wait for a query (SELECT) to complete. Zero means no timeout. If timeout
is exceeded, the integration considers the JDBC result inaccessible and places it in an error state.
Connection Specify the number of seconds before MID Server connection cache pool closes and removes it from the pool. Zero means no
timeout timeout.
Table name Type the name of the table from which the data is being exported.
SQL statement Type a SQL statement to extract the desired data from the database.
Use last run This selection controls the amount of data that is retrieved from a database during an import run. If this check box is unselected,
datetime then all rows in the table specified are imported, every time. You might want to use this setting if this is a one-time import, or if
all the data in the target table is new. If this check box is selected, two additional fields appear, enabling you to select a datetime
value to limit imported data to delta values only.
Last run datetime The datetime value in this field is automatically populated from the database field you select below and represents the latest
value from the previous run. This value acts as a dynamic filter to restrict the number of records retrieved to those records that
have changed since the data source's last runtime.
Last run database Select the field name from the source table that will be used as the filter in the next run.
field
Name Description
glide.jdbcprobeloader.retry The number of times a JDBC probe loader attempts to process data returning from a JDBC data source. Sleeps
on the value defined in "glide.jdbcprobeloader.retry_millis" between retries.
• Type: integer
• Default value: 60
• Location: Add the property
glide.jdbcprobeloader.retry_millis How many milliseconds a JDBC probe loader waits in between retry attempts to process data from a JDBC data
source.
• Type: integer
• Default value: 5000
• Location: Add the property
LDAP Types
Note: It is unusual that you will configure an LDAP data source directly.
An LDAP data source is automatically created when configuring your instance to integrate with LDAP. For detailed
information on integrating LDAP with your ServiceNow instance, see LDAP Integration. A data source record for
LDAP looks like this:
Field Description
Import set table A label is a tag on a piece of data. Labels are logical, descriptive names that are localizable.
Label
Import set table ServiceNow uses the label you entered to construct a unique table name. This prevents namespace collision with an already
name existing table.
LDAP target Select a target from the list of your LDAP OU definitions.
Data Sources 181
References
[1] http:/ / www. zvon. org/ xxl/ XPathTutorial/ General/ examples. html
[2] http:/ / en. wikipedia. org/ wiki/ FTPS''
[3] http:/ / en. wikipedia. org/ wiki/ SFTP
[4] http:/ / en. wikipedia. org/ wiki/ File_Transfer_Protocol
[5] http:/ / en. wikipedia. org/ wiki/ FTPS
[6] http:/ / en. wikipedia. org/ wiki/ HTTP
[7] http:/ / en. wikipedia. org/ wiki/ HTTPS
[8] http:/ / en. wikipedia. org/ wiki/ Secure_copy
Overview
Scheduled Imports make it is possible to specify that certain import operations should occur at some regular interval.
If a remote datasource is chosen then it will be refreshed via the remote connection prior to the import operation. To
create a Scheduled Data Import navigate to System Import Sets > Administration > Scheduled Imports.
Scripting Options
Scheduled Import Pre and Post scripts have access to the following
JavaScript objects:
Object Description
glide.scheduled_import.stop_on_error Set this object to true to stop the import process when the parent scheduled import generates an error
map Specify the transform map you want the scheduled import to use. The transform map must be an existing
GlideRecord object.
data_source Specify the data source you want the scheduled import to use.The data source must be an existing
GlideRecord object.
cancel = true;
glide.scheduled_import.stop_on_error = true;
Overview
A transform map is a set of field maps that determine the relationships
between fields in an import set and fields in an existing ServiceNow
table (such as Incidents [incident] or Users [sys_user]). After transform
maps have been defined they can be reused for mapping data from an
import set to a ServiceNow table.
The Transform Maps module enables an administrator to define
destinations for imported data on any ServiceNow tables. Transform
mapping can be as simple as a drag and drop operation to specify
Transform maps in the import process linking between source fields on an import set table and destination
fields on any ServiceNow table. Use transform mapping to map source
and destination fields dynamically.
Source table Select the import table containing the raw import set data. An import table is any table that extends the Import Set Row
[sys_import_set_row] table.
Run Business Rules Select whether to run business rules while the transformation inserts or updates data into the target table.
Enforce Mandatory Select whether to enforce mandatory fields on the target table.
Fields
Copy Empty Fields Select whether to clear fields with existing values when an incoming field contains an empty value. See Using NULL as a
Field Value for information on how to import empty values.
Created Lists the transform map creation date. This field is automatically populated.
Target table Select the table where you want transformed data to be placed.
Order Enter the order in which to apply transform maps in the event that more than one map fits the conditions. ServiceNow runs
transform maps from lowest to highest Order.
Run Script Select whether to display the Script field. See transform map script for special variables available to transform map scripts.
Script Enter the transform map script you want to use to transform field values in the source table to the target table. ServiceNow
runs the transform map script in addition to any Field Maps.
Field Maps Use this related list to add one or more field maps. ServiceNow runs the transform Field Maps in addition to any transform
script.
Transform scripts Use this related list to add one or more transform map scripts. A transform script allows you to apply extra business logic a
specified stage of the transformation.
Source table Displays the table where the raw import set data is loaded (the source for the transformation). This field is automatically populated
from the transform map.
Source field Select the field on the source table to be transformed. This may be blank if the Source table only contains raw data.
Map Displays the transform map that uses this field mapping. This field is automatically populated.
Date format This field is available if the target field is a date or date-time field. This field specifies the date format of the source field. See
Changing the Date Format.
Choice action This field is available if the target field is a choice list or reference field. This field specifies what to do if the import set contains a
reference or choice value other than those available. Select one of these options:
• create: Create a new choice or record in the reference table.
• ignore: Ignore the new value from the source table.
• reject: Skip the entire row (record) containing the new value and continue to the next row.
Use source Select this check box to use a script instead of the Source field.
script
Source script Enter a script to determine the source of this field mapping instead of the Source field. The script should return the answer
variable. For example, this source script combines information from multiple sources into a single value. See Using a Script to
Calculate a Source Value.
Target table Select the table where the data will be placed after it is transformed.
Target field Select the field where the values from the source field will be stored.
Referenced Select the column name (not field label) in the reference table where the transform map searches for values that match entries in
value field the Source field. The Referenced value field name is present only when the Target field is a reference field.
name The transform map compares the Source field value to the values in the specified reference table column. If the reference table
column contains a value that matches the Source field, the transform map places a reference to that record into the Target field.
If the reference table does not contain a matching value, the transform map creates a record in the reference table for the new
value, and then places a reference to the Sys ID of that record into the Target field.
If the Referenced value field name is blank, the transform map compares the Source field values with the Display Value from
the reference table. The same processing occurs: if a match is found, the transform map places a reference to the record into the
Target field. If no match is found, the transform map creates a record in the reference table and then places a reference to the
record into the Target field.
For example, in the LDAP User Import transform map, there is a mapping for the u_l field to the location field of the target User
[sys_user] table. The location field in the User table is a reference field to the Location [cmn_location] table.
If the Referenced value field name is blank, the transform map compares the Source field values to the display value (the name
column) for the Location table. Suppose the source u_l field contains the value "100 Park Boulevard, San Diego, CA". In this case,
the Location table contains a record with the same value in the name column, and the transform map places a reference to this
record into the Target table.
If the Referenced value field name contains a different column name, such as city, then the transform map looks for the value
"100 Park Boulevard, San Diego, CA" in the city column instead of the name column.
Coalesce Select this checkbox to match records in the source table to existing records in the target table. When true, the import set
application attempts to match source values to existing target values. When false, the import set application always creates new
records for each transformation. If multiple fields are set to coalesce, all coalesce values are used to match an existing record. If
two fields are set for coalescing and a matching value is found on one of the coalescing fields but not on the other, a new record is
inserted.
Creating New Transform Maps 186
Coalesce Select this check box to match an empty source field value to an empty target field value. For example, the User transform map
empty fields coalesces on the email field. With this option is selected, a source record containing an empty email address coalesces to a target
record containing an empty email address.
Coalesce case Select this check box to have case sensitive coalesce values result in the creation of new records. By default, values marked as
sensitive Coalesce are used in a case insensitive lookup for existing records. Case insensitive records only update existing records and do
not cause the creation of new records.
A completed field map record with coalescence enabled might look like this:
Mapping Options
The mapping of fields can be done in a number of ways depending on
the circumstances of the import and whether data must be transformed
Sample field mapping
prior to transformation onto a production table. It is also important to
note that any given import operation may require taking advantage of
multiple mapping methods, and these methods can be readily used in conjunction with one another.
dd-MM-yyyy Day-month-year
MM-dd-yyyy Month-day-year
yyyy-dd-MM Year-day-month
yyyy-MM-dd Year-month-day
You can specify a custom date format using HH to denote 24 hour time. Converting from a 24 hour to 12 hour date
format may cause times from 12:00 to 12:59 to be formatted as 00:00.
target.duration = gs.dateDiff(source.u_start.getDisplayValue(),
source.u_end.getDisplayValue(),false);
Creating New Transform Maps 188
This sample script converts a duration already in milliseconds (from the source.u_duration field) to a ServiceNow
duration (in the target.duration field). Change the field names to match your source and target fields as needed.
Transform maps can access the attachment using the GlideRecord programming API in an onAfter script. The script
needs to run in an onAfter event because the target.sys_id object is only available after the data is placed in the
import set table. For example, to map the resultant attachment to the target transform record, you can use the
following script.
Creating New Transform Maps 189
If you are mapping directly to the db_image table, run the following onAfter script to get the image to display:
if (fType == 'jpg') {
iCont = 'jpeg';
} else {
iCont = fType;
}
if (agr.next()) {
agr.table_name = "ZZ_YYdb_image";
agr.table_sys_id = target.sys_id;
agr.content_type = 'image/' + iCont;
agr.file_name = 'image';
agr.update();
}
Personalizing Forms Source: http://wiki.servicenow.com/index.php?oldid=159673 Contributors: CapaJC, Emily.partridge, G.yedwab, Guy.yedwab, Joe.Westrich, Joseph.messerschmidt,
Phillip.salzman, Rachel.sienko, Swood, Vhearne
Personalizing Lists Source: http://wiki.servicenow.com/index.php?oldid=163876 Contributors: CapaJC, David.Bailey, Emily.partridge, G.yedwab, Gabriel.finney, Guy.yedwab,
Joseph.messerschmidt, Mark.stanger, Peter.smith, Rachel.sienko, Steve.wood, Swood, Vhearne
Creating New Fields Source: http://wiki.servicenow.com/index.php?oldid=122942 Contributors: Cheryl.dolan, Guy.yedwab, Joe.Westrich, Joseph.messerschmidt, Steve.wood, Vaughn.romero
Administering Application Menus and Modules Source: http://wiki.servicenow.com/index.php?oldid=160983 Contributors: CapaJC, Cheryl.dolan, G.yedwab, Guy.yedwab, Jared.laethem,
Joseph.messerschmidt, Mark.stanger, Phillip.salzman, Rachel.sienko, Steve.wood, Suzannes, Swood, Vaughn.romero, Vhearne
Creating a Custom Table Source: http://wiki.servicenow.com/index.php?oldid=167542 Contributors: CapaJC, Cheryl.dolan, Emily.partridge, G.yedwab, Guy.yedwab, Joseph.messerschmidt,
Mark.stanger, Rachel.sienko, Steve.wood, Swood, Vaughn.romero, Vhearne
Introduction to Assets and Configuration Source: http://wiki.servicenow.com/index.php?oldid=123075 Contributors: George.rawlins, Gflewis, Guy.yedwab, Joseph.messerschmidt,
Steve.wood, Swood, Sydney.nickell
Adding Existing Gauges to a Homepage Source: http://wiki.servicenow.com/index.php?oldid=148840 Contributors: CapaJC, Cheryl.dolan, G.yedwab, Guy.yedwab, Jessi.graves,
Joe.Westrich, Joseph.messerschmidt, Mark.stanger, Neola, Rob.woodbyrne, Swood, Vhearne, Wallymarx
Creating Users and Associating to a Group Source: http://wiki.servicenow.com/index.php?oldid=170029 Contributors: CapaJC, Cheryl.dolan, Guy.yedwab, Joe.Westrich,
Joseph.messerschmidt, Neola, Phillip.salzman, Steve.wood, Suzannes, Swood, Vaughn.romero, Vhearne
Creating Groups Source: http://wiki.servicenow.com/index.php?oldid=159708 Contributors: CapaJC, Cheryl.dolan, Emily.partridge, G.yedwab, Guy.yedwab, Jeremiah.hall,
Joseph.messerschmidt, Neola, Peter.smith, Suzannes, Vhearne
Creating Roles Source: http://wiki.servicenow.com/index.php?oldid=144555 Contributors: Cheryl.dolan, Emily.partridge, Guy.yedwab, Joseph.messerschmidt, Neola, Suzannes, Swood
Role Delegation Source: http://wiki.servicenow.com/index.php?oldid=144549 Contributors: CapaJC, Emily.partridge, Joseph.messerschmidt, Neola, Pat.Casey, Swood
Using Access Control Rules Source: http://wiki.servicenow.com/index.php?oldid=162076 Contributors: CapaJC, G.yedwab, Grant.hulbert, Guy.yedwab, Joseph.messerschmidt, Neola,
Phillip.salzman, Rachel.sienko, Steve.wood, Suzannes, Swood, Vaughn.romero
High Security Settings Source: http://wiki.servicenow.com/index.php?oldid=168487 Contributors: Cheryl.dolan, David Loo, David.Bailey, Emily.partridge, G.yedwab, Gadi.yedwab,
Guy.yedwab, Jason.lau, John.andersen, Joseph.messerschmidt, Neola, Peter.smith, Phillip.salzman, Rachel.sienko, Steve.wood, Swood, Vaughn.romero, Wallymarx
Performance Metrics Source: http://wiki.servicenow.com/index.php?oldid=147815 Contributors: CapaJC, Emily.partridge, G.yedwab, Joseph.messerschmidt, Neola, Pat.Casey, Rachel.sienko,
Steve.wood, Swood, Wallymarx
Creating Reports Source: http://wiki.servicenow.com/index.php?oldid=162310 Contributors: CapaJC, Cheryl.dolan, Davida.hughes, Emily.partridge, G.yedwab, Guy.yedwab, Jared.laethem,
Joseph.messerschmidt, Mark.stanger, Michael.randall, Mike.malcangio, Peter.smith, Rob.woodbyrne, Steve.wood, Suzannes, Swood, Vaughn.romero, Vhearne
Defining an SLA Source: http://wiki.servicenow.com/index.php?oldid=168240 Contributors: David.Bailey, Davida.hughes, Emily.partridge, Guy.yedwab, Joseph.messerschmidt,
Rachel.sienko, Steve.wood, Suzannes, Swood
Creating an SLA Workflow Source: http://wiki.servicenow.com/index.php?oldid=157414 Contributors: Davida.hughes, Emily.partridge, G.yedwab, Guy.yedwab, Joseph.messerschmidt,
Nick.roberts, Rachel.sienko, Steve.wood, Suzannes, Swood, Voytek.blonski
Events and Email Notification Source: http://wiki.servicenow.com/index.php?oldid=149121 Contributors: CapaJC, Chuck.tomasi, G.yedwab, Grant.hulbert, Guy.yedwab, Ishrath.razvi,
Jgrinter, Joe.Westrich, Joseph.messerschmidt, Mark.stanger, Neola, Rachel.sienko, Steve.wood, Swood, Vaughn.romero, Vhearne
Using the Knowledge Base Source: http://wiki.servicenow.com/index.php?oldid=172037 Contributors: Cheryl.dolan, David.Bailey, Rachel.sienko
Defining Catalog Items Source: http://wiki.servicenow.com/index.php?oldid=150401 Contributors: CapaJC, David.Bailey, G.yedwab, Guy.yedwab, Joseph.messerschmidt, Pat.Casey,
Rachel.sienko, Rob.woodbyrne, Steve.wood, Swood, Vhearne, Wallymarx
Record Producer Source: http://wiki.servicenow.com/index.php?oldid=164240 Contributors: CapaJC, Cheryl.dolan, David.Bailey, Eric.jacobson, Guy.yedwab, Jared.laethem, Jessi.graves,
John.roberts, Joseph.messerschmidt, Rachel.sienko, Suzannes, Vhearne
Using Service Catalog Variables Source: http://wiki.servicenow.com/index.php?oldid=157012 Contributors: CapaJC, Cheryl.dolan, David.Bailey, Emily.partridge, Guy.yedwab,
Joseph.messerschmidt, Pat.Casey, Rachel.sienko, Rob.woodbyrne, Steve.wood, Swood, Vhearne
Service Catalog Order Guides Source: http://wiki.servicenow.com/index.php?oldid=152551 Contributors: CapaJC, Cheryl.dolan, David.Bailey, Gadi.yedwab, Guy.yedwab, John.andersen,
Joseph.messerschmidt, Pat.Casey, Rachel.sienko, Swood, Vhearne
Defining a Service Catalog Workflow Source: http://wiki.servicenow.com/index.php?oldid=153794 Contributors: David.Bailey, G.yedwab, Guy.yedwab, Ishrath.razvi, Joe.Westrich,
Joseph.messerschmidt, Peter.smith, Rachel.sienko, Russ.sarbora, Steve.wood, Swood
System Update Sets Source: http://wiki.servicenow.com/index.php?oldid=168577 Contributors: Annmarie, Brozi, CapaJC, Cheryl.dolan, Emily.partridge, G.yedwab, Guy.yedwab,
Jared.laethem, Jerrod.bennett, Jessi.graves, Joseph.messerschmidt, Michael.hoefer, Peter.smith, Rachel.sienko, Steve.wood, Suzannes, Swood, Vhearne
Getting Started with Update Sets Source: http://wiki.servicenow.com/index.php?oldid=157852 Contributors: Cheryl.dolan, Emily.partridge, G.yedwab, Guy.yedwab, Joseph.messerschmidt,
Rachel.sienko, Steve.wood, Swood
Using Update Sets Source: http://wiki.servicenow.com/index.php?oldid=158076 Contributors: Annmarie, CapaJC, Cesar.sandoval, Cheryl.dolan, Danijel.stanojevic, David Loo, Don.Goodliffe,
G.yedwab, Gadi.yedwab, Guy.yedwab, John.roberts, Joseph.messerschmidt, Michael.hoefer, Pat.Casey, Rachel.sienko, Steve.wood, Swood, Vhearne, Wallymarx
Upgrades and the Release Cycle Source: http://wiki.servicenow.com/index.php?oldid=169053 Contributors: Andrew.martin, Cheryl.dolan, Joseph.messerschmidt, Nicholas.roberts,
Rachel.sienko, Vaughn.romero
Import Sets Source: http://wiki.servicenow.com/index.php?oldid=136241 Contributors: CapaJC, David Loo, Emily.partridge, G.yedwab, Guy.yedwab, Ishrath.razvi, Jared.laethem, Jessi.graves,
Joseph.messerschmidt, Rachel.sienko, Rob.woodbyrne, Steve.wood, Swood, Vhearne
Article Sources and Contributors 191
Using the Coalesce Field Source: http://wiki.servicenow.com/index.php?oldid=169276 Contributors: CapaJC, Gflewis, Guy.yedwab, Richard.senecal, Steve.wood, Swood, Vaughn.romero,
Vhearne
Data Sources Source: http://wiki.servicenow.com/index.php?oldid=167174 Contributors: CapaJC, David Loo, David.Bailey, David.dixon, G.yedwab, Guy.yedwab, Jared.laethem, Jessi.graves,
Jonathan.sparks, Joseph.messerschmidt, Norris.merritt, Pinnacle ls, Rob.woodbyrne, Steve.wood, Swood, Valor, Vaughn.romero, Vhearne, Wallymarx
Scheduling Data Imports Source: http://wiki.servicenow.com/index.php?oldid=134474 Contributors: CapaJC, David Loo, Guy.yedwab, Jared.laethem, John.andersen, Joseph.messerschmidt,
Rob.woodbyrne, Steve.wood, Swood, Vaughn.romero, Vhearne
Creating New Transform Maps Source: http://wiki.servicenow.com/index.php?oldid=164102 Contributors: CapaJC, Cheryl.dolan, Chuck.tomasi, David Loo, Emily.partridge, G.yedwab,
Gabriel.finney, Guy.yedwab, Jared.laethem, Joseph.messerschmidt, Neola, Rob.woodbyrne, Steve.wood, Swood, Vaughn.romero, Vhearne
Image Sources, Licenses and Contributors 192
Image:Knowledge Base.png Source: http://wiki.servicenow.com/index.php?title=File:Knowledge_Base.png License: unknown Contributors: Bgblkfly, Cheryl.dolan, Guy.yedwab
image:Book.png Source: http://wiki.servicenow.com/index.php?title=File:Book.png License: unknown Contributors: CapaJC, Guy.yedwab
Image:ArticleView.png Source: http://wiki.servicenow.com/index.php?title=File:ArticleView.png License: unknown Contributors: Cheryl.dolan
Image:Book.png Source: http://wiki.servicenow.com/index.php?title=File:Book.png License: unknown Contributors: CapaJC, Guy.yedwab
Image:HelpfulYes1.png Source: http://wiki.servicenow.com/index.php?title=File:HelpfulYes1.png License: unknown Contributors: Cheryl.dolan
Image:HelpfulNo1.png Source: http://wiki.servicenow.com/index.php?title=File:HelpfulNo1.png License: unknown Contributors: Cheryl.dolan
Image:KB_CreateIncident.png Source: http://wiki.servicenow.com/index.php?title=File:KB_CreateIncident.png License: unknown Contributors: Cheryl.dolan
Image:FiveStarRating.png Source: http://wiki.servicenow.com/index.php?title=File:FiveStarRating.png License: unknown Contributors: Cheryl.dolan
Image:KBFeedback_Flagged.png Source: http://wiki.servicenow.com/index.php?title=File:KBFeedback_Flagged.png License: unknown Contributors: Cheryl.dolan
Image:Knowledge_Form.png Source: http://wiki.servicenow.com/index.php?title=File:Knowledge_Form.png License: unknown Contributors: Cheryl.dolan
Image:Icon-referencelookup.png Source: http://wiki.servicenow.com/index.php?title=File:Icon-referencelookup.png License: unknown Contributors: Guy.yedwab
Image:Kb attach1.jpg Source: http://wiki.servicenow.com/index.php?title=File:Kb_attach1.jpg License: unknown Contributors: John.roberts
Image:Kb attach2.jpg Source: http://wiki.servicenow.com/index.php?title=File:Kb_attach2.jpg License: unknown Contributors: John.roberts
Image:InctoKno.png Source: http://wiki.servicenow.com/index.php?title=File:InctoKno.png License: unknown Contributors: Guy.yedwab, Steve.wood
Image:InctoKno2.png Source: http://wiki.servicenow.com/index.php?title=File:InctoKno2.png License: unknown Contributors: Guy.yedwab
Image:Cspc-new.png Source: http://wiki.servicenow.com/index.php?title=File:Cspc-new.png License: unknown Contributors: David.Bailey
Image:Additional.png Source: http://wiki.servicenow.com/index.php?title=File:Additional.png License: unknown Contributors: Guy.yedwab, Rachel.sienko
Image:recurring_price.png Source: http://wiki.servicenow.com/index.php?title=File:Recurring_price.png License: unknown Contributors: Suzannes
Image:recurring_shop_cart.png Source: http://wiki.servicenow.com/index.php?title=File:Recurring_shop_cart.png License: unknown Contributors: Suzannes
Image:recurring_price_rollup.png Source: http://wiki.servicenow.com/index.php?title=File:Recurring_price_rollup.png License: unknown Contributors: Suzannes
Image:recurring_price_request_rollup.png Source: http://wiki.servicenow.com/index.php?title=File:Recurring_price_request_rollup.png License: unknown Contributors: Suzannes
Image:Catalog_No_Quantity.png Source: http://wiki.servicenow.com/index.php?title=File:Catalog_No_Quantity.png License: unknown Contributors: Rachel.sienko, Swood
Image:Catalog_Item_View_Quantity.png Source: http://wiki.servicenow.com/index.php?title=File:Catalog_Item_View_Quantity.png License: unknown Contributors: Swood
Image:Catalog_Item_Hide_Quantity.png Source: http://wiki.servicenow.com/index.php?title=File:Catalog_Item_Hide_Quantity.png License: unknown Contributors: Swood
Image:CatalogQuantity1.png Source: http://wiki.servicenow.com/index.php?title=File:CatalogQuantity1.png License: unknown Contributors: CapaJC, Guy.yedwab, Swood
Image:Variable personalize.png Source: http://wiki.servicenow.com/index.php?title=File:Variable_personalize.png License: unknown Contributors: CapaJC, Pat.Casey, Rachel.sienko, Swood
Image:Record Producer.png Source: http://wiki.servicenow.com/index.php?title=File:Record_Producer.png License: unknown Contributors: Cheryl.dolan
Image:VariableDefinition.png Source: http://wiki.servicenow.com/index.php?title=File:VariableDefinition.png License: unknown Contributors: Rachel.sienko
Image:Variable help expanded.png Source: http://wiki.servicenow.com/index.php?title=File:Variable_help_expanded.png License: unknown Contributors: CapaJC, Guy.yedwab, Pat.Casey
Image:Var roles.png Source: http://wiki.servicenow.com/index.php?title=File:Var_roles.png License: unknown Contributors: CapaJC, David.Bailey, Guy.yedwab, Pat.Casey
Image:assignvariablerole.png Source: http://wiki.servicenow.com/index.php?title=File:Assignvariablerole.png License: unknown Contributors: David.Bailey
Image:QuestionChoice.png Source: http://wiki.servicenow.com/index.php?title=File:QuestionChoice.png License: unknown Contributors: Rachel.sienko
Image:Cat_op.png Source: http://wiki.servicenow.com/index.php?title=File:Cat_op.png License: unknown Contributors: Pat.Casey, Rachel.sienko
Image:Og text.png Source: http://wiki.servicenow.com/index.php?title=File:Og_text.png License: unknown Contributors: Guy.yedwab, Pat.Casey, Rachel.sienko
Image:Og variable.png Source: http://wiki.servicenow.com/index.php?title=File:Og_variable.png License: unknown Contributors: Pat.Casey
Image:Og rule.png Source: http://wiki.servicenow.com/index.php?title=File:Og_rule.png License: unknown Contributors: Pat.Casey
Image:Og rule detail.png Source: http://wiki.servicenow.com/index.php?title=File:Og_rule_detail.png License: unknown Contributors: Pat.Casey
Image:Og rule detail3.png Source: http://wiki.servicenow.com/index.php?title=File:Og_rule_detail3.png License: unknown Contributors: Pat.Casey
Image:Og sample 1.png Source: http://wiki.servicenow.com/index.php?title=File:Og_sample_1.png License: unknown Contributors: Guy.yedwab, Pat.Casey
Image:Og sample 2.png Source: http://wiki.servicenow.com/index.php?title=File:Og_sample_2.png License: unknown Contributors: Guy.yedwab, Pat.Casey
Image:Og sample 4.png Source: http://wiki.servicenow.com/index.php?title=File:Og_sample_4.png License: unknown Contributors: Guy.yedwab, Pat.Casey
Image:Og sample 5.png Source: http://wiki.servicenow.com/index.php?title=File:Og_sample_5.png License: unknown Contributors: Guy.yedwab, Pat.Casey
Image:SCWorkflowForm.png Source: http://wiki.servicenow.com/index.php?title=File:SCWorkflowForm.png License: unknown Contributors: Guy.yedwab, Steve.wood
Image:SCWorkflowFormActivities.png Source: http://wiki.servicenow.com/index.php?title=File:SCWorkflowFormActivities.png License: unknown Contributors: David.Bailey
Image:Locked.png Source: http://wiki.servicenow.com/index.php?title=File:Locked.png License: unknown Contributors: Steve.wood
Image:Variable Picker.png Source: http://wiki.servicenow.com/index.php?title=File:Variable_Picker.png License: unknown Contributors: Guy.yedwab
Image:SCWorkflowForm1.png Source: http://wiki.servicenow.com/index.php?title=File:SCWorkflowForm1.png License: unknown Contributors: Guy.yedwab, Steve.wood
Image:SCWorkflowForm2.png Source: http://wiki.servicenow.com/index.php?title=File:SCWorkflowForm2.png License: unknown Contributors: Guy.yedwab, Steve.wood
Image:SCWorkflowForm3.png Source: http://wiki.servicenow.com/index.php?title=File:SCWorkflowForm3.png License: unknown Contributors: Guy.yedwab, Steve.wood
Image:SCWorkflowForm4.png Source: http://wiki.servicenow.com/index.php?title=File:SCWorkflowForm4.png License: unknown Contributors: Guy.yedwab, Steve.wood
Image:SCWorkflowExample.png Source: http://wiki.servicenow.com/index.php?title=File:SCWorkflowExample.png License: unknown Contributors: Guy.yedwab, Steve.wood
Image:HomepageUnload.png Source: http://wiki.servicenow.com/index.php?title=File:HomepageUnload.png License: unknown Contributors: Rachel.sienko
Image:updatesetapp.png Source: http://wiki.servicenow.com/index.php?title=File:Updatesetapp.png License: unknown Contributors: G.yedwab
Image:Update set picker.png Source: http://wiki.servicenow.com/index.php?title=File:Update_set_picker.png License: unknown Contributors: G.yedwab
Image:Us3.png Source: http://wiki.servicenow.com/index.php?title=File:Us3.png License: unknown Contributors: CapaJC, Don.Goodliffe
Image:UpdateSetSelectVersions.png Source: http://wiki.servicenow.com/index.php?title=File:UpdateSetSelectVersions.png License: unknown Contributors: Rachel.sienko
Image:UpdateSetCompare.png Source: http://wiki.servicenow.com/index.php?title=File:UpdateSetCompare.png License: unknown Contributors: Rachel.sienko
Image:UpdateSetRecord.png Source: http://wiki.servicenow.com/index.php?title=File:UpdateSetRecord.png License: unknown Contributors: Rachel.sienko
Image:ShowRecord.png Source: http://wiki.servicenow.com/index.php?title=File:ShowRecord.png License: unknown Contributors: Rachel.sienko
Image:ShowUpdate.png Source: http://wiki.servicenow.com/index.php?title=File:ShowUpdate.png License: unknown Contributors: Rachel.sienko
Image:UpdateSetsMerge.png Source: http://wiki.servicenow.com/index.php?title=File:UpdateSetsMerge.png License: unknown Contributors: Rachel.sienko
Image:Update_Sets_Collision_Report1.png Source: http://wiki.servicenow.com/index.php?title=File:Update_Sets_Collision_Report1.png License: unknown Contributors: Swood
Image:Update Set Collisions.png Source: http://wiki.servicenow.com/index.php?title=File:Update_Set_Collisions.png License: unknown Contributors: Swood
Image:Update Record.gif Source: http://wiki.servicenow.com/index.php?title=File:Update_Record.gif License: unknown Contributors: Swood
Image:Us20.png Source: http://wiki.servicenow.com/index.php?title=File:Us20.png License: unknown Contributors: CapaJC, Don.Goodliffe
Image:Uds1.png Source: http://wiki.servicenow.com/index.php?title=File:Uds1.png License: unknown Contributors: G.yedwab
Image:Update Sets Preview.png Source: http://wiki.servicenow.com/index.php?title=File:Update_Sets_Preview.png License: unknown Contributors: Swood
Image:Update Sets Compare.png Source: http://wiki.servicenow.com/index.php?title=File:Update_Sets_Compare.png License: unknown Contributors: Swood
Image:Update_Sets_Preview1.png Source: http://wiki.servicenow.com/index.php?title=File:Update_Sets_Preview1.png License: unknown Contributors: Swood
Image:UpdateSetProblems.png Source: http://wiki.servicenow.com/index.php?title=File:UpdateSetProblems.png License: unknown Contributors: Rachel.sienko
Image:UpdateProblems.png Source: http://wiki.servicenow.com/index.php?title=File:UpdateProblems.png License: unknown Contributors: Rachel.sienko
Image Sources, Licenses and Contributors 195