要求マネージャを使用すると、ユーザーは別のアプリケーションナビゲータリンクをクリックして、アプリケーションナビゲータから選択したナビゲーションアクションをキャンセルできます。システムプロパティはテーブルの設定と連携して、ナビゲーションアクションのキャンセルを許可します。
これにより、ユーザーは前のトランザクションの完了を待たずに、読み込みの遅いトランザクションをキャンセルできます。
要求マネージャーがトランザクションをキャンセルするには、次のいずれかの条件が満たされている必要があります。
- 元のトランザクションと新しいトランザクションの両方がキャンセル可能です (両方のトランザクションの設定 sysparm_cancelable=trueがあります)。
- 元のトランザクションは常にキャンセル可能な許可リストのメンバーであり (モジュールは glide.request_manager.always_cancel システムプロパティにリストされています)、新しいトランザクションはキャンセル可能です ( sysparm_cancelable=true設定があります)。
- 元のトランザクションと新しいトランザクションの両方で、参照フィールドにオートコンプリートクエリが生成されます。
キャンセルワークフロー
要求マネージャーは、次のワークフローを使用して、トランザクションをキャンセルするかどうかを決定します。
図 : 1. ナビゲーションアクションをキャンセル
表 : 1. ナビゲーションキャンセルシステムプロパティ
| プロパティ |
Description (説明) |
| glide.request_manager.cancel_other_transaction |
自動キャンセルの動作を有効または無効にします。true の場合、ユーザーは 1 つのナビゲーションアクションを別のナビゲーションアクションでキャンセルできます。 タイプ:true | false
デフォルト値: true
場所: sys_propertiesテーブル |
| glide.request_manager.always_cancel |
ユーザーが別のナビゲーションアクションをクリックしていつでもキャンセルできる URI のカンマ区切りリスト。通常、このリストのアイテムは、ダッシュボード、レポート、ナレッジ記事などの読み取り専用データを提供するモジュールです。 タイプ:文字列
デフォルト値: home,sys_report_template
場所: sys_propertiesテーブル |
| glide.request_manager.cancel_reference_completer |
ユーザーがさらに情報を入力したときに、参照フィールドのユーザークエリをキャンセルします。たとえば、ユーザーが [問題番号] フィールドで「 PRB 」と入力して AJAX 検索を開始し、「 PRB000」と入力すると、2 番目のクエリによって最初のクエリがキャンセルされます。 タイプ:true | false
デフォルト値: true
場所: sys_propertiesテーブル |
ユースケース
アドミニストレーターがユーザーのキャンセルアクションを制御できるユースケースは 3 つあります。
- ユーザーはホームページ (home.do) などのモジュールをクリックし、モジュールがロードされるのを待っている間に、オープンインシデントのリスト (incident_list.do) などの別のモジュールに移動することにします。システムプロパティ glide.request_manager.cancel_other_transaction このユースケースを制御します。
- ユーザーは、レポート (sys_report_template.do?sysparm=sysid) などの読み取り専用データを表示するモジュールをクリックし、モジュールのロードを待っている間に、オープンインシデントのリスト (incident_list.do) などの別のモジュールに移動することにします。システムプロパティ glide.request_manager.cancel_other_transaction と glide.request_manager.always_cancel は、このユースケースを制御します。
- ユーザーは、関連する [問題] フィールドに 「PRB 」と入力するなど、参照フィールドへのクエリの入力を開始し、オートコンプリートによる結果の表示を待っている間に、 PRB000 などの詳細情報を入力することにします。システムプロパティ glide.request_manager.cancel_other_transaction と glide.request_manager.cancel_reference_completer は、このユースケースを制御します。