Movable Typeにデフォルトでくっついているブログ内検索ですが、どうも動作が鈍くて悶々とした日々を送っていました。
そんなある日(て言うかさっき)、いわゆるAjaxで瞬時に検索結果を表示させることが出来る方法が紹介されていました。
やってみたんですが、すごいです。さすがAjax。動的で速い。特に一度検索結果を表示させた後、もう一度その状態から何かを検索したときの結果表示はまさに瞬時です。
また、コメントの文言も検索対象にふくめるのも特徴です。
検索結果は検索フォームと同一ページ内にリフレッシュなしで表示されるため、スペース的な問題からこれまで全ページに表示させてあった検索フォームをトップページのみに置きました。
元々ほとんど誰も使っていなかったことだし・・・。
トップページの左上にある検索フォームに、”Firefox”だとか”ビートル”など適当な文言を入力してEnterキーか検索ボタンをポチッと押すと、右側に検索結果が表示されます。
一応Firefox 2.0.0.1、Opera 9.10、IE7.0、IE6.0で動作を確認しました。
リンク先ではMovable Typeのテンプレートをいじるだけで使えるように紹介されていますが、出来ればprototype.jsとblog_ajax_json_search.jsは自分のサーバーにアップして使った方がいいかもしれませんね。
思い切って、Movable Type 3.34にバージョンアップしてみました。
正直あまり気乗りしなかったのですが、いい加減にやっといた方がいいかなと思って・・・。
と言っても、機能面では以前の3.2系時代のままです。3.3系からデフォルトでTagが実装されたのは知っていますが、色々と変えないといけないことが面倒で全然手を付けていません。
今さらながらですが、バージョンアップに役立つページを。
気が向いたら、また追々新機能を使うようにしていこうと思います。
最近スパムの大攻勢を受けておりまして、トラックバックスパムの方は全弾防いでいるもののコメントスパムの方は多数被弾して大変迷惑しております。
そこで何かいいスパム防衛策はないものかと探してみると、IPスパムフィルターなるものを見つけました。海外からのスパムは100パーセントはじくと謳っており、試す価値はありそうです。
早速導入してみたので、しばらく経過を見守りたいと思います。
Movable Type 3.3が出て導入したものの気に入らない点が多々あったので3.2に戻したのですが、
maketext doesn’t know how to say: _SYSTEM_TEMPLATE_SEARCH_TEMPLATE as needed at lib/MT.pm line 859
↑こんなエラーが出てテンプレートが開けなくなってしまいました。
「どういう事だ」と焦って検索してみると、こちらのblogでデータベースではMovable Type 3.3のままなんじゃないかということが書かれていました。
私はデータベースはSQLiteを利用しているので、早速バックアップしてあったファイルをアップロードしてみると、うまいこと行きました:D
そのせいで3.3以降のエントリー2件は消えましたが、一方はデータがあったので復旧。
ま、現在の3.2に不満は特にないし、3.3にしなきゃならん理由もないので、当分MTのバージョンアップはなしです:p
私が中国へ行っている間に、どうやらMovable Type 3.3 Beta 1が出ていたようです。
3.2-ja-2が出てからずいぶん時間が経過してMT熱も冷めかけていたのですが、また少し色々試せそうです。
一応正規版が出るまでは待つつもりですが、気が向いたら導入するかも。
でも一部プラグインが使えなくなるそうなので面倒だなぁと・・・。
トラックバックスパムの絨毯爆撃が小規模blogながら日に日に増加し、表に出ることはないものの”迷惑トラックバック”に分類されるものだけでも一日で100件ほどになってきました。
「このままではいつか堤防が決壊する」
そう思っていたところ、素晴らしいスパム対策を知りました。
要するに、コメントやトラックバックの投稿を可能にする”mt-comment.cgi”と”mt-tb.cgi”のファイル名を変えて、スパム業者からの爆撃を未然に阻止するというもの。
このスパム対策は従来からある方法で、しかしファイル名を変えたことがしばらくするとスパム業者にバレるので、しばらくすると再び爆撃が再開されるのでイタチごっこと化します。
そこで、この”Junk slowdown”では、ファイル名を変更し、なおかつ変更前のファイルがさもあるかのようにダミーを用意するため、スパム業者がファイル名が変更されたことに気づかないという点が最大の特徴です。
このblogでも同様の対策を4日ほど前から実施しており、今のところ手動らしきコメントスパム6件以外は”迷惑コメント”にも”迷惑トラックバック”にも一件も入ってきていません。
まあこれはファイル名を変更した結果であって、これが一週間、二週間と続くようならば本当に”Junk slowdown”の効果ということなのでしょう。
またいずれ結果を報告します。
最近トラックバックスパムの爆撃を毎日喰らっています。
全て魔法障壁(ぉ が阻んでいるので表面的には何ともありませんが、そろそろ何か対策を補強する必要がありそうです。
と言うのも、コメントスパムの方で魔法障壁が破られ、一部コメントスパムが表面に出るということがあったのです。
その時はたまたまGmailが1分でコメントがあったことを私に知らせ、さらに1分で私が全て消去したので表面上はほとんど何もありませんでしたが。
トラックバックスパムもコメントスパムも基本的に英語圏のカジノだとかの宣伝で全て英文なので、英文のみのトラックバックやコメントを全て排除するという強硬策に出ることも可能ではありますが、何か鎖国的で嫌です。
しかし他に良い策も思いつかないしなぁ。
別に英語圏の人が読めるようなblogでもないし、きちんとした英文のみのコメントやトラックバックがあったわけでもないので、今後被害が出るようなことがあれば強硬策もやむを得ないかもしれません。
MT::Plugin::EvalTemplateを使うと、エントリーでMTタグが使えるようになります。
もっと早く知っておくべきだった。
これで、画像や内部リンクをエントリー中に使った場合でも、サーバー移転などによる面倒な作業が解消されます。
幸いうちも移転しましたが、内部リンクは少ないし、画像に至ってはほぼ皆無に近い状態だったので変更作業もすぐ済みました。
ただし、配布元でも注意が喚起されていますが、グローバルフィルタが使えるところならどこでも適用出来てしまうので気をつける必要があります。
例えばコメントとかトラックバックでもMTタグを使えるようにしてしまうと、悪用されると大変なことになるわけです。
パッチのあて方を初めて理解したので早めにメモ。
MT 3.2 + SQLiteでのrecently_commented_on
↑のパッチをあてるという形で実践。
まずは下準備。
- ソフトウェア工房αよりpatc254w.zipをダウンロードする。
- 解凍して、”patch.exe”を”C:\WINDOWS\SYSTEM32″の中にコピペ。
ここからパッチあて作業。
- パッチあての作業に使用するフォルダ(ここでは”patch”という名前にする)を作成。場所はどこでもいいが、ここではマイドキュメントとする。
- — lib/MT/ObjectDriver/DBI/sqlite.pm.bak Mon Sep 19 17:46:51 2005
で始まる緑色のBOX内をコピペしてテキストとして1で作成した作業用フォルダに保存。ここでは”patch.txt”という名前にする。
- lib/MT/ObjectDriver/DBI/sqlite.pm
このファイルを作業用フォルダにコピペなりで移動させる。
- Windows付属のコマンドプロンプトを起動。
- cd C:\Documents and Settings\xxxxxx\My Documents\patch
これを入力する。xxxxxxの部分は人それぞれ違うので自分で調べる。
- patch < patch.txt
これを入力する。
- patching file sqlite.pm
この一文が出てくれば成功。
- 作業用フォルダのsqlite.pmファイルを元の場所に戻し、サーバーにアップロード。
作業用フォルダにはパッチあて前のファイルも別名で生成されているため、適当な場所に保存しておく。
こんな感じの流れになります。
ちょっとしたパッチあては初心者には手書きの方が良さそうですが、ある程度大きいものならこっちの方が手早く出来そうですね。
時々過去の自分のエントリーを眺めていると、誤字脱字や内容自体誤っている場合があったりします。
そんなときは修正するわけですが、いちいち管理画面のトップページから該当エントリーを探して・・・なんて非常に面倒です。
そこで、このblogでもやっているように、個別エントリーアーカイブから直でそのエントリーの管理画面を開けるようにします。
以下を個別エントリーアーカイブのテンプレートの好きな場所に追加するだけ。
<a href="<$MTCGIPath$>mt.cgi?__mode=view&_type=entry&id=<$MTEntryID$>&blog_id=<$MTBlogID$>">edit</a>
“edit”という単語は自分にわかりやすければ何でもいいです。
このリンクをクリックすることで、直でそのエントリーの管理画面に飛べます。誰でもリンクをクリック出来てしまいますが、IDとパスワードが必要なのでまず他人にエントリーをいじられる心配もありません。
他にブックマークレットを使う方法もあります。
こっちだとblogを汚すことなく出来るのでいいかもしれません。
Firefox 1.5.0.2、Opera 9.00で動作を確認しました。
このblogはMovable Typeで毎日更新しているわけですが、今日ようやくSix Apart及びAdobeからのお知らせに気づきました。
Macromedia Dreamweaver 8.0.1用の、Movable Type 3.2用タグの入力を支援する拡張機能が出ていたのです。
Movable TypeのテンプレートをDreamweaverで書いている人には朗報でしょう。
どういう拡張機能かと言うと、コードビューでMTタグを書き始めると、残りを補完してくれるようになるというものです。
頻繁にテンプレートを編集する人にはお勧めです。
それにしても、Adobeからのお知らせというのが、何とも切ないです。
MacromediaはAdobeに買収されちゃいましたからね。