【ServiceNow】San Diegoリリース　Next Experience

2022年2月にServiceNowの新バージョン San Diego のEarly Availability（EA）版が公開されました。
EA版は一般提供の45日程度前に公開される本番適用可能なバージョンです。
まだ一般提供はされていませんが、Developer Siteの個人用インスタンス（PDI）でも利用可能になっています。
一般提供の具体的な日付はわかりませんが、おそらく3月中に行われると思われます。

今回はSan Diegoの中でも最も目を引くリリースの1つであるNext Experienceについて触ってみた結果を書いてみたいと思います。

# Next Experience
プラットフォームエクスペリエンスと呼ばれるUIのイメージが大きく変わると聞いて、PDIをSan Diegoで作り直してみました。
早速ログインしてみたところ、以下のような画面が表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/c3575138-e179-6eb4-71b8-9901445e51db.png)

画面上部のバナーフレームの見た目が変わっているようです。
左側にあったアプリケーションナビゲータ（メニュー）も表示されていません。
参考までに以前のUI（UI16）の画像を貼っておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/697a57f4-cb0a-57e7-afe9-1742a105804a.png)

メインフレームに表示されている内容は同じですが、バナーとメニューのフレームが変わっていることがわかるかと思います。


# Unified Navigation
### メニュー
新しいバナーとメニューはUnified Navigationという名前のようです。
バナーの「All」や「History」のタブを押下するとメニューが出てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/ddda5c5d-5482-be7b-ee94-76eb2b02dae9.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/c90c717a-652f-9f29-a6a9-dddebeadaab8.png)
（ピンのアイコンをクリックすると左側に固定できるようです）

デザインが変わっただけで機能的にはあまり変わっていないようにも思えます。

### ユーザアイコン
UI16ではバナー上のユーザ名をクリックすると代理ログイン（impersonate）やログアウトが可能でした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/6138b3b7-90bf-48a8-70bd-aef7ffea21f5.png)
これはNext Experienceでは以下のような見た目になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/617eb488-cd7a-cdc1-99a5-f49a1aa0252e.png)
基本的には変わりがありませんがプリンタ用表示機能が追加されています。
(Preferenceについては後述)

### ギアアイコン
UI16ではバナー上のギアアイコンを押下すると各種設定ができる子画面が表示されていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/e30160bc-308e-afd8-3cb6-aa888b59d82b.png)
ここでは言語などの一般的な設定に加え、画面テーマや通知に関する設定が可能になっていました。

これらの機能はNext Experienceでは、ユーザアイコンをクリックしたときに表示されるメニューの「Preference」を選択すると表示される子画面で設定するようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/b9c03edc-9d73-a63d-4c8e-af189e761f8e.png)

UI16のギアアイコンでは開発者向けの機能として更新セットやアプリケーションを変更することができるようにもなっていましたが、この機能はNext Experienceでは、バナー上の地球のアイコンから設定するようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/b32120e2-e295-32af-1551-9b4f58270c94.png)
アプリケーションスコープを選択すると、選択可能なアプリケーションの一覧が表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/432d371e-f2c6-b5f1-0220-392909628dac.png)
更新セットも同様の動作をします。

### Global検索
バナー上の検索窓によるGlobal検索ではRomeから導入されたAI Searchによる検索に変更されたようです。
AI Searchによるものだと思いますが、以下の図のようにスペルミスがあってもある程度正しく検索を行ってくれています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/9c8b494c-e6b9-616e-a032-54eee146f9f4.png)

あまり細かいところまでは見られていませんが、UI16にあった機能は基本的にNext Experienceでも使えるようになっているように思いました。

# Landing Page
リリースノートには、Next Experienceを有効化した状態でログインした際、デフォルトのLanding Pageが表示されると記載されています。
https://docs.servicenow.com/bundle/sandiego-platform-user-interface/page/get-started/servicenow-overview/concept/exploring-your-next-experience-homepage.html
>When the Next Experience framework is installed, your landing page is the first thing you see when you log in to your ServiceNow® instance.

>（和訳）Next Experienceフレームワークがインストールされている場合、 ServiceNow®インスタンスにログインしたときに最初に表示されるのはランディングページです

ところが、PDIに最初にログインしたときに表示される画面は以下のとおり、App Engine Studioのページになっています。
デフォルトのLanding Pageを表示するには以下の2つのプロパティの値を「now/nav/ui/home」に設定する必要があるようです。
- glide.login.home
- glide.banner.image.url

一つ目のプロパティはログイン後にリダイレクトされるページを設定するためのもので、二つ目のプロパティは画面左上のアイコンをクリックしたときにリダイレクトされるページを設定するためのものです。
これをLanding PageのURLに変更すると以下のような画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2297934/189ceff0-06df-73ce-cf14-bee121eed621.png)
Lnading Pageには管理者向けと一般ユーザ向けが用意されており、画像は管理者向けのものです。
管理者向けのページは、一般ユーザ向けのものにインスタンスの情報（インストールされたアプリの更新情報等）が付加されています。
基本的にはログインしたユーザが行うべきタスクが表示されているようです。

# Next Experience のプロパティ
最後にNext Experienceになじめない人のためにいくつかの設定を紹介しておきます。
- glide.ui.polaris.experience
    - システム全体でNext Experienceを利用可否を定義するプロパティです。
- glide.ui.polaris.use
    - プロパティではなくユーザプリファレンスですが、ユーザ毎にNext Experienceの利用可否を設定できます。

※この設定をするときはLanding Pageに関するプロパティを解除しておかないとログインしたとき自動でNext Experienceにリダイレクトされてしまうので注意が必要です。

蛇足ですが、プロパティの名称に含まれる「polaris」という名前は開発時のコードネームだそうです。

他にもテーマの変更などが可能なようですが、今回は簡単に触ってみてわかる範囲について記載してみました。
最後まで読んでいただき、ありがとうございました。