PostToWassrプラグイン

はじめに

エントリーのタイトルとパーマリンクのTinyURLをWassrに投稿するプラグインです。

動作条件

本プラグインはMovableType 3.3以上で動作します。

注意:ブログクライアントからエントリーを投稿した場合、ブログの設定やブログクライアントの実装によっては、正常に動作しないことがあります。「トラブルシューティング」で紹介する方法で回避出来る場合もあります。

インストール

本パッケージに含まれる「plugins」ディレクトリ内の「PostToWassr」ディレクトリを、Movable Typeインストールディレクトリの「plugins」ディレクトリの下にコピーしてください。

結果、以下のような構成になります。

  

    mt (Movable Typeインストールディレクトリ)
    `-- plugins
        `-- PostToWassr
            |-- lib
            |   `-- PostToWassr
            |       |-- L10N
            |       |   |-- en_us.pm
            |       |   `-- ja.pm
            |       `-- L10N.pm
            `-- posttowassr.pl

作業後、Movable Typeのシステム・メニューのプラグイン管理画面を表示し、プラグインの一覧に「PostToWassr」が表示されていることを確認してください。これで設置完了です。

使い方

初めにWassrのユーザ名、パスワードを設定します。あとは普通にエントリーを投稿するだけです。

  1. 各ブログごとのプラグイン設定画面(注意:システムメニューのプラグイン設定画面ではありません)で PostToWassr の設定を表示し、
  2. ユーザ名、パスワードを入力し、
  3. 「変更を保存」ボタンを押します。
  4. あとはエントリーを編集し、保存するだけです。

オプション設定

初期設定では、エントリーを編集し保存する度にWassrへ投稿しますが、これをエントリーの状態を未公開(下書き)から公開に変更し、保存した場合にのみ投稿するように変更できます。

  1. 「エントリーの投稿」設定にチェックを付け、
  2. 「変更を保存」ボタンを押します。

トラブルシューティング

ectoから投稿すると、異なるURLが連続投稿されてしまう

現象
ectoからエントリーを投稿すると、Wassrに連続して2つのエントリーが投稿され、1つ目に投稿されるエントリーには正しくないURLが含まれてしまう。
原因

ブログ設定でパーマリンクがカテゴリーを含むように設定されている状況で、ectoからエントリーを投稿すると発生します。現象が発生するとき、ectoとMovableTypeとの間では次のようなXML-RPCのやり取りが行われています。

  1. newPostメソッドでエントリーを作成するが、公開(パブリッシュ)しない。
  2. setPostCategoriesメソッドでエントリーにカテゴリーを設定する。
  3. editPostメソッドでエントリーを公開(パブリッシュ)する。

プラグインでは、「公開(パブリッシュ)する/しない」という情報を取得出来ないため、1.および3.の時点でWassrへ投稿します。1.の時点ではまだエントリーに対してカテゴリーが設定されていないため、カテゴリーを含まないパーマリンクをTinyURL化して投稿します。3.の時点では既にカテゴリーが設定されていますので、カテゴリーを含んだパーマリンクをTinyURL化して投稿します。その結果、異なるURLを持つ2つのエントリーとしてWassrへ現れてしまいます。

なお、パーマリンクにカテゴリーを含まず、日付を使用している場合には、この問題は発生しません。上記1.および3.の時点でWassrへ2度投稿することに変わりありませんが、同一の内容を連続投稿してもWassr側では無視されるようです。

回避策
次の手順に従って、newPostメソッドでWassrへ投稿しないように設定します。
  1. 各ブログごとのプラグイン設定画面(注意:システムメニューのプラグイン設定画面ではありません)で PostToWassr の設定を表示し、
  2. 「エントリーの投稿」からチェックを外し、「実験的なオプション:XML-RPC newPostメソッドを無視します。」にチェックを付けます。
  3. 「変更を保存」ボタンを押します。

ブログクライアントから投稿すると正しいURLが表示されない

現象
ブログクライアント(BlogWrit, ubicast Blogger等)からエントリーを投稿すると、Wassrに正しいURLが表示されない。
原因

ブログ設定でパーマリンクがカテゴリーを含むように設定されている状況で、ブログクライアントの実装によって発生する場合があります。現象が発生する時、ブログクライアントとMovableTypeとの間では次のようなXML-RPCのやり取りが行われています。

  1. newPostメソッドでエントリーを作成し、公開(パブリッシュ)する。
  2. setPostCategoriesメソッドでエントリーにカテゴリーを設定する。
  3. publishPostメソッドでエントリーを公開(パブリッシュ)する。

プラグインは、1.の時点でWassrへ投稿しますが、まだエントリーに対してカテゴリーが設定されていないため、カテゴリーを含まないパーマリンクをTinyURL化して投稿します。その後、2.および3.のメソッドが実行されたことをプラグイン側で知ることができないため、正しいURLをWassrに投稿することができません。

なお、パーマリンクにカテゴリーを含まず、日付を使用している場合には、この問題は発生しません。上記1.および3.の時点でWassrへ2度投稿することに変わりありませんが、同一の内容を連続投稿してもWassr側では無視されるようです。

回避策
ectoから投稿すると、異なるURLが連続投稿されてしまう」の手順に従って、newPostメソッドでWassrへ投稿しないように設定しておき、ブログクライアントから新規に投稿した後、再度同じエントリーを編集、保存する、という手順と踏む以外に今のところ回避方法がありません。

更新履歴

このプラグインの利用、及び著作権や保証について

このプラグインの著作権はM-Logic, Inc.が所有しています。著作権者の許可なく本プラグインを使用、改変、再配布することはできません。

連絡先

作者:M-Logic, Inc.