1人で使う管理画面のUI設計メモ
CMSの管理画面を作りました。利用者は自分ひとり。この前提が設計をどれだけ単純にするか、メモしておきます。
作らなくてよかったもの
- ユーザー管理・権限。 管理者は1人と決めたので、ロールも招待も不要。
- WYSIWYGエディタ。 Markdownをテキストエリアで書き、隣にプレビューが出れば十分。
- ゴミ箱・リビジョン。 記事はファイルなので、履歴はgitに任せる。
「一般的なCMSにはあるから」で機能を足すと、ひとり用の道具はすぐ重くなります。
それでも手を抜かなかったもの
セキュリティです。 利用者が1人でも、管理画面はインターネットに面しています。
- ログインURLは非公開のパスにして、外れたら404を返す(存在自体を隠す)
- すべての更新系リクエストにCSRFトークン
- ログイン試行の回数制限
- 出力は全部エスケープ。プレビューも公開側と同じ変換器を通す
いちばん効いた工夫
編集画面のライブプレビューでした。書いた Markdown がその場で公開時と同じ見た目になるので、「公開してから崩れに気づく」が消えます。実装は、本文をPOSTして変換結果を返す小さなAPIをひとつ足しただけです。
道具は「機能の多さ」ではなく「不安の少なさ」。ひとり用ならなおさらだと感じます。