|
1.3.
設計
1.3.1. テーブル設計
リレーション

1.3.2. クラス設計
<言語地図関連のクラス>
Questionクラス:質問項目を表すオブジェクト
質問名、質問内容を保持する
Informantクラス:発話者情報を表すオブジェクト
発話者名、発話者情報、地点名、地点の住所、調査情報を保持する
Answerクラス:回答情報を保持する
QuestionとInformantに結びついた回答(語形)情報を保持する
Atlasクラス:派生地図を表すオブジェクト
派生地図名を保持する
Markクラス:派生地図の記号を表すオブジェクト
マークの形、色、凡例、マッチパターンを保持する
<言語地図関連クラスの隠蔽>
この5つのクラスを抽象化して、ユーザには「言語地図」(Question + Answer)、「地点」(Informant)、「派生地図」(Atlas + Mark)の組み合わせとして見せるようにする。
「言語地図」とは、語形をそのまま表示する地図のことを示す。方言地理学では資料地図と呼ばれるものに当たる。「派生地図」とは、「言語地図」をもとに研究者の観点を加えて加工した地図のことを示す。方言地理学では解釈地図と呼ばれるものに相当する。
<ユーザ関連クラス>
Userクラス:登録ユーザを表すクラス
名前、ログイン名、ハッシュパスワードなどを保持する
Groupクラス:グループを表すクラス
グループ名、アクセスレベルなどを保持する
1.3.3. アクセス制限の設計
言語地図の共有・公開を実現するために、言語地図と派生地図、地点、回答についてアクセス制限ルールを以下のように設定する。すべてのオブジェクトについて、名前・データの変更などの編集機能は作成者にのみ認められる。
言語地図のアクセス制限ルール
公開レベル:公開しない → 作成者以外は閲覧できない
グループに公開 → 言語地図の属すユーザのみ閲覧できる
全体に公開 → だれでも閲覧できる(未登録ユーザ含む)
追加レベル:追加できない → 自分以外はデータを追加できない
グループのみ追加可能 → 言語地図の属すユーザのみ追加できる
誰でも追加できる → 登録ユーザなら誰でも追加できる
派生地図のアクセス制限ルール
公開レベル:公開しない → 作成者以外は閲覧できない
グループに公開 → 言語地図の属すユーザのみ閲覧できる
全体に公開 → だれでも閲覧できる(未登録ユーザ含む)
地点のアクセス制限ルール
作成者(所有者)以外は閲覧・データ追加できない
回答のアクセス制限ルール
公開レベル:帰属する地図の公開レベルと同じ
1.4. 実装画面
1.4.1. トップページ
トップページでは、公開されている言語地図とグループの一覧が表示される。

右上のメニューからログインして自分独自の画面(マイページ)に移動することができる。
1.4.2. ログイン画面
すでに登録しているユーザはログインしてサイトの全機能を使えるようになる。

ログインパスワードを忘れた場合は、メールアドレスを入力することでパスワードの再設定が可能になる。
1.4.3. 新規ユーザ登録
メールアドレスなどを登録して専用アカウントを作成できる。

1.4.4. マイページ
マイページでは、自分の所有する全オブジェクトの情報を見ることができる。

タブインターフェースにより、言語地図・地点・グループ・メッセージの画面切り替えを行う。タブの内容は非アクティブなものであっても表示されていないだけなので、切り替え時の動作はタブ切り替えのたびに内容をサーバから読み込む通常のWebアプリケーションに比べて軽快になっている。
1.4.5. 言語地図の作成
マイページから言語地図を作成できる。

諸種情報の他、所属するグループ、公開レベル、データの追加レベルを設定できる。
作成後は言語地図画面の「編集」タブからこれらを変更可能。
1.4.6. 言語地図表示
言語地図表示画面では、回答がマークとして地図上に表示される。
GoogleMapを利用しているので地図の移動、拡大縮小が可能。また、背景地図の透明度を変更してマークを見やすくすることができる。
1.4.7. 言語地図への回答追加
自分が追加権限を持っている場合は、言語地図にデータを追加することができる。

自分の所有する地点は緑色で表示される。
緑色の地点をクリックするとその場で回答を入力できる。音声ファイルも登録可能。

1.4.8. 派生地図の作成
公開されている言語地図のデータを使い、それについて独自の見地からまとめた派生地図を作ることができる。

公開レベルの設定が可能。
作成後は派生地図画面の「編集」タブからこれらを変更可能。
1.4.9. 派生地図の凡例編集
派生地図では、それぞれの語形をどの凡例に分類するか指定できる。

「マーク」は形と色の組み合わせを自由に選ぶことができる。
「パターン」にはふつうの文字列、あるいは正規表現をカンマで並べて複数記述でき、簡単に語形を分類することができる。
どの凡例にも当てはまらない語形は、”No match”と表示される。これは「パターン」を修正するたびにリアルタイムでアップデートされる。
1.4.10. 派生地図の表示
派生地図では、もとになる言語地図よりも少ない数の凡例が表示される。

派生地図の作成者は、地図表示の際のデフォルトの中心位置、ズームレベル、背景地図の透明度を決めておくことができる。これは言語地図でも同様。
1.4.11. 地点の新規登録
マイページから地点を作成することができる。

地点の場所は右の地図でクリックしたところになる。
HOUGEN.jpでは地点とインフォーマントが同一オブジェクトなので、地点の編集時にインフォーマント情報も記述する。
作成後は地点画面の「編集」タブからこれらを変更可能。
1.4.12. 地点の回答一覧
その地点で登録された回答の一覧。

現在、ここでは閲覧しかできないが、同画面で回答データを一括して修正できるようにする予定。
1.4.13. グループの新規作成
マイページからグループの新規作成を行うことができる。

グループは、共同で言語地図や派生地図を作りたい場合、また、自分の作成した地図を特定のユーザのみに見せたいときなどに用いる。
参加資格として「誰でも参加できる」か「作成者の許可が必要」かを選択できる。「作成者の許可が必要」なグループに入りたい場合は、作成者にメッセージを送る。
作成後はグループ画面の「編集」タブからこれらを変更可能。
1.4.14. グループのメンバー一覧
「メンバー一覧」タグでグループに所属するメンバーの一覧が見られる。

1.4.15. グループのメンバー編集
グループの作成者はメンバーの追加・削除を行うことができる。

1.4.16. グループへの参加
誰でも参加できる設定になっているグループの場合は、ユーザが[参加する]をクリックすることで自分から参加できる。

1.4.17. グループの掲示板
グループはそれぞれ専用の掲示板をもっており、メンバーは自由に書き込むことができる。

1.4.18. グループ掲示板への書き込み
[コメントする]をクリックすると既存の記事にコメントできる。

ここでも画面遷移は起こらず軽快に使用できる。
1.4.19. 他ユーザへのメッセージ送信
他ユーザのトップページから、[メッセージを送信]をクリックすることでそのユーザにメッセージを送ることができる。

メッセージの作成
1.4.20. メッセージの受信
自分にメッセージが送信されている場合は、ログイン時に件数が表示される。

新着メッセージのタイトルは赤字で表示される。

1.4.21. メッセージへの返信
メッセージのタイトルをクリックすると内容が表示される。

[返信する]をクリックすると返信フォームが現れる。

どの操作も画面遷移しないので軽快に使用できる。
|