in ポケモン不思議のダンジョン依頼パスワード検索サイト構築計画
ポケモンマスター作って、ダンジョンマスターと依頼テーブル作ったんでその続き
データベースと大体の要件が決まったら、基本に立ち返りましょう。このサイトは「ポケモンたちの依頼パスワードを収集・検索するサイト」です。ということで、大きく分けると「登録・検索」の2種類が大きな柱というわけですね。そこで、それぞれの画面について考えましょう。
必要な画面は、メニュー・登録画面・一覧画面・詳細画面、かな。最低限だけど。
- メニューはトップ画面だね。各画面へはボタンで飛ぼう。
- 登録画面は項目の登録。訂正もここで。
- 一覧画面は項目の検索と一覧表示、ソートなんかを。
- 詳細画面は項目の表示。削除はここで行うこととしましょう
- 各画面同士の移動はボタンがあるといいな。
大まかなイメージはこんなで。さて、では色々と考えて行きますか。
全体構成
やっぱりここはマスターページを使おうかと。さっきイメージしたサイト構成を考えるに、メニューを上にだしてしまって、登録と一覧をボタンで行き来する方が使い勝手よさそう。現在登録ミッション数なんかを出しておくと素敵かな。
登録画面
一通りの項目は登録できるようにします、まぁこれは当たり前。でも、どうやって登録させましょう。DS片手に、こそっと楽チンに登録できたほうが良いし、とは言ってもWEBだからできることも知れてる。ユーザーインターフェイスはちょっと頭をひねらないといけないかも。
入力項目
- 依頼ポケモン
- リストなんてやってらんない(笑)頭文字入れたらリストを絞り込んでいけるようにしてみようか。そもそもとして、ここは空欄でもOKかな。一部のテンプレにはこの項目もないし。
- 依頼ダンジョン
- ここも頭文字入れたらリストを絞り込んでいけるようにしてみようか
- 依頼フロア
- これは数値だからスピンボタンでいいような。最大値はマスターから引っ張る
- 謝礼
- パスワード
- 入力できるけれど、入る文字は限られてる。一応入力用のボタンアイテムを準備したいな
- 備考
- テキストエリアでいーじゃん、すげーじゃん(落書き禁止)
- 暗証番号
- 登録者が好きに入力できる4桁の数字。削除や修正の時にはこれがないとできない。
……かなりわがままだ(笑)作る側の事なんか、そんなの関係ねぇっ!<お前がやるんだろ的ツッコミなしで
あと気をつけることとして、この画面を詳細編集画面でも使いたいから、レコードのIDを渡すようにして、IDがあればデータを取ってきて編集するというロジックも必要だね。
さて、入力とくれば、チェック。これは入力画面を考えたらセットで考えるべき仕様だと思うの。
依頼ポケモンはマスターにあるか
→ない場合はエラー
ダンジョンはマスターにあるか
→無い場合登録する
→ある場合、階層のチェック
→階層が無い場合、エラー
パスワード
→文字数は合っているか
→合っていない場合エラー
→文字は全て規定内か
→合っていない場合はエラー
暗証番号
→数字4桁が入力されているか
→されていない場合はエラー
→編集モード、削除モードの時は既存のレコードの値と一致しているか
→していたら処理
→していなかったらエラー
エラーの場合にはエラー表示。ダメだった所の色を変えようかな。エラーの処理フローは全部に対してチェックして一気に返したほうが入れる側もイライラしなくて良いと思うし、訂正は一回でやりたいし。登録できたら、OKメッセージと共に、もう一度入力画面へ。依頼リストは単発でみるよりは連続で見ることが多いから、繰り返し入れられる方が良いと思う。つか、POSTBACK必須だな、ここ(笑)
こんなカンジで、登録画面の構想はだいたいOK。
一覧画面
一覧画面は素直にグリッドでいっちゃえー、というイメージで。
表示するリスト項目
- 依頼ランク(探検隊ポイント)
- 依頼ダンジョン+フロア
- 謝礼
- 詳細アイコン
- 編集アイコン
ランクレベルとダンジョン、謝礼はソートできればいいなぁ。「詳細アイコン」をクリックすると詳細画面へ。「編集アイコン」をクリックすると編集画面(登録画面)へ。ここは、そんなに悩まないと思う。シンプルにシンプルに。上部に検索ボックスと検索ボタンをつけて、該当する依頼をさくっと表示できたらかっこいいw ランクや探検隊ポイント、ダンジョン、謝礼で絞り込む、と。
ここで、ちょっと考えたのだけれど、検索条件のうち、ランクはマスターがないから、集計のビューをつくっておいて、今登録されている全レコードからさらっとDISTINCTで情報を取っておくいう方法が使えるんじゃないかな。同じように、登録ミッション数だって集計ビューにしておけば楽。謝礼のあいまい検索も視野にいれて、この列項目にはフルテキスト検索設定をつけておこう。SQL-Serverさまさま♪
詳細画面
ここも超シンプル。そのままここで計画した画面表示項目でいいじゃん、と思う。
編集画面
登録画面と同じだけど、既存情報が表示されているってところが違うの。編集のチェックや処理の流れは一緒。ただし、削除ボタンを表示しておかなくちゃ。ちなみに、今回の削除だけど、もう一個、pMissonテーブルと同じレイアウトのテーブルを用意して、データをそっちにインサート後にpMissionテーブルから削除するつもり。最終編集者のIPとリモートホストを記録しておくことと、データ蓄積延べ件数把握のためなんだけどね。物理的にはユーザーからは見えないはずだし、パフォーマンスにも影響ない……と思うし。
さて、こんなカンジで画面構想は何とかなったかな……次はいよいよ製造開始w
ここまでの計画で必要な情報は以下から収集w
SpecialThanks
ドロップダウンコンボリストコントロールhttp://blogs.sqlpassj.org/yoshihirokawabata/articles/3251.aspx
マスターページ関係
http://weblogs.asp.net/scottgu/archive/2005/11/11/430382.aspx
http://blogs.wankuma.com/mymio/archive/2007/08/11/89888.aspx
SQL フルテキストインデックス関係
http://technet.microsoft.com/ja-jp/library/ms142583.aspx
http://technet.microsoft.com/ja-jp/library/ms187787.aspx