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分程度なので購入済みの人も購入検討中の人も見てみると良いと思います。

Microsoft SPLA と仮想化について

サービスプロバイダーライセンス (=SPLA) と仮想化環境と組み合わせたときに必要なプロセッサライセンス数を Microsoft に確認する機会があったので、覚書としてまとめておきます。 Microsoft の日本語ページを見てもさっぱりわからないので多少は役に立つでしょう。

今回の記事は Windows Server のプロセッサライセンスと SQL Server のコアライセンスについてです。 ユーザー数に応じた従量課金のサブスクライバーライセンスというのもありますが、サービス提供者からするとプロセッサ/コアライセンスの方が扱いやすいと思います。

ライセンス体系はバージョンによって変更する可能性があるので、最終的にはこの記事を鵜呑みにせずご自身で確認することをお勧めします。 Microsoft パートナーコールセンターに問い合わせると丁寧に教えてもらえます。

プロセッサライセンス

ちょっと前は Server 2008 R2 Enterprise のプロセッサライセンスというものが存在していてその上なら仮想インスタンス (仮想マシン = VM) をいくつまで動かせます、というのがありました。 しかし、現行の Server 2012 版ではこの Enterprise がなくなって Standard か Datacenter かという選択になります。 ライセンス上は Server 2012 ですが、ダウングレードして Server 2008 R2 を使用することができます。 面倒な手続きはなく、後述のプロダクトキーの発行時に 2008 R2 を指定するだけです。

Datacenter を買えば 1物理プロセッサ上であれば VM 数は無制限なのですっきりします。 問題は Standard の場合の考え方です。

今回の例として図のような VMware vSphere HA を使った構成を考えます。 2プロセッサ/台の物理サーバーを 2台使っています。 VM の数は 3つで正常時は 2つの物理サーバーに分散されて配置されます。 白が現在稼動している VM で、破線はフェイルオーバーしたときに動く可能性がある位置を示しています。

VMs

この場合、各物理サーバーで最大 3VM が動くことになります。 各々の物理サーバーで必要なライセンス数はこの最大値である 3VM で数えなければならないとのことでした。 すると 3VM × 2プロセッサで 6 Standard ライセンスが各々のサーバーに必要となります。 従って全体で必要なのは 3VM × 2プロセッサ × 2台で 12 Standard ライセンスとなります。

この構成で 12 なのかあ、という感じですが、SPLA ライセンスは想像よりも安価だったことは付け加えておきます。

ちなみに 6VM/物理サーバーを超えると Datacenter の方がお得になります。 これは Microsoft 説明資料 (英語 PDF)の p.16 にも説明されています。 最初は Standard で始めて後から Datacenter にアップグレードすることも可能とのことでした。 まあ、月額で課金なのでそれができるという話もあります。

英語ならばこの他にもサービスプロバイダー向け資料が整っているので興味があれば見ておくと良いと思います。

SQL Server

Windows Server はプロセッサ数がカウントの対象でしたが、SQL Server の方はコアライセンスとなっていて、CPU のコア数が問題になってきます。 そして仮想環境では SQL Server が稼動する VM に割り当てられている仮想コア数分の Core ライセンスを購入すればよいとのことでした。 ただし、最低が 4コアなので、2コアしか使わなくても 4コア分のライセンスを購入する必要があります。

こちらも HA だと 2倍かと思いきや、Active – Stanby 構成であれば稼動している VM のコア数でよいとのことです。 後から見つけましたが、英語の資料 (PDF) にも書かれています。

キーの発行

プロダクトキーの発行はライセンス認証窓口で行います。 SPLA という案内はないのですが、音声案内でボリュームライセンスの発行を選ぶと受け付けてもらえます。 SPLA 契約番号が必要です。 ちなみに SQL Server の方はプロダクトキーは不要です。

Windows Server 用プロダクトキーに関しては KMS キーと MAK キーの選択が必要です。 私はこの区別がわかっていなくて説明をしてもらう必要がありました。 KMS が使えるのは KMS クライアント 5台 + KMS ホスト 1台 = 計 6台の Windows Server 構成からなので、5台までは MAK キーでの発行となります。 複数の VM に導入する場合も、1つの MAK キーの発行でオッケーとのことでした。


2013.7.11 追記

図と説明で数が合っていなかったので訂正しました。

WordPress のリビジョンに覚書としてメモをつける

手前味噌な話題で恐縮なんですが、WordPress 用プラグインの Thin Out Revisions がバージョンアップして投稿/ページのリビジョンにメモを付けられるようになりました。

Revision Memo

上の画像のように編集画面に新たに「リビジョンメモ」が現れます。 また、「リビジョン」の部分の表示に入力メモが表示されます。

なお、一度入力し確定したメモは修正できません。まあ、リビジョンなんでそういう仕様ということで。 気に入ったら是非 Twitter や Facebook 等で広めてくださいね。

WordPress でのデバッグ用メッセージ出力

WordPress でテーマやプラグインの開発をしているとデバッグ用のメッセージを出力したいときがあると思います。 しかし、リダイレクト関連や Ajax 関連の動きを調べるときなどは簡単に画面出力できません。 そんな時にファイルへ出力するための簡単な方法を紹介します。

wp-confing.php に以下の 2行を入れます。

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

後は必要なところで PHP 標準関数の trigger_error を呼ぶだけです。

trigger_error('出力したいメッセージ');

すると trigger_error に渡したメッセージが wp-content/debug.log に出力されます。 お手軽ですね。

ただし、この設定だとスクリーンにも表示されるので、ファイルのみに出力したいときは WP_DEBUG_DISPLAY を false に設定します。 参考情報はこちら

スターウォーズと VRF

togetter で面白いネタを見つけたのですが、まとめられているコメントに微妙なものもあるので、技術的なところを簡単にメモ書きしておきます。 そのネタとは、ある IP アドレス (216.81.59.173) に traceroute をかけると Star Wars のオープニングのテキストスクロール (のパロディ?) が表示されるというものです。 実際に traceroute をかけた時の動画が YouTube にアップロードされていて、技術的な内容はこちらにまとめられています。 なお、有名になったため、(DDoS のものも含め) 大量のトラフィックを受けてしまったようで今も試せるかはわかりません。 少なくとも私の ISP からでは現在到達できないようです。

さて、実際にどうやってこれを実現しているかというと構成要素は二つあって、まず一つは DNS の逆引きを利用しているわけです。 これは 251.214.206.in-addr.arpa ゾーン内の対応する各レコードに表示する内容 (ホスト名) を書いておけばよいわけで、さして難しいことはありません。 以下のような内容が書かれているのでしょう。

1 IN PTR Episode.IV.
6 IN PTR A.NEW.HOPE.
9 IN PTR It.is.a.period.of.civil.war.

もう、一つの構成要素は 251.214.206.0/24 のネットワーク構成になります。 論理的に細かく分けて多くのゲートウェイを通過するようにしなければならないので、DNS レコードの登録よりもこちらの方が面倒くさいと思います。 何も考えずに構成を組むと大量のルータが必要となりそうですが、そこで利用されるのが Cisco ルーターの VRF という機能です。

VRF は簡単に言うと複数のルーティングテーブルを持つ機能です (Cisco の設定例)。 今回は多数の VLAN を作成し、VRF を用いて各 VLAN 固有のルーティングテーブルを設定することで、実際には 2台のルータ間を行き来するだけで多数のゲートウェイを通過するように設定したようです。 先に紹介したページの PHP スクリプトを実行すると 2台分のルータの設定が生成されますが、これを見ると /30 を割り当てた VLAN を 2台のルータに多数作って 216.81.59.173 宛のパケットを 2台の間で行ったりきたりするようになっています。 ですので、見た目よりはずっと簡単な物理構成で実現されています。

こういった遊び心と技術センスは真似してみたいところですね。

Facebook プラグインを使ったときの OGP 画像設定

先日、WordPress 用 Facebook プラグインを使ったときの OGP 画像設定のために、強引に SQL でアイキャッチ画像を設定する方法を書きました。 しかし、わざわざアイキャッチ画像を設定しなくても Facebook プラグインのカスタムフィルタを使用すれば OGP 画像を設定できることに後から気づきました。

方法はプラグインのサポートフォーラムで紹介されていますが、以下のように fb_meta_tags フィルタを使用すればよいのです。

function my_ogp_filter( $meta_tags ) {
  $meta_tags['http://ogp.me/ns#image'][] = array(
    'url' => 'http://example.com/wp-content/uploads/2012/12/logo200x200.png',
    'type' => 'image/png',
    'width' => 200,
    'height' => 200
  );
  return $meta_tags;
}

add_filter( 'fb_meta_tags', 'my_ogp_filter' );

ただし、フォーラムで「add a fallback image」と書かれていますが、単純に画像もう 1枚分の Meta タグを加えているだけなので、既にアイキャッチ画像が設定されているポストでは OGP 画像設定用タグ (og:image 関連) が 2回含まれることになります。 それでも Facebook 開発者ページを見ると「You may include multiple og:image tags to associate multiple images with your page.」と書かれているので問題ないようです。

現 iOS 用 Google Maps アプリにはマイプレイス機能がない

iPhone 用の Google Maps アプリが出たことでようやく iOS 6 を安心して使えるようになっています。 ただ、残念ながら現行の Version 1.0 ではマイプレイス/マイマップ機能がありません。 どうしても使いたい場合は Safari 上で使うしかありません。

Google Maps のサイトにアクセスして、「今はモバイルサイトへ (No thanks, go to mobile site)」(左の図)を選べば、以前の記事で紹介した要領でマイプレイス/マイマップ機能を使うことができます。 右は秋葉原のラジコンショップマップを表示したところです。

Google Maps Google Maps

ただ、アプリには保存の機能があるので、ちょっとした外出用であればそれで間に合うかも知れません。 保存機能を使うには Google アカウントでログインする必要があります。

保存するには長押ししたり検索したりしてピンを表示させた後に、下部に表示された地名を上にスライドさせて「保存」をタップします。 保存した場所は右上の人型のアイコンをタップすれば表示できます。

Windows 8 へのアップグレード

5年前発売の VAIO type L (VGC-LJ91S、2008年 1月発売の Vista モデル、Core2 Duo T2750、メモリ 2GB) を Windows 8 にアップグレードした際に気づいたことをメモ書きしておきます。 これも早めに記事にしないとまずい内容でしたね。

準備など

まずは Windows 8 アップグレードアシスタントを実行して、致命的な問題がないことを確認します。 互換性リストを保存しておけば、メーカーサイトへのリンク等を含めて保存することができます。

今回は Vista 32ビット版から Windows 8 への 32ビット版へのアップグレードで DVD パッケージを購入しました。 この場合、アプリケーションはインストールし直しになります。 「Windows の設定」は引き継ぐオプションを選択することにしました。 アプリケーションは再インストールとなるので、Adobe 製ソフトウェアのようにライセンス解除が必要なものは忘れずにしておきましょう。

インストール

インストール自体は特に問題なく進みました。 インストール中に既存アカウントを Microsoft アカウントに変換するよう聞かれますが、これは後からでもできるのでまずは変換せずに進みました。 ちなみに後から変換する場合はコントロールパネルのユーザーアカウントメニューで「PC 設定でアカウントを変更」を選んで行います。

インストール後の設定

まず、キーボードが 101キーボードと認識されたので、106キーボードに直しました。 Windows 7 と同様にレジストリの設定を行っています。 参照先記事にある remapkey.exe による Ctrl と Caps Lock の入れ替えも同じようにできました。

また、SkyDrive アプリは Windows 8 に含まれているのですが、デスクトップ用 SkyDrive はダウンロードしてインストールが必要でした。 ダウンロードページを見るとインストールが必要なのは Windows 7 までのようにも読めるのですが、Windows 8 でも追加インストールが必要でした。

アプリケーション関連

既にサポートが切れているので互換性リストでは「互換なし」になっている Office XP Personal や Bookshelf Basic 3.0 なども無事動きました。 私の使い方では特に問題なさそうです。 Windows 7 だと Office XP のライセンス認証は単体の「ライセンス認証」アプリケーションで実施しなければならないという話もあったようですが、今回はアプリケーション内から実行して特に問題ありませんでした。

使用感

動作は Vista の時よりも快適になりました。 しかし、それは単純に Vista と 8 の差というわけではなく、プレインストールされていた諸々が動かなくなったからというのも大きいと思います。 動作は軽くなったものの、やはりタイルとアプリの使い勝手というのはこれまでとだいぶ違います。

私はもっぱらデスクトップを使うのでスタートメニューが無いのがかなり違和感ありますね。 いろいろとショートカットキーを活用せねばならず、とりあえず Windows ロゴキー単発のデスクトップ切り替えと Windows ロゴキー + R のファイル名指定実行を良く使っています。 Windows ロゴキー関連のショートカットキーは押さえておいた方が良さそうです。 あとこの辺も。

デスクトップ上のショートカットもこれまでより使っていますね。

その他

Windows Media Center のプロダクトキー発行は 72時間以内と言っていますが、それ以上かかってから来ました。 どうも人力で対応しているように思えます。 Windows 8 からの初回申請以外はエラーになるようですが、今一つこの辺りの動作がはっきりしません。 無料提供キャンペーンが 1/31 までなので、メールが届かないのが気になるのであれば早めにサポートに連絡するのが良いと思います。 ちなみにプロダクトキー通知メールには 2/1 までにアクティベーションするよう記載されています。

2013年が始まった

1月も半ばになってしまいましたが、やっと本年初エントリです。 最初に今年のブログ周辺の目標や方針など書いておきます。

もう少しブログの知名度を上げよう

例えば fb_xd_fragment の件などは、「世の中の誤りを正さねば」とまでは思いませんが、もう少し情報を伝える力があればとも思うわけです。 釣りっぽい内容を書くのはどうかと思いますが、知名度を上げる方法を工夫して考えねばと思っています。 また、もっと広い意味でアウトプットを知ってもらうということでは自分で書いた WordPress プラグインの知名度も上げたいと思っています。

タイムリーに記事を出していく

どちらかというと書く内容を貯めこんでしまう傾向があるので、今年は1エントリあたりの量を減らしても良いのでタイミングよく記事を出すことを優先しようと思います。 ただし、内容の正確性についてはこれまでのレベルを維持するように気をつけます。

SNS とのつきあい方

知名度を上げるというところに関連しますが、もう少し SNS を活用してみようと思っています。 一応ブログ、Twitter は匿名なわけですが、特に本名がバレてまずいようなことを書いているわけでもないので、Facebook とのつながりがあっても良いような気もし始めています。 とは言ってもここで内輪話をすることはないでしょうから、本名で呼びかけられるようなコメントは Facebook に誘導することになるだろうと思います。 どこでバランスをとるのか試しながらやっていくことになるのでしょう。

アウトプットの幅を広げる

昨年は本との出合いもあって、勢いで WordPress プラグインを世に送り出すことができました。 今後も自分のサイトでの拡張機能で一般化できそうなものはプラグインとしてまとめてあげるつもりですが、数を多くしようとは思っていません。 それよりは出したものをうまく拡張して行きたいです。 そうは言っても、参照記事として英文のとてもちゃんとしたブログからリンクを貼ってもらった嬉しさは忘れられないので、英語ブログの記事は増やそうと思っています。

これに加えて昨年からの目標なのですが、音楽関連で作品を公開していきます。 とりあえずは知人からやるように言われている過去のバンド演奏を YouTube にアップロードするところからでしょうかw

色々書きましたが、焦ることなく進んで行くつもりです。 今年もよろしくお願いします。