Navigation action cancellation

  • Release version: Xanadu
  • Updated August 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Navigation Action Cancellation

    The Request Manager in ServiceNow enables users to cancel navigation actions by selecting another link in the application navigator. This feature enhances user experience by allowing cancellation of slow-loading transactions without waiting for them to finish.

    Show full answer Show less

    Key Features

    • Cancellation Conditions: A transaction can be canceled if both the original and new transactions are marked as cancelable, or if the original transaction is part of the always cancelable list and the new one is also cancelable.
    • System Properties:
      • glide.requestmanager.cancelothertransaction: Enables or disables automatic cancellation (default: true).
      • glide.requestmanager.alwayscancel: Lists URIs that can always be canceled, typically read-only data (default: home,sysreporttemplate).
      • glide.requestmanager.cancelreferencecompleter: Cancels previous queries in reference fields when new input is entered (default: true).

    Key Outcomes

    By utilizing these features, ServiceNow customers can improve navigation efficiency and user satisfaction. Administrators can control cancellation actions based on user needs, add items to the always cancel list, and prevent specific module transactions from being canceled as necessary.

    The Request Manager allows users to cancel any navigation action they select from the application navigator by clicking another application navigator link. System properties work with settings for the table to allow navigation action cancellation.

    This allows users to cancel slow loading transactions without having to wait for the previous transaction to complete.

    One of the following conditions must be true for the Request Manager to cancel a transaction.
    • Both the original transaction and new transaction are cancelable (both transactions have the setting sysparm_cancelable=true).
    • The original transaction is a member of the always cancelable allow list (the module is listed in the glide.request_manager.always_cancel system property) and the new transaction is cancelable (has the setting sysparm_cancelable=true).
    • Both the original and new transaction produce an auto-completer query in a reference field.

    Cancellation workflow

    The Request Manager uses the following workflow to determine whether to cancel a transaction.
    Figure 1. Cancel navigation actions
    Table 1. Navigation cancellation system properties
    Property Description
    glide.request_manager.cancel_other_transaction Enables or disables automatic cancellation behaviors. When true, users can cancel one navigation action with another navigation action.

    Type: true | false

    Default value: true

    Location: sys_properties table

    glide.request_manager.always_cancel A comma-separated list of URIs that users can always cancel by clicking another navigation action. Typically items on this list are modules that provide read-only data such as dashboards, reports, or knowledge articles.

    Type: string

    Default value: home,sys_report_template

    Location: sys_properties table

    glide.request_manager.cancel_reference_completer Cancels a user query in a reference field when the user enters more information. For example, if the user starts an AJAX search in the Problem number field by entering PRB and then enters PRB000, the second query cancels the first query.

    Type: true | false

    Default value: true

    Location: sys_properties table

    Use cases

    There are three use cases where administrators can control user cancellation actions.

    1. A user clicks a module, such as the homepage (home.do), and while waiting for the module to load decides to navigate to another module, such as the list of open incidents (incident_list.do). The system property glide.request_manager.cancel_other_transaction controls this use case.
    2. A user clicks a module that displays read-only data, such as a report (sys_report_template.do?sysparm=sysid), and while waiting for the module to load decides to navigate to another module, such as the list of open incidents (incident_list.do). The system properties glide.request_manager.cancel_other_transaction and glide.request_manager.always_cancel control this use case.
    3. A user starts typing a query in a reference field, such as entering PRB in the related Problem field and while waiting for the auto-completer to display results, decides to enter more information, such as PRB000. The system properties glide.request_manager.cancel_other_transaction and glide.request_manager.cancel_reference_completer control this use case.