1人で使う管理画面のUI設計メモ

CMSの管理画面を作りました。利用者は自分ひとり。この前提が設計をどれだけ単純にするか、メモしておきます。

作らなくてよかったもの

  • ユーザー管理・権限。 管理者は1人と決めたので、ロールも招待も不要。
  • WYSIWYGエディタ。 Markdownをテキストエリアで書き、隣にプレビューが出れば十分。
  • ゴミ箱・リビジョン。 記事はファイルなので、履歴はgitに任せる。

「一般的なCMSにはあるから」で機能を足すと、ひとり用の道具はすぐ重くなります。

それでも手を抜かなかったもの

セキュリティです。 利用者が1人でも、管理画面はインターネットに面しています。

  1. ログインURLは非公開のパスにして、外れたら404を返す(存在自体を隠す)
  2. すべての更新系リクエストにCSRFトークン
  3. ログイン試行の回数制限
  4. 出力は全部エスケープ。プレビューも公開側と同じ変換器を通す

いちばん効いた工夫

編集画面のライブプレビューでした。書いた Markdown がその場で公開時と同じ見た目になるので、「公開してから崩れに気づく」が消えます。実装は、本文をPOSTして変換結果を返す小さなAPIをひとつ足しただけです。

道具は「機能の多さ」ではなく「不安の少なさ」。ひとり用ならなおさらだと感じます。