新規投稿は,100 返信投稿は,1ず ずつ増加 つ増加
この場合.「111」は,1番目に新規登録された意 見に対する11番目の返信投稿を意味する.
図4.14 コード化による掲示板投稿順の処理
しかし,この仕組みは1台のクライアント機が対象となる場合,実現 可能となるが,複数のクライアント機が存在する場合,実現は困難とな る.それは,新規投稿や返事投稿を識別するコード番号をDBファイルの フィールドから参照して,自分が新規か返事の投稿か判断して番号を生 成する際,複数のクライアント機が同時に同じ番号を取得する可能性が あり,正しいコード化が困難になることが挙げられる.この現象は,図 4.15に示す通りである.
_一一一一『 一〜
〆F 、、tech_DB.fp5 、 一一ノ
l
Webコンパニオン
掲示板への学習情報登録 登録済みレコード 登録中レコード 一 .− \、
〆o o\
DB−Number 一 DB.Number
ll
3 取得
BBS.Numb6r BBS.Number
400 □
一 取得 登録中レコード
〜 _
DB.Number
掲示板への学習情報登録
E二司1…
BBS−Number Pli
400
../皿、、、
包昔)
≡
□〜_ 一
サーバPC
図4.15 番号を二重に取得する可能性
そこで,開発した学習支援システムでは,次のようなフィールドに用 意して掲示板機能を実現する.「BBS_Number」という新規投稿番号を記録 するフィールド,rBBS_C・ntribution」という新規か返信かを記録するフ ィールドである.上記のフィールドを用いて,新規投稿と返信投稿を実 現する流れは次の通りである(図4.16).
掲示板へ投稿 て画h_DB.fβ5、ニン1
』一 表示
ザゐ ヨ r嘉.丁屍響n、nこV二ふ..r輩晒』至_.癖二重_「
周認轟i臨糠錦愛え
i縛、曇烹r癌i
、駆]BBS−C・n㎞buti。n l
[二._._ 1③BBS−C。ntrib頃i・nで表示形式判断 _ 、一− 燃、猟・虫二』雛・凋 i
き
聾…驚漏1具
∬ 』
口=コ・___
新規投稿
返信投稿 1 ①DB Numberはレコード自動付加
団DB−Number
②BBS NumberにDB Number代入
i ..風閥隅巳 1EコBBS−Numbe「
③BBS Con厨butionに「New』と記録
k圃BBS−C。n垣b]廿。n 臨
ロー一 .ノ ・一 咤… 臼 剛』 ㎜ 』丁臥 返信投稿
欝誌_ 1叢1』:r;1凱1二だ\
①DB Numberはレコード自動付加
圖lll二1器㎞ (1。。)
②返信対象新規BBS Numberを BBS Numberに代入
当呈±ピ、/灘▽首
③BBS Contributionに「Re」と記録
一.
図4.16 掲示板の新規と返信の順序処理
① 新規投稿の場合,「BBS_Sign」フィールドに「○」を記録すると共に 「BBS_Contribution」フィールドに「n e w」を記録する.記録方法 については,4.5.3で述べる.
② 「BBS_Number」フィールドに「BBS_Sign」フィールドに「O」が記 録されている場合は,掲示板情報と判断して,DBファイルに蓄積され ているレコード数を表す「DB_Number」フィールドの値に1を増加させ た数字を記録する。ここで,このレコードに記録されるrDB_Number」
フィールドと「BBS_Number」フィールドは同じ数値となる.
③ 返信投稿の場合,「BBS_Sign」フィールドに「○」を記録すると共に 「BBS_Contribution」フィールドに「re」を記録する.
④「BBS_Number」フィールドには,返信対象となる新規投稿から,
「DB_Number」フィールドの値を読み取り,記録する.こうすることで,
新規投稿のrBBS_Number」フィールドの値と返事投稿のrBBS_Number」
フィールドの値が等しくなる.この時,返事投稿の「DB_Number」フィ ールドの値は,このDBファイルのレコード数が記録されている.
以上の①〜④の流れにより生成された「BBS_Sign」フィールドの記録 により掲示板情報の判定が可能となり,「BBS_Number」フィールドの値を 第1優先キー,そして,rDB_Number」フィールドの値を第2優先キーと して並び替えを行い,表示することで新規投稿と返信投稿を順序立てて 表示することが可能となる.さらに,新規投稿と返事投稿の表示方法を 区別するために,rBBS_Contribution」フィールドの値を判断基準とする.
ここで,DBファイルから「DB_Number」フィールドの値や「BBS_Number」
フィールドの値を取得した時点と,投稿までにタイムラグが生じると,
そのタイムラグの間に別のクライアント機から同じrDB_Number」フィー ルドの値や「BBS_Number」フィールドの値を取得される可能性が生じる.
この問題を解決するために,FileMakerPro6Unlimitedの排他制御機能 を利用している.この機能では,DBファイルに記録されたレコードを編 集する際,複数のクライアント機から同時に編集がかかるとレコードヘ の上書きに頻発することになり,だれの編集を優先するか判断がっかな くなることを防ぐために1つのレコードの編集は,1人が完了するまで,
他のクライアント機からのアクセスを禁止する機能である.開発した学 習支援システムでは,この機能を利用して,新規投稿や返信投稿では,
その操作が行われた時点で空のレコードを生成し,生成した空のレコー ドに編集するという流れで投稿が行われるようにしている.学習者から 見ると,新規投稿や返事投稿も新しく操作しているように見えるが,シ
ステム上では,新規登録後の編集作業という流れを常に行うことでこの 問題を解決している(図4.17).
一
〆_〜 tech_DB、fp5
登録済みレコード ⑦仮レコードの登録
D巳Number3一 百iNumber剛一
鞘灘回取得 咽!誓
匝ゴ、 [二ニコ楼
編集中でも「DB閲mber』は
i惨照される … 0 騨…。
蝦讐烹拶,{也簿、蒙より該当レコー,,よ1也者から編集不可
、冒
クライアント機
一
Webコン碁牙ン
〜登録
掲示板への学習情報登録
正 >且﹈糖コ蓬一録 趨励 新規登録.htmI ← d劃ID確認新規登録検索.html
!噂
書⁝i
謹1情報登録
≡
新規登録編集.html 〆、5口
学習者は①から③の手を意識することなく,録できる.
サーバPC
□
当I r 』ご1十柚虫A、、炬佳7くπ
図4.17 排他制御機能を利用した番号登録方法
以上,開発した学習支援システムのDBファイルの特徴的なフィールド にっいて述べてきた,次項では,上記に述べた各フィールドをはじめ,
開発した「tech_DB.fp5」ファイルが,HTMLファイルと連動してどう 動くのかを述べる.
4.5.3 HTMLファイルの作成
開発した学習支援システムのスタート画面は,rindex.html」は図4.
18のように構成されている.
繭⑨.趣頓・㈱・1塵風m1
自ジ房鑑偽汚面一調こよる蜜計孚癬 邑0陰莇尉醜■ y噂『㎞83i己狛 置覗o◎嘘釣一
登・シ脚轍
・,鱒製
◇ロシ磁伽観交羨
歪嘩亟
懇灘整,1一
麟li董llill、,1
欄吻撃塑ts些m。fa出i哩翌「2か
』もめづくり学習鉋髪ラズデム V扉2∬
一 』 ゴ自夢三孫議丙アブロー顎こよる歳紆華奮
一恥3㎞謡暉吻妙Pro桝量b胆i鳶甲ro鵡卜 ブロジェクトゆ ぱ
○各種アンケート
アンケ=幡緬藤シズ菰廟諭i晶i露議茜論量i蔽司漏而 嚇扁『
鯉齪 皿一
月閲d㎞妙側爵060副脚 2即眠5zθ
藝遵鰯隔駿・ ロ 鳩 嗜噸「一嗜歓 ξ ㌃嫁叫1 lr l l 晒蕊痴r
図4.18 開発した学習支援システムの初期画面
学習支援システムは,大きく4つの学習段階に沿って構成されている.
ロシア法的アプローチに設計学習を支援する学習ファイルと掲示板,プ ロジェクト法的アプローチによる設計学習を支援する学習ファイルと掲 示板,そして仕様決定ファイル,試作品評価学習ファイル,報告書の作 成を支援する報告書の入力用ファイルと各学習情報を検索する機能への 入り口を設けた.Webサイトのトップページとなる「index.htm1」に
は,各機能へはリンクが設定してあり,HTMLタグのみで構成されて
いる.また,rindex.htm1」には,使用するブラウザを判定する機能を JavaScript言語で付加している.これは,開発した学習支援システムは,入カフィールドに応じて,自動的に目本語入力や英数字の入力切り替え を行っている.この機能がインターネットエクスプローラ6(以降,I E6と記述)でしか正常に稼働しないためである.
一
ここでは,開発した学習支援システムにおけるWebぺ一ジの作成方
法を,学習支援システムの典型的な機能となるロシア法的アプローチに 設計学習を支援する「学習ファイル」と「掲示板」,報告書作成を支援する学習情報検索システムの「スペシャルサーチ」について説明する.
(1)ロシァ法的アプローチによる設計学習を支援する学習ファイル データベースシステムは一般的に3層スキーマ構造で構成されている
3層スキーマ構造を有するデータベースの概念を図4.19に示す.
データベースシステム ー□
操作
外部スキーマ
示方法 入力形式
内部スキーマ 概念スキーマ