このページでは簡易ウェブ投票システム "VOTE on the WEB" の使用方法を説明します。
まずは VOTE on the WEB のアーカイブをダウンロードしましょう。 ここから出来ます。 その後,VOTE on the WEBを動作させるには,あらかじめ以下の設置条件を考慮したディレクトリに展開してください。 特に2の条件をクリアするのは,ネットワークポリシーとの絡みで,時として障害となるかも知れません。
VOTE on the WEB は Perl ベースの CGI スクリプトです。 UNIX ベースのウェブサーバーで,CGI の設置が許されているサーバーではあれば,ほぼ間違いなく Perl が動くでしょう。 Windows ベースのサーバーでは,私の知る限り ActivePerl などのサードパーティ製の Perl インタプリタが必要です。 とはいえ(私の勝手な思い込みかも知れませんが)CGI の設置が認められている時点で普通は Perl が動くと思ってまちがいないと思います。
また本スクリプトでは,日本語処理に Encode.pm というモジュールを使って,内部の日本語処理を UTF-8 にしています。 このため Perl インタプリタは ver 5.8 以上が必要です。 しかも,このあたりの情報を見ると,Perl の内部処理系の問題で,ver 5.8.8以上が推奨されます。 特別に古いサーバーでなければ大丈夫ではないかと思いますが,一応ご確認ください。
職場や自宅でインターネットにつながっているパソコン上で HTTP デーモンを走らせても,サーバー自体が外部に公開されていなければ携帯電話からアクセスできません。 サーバーを設置するネットワーク管理ポリシーに従い,可能な方法をお考えください。 利用しているネットワーク環境で外部公開されたサーバーを利用できない場合,レンタルサーバーを利用することも可能です。 有料・無料を問わず,CGI設置の許されたレンタルサーバーが公開されていますので,うまく利用すれば運用可能な環境が手に入る可能性が高いです。 本サイトも以前は無料のレンタルサーバー上で運用し,VoWも問題なく動いていました。
VOTE on the WEB を動かすには,CGI::Lite という Perl モジュールが必要です。 これは,Perl 標準のモジュールではないので,サーバーにはインストールされていない可能性があります。 とはいえ,世間ではよく使われているモジュールなので,すでにサーバーにインストールされているかも知れません。 このあたりは設置するサーバーで確認してください。
VOTE on the WEB はデフォルトで CGI::Lite がサーバーにインストールされていないことを前提に作ってあります。 そのまま使うためには,次の方法でCGI_Liteという Perl モジュールを入手してください。 サーバーにモジュールがインストールされている場合でもこの方法が使えます。
このページの右側の "Download:" の下にある "CGI-Lite-2.02.tar.gz" をダウンロードしてください。
ダウンロードしたファイルを適当なディレクトリに展開し,中から "Lite.pm" というファイルを取り出してください。 このファイルを CGI スクリプトと同じディレクトリに置いてください(アーカイブを展開してできるファイル全部を同じディレクトリに置いても動作します)。
サーバーに CGI::Lite がすでにインストールされていて,サーバー上のモジュールを利用したい場合,スクリプトをわずかに書き直す必要があります。 その場合,次の手順でスクリプトファイルを編集してください。
以上の用意ができたら,VOTE on the WEBのアーカイブのファイルを適当なディレクトリに置いてください。 インストールなどという高尚なことをする必要は特にありません。 スクリプトを動かしたいディレクトリにファイルを置くだけです。 ただし,Unixサーバーの場合“vote_ctl.cgi”と“vote.cgi”の2つのファイルを実行可能にする必要があります。
> chmod +x vote_ctl.cgi
> chmod +x vote.cgi
また,必要に応じてLite.pmも同じディレクトリに置いてください。
Windowsサーバーを使うとき,Perlスクリプトを動かすのにどのような設定が必要になるのかはよく知りません。あしからず。
なお,スクリプトファイルを置くディレクトリでは,CGIの実行が許可されていないといけません。 ブラウザで“vote_ctl.cgi”を呼び出したとき“Internal Server Error”が発生する場合, .cgiファイルが実行可能になっていないか,そのディレクトリではCGIの実行が許可されていないか,のどちらかの可能性が大きいです。 後者の場合,サーバーの設定についてサーバー管理者にお問い合せください。
以下にVOTE on the WEB の使用方法を説明します。
授業開始時もしくはそれ以前に,問題回答用フォームのURIを受講者に知らせます。 どのような方法でもいいのですが,携帯・スマートフォンの利用者に対してはQRコードを利用するのが便利でしょう。 本サイトのデモの場合,下のようなQRコードを印刷して配布することになります。
http://ostwald.naruto-u.ac.jp/~takeda/pub/vote/vote.cgi
ご自身の環境にQRコードを生成するツールがない場合“QRコード 作成”などとググると,QRコードを作ってくれるページがいくつかヒットします。 私もそうして作りました。
試しにここにアクセスしてみましょう。
新しいウィンドウまたは新しいタブが開いてユーザー名とパスワードを尋ねてきます。
コントロール用のCGIは授業者以外がアクセスしないようにパスワードで保護しています。
複数の出題者が同じ時間帯に同じディレクトリの VOTE on the WEB にアクセスすると,間違いなく誤動作します。
その恐れがなければパスワードによる保護は必須ではありません。
本サイトのデモの場合,ユーザー名とパスワードは次の通りです。
このように他のリンクやお気に入りなどから直接 CGI にアクセスすると,問題ファイルセットアップ画面になります。 この画面では,用意する問題ファイルのフォーマットが説明されています。 これに従って,テキストエディタで問題ファイルを作成し,テキストファイルとして保存してください。
問題ファイルは Shift-JISで書いてください。 MacやWindowsを使っている人は,あえて文字コードを変えて保存しない限り,Shift-JISになると思います。 改行コードはなんでもOKです。
問題ファイル作成の便宜を図るため問題ファイルのテンプレートを用意しました。 ここを右クリックして“対象をファイルに保存”してください。
問題ファイルを編集・保存した後,ファイル送信フォームに作成したファイルを指定して[Setup]ボタンを押します。 これにより,ファイルが送信され,必要な環境設定がなされます。
なお,最後に送信した問題ファイルをそのまま使って,もう一度最初からVOTE on the WEBを動かしたい場合は,[ResetQ]ボタンを押してください。 送信済みの問題ファイルを再度初期化して使えます。 この機能により,授業開始前に問題ファイルを送信した後,ブラウザを閉じたりパソコンの電源を落としたりしても,講義室で再び問題ファイルを送信しなおす必要がありません。 ただしサーバー上には,最後に送信した問題ファイル1つしか残っていないことに注意してください。 再利用可能なのは最後に送信したものだけです。 それ以前の問題を使いたい場合は,再度送信してください。
ファイル送信もしくは問題ファイルのリセットができたら“出題準備OK!”が表示され,出題可能になります。 授業で利用する場合,授業開始前にここまで行っておくことになります。 この後 [FirstQ] ボタンを押すと第1問が出題されます。
ところで,この先システム操作中の誤動作や,操作間違いなどのトラブルがあってやり直したいときは,右端の小さな[InitQ]というボタンを押してください。 いつでも最初の画面に戻ることができます。 このボタンは全てのページで表示されていますが,通常は使わないので小さなボタンにしてあります。 返って目障り?
問題の送信が完了したら [FirstQ] ボタンを押してみましょう。 第1問が表示されます。
もし表示中の問題をスキップして後の問題に移動したければ,[NextQ] ボタンを,前の問題に戻りたければ,[PrevQ] を押してください。
問題が表示されたら,一応問題文と選択肢を読み上げて,確認するとよいでしょう。 この段階では,回答は収集されていません。 受講者がフォームから回答を送信しても,システムでは受け付けません。 何も言わずに元のフォームを表示します。
回答収集を開始するには,[StartAns] ボタンを押します。 “現在回答を受付中”という文字列が横スクロールを始めます。 これが表示されている間は回答を受け付けています。 受講者の端末では,回答送信後,“回答を受け付けました”という表示が出ます。 すべての有効回答は,選択肢番号がサーバーの "Answer" というファイルに蓄積されていきます。
ある程度時間をおき,受講者が十分に回答を終えたことを確認したら,回答収集をストップします。 このためには,[CloseAns] ボタンを押します。 この後,サーバー上で回答の集計が行われ,回答分布の百分率(整数位までで四捨五入)とともに,帯グラフが表示されます。 当然ですが,この数値処理のために,0.5%未満の回答はゼロになりますし,合計が100%にならないこともあります。
この図には表示されていませんが,下の方にスクロールすると,[StartAns][PrevQ][PresentQ][NextQ]の4つのボタンが表示されています。 前の問題に移動するときは[PrevQ]ボタンを,次の問題に移動するときは[NextQ]ボタンを押してください。 再度同じ問題を出題したいときは,[PrensentQ] ボタンを押すと,現在の問題をもう一度出題し直します。