WordPress 3.7 の自動バックグラウンド更新機能、言語パックについての情報

WordPress 3.7 日本語版が無事リリースされました。今回のリリースリーダーの倉石さんをはじめとする日本語版チームの皆さん、翻訳・ドキュメンテーション・テスト・コアコードに協力された方々、お疲れ様でした!!

アップグレードに関してとくに大きな問題というのは今のところ聞いていませんが、今回も「3.7 アップグレードに伴う既知の問題とその解決方法」という形で英語版フォーラムの情報の訳を公開しています。何か気になることがあった方はまずは目を通してみてください。

さて表題の件、今回の新機能である「自動バックグラウンド更新」について。まだ分かりづらい点もあるので、自分の頭の中の整理も兼ねてよくある質問をベースに情報をまとめてみたいと思います。

追記: 日本語版での自動更新実施にはもうしばらくかかる予定です。詳細は WordPress 日本語版公式ブログの記事「WordPress 3.7.1 自動バックグラウンド更新のスケジュール」をご覧ください。

WordCamp Europe で 3.7 についての講演をする Andrew Nacin
WordCamp Europe で 3.7 についての講演をする Andrew Nacin

自動バックグラウンド更新が適用される範囲は?

まず、以下の条件に一つでも一致する場合は自動更新はまったく適用されません(メールサーバーが正しく機能していれば、更新を促すメールのみが届きます)。

  • SVN や Git などのバージョンコントロールを使っている。
  • 更新の際に毎回管理画面で FTP 情報を入力する必要がある。
  • WordPress.org とサイトが HTTPS 通信できない。
  • wp-cron が正しく動作していない。

サイトが自動更新に対応しているかどうかのチェックは Background Update Tester プラグインで行えます。

現時点ではデフォルトの設定の場合、コアファイルの自動更新はマイナーアップデート(3.7 → 3.7.1、3.7.1 → 3.7.2 など)のみに適用されます。メジャーアップデート(3.7 → 3.8 など)の場合には自動更新は行われませんし、テーマやプラグインの更新も明示的に指定しない限りは今まで通りのワンクリック更新になります。

Codex の情報では翻訳ファイルも自動更新に含まれるということになっており WordPress 3.7 パッケージの中でもそれに必要な基本的機能は実装されているとのことですが、言語パック機能を担当した Otto によると WordPress.org サイトの方でのアップグレード配信機構がまだ対応していないところがあるようです(参照: Language Packs 101 – Prepwork)。マイナーアップグレードでは翻訳が必要な文字列の変更はないという予定なのでおそらく実際には影響はないと思われますが、もし何か注意点があれば今後のリリースの際に日本語チームから公式ブログで情報を提供していくことになると思います。

Otto のセッション「On Internationalization」
Otto のセッション「On Internationalization

どうしてデフォルトで自動更新が有効化されているの?

マイナーアップグレードのみとはいえデフォルトでファイルの自動置き換えを有効化するという決断はかなり思い切ったものではあります。上記でもリンクした、フォーラムの投稿にこのような文があります(原文の投稿者は Ipstenu/Mika Epstein です)。

コア開発チームなどはこの変更について非常に長い間じっくりとディスカッションを行ってきました。自動更新はセキュリティ上の問題を最小限に抑えるためのものであり、デフォルトで有効化されている理由は「この機能を最も必要としているユーザー層は、変更に気づかず有効化しないのではないか」という想定からです。こういった理由付けに同意しない方もいるかもしれませんが、どちらにしろデフォルトで有効化されているという事実はバグではありません。

さらに、今回のリリースのリード開発者である Nacin の make.wordpress.com/core ブログからも引用。

バックグラウンド更新は非常に安全です。すでに WordPress 3.7(ベータ版)を使っているユーザーによって11万回以上の更新試行が行われましたが、重大な問題は一度も発生していません。これは、更新を今まで以上に安定させるために導入した数々の検証ステップのおかげです。セキュリティ修正のためのマイナーアップグレード向けのバックグラウンド更新(デフォルトではこのアップグレードのみが自動更新の対象になっています)には数ファイルをダウンロードしてコピーするという操作のみが必要になります。これについては WordPress は問題なく行えるようになっています。

このほかにもマイナーアップグレードは平均24秒で実行される、必要に応じてさらに頻繁なセキュリティフィックスリリースが可能になる、などより詳しい説明があります。

フォールバック機能はあるの?

自動更新に失敗した際に前のバージョンに戻せる機能は含まれていませんが、自動更新に必要な条件のチェックを事前にかなり詳しく行っているとのこと。WordPress が自動的にバックグラウンド更新プロセスを開始した後に(たとえばファイルパーミッションのような)問題をキャッチした場合、ファイルのコピーは行われません。ファイルを変更する前に、自動更新に失敗した旨のメールが届きます。

今回のバージョンに含まれる「言語パック(Language Pack)の改善」とは具体的にはどんなこと?

2011年頃から徐々に進められてきた、コア・プラグイン・テーマの言語ファイルとそれ以外のソースコードの更新の分離化に関する一連の変更を指して「言語パック」と呼ばれています。将来的にはコアを含むすべての翻訳ファイルが必要な言語だけ、自動的に単体で更新されるような仕組みが api.wordpress.org 側に含まれる予定ですが、この部分はまだ完成していないそうです。

公式ディレクトリ登録プラグイン・テーマへの影響

Language Packs 101 – Prepwork によると、公式ディレクトリに登録されているプラグイン・テーマで言語パック方式(自動バックグラウンド更新)の翻訳アップグレードを採用したい場合、以下の対応が今後必要になってきます。

  • テキストドメインとプラグイン・テーマスラッグの統一
  • ヘッダー内へのテキストドメイン、ドメインパス記述
  • 適切な load_plugin_textdomain / load_theme_textdomain

追記: 言語パックのみの自動更新をしたくない作者は、今までの方式のアップグレードを選ぶオプションも引き続き利用できます。

今後 WordPress の国際化はどのように進んでいくの?

プラグイン・テーマ翻訳を翻訳者・開発者両方にとってさらに簡単にしていくというのは次の大きな課題として捕らえられているようです。この方向性は WordCamp Europe でも Otto が話していましたし、彼の記事には以下のようにあります。

最終的には WordPress.org にプラグイン・テーマ作者が翻訳ファイルをアップロードできる仕組みが含まれる予定です。または、ユーザーが translate.wordpress.org を通して翻訳を送信できるようになるでしょう

現在の情報ではまだいつになるかは分かりませんが、今回のリリースで国際化まわりの改善への大きな一歩を踏み出したことは楽しみな動きだと思っています。


関連記事

本文内でもリンクしていますが改めてこちらでも。

これからもまだ追加情報など出てくると思いますので、また何かあれば Codex 日本語版やこちらでご紹介していきます。Codex 日本語版で 3.7 向けにドキュメンテーション追加・更新作業が必要な部分については簡単にまとめています。質問などあればコメントください。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください