パラメータで指定しているビューと異なるビューに遷移する
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-29-2023 06:48 PM
Database view[u_facility_hyouji_for_application]のRequest task[request_task]ビューリスト画面に遷移するContent Itemを作成しました。
URLのパラメータ[syparm_view]でビューを指定しています。
ですが、URLは正しいにも関わらずSelf Use Training[self_use_training]ビューに遷移しているユーザがいることが判明しました。
以下、トランザクションログです。
ほとんどのユーザは以下の通り、正常にRequest task[request_task]ビューに遷移しています。
また、ビューのレコードは以下の通り正しく登録されています。
なぜこのような現象が起こっているのでしょうか?
原因をご存知の方がいらっしゃいましたら、ご教示いただきたいです。
よろしくお願いいたします。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-29-2023 07:59 PM
ユーザーが自分でビューを選択したのではないかと推測しました。Viewの動きについて以下のページに記載があります。
この説明を引用して、ふたつの疑問にChatGPTに回答してもらいました。
- 疑問1:ユーザーが選択したビューとURLで指定したビューはどちらが優先されるのか。
- 答え:通常の状況では、ユーザーが選択し保存したビューが優先されます。つまり、ユーザーが一度ビューを選択すると、それがユーザーのデフォルトのビューとなり、その後URLで異なるビューを指定しても、ユーザーが選択したビューでフォームが開きます。
- 疑問2:URLのビューを強制したい場合はどうしたらよいのか。
- 答え:URLのビューを強制するためには、sysparm_view_forcedパラメータをtrueに設定します。これにより、ユーザーの保存済みのビュー設定を無視して、URLで指定したビューが表示されます。
==説明ページから引用==
ユーザーがビューを切り替えると、選択したビューはユーザーの設定として保存され、フォームを開いたときにデフォルトで同じビューが表示されます。ユーザーがビューを設定して保存している場合、別のビューを指定したURLでレコードを開くと、ユーザー設定のビューでフォームが表示され、URLの指定は無視されます。例えば、ユーザーがインシデントレコードでモバイルビューを選択し、次にビジュアルタスクボードビューを指定した以下のリンクを開こうとしても、フォームは引き続きモバイルビューで開きます。
https://{instance}/nav_to.do?uri=incident.do?sys_id={sys_ID}sysparm_view=vtb
sysparm_viewパラメータは、リストまたはフォームで使用するビューを指定しますが、ユーザーのビューに対する保存済みの設定によって上書きすることができます。この振る舞いを上書きするには、sysparm_view_forcedパラメータをtrueに設定します。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-29-2023 09:40 PM - 編集済み 06-29-2023 10:23 PM
ご返信ありがとうございます。大変助かります。
ユーザーが自分でビューを選択したのではないかと推測しました。
こちら、ユーザにヒアリングしたところビューは変更していないみたいでした、、
ちなみに、adminユーザで対象のDtabase viewでTry Itしたところ、
DefaultビューでなくSelf Use Trainigビュー(URLで指定していないのに表示されていたビュー)になっていたのですが、
こちらの設定も関係しているのかご存知でしょうか?
sysparm_view_forcedというパラメータがあるのですね、知りませんでした、、
ユーザにビューは選択させない仕様としているので、こちらをパラメータに追加するようにしてみます!
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-30-2023 02:34 AM
誰かが意図せず何かしてビューが設定されている可能性があります。ユーザー設定がされているかどうかを確認してみてください。
ユーザーが手動で設定した値は、User Preferences[sys_user_preference]に保存されています。
u_facility_hyouji_for_application Tableなら 「u_facility_hyouji_for_application.view」「u_facility_hyouji_for_application_list.view」このようなNameで、どのユーザーが選択しているか把握できます。またSystem設定にしていると全ユーザーのデフォルト値にもなります。
別の機能ではビューの切り替え制御は、ViewRulesの設定によっても自動的に変わります。