« 2007年6月 | メイン | 2007年8月 »

2007年7月11日

MT開発者向けのカンファレンス[ 全般 ]

Movable Type 4 の公開にあわせて、Movable Type をご利用いただいている開発者様を対象に、カンファレンスを開催いたします。

開発者向けのカンファレンスが行われるようです。
ユーザ向けのセミナーはあったけど、開発者向けのカンファレンスってなかったですよね?
すごく、楽しみです!

生まれ変わったMovable Type、その新たな可能性について、開発者自身からご説明させいただきます。本カンファレンスのために、Movable Type の開発責任者である、Brad Choateがサンフランシスコより来日します。基調講演においてMT4の魅力をお伝えするだけでなく、Movable Typeを最も深く知るエンジニアとして、MT4の設計思想や、プラグイン開発のベストプラクティスなど、日本の開発者様にご満足いただけるようなプレゼンテーションを予定しています。

内容も、なかなか濃そうですねー。
プラグイン開発のベストプラクティスとか、興味ありまくりです。

僕もさっそく参加申し込みしてみました。

投稿者 CHEEBOW : 14:04


MovableTypeするならおすすめです!

2007年7月27日

MTプラグインを簡単に作る方法[ プラグイン ]

MTのプラグインを作ろうとした時に、結構めんどくさいのが、毎回同じようなこと書いたり、同じようなディレクトリ構造作ったりとかっていう、前準備だったりします。
それをはしょるために、以前に作ったプラグインのプロジェクトをコピーして、せこせこ直したりもしてたんですが、それも、面倒だし、直し忘れなんてのもありがち。
仕事でMTプラグインを書くことが多いので、このあたりもっと楽にならんかなーと思っていた時に、見つけたのが、Plaggerのプラグインのひながた作成用スクリプト「plugin-start.pl」。これを元にMTプラグインのひながた作成スクリプトを作りました。これが、なかなか便利。社内でも使ってみて、だんだんこなれてきたので、このスクリプトを公開することにしました。

MTプラグインの雛形を作るスクリプト MTPlugin-Starter (エムロジック放課後プロジェクト)

せっかくなので、オープンソースにして、SourceForge.jpで公開してみました。

SourceForge.jp: Project Info - MTPlugin-Starter

出力結果とかには好みもあるでしょうから、そのあたりは各自で手に入れたり、バグを見つけたり、素敵機能を追加した時はパッチを送ってもらえるとうれしいです。

プラグイン作成に役立つといいなーと思います。

投稿者 CHEEBOW : 12:54

スパムトラックバックと戦うのだ![ カスタマイズ ]

最近、やたらスパムコメント/トラックバックが多い。
多すぎて、ロリポップさんにCGIを止められたり。
もう、いい加減この現状をどうにかしたい!
ということで、Junnamaさんの

# テンプレートから「<$MTEntryTrackbackData$>」を削除する。これで「自動検知」できなくなる。
# トラックバック、コメントCGIをリネーム。単にリネームするだけでなく拡張子も変えてしまおう。トラックバックCGIについては更にhtmlファイルに見せる技を使おう。
# コメントは「確認」画面を経由させるようにして直接ポストできないように。但しJavaScriptオンの場合は直接ポストできるようにする。そもそもJavaScriptオンの人は意識せずに済むし。
# 古いエントリーのトラックバックやコメントを閉じてしまおう。攻撃のターゲットは少ない方がいい。
# トラックバックやコメントのCGIに対してGETリクエストを制限しよう。

このノウハウを取り入れてみたのですが、スパムトラックバックだけは、相変わらずくる。
これは、なんとかせねばと、こんな方法を考えてみました。

まず、以下の内容で「tb.js」を作ります。

function makeTBURL(cgiPath, id, script) {
    var url = cgiPath + script + '/' + id;
    return url;
}

これを、例えば、ドキュメントルートにでも保存しておいて、次に個別エントリーアーカイブの中の

<$MTEntryTrackbackLink$>

このタグを

<script type="text/javascript" src="/tb.js"></script>
<script type="text/javascript" language="javascript">
<!--
var url = makeTBURL("<$MTCGIPath$>","<$MTEntryID$>","<$MTTrackbackScript$>");
document.write(url);

//-->
</script>

こんな感じで書き直します。
こうすると、HTML内には、トラックバックURLを構成するための部品だけが、並んでいる状態になります。
ブラウザで表示すると、きちんと表示されるという仕掛け。
ブラウザ側でJavaScriptをオフにしていると表示されないですけど、ね……。

昨日から様子を見ていますが、まだ1つもきてません。
結構効果あるかも!

投稿者 CHEEBOW : 14:10