要求マネージャーを使用すると、ユーザーは別のアプリケーションナビゲーターリンクをクリックして、アプリケーションナビゲーターから選択したナビゲーションアクションをキャンセルできます。システムプロパティは、テーブルの設定と連携してナビゲーションアクションのキャンセルを許可します。
これにより、ユーザーは前のトランザクションが完了するのを待たずに、読み込みの遅いトランザクションをキャンセルできます。
要求マネージャーがトランザクションをキャンセルするには、次のいずれかの条件が満たされている必要があります。
- 元のトランザクションと新しいトランザクションの両方がキャンセル可能です (どちらのトランザクションにも ] の設定 sysparm_cancelable=trueがあります)。
- 元のトランザクションは常にキャンセル可能な許可リストのメンバーであり (モジュールはシステムプロパティに glide.request_manager.always_cancel リストされています)、新しいトランザクションはキャンセル可能です (設定 sysparm_cancelable=trueは )。
- 元のトランザクションと新しいトランザクションの両方で、参照フィールドにオートコンプリートクエリが生成されます。
キャンセルワークフロー
要求マネージャーは、次のワークフローを使用して、トランザクションをキャンセルするかどうかを決定します。
図 : 1. ナビゲーションアクションをキャンセル
表 : 1. ナビゲーションキャンセルシステムのプロパティ
| プロパティ |
説明 |
| 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 。