Ktai Entryタグの投稿

2008-05-10
晴れ

Ktai Entry は Gmail 対応してた

ゆりこ による 12:03:18 の投稿
カテゴリー: WordPressハック
タグ: ,

なんと、Ktai Entry は SSL に対応していました。すなわち Gmail が使えるということです。ただし、PHP 自体が openssl 対応と設定されている必要があります。Gmail を使うには、「メールでの投稿」を以下のように設定すれば OK です。ログイン名は「@gmail.com」が必要です。APOP のチェックは外してください。

メールサーバー
ssl://pop.gmail.com
ポート
995
ログイン名
example@gmail.com
パスワード
(パスワード)

Gmail 側でも、POP アクセスを設定しておきます。新しく Gmail アカウントを取らず、既存アドレスと兼用するときは、「今後受信するメールで POP を有効にする」にしてください。

そして、Gmail は postfix 流の拡張アドレスが使えるので、適当なランダム文字列 ramdomを追加した「example +random@gmail.com」が有効です。誰にも推測できない文字列を使って「example+9bf809b25bc76b2e@gmail.com」などのアドレスを作り、これを投稿受付アドレスとすれば安全です。この場合、Ktai Entry オプションの「投稿用メールアドレス」にこのアドレスを記入すれば、通常の Gmail アドレス (example@gmail.com など) に送られたアドレスは無視されます。

ただ、Gmail の POP は通常の POP サーバーと違って仕様が特殊で、DELE コマンドを発行しても削除されないなど、挙動がちょっと違います。なので、通常のメールアカウントと併用するのは避けた方が無難です。新たに Gmail アカウントを取るのがおすすめです。

[追記] iモードから絵文字つきメールを Gmail に送信すると、題名・本文ともに Shift_JIS で送信していました。ということは WILLCOM と同じコードが使えるので、コピペして iモード絵文字対応を作り込みました。とりあえず仮版を CVS に上げましたので、興味ある方は使ってみてください。

WordPress メール投稿プラグイン Ktai Entry 0.8.1 リリース

ゆりこ による 01:02:03 の投稿
カテゴリー: WordPressハック
タグ: , , , , , ,

WordPress 用メール投稿プラグイン「Ktai Entry」のバージョン 0.8.1 をリリースいたします。変更点は以下の通りです。

  • 投稿ステータスの指定に PRIVATE (未公開) を指定できるようにしました。
  • 外部メールボックスを読み出すトリガーを、init フックから wp_head フックに変更して、より確実にメッセージ取り込み処理を行えるようにしました。
  • Basic 認証、Digest 認証で保護しているウェブログでも、自動的に外部メールボックスを読みに行けるようにしました。
  • APOP ではなく POP を利用している場合、メールボックスに新着メールがなくても「サーバーエラー」(Bad Gateway) として処理していた不具合を修正しました。
  • 投稿タイトルが文字化けしにくいよう、文字コードの検出を厳密にしました。
  • 附属ドキュメントの「LightBox 用に、rel=”lightbox”属性を追加する」のコードがバグっていたのを修正しました。(画像つきメールを送信しても、投稿にはテキストしか反映されない不具合の原因)
ダウンロード: ktai_entry081.tar.bz2 (63.6 KB)
バージョン 0.8.2 をリリースしました。

今回は主にバグフィックスです。うまくメールが取り込まれない問題に対処するため、定期的に外部メールボックスを読みに行く仕組みを根本的に変更して、wp-shot に近い方向にしました。このため、メールボックスを読みに行くタイミングにはまると、画面表示が遅くなります。

また、0.8.0 では画像が出ないという問題が多発しましたが、これはカスタマイズ用サンプルコードにバグがあったのが原因で、Ktai Entry 本体の問題ではありませんでした。0.7.1 でも発生するはずですが、わざわざ戻して「発生するか確認」された方はいないようでした (追記: yutaka さんとこでは 0.7.1 に戻すと OK だったようです。うーん謎)。おそらく、0.8.0 にアップグレードしたと同時にカスタマイズを入れた人がほとんどだったのでしょう。ある意味ドキュメントのバグと言えます。

今回はテスト版を出したりして、多くの方のご協力を仰いでいます。まことにありがとうございます。だいぶ安定するようになっていますが、まだまだなところがありますので、今後もよろしくお願いします。

次はいよいよ SSL 対応して Gmail をサポートすることとします。そうなれば、ドコモ、ソフトバンクでも絵文字対応できるかもしれないので、調査してみます。それから、デコメ対応を試みますが、実はデコメ対応端末はドコモ、ソフトバンクしか持ってないので、au, WILLCOM 対応はかなり後回しになるでしょう。(防水、Bluetooth、電子コンパス対応でデコレーションメール対応端末はまだ存在しないので機種変更できず、対応はかなり先になりそう……)

2008-05-09

Ktai Entry 用カスタマイズ例がバグってた

ゆりこ による 03:20:18 の投稿
カテゴリー: WordPressハック
タグ: ,

Ktai Entry で、画像付きメールを送っても画像が出ない」バグですが、どうやら、「LightBox 用に、rel=”lightbox”属性を追加する」というカスタマイズに提示したコードがバグっていたのが原因でした。大変失礼いたしました。現在は修正しましたが、当初は以下のようになっていました。

function ke_rel_lightbox($html, $id, $size) {
	if (preg_match('/rel=["\']/', $html, $match)) {
		$html = str_replace($match[0], $match[0] . 'lightbox ', $html);
	} elseif (! preg_match('/rel=/', $html)) {
		$html = str_replace('<img ', '<img rel="lightbox"', $html);
	}
}
add_filter('image_link/ktai_entry.php', 'ke_rel_lightbox', 10, 3);

これでは、返り値がないので、フィルターの結果が「空」になってしまいます。return $html; を追加すればよさそうですが、2つ目の str_replace もマズくて、これだと <img rel="lightbox"src="..... のように rel 属性と src 属性が繋がってしまって不正になり、消えてしまいます。置換文字列は '<img rel="lightbox" 'と末尾にスペースが必要です。

カスタマイズ用のコードも一通りテストはしていますが、lightbox 用コードはテストしていなかったんですよね…… (post.php で alt 属性を追加するコードをコピペしたものなので OK と判断したため)。この不具合が多くの人で発生したということは、Lightbox を使っている人が結構多いわけで、こういうフィルター関数を使わなくても付与できるように、コア機能として取り込んだ方がいいのかもしれません。

2008-05-08
晴れ

Ktai Entry 0.8.1-beta2 (テスト版その2)

ゆりこ による 23:54:59 の投稿
カテゴリー: WordPressハック
タグ: ,

WordPress メール投稿プラグイン「Ktai Entry」テスト版その2を配布します。不具合が発生している方は、ぜひ試用頂いて、確認を願います。不具合が発生していない場合は、通常の 0.8.1 リリースまでお待ちください。

  • 画像つきメールを送信しても画像が挿入されていない対策を強化したつもり。
  • タイトルが文字化けしないよう、Subject の文字コードを厳密に判定。
  • 誰かがウェブログを閲覧したタイミングで外部メールボックスを読み出たとき、取り込み処理が中断してしまう。
ダウンロード: ktai_entry081-test2.tar.bz2 (63.0KB)
バージョン 0.8.1 リリースしています。

3番目については、retrieve.php を GET メソッドで呼び出すことにより非同期処理を行なっていたのですが、返り値を読んでないためサーバーが「接続を中断した」と判断して処理をやめてしまうことがあるようです。そこで、<head> 要素内で retrieve.php を「JavaScript として」呼び出すことにしました。ウェブブラウザーが retrieve.php を呼ぶため、より確実な非同期処理となります。すべての閲覧者が JavaScript オフの場合はメール読み出しがされませんが、今どきはそういうことはほとんどないでしょう。

副作用として、retrieve.php を通常のウェブブラウザーからアクセスしたとき、メールボックス読み出し時間間隔を越えていた場合は、メール読み出し処理を行なってしまいます。

2008-05-07
晴れ

Ktai Entry 0.8.1-beta1 (テスト版)

ゆりこ による 19:57:49 の投稿
カテゴリー: WordPressハック
タグ: ,

WordPress メール投稿プラグイン「Ktai Entry」の次期ベータ版(というか)テスト版を配布します。これは、「画像つきメールを送信すると、画像がメディアライブラリに登録されるものの、投稿本文にはテキストしか入っていない」という問題を解明するためのバージョンです。テスト版なので以下のような対応となっています。

  • (APOP ではなく) POP の場合、メールボックスに新着メールがないとき Bad Gateway (== POP 設定不良) として処理していた問題を改善しました。
  • 0.7.1 → 0.8.0 で省略してしまった処理を復活して様子を見る。
  • ログを強化。デフォルトでログ機能が有効です。
ダウンロード: ktai_entry081-beta1.tar.bz2 (62.5KB)
テスト版その2を出しました。

不具合が発生している方は、ぜひ試用頂いて、確認を願います。不具合が発生していない場合は、通常の 0.8.1 リリースまでお待ちください。(通常の 0.8.1 ではログ機能がオフになるだけの予定ですが ;-)

[追記] 環境によっては、「画像が出ない」問題がまだ発生するようです。さらなる対処版を CVS に上げましたので、上記アーカイブから post.php だけ差し替えると、使うことができます。

[さらに追記] 1.00 までは「ベータ版」なので、ベータ版のベータ版となり、意味不明なので「テスト版」という名称にしてみました。

2008-05-05
雨のちくもり

WordPress メール投稿プラグイン Ktai Entry 0.8.0 リリース

ゆりこ による 10:57:40 の投稿
カテゴリー: WordPressハック
タグ: , , , , , ,

WordPress 用メール投稿プラグイン「Ktai Entry」のバージョン 0.8.0 をリリースいたします。変更点は以下の通りです。

  • 絵文字投稿に対応しました。au および WILLCOM の絵文字を認識して、Ktai Style の絵文字フォーマットに変換して記録します。
  • 「作成者/作者 (author)」以上の権限を持つユーザーが投稿する場合、「下書き (draft)」「レビュー待ち (pending)」の状態を選べるようにしました。また、講読者/協力者 (subscriber) は投稿してもエラー返送または破棄するようにしました (従来は下書きになっていました)。
  • 添付画像を含む場合の出力フォーマットを管理パネルで設定できるようにしました。
  • WordPress 2.3 以降において、カテゴリー指定コマンドでスラッグを認識するようにしました。
  • 言語リソースファイルは lang フォルダー内にまとめました。
  • カテゴリー変更コマンド、タグ付与コマンド、画像回転コマンドを本文最下行に書いた場合、除去されずに残ってしまう不具合を修正しました。
  • 独自フィルターフック post_status を追加し、images_to_linkmedia_to_html に名称変更しました。
ダウンロード: ktai_entry080.tar.bz2 (62.3 KB)
バージョン0.8.1をリリースしました。

今回はバグフィックス数件と、絵文字投稿機能を追加しています。Ktai Style の絵文字対応は PC 閲覧ではテキストになってしまうのが残念なところですが、メール投稿して携帯電話で閲覧すれば、十分に楽しめます。ぜひお試しください。

2008-05-03
晴れ

Ktai Entry ちょい延期

ゆりこ による 00:29:10 の投稿
カテゴリー: WordPressハック
タグ:

ちらりと昨日リリースを示唆した Ktai Entry ですが、権限回りとカテゴリーコマンド回りにも手を入れたので、あと2日ぐらい延期します。もうちょっとお待ちください。以下の機能アップを予定しています。

  • 絵文字投稿に対応しました。au および WILLCOM の絵文字を認識します。
  • 「作成者/作者 (author)」以上の権限を持つユーザーが投稿する場合、「下書き (draft)」「レビュー待ち (pending)」の状態を選べるようにしました。また、講読者/協力者 (subscriber) は投稿してもエラー返送または破棄するようにしました (従来は下書きになっていました)。
  • 添付画像を含む場合の出力フォーマットを管理パネルで設定できるようにしました。
  • WordPress 2.3 以降において、カテゴリー指定コマンドでスラッグを認識するようにしました。
  • カテゴリー変更コマンド、タグ付与コマンド、画像回転コマンドを本文最下行に書いた場合、除去されずに残ってしまう不具合を修正しました。
  • 独自フィルターフックの追加により、WordPress 登録ユーザー以外のメールアドレスで投稿受付したり、投稿作成者を固定できるようにしました。(中級者以上向けオプション)

あす (日付的にはきょう) からの会津旅行で実戦投入して動作確認してみます。といいつつ、カテゴリー指定系はあんまし使わないような……。

SSL 対応は、openssl が利用可能な PHP ではすぐ実装できそうな気がするんですが、確認に時間がかかりそうなので、とりあえず次のバージョンでは入れずに、その次のバージョンとしてみます。Gmail 対応してしまった場合、iモード絵文字、ソフトバンク絵文字にも対応したいためです ;-)

CVS リポジトリーは更新してありますので、興味ある方は使ってみてください。

2008-05-01

ウィルコムもメールで絵文字使えそう

ゆりこ による 22:17:35 の投稿
カテゴリー: WordPressハック
タグ: , , ,

Ktai Entry で、携帯絵文字を認識する機能アップを行なっています。当初、インターネットメールに絵文字がそのまま送出されるのは au 端末だけと思っていて、au 絵文字だけ実装する予定でした。しかし、どうやら、ウィルコムも、絵文字をそのまま送出しているようです。

ウィルコムの絵文字は、ウィルコム独自絵文字と i モード互換絵文字 (「Web 入力絵文字」という名称)の2体系があります。メールの場合、前者は <#XXXX> という型式に変換され (<#HEART> とか <#FLAG> とか)、後者は Shift_JIS コードそのままです。Web 入力絵文字は Ktai Style で作成したコードをそのまま使えそうですが、独自絵文字フォーマットは全絵文字について調査が必要ですね。とりあえず、au 絵文字・Web 入力絵文字に対応したバージョンを明日あたりに公開して、ウィルコム絵文字は連休中に対応でしょうか。

Ktai Entry もテンプレート対応にする?

ゆりこ による 17:17:41 の投稿
カテゴリー: WordPressハック
タグ: ,

Ktai Entry は、添付画像があるときの出力フォーマットは固定されていて、編集するには ktai_entry.php ファイルを編集するか、独自フィルターフックを使うしかありません。後者は中級者以上向けで、ちょっと難しいです。

他のメール投稿ツールでは、出力テンプレートを用意してあるものがあります (メール投稿ツール比較表)。Ktai Entry でも、テンプレートの利用を考えたのですが、設定が煩雑になるのを避けることと、デザイン調整はスタイルシートで可能なことで、採用しませんでした。Ktai Entry の出力フォーマットは非常に単純で、以下のような感じです。画像のはスペース区切りです。

<div class="photo"> (元画像にリンクしたサムネール画像1枚目) (画像2枚目) ... </div>
<p> (本文) </p>
<div class="photo-end"> </div>

本文の下に写真を入れたいというニーズもありそうですが、モブログではあまりないだろうと思って本文の上に決め打ちしています。(WordPress 2.5 からの gallery 型式を使いたい人はいるかもしれない??)

でも、管理パネルで、このテンプレートを編集できるようにするのは機能改善としてはよさそうです。さすがに、複数テンプレートを用意して切り換えというのは、煩雑なのでやりません。それならば、各社携帯端末のデコレーションメールに対応して、そのフォーマットを再現すればいいですよね。文章→写真→文章、というフォーマットを使いたい場合は、端末側でそういう文面を作ればいだけなので、簡単ですし。

テンプレートを使いたいために Ktai Entry から wpmobExpress に乗り換えた 方もおられるようです。そういうのを見ると「Ktai Entry もまだまだだなあ」と思って機能アップしたくなります ;-) wpmobExpress のテンプレート機構はよくできてると思いますが、わたしのように「最大5枚」の写真を添付する可能性があるとテンプレートを作るのが大変ですし、そのテンプレートが「table 組み」というのは、今となっては時代遅れに感じます。

「比較表」では、MobG も「テンプレート対応」としましたが、これは携帯電話からログインした画面のテンプレートであって、投稿する内容のテンプレートではないようです。投稿する内容は、設定ファイルの編集で行う必要がありました。

2008-04-29
晴れ

WordPress メール投稿プラグイン Ktai Entry 0.7.1 リリース

ゆりこ による 22:28:51 の投稿
カテゴリー: WordPressハック
タグ: , , , , ,

WordPress 用メール投稿プラグイン「Ktai Entry」のバージョン 0.7.1 をリリースいたします。変更点は以下の通りです。

  • ログ機構を追加しました。
  • 独自フィルターフックを追加しました: retrieve_interval, validate_address, image_link, images_to_link
  • コマンドライン版 PHP から retrieve.php を起動したときは _wpnonce 引数を不要としました。このため、cron で定期的にメールボックスのアクセスを指示することが可能です。
  • プラグインを停止すると、POP3 サーバーの設定を削除するようにしました。Ktai Entry が有効時は wp-mail.php の実行を抑制しますが、Ktai Entry を停止すると実行されてしまうため、安全策として設定を削除します。
  • サーバー環境によって、カテゴリー指定コマンド、画像回転コマンドが効かない問題を修正しました。
ダウンロード: ktai_entry071.tar.bz2 (47.4 KB)
バージョン 0.8.0 をリリースしています。

今回は独自フィルターフック、ログ機構の追加およびバグフィックスを行なっています。ログ機構は、「うまく投稿できない」場合に役立つと思いますので、ぜひ活用してみてください。独自フィルターフックは、Ktai Entry の動作を自分好みに変更することができるものです。ちょっと使い方が難しいですが、ぜひチャレンジしてみてください。(「LightBox 用に、rel=”lightbox” 属性を追加する」などの例も用意しています)