RSS の購読者と PV の相関関係
「住 太陽のブログ:RSS購読者数の推移とPV数の推移に有意な相関性は見られず」を読んで、当サイトのグラフも作ってみました。2つのグラフを Photoshop で重ねています。
緑色が FeedBurner による RSS 購読者、青色が Google Analytics による PV(ページビュー) で、期間は2006年1月から2007年6月です。

エントリーは約1件/日。いずれのグラフにもある細かい谷は土日です。
2006年3月頃に RSS 購読者が激増しているのは、2月に FeedBurner に登録した後、他のフィード(index.xml等)へのアクセスを 全て FeedBurner 用のフィードにリダイレクトさせたからです。
またグラフ中盤で全体的に下がっているのは、サイトのアクセスで 503 エラーが多発していた頃で、パフォーマンスを改善してからは安定しています(下記は当時の関連記事)。
ということで、土日とパフォーマンスの2点については同期しているものの、RSS 購読者の増加とPVには相関がないようにみえます。
RSS は全文配信していますが、記事内容や RSS リーダーでの表示具合によってはサイトに訪れているかもしれません。
Movable Type 4 Beta 4 公開 & テンプレート編集画面レイアウト変更
Movable Type 4 Beta 4 が公開されました。
これまでお寄せいただいたたくさんのフィードバックから見つかった不具合等の修正状況は、Movable Type 4.0 Beta Change Log にお礼とともに掲載させていただいています (email アドレスのアカウント名の部分などで掲載させていただいています)。ぜひ、これからの Beta 版を利用するととも Change Log もチェックしてみてください。
また、ベータ 4 でかなりのバグが修正されています。詳細は Movable Type 4.0 Beta Change Log をご覧ください。
ただし、SQLite バージョン1.10 以下での動作はまだ解消していないようです。
DBD::SQLiteのバージョン1.10以下の環境での動作はまだ期待通りではありません。
以下、パッと見で気がついた違いを紹介しておきます。
まず、インストール最初の画面が変わっていました。

データベースへのインストール時の表示がスクロールバーでなくなりました。

プラグインへのリンクがサブメニューに昇格しています。

そしてタイトルの通り、テンプレート編集画面のレイアウトが変更されていました。ベータ3までは左側にテンプレート別のリンクがあったのですが、右側に「クイックフィルタ」という各テンプレートのリンクとして移動しています。

比較すると一目瞭然です。
実は先日、フィードバックで、「テンプレート編集画面で、異なる種類のテンプレートページへの移動が不便です」という旨の要望を出しておりまして、「実装できるか分かりませんが検討させて頂きます」という回答を頂いてました。
要望が受け入れられたのかは不明ですが、少し要望に近づいた実装になっています(「少し」というのは、編集画面では「クイックフィルタ」が表示されないため)。
異なる種類のテンプレート編集画面への移動は 3.x の時から不便に感じてましたので、たったワンクリックの違いですが、編集画面でも「クイックフィルタ」を表示してもらえると作業効率がかなり向上しそうです。
そして、The blog of H.Fujimoto さんの「Movable Type 4 β4」にあるように、テンプレートの編集ページでタグを色分けして表示する機能が実装されています。

グローバルナビゲーション(その1:基本スタイル)
最近すっかりオーソドックスになった、順序なしリスト(ul/li)を用いたグローバルナビゲーションを紹介します。

2年ほど前に書いた「ナビゲーションバー・シンプルタイプ」というエントリーは、アンカーテキストを並べた形式でしたが、グローバルナビゲーションの作り方についてコメントを頂きましたので、新たに作成してみました。
巷では、画像を用いたものやプルダウンメニューつきのグローバルナビゲーションをよく見かけるのですが、ここではテキストのみによるシンプルなグローバルナビゲーションを紹介します。
1項のサンプルコードは Movable Type のMTタグを埋め込んでいますが、MTタグを書き換えれば汎用的に使うことが出来ます。
動作は Windows XP + IE6/IE7/Firefox2/Opera9/Safari3 で確認しています。
1.テンプレートの設定
ヘッダの下にグローバルナビゲーションのマークアップ(青色)を追加します。
<div id="header">
<h1 id="blog-name"><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></h1>
<MTIfNonEmpty tag="BlogDescription"><p class="blog-description"><$MTBlogDescription encode_html="1"$></p></MTIfNonEmpty>
</div>
<div id="navi">
<ul>
<li><a href="<$MTBlogURL$>" title="Home">Top</a></li>
<li><a href="<$MTBlogURL$>about.html" title="about">About</a></li>
<li><a href="<$MTBlogURL$>profile.html" title="Profile">Profile</a></li>
<li><a href="<$MTBlogURL$>link.html" title="Link">Link</a></li>
<li><a href="<$MTBlogURL$>search.html" title="Search">Search</a></li>
<li><a href="<$MTBlogURL$>contact.html" title="Mail">Mail</a></li>
</ul>
</div>
2.CSS 追加
下記のグローバルナビゲーション用スタイルをスタイルシートに追加します。
#navi {
border-bottom: 1px solid #669;
background: #fff;
height: 25px;
}
html > body #navi,
html > body #navi ul li a { /* for Safari */
height: 28px;
}
#navi ul {
margin: 0;
padding: 0;
list-style: none;
}
#navi ul li {
float:left;
border-right:1px solid #333;
width: 100px;
}
#navi ul li a {
display: block;
color: #333;
font-size: 75%;
text-align: center;
letter-spacing: 0.1em;
line-height: 2.3;
text-decoration: none;
}
#navi ul li a:link,
#navi ul li a:visited {
background: #fff;
}
#navi ul li a:hover {
color: #000;
background: #ccc;
}
全体に border を与えているので XHTML のマークアップが div の分だけ冗長になってしまっています。すいません。
また、IE6のテキスト部分以外にマウスオーバーを有効にする対策では height を用いていますが、#navi ul li a に position: relative; を与える方法もあります。
2007.12.28
タイトルを「ナビゲーションバー・リストタイプ」から「グローバルナビゲーション」に変更し、併せて本文も修正しました。
高品質な音楽を配信する音楽版 YouTube 「Blogmusik」
最近になって、Blogmusik という高品質な音楽を配信するサイトの存在を知りましたのでご紹介します。
久しぶりに音楽関係のエントリーです。
下のプレーヤーは Blogmusik を利用して貼り付けたものです。よろしければ左側の再生ボタンをクリックして聴いてみてください。曲は「G線上のアリア(バッハ)」。
以下、基本的な操作方法です。
サイト上部にある検索フィールドにアーティスト名等の検索文字列を入力し、「Search」をクリック。日本語は対応していないようですので、半角英数を入力してください。

検索でヒットした場合、下にリストが表示されるので、リストの中から聴きたい曲を探し、一番左のアイコンをクリック。これで演奏が開始します。

再生が開始すると、左上に配されたコントロールパネル左側にはアルバムジャケットが表示されます。一時停止、音量調節等はコントロールパネルで行ないます。プログレスバーの中をクリックすると、任意の位置から再生できるようです。
さらに右下にあるCDマークをクリックするとアルバムを iTunes で購入することができます。

ブログにプレーヤーを貼り付けるには、少し右に表示されている「Blog & Share」のリンクをクリック。

新しいウィンドウがびよーんと表示されます(下)。このエントリー冒頭のようなプレーヤーを表示させる場合は、左下のソースコードをコピーし、そのままブログの記事本文に貼り付ければOKです。
リンクのみ表示したい場合は右側のURLを使いましょう。その下のフィールドを使えばメールも送れます。
ツリー表示 JavaScript 「dTree」詳解
昨日のエントリー「dTree によるサブカテゴリーリスト for Movable Type」でご紹介した dTree の詳細について、本エントリーにて紹介します。例えば、設定によってはエクスプローラー風以外のツリー表示も可能です。
内容は概ね配布サイトの説明を訳したものですが、一部、使用した観点でも記しています。
1.コンフィグレーション
下記の項目を事前に設定しておくことで、dTree の動作や表示をカスタマイズすることができます(具体的な設定の流れは3項参照)。いくつかの項目については配布元の Example のページで確認できます。
| 変数名 | 型 | デフォルト値 | 説明 |
|---|---|---|---|
| target | String | true | 全てのノードの target 属性 |
| folderLinks | Boolean | true | true の場合、フォルダ名が通常のリンクになり、false の場合は(フォルダのみ)折りたたみ用リンクになります。 |
| useSelection | Boolean | true | true の場合、選択したノードがハイライト表示されます。 |
| useCookies | Boolean | true | ツリーの状態保持のためにクッキーを使用 |
| useLines | Boolean | true | true の場合、ツリーを表示します。 |
| useIcons | Boolean | true | true の場合、アイコンを描画します。false の場合、「+」と「-」のシンプルなアイコンだけが表示されます。ルートノードのアイコンを非表示にしたい場合はこの設定がお勧め。 |
| useStatusText | Boolean | false | true の場合、ステータスバーにURLの代わりにカテゴリー名を表示します(ブラウザ依存) |
| closeSameLevel | Boolean | false | true の場合、あるノードを開いた時に、他の同一階層ノードを閉じます。また、openAll() と closeAll() は機能しません。 |
| inOrder | Boolean | false | 親ノードが常に子ノードより先に add される場合、ツリーのスピードアップをする(注:動作未確認です) |
設定例:
mytree.config.target = "mytarget";
mytree.config.useCookies = true;
2.API
add()
- 概要
- ツリーにノードを追加します。ツリーを描画する前に起動してください。id, pid と name は必須です。
- パラメータ
名前 型 説明 id Number ツリーの中でユニークな番号 pid Number 参照する親ノード番号。ルート番号は「-1」。 name String ノード名 url String ノードの URL title String ノードの title 属性 target String ノードの target 属性 icon String アイコンを使用する場合の画像ファイル名。設定しない場合はデフォルト画像が使用される。 iconOpen String アイコン(オープンした時)を使用する場合の画像ファイル名。設定しない場合はデフォルト画像が使用される。 open Boolean ノードを開いて表示 - 例:
mytree.add(1, 0, 'My node', 'node.html', 'node title', 'mainframe', 'img/musicfolder.gif');
openAll()
- 概要
- 全てのノードを開きます。ツリー表示前後どちらでも起動できます。
- 例:
mytree.openAll();
closeAll()
- 概要
- 全てのノードを閉じます。ツリー表示前後どちらでも起動できます。
- 例:
mytree.closeAll();
openTo()
- 概要
- 指定したノードを開くことができます。ツリーが表示された後で起動してください。
- パラメータ
名前 型 説明 id Number ノード番号 select Boolean 開いたノードをハイライト表示する - 例:
mytree.openTo(4, true);
3.サンプルコード
a = new dTree('a');
a.config.useCookies=false;
a.add(0,-1,'Tree example','javascript: void(0);');
a.add(1, 0,'Node 1','javascript:void(0);');
a.add(2, 1,'Node 2','javascript:void(0);');
a.add(3, 0,'Node 3','javascript:void(0);');
a.add(4, 1,'Node 4','javascript:void(0);');
a.add(5, 2,'Node 5','javascript:void(0);');
a.add(6, 4,'Node 6','javascript:void(0);');
a.add(7, 6,'Node 7','javascript:void(0);');
a.add(8, 6,'Node 8','javascript:void(0);');
a.add(9, 4,'Node 9','javascript:void(0);');
a.add(10, 3,'Node 10','javascript:void(0);');
a.add(11, 1,'Node 11','javascript:void(0);');
a.add(12, 1,'Node 12','javascript:void(0);');
a.add(13, 8,'Node 13','javascript:void(0);');
a.add(14, 11,'Node 14','javascript:void(0);');
document.write(a);
1行目:dTree オブジェクトを生成します。この行は必須です。
a = new dTree('a');
2行目:コンフィグレーションの設定です。ここではクッキーを有効にしています。
a.config.useCookies=false;
3行目:ルートノードの設定です。この行も必須のようです。
a.add(0,-1,'Tree example','javascript: void(0);');
4行目:ノード追加です。パラメータの数字は、自ノード番号「1」で、ルートノード(0)に属することを意味します。
a.add(1, 0,'Node 1','javascript:void(0);');
もうひとつ例を挙げると、16行目の
a.add(13, 8,'Node 13','javascript:void(0);');
は、8番のノードに属することを指しています。
18行目:ツリーを表示します。document.write 以外に innerHTML もOKでした。
document.write(a);
4.CSS
設定されているスタイルは下記の通りです。
.dtree {}
.dtree img {}
.dtree a {}
.dtree a.node, .dtree a.nodeSel {}
.dtree a.node:hover, .dtree a.nodeSel:hover {}
.dtree a.nodeSel {}
.dtree .clip {}
dTree によるサブカテゴリーリスト for Movable Type
Category:[JavaScript, カテゴリー]
Tag:[Customize, dTree, JavaScript, MovableType, SubCategory]
Permalink
dTree というエクスプローラー風のツリー表示スクリプトを利用した、Movable Type のサブカテゴリーリストのツリー化カスタマイズをご紹介します。
表示は左のスクリーンショットのようになり、「+」「-」をクリックするとツリーを開閉することができます。また、カテゴリー名をクリックすると該当のカテゴリーページにジャンプします。一番下の「open all」「close all」をクリックすると全ツリーの一括開閉もできます。
動作についてはサンプルをご利用ください。
後で気がつきましたが、「MovableType備忘録」さんでも同じようなカスタマイズを公開されています。
以下、カスタマイズ方法です。
1.スクリプトのダウンロード
Destroydrop » Javascripts » Tree の右上にある、Download の dtree.zip のリンクをクリックしてダウンロード。

2.スクリプトのアップロード
アーカイブを解凍した中にある下記のファイルまたはディレクトリを index.html と同じディレクトリにアップロード(他は使いません)。
/img
dtree.css
dtree.js
3.画像ファイルパスの修正
dtree.js を任意のエディタで開き、下記の
this.icon = {
root : 'img/base.gif',
folder : 'img/folder.gif',
folderOpen : 'img/folderopen.gif',
node : 'img/page.gif',
empty : 'img/empty.gif',
line : 'img/line.gif',
join : 'img/join.gif',
joinBottom : 'img/joinbottom.gif',
plus : 'img/plus.gif',
plusBottom : 'img/plusbottom.gif',
minus : 'img/minus.gif',
minusBottom : 'img/minusbottom.gif',
nlPlus : 'img/nolines_plus.gif',
nlMinus : 'img/nolines_minus.gif'
};
を下のようにご自身のドメイン(ブログのURL)を追加します。
this.icon = {
root : 'http://user-domain/img/base.gif',
folder : 'http://user-domain/img/folder.gif',
folderOpen : 'http://user-domain/img/folderopen.gif',
node : 'http://user-domain/img/page.gif',
empty : 'http://user-domain/img/empty.gif',
line : 'http://user-domain/img/line.gif',
join : 'http://user-domain/img/join.gif',
joinBottom : 'http://user-domain/img/joinbottom.gif',
plus : 'http://user-domain/img/plus.gif',
plusBottom : 'http://user-domain/img/plusbottom.gif',
minus : 'http://user-domain/img/minus.gif',
minusBottom : 'http://user-domain/img/minusbottom.gif',
nlPlus : 'http://user-domain/img/nolines_plus.gif',
nlMinus : 'http://user-domain/img/nolines_minus.gif'
};
4.script 要素追加
dTree を表示したいテンプレートに、下記の link 要素と script 要素を追加します。
<link rel="stylesheet" href="<$MTBlogURL$>dtree.css" type="text/css" />
<script type="text/javascript" src="<$MTBlogURL$>dtree.js"></script>
5.dTree サブカテゴリーリスト表示用タグ設定
テンプレートで、サブカテゴリーリストを表示したい位置に下記のタグを設定してください。
表示用タグは PHP 版と JavaScript 版を用意しました。表示される結果はどちらも同じですが、PHP 版の方がページのファイルサイズを抑えることができます。
5.1 PHP版
このタグを設定する場合、PHP化を行っていることが前提です。
<script type="text/javascript">
d = new dTree('d');
d.config.useCookies=false;
d.add(0, -1,'SubCategories','javascript: void(0);');
<?php $a = 0; $b = 0; $link = array(); ?>
<MTTopLevelCategories>
<?php $link[$b] = ++$a; if(!$b) { ?>
d.add(<?php echo $a ?>, 0,'<$MTCategoryLabel encode_php="1"$>','<MTIfNonZero tag="MTCategoryCount"><$MTCategoryArchiveLink$><MTElse>javascript: void(0);</MTElse></MTIfNonZero>');
<?php } else { if(!$link[$b - 1]) { ?>
d.add(<?php echo $a ?>, 1,'<$MTCategoryLabel encode_php="1"$>','<MTIfNonZero tag="MTCategoryCount"><$MTCategoryArchiveLink$><MTElse>javascript: void(0);</MTElse></MTIfNonZero>');
<?php } else { ?>
d.add(<?php echo $a ?>, <?php echo $link[$b - 1] ?>,'<$MTCategoryLabel encode_php="1"$>','<MTIfNonZero tag="MTCategoryCount"><$MTCategoryArchiveLink$><MTElse>javascript: void(0);</MTElse></MTIfNonZero>');
<?php }} $b++; ?>
<MTSubCatsRecurse max_depth="3">
<?php $b--; ?>
</MTTopLevelCategories>
document.write(d);
</script>
<p style="text-align:center"><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>
5.2 JavaScript 版
こちらは JavaScript 版です。
<script type="text/javascript">
d = new dTree('d');
d.config.useCookies=false;
d.add(0, -1, 'SubCategories','javascript: void(0);');
var a = 0;
var b = 0;
var link = new Array();
<MTTopLevelCategories>
link[b] = ++a;
if(!b) {
d.add(a, 0,'<$MTCategoryLabel$>','<MTIfNonZero tag="MTCategoryCount"><$MTCategoryArchiveLink$><MTElse>javascript: void(0);</MTElse></MTIfNonZero>');
} else {
if(!link[b - 1]) {
d.add(a, 1,'<$MTCategoryLabel$>','<MTIfNonZero tag="MTCategoryCount"><$MTCategoryArchiveLink$><MTElse>javascript: void(0);</MTElse></MTIfNonZero>');
} else {
d.add(a, link[b - 1],'<$MTCategoryLabel$>','<MTIfNonZero tag="MTCategoryCount"><$MTCategoryArchiveLink$><MTElse>javascript: void(0);</MTElse></MTIfNonZero>');
}
}
b++;
<MTSubCatsRecurse max_depth="3">
b--;
</MTTopLevelCategories>
document.write(d);
</script>
<p style="text-align:center"><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>
以上です。
関連記事:
2007.06.26
3項を追加しました。
2007.12.01
PHP版タグの MTCategoryLabel タグに encode_php="1" を追加しました。
2007.12.18
MTSubCategories タグを MTTopLevelCategories タグに変更しました。
近くにいる人と
注:最近このサイトに訪問くださる方が増えたので、改めてご紹介申し上げます。
当サイトは「このサイトについて」にも記しているように、ダジャレの記録が開設の発端です。以前は結構なペースでダジャレをエントリーしていたのですが、Movable Type を中心としたテンプレート・ブログカスタマイズ記事の比率が高くなっていくにしたがって、そっち系のブログとして認知されるようになりました。
それはそれで大変有難いのですが、ブログカスタマイズネタを期待して訪問された方が、時々投稿するダジャレに運悪く遭遇すると「このサイトは一体何だ?」ということになり、アクセス増加を妨げる一因になっています。
ブログ関連記事はできる限りコンスタントにエントリーしたいと思っていますが、毎日書けるほどネタもなく、またダジャレもこのサイトの主たるカテゴリーのひとつです(カスタマイズ記事がさっぱり理解できない知人・友人がダジャレだけしか読まないのも事実)。
という訳で、突然意味不明なタイトルのエントリーが週1ペースで発生します。予めご容赦ください。
このエントリーもその一つで、トップページから訪問された方は、この下にある「続きを読む ≫」をクリックするとタイトルのオチを読むことができます(RSSリーダー経由の方は直接個別記事のぺージにジャンプすることでオチが読めます)。
Excel で同じ名前のファイルを同時に開く2つの方法
Excel で、開いているファイルと同一名称のファイルをダブルクリックして開こうとすると下記のダイアログが表示されて同時に開くことができません。同時に開くためには、どちらかのファイル名を変更する必要があります。
面倒だと思って調べてみたところ、解決策が2つみつかりました。再掲で恐縮ですがまとめてご紹介させて頂きます。
同じ名前のファイルを開く時以外でも、別ウィンドウで作業したい場合には便利な技です。
1.スタートメニューから Excel を起動する
方法は、最初のファイルを開いている状態で、
- [スタート] - [すべてのプログラム] - [Microsoft Excel]
を選択(下図)。Office のバージョンによっては、メニューのツリー構造が
- [スタート] - [すべてのプログラム] - [Microsoft Office] - [Microsoft Office Excel 20xx]
等になっています。

そして、もう一方のファイルを、新しく開いた Excel にドラッグするか、Excel の [ファイル] - [開く] で選択すれば、同じ名前のファイルを開くことができます。

2.Excel のデフォルト動作を変更する
もうひとつの方法は、新規ファイルを開く時の Excel のデフォルト動作を変更する方法です。この方法であれば、ダブルクリックで新しいウィンドウで開くことができます。
注:以下の設定は Excel ファイルを全て閉じた状態で実施してください。
エクスプローラーを開き、[ツール] - [フォルダ オプション] を選択。

上の「ファイルの種類」タブをクリックして、ずらっと表示されたファイルの一覧から「XLS Microsoft Excel ワークシート」を探し出して(下の方にあります)クリックし、右下の「詳細設定」をクリック。

「新規」をクリック。

入力フィールドに下記を設定。
- アクション(A)
新しいウィンドウで開く(&W) - アクションを実行するアプリケーション(L)
"エクセルの実行ファイルのパス¥EXCEL.EXE" "%1"
設定後、「OK」をクリック。

「エクセルの実行ファイルのパス」は、「参照」をクリックして探します。多分、
C:¥Program Files¥Microsoft Office¥Office
辺りにあると思います(下図:バージョンによってパスが異なるかもしれません)。そこにある「EXCEL」または「EXCEL.EXE」を選択して「開く」をクリックすれば入力フィールドに反映されます。
反映した後、末尾に半角空白と「"%1"」を忘れないように付与してください。
これでひとつ前の画面に「新しいウィンドウで開く」が追加されます。このアクションをデフォルト起動するよう変更するため、「新しいウィンドウで開く」を選択状態にして「既定に設定」をクリック。

「新しいウィンドウで開く」が太字で表示されたことを確認して「OK」をクリック。

最初の画面で「閉じる」をクリック。

設定後の動作は次のようになります。
- エクセルファイルをダブルクリック:常に新しいウィンドウで開く
- エクセル画面にファイルをドラッグ:ドラッグしたウィンドウで開く(同じ名前のファイルは開けません)
- エクセル画面の [開く] メニューから選択してファイルを開く:同じウィンドウで開く
Office のバージョンによっては動作が異なるかもしれませんので、予めご容赦ください。
3.ひとつのファイルを複数のウィンドウで開く
エントリーの主旨と異なりますが、1つのファイルを複数のウィンドウで開く方法もみつけましたので、紹介しておきます。なお私のPCで試したところ、同一ウィンドウで開きました。
手順は次の通りです。
- 任意の Excel ファイルを開く。
- Microsoft Office Excel 2007 では、[表示] タブをクリックし、[ウィンドウ] の [新しいウィンドウを開く] をクリック。
Microsoft Office Excel 2003 以前のバージョンの Excel では、[ウィンドウ] メニューの [新しいウィンドウを開く] をクリック。
Movable Type が WordPress に負けた本当の理由
Category:[Movable Type, WordPress]
Tag:[GPL, MovableType, OpenSource, WordPress]
Permalink
Movable Type と比較して WordPress が人気なのは、「再構築が不要」とか「インストールが簡単」とか「デザインが豊富」とか、国内ブロガーの評価を頼りにしていましたが、下記の記事の一文を読んで、米国で Moovable Type の人気が急激に落ち、WordPress にシェアを明け渡した本当の理由を知りました。
Movable Type 4.0 ベータ、ローンチ―第3四半期にもオープンソース化へ
MTユーザーとSixApartの間には波乱の歴史がある。Movable Typeは決してオープンソースプラットフォームではなかったのだが、MT 3.0のリリース以前は多くのユーザーがMTをオープンソースであるかのように扱っていた。2004年のMT 3.0のリリースと同時にライセンス契約が強制されるようになったことでユーザーコミュニティーからは激しい非難の声(私の声もかなり声高に混じっていた)が上がった。そしてこれが、いろいろな意味で、WordPressがそれまでどちらかといえば無名なソフトだったのだが、現在のようなブログホスティングソフトのリーダーの位置を獲得するに至るターニングポイントになった。
- via:Web屋のネタ帳:MovableTypeのラインセンスがGPL化されることが意外と知られてない/理解されてないらしい
- 原文:Movable Type 4.0 Beta Launches, Platform To Be Open Sourced
- 関連記事:Open Tech Press:Movable Type 4、オープンソース化へ
過去の関連記事を遡って調べてみたところ、確かに 3.0D がリリースされた当時の米 Six Apart のサイトがもの凄いことになっています(下は2004年5月15日に公開された Six Apart の 3.0D リリース記事と、13日からの Community Forum への投稿)。
- Movable Type 3.0 Developer Edition
- ABUSING Upgrades and Licenses., Why I do think Six Appart is abusing us.
英語はあまり読めてないのですが、かいつまんで書くと、2.x で複数ブログを運営している Movable Type ユーザに対し、3.0 から適用されるライセンスでは有償になるケースが多発し、トラックバックやフォーラムで多くの不快感が表明されています。
追記:そもそも Movable Type 3.0 でライセンスを改訂したのは、MT2.x がオープンソースのように扱われていたためで、Six Apart は2003年6月に「ライセンスを守ってください」「ライセンスを改訂します」といった旨の記事を掲載しています。
追記:2002年3月、2.0 リリース時に「商用利用は無償ではありません」というアナウンスがなされています(詳細ページはデッドリンク)。
Six Apart - Movable Type News:Version 2.0 Released
Version 2.0 of Movable Type is now released. This version of Movable Type is still free for personal or non-profit use; note that version 2.0 is not free, however, for commercial or for-profit use.
ともあれ、先の状況を受けて、Six Apart は2004年5月18日に「現在どのように MT を利用しているかトラックバックをしてほしい」というアナウンスをしています。
アナウンスの内容には炎上を回避するため、良い例と悪い例まで掲載しています(下)。
悪い例
私のブログの代価を払いたいと思いません。私は制限が欲しいと思いません。そして Six Apart が好きではありません。
良い例
私はソフトボールチームの13人の友人と、3人の子供のための非営利的なブログを運営しています。また、夫と私には個人のブログがあります。 全部で6つのブログがあり、ユーザは計19人です。 私の個人的な趣味に対して、セットアップの費用が少し高いです。
このエントリーには320件ものトラックバックが寄せられています。そして結果的に Six Apart は Movable Type 3.0 のライセンス内容と価格体系を変更しました。
INTERNET Watch:「Movable Type」のライセンス内容と価格体系、批判を受けて大幅改善
69.95ドルの「Personal Edition」では、これまでブログ数に制限があったが、その制限を撤廃した。99.95ドルの「Unlimited Personal Edition」でも個人利用に限り、執筆者数とブログ数が無制限になった。また、「Commercial Edition」は199.99ドルから提供されるが、ブログ数などの制限が撤廃され、ブログのユーザー数によってのみ価格が増減するわかりやすい価格体系となった。
追記:Six Apart News の記事引用(下記)を追加しました。ライセンス体系の変更内容とその経緯が掲載されています。
Six Apart News:Movable Type 3.0のライセンス体系について
CPU 1つという制限は、ライセンスに含まれる予定ではありませんでした。すでにこの制限は、ライセンスから除外いたしました。すでにMovable Type 3.0をダウンロードされた方にも、この変更はさかのぼって適用されます。
が、ライセンスと価格を変更しても WordPress 移行の勢いは止まらなかったようで、Google Trends のグラフ(米国)が如実にそれを表しています。

Movalbe Type 3.0D がリリースされたのが2004年5月(「A」の部分)。この辺りを境に、米国でほぼ無関心だった WordPress の Search Volume が急激に上昇しています。ここがまさに Movable Type と WordPress のターニングポイントであったと言っても過言ではないでしょう。
話がそれますが、2004年5月といえば日本はまだブログブーム初期。Movable Type もようやく世間に認知され始めた頃だったのではないでしょうか。私がブログを始めたのが丁度この時で、ダウンロードしたのが3.0D。ネットには2.661の情報しかなかったことをよく覚えています。
WordPress が日本でブームになるのは 2005年10月頃からです。

日本では 3.0D のライセンスと価格の影響はないように見えます。追記→が、Google で「movable 3.0 ライセンス」で検索すると、国内でも結構な批判がありました。
2005年10月に WordPress の Search Volume が急増しているのは、WPJ Codex の日本語翻訳が進んだせいでしょうか。または 2005年9月に下の記事が流れており、WordPress ブームの火付け役になったのかもしれません(この辺りは情報収集不足なので推測で書いてます)。
ずばり言ってしまうと、米国における Movable Type / TypePad の人気の凋落である。 英語圏の Movable Type は既にインストールベースでのシェアNo.1の座を WordPress に明け渡している。
ただし、上の記事では(英語圏で)Movable Type のシェアが下がった原因については言及されていなかったため、このエントリーの冒頭に記したような理由で「WorsPress に人気がある」と思い込んでいました。もちろん、WordPress もそれ自体が良いツールであったからこそ、ここまでシェアが拡大した訳ですが。
いずれにせよ、Movable Type 3 のライセンスと価格が米国でのシェアを落とした要因のひとつであることは間違いありません。
ちなみに、下のグラフからお分かりの通り、国内での WordPress の Search Volume は Movable Type と丁度入れ替わろうとしている、微妙な状況です(米国や全世界では WordPress が圧倒的に優位)。

そして、WordPress が日本でブームになりだした2005年9月、国内では個人ユーザより法人ユーザが多く、企業ニーズにいち早く対応できる体制を築くため、Movable Type の開発が日本主導に変わりました。
シックス・アパートは、日本法人設立当初から企業への導入に注力してきた(関連記事参照)。「日本の売り上げは、個人向けよりも法人の方が圧倒的に多い」(関代表取締役) ブログが個人の草の根的な利用からじわじわ広がった米国と異なり、日本ではISPなどが一気に参入。ブームがどっと押し寄せたため、企業が目を付けるのも早かったのだろう――関代表取締役は企業ブログブームをこう分析する。
このような経緯で、WordPress に米国でのシェアを奪われ *1、国内の企業ブログ向けに力を注いできた Movable Type ですが、バージョン4 から GPL ライセンスでオープンソース化されることにより、ライセンスに敏感な米国のシェアが大きく変わる可能性も考えられます。
そして最初の引用記事の文末で、Duncan Riley 氏はこう述べています。
私とSixApartの間には、ここで繰り返し述べることもないような事件がいろいろあった。以前は私もいろいろとMTの批判をしたが、君子は豹変するという。今やこの新しいMovableType はブロガーとしての私にとっとたいへん魅力ある製品だ。オープンソース化の決断はfWordPressへの亡命者の多くを、彼らが最初にブログを始めた環境へ呼び戻す道を開くに違いない。いやそれだけでなく、MovableTypeを以前一度も使ったことのない何百万というWordPressユーザーにとってもMT4は有力な乗り換えの選択肢になるだろう。
Movable Type 4 のオープンソース化により、3.0D の「負け」をどこまで取り戻すことができるのか、その動向を注目したいと思います。
追記:2大ブログツールのシェアという観点で書きましたが、MTのオープンソース化については、野田純生さんの「WordPressのシェアがどうだからというのは本質ではないと思う。」には同意します。
また「オープンソース版から得たものもEnterpriseに活かされていく」もその通りですね。そういう意味ではオープンソース版はMT4の機能を縮退させないかもしれません。
*1:実際のアクティブブログ数等は未調査です。あくまで Google Trends からの推測に過ぎませんので、間違っていたらご指摘ください。
Movable Type 4 Beta 3 のインストールウィザードを日本語表示にする方法
Movable Type 4 Beta 3 で日本語対応になりましたが、日本語表示されるのはログインした後からになります。インストールウィザードが日本語でなかったので「あれ?」と思われた方も少なくないのではないでしょうか。
日本語でなければインストールできないという方のために、ウィザードから日本語表示する方法を下記に示します。変更方法は過去記事へのリンクのみに留めておきます。
上記の記事にある、MT/MT.pm と mt-check.cgi の変更(行番号は異なります)を行ってからインストールウィザードを実行すれば日本語で表示されます。なお変更に際してはご自身の責任で行ってください。
以下、日本語表示版ウィザードとインストール手順を全て掲載しておきます。英語ではインストールできないという方の参考になれば幸いです。
と書いておきながら、一番最初の画面(下)だけは英語です。「Log in to Movable Type」をクリック。

ここからウィザードになります。「次へ」をクリック。

システムチェック画面。インストールに必要なものが揃っていれば、緑色の「?揃っています」が表示されますので、「次へ」をクリック。

ちなみに下にある「オプションの Perl モジュール一覧を表示」をクリックすると、下のような表示がされました。

データベース設定画面です。セレクトボックスから利用するデータベースを選択します。モジュールがない等の理由で使用できないデータベースは選択対象外になります。
以下、MySQL と SQLite の設定画面を掲載します。

MySQL の場合のデータベース設定画面。一番下の「高度な設定」をクリックするとソケット・ポートの設定ができます。設定したら「接続のテスト」をクリック。

こちらは SQLite の場合のデータベース設定画面。設定したら「接続のテスト」をクリック。

接続テストOKであればデータベース設定完了です。「次へ」をクリック。

メール設定画面。設定しない場合はそのまま「次へ」をクリック。設定する場合はセレクトボックスから該当のメール送信プログラムを選択します。

Sendmail の場合のメール設定画面。通常はこちらだと思います。メールアドレスを設定してテストメールを送信することができます。

SMTP の場合のメール設定画面です。

テンポラリディレクトリの設定に進みます(Windows で行ったので、Linux 系のレンタルサーバでは表示されないかもしれません)。「次へ」をクリック。
ちなみにこのディレクトリは、アップロード作業で同名のファイルを上書きする場合の退避場所として使われます。

これで環境設定ファイル(mt-config.cgi)の作成が完了しました。
注:日本語化にはワナがありまして、このまま先に進むと英語表示に戻ってしまいます。

以降の作業でも日本語表示にするには、上記の状態で一旦作業を中断し、生成された mt-config.cgi をダウンロードして、任意のエディタで開き、前のエントリー「Movable Type 4 Beta 3 公開」に記した
DefaultLanguage ja
をファイルの一番下に設定し(末尾には改行を含めてください)、保存・アップロードしてください。そして「次へ」をクリックして作業を再開してください。
なおこれが Six Apart のアナウンスに該当する作業ですので、DefaultLanguage 以外の他の項目も併せて設定しておくと良いでしょう。
次の画面でシステム管理者のアカウントを設定します。インストール後にログインする時はこのユーザ名とパスワードが必要です)。設定したら「次へ」をクリック。

ブログ名・ブログURL・公開パス(index.html が置かれるディレクトリ)・タイムゾーンを設定。設定したら「インストール」をクリック。

インストール中(データベースの初期化と必要な情報を設定)です。

これでインストール完了です。「Movable Type にログイン」をクリックすれば管理画面にログインします。

Movable Type 4 Beta 3 公開
Movable Type 4 Beta 3 が公開されました。
本ベータより、日本語の翻訳ファイルが含まれています。ユーザーの言語設定をJapaneseに設定すれば、管理画面は日本語でみられます。また、普段日本語環境で利用される場合は、以下の設定をmt-config.cgiに追記することをお勧めします。新規にインストールする場合は、インストールする前(ウィザードがmt-config.cgiを作成した直後)に追記するのがいいでしょう。
ということで、以下の項目(太字部分)を mt-config.cgi に設定すればいいようですが、どのタイミングで設定するかについては次のエントリーで説明します。
- DefaultLanguage ja
- ログイン画面、インストールやウィザードの画面など、ユーザーがログインしていない状態で表示される画面の言語が日本語になります。
- MailEncoding ISO-2022-JP
- MTから送信されるメールで日本語を正しく処理できます。
- ExportEncoding Shift_JIS
- システムログなどをエクスポートする際に、Microsoft Excelなどで文字化けせずに開けるようになります。
- DefaultTimezone 9
- 日本時間であるUTC+9時間をブログのタイムゾーンの既定値に指定します。
- CategoryNameNodash 1
- 3.2以前からMTをご利用の場合で、カテゴリ名に日本語を使っている場合の、フォルダ名の作り方を過去のバージョンと互換性のある状態にします。
お約束で、日本語化されたログイン画面を掲載しておきます。
FeedBurner が RSS 広告配信サービス「FeedBurner 広告ネットワーク」を開始
FeedBurner が6月よりRSS広告配信サービスを開始しました。
CNET Japan:FeedBurner、IT・デジタル系ブロガーを集めた広告ネットワークを提供
RSS管理サービス「FeedBurner」を日本で提供するGMOアドネットワークスが、6月よりRSS広告配信サービスを開始した。商品名は「FeedBurner広告ネットワーク」で、第一弾として人気ブロガーから配信されるRSSを集めた「プレミアムブログパック(IT・デジタル系)」を提供する。
FeedBurner広告ネットワークとは、ウェブサイトが配信するRSSに広告を出稿することで、RSS購読者へ訴求する広告商品。人気ブログのRSS購読者をターゲットすることで、ピンポイントなリーチとクチコミによる話題の醸成を狙う。
FeedBurnerのプレスリリースで「「FeedBurner広告ネットワーク」の商品ラインナップ第一弾は、「プレミアムブログパック(IT・デジタル系)」です。」とアナウンスしているのは、
など、計7ブログをひとつの「広告ネットワーク」として、企業へのRSS広告出稿を呼びかけているものです。
なお「合計で約50万購読者/月間にリーチできる(CNET Japan)」らしいです。当サイトのアクセスが約75000ユニークユーザー/月なので、それを7倍すると大体計算が合います。
5月初めにRSS広告掲載の打診メールを頂き、広告ネットワークの1サイトとして選ばれました。「FeedBurner広告ネットワークの参加基準は購読者数500人以上だが、これに達していなくても、専門性の高い優良な情報を発信しているブログならば参加できる(CNET Japan)」らしいので、今後参加ブログが拡大していくことと思われます。
YouTube 日本語版リリース
YouTube の日本語版が登場しました。
YouTubeは日本語に対応した「YouTube日本語版」を公開した。ユーザーインターフェイスが日本語化されているほか、日本から投稿された動画が「おすすめ動画」としてピックアップされている。URLは「http://jp.youtube.com/」。
本家のアカウントIDはそのまま使えるようです。日本語化されたのでネットに不慣れな方も結構使いやすくなったのではないでしょうか。
ちょっと前に流行った「折り紙・ターバン野口の折り方」がトップにありますね。
Movable Type 4 テンプレート
Movable Type 4 テンプレートを公開します。下記のリンク先よりテンプレートアーカイブをダウンロードし、解凍した中にある .mtml ファイルを任意のエディタで開き、該当するテンプレート編集画面のテキストエリアにペーストしてお使いください。
お詫び:ベータ版の利用規約に抵触する可能性があるため、テンプレート配布は中止させて頂きました。ご迷惑をおかけして申し訳ございません。配布は再開しています(関連記事)。
1.3.3x テンプレートからの変更点
1.1 テンプレート構成
「Movable Type 4 のテンプレート構造」「Movable Type 4 のテンプレート構造(その2:MTInclude に着目したテンプレート関係図)」でお知らせしている通り、MT4 ではテンプレート構成が大きく変更されています。3.3 からアップグレードした場合は以前の構成が引き継がれますが、新規インストールの場合は、MT3 とかなり異なった構成になります。
今回は新規インストールの方をターゲットにした構成(下記)で配布しています。
/Archives
entry.mtml
entry_listing.mtml
page.mtml
/Indexes
base_stylesheet.mtml
main_index.mtml
/Modules
categories.mtml
comment_detail.mtml
comment_form.mtml
comments.mtml
entry_detail.mtml
entry_metadata.mtml
entry_summary.mtml
footer.mtml
header.mtml
sidebar.mtml
sidebar2.mtml
tags.mtml
trackbacks.mtml
/System
comment_error.mtml
comment_pending.mtml
comment_preview.mtml
search_results.mtml
1.2 投稿者情報(entry_metadata.mtml)
パーマリンクをタイムスタンプから「Permalink」に変更しました。
1.3 コメントフォーム(comment_form.mtml)
認証機能を使用しない場合はコメントフォームが非表示になるようにしました(デフォルトテンプレートと同じ)。
1.4 コメント保留(comment_pending.mtml)
コメント投稿が受け付けられた場合もコメント保留画面に遷移するので、その場合、「受け付けました」という旨のメッセージを表示するようにしました。
2.3カラムレイアウト利用時の注意
本テンプレートはデフォルトを3カラム固定レイアウトにしており、その場合、Sidebar2 というモジュールを新規作成する必要があります。
下記のタグを各インデックス・テンプレート/アーカイブテンプレートに埋め込んでいます。
<$MTInclude module="Sidebar2"$>
Sidebar2 を新規作成しない状態で再構築するとエラーになりますのでご注意ください。
3.その他
本テンプレートはベータ版という位置づけでご利用ください。動作の不具合は随時お知らせ頂ければ幸いですが、問題内容によってはフィードバックできない場合があります(本体にバグがある場合等)。
また、インデックス・テンプレートの「Theme Stylesheet」は使用しておりません。
2008.08.06
配布停止の文言を削除しました。
ブログ開設3周年記念・トラックバック企画御礼
先日の「ブログ開設3周年記念・【TB企画】あなたのおすすめサービス・ツール」に多くのトラックバックをお送りくださり、ありがとうございました。合計10サイト様より頂きました。この場をお借りして改めてお礼申し上げます。*1
またエントリーの方も楽しく拝見させて頂きました。
ということで遅くなりましたが、予告通り、企画参加サイトをスクリーンショットつきでトラックバック受信順に紹介させて頂きます。画像リンクは各サイトのトップページ、サイト名のリンクは該当記事にジャンプします。またサイト名下にあるリンクが「おすすめサービス・ツール」です。
私からの気の利いたコメント等はありませんので予めご了承ください。

