FileMaker Server AdminConsole のナビゲーションバーとデータベース接続クライアント情報を Stylus で Sticky にする

# はじめに
## 前書き
* 本記事は [FileMaker Advent Calendar 2021](https://qiita.com/advent-calendar/2021/filemaker) 3 日目の記事です。

## 対象読者
* [Claris FileMaker Server](https://www.claris.com/ja/filemaker/server/) または [Claris FileMaker Cloud](https://www.claris.com/ja/filemaker/cloud/) を Admin Console で管理している人
* あるいは、これから管理しようとしている人
* ブラウザが Google Chrome / Firefox

## 検証環境
* FileMaker Server 19.2
    * 公開時点 ( 2021/12/03 ) の最新版である 19.4 では未検証
    * FileMaker Cloud については、検証環境がなく検証していないので、実際に動作するかは分かりません。ただ、FileMaker Server と同じフロントエンドであれば、同じように動作するはずです。
* Google Chrome 96.0.4664.45
* Stylus 1.5.22

# 何がどうなる
## 何が
* FileMaker Server Admin Console の管理画面において、上の方に `ダッシュボード` `データベース` といったナビゲーションメニューがあります。
* このメニューバーが今回のターゲットです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/8b3c4b25-3e34-06ca-264c-56af9244281d.png)

* また、 `データベース` ページにおける右側の `クライアント` 情報のところ等もターゲットです。
    * `等` と書いているのは `クライアント` に限らずこの領域を固定するからです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/6d97a064-cdb5-1ea3-2fce-89b5bf9c760a.png)


## こうなる
### before
* このナビゲーションバーやクライアント情報の領域は、固定されていないので、下の方にスクロールしていくと、あっという間に以下のような感じになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/7c56699f-7a7e-3b28-e070-5c955e3323ef.png)

* 言うまでもなく、ナビゲーションバーは上の方に取り残されています。なので、別のページへ遷移したいとなると、また上の方にスクロールしていかなくてはなりません。たいへん手間です。
* また、ホストされているデータベースファイルの数がクライアントの数より多いと、次のようにデータベースの一覧だけが左に並び続けてしまいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/4f85fb39-8ad3-18d7-4143-efc1be0553a9.png)

* ここで `C_mypage` というデータベースを選んでも、接続中の 5 クライアント情報はすぐ横に現れてくれません。上の方にスクロールしていかなくてはなりません。たいへん手間です。

### after
* 上記の通り、大変めんどうな状態になってしまうのですが、ちょっとしたことをすると、はい、次の通り。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/cbfbe9a6-140c-fffa-26a5-aea4b2e2ade3.png)

* ちょっとしたことで、ナビゲーションバーが固定表示され、また、クライアント情報もすぐ横に表示されてくれるようになりました。便利でしょう。便利なのです。
* このような便利な状態にするのに、必要な時間は、三分です。三分で実装できます。某クッキングより簡単です。ほんとに。

# 前提確認
## 規約
* フロントエンドのカスタマイズって、そんなことして大丈夫？　という心配を、あらかじめ払拭しておきます。
* FileMaker Server AdminConsole のフッタには、以下の通り、`エンドユーザライセンス契約書 (EULA)` へのリンクがあります。こちらを開いてみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/6b57e78c-2e7e-07af-f320-8a6b54c42a9f.png)

* リンクを踏むと `Claris FileMaker Server ソフトウェア・ライセンス` という PDF ドキュメントが開きます。こちらを確認しましたが、フロントエンドのカスタマイズを禁ずるような項はありませんでした。
* 特段、サーバサイドに対して何かするわけでもなし、そもそも FileMaker Server であれば自身の構築している環境なのでサーバサイドに対して何かしたとしても自社の範囲内、ということで、大丈夫です。
    * FileMaker Cloud の規約確認まではしていません。悪しからず。


# Stylus とは
## 概要
* さて、ちょっとしたことをすると、という、ちょっとしたことには [Stylus](https://add0n.com/stylus.html) という拡張機能のインストールをブラウザにおこなう必要があります。
* 簡単に説明すると、レンダリングされた WEB ページの CSS 情報を上書きするというものになります。つまり、自分だけの WEB 表示カスタマイズができるというものです。
* 以下では Chrome でのインストール案内をします。
    * Firefox はググってください。
    * Safari でも使えるらしいという情報は見かけましたが、やや怪しめで未検証です。

## インストール
* [chrome ウェブストアの Stylus ページ](https://chrome.google.com/webstore/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne?hl=ja) へアクセス
* 右上の青いボタン `Chrome に追加` を押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/d78b9c08-6d1e-85ba-b51f-599786d62acc.png)

* [chrome://extensions/](chrome://extensions/) を開くと `Stylus` が追加されているので、右下のトグルを弄ってオンにしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/608b1dbd-1d49-94e7-3282-7b4242f4ba9e.png)

* Chrome 拡張機能ボタン群の中に、以下のように `S` が増えればインストール完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/8ac4bc1a-de54-ad59-b179-8f038ef74b9a.png)


# 設定方法
## スタイル作成までの手順
* まず、AdminConsole の URL を叩いて開いておきましょう。
* その後で、上記の通り `S` を押して Stylish を起動させます。例えば Qiita を開いた状態で実行すると、以下のように表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/73160fd8-6ced-160a-1d3e-226d8a367dd3.png)

* 上記の `管理` ボタンを押すと、以下のようなページが表示されるので、左メニューの中から `▼アクション` 内にある `新スタイルを作成` ボタンを押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/f78f2a23-a480-2550-456a-ba3c132eb74e.png)

## スタイル作成
* 正常に進んでくれば、以下のようなページが表示されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/252057a2-fcbc-b88c-69a8-0067ba741c55.png)

* まず、名前を入力しておきましょう。ここでは `FMS_AdminConsole_Sticky` とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/8fb4bb80-69d5-1455-542a-fa9af5fabad1.png)

* 右のコード欄には、以下のように記してください。

```CSS
.col-content-right {
  height: 100%;
  position: sticky;
  top: 100px;
}

.nav-bg {
  position: sticky;
  top: 0;
  z-index: 2;
}
```

## 適用と反映

* 次に、適用先です。コード入力欄の下の方にあるので、 `＋` を押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/fa36a691-1f3e-1bc4-5ba4-9f63bf28977b.png)

* 適用先の設定は以下のようになります。環境次第で、FQDN ＝ サブドメインではなくて IP アドレスが直打ちとなるところもあるかと思いますので、適宜読み替えてください。
    * あと、FileMaker Server 19.4 以後では 16000 ポートでなく 443 になるとかいうのもありますので、そのあたりもご自身の環境に合わせてどうぞ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/c26c8324-a857-7b65-650c-99f2c05acd87.png)

* 最後に `有効` にチェックが入っていることを確認して `保存` を押したら、`管理画面に戻る` より戻ってみてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/8fb4bb80-69d5-1455-542a-fa9af5fabad1.png)

* 一覧画面で以下のように表示されているのが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/89b92085-c44f-4aa5-3da3-14528fc40a8a.png)

## 確認
* 作業が完了したら AdminConsole では以下のように固定表示されてくれているはずです。お疲れ様でした！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/cbfbe9a6-140c-fffa-26a5-aea4b2e2ade3.png)

# GitHub リポジトリ
* https://github.com/hi-noguchi/FileMakerServer_AdminConsole_Stylus
* GitHub リポジトリを一つ立てましたので、公開いたします。今後、FileMaker Server の ver.up にともなってソースコードが更新される可能性もありますので、リポジトリのほうをご覧ください。

# おわりに
## 予告
* 次の記事では、この FileMaker Server AdminConsole のカラーテーマを、同じく Stylish でカスタマイズしてみるとしましょう。
* 記事が公開されたら、本項については修正される予定です。

## 雑感
* このあたりの使い勝手の良し悪しについて、あまり議論されることが少ない気がする……？
* いやしかし、記事タイトルを正確に記そうとすればするほど長くなりますね。そもそも FileMaker Server AdminConsole というだけで長くなってしまう。