トップページ»3.4.製品»Webアンケートシステム「phpESP」を試してみた
3.4.製品
Webアンケートシステム「phpESP」を試してみた
とある用件でパブリックにアンケートをとる必要が出てきた。 今までアンケートを取る必要性も無く、そういう類のソフトウェアは稼動してない。 とりあえず必要要件を洗い出してみる。
- ウェブで情報収集できる方法がやっぱり楽でしょ
- その手のCGIはいっぱいありそうだし、へたに金もかけたくない(最悪作る)
- 使うのは日本人だけに限らなそうなのでできればマルチリンガルなのが良い
- ラジオボタン、セレクトボックス等、使えるパーツが多いほうが良い
- 集計結果をグラフなどで(簡単でも良いから)表示してくれるとありがたい
- 結果をエクスポートしてExcelとかで再利用したい
アンケートのCGIは結構あちこちで配布されていたが、上記を全て満たすとなるとなかなか見当たらない。(特に言語まわり)
調査期間が短かったせいもあるかもしれないけど、今回見つかったのはphpESP唯一だった。
Projects/phpESP
http://www.butterfat.net/wiki/Projects/phpESP/
SourceForgeではこっち。
phpESP - php Easy Survey Package
http://sourceforge.net/projects/phpesp/
というわけでインストール及び簡単な使用感までレポート。
phpESP概要
ライセンスはBSD License。 PHPベースのWebシステム。 そのPHPに加えてhttpdにApache、データベースとしてMySQLがRecommended。 パッケージの中身を見た限り、DBはPostgreSQLとかも使えるっぽいがFAQに、
Postgres has not been fully tested and SQLite has some known issues.
との記述あり。 MySQL使わない理由も無いので素直に従ったほうが良さそう。
とりあえず、必要なものは上記のものだけで良いのでハードルは低い。
アンケートシステム(phpESP的にはSurveyとなるのかもだけど、とりあえず日本人的にはアンケートのほうが親しみやすいと思うのであえてそう表現します)としての内容はというと、上のリンク中にあるデモをみても分かるとおり、さっきの用件は全て満たしている。
ただこのデモ、(使ってるサーバーの設定の都合上?)日本語での表示が文字化けしてたり、エンコードを日本語に変えてみても全部翻訳されていなかったり、次のページに遷移できなかったり。 このページで動作検証したい場合はブラウザの言語のプライオリティをen-usが優先されるように変えてみた方が良さそう。 英語での評価になっちゃうけど、とりあえずこれでできる。
ちなみに標準で対応している言語は英語(en_US,en_ES)、日本語(ja_JP)をはじめ、以下に対応している。(但し日本語の対応には少々難有り。それについては後ろのほうに書きます。)
- デンマーク語(da_DK)
- ドイツ語(de_DE)
- ギリシャ語(el_GR)
- フィンランド語(fi,fi_FI)
- フランス語(fr_FR)
- ハンガリー語(hu_HU)
- イタリア語(it_IT)
- オランダ語(nl_NL)
- ポルトガル語(pt_PT,pt_BR)
- スウェーデン語(sv_SE)
アジア系は日本だけになってるけど、
phpESP Internationalization (I18n) Page
http://phpesp.sourceforge.net/internationalization.html
このページをみても分かるとおり、phpESPはgettextで多言語化を実現しているので、(翻訳さえ可能なら)対応は楽そう。 まぁそこまでやらんでも日本語と英語がサポートされていればいいという考えもなきにしもあらず。
インストール
まず前提条件としてApache、PHP、MySQLが予めインストール、動作可能な状態になっていること。 今回は稼働中のFedora Core 3を利用したので既に入れてあったが、入ってなかったらyumとかでインストールしておく。
次にphpESPのダウンロード。 今回はこれを書いている時点の最新版、1.8.2(phpESP-1.8.2.tar.gz)を落としてきた。
次に解凍。 中身がPHPなので、Webの公開ディレクトリに展開する。 今回はFC3のデフォルトの場所(/var/www/html)にした。
tar xvzf phpESP-1.8.2.tar.gz -C /var/www/html
cd /var/www/html
mv phpESP-1.8.2 phpESP
続いてデータベース及びテーブルの準備。 インストールマニュアルにある方法は以下の通り。
mysql -u root -p < scripts/db/mysql_create.sql
mysql -u root -p phpesp < scripts/db/mysql_populate.sql
データベースのユーザー名やパスワードを変更したい場合は、上記ファイルの中身を変更する。 またその場合admin/phpESP.ini.phpの当該部分の編集も必要。
とりあえずこれだけでインストールは完了。 続いてインストールのテストをやってみる。 以下のURLにアクセス。
http://YourServer/phpESP/admin/test.php
各項目に問題がなさそうであれば実際の管理画面に入ってみる。
http://YourServer/phpESP/
phpESP Management Loginが出てきたら、デフォルトのユーザー名/パスワード(root/esp)でログイン。 管理インターフェースが表示されたら多分OK。
今回はApache等が既に入っていたので、ここまで約15分程度で完了した。
日本語化の調整
標準のまま管理画面にアクセスしてみると分かるが、日本語化が完全ではなかったり、仕事で使うには若干不適切な表現があったりした。 なので、これらを調整。
前述の通りphpESPはgettextで多言語化を実現しているので、その関連ファイルを修正してやれば簡単に表示を変更することができる。 具体的には上にも書いたこのページ等を参考に/var/www/html/phpESP/locale/ja_JP/LC_MESSAGES/にcd後、vi messages.po等で編集して、以下のコマンドでコンパイル。
msgfmt -o messages.mo messages.po
これで完了。 と、簡単に書いてあるけど、実際やるとそこそこ時間がかかるので私が作ったカタログファイルをここに載せておきます。
phpESP用gettextカタログファイル(phpESP1.8.2で表示確認済)
phpESP_ja_messages.tar.gz
スクリーンショットはこんな感じ。

一応poとmo両方入っていますので、phpESPのlocale/ja_JP/LC_MESSAGES中に展開して念のためhttpdを再起動してやればおしまいです。 翻訳が気に入らなかったらpoを再編集するなり、一から作り直しするなりして下さい。 ちなみに文字コードはデフォルトのカタログと同じeuc-jpにしてあります。
あ、そうだ。 一応messages.po自体は全部翻訳したつもりなんですけど、一部英語で表示されちゃう部分があります。 これはphpESP側がgettextに対応し切れていない部分があるみたいなのでご了承を。 どうしても全部という方はソースに手を入れて下さい。
使用感
良くできてます。 アンケートに使えるパーツも豊富だし、集計の画面もリアルタイムでグラフ化されたものが見れるし(使ってないけどクロス集計もできるみたい)、結果をcsvに吐けるし、言語の違うブラウザで見るとちゃんとその言語で表示されるし、公開する画面のデザインテンプレートもいくつかあるし。(自分でも作れるのかもだけどやってません) とりあえず要件的には全部カバーしていました。
ただ、ちょっと使い勝手にクセみたいのがあるかもです。 アンケートを公開するまでには、アンケート編集→テスト→公開という手順になるのですが、テストから編集に戻ることは可能。 でも一旦公開してしまうと編集画面に戻ることはできません。
公開後に「あ!間違えた!」と気が付いても、直接は更新できないので、一旦現行のアンケートを終了して、終了したアンケートのコピーを作って、そのコピーを編集するという手順が必要になります。 公開は内容を良く確認してからしましょう。
まぁこの辺は仕様だと思って慣れちゃえばなんて事無いと思いますが。
実際のアンケートとか集計とかは便利なのでお勧めです。 イントラ向けのアンケートシステムなんかだったら十分いけると思います。
追記:
この記事去年の11月に書き始めたものなんですが、ほとんど書き上げた状態だったにも関わらず忙しさにかまけて(飽きちゃって?)投げ出してました。 今回phpESPを使う機会があって、ふとこの記事のことを思い出したので残りを少し足して公開と。
そんな記事がまだ沢山あるんですけどねぇ… 運よくphpESPはバージョンが上がってなかった(開発止まってる?)から公開できたけど、他はもう古かったりするので永久的にお蔵入りになるかもです。(苦笑)
投稿日 : 2007年7月31日
この記事に関する言及
このエントリーのトラックバックURL:
http://akionweb.com/mt-tb.cgi/390
コメント
phpESP のInstall 精巧!
ありがとうございました。
phpESP Version 2.0.2 となってます。
投稿者 tshiion : 2008年6月17日 21:50
tshiionさんはじめましてこんにちは。
お役に立てたみたいで良かったです。(^_^)
phpESPってまだ開発続いていたんですね。(^^;) 失礼なこと書いちゃったな。
1.x→2.xって結構変わってるんでしょうか。
投稿者 AKI ON WEB : 2008年6月18日 11:00
このページに対する感想、意見をお寄せ下さい。
おことわり
当サイトに掲載している全ての情報は、全て当サイト管理者が個人的、実験的に試した事、又は独自に調査したものです。 従ってその情報に誤りがある可能性も多分にあります。 当サイトの情報をそのまま鵜呑みにされませんようお願い申し上げます。 また当サイトの情報を元に作業されたりする場合はそれをご理解頂いた上で、あくまで自己責任の元で行ってください。
トップページ»3.4.製品»Webアンケートシステム「phpESP」を試してみた


