個人サイトなどで「
Web拍手」と書かれた小さなボタンを見かけられたことはあるでしょうか?
前者は
Web拍手公式サイトや
What's "PatiPati"?
などで公開されている無料
サービスが有名です。
これは
web拍手って何?にも書かれている通り、
小さいながらもリーダーの反応があることでサイト運営へのヤル気が出るということに大きな意味があります。
また、企業ページや技術文書などの文末に「役に立ちましたか?」という設問に対して
「はい」または「いいえ」を回答するような簡単なアンケートが設けられたものがあります。
これにはサイト内文書の中で人気のあるページを集計し、
コンテンツ改善や今後のサイト企画立案のためのマーケティングデータとして活用するなどの使途があるようです。
何れにせよ、リーダーが気軽にクリックできるという点が重要で、
そしてそれはサイト運営者のヤル気の元であったり、次の企画のための貴重なマーケティングデータとなるわけです。
これら両者の機能を MovableType と組み合わせて使えないだろうか、という発想のもと、
今回、MovableType のエントリに簡単なページ評価アンケートを組み込めるプラグインを作ってみました。
簡単な選択項目を設定し、また任意で簡単な一行コメントを入力することができます。
また、どの記事に対してどんな評価がされたのか、送信されたデータはエントリ毎に集計されるようになっています。
はじめに
アンケート集計の部分は、
プラグインによってページに埋め込まれた
PHP スクリプトが行っています。
そのため、
サーバーで
PHP が動作している必要があります。
このプラグインでも
ディープリンク防止機構を実現する MovableType プラグイン
と同じ手法で PHP スクリプトを埋め込みます。
最近、"プラグイン"と名乗ることに違和感が…
早速、このサイトにもページ評価アンケートを設置してみました。
各エントリページの一番下に置いてあります。
どうかヨロシクm(_ _)m
- MTUsePageRating
-
アンケート集計のための PHP スクリプトを埋め込みます。
以下に続くテンプレートタグを使用するページに必ず置いてください。
- path
-
集計データファイルを保存するデータファイルのあるパスを指定します。
パス指定には英数字、アンダーバー(_)、ハイフン(-)が使えます。
絶対パスが無難かと(相対パスは試していません)
- name
-
先述の path の下に作られるデータファイル名を指定します。
ファイル名指定には英数字、アンダーバー(_)、ハイフン(-)が使えます。
後述の type オプションも参照してください。
- type
-
データファイルの生成方法を指定します。
例えば path="/home/your/account/data/rating"、name="hogehoge" の場合、
type による指定により以下の動作を行います。
- 0
-
デフォルト値。
集計結果を "/home/your/account/data/rating/hogehoge.log" に追記します。
このファイルが存在しない場合、何もしません。
- 1
-
月ごとに集計ファイルを生成します。
集計結果を "/home/your/account/data/rating/hogehoge/YYYYMM.log" に集計します(YYYY は西暦 4 桁、MM は月 2 桁)。
"/home/your/account/data/rating/hogehoge" ディレクトリが存在しない場合、何もしません。
- 2
-
集計ファイルを毎日生成します。
集計結果を "/home/your/account/data/rating/hogehoge/YYYYMMDD.log" に集計します(YYYY は西暦 4 桁、MM は月 2 桁、DD は日 2 桁)。
"/home/your/account/data/rating/hogehoge" ディレクトリが存在しない場合、何もしません。
- MTPageRatingDone
-
アンケートに回答頂いた時に表示するメッセージのためのコンテナタグです。
- MTPageRating
-
アンケートフォームを作るためのコンテナタグで、アンケートに未回答の場合に表示されます。
その実質はアンケートフォーム用の <form> タグを生成します。
id、class、style オプションを指定することでタグに値を渡すことができます。
- MTPageRatingItem
-
アンケート用のラジオボタンを生成します。
その実質はアンケートフォーム用の <input type="radio"> タグを生成します。
id、class、style、tabindex、accesskey オプションを指定することでタグに値を渡すことができます。
- value
-
集計されるデータ値を指定します。
- default
-
デフォルト選択肢を設定する場合に使用します。
"1" を与えると、タグに checked オプションが付加されます。
- MTPageRatingComment
-
アンケート用の一行コメントの入力欄を生成します。
その実質はアンケートフォーム用の <input type="text"> タグを生成します。
id、class、style、value、tabindex、accesskey、size オプションを指定することでタグに値を渡すことができます。
- MTPageRatingSubmit
-
アンケート用の送信ボタンを生成します。
その実質はアンケートフォーム用の <input type="submit"> タグを生成します。
id、class、style、value、tabindex、accesskey オプションを指定することでタグに値を渡すことができます。
導入方法
Step 0. プラグインのインストール
アーカイブに含まれる MTPageRating.pl を
MovableType の
プラグインディレクトリにコピーします。
そして、
MovableType の管理画面のメインメニューで、"使用可能な
プラグイン"欄に表示されていることを確認します。
Step 2. 個別アーカイブテンプレートの修正
ページ評価アンケートを設置するため、個別アーカイブ
テンプレートを修正します。
Step 1. 集計データフォルダの準備
<MTUsePageRating> の type オプションの指定に応じて、データ集計ディレクトリを準備します。
例えば
path="/home/your/account/data/rating"、
name="hogehoge" の場合、type による指定により作業が異なります。
- type = "0"
-
"/home/your/account/data/rating/hogehoge.log" という名前で空のファイルを作成しておきます。
- type = "1" または "2"
-
"/home/your/account/data/rating/hogehoge" という名前でディレクトリを作成しておきます。
トラブルシュート - 動かない時は?
この項目は作成中です。
いろいろ
- データ集計用のスクリプトも書かないとダメなんですよね…(未着手)
- 集計用 PHP スクリプトにより、記事毎にファイルサイズが約 1200 バイト増加します
- オリジナルの著作権表示を改変しない限り、自由に改造・転載・配布できます
MTPageRating
GetMD5Hash('MTPageRating010.zip');?>
| 0.10
| '05/08/23
| GetFileSize('MTPageRating010.zip');?>
| MovableType
|
3.151-ja で動作確認
|
楽屋裏
この
プラグイン作成の動機となったのは、
はてな代表取締役近藤さんの
ブログ作者に投げ銭を
という記事。
加えて、
ディープリンク防止機構を実現する MovableType プラグイン
の
コメントにあるように、
MovableType プラグインとして配布できる何かパッケージっぽいものを作ってみたかったこと。
今のところ、この
プラグインで実現できるのは、単なるアンケートフォームに過ぎません。
しかし、今後、
Acount Auto-Discovery
のような機械処理できるメタデータ仕様が共通に広く普及すれば、
この
プラグインや他
CGI サービスで設置したアンケートであっても、
はてなポイントのような
インターネット通貨を横断的に交換できるようになるんじゃないかなぁと思うわけです。
はてなポイントは、
はてなの
サーバで集中管理されている(と思っている)わけですが、
ブログやサイト同士が
P2P 的な繋がりでお互いの信頼性を保証し合うような仕組みが出来れば、
もしかすると空想で終わらない面白いことになるんじゃないかとも思います。
その時は、この
プラグインも真っ先に対応しちゃいますよ(`・ω・´)
寄せられたコメント (全 15 件中、最新 5 件まで表示しています)
.htaccessにAddType application/x-httpd-php .htmlを書いて解決しました
評価用のプラグインを探していてベストなものだと思いましたが
このプラグインはphp化しないと利用できませんか?
htmlでやると表示されましたが送信でMethod Not Allowedとエラー表示されます
解決方法が教えていただけると助かります
こんにちは。
Perl 5.8.4 です。
MTはUnicodeで使っています。
"\w-"→"\w"としてみたところ、再構築時に以下のエラーとなりました。
タグでエラーが発生しました: MTUsePageRating - 不正なパス指定
ちなみに、パスにはドット"."が入っています。
お気づきの点があれば、よろしくお願いいたします。
こんにちは。
正規表現式が変だよーって言われているようですね。
お使いのPerlのバージョンは何でしょうか?
あと,"\w-"→"\w"として症状が変わるか見て頂けますか?
コメントアウトするのはちょっと危険です…
はじめまして。こんなプラグインを探していました。
ぜひ活用させていただきたいと思います。
MT3.3に設置したのですが、以下のエラーが出て動きませんでした。
False [] range "\w-" in regex; marked by <-- HERE in m/[^\w- <-- HERE /\\]/ at /virtual/raizo/public_html/reponavi.jp/mt/plugins/MTPageRating.pl line 41.
とりあえず、該当行をコメントアウトして動かしてみます。