WordPress プラグインリポジトリの動作

ちょっとニッチな話題ですが (いつものことだ!)、プラグインを作って WordPress.org のリポジトリへプラグインをアップロードするときの Stable Tag 関連の細かい動作についてまとめておきます。 英文ドキュメントだけではわかりにくい気がするので。

trunk/readme.txt は原則 Stable Tag だけ参照される

プラグインのページからダウンロードできる安定バージョンを指定するには trunk/readme.txt の Stable Tag を使用します。 ここで注意が必要なのは、プラグインページの表示は trunk/readme.txt ではなく、Stable Tag で指定したバージョンの tags/安定バージョン/readme.txt の内容を元に表示されることです。 つまり、例えばプラグインページで typo があったりしたときに、それを訂正するにはわざわざそれ用の新バージョンを作って Stable Tag を更新しなければならないということです。

Stable Tag で指定したバージョンがなかったら?

例えば trunk の下のファイルを更新して開発を進めたところ、いい感じになったのでリリースしようと考え trunk/readme.txt の Stable Tag を 1.2 へ更新したとします。 しかし、タグ付けし忘れて、対応する tags/1.2 のディレクトリを作成し忘れていたらどうなってしまうのでしょう?

この場合は、プラグインページ上のダウンロードリンクの表示は「Download Version 1.2」となり、ダウンロードできるパッケージは trunk の内容を固めた Zip ファイルとなるのです。 問題ないですね。

であれば、プラグインページが枯れて (typo 等がなくなって) 安定するまでは trunk をダウンロードしてもらうというのも一つの手かなと思いました。 ともかく、Stable Tag 更新 → タグ付けの間に時間が空いても問題はないということです。

Stable Tag 更新とタグ付けは順番に実行

一度、trunk の更新 (含 Stable Tag 更新) と対応するバージョンのタグ付けを同時に check in したところ、「Download Version *」の表示が変化しないことがありました。 (ダウンロードできるパッケージは変化したように記憶しています)

というわけで Develop Center で紹介されている手順通り trunk (Stable Tag) の更新とタグ付けは別々に check in した方が良いようです。

ああ、何てニッチな話題なんだろう!

Standard Widget Extensions 1.0

拙作の Standard Widget Extensions がバージョンアップして 1.0 となりました。 このサイトのサイドバーの動きはこのプラグインを使用しています。 今回のバージョンアップでは派手な機能追加はないもののそれなりに変化しています。 私の書いた怪しい英語を英語の苦手な平均的日本人が読むと、きっと伝わらないような気がするので、要点を書いておくことにします。

主な変更点は以下の通りです。

  1. サイドバーに複数のウィジェットエリアをもつテーマに対応しました。これにより、スクロール動作に関してはサイドバー全体の大きさで計算させながらも一部のウィジェットエリアでのみアコーディオン動作をさせることができます。
  2. 設定された ID やクラスを元に見出しアイコン用の style タグが動的に生成されるようなりました。 これで非標準テーマでも使いやすくなったと思います。
  3. 管理画面が日本語表示されるようになりました。

1. に関連して新たに「次の ID を持つウィジェットエリアのみで有効」というオプションが増えているのでこれについて説明します。 このオプションは複数のウィジェットエリアを持つサイドバーに対し、アコーディオン動作をするウィジェットエリアを指定するときにに使います。 Twenty Twelve や Twenty Eleven のように 1つのウィジェットエリアがそのままサイドバーになっているテーマではこのオプションは空欄にしておき、「サイドバーの ID」にそのウィジェットエリアの ID を入れてください。

2. ですが、もし既に非標準テーマ + Standard Widget Extensions という組み合わせでお使いになっていて 1.0 へバージョンアップする場合は生成される style タグが余計なことをすることになるので、「デフォルト CSS を生成する」を無効にしてください。

このサイトのサイドバーと同じような動作をさせたいときは是非使ってみてください。

日本語で書くのは気楽だ…。

WordPress のリビジョンの作成者表示がおかしい件

すぐ忘れちゃうのでメモ書きしておきます。 Ticket #16215 の件。 現行バージョン 3.5.1 でおかしくて次期バージョン 3.6 で修正される予定。

現象

簡単に再現できます。

  1. 最初にユーザー admin で記事を作って投稿する
  2. 次にユーザー blogger323 でその記事を更新する
  3. リビジョン画面に行って作者欄を見る

こうなっているはずです。

  • 第 3版: 作者 = admin、内容 = blogger323 が更新した内容
  • 第 2版: 作者 = blogger323、内容 = admin の投稿した最初の内容
  • 第 1版: 作者 = admin、内容 = 空 (自動生成される初版!)

どうしてこうなった?状態なのですが、これは今のリビジョン操作が、更新時に現行の内容をコピーしてリビジョン用レコードを新たに作成するようになっているからです。 つまり、blogger323 が admin の内容をコピーしたリビジョン用レコード (= 第 2版) を作成するので、第 2版の作者は blogger323 としてデータベースに記録されます。 投稿として表示されるレコードには更新がかけられるのですが、作者フィールドは更新対象とならず最初に作成した admin のまま変わらないのです。

3.6 に向けて

日々更新されていくので、どのような対策をしようとしているか興味のある方は Ticket #16215 を参照してみてください。 私は自分のプラグインの処理に関係するかも知れないので気にしていますが、とりあえず 3/13 予定のβ1 待ちです。

Cubasis Video Tutorial

Steinberg 公式の Cubasis チュートリアルビデオがアップロードされています。 例によって英語ですが、操作を見ながら聞けば何となく言っていることはわかるのではないでしょうか。

最近の YouTube は自動認識の字幕も出せますが、精度は微妙な感じです。 雰囲気を知るには良いかもw

これらを見て、「こんなこともできるんだ」と思ったのが、チャプター 3 で紹介されている MIDI via Wi-Fi (3:31~) と Audiobus (6:06~) の機能です。 共にちゃんと本体ヘルプの「Accessories」の項に書かれているのですが、関係なさそうと思いきちんと読んでいませんでした。

MIDI via Wi-Fi はパソコンの DAW (Cubase 以外でも可) に Wi-Fi 経由で MIDI 信号を送る機能です。 これは RTP MIDI に対応しているということです。 Windows ではドライバが必要ですが、Mac では OS の機能 (ネットワーク MIDI) として備わっているようです。

Audiobus はバージョン 1.1 で追加された機能です。 私は他の対応アプリを持っていないので試せませんが、ビデオを見る限りは MIDI も Audio もきちんと連携できています。 ビデオの該当部分は Audiobus 機能の紹介にもなっています。 ただ Audiobus アプリ (850円) が必要なんですね。うーむ。

まあ、どちらも私は当分使わなそうですが (爆)、面白い機能だとは思います。

ついでにもう一つ。PC のブラウザから MediaBay のファイルに直接アクセスできる Wi-Fi Server 機能は便利です。 一括削除が簡単にできるし、ブラウザのダウンロード操作で PC にファイル保存できます。 Setup 画面で「WiFi Server」を ON にして表示された URL にアクセスするだけです。

というわけで、チュートリアルビデオを紹介しましたが、全部で 30分程度なので購入済みの人も購入検討中の人も見てみると良いと思います。