Yuriko.Net 個別記事

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__ というフォルダーができてしまう)。

トラックバック・コメント »

コメントはありません。

上に戻る

※スパム対策プラグインの影響により、すぐにトラックバックが反映されない場合があります。お手数ですが、半日ほど待ってみてください。

コメント投稿

※発言の責任を明確にするため「名無し」「通りすがり」「匿名希望」等の匿名は不可とします。捨てハンドルでもいいので必ず名乗ってください。
XHTML (使えるタグ): <a href="" title="" ktai=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> .
※スパム対策プラグインの影響により、すぐにコメント内容が表示されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る