会員限定CMSに「3つの状態」を入れて、公開事故を防いだ話

記事
IT・テクノロジー
今日は、ネイルの面貸しサービス「SHARENAIL」に作った会員限定エリアの運営CMSについて書きます。

作ったのは、運営側がコンテンツを登録・編集できる管理画面です。ダッシュボード、一覧、新規作成、編集の4画面を用意し、記事には「下書き」「公開」「アーカイブ」の3つの状態を持たせました。

この仕組みが必要だったのは、会員向けコンテンツを増やすほど、開発者が毎回データを直接触る運用では続かないと感じたからです。運営メンバー自身が更新できる一方で、作業途中の記事が誤って会員に見える状態は避ける必要がありました。

一番詰まったのは、画面上の表示とデータベースの状態を必ず一致させることです。たとえば「公開中」なのに公開日時が空、というデータが入ると、一覧では公開済みに見えても会員画面に出ない、といったズレが起きます。ボタンを隠すだけでは、別の経路から不整合なデータが入る可能性も残ります。

そこで、画面側で許可する状態遷移を限定し、データベース側にも「公開するなら公開日時が必要」という制約を追加しました。さらに、下書きから公開、公開からアーカイブまでを一つずつテストし、操作結果と会員側の表示を照合しました。見た目の機能より、壊れた状態を作れない設計のほうが大切だと改めて感じました。

次は、運営メンバーごとの権限分けと、公開予約・更新通知を整えます。管理画面は作って終わりではなく、誰が使っても迷わず、安全に更新できるところまで育てたいです。

同じような会員サイトや管理画面の開発・改善は、ココナラのプロフィールからご相談いただけます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す