RECENT TRACKBACKSを表示してみる。

何となく、気になっていたので、 最近のトラックバックを表示するようにしてみました。 基本的に、1ページ1エントリなので、 右側のメニューが縦に長くなってしまうのは本意ではないのだけど… まぁ、気に入らなかったら元に戻すってことで。 参考にさせていただいたのは、Ogawa::Memorandaさんの、このエントリ。 Ogawa::Memoranda: 最近のトラックバックをエントリごとにまとめて表示 必要なのは、二つのプラグイン。 ・MTCollate(MT Extensions: MTCollate 1.1) ・PingEntry(hirata’s techknow MT: つづきを書く前に…) 取り立てて複雑なことをする必要もなく、 実装できました。 んー、折りたためるようにした方が良いのかもしれないなぁ。 またその辺考えていきます。 しかしこうやってみてみると、 全く関係ないトラックバック、多いなぁ。 その辺は、既に一度書いたのだけど、 そしてもう一度書くと今度こそ負けかな、という感じだけど、 まぁ改めて、書くことにしましょう。 言及あるなしにかかわらず、トラックバックは基本的に歓迎ですが、 心理の考察というか、何というか。

続きを読む

コメントスパム対策

ドメスティック野郎的発想であることはわかってるんだけれども、 すべてのスパムコメントが海外からのものである以上、 やはり、ひらがな必須、とか、句読点必須、なんていうコメント対策は必要なわけでして… とはいえ、MT3.2から、以前行っていた、 mt-comments.cgiによるコメントカットは出来なくなったので、 全体的に、MT付属のプラグインにお任せ状態になっていた。 確かにこのプラグイン、かなりの頻度で叩いてくれるんだけど、でも漏れるのも多い。 確率で言ったら、30%位は漏れる。 漏れる、というか、承認待ちになる。 ただし、許可されてしまったものはまだないので、優秀なんだとは思うんだけど、 いちいち、承認を行うのはだるすぎて… そんなことを思ってたら、Ogawa::Memorandaさんのところに、 タイムリーな改造が載っていたので、迷わず実行。 Ogawa::Memoranda: MT SpamLookup Best Practicesに追加 具体的に言うと、コメントスパム対策と言うよりも、 MT付属プラグインの改造。 MT付属の、『SpamLookup』というプラグインの、Keyword Filterで、 コメント、トラックバックに対する、NGキーを設定できるのだけど、 その設定、日本語(というか、マルチバイト文字サポート)に対応していないらしく、 以前の対策でも行っていたような設定、つまり、 [\x80-\xff](半角英数記号)といったような記述ができない、というお話。 僕だったら、そうなのかーで終わる話なんだけど、 『じゃあ、対応させれば良いんだよね』 というのが、恐るべきところで(笑) Patchを作成して配布されています。 ふむ。 これを例によって手で(汗)適用して、設定してみた。 また、同じく、ひらがな必須の対策をしようとしてはった、 Infinite Lab.さんの報告によると、 Infinite Lab.: MT3.2 ひらがな必須 その際に、スコアも合わせて設定してやると、 迷惑コメントと判断されやすくなるそうなので、そう設定。 (設定の仕方は、Keyword Filterの中に書かれている) おお、ちゃんとカバーできてる。 コメントが投稿されると、それが承認待ちでも、カウントされるし、 メインメニューでは更新されたと見なされて一番上に来ちゃうし、 なんだか、地味に振り回されてたんだよね。 コレで少しはマシになる、かな? (相変わらずコメント投稿が重いのは気になるところ…)

続きを読む

「作成日時」を更新するボタンを追加するプラグイン(UpdateAuthoredOn改造編)

前回のエントリで述べたとおり、 BigPAPIというプラグインのおかげで、今後はユーザインターフェイスも、 プラグインを使ってカスタマイズした方がより、便利そうだ。 そうした視点で見ると、 「作成日時」を更新するボタンを追加するためには、既に、 UpdateAuthoredOnという優秀なプラグインがある。 UpdateAuthoredOn | Plugins for Movable Type | staggernation.com しかし、このプラグインをそのまま導入しても、 今までとボタンの挿入箇所が違ってしっくりこなかったので、 プラグインを見てみるという意味も含めていじってみた。 ちなみにこのプラグインのライセンスは、CC『帰属 – 非営利 2.5』となっており、 原著作者のクレジットを表示することで、自由に改変を行って頒布できる。

続きを読む

メインメニューをカスタマイズしてみる。

Movable Type 4989さんのところで、 便利そうなプラグインを見かけたので、導入してみることにした。 導入したプラグインは次の2つ。 MainMenuRecent | Plugins for Movable Type | staggernation.com WeblogsActionMenu | Plugins for Movable Type | staggernation.com MainMenuRecentは、トップページに、最近のエントリを表示してくれるプラグイン。 WeblogsActionMenuは、トップページのブログのドロップダウンリストに、 さまざまなアクションを割り当ててくれるプラグイン。 いつも必要か?と言われると微妙だけど、 でも、いつもではないがたまに必要な機能もあるわけで。 上げたばっかりのエントリに誤植を見つけて書き直すとか、 新しいindexテンプレートを追加したい、とか。 装備しておいても、無駄にはならないと思う。 参考サイト: MovableType API BigPAPI はアジアのパピヨン, in plugin, on Movable Type 4989 ところで、MTのカスタマイズについて、 3.2から新しいアプローチが取れるようになっているらしい。 Ogawa::Memoranda: Movable Type 3.2によると、Product Managerが変わったらしく、 全体的に実験的な要素や、拡張性が、より増えている感じ。 で、前述のMovable Type 4989さんのエントリにもあったけれども、 BigPAPIというプラグインが注目を集めている。 BigPAPI | Plugins for Movable Type | staggernation.com 簡単に言うと、インターフェイスの拡張を可能にするプラグイン、ということらしい。 詳しいことはわからないけれども、 下記サイトを参考にすると、どうもそういう感じだ。 (R) Richstyles!: Movabletype 3.2が凄すぎるわけ:インターフェイスの拡張を可能にするBigPAPI ということは、 テキストエリアのサイズの変更から、以前ここで紹介した、 『「作成日時」を更新するボタン』なんてのも、 プラグインを使って追加できるわけだ。 (コレに関しては、藤本さん謹製の、自動的に日付を更新するプラグインがあるけれども、 自分で意識して日時を指定したい僕としては、ボタンを追加するプラグインが 一番便利なアプローチだと思う) そしてもちろん、そういうプラグインも既にある。 UpdateAuthoredOn | Plugins for Movable Type | staggernation.com コレを導入すると、 僕が、edit_entry.tmplを書き換えて導入したボタンが、 プラグインの導入だけで出来てしまう。 (ただし、若干位置が気にくわないけれども) そうなってくると、いままでカスタマイズ、していたことが、プラグインでリリースできる。 エントリで長々説明する必要もないし、 導入する方も、書き換え間違いを恐れつつもコピペして改造、なんてのが、 プラグインを入れて更新するだけで可能になる。 つまり、今まで、 『カスタマイズはなるべくプラグインで』というSixApartのお知らせに対して、 『そんなこと言ったってこっちの方が早いじゃん』、 なんて思ってたのが、 『このカスタマイズをプラグインにしてみよう』 に変わってきたりするわけで。 Movable Type 4989さんがエントリ内で言ってるのも多分そう言うこと。 (そこに、このサイトへのリンクがある) プラグインと言っても中身はそう複雑じゃないから、実現できるよね。 (むしろ下手にファイルをいじると、プラグインが動かなくなる…かも?わかんないけど) 手始めに、「作成日時」を更新するボタンを追加するカスタマイズをリセットして、 代わりにUpdateAuthoredOnをいじって同じことをしてみよう。 拡張性ってのはこういうことか。 少し、実感。

続きを読む

Tagをオートコンプリートで入力する。

前回のエントリで、無事、Tagに対応した。 そういうわけで、エントリー投稿ページにキーワード入力を復活させ、 Tag入力にいそしんでいるわけだが、 ちょっとしたミスで、スペルを間違えたり、大文字小文字を取り違えたりして、 全エントリやり直し!なんてことが何度か。 もちろん完璧にやれればそれに越したことがないのだけど、 人間、どんな状況でもミスはするものなので、それへの対処を考える方がよっぽど有益。 そういうわけで、またもや、Ogawa::Memorandaさんにお世話になってみた。 参考にしたエントリは、以下。 Ogawa::Memoranda: MT 3.2 + Tagwire Pluginでタグ入力をオートコンプリートする Ogawa::Memoranda: キーワードを元にエントリのbasenameを設定する JavaScriptの部分は、あんまりよく見ていないのでわかりませんが(汗)、 基本的には、キーワードの部分は別途テンプレートを適用するように変更し、 テンプレートの中身には、Tagを反映させるということをやっている様子。 で、そのテンプレート内のTagデータに対して、 JavaScriptで拾った入力文字列でピックアップしている、と。 なんとなく、反応がシビアな気がするけれども、 (Shiftなどを押してしまうと反応しなくなってしまう。スペースを挟むか、 BackSpaceを押すことで正常化する) それにしても便利なのは確か。 スペースを間に挟むことで、複数のキーワードにも反応するし。 とは言え実は、最初は、コンマで区切っていたので、 コレを実感できていなかったのだけど。 素晴らしい。 感謝。

続きを読む

Tagに取り組んでみようかなと思っている。(遅ればせながら)

少し前から流行しているスタイルに、『タグ』というヤツがある。 いわゆる、Folksonomyというものに基づく、分類法なのだが、

Folksonomy ふぉーくそのみー
「folks(人々)」と「taxonomy(分類法)」を結びつけた造語。インターネット上のコンテンツやデータを、ユーザーによって積極的に分類して利便性を向上させようという考え方。検索エンジンは、単純な全文検索だけでなくハイパーテキストの構造や、外部からのリンク文字列などの、一種の文脈を利用することで検索精度を上げてきたが、テキスト以外のマルチメディアデータでは難しい。このため、コンテンツの登録者や見たユーザーが、そのコンテンツに当てはまるような属性(タグ/tags)と呼ばれるキーワードを登録して、他のユーザーが検索しやすくするサービスが登場している。また、ソーシャルブックマークサービスという、URLをオブジェクトに見立ててユーザーがタグを付けて分類して、他のユーザーと共有するサービスが急速に普及している。 (ビジネスリーダーの為のIT用語辞典 | wisdom Business Leaders Square
早い話が、それぞれが勝手に付けられるラベル、で、 その共通するものをひとまとめにして見てみよう…というようなシステム。 例えば、このサイトのタグ一覧は、 『Tag Cloud』という名前のページに表示されていて、 キーワード(タグ)をクリックすると、それに関連するページが表示される。 NOBODY:PLACE – MUTTER: TagCloud ひとつずつキーワードを登録しなければいけないという手間はあるけれども、 ある意味一対一のカテゴリー分けと比べて、 複数のキーワードによる、自由な分類が出来るのが特徴。 カテゴリー分けで、色んな所に入れたいと思ったら、 カテゴリーを入れ子にしていくか、コピーするしかないので。 MovableTypeで設定できることは知ってたけど、 利便性と手間を比べて、何となく敬遠していた。 (飛びつきたくなかったというのもあるし) しかし、食わず嫌いもどうだろう、と思いつつ、 他人のサイトのTagCloudを見ると、その人の嗜好がはっきり出るし、 またキーワードも意外と探し出しやすかったので、 (それによって、他のエントリとの連携もしやすくなっている) 導入してみることにしてみた。 以下、導入のためのメモ。 環境は、 MovableType 3.2 mod_rewrite

続きを読む

Upgrade -> MovableType 3.2

9/30にリリースされた、MovableTypeの新版、『MovableType 3.2』。 コレと言って大きな問題も起きていないようだし、 システム的に結構大きな改変があったようなので、 思い切って導入してみました。 Six Apart – MovableType News: Movable Type 3.2 日本語版の提供を開始 とはいえ、いきなり投入してアップグレード…は恐いので、 まずは、バックアップから。 このサイトはエントリ数が結構あるので、コレには時間が掛かる。 (Mutterのバックアップファイルは、3.49MB) しかもサーバが不安定だと、バックアップが正常に終わっていないのに、 ダウンロードがうち切られることもあり…チェックが必要。 本当は、MySQLからDBレベルでバックアップを取る方がいいんだろうけど、 なんかもう面倒だったので、コレで良しとする。 その後、mt-config.cgiの変更。 今までは、mt.cfgというファイルだったが、名前が変更になった。 DBの設定や、エンコードの設定を慎重に行う。 既存のバージョンへの上書きアップグレードではなく、 別のディレクトリにアップした後、名前変更というパターンを取るため、 それに合わせて、mt-config.cgiも記述。 (コレは実はあんまり意味がなかったことがあとで発覚) 全ファイルのアップロードが完了したら、 mt-check.cgiを動かし、チェック。 問題なければ、index.htmlにアクセスし、ログイン→アップグレード。 ちなみに、最初これを行ったとき、全くアップグレードが始まらなくて困った。 原因は、僕が、mt-config.cgi上の、mt-staticのパスを間違えていたため。 アップグレードはJavaScriptを利用して行われるので、 mt-staticが間違ってると、動作できないわけで。 その後個々を修正したところ、1分ほどで終了した。 なお、このアップグレードでは、データベース形式も変更するようなので、 ダウングレードするには再インストールってことになるだろうし… 別ディレクトリでアップしても、意味がなかったわけだ。 その後の設定は問題なく終了したので、 ここで書いた再Hack手順に従って、ボタンなどを追加。 (ただし、blockquoteなどに関してはCSSで対応予定) また、フォント表示が気にくわなかったので、textareaなどでも、MS P ゴシックを使うように設定。 Macからは多分使わないからね。 そんなわけで、無事完了。 全体としては、データベースもいじるし、UIも変更されてるし、 大きな変更…なんだけど、それらは全部プログラムがやってくれるし、 ユーザは、マニュアルに従って作業すれば、何の問題もなく進めるかな。 実際の使い勝手は… まだあんまり試してないけど、検索が出来るようになってることや、 トラックバック数なんかもチェックできるようになってるのは便利。 その他、表現がわかりやすくなってたり、タブ式になってたり。 なかなか面白いかも。 まぁその辺はまた改めて。

続きを読む

トラックバックの文字化け解消。

最近、MySQLサーバの調子が悪いです。 まぁ、さくらインターネットのMySQLサーバは終わってる、ってのが定評らしいので、 それはそれで仕方がないとして(文句はきっちり言わせてもらいますが) MySQLが不安定だと、エントリやコメントの投稿時にわけわからんエラーが出ます。 要するに、データベースにアクセスできなくて、 必要な情報がそろわないってことなんですけど、そんなこと言われても困る! 案の定、今日、Sleipnirのエントリを書いてアップしようとしたら、アップできない。 トラックバックも設定していたので、下手に何度もやって、 トラックバックが重複しちゃったら申し訳ないので、 対象のエントリをリロードしつつ、エントリアップを何度か試みる。 しばらくして機嫌直したのか、何とか正常に完了… 念のためトラックバック確かめたら…っ!文字化けしてる! そういえば最近他のサイトでもあったなぁ…(どこだったかは失念)と思って、 トラックバックの文字化けに関して調べてみたら、 出てくるわ、出てくるわ。 皆さん悩んでおられるんですね。 んで、その中で一番怪しいな、と思ったのは、 エキサイトブログとの文字コードの相性というか、そんなの。 エキサイトブログ宛に送るトラックバックは、UTF-8じゃないと、文字化けするんだそうな。 で、トラックバックの文字コードは、エントリの(つまりMTの)文字コードに従うから、 内から送られるpingは、EUC-JPってことだ。 そうなのか。 じゃ、これを、UTF-8にしてやれば良いんだな。 …どうやって?

続きを読む

指定日投稿 – さくらインターネットでの設定

cronの設定が面倒だったので使っていなかった『指定日投稿』。 マニュアルには15分ごとの起動の設定方法が例示されていたけれども、 そもそも、そんなに頻繁に更新なんかしないわけだし、 じゃあ、それ以外の更新はみんな無駄じゃなあないか! なーんてことも思ったりして、やってなかったんだけど、 まぁ、数時間に一回とかにしておくぶんにはいいか、などと思って、 改めて設定方法を見直してみた。 まぁ、せっかく、さくらインターネットでcronが使えるからね。 重要なことは次の3点。 1) cronに設定をする。 2) ./tools/run-periodic-tasks のパーミッションを755に設定する。 3) エントリの用意 なお、このエントリを書くに当たって、 MovableTypeマニュアル(上級者向け機能)および、 TEA Caddy | さくらレンタルサーバでの予約投稿機能の設定(MT3.1) さくらインターネットでMTの指定日投稿(アジア海外駐在員便利帳) を参考にさせていただきました。感謝します。

続きを読む