野良plu: PostVox

※本記事は、旧 Tech Talk Blog 内の 「野良plu: PostVox (http://www.sixapart.jp/techtalk/2007/01/mtplugin_postvox.html) はてなブックマーク - 」 で公開されていた記事を移転しました。

新年明けましておめでとうございます。

Movable Type 開発エンジニアの たかやまです。本年も宜しくお願いいたします。

さて、第三弾となる今回の野良pluでは「PostVox」なるものをご紹介します。名前からなんとなく想像がつくかもしれませんが、Movable TypeからVoxにクロスポストしてしまうプラグインです。

下ごしらえ

そもそもクロスポストとは何か?

クロスポスト (Cross Post) とは、ネットニュースにおいて、1本の記事を複数のニュースグループを指定して投稿することをいう。

そのままブログに置き換えると、「1本の記事を複数のブログに投稿する事」という事になります。 そして、「PostVox」プラグインを使うと Movable Type と Vox の両方をお持ちであれば一回の投稿で両方のブログに反映させる事が出来るようになります。

TypePad もお持ちであれば、Vox 上の簡単な操作で TypePad にもクロスポストする事が出来るようになります。(こちらは手作業ですが)

調理

プラグイン自体は code.sixapart.com からダウンロードできますので、そちらをご覧頂くとして。ポイントとなる部分をご紹介したいと思います。

Movable Type では、エントリーを投稿出来るのは管理ページだけとは限りません。XMLRPC や AtomPP の API を公開しているので外部投稿ツール等を利用してエントリーを投稿する事も可能です。そして、当然のごとく API 経由のエントリー投稿の場合でもコールバックを実行させる事が可能です。


callbacks => {
'APIPostSave.entry' => {
priority => 9,
code => \&hdlr_api_post_save
},

コールバックルーチンの処理自体は管理ページからの投稿と一緒なので、コールバックハンドラーからは別途用意したサブルーチンを呼ぶだけで済みます。


sub hdlr_api_post_save {
return $plugin->_cross_post(@_);
}

実食

インストール

ダウンロードしたファイルに含まれているファイル、フォルダを全て Movable Type の plugins ディレクトリにアップロードします。また、外部モジュールとして「XML::Atom」「 XML::Simple」「LWP::Simple」が必要となりますが、extlib に既にあるので特に問題が無いようであれば CPAN から取得する必要はありません。

設定

Movable Type の管理画面にログインをして、設定を行うブログのメニューより「設定」-「プラグイン」を開き、「PostVox」がある事を確認の上「設定」をクリックします。

ログイン名:Voxへログインする際に使用しているメールアドレスを入力します。
パスワード:上記ログイン名に対するパスワードを入力します。
URL:ご自身のVoxのブログURLを「http://」から入力します。
Crosspost by default:チェックを付けると新規エントリー保存時に必ずクロスポスト出来ます。(もちろん保存時にクロスポストを行わないようにする事も可能です)
Cross-posting only excerpt:チェックを付けるとエントリーの概要のみをVoxに投稿し、MTのエントリーに対してリンクを張ります。チェックを付けない場合はエントリーの本文と追記の内容を全文投稿します。
使い方
  1. 通常通りエントリーの新規作成を行い、内容を入力します。
  2. 入力画面の下部に「Cross-post to Vox」というチェックボックスが表示されていますので、クロスポストを行いたい場合にチェックを付けます。 (上記の設定時に「Crosspost by default」にチェックを付けていると始めからチェックされた状態になります)
  3. エントリーを保存するとVoxにクロスポストされています。この際、エントリーが下書きの時にはチェックが付いていてもクロスポストはされません。

Six Apart をフォローしませんか?

次の記事へ

Perl モジュールの作り方

前の記事へ

TypePadのテストで使っている3つのツール