concrete5 で会員サイト作成において気をつけないといけないことのまとめ、下書きです。
この内容は concrete5.7.5.6〜8 時点での内容です。
見積もり編 & 企画設計
concrete5 の会員機能の基本を理解
- ログイン
- オリジナル
- Facebook. Twitter, Google & concrete5.org 認証
- ログイン時にユーザーの希望言語を設定できる (ログインページ自体の多言語機能は未だ)
- ログイン後に移動先のページを設定できる
- デフォルト:ホームページ、プロフィールページ、任意のページ
- /login/forward/[cID] というURL で訪問するとログイン後にそのページにリダイレクトできる
- ユーザー登録
- ID, メールアドレスとパスワードは必須。
- ID なしでユーザー登録はできない。(ログインはメールアドレスを使ってできる)
- 他の入力項目はユーザー属性としてを自由に追加できる (例: 名前、住所、電話番号、チェックボックス、選択など)
- ユーザー登録があれば、管理者にメール通知機能
- ユーザー登録の方式
- 無効 (一般登録を受け付けない)、メールアドレス認証確認、手動承認、すぐ登録
- 手動承認の場合、ユーザー登録時と承認時に登録ユーザーにメール通知が可能
- CAPTHA
- Gravatar (ちょっと難あり)
- ユーザー属性
- チェックボックス、テキスト、テキストエリア (装飾なし)、テキストエリア (WYSIWYG あり)、日付・日付時刻・時刻・日付時刻のテキスト入力、数字、選択、選択 (複数選択)、選択 (タグ)、住所、トピック、ソーシャルリンク (リンク)
- 住所は日本語の対応がまだまだなのでまだ使えない。住所はテキストフィールドなどで
- 新規登録時に入力・必須、公開プロフィール編集画面で入力・必須の出し分け設定ができる
- 公開プロフィール一覧で検索の対象にすることができる
- 公開プロフィール
- ユーザー一覧を表示、ユーザー属性で検索対象にした属性を元に検索
- プロフィール表示
- ユーザーの情報と、指定した属性を表示できる
- その表示しているユーザーへプライベートメッセージの送信
- マイアカウント
- ユーザーがプロフィールを自ら編集できる。ユーザー属性は、指定した項目のみが編集可能に。
- 登録メールアドレス、パスワードの編集
- アバター画像の編集
- プライベートメッセージの送受信
設計で気をつけることと、Yes の場合の最低想定工数
- ログイン形式を何にするか
- concrete5 標準のもののみ
- Facebook, Twitter, Google も可 (ただし、concrete5 用のログインID の設定はどちらにせよしなければいけない) +1人日/一つの認証タイプ
- どのようなユーザー属性を作成するか +1人日
- 管理画面を含めてどのようなユーザー属性を作成するか +0.25人日
- 新規登録画面ではどのような項目を表示・必須にするか +0.25人日
- ユーザーがマイアカウントページで編集できるようにするか、その場合属性はなににするか? +0.25人日
- 検索をできるようにするか。その場合自由入力以外で検索できるようにするか (Yes の場合、要、追加カスタマイズ) +0.25人日
- 新規登録の認証タイプは何にするか
- なにもなし?メール認証、手動認証?
- 手動認証の際のメール通知はするのか? +0.25人日
- その他の場合のメール通知もしたいか (Yes の場合、要、追加カスタマイズ) +0.25人日
- 新規登録画面
- 新規登録画面の見栄えをカスタマイズしたいか (Yes の場合、要、追加カスタマイズ) +1人日
- ログイン
- ログイン後の表示ページはどこにしたいか +0.5人日
- ログイン時 forward 機能を使ったオプションを使いたいか +0.25人日
- ログイン、ログアウト、マイアカウントリンクをどこに表示させるか (Yes の場合、要アドオン or 追加カスタマイズ)
- 例: concrete5-japan.org の例
- ログイン前: [新規登録 | ログイン]
- ログイン時: [username さんこんにちは! アカウント | ログアウト]
- 例: concrete5-japan.org の例
- 公開プロフィール
- プロフィールを公開させたいか。その場合の見栄えはどうしたいか? +0.5人日
- デザインを工夫して concrete5 の標準のコードで成り立つようにするか、書き換えてカスタマイズを覚悟? +0.5人日
- マイアカウント
- マイアカウント機能 (ユーザーが自分で自分の情報を編集できる) を有効にしたいか +1人日
- ユーザーが自分で編集できるようにする属性は何か +0.5人日
- アバター画像を登録できるようにするか +0.5人日
- プライベートメッセージ機能を有効化したいか。その場合、その画面の見栄えのカスタマイズが必要か。(Yes の場合、おそらく必要になるので、デザインを工夫して concrete5 の標準のコードで成り立つようにするか、書き換えてカスタマイズを覚悟) +1人日
- グループ機能
- 一般会員登録や特殊会員のグループ分けが必要か
- 追加グループが必要の場合は、プログラムのカスタマイズが必要 (1人日以上)
- グループ別にメンバー一覧が必要か (+0.25人日/ グループ)
Katz が行ったカスタマイズサンプル
- 新規登録
- ユーザーID
- ユーザーIDを自動生成 (メールアドレス+UNIXTIME) しメールアドレスだけでログイン可能に
- 多言語対応
- カスタマイズ内容
- /ja/register, /en/register/ など 多言語で登録できるように多言語の登録画面を作成
- 住所の並び替え
- 言語によって必須・不必要な項目を設定
- 特定言語の特定属性を自動入力 (例: 日本語ページであれば、国の欄に Japan を自動入力)
- カスタマイズ内容
- ユーザーID
concrete5 の仕様で困ったこと TIPS
- 「バージョン」の「新しいページ」よりページを複製する場合の権限
- 5.7.5.6 で確認
- concrete5 で、単純にサイトマップ上からページを複製すると、権限などの情報がそのまま複製されます。つまり、公開状態のページであれば、公開されたままページが複製されます。
- それを回避するために、「ページ設定」「バージョン」、複製したいバージョンをクリックし「新しいページ」を作成すると、下書き配下に新規ページが作成されます。
- ただし、この下書きページで作成されたページは、「下書き」ページの権限を継承するようになります。