PROJECT 002 — 社内ポータルサイトをWordPressで作る。
STEP 05 / USERS & ROLES
STEP 04では、HOME、カテゴリー、投稿、検索をつなぎ、必要な情報へ移動する導線を整えました。
ここまででサイトの形はできましたが、社内ポータルは一人で更新するブログではありません。複数の利用者がログインし、それぞれの名前で情報を読み、投稿やコメントを扱います。
そこで次に取り組んだのが、WordPressユーザーの登録と、権限・所属情報の整理です。
「誰が使うか」をWordPressへ登録する
WordPressユーザーは、管理画面やログインが必要なサイトを利用するためのアカウントです。ログイン名、表示名、メールアドレス、パスワード、権限などの情報を持ちます。
一人で運営するブログなら、管理者のアカウントだけでも記事を書けます。今回の社内ポータルでは、利用者ごとの投稿やコメント、後から作る確認機能へつなげるため、利用者を個別のユーザーとして登録する必要がありました。
まず整理したのは、次の情報です。
- ログインに使う名前
- 画面へ表示する名前
- メールアドレス
- WordPressの権限グループ
- 社内ポータルで使う所属グループとチーム
実際の値は個人情報になるため、この記事では公開しません。大切なのは、登録件数を増やす前に、何をログイン情報として扱い、何を社内の所属として扱うかを決めることでした。
WordPressの権限と社内の所属を分ける
整理するときに混同しやすかったのが、WordPressの権限グループと、社内ポータル独自の所属情報です。
WordPress role └─ WordPress上で何を操作できるか 所属グループ / チーム └─ 社内でどの情報や組織に関係するか
role(ロール、権限グループ)は、投稿を作れるか、ユーザーを管理できるかなど、WordPress上の操作範囲を決める標準機能です。
一方、所属グループやチームは、今回の社内ポータル用に追加した情報です。同じWordPress roleでも、所属するグループやチームが異なる利用者がいます。反対に、同じ所属でもWordPress上の役割が異なる場合があります。
初期段階では、WordPressの操作権限と業務上の分類を別々に持たせるところまでを作りました。特定の文書を発行できる人や、確認対象を細かく分ける仕組みは、実際の運用に合わせて後から追加しています。
既存ユーザーのデータを整理する
今回は、すべての利用者を一から手入力したわけではありません。既存のWordPressユーザーを移行し、新しい社内ポータルで必要な項目へ合わせて整理しました。
最初は既存のインポート機能も使いましたが、実際のユーザーデータには、そのままでは登録できない値がありました。
- 同じメールアドレスが複数の行に入っている
- メールアドレスが登録されていない
- 先頭が0のログイン名をExcelで開くと、0が消える
- 姓と名の順番が想定と逆になる
- 所属チームを設定しない利用者がいる
WordPressではログイン名やメールアドレスに重複の制約があります。表計算ソフトでは数字のように見える値が自動変換されることもあります。データ上の小さな違いでも、登録時にはエラーや別ユーザーとして扱われる原因になります。
そのため、ログイン名は文字列として扱い、メールアドレスの重複と空欄を確認し、表示名・姓名・所属を登録前にそろえました。
人数が多いためCSVで登録する
数人であれば、WordPress管理画面の「ユーザー」から一人ずつ追加できます。しかし、人数が増えると同じ項目を繰り返し入力することになり、表記ゆれや入力漏れも起きやすくなります。
そこで、WordPress管理画面の「ユーザー」に専用の「CSVインポート」画面を追加しました。CSVは、表形式のデータをカンマで区切って保存するファイルです。Excel用のテンプレートへ入力し、CSV UTF-8形式で保存して読み込みます。
専用インポーターでは、次の項目をまとめて扱えるようにしました。
- ログイン名、表示名、姓名
- メールアドレス
- WordPress role
- 所属グループ
- チーム
処理を実装した場所は、社内ポータル用テーマのinc/user-importer.phpです。管理画面でCSVを選び、インポートを実行すると、各行を検証してからWordPressユーザーと所属情報を登録します。
ログイン名がすでに存在する場合は、初期状態では上書きせずスキップします。既存ユーザーを更新する操作を明示した場合だけ、氏名、表示名、role、所属、チームを更新し、パスワードは変更しない仕組みにしました。
メール未登録と重複を扱う
WordPressでは、同じメールアドレスを複数ユーザーへそのまま登録できません。一方、社内ポータルの利用者全員が、登録に使える個別メールアドレスを持っているとは限りませんでした。
メールが空欄の場合は、外部へ届かない内部用アドレスを自動生成するようにしました。実在する誰かのメールを使い回さず、ユーザーごとに異なる値を持たせるためです。
入力されたメールアドレスが別のユーザーに使われている場合は、処理結果へエラーを表示します。新しいユーザーを登録するときも、ログイン名やメールが重複していればスキップし、意図しない上書きを避けました。
「登録なし」も有効な状態にする
所属情報は、必ずどれかを選べばよいとは限りません。実データには、チームをまだ設定しない利用者もいました。
そこで、チーム欄の空欄や「登録なし」を未設定として扱えるようにしました。無理にどこかへ所属させるより、未設定であることを正しく残し、必要になった段階で更新する方が安全です。
所属グループは複数選べる情報、チームは一人につき一つの情報として保存しています。この違いも、CSVの列とWordPressのユーザー情報へ分けて持たせました。
登録後に結果を確認する
インポート後は、処理結果に表示される登録、更新、スキップ、エラーの件数を確認しました。エラーがある場合は、該当する行と理由を見てCSVを直します。
次にWordPress管理画面の「ユーザー一覧」で、次の項目を確認します。
- ユーザーが必要な人数分登録されている
- 表示名と姓名が意図した順番になっている
- WordPress roleが正しい
- 所属グループとチームが正しい
- 更新対象だけが更新され、既存パスワードが変わっていない
登録できた件数だけで完了とせず、利用時に見える名前と、操作に関わるrole、業務上の分類まで確認して初めて、社内ポータルの利用者データが整ったと判断しました。
ユーザー登録で分かったこと
社内ポータルを複数人で使う場合、ユーザーを登録するだけでは足りません。WordPress上で何ができるかと、社内でどこに所属するかを分けて考える必要があります。
また、実際の利用者データには、重複、空欄、表計算ソフトによる自動変換などが含まれます。最初に項目と扱いを決め、CSVで同じ形式へそろえることで、多人数でも確認しやすくなりました。
運用が始まると、必要な権限はさらに細かくなりました。ただし、最初から複雑な権限表を作るのではなく、WordPress roleと所属を分離しておいたことで、後から業務に合わせて広げられました。
次は投稿とコメントを整える
利用者ごとのアカウントと役割が整い、複数人で社内ポータルを使う準備ができました。
次は、利用者が日々の情報を残し、補足を加えられるようにします。STEP 06では、投稿とコメントを使った情報共有の流れを整えます。
← STEP 04「社内ポータルのナビゲーションを作る。必要な情報へ迷わず移動できる導線を整える。」
PROJECT 002の記事一覧を見る
NEXT → STEP 06「投稿とコメントを使って情報を共有する。」