Server-side Scripting Flashcards

1
Q

The following are examples of what kind of scripting:

  • Update record fields when a database query runs
  • Set field values on related records when a record is saved
  • Manage failed log in attempts
  • Determine if a user has a specific role
  • Send email
  • Generate and respond to events
  • Compare two dates to determine which comes first chronologically
  • Determine if today is a weekend or weekday
  • Calculate the date when the next quarter starts
  • Log messages
  • Initiate integration and API calls to other systems
  • Send REST messages and retrieve results
A

Server-side Scripting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Business Rules are server-side logic that execute when?

A

When database records are queried, updated, inserted, or deleted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

When would a “Before” business rule be used?

A

Before Business Rules execute their logic before a database operation occurs. Use before Business Rules when field values on a record need to be modified before the database access occurs. Before Business Rules run before the database operation so no extra operations are required. For example, concatenate two fields values and write the concatenated values to the Description field.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

When would an “After” business rule be used?

A

After Business Rules execute their logic immediately after a database operation occurs and before the resulting form is rendered for the user. Use after Business Rules when no changes are needed to the record being accessed in the database. For example, use an after Business Rule when updates need to be made to a record related to the record accessed. If a record has child records use an after Business Rules to propagate a change from the parent record to the children.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

When would an “Async” business rule be used?

A

Like after Business Rules, async Business Rules execute their logic after a database operation occurs. Unlike after Business Rules, async Business Rules execute asynchronously.

Async Business Rules execute on a different processing thread than before or after Business Rules. They are queued by a scheduler to be run as soon as possible. This allows the current transaction to complete without waiting for the Business Rules execution to finish and prevents freezing a user’s screen.

Use Async Business Rules when the logic can be executed in near real-time as opposed to real-time (after Business Rules). For example use async Business Rules to invoke web services through the REST API. Service level agreement (SLA) calculations are also typically done as async Business Rules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Developer Tip:

Use async Business Rules instead of after Business Rules whenever possible to benefit from executing on the scheduler thread.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

When would a “Display” business rule be used?

A

Display Business Rules execute their logic when a form loads and a record is loaded from the database. They must complete execution before control of the form is given to a user. The purpose of a display Business Rule is to populate an automatically instantiated object, g_scratchpad.

The g_scratchpad object is passed from the display Business Rule to the client-side for use by client-side scripts. Recall that when scripting on the client-side, scripts only have access to fields and field values for fields on the form and not all of the fields from the database.

Use the g_scratchpad object to pass data to the client-side without modifying the form. The g_scratchpad object has no default properties.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what are two objects that can be used in business rules script logic?

Hint: one of them can’t be used in “Async” Business Rules

A

Current and Previous

The syntax for using the current or previous object in a script is:

.

An example script using current and previous:

// If the current value of the description field is the same as when the // record was loaded from the database, stop executing the script

if(current.description == previous.description){

return;

}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the purpose of the “Condition” field and what is the correct syntax for it

A
  • Use the Condition field to write Javascript to specify when the Business Rule script should execute.
  • Using the Condition field rather than writing condition logic directly in the Script field avoids loading unnecessary script logic.
  • The Business Rule script logic only executes when the Condition field returns true. If the Condition field is empty, the field returns true.

This is CORRECT syntax for a condition script:

current.short_description == “Hello world”

This is INCORRECT syntax for a condition script:

if(current.short_description == “Hello world”){}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Here are some excellent examples of condition scripts

A
  • The value of the State field changed from anything else to 6:
    • current.state.changesTo(6)
  • The Short description field has a value:
    • !current.short_description.nil()
  • The value of the Short description field is different than when the record was loaded:
    • current.short_description != previous.short_description
  • The examples use methods from the server-side API.
  • The changesTo() method checks if a field value has changed from something else to a hardcoded value
  • The nil() method checks if a field value is either NULL or the empty string
  • Notice that condition logic is a single JavaScript statement and does not require a semicolon at the end of the statement.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What kind of function is the “executeRule()” function in business rules?

A
  • The function syntax is known in JavaScript as a self-invoking function or an Immediately Invoked Function Expression (IIFE).
  • The function is immediately invoked after it is defined.
  • ServiceNow manages the function and when it is invoked; developers do not explicitly call Business Rule scripts.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the purpose of dot walking?

What is an example of dot walking?

A
  • Dot-walking allows direct scripting access to fields and field values on related records.
  • For example, the NeedIt table has a reference field called Requested for.
  • The Requested for field references records from the User [sys_user] table. Reference fields contain the sys_id of the record from the related table.

When scripting, use dot-walking to retrieve or set field values on related records. The syntax is:

..

For example:

if(current.u_requested_for.email == “beth.anglin@example.com”){

//logic here

}

The example script determines if the NeedIt record’s Requested for person’s email address is beth.anglin@example.com.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the script tree?

A

This is a new feature that displays as a > on the top of business rule scripts. It quickly creates the path to get to an object in the script

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are some common types of APIs and where can more information about them be found?

A
  • GlideSystem
  • GlideRecord
  • GlideDateTime

Go into the ServiceNow learning then reference for the APIs available:

https://developer.servicenow.com/dev.do#!/reference

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are some common uses for the GlideSystem API?

A

Find information about the currently logged in user

log messages (debug, error, warning, info)

Add messages to pages

Generate events

Execute scheduled jobs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

For Glide Record queries, what are the operators that can be used?

A
  • Numbers:
    • =
    • !=
    • >
    • >=
    • <
    • <=
  • Strings:
    • =
    • !=
    • STARTSWITH
    • ENDSWITH
    • CONTAINS
    • DOES NOT CONTAIN
    • IN
    • NOT IN
    • INSTANCEOF
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

The next() method and a while loop iterates through all returned records to process script logic:

// iterate through all records in the GlideRecord and set the Priority field value to 4 (low priority).

// update the record in the database

A

while(myObj.next()){

myObj.priority = 4;

myObj.update();

}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

The next() method and an if processes only the first record returned.

// Set the Priority field value to 4 (low priority) for the first record in the GlideRecord

// update the record in the database

if(myObj.next()){ myObj.priority = 4; myObj.update(); }

A

if(myObj.next()){

myObj.priority = 4;

myObj.update();

}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Use the updateMultiple() method to update all records in a GlideRecord.

To ensure expected results with the updateMultiple() method, set field values with the the setValue() method rather than direct assignment.

// When using updateMultiple(), use the setValue() method.

// Using myObj.priority = 4 may return unexpected results.

A

myObj.setValue(‘priority’,4);

myObj.updateMultiple();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

How can i count rows returned in a GlideRecord query and what is the main caveot?

A

The GlideRecord API has a method for counting the number of records returned by a query: getRowCount().

Do not use the getRowCount() method on a production instance as there could be a negative performance impact on the database.

To determine the number of rows returned by a query on a production instance, use GlideAggregate.

// If you need to know the row count for a query on a production instance do this

var count = new GlideAggregate(‘x_snc_needit_needit’); count.addAggregate(‘COUNT’); count.query(); var recs = 0; if (count.next()){ recs = count.getAggregate(‘COUNT’); } gs.info(“Returned number of rows = “ +recs); // Do not do this on a production instance. var myObj = new GlideRecord(‘x_snc_needit_needit’); myObj.query(); gs.info(“Returned record count = “ + myObj.getRowCount());

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What are the scoped GlideSystem API logging methods that get passed to system logs?

A

gs. info()
gs. warn()
gs. error()
gs. debug() (must be enabled)

All of the logging methods write to the System Log. Pass strings, variables that resolve to strings, or methods that resolve to strings into the logging methods.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

The following is how to log messages in a business rule:

Flip to see results

A

Results attached

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

The scoped GlideSystem API has a gs.debug() method. By default, the scoped GlideSystem debug() method does not write to the Application log when the gs.debug() method is used in a script.

How can you enable the gs.debug() method

A

create or modify the application property with the name syntax .logging.verbosity.

Set the Value field in the .logging.verbosity property to debug to log debug messages from the gs.debug() method to the Application Log.

For all other log levels, set the Value field to a comma-separated list of desired log levels. Do not use spaces in the Value field.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

How can a Business Rule “Condition” field script be debugged?

A

Enable detailed Business Rule Debugging (System Diagnostics > Session Debug > Debug Business Rule (Details))

Open the form that contains the business rule and trigger the business rule to run

Logging information is written to the Session Log

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What is Script Tracer and what does it display?

A

debugs synchronous, server-side scripts which are executed as part of an application’s logic.

Return to the form being debugged and make whatever change is needed to trigger the scripts being debugged. The Script Tracer begins tracing when a UI Action, such as the Save or Update button is clicked, or some other transaction occurs.

The Script Tracer table displays a list of server-side scripts and UI Actions that executed during the tracing period. Errors are indicated by a red circle with a white X to the left of the table row.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What is the “Script Debugger”

A

Primary debugging strategy for Business Rules and other synchronous server side scripts

  • Set, remove, and pause at breakpoints
  • Step through code line-by-line
  • Step into and out of functions and method calls
  • View the values of local, global, and private variables
  • View the call stack
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What are “Breakpoints”?

To whom do they apply?

A

Breakpoints pause script execution to give developers the chance to examine variables and their values.

The script debugger status bar indicates whether scripts are paused at breakpoints or waiting for breakpoints to be reached.

Breakpoints are session-specific. Setting breakpoints affects script execution only for the developer who set the breakpoint.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

How do you set a breakpoint?

how are breakpoints indicated in a script once set?

A

click in the gutter for the line of interest (the number on the left of the line of script).

They are shown by highlighting the number in the gutter in purple (yellow for conditional breakpoints), and a gray background on the line of script

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What is a conditional breakpoint?

A

This is simply a breakpoint that will only pause the script if the condtion returns true. To set such a breakpoint simply click in the gutter, add condition and type in a server side condition script to validate

EX:

current.short_description != “”

Note: a semi colon can be used to end the condition but is not required

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What is the call stack?

A

The call stack shows list of methods and functions called to run as part of the script execution.

Click an item in the call stack to see the definition.

Execution must be paused at a breakpoint to examine the call stack

31
Q

What are transaction details

A

When paused at a breakpoint the transaction details show information about the current transaction including the URL, session ID, user, request parameters, instance, start time, and more

32
Q

In what tab of the script debugger can information about the following be found:

  • Business Rules
  • SQL
  • Escalations
  • Scopes
  • Business Rules (Details)
  • SQL (Detailed)
  • Data Policies
  • Date/Time
  • Log
  • Security
  • Quotas
  • GraphQL
  • Security Rules
  • Homepage Render
A

Session Log

33
Q

What are logpoints?

A

Logpoints allow debugging information to be logged to the Script Debugger’s Session Log without editing the server-side script being debugged.

Logpoints are session-specific. Setting a logpoint affects only the developer who created the logpoint.

34
Q

How do you set a logpoint?

Where do logpoints go?

A

first they must be enabled (they are disabled by default).

Set glide.debug.log_point system property to true

They are set in the same way as breakpoints by clicking on the gutter. The script to specify what to log should use the gs.info() or gs.debug() method.

After being set they are indicated by a green arrow

Logpoints are set to the Session Log tab in Debugger

35
Q

What are the four logging methods for GlideSystem

A

gs. info: no highlight
gs. warn: yellow highlight
gs. err: red highlight
gs. debug: no highlight

36
Q

What is the console debugger?

A

This is enabled when the Script Debugger is paused at a breakpoint

Executes within the scope, context, and thread in which execution is paused, Writes evaluation results to the console

37
Q

Show how the console debugger would evaluate expressions

A
38
Q

What are the following terms as related to Script Includes:

  • Name
  • API Name
  • Client callable
  • Application
  • Caller Access
  • Accessible from
  • Active
  • Description
  • Protection policy
A
  • Name:
    • Name of Script Include.
  • API Name:
    • The internal name of the Script Include. Used to call the Script Include from out-of-scope applications.
  • Client callable:
    • Select this option if client-side scripts can call the Script Include using GlideAjax.
  • Application:
    • The application the Script Include is part of.
  • Caller Access:
    • When the Scoped Application Restricted Caller Access (com.glide.scope.access.restricted_caller) plugin is installed, allow scoped applications to restrict access to public tables and script includes.
      • –None–: No restrictions on access.
      • Caller Restriction: Do not allow access unless an admin approves access by the scope.
      • Caller Tracking: Allow access but track which scopes access the Script Include.
  • Accessible from:
    • Choose This application scope only or All application scopes. Specifies the scope(s) that can use the Script Include.
  • Active:
    • Select if the Script Include is executable. If this option is not selected the Script Include will not run even if called from another script.
  • Description:
    • (optional but highly recommended) Documentation explaining the purpose and function of the Script Include.
  • Protection policy:
    • If set to Read-only, instances on which the application is installed from the ServiceNow Store can read but not edit the Script Include. If set to Protected, the Script Include is encrypted on instances on which the application is installed from the ServiceNow Store. Protection policies are never applied to the instance on which an application is developed.
39
Q

What is an “On Demand” Script Include?

A

This is a Script Include that defines a single function. It’s also known as “classless”

It is callable from other server-side scripts but can never be used client-side even if the Client callable option is selected

40
Q

What are some important points to set up an on demand or classless script include?

How does the attached image of a Business Rule work without the function defined?

A

The name must exaactly match the name of the function

Functions defined in script includes can be called and run by business rules

41
Q

What does it mean to Extend a Script Include?

A

Script Includes can extend existing Script Includes by adding new methods and non-method properties

Although most ServiceNow Classes are extensible, the most commonly extended classes are:

  • GlideAjax:
    • Make AJAX calls from Client Scripts
  • LDAPUtils:
    • add managers to users, set group membership, debug LDAP
  • Catalog:
    • set of classes used by the Service Catalog for form processing and UI building
42
Q

What is the generalized Script Include syntax for extending a class?

A

Script Include names generally start with an Upper Case letter and are camel case therafter.

The Script Include name and the new class name must be an EXACT MATCH

When extending something from a different scope the scope should be the start of the name for example if NameOfClassYouAreExtending is in the global scope the it needs to be written as:

global.NameOfClassYouAreExtending

43
Q

The AbstractAjaxProcessor class is part of the Global Scope. The GetEmailAddress Script Include is in the NeedIt scope. To extend the AbstractAjaxProcessor, the class must be prepended by the scope: global.AbstractAjaxProcessor. The new class defines a method called getEmail.

The syntax this.getParameter(‘sysparm_’) means to get the value of the parameter passed in from the client-side script. In this example, sysparm_userID contains the sys_id of a User table record.

A
44
Q

Any in-scope client-side script can use Script Includes which extend the AbstractAjaxProcessor. The generalized syntax is:

A
45
Q

The following code is the client side logic that uses the “GetEmailAddress” script include

A

The following code is the script Script Include that is called by the Client Side script

46
Q

How do i set up a script to return multiple values from a script include? The values will be:

{

“var1”:”Hello”

“var2”:”World”

}

A
47
Q

What is the difference between a classless script include and one that uses the Class.create()?

A

If the script include only houses one function it can be classless. If it has a class it can house mutliple functions that can each be called as needed from one script include.

The attached image shows how to call the script include and the functions within. For more information on this subject view the community article here:

Scripting 101: Script Includes - Class vs Classless - ServiceNow User Group - AU - Brisbane - Blog - ServiceNow Community

48
Q

What is a Utilities Script Include?

What function is automatically invoked when JavaScript objects are instantiated from the script include and what does that mean?

A

This is a single script include for a specific application that houses a variety of functions used by that application. It is usually named Utils for example NeedItUtils

The “initialize” function

This means that anything contained within is known by all other functions in the script include. Image for example

49
Q

How would I use a script include named “NeedItUtils()” and how would I use the method named “testing” inside that script include?

A

To Instantiate the NeedItUtils Script Include simply use the line:

var niutil = new NeedItUtils();

then in order to invoke the testing method from the NeedItUtils Script Include:

niutil.testing();

50
Q

For the following server-side script:

Business Rule

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Execute logic when records are queried, updated, inserted, or deleted.
  • Where does it execute?
    • Database access
  • What is it often used for?
    • Validate data or set fields on other records in response to fields on the current record
51
Q

For the following server-side script:

Script Include

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • A library of reusable functions
  • Where does it execute?
    • Must be explicitly called
  • What is it often used for?
    • Validate format, retrieve shared records, and work with application properties
52
Q

For the following server-side script:

Script Action

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Respond to an event
  • Where does it execute?
    • Events
  • What is it often used for?
    • Send email notifications or write logging information
53
Q

For the following server-side script:

Scheduled Script Execution (also known as Scheduled Job)

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Script logic executed on a time-based schedule
  • Where does it execute?
    • Time
  • What is it often used for?
    • Create reports: send daily, weekly, monthly, quarterly, and annual information. Execute script logic only on weekdays or weekends. Can also be run on demand so sometimes used for testing.
54
Q

For the following server-side script:

Scripts - Background

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Execute server-side code on demand from a selectable scope. Scripts - Background should be used with caution because badly written scripts can damage the database
  • Where does it execute?
    • admin users only (some instances require the security_admin role)
  • What is it often used for?
    • Test scripts
55
Q

For the following server-side script:

UI Actions

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Add buttons, links, and context menu items to forms and list to allow users to perform application-specific operations
  • Where does it execute?
    • Users
  • What is it often used for?
    • Enable users to perform actions such as navigating to another page, modifying records, or allowing operations such as saving
56
Q

For the following server-side script:

Fix Scripts

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Make changes that are necesary for the data integerity or product stability
  • Where does it execute?
    • Application installation or upgrade
  • What is it often used for?
    • Create or modify groups or user authorizations
57
Q

For the following server-side script:

Notification Email Script

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Execute when emails are generated to add content to the email content or configuration
  • Where does it execute?
    • Notification
  • What is it often used for?
    • Add a CC or BCC email address, or query the database and write information to the message body
58
Q

For the following server-side script:

Scripted REST APIs

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Defines a web service endpoint
  • Where does it execute?
    • Request sent or received through web services
  • What is it often used for?
    • Return value(s) or a JSON object based on a calculation or database lookup(s)
59
Q

For the following server-side script:

UI Page Processing Script

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Executes when a UI page is submitted
  • Where does it execute?
    • Users
  • What is it often used for?
    • Validating data, setting values, etc.
60
Q

For the following server-side script:

Transform Map Script

What is the description?

Where does it execute?

What is it often used for?

A
  • What is the description?
    • Modifies or copies data format when records are imported
  • Where does it execute?
    • Data Import
  • What is it often used for?
    • Standardize date formats, fill in missing data, standardize values, map incoming values to database values for choice lists, set default values
61
Q

Which of the following are classes in the ServiceNow server-side API? More than one response may be correct.

  1. GlideSystem (gs)
  2. GlideUser (g_user)
  3. GlideDateTime
  4. GlideDate
  5. GlideForm (g_form)
A

Responses 1, 3, and 4 are correct. GlideSystem, GlideDateTime, and GlideDate are part of the ServiceNow server-side API. The server-side API also has a GlideUser class but the server-side GlideUser class does not use the g_user object. If you are not sure whether a class is part of the client-side or server-side API, check the API Reference.

62
Q

QUESTION: Which one of the following describes when before Business Rules execute their script logic?

  1. Before a form loads
  2. After a form loads but before control is given to the user
  3. Before onChange Client Scripts
  4. Before Business Rule Actions
  5. Before records are written to the database
A
  1. onBefore Business Rules execute their script logic before records are updated in the database.
63
Q

What is the difference between an after Business Rule and an async Business Rule?

A

Both after and async Business Rules execute their script logic after records are written to the database. after Business Rules execute their logic immediately after a record is written to the database. async Business Rules create scheduled jobs that run soon after a record is written to the database.

64
Q

Which of the following are NOT methods from the GlideRecord API? More than one response may be correct.

  1. addQuery()
  2. addEncodedQuery()
  3. addOrQuery()
  4. addAndQuery()
  5. query()
A

Responses 3 and 4 are correct. addOrQuery() and addAndQuery() are not methods from the GlideRecord API. If a script contains multiple statements that use the addQuery() method the queries are ANDed. To explicitly AND or OR a condition in a query, use the methods from the GlideQueryCondition class.

65
Q

Which of the following are NOT true about the current object? More than one response may be correct.

  1. The current object is automatically instantiated.
  2. The current object property values never change after a record is loaded from the database.
  3. The current and previous objects are always identical.
  4. The current and previous objects are sometimes identical.
  5. The properties of the current object are the same for all Business Rules.
A

Responses 2, 3, and 5 are correct. Although the current object’s property values do not have to change, they can. The current object’s property values are sometimes identical to the previous object’s properties. For example, the current and previous objects are identical immediately after a record is loaded from the database. The properties of the current object for Business Rules are dependent on which table the Business Rule is for.

66
Q

What value does a Business Rule Condition field return if the field is empty?

  1. true
  2. false
  3. Nothing
  4. ””
  5. NULL
A

Response 1 is correct. If there is no value in the Condition field, the field returns true. Business Rule scripts only execute their script logic if the Condition field returns true.

67
Q

Based on the database, which one of the following is valid dot-walking syntax?

  1. u_requested_for.userID
  2. current.u_requested_for.userID
  3. number.userID
  4. current.number.userID
  5. previous.email.u_requested_for
A

Response 2 is correct. Dot-walking allows direct scripting access to fields and field values on related records.

The dot-walking syntax is:

object.related_object.field_name

68
Q

Which of the following are true about Script Includes? More than one response may be correct.

  1. Script Includes are reusable server-side script logic
  2. Script includes can extend an existing class
  3. Script includes can define a new class or function
  4. Script includes can be client callable
  5. Script includes execute their script logic only when explicitly called
A

Responses 1, 2, 3, 4, and 5 are correct. All of the statements are true for Script Includes.

69
Q

Debug Business Rules using:

  • Script Tracer
  • JavaScript Debugger
  • Debug Business Rule (Details)
  • Application log
A
  • Script Tracer - Determine which server-side scripts execute as part of a UI interaction
  • JavaScript Debugger - debug script logic
  • Debug Business Rule (Details) - debug condition script
  • Application log - view log messages
70
Q

What do the following describe?

Cannot be called from the client-side

Contain a single function

A

On demand/classless Script Includes

71
Q

What do the following describe?

  • Inherit properties of extended class
  • Do not override inherited properties
  • Most commonly extended class is GlideAjax
A

Script Include which extends a class

72
Q

What do the following describe?

  • Many applications have a Utils Script Include
  • Initialize function automatically invoked
  • Developers must create all properties
A

Script Includes which create a new class

73
Q
A