2008年3月の投稿

2008-03-03
晴れ

Ktai Style に携帯絵文字の入力機能を付ける

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

この土日は、寝過して日帰り旅行ができなかったので、Ktai Style に携帯絵文字の入力機能を実装すべくコーディングしていました (というか、それで夜更しして寝過したような;-)

携帯の絵文字入力機能は、技術的には絵文字の文字コードを探索して、Ktai Style 用の絵文字コード (<img localsrc="XXXX" />) に置き換えるだけで、そんなに難しいものではありません。大変なのは、各社の絵文字コードをスクリプトに入れ込む作業です。EZweb が 641 文字、SoftBank が 485 文字 (Vodafone 時代の文字を含む)、i-mode が 252 文字、WILLCOM が i-mode 絵文字と独自絵文字 162 文字 (計 414文字)、イー・モバイルが、i-mode 絵文字と独自絵文字 26 文字 (計 278 文字) あります。合計で 1566 文字になります。最低でも 1566 行必要なわけです。

しかも、他社絵文字への変換テーブルがありますから、1566 文字×4キャリアで6264行の変換コードが必要です (イー・モバイルはドコモ用スクリプトを流用可能)。各社の絵文字番号と Shift_JIS コードを関連させるスクリプトは比較的簡単に作れました (i-mode, SoftBank は絵文字番号と Shift_JIS コードがほぼ連続に対応しているため)。しかし、他社絵文字への変換テーブルが大変です。1文字1文字手作業で対応づけないといけませんから、膨大な作業になります。

そこで、キャリアごとの絵文字番号で保存するのではなく、できるだけ EZweb の絵文字に正規化させることを検討しました。数字・トランプマーク・お天気など、どのキャリアにもある絵文字は、EZweb の絵文字番号を使うわけです。Ktai Style のテンプレートでは EZweb の絵文字番号を使っているので、ごく自然な実装に思えます。この方法だと、絵文字番号と Shift_JIS コードの比較表さえ作れば、他社絵文字への変換テーブルが不要になるため、コーディングが楽になります。その電話会社しかない独自絵文字だけ、変換テーブルを作ればいいのです。

しかし、WILLCOM 絵文字で問題が出ました。WILLCOM は、ドコモ絵文字が丸々使える上に、独自絵文字も使えます。しかも、WILLCOM 独自絵文字にも、数字・トランプマーク・お天気アイコンがあります。そう、正規化できないのです!! ドコモ絵文字の「晴れ」と、WILLCOM 絵文字の「晴れ」を同じ「44番」としてしまっては、それぞれの使い分けできず、不便かつ動作が分かりにくくなります。

さらに、Shift_JIS コードを読み取る時点で正規化するということは、その変換テーブルにバグがあったとき、間違った変換のままデータベースに記録されるという問題も出ます。各社の絵文字番号と Shift_JIS コードの対応は、比較的連続しているのでバグは出にくいですが、他社絵文字の変換テーブルは数値が非連続なので、ミスが出やすくなります。

結局、最初に実装通り、各社の絵文字番号をそのまま記録して、出力時に閲覧端末に応じて絵文字変換させることにしました。コードは大きくなりますが、検証はこちらの方がやりやすいため、品質も高くなるでしょう。

とはいえ、土日を使っても、i-mode, WILLCOM, イー・モバイル と EZweb の対応を書くだけで終ってしまいました (i-mode 表示用スクリプト)。残りはソフトバンク絵文字ですが、他4社と相違点が多いためなかなか手強く、時間がかかりそうです。

なお、巷には携帯絵文字変換ライブラリーの類いは転がっているのですが、Ktai Style という GPL プログラムに組み込めないライセンスだったり、多機能すぎたりするので、スクラッチから書いています。

2008-03-04
晴れ

三菱電機が携帯電話事業から撤退

ゆりこ による 00:16:24 の投稿
カテゴリー: モバイル・携帯電話

きのう、三菱電機が携帯電話事業から撤退すると発表しました。NTT ドコモに D シリーズ端末を長年供給しており、いわゆる「御四家」(D,F, N, P) の1つでした。シャープ (SH) 参入以後は「御五家」という状況でしたが。

最近では三洋電機が京セラに携帯電話事業を譲渡したニュースがありましたが、それに匹敵する業界再編ですね。古くは、デンソーの撤退、パイオニアの撤退、国際電気の撤退などがあって、それらのメーカーの端末を使っていた人は残念な思いをしたものです。デンソーは「まめぞう」、パイオニアは「全面液晶」という他メーカーにない特徴があったので、「撤退されたら使う端末がない!!」という人もいたようです。

わたしが三菱端末を所有したのは1回だけで、関西デジタルホン時代の DP-222 です。使い勝手はいまいちで、それ以後三菱端末は持っていません……。

2年くらい前は、D,F,N,P,SH では富士通 (F) がいちばん売れてなさそうで、「撤退するとしたら F だろう」と思っていました。実は、らくらくホンが順調に売れており、指紋認証、強力なセキュリティー機能、ワンセグなどの機能で徐々に人気が出ているようです。インターフェースも使いやすく改善されているようで、906i シリーズは F にするかもしれません (F901iT みたいに Bluetooth がつけば最高なのに!!)。

2008-03-05
晴れ

Ktai Style 1.11 は管理機能が WordPress 2.5 未対応

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

3月前半にはリリースされるという噂の WordPress 2.5 ですが、遅ればせながらナイトリービルドを入手して Ktai Style の動作確認をしてみました。閲覧部分は特に問題なさそうですが、大きくデザインが変更された管理パネルについては、動かない部分がいくつかありました。

  • 新規投稿ができない (投稿の編集はできる)←別のテスト環境ならばOK
  • コメント一覧が出ない。
  • PC 向けログイン画面に携帯電話でアクセスしても携帯ログイン画面にリダイレクトされない (wp-admin/ 配下へのアクセスならリダイレクトされる)

Ktai Style の管理機能は、データベースを直接いじる部分はほとんどなく、wp-admin/ 配下の API を使っていますが、その API が少し変化しているようです。わずかな手直しで修正できそうなので、WordPress 2.5 対応をしたバージョン 1.12 を週開けぐらいには出すことにします(追記) 絵文字対応も盛り込んだ 1.20 を WordPress 2.5 リリース前後に出せそうです。ついでに、以下の改善を行う予定です。

  • 各社 3G 端末、WILLCOM、スマートフォン等で出る「画像を表示する/リンクに変換」のメニューを、表示中ページに画像がない場合は隠す。
  • 携帯電話用のページ分割で、ol 要素の途中で分割された場合、ol 要素の start 属性を用いて、項目番号を前ページから継続させるようにする (前ページが8番目の途中で分割された場合、現在ページは 8 という項目数字から始まる)
  • 外部リンクへの中継ページで、クエリ文字列 (? や & など) を含む URL が途中で切れてしまう問題を修正しました。また、i-mode, EZweb の場合、URL のコピーをしやすいようにテキストフィールドを付けました (ソフトバンクはテキスト中の URL を直接コピーしてください)。
  • 附属テーマにおいて、絵文字の代替文字列が抜けていた (<img localsrc=”XXXX” /> となっていた) 部分を修正
  • 標準のパーマリンクを使用している場合、SoftBank PDC 等の古い端末において、コメント閲覧・コメント投稿などのリンクがうまく動かない問題を改善しました。
  • W-ZERO3 シリーズ、EM・ONE、htc Z 等の Windows Mobile スマートフォンにおいて、ks_term_name() が適切な機種名ではなく「Windows CE;」という文字列を返していた問題を修正 (バージョン 1.10, 1.11 のみのバグ)
  • テンプレートタグ ks_ordered_list(), ks_comments_link(), ks_comments_post_link(), ks_back_to_post() は、絵文字 (数字、四角、矢印等) の直後からリンクを張るようにした (絵文字自体はリンクされません)
  • 全テーマの page.php で余分な div 要素が出ないよう調整
  • redportal テーマで、コメント停止中の投稿において、コメント一覧ページの hr 要素がダブってしまう問題を修正
  • WordPress 確認ウィンドウ (コメントエラーや外部サイト接続確認などの表示) で XHTML 文法違反になることがあった問題を修正しました。
  • 次の独自フィルターフックフィルターフックを追加しました: redir
  • 次のテンプレートタグを追加: ks_is_menu(), ks_applied_appl_xhtml()

コメントや投稿本文への絵文字入力機能は、他社絵文字変換テーブルが未完成なので、まだリリースできません。

[追記] 新規投稿は別のテスト環境で OK でした。ログイン画面のリダイレクトがうまくいかない問題を発見しました。さらに、次期バージョンでの改善事項も追加しています。

[追記] 3月14日、バージョン1.20をめでたくリリースいたしました。結局、WordPress 2.5 の正式リリースを待たずして、WP .25 対応と携帯絵文字入力をサポートすることとしました。

2008-03-06
晴れ

SF.JP もついに PHP5 に

ゆりこ による 13:49:33 の投稿
カテゴリー: ソフトウェア
タグ:

Ktai Style などの配信元である SourceForge.jp (SF.JP) のサーバーで、やっと PHP がバージョン 5 になることが発表されました。これで、WordPress Plugins/JSeries のウェブサイトも、WordPress 2.0 系統から 2.3 なり 2.5 なりにアップグレードすれば、Ktai Style が入れられますね ;-) (現状はモバイル対応まったくなし)

今年になって、なんとか PHP5 への移行が進みつつあります。Ktai Style が PHP4 対応を行う必要性はまったくないと言ってよいでしょうか。というか、「Ktai Style を使いたいために PHP5 にする」ぐらいの勢いが欲しいところです;-)

2008-03-08
晴れ

WordPress 2.5 対応はけっこう大変

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

Ktai Style の WordPress 2.5 対応を行なっていますが、けっこう変更すべき箇所が多くて大変です。開発中の日本語リソースも入れてみると、ところどころ英語の部分が残ります。これは、Ktai Style が WordPress コアのローカライズ文字列を使っているものの、WordPress 2.3 以前と 2.5 で違ってしまったことを意味します。2.5 の ja.mo でそのローカライズ文字列が存在しなくなると、英語のまま残ってしまうわけです。こういう場合、Ktai Style 側でローカライズ文字列を定義してしまうか、WordPress のバージョンを判定して使用する文字列を差し替えるかの対処が必要です。

新規投稿については、2種類のテスト環境で、できる/できないが違っているのですが、できない環境が Windows 環境ということで、後回しになりそうです。PC 向け管理パネルでは投稿できるので Ktai Style の管理機能に不備があると思われるのですが、Mac OS X 環境 (==UNIX 環境) では OK なのが不可思議です。PHP のバージョンや MySQL のバージョンも微妙に違うため、それが原因かもしれず、難航しています。

もっと困っているのは、PC での管理パネルのデザイン変更です。そのままでは、標準の設定画面と Ktai Style の設定画面のデザインが違いすぎます。class 名が変更されているので、WordPress 2.5 用の class 名を振ってやれば、見た目を揃えられると思っていますが、調整が必要です。

そうこうしていると、もはや「1.11 からのバグフィックス」を越えた違いになってしまうため、WordPress 2.5 対応版は「1.20」としようかと思っています。といっても、絵文字入力対応版を「1.30」とするとバージョン番号がインフレしすぎます。絵文字入力版の完成まで WordPress 2.5 対応を待たせるのもよくないので、とりあえず、WordPress 2.5 対応版を「1.20 ベータ」(いちおう絵文字入力は可能) として、絵文字対応版を「1.20 正式版」としようかと思っています。

そのためには、Jseries Notifier が「-beta」というサフィックスを認識するような修正が必要になってきます。ということで、2,3日中に Jseries Notifier のバージョンアップを行う予定です。

[追記] えいやっ、で他社絵文字変換テーブルを完成させました!! ということで、テストさえ完了すれば、絵文字対応 & WordPress 2.5 対応としてバージョン 1.20 を出せそうです。1週間くらいかけてテストしたいですが、それまでに WordPress 2.5 が出てしまったら、その時点で「1.20ベータ」としてリリースいたします。

2008-03-10
晴れ

JSeries 更新通知プラグインのバージョン 0.80 リリース

ゆりこ による 00:48:07 の投稿
カテゴリー: WordPressハック

WordPress Plugins/JSeries 用更新通知プラグイン「JSeries Notifier」のバージョン 0.80 をリリースしました。変更点は以下の通りです。

  • バージョン番号の比較を PHP 関数 version_compare() を使うように変更しました。これにより、「4.3.2RC1」「1.0.0-alpha」などのようなバージョン番号でも、うまく比較できるようになりました。
ダウンロード: jseries-notifier080.tar.bz2 (9.4 KB)
バージョン 0.81 をリリースしました。

ここで告知しなくてもみなさんの管理パネルで告知されるはずですが、バージョンアップをお願いいたします。

2008-03-11
晴れ

mb_ereg_replace と 0×5c 文字に悩む

ゆりこ による 23:13:52 の投稿
カテゴリー: ソフトウェア
タグ:

WordPress 携帯対応プラグインKtai Style を携帯絵文字の入力対応にするべく作業中ですが、その検出のために mb_ereg_replace() を使ったところ、2バイト目が 0×5c な文字に悩まされました。

Ktai Style は携帯絵文字を <img localsrc="XXXX" /> というフォーマットで記録するのですが、EZweb の場合は以下のようなコードで正規表現で絵文字の Shift_JIS コードから変換させています。しかし、0xf35c など「2バイト目が 0×5c な文字」でエラーが出てしまいました。self::$pics は、絵文字コードをキー、絵文字自体を値とする配列です。ソースコードは Shift_JIS で書かれているため、バックスラッシュじゃなくて円マークで正当です。

$pics = array_flip(self::$pics);
if (! $pics) {
	return $buffer;
}
mb_regex_encoding($this->charset);
$replaced = mb_ereg_replace(
	"([¥xf3¥x40-¥xf3¥xfc]|[¥xf4¥x40-¥xf4¥xfc]|[¥xf6¥x40-¥xf6¥xfc]|[¥xf7¥x40-¥xf7¥xfc])”,
	‘isset($pics["¥1"]) ?
	“<”img localsrc=¥”" . $pics["¥1"] . “¥” />”" :
	sprintf(”&t;img localsrc=¥”ez¥” alt=¥”[0x%x%x]¥” />”, ord(substr(”¥1″,0,1)), ord(substr(”¥1″,1,1)))’,
	$buffer, ‘e’);

出たエラーは以下のようなものです。マッチした文字を \1 によって代入した時点で、2バイト目の 0×5c が、次のダブルクォートをクォートしてしまい、閉じブラケット (]) が検出されなくなってしまうようです……。

PHP Parse error: syntax error, unexpected T_
STRING, expecting ‘]’ in /(ほげほげ)/ezweb.php(1905) : mbregex replac
e on line 2

対策をいろいろ考えてみましたが、正規表現オプションの “e” 用のコードで \1 でマッチした部分を取り出すことが原因なので、「e オプションを使わない」もしくは「\1 でマッチした部分を取り出すのをやめる」のどちらが対策となります。それは避けたいため、2バイト目が 0×5c な文字はマッチ条件から除外して、あとで処理することにしました。

$replaced = mb_ereg_replace(
	"([¥xf3¥x40-¥xf3¥x5b]|[¥xf3¥x5d-¥xf3¥xfc]|[¥xf4¥x40-¥xf4¥x5b]|[¥xf4¥x5d-¥xf4¥xfc]|[¥xf6¥x40-¥xf6¥x5b]|[¥xf6¥x5d-¥xf6¥xfc]|[¥xf7¥x40-¥xf7¥x5b]|[¥xf7¥x5d-¥xf7¥xfc])”,
	‘isset($pics["¥1"]) ?
	“<img localsrc=¥”" . $pics["¥1"] . “¥” />” :
	sprintf(”<img localsrc=¥”ez¥” alt=¥”[0x%x%x]¥” />”, ord(substr(”¥1″,0,1)), ord(substr(”¥1″,1,1)))’,
	$buffer, ‘e’);
if ($replaced) {
	$replaced = mb_ereg_replace(”¥xf3¥x5c”, ‘<img localsrc=”‘ . $pics["¥xf3¥x5c"] . ‘” />’, $replaced);
	$replaced = mb_ereg_replace(”¥xf4¥x5c”, ‘<img localsrc=”‘ . $pics["¥xf4¥x5c"] . ‘” />’, $replaced);
	$replaced = mb_ereg_replace(”¥xf6¥x5c”, ‘<img localsrc=”‘ . $pics["¥xf6¥x5c"] . ‘” />’, $replaced);
	$replaced = mb_ereg_replace(”¥xf7¥x5c”, ‘<img localsrc=”‘ . $pics["¥xf7¥x5c"] . ‘” />’, $replaced);
}

なんとも見苦しいコードですが、まあ仕方ないでしょう……。ソフトバンク絵文字は「ウェブコード」という、ESC-$-X-Y-SI という文字群で、マルチバイト対応の正規表現を使う必要がないため、preg_replace() が使えます。preg_replace ならば ‘e’ オプション用のコードで $1 を入れても問題ありません。しかし、絵文字コードにシングルクォート(’)、ダブルクォート (”) を含むことがあって、そういう文字と 0×5c を含む文字が結合すると、これまたうまく処理できません。仕方ないので、preg_match() でマッチした文字を変数に取り出し、分解してから substr_replace() で戻すという、さらに泥臭い手法になりました……。

// ==================================================
public function pictogram_index($webcode) {
	if (preg_match('/¥x1b.(.)(.)¥x0f/', $webcode, $c)) {
		$c2 = ord(stripslashes($c[2]));
		return $c[1] . ($c2 ? $c2 : ‘92′);
	} else {
		return ‘0′;
	}
}

/* ==================================================
 * @param	string  $buffer
 * @return	string  $buffer
 */
public function pickup_pics($buffer) {
	$pics = array_flip(array_map(array($this, ‘pictogram_index’), self::$pics));
	if (! $pics) {
		return $buffer;
	}
	for ($offset = 0 , $replace = ‘X’ ;
	     preg_match(’/¥x1b.([GEFOPQ])([!-z]+)¥x0f/’, $buffer, $webcode, PREG_OFFSET_CAPTURE, $offset) ;
	     $offset += strlen($replace))
	{
		$orig    = $webcode[0][0];
		$offset  = $webcode[0][1];
		$seq     = $webcode[1][0];
		$char    = $webcode[2][0];
		$replace = ”;
		for ($i = 0 ; $i < strlen($char) ; $i++) {
			if (isset($pics[$seq . ord($char[$i])])) {
				$replace .= ‘<img localsrc=”‘ . $pics[$seq . ord($char[$i])] . ‘” />’;
			} else {
				$replace .= ‘<img localsrc=”s” alt=”[ESC$' . $seq . ord($char[$i]) . ‘SI]” />’;
			}
		}
		$buffer = substr_replace($buffer, $replace, $offset, strlen($orig));
	}
	return $buffer;
}

ともあれ、絵文字入力は問題なく動作するようになりました。WordPress 2.5 はリリース延期になったようですが、ベータ版での動作は確認できているので、Ktai Style 1.20 は近日中にリリースできることでしょう!!

2008-03-14
くもり一時雨

WordPress 携帯対応プラグイン Ktai Style 1.20 リリース

Ktai Style 画面

大幅に機能アップした WordPress 携帯対応プラグイン「Ktai Style」のバージョン 1.20 をリリースいたしました。主な変更点は以下の通りです。

  • WordPress 2.5 への対応を盛り込みました。
  • イー・モバイルのネット接続サービス EMnet への対応を盛り込みました。
  • 携帯電話からのコメント投稿・新規投稿・投稿編集などで絵文字が入力できるようになりました (設定変更が必要)。
  • 各社 3G 端末、WILLCOM、スマートフォン等で出る「画像を表示する/リンクに変換」のメニューを、表示中ページに画像がない場合は隠すようにしました。
  • WordPress コアが、アポストロフィー、ダッシュ、3点リーダーなどを数値実体参照に変換しても、普通の文字に戻すようにしました (数値実体参照は携帯電話で文字化けする場合が多いため)。
  • 携帯電話からの新規投稿/投稿編集で、コメント・ピンバックの許可・拒否を設定できるようにしました。「投稿を削除」はボタンではなくリンクにしました (WordPress 2.5 風)。
  • 携帯電話でのコメント編集で、メールアドレス欄を追加しました (なぜか今までありませんでした)。「コメントを削除」はボタンではなくリンクにしました (WordPress 2.5 風)。
  • 携帯電話用の管理パネルで、コメントの「一括編集モード」を廃止しました。
  • 携帯電話用のページ分割で、ol 要素の途中で分割された場合、ol 要素の start 属性を用いて、項目番号を前ページから継続させるようにしました。
  • default テーマで index.php が表示する投稿本文は先頭1000バイトのみに短縮しました。投稿本文が長い場合でもページ分割が起きなくなります。
  • (変更点を全部見る)
ダウンロード: ktai_style120.tar.bz2 (172.0 KB)
バージョン1.21 をリリースしています。

今回のバージョンアップは、WordPress 2.5/イー・モバイル音声端末/携帯絵文字入力可能、という3つの機能アップが図られています。PC でも携帯絵文字が画像で出るならば「Ktai Style 2.0」を名乗りたかったですが、さすがに1600文字分の画像は作れなかったので、「バージョン 1.20」としています。その他にも、附属テーマの細かい改良を行なっておりますので、ぜひともバージョンアップをお願いいたします。

WordPress 2.5 およびイー・モバイルについては、正式版での確認はまだですが、「おそらく問題ないだろう」と判断しています。正式版や実機を入手すれば、すぐに確認して、もし問題があればバグフィックスいたします。

Google Maps プラグイン Lightweight Google Maps 1.20 リリース

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

WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.20 をリリースします。変更点は以下の通りです。

  • Ktai Style 1.20 以後を利用している場合、携帯電話でも地図が出るようにしました。
  • WordPress 2.5 への対応を盛り込みました。
  • 設定画面の場所を、「プラグイン」タグから、「設定」または「各種設定」タブに戻しました。
ダウンロード: lw-google-maps120.tar.bz2 (22.7KB)
バージョン 1.21 をリリースしました。

約半年ぶりのリリースですが、今回は携帯電話でも地図が出るという機能アップを図っています。WordPress 2.5 対応はオマケで、設定画面を WordPerss 2.5 スタイルに合わせただけで、従来バージョンも WordPress 2.5 で動きます。

同一地点の位置情報が複数あるとき、固定ページでのマーカーが重なってしまう問題などは、今回は対応していません。Ktai Style の開発は一段落させて、しばらくは当プラグインをいじった方がいいのかな?

2008-03-15
晴れ

Ktai Style 1.20 は SoftBank 3G での絵文字入力に非対応

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

昨日リリースした Ktai Style 1.20 ですが、SoftBank の 3G 端末における絵文字入力に対応してないことが判明しました。リリース時点では「SoftBank 3G の ShiftJIS 非対応端末では絵文字入力が無理」ということは判明していたのですが、そういう端末は少ないと思って、リリースノートには書きませんでした。しかし、実際の端末で確認してみたところ、多くの SoftBank 3G 端末で絵文字入力が無理っぽいことが判明してしまいました。

SoftBank 3G が、絵文字を含むときは UTF-8 で返すことがあるのは予測しておりましたが、そういう挙動が多いとは思っていませんでした (マイナーな動作で無視できると思っていました)。SoftBank 3G の場合、絵文字は Shift_JIS で返すようです (PDC はウェブコードで返す)。対応コードをすぐに準備して、バグフィックスを出したいと思います。というか、SoftBank 3G を手元に準備した方がいいのかも……。

[追記 3/17 2:25] CVS リポジトリーに対応コードをコミットしました。ソフトバンクの絵文字 Shift_JIS コードは技術資料 HTML 編 (PDF) の付録Aに記載されていました。本文はよく読んでるのに、付録までは全部目を通してなかった……。実機確認はまだ (持っている人にテスト依頼中) なので、確認終了しだい、リリースいたします。

2008-03-18
晴れ

WordPress 携帯対応プラグイン Ktai Style 1.21 リリース

Ktai Style 画面

絵文字対応の WordPress 携帯対応プラグイン「Ktai Style」のバージョン 1.21 をリリースいたしました。変更点は以下の通りです。

  • 携帯絵文字の入力で、ソフトバンク 3G 端末からの入力にも対応しました。ver 1.20 は対応しておらず、?? のように文字化けしてしまっていました。
  • 外部サイトの画像を img 要素で呼び出している場合にも「画像を表示/リンクに変換」のメニューが出てしまっていたのを、出ないように抑制しました。(外部サイトの画像は必ずリンクになるため、切り替えメニューは意味がないのに、出てしまっていました)
  • イー・モバイル音声端末において、HTTP ヘッダの x-em-uid フィールドから契約者 ID (ユーザー ID) の取得を試みるようにしました。
ダウンロード: ktai_style121.tar.bz2 (172.3 KB)
バージョン 1.3.0 をリリースしました。

今回のバージョンアップは、SoftBank 3G での携帯絵文字入力対応および、「画像を表示する/リンクに変換」の切り替えメニューが不要な場合に出てしまう問題への対応です。WordPress 2.5 対応は正式版がまだリリースされていないので、最新のナイトリービルドでの確認にとどまっています。

今後は、Readme に書いてある機能追加予定を順番に対応すべく作業予定です。

2008-03-21
くもり

WordPress 2.5のプラグイン自動アップデートへの対応をどうするか

ゆりこ による 11:56:47 の投稿
カテゴリー: WordPressハック
タグ:

拙作プラグインのうち、Ktai Style, Lightweight Google Maps は WordPress 2.5 での動作を確認ずみですが、他のものはまだです。実は、JSeries Notifier は、動作するものの、更新通知表示が英語のままであるという問題があります。WordPress 本体のローカライズ文字列が変更になったためです。対応するには、WordPress のバージョンを判別して、それぞれに合わせた文字列を使えば OK です。

しかし、実際にはそれでは十分ではありません。なぜなら、WordPress 2.5 の更新通知には「自動アップデートする」というリンクが含まれるからです。ところが、JSeries のプラグインがすべて自動アップデートに対応しているかというと、必ずしもそうではありません。残念なことに、Ktai Style はそのファイル構成上、対応していません。

WordPress 2.5 の自動アップデートは、一時フォルダにプラグインの展開を試みて、成功すれば稼働中のものと入れ替える仕組みです。ところが、Ktai Style は、プラグインの内部にユーザーの自作テーマを入れられるので、この手順でアップデートされると、その自作テーマが消えてしまいます。(JSeries ではありませんが) Mobile Eye+ も、設定ファイルをプラグインフォルダーの内部に生成するので、自動アップデートすると設定ファイルがなくなります。

自動アップデートに対応するには、ユーザーの自作テーマを wp-content/plugins/ktai_style/themes/ ディレクトリーの外に保存させるしかありません。wp-content/ktai-themes/ ないしは wp-content/themes/ktai/ というディレクトリーを作ってもらって、そこに保存するとかの手を検討してみますが、分かりやすさが落ちますよね……。

プラグインの自動アップデートが、既存のものに上書きする仕組みならば自作テーマは消えませんが、上書きだと、余分なファイルが残ったり、展開に失敗したときの復旧が困難という問題があるので、そういう仕組みに変わる可能性は低いでしょう。

余談ですが、Yuriko.Net を収容しているサーバーは FTP が使えない (SSH/SCP/SFTP のみ) ため、自動アップデートは使えません。自動アップデートが FTP のみというのは、2008年の設計ちゃうやろ〰と思いますが、SFTP に対応するとなると大変そうです。対応してほしけりゃ自分でパッチを書いて送るしか ;-)

[追記] そもそも、Ktai Style をはじめ、わたしがリリースしたプラグインはすべて tar.gz もしくは tar.bz2 型式なので、自動アップグレードに対応していません。アーカイブの展開は unzip_file() しか行なってないので、zip 型式以外はそこでエラーになりそうです。でも、zip 型式は好みじゃないし、Mac OS X からクリーンな型式で吐き出すのは面倒なんですよね (普通に操作すると __MACOSX__ というフォルダーができてしまう)。

プロが作る携帯プラグインの出来はどうか

ゆりこ による 23:06:33 の投稿
カテゴリー: ソフトウェア

テクノラティで「WordPress 携帯」と検索していると、WordPress をベースにした「携帯用アフィリエイトサイト・ビジネス用サイト作成プラグイン JUMP」というのを見掛けました。広告や絵文字を挿入するには投稿画面の右サイドバーに並んでいる「置換タグ」を挿入する、というのは興味深いインターフェースです (動画での説明もある)。

しかし、説明サイトが作りかけである (そのくせスパム被弾しまくり)/WILLCOM やイー・モバイルに対応してない/使える絵文字は255文字だけ/WordPress 2.5 対応するか不明/予価3万円 (先行モニター価格は1万円) もする、など問題ありまくりです。どうみても Ktai Style の敵ではないようで、安心してよさそうです;-) WP MOBILE もそうですが、プロだったらもっとマトモなものを作らないと ;-) 今後よくなることに期待しましょう。フリーウェアに負けてたらダメですよ!!

あと、「携帯対応」を名乗るなら、WILLCOM とイー・モバイルに対応してナンボと思いますが、なぜ WILLCOM を無視する業者がこれだけいるんでしょうね?? ユーザーが少ないからコストに見合わない、という判断をしているならば、それは WILLCOM ユーザーを見下していますね。WILLCOM というマイノリティーを選択する人は、特有のセンスを持っているので、ある種のマーケティングをすれば思いっきり儲かるかもしれないのに。

[追記] タイトルを「プロなのにロクな出来じゃない携帯プラグイン」から改題しました。叩きつつも応援する趣旨だったのですが、叩き記事に見えてしまうためです。

男性専用車両は痴漢冤罪に役立たない

ゆりこ による 23:55:00 の投稿
カテゴリー: ジェンダー・セクシャリティー

ZAKZAK に「大阪市交通局に男性専用車両を作って欲しいという要望が殺到している」という記事が載っていました。「冤罪に逢いたくない」という気持ちは分かりますが、発想が貧弱すぎます!! 女性専用車両ですら、痴漢の撲滅に役立たたず、そもそも性差別を助長している存在なのに、男性専用車両なんて作ったら、性差別・性区別の世の中を助長してしまうではないですか。「区別したら冤罪が撲滅できる」なんてアイディアは薄っぺらいものです。

ちょっと考えただけでも、「男性専用車両に*乗らない*人は、痴漢する人だと思われる可能性がある」「列車の混雑状況が偏ってしまう」などの問題があります。だいたい「男性専用車両」なんて考えただけでキショいですよね;-) 余談ですが、女性専用車両もキモいと思いますし、「専用車両に乗らない人は痴漢されてもいいと思われてしまう」「少年に対する痴漢を防止できない」などの問題があります。

地下鉄御堂筋線で発生した冤罪事件の根源は、駅員および警察が「被害者 (と思われる人) を信用しきってしまう」「疑わしきは逮捕」という運用を行なっているからです。そして、そういう状況があるからこそ「でっちあげ事件が成功する」と思う犯罪者が出てくるのです。まずは、警察が、両者の言い分をしっかりと聞くことが先決です。痴漢では冤罪が多いのですから、当事者のみをしょっぴくのではなく、周囲10mぐらいの目撃者全員を確保するぐらいの運用をするべきでしょう。そして、でっちあげ事件をなくすべく、「痴漢はアカン」ポスターに続いて「痴漢でっちあげもアカン」キャンペーンをするべきでしょう。

今回の冤罪事件は、満員電車ではなく、閑散時間帯であったことが悲しいところです。満員電車に対しては「警備員を載せるべき」という意見を持っていますが、閑散時間帯の場合は警備員を載せるコストが担保できません。嫌なことですが、通勤車両でも防犯カメラを搭載するしかないのかも。とにかく、男性専用車両では問題の根源が解決できません。再考しましょう。「でっちあげ犯罪」をするような悪者は男性専用車ができても仕掛けてくるでしょう!!「警察しっかりしろ」運動の方が効果ありますよ〰。

2008-03-22
晴れ

Habari はパーマリンクの扱いがいまいち→スゴイかも

ゆりこ による 00:29:42 の投稿
カテゴリー: ソフトウェア

Masayan さんが「Habari をインストール」された記事に触発され、ウチでもローカルの MacBook にインストールしてみました。Mac OS X なので Apache はインストールずみ、PHP5, MySQL は別途入っていて、WordPress 環境のテスト環境としてバリバリ使っています。

しかしながら、結果はがっかりでした。それは、パーマリンクの扱いが WordPress 同様、あまり自由ではないことです。URL に使う post slug は全投稿でユニークである必要があるため、Yuriko.Net メインサイトのような yyyy/mm/ddX といった型式を実現することはできません (X は日付ごとに a,b,c,.. となる連番なので post slug では代用できない)。

しかも、ディレクトリーなのに末尾のスラッシュを抜いてしまう悪い癖も WordPress 譲りです。わたしは「http://www.yuriko.net/travel/」と表記したいのに、WordPress は「http://www.yuriko.net/travel」という URL をそこらじゅうで使います……。

ここが独自ウェブログエンジンなのは、従来の URI 体系を維持するためなのです。最近開発が止まっていますが、そろそろ機能アップした方がいいかな〰。携帯対応は Ktai Style のコードをパクってみるか。

[追記] 設定画面では、パーマリンク体系をいじる箇所がなかったのですが、ドキュメントには「Rewrite Tutorial」というのがあって、リクエスト URL を正規表現で解析して処理できるようですよ!! これはかなりスゴいかも。

ヨソで配っている WordPress は危険です

ゆりこ による 14:16:28 の投稿
カテゴリー: WordPressハック

WordPress Japan フォーラムで、「WordPress 附属テーマで右側に PR リンクや QR コードがあるのを消したい」という投稿がありました。ハテ、WordPress 2.3.3 日本語版も、ME 2.3.3 も、附属テーマにはそんなものはありません。不思議に思っていると、質問者から以下のような返事がありました。

Press9でWordPressをダウンロードし、そのテンプレートに入っていました。
プラグインは何の事かさっぱりわからないので、まったく触っていません。
Akismet
BlogConfigurationSetting(無効化)
Hello Dolly
MobileContentViewer(無効化)
Mobile Eye
podPress
SEO Title Tag(無効化)
Spam Karma 2
WordPress Database Backup
WP-ContactForm
という状態になっています。
PRには、WordPress無料提供中と表示されています。

うぎゃーー。またデジタルスタジオがやってくれたよ!! WordPress のパチモン (あえて断言) を配るとはとんでもないです。WordPress は GPL ソフトウェアなので、改変したものを配布することは自由です。しかし、その場合は、元の著作権表示を守り、また、改変箇所を明記しなければなりません。よりによって、脆弱なプラグイン (WP MOBILE; BlogConfigurationSetting, MobileContentViewer) を同梱してくるとは、ひどいですね。Mobile Eye (オリジナル版) も、2008年の現在では古すぎます (PHP5 では変な動作をする)。

ひょっとすると、WordPress コアにバックドアを仕込んでいるかもしれず、非常に怖いですね。日本語対応の WordPress 正式配布元は、http://ja.wordpress.org/ ないしは http://wordpress.xwd.jp/ (配布ファイルは sourceforge.jp に格納) です。それ以外で配布しているものは、偽物もしくはパチモンです。危険ですので、使ってはいけません!!