Navigation action cancellation 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 white 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 | falseDefault value: trueLocation: 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 homepages, reports, or knowledge articles. Type: stringDefault value: home,sys_report_templateLocation: 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 | falseDefault value: trueLocation: sys_properties table Use cases There are three use cases where administrators can control user cancellation actions. 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. 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. 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. Add sites to the always cancel white listYou can add UI pages or other links to the always cancel white list so that users can cancel actions on these pages by navigating to another module or link.Prevent users from canceling module transactionsYou can explicitly prevent users from canceling the activity of a module by updating the module definition.