カテゴリー
technology

MT::Blog::clone()の罠

仕事でMTをごにょごにょいじってる。バッチ処理中にMT::Blogのclone()を使ってガンガン作成しようとするとエラーが出た。

DBD::mysql::st execute failed: Column 'templatemap_template_id' cannot be null at /path/to/MT/extlib/Data/ObjectDriver/Driver/DBI.pm line 348, <> line 4.

管理画面のブログ一覧から「ブログの複製」を実行すると特に警告もなく終了する。もちろんログに何も出ていない。
いろいろ調査していくとMT::Blog::clone()で、え?と思う実装が。(以下ソースは 4.23 のもの)

require MT::Template;
$iter = MT::Template->load_iter(
{ blog_id => $old_blog_id, type => { not => 'widgetset' } }
);
my $tmpl_processor = sub {
my ( $new_blog_id, $counter, $tmpl, $tmpl_map ) = @_;
$callback->($state . " " . MT->translate("[_1] records processed...", $$counter), 'tmpls')
if $counter && ($$counter % 100 == 0);
my $tmpl_id = $tmpl->id;
$$counter++;
delete $tmpl->{column_values}->{id};
delete $tmpl->{changed_cols}->{id};
# linked_file won't be cloned for now because
# new blog does not have site_path - breaks relative path
delete $tmpl->{column_values}->{linked_file};
delete $tmpl->{column_values}->{linked_file_mtime};
delete $tmpl->{column_values}->{linked_file_size};
$tmpl->blog_id($new_blog_id);
$tmpl->save or die $tmpl->errstr;
$tmpl_map->{$tmpl_id} = $tmpl->id;
};
$counter = 0;
while (my $tmpl = $iter->()) {
$tmpl_processor->($new_blog_id, \$counter, $tmpl, \%tmpl_map);
}

パッチでも送りつけようかと思ったけど、とりあえず普通にCGI経由で使っていれば問題がないので(顕在化しない)ブログに公開する程度にする。

カテゴリー
misc

はてなと任天堂提携(うごメモはてな)


本日(18日)14時、はてなの新サービスおよび提携の発表会があった。たまたま知人から案内を受けたので行ってみた。
新しい会社との提携を発表する際、「はてなと同様、京都をベースとして世界へ羽ばたいている会社と」まで近藤さんが言った瞬間、社名を言う前に会場内「おぉー」という驚きの声に包まれた。そう、任天堂だった。
その後任天堂からDSi専用ソフト「うごくメモ帳」の紹介がはじまり、メモのオンライン共有サービス部分にあたる「うごメモはてな」の紹介を近藤さんが説明した。
発表の詳細についてはニュースサイトにゆずるが、その後質疑応答では細かいところはともかくとして、任天堂とはてながどうして協業するのかへの答えが簡単言えば「いっしょにやりたいから」だったのはとても好感が持てた。また直接金銭上のやりとりは一切なく(開発費用はお互い負担)作り上げたものが結果として利益になればいいと。なにより協業できること事態がうれしいという雰囲気が感じられた。
彼らは京都がベースであることはともかくとして、お互いの社風や目指すものがにていることにシンパシーを感じてる様子は伺えたし、任天堂がネット関連サービスを提供している企業との協業する相手としては最良の相手だと思う。なんかほんわか温かい気持ちになりました。

カテゴリー
product

Nikon Media Port UP 体験

Nikon Media Port UPNikon Media Port UPNikon Media Port UPNikon Media Port UPNikon Media Port UPNikon Media Port UPNikon Media Port UP
アジャイルメディア・ネットワークのMEDIA PORT UP 300xモニタープログラムに当選し12/2に届いたUP(Nikon Media Port UP300x)、この2週間持ち歩いて使ってみた。基本的には会社と自宅の間、歩きと電車内での使用。自宅から駅までの10分弱の歩きと電車内での視聴を試した。

カテゴリー
technology

TimesWidgets by The New York Times

あの The New York Times がブロガー向けにウィジェットを提供しはじめた。かなりに自由にカスタマイズできるようになっていて、使ってみたくなったので張ってみる。

しかし新聞が売れなくなって来ている昨今、オンライン版サービスで直接広告収入に結びつかない活動をいつまで続けられるのかね?うまくいくなら見習いたい。

カテゴリー
misc

Baron Dance by Denki Groove

適当に電グルのPV探してたら、なんだかカッコイイものを発見。

Jugando con Fuego from Alex_Higuera on Vimeo.

カテゴリー
technology

Subversion + Trac 導入 on CentOS

Subversion と Trac の導入は過去に何度もやっているのに、毎回調べないと思い出せないくらいの頻度でしか行わないので面倒。ということで CentOS のケースをメモ。
ついでに SyntaxHighlighter の導入もして、かつコマンドライン風味とPerl風味を自作してみたが、その件は後日。

カテゴリー
moblog

UPキター


けど、開ける時間はない。夜だな。