さる1月24日、ブログ作成・管理ツールであるMovableTypeが4.01から4.1へとバージョンアップしました。それにともない、TRASH-NEWSでもアップグレードを図ることに。以下そのカンタンなレビューを。
リリースからほどなく発表された4.0から4.01へのバージョンアップは数字の示すとおりマイナーバージョンアップにとどまりました。しかし今回は4.1、前回比10倍のバージョンアップ振りです(数字上)。果たしてどれだけファイルに変更が加えられているかを確認したところ……なんとほぼすべてのファイルのタイムスタンプが更新されています。もしかするとただ単に著作権表記などの変更があっただけなのかも知れませんが、とりあえず“バージョンアップしたファイルだけピンポイントにアップロードすればいいや”という考えは通用しそうにありません。僕も涙を飲んで1,000を軽く越すファイルを全部アップロードすることに。ファイル単位で自主編集したスクリプトを元に戻すのが大変なんですよね……(これまでに自主編集したファイル一例)。
ただ嬉しいことに、ファイルの更新された数と比例するようなかたちで数々の新機能や仕様が追加されたようです。MovableTypeを開発・運営するSixApartによる解説ページはこちら。またMovableTypeのカスタマイズ記事をとりあげるサイトとして高名な小粋空間さんによる記事はこちら。
なかでも僕がもっとも期待していたのは『カスタムフィールド』機能。これまでブログの記事の内容である『本文』や『タグ』などの項目はすべてMovableType標準で用意されているものしか扱えませんでした。しかしブログをやろうとする人はどこかでオリジナリティを見せたいもの。自分の好きなように項目を増やせればとあれやこれやと策をめぐらせてきました。このTRASH-NEWSでいうならば『関連リンク』や『記事の重要度』などがそう。プラグインを使ったり、あるいはデータベースを恐々としながら改造したり、血と汗と涙をぬぐいながら項目の増設を実現させてきました。
しかし、ついに公式にこの項目(=フィールド)を増やす機能が実装されたのです。これは非常にありがたい! 非公式プラグインや自主カスタマイズ唯一の欠点である『将来的に使えなくなる可能性がある』という点を見事に解消してくれました。……ありがたい!
ココで問題になるのが、これまで僕が小手先で行ってきた“カスタムフィールド”をどうするか……。そりゃ公式にサポートされた『カスタムフィールド』でやるのが一番だよね……?
実はTRASH-NEWSでは関連リンクの作成をMTEntryExcerptという項目で、重要度の設定をMTEntryKeywordsという項目でそれぞれ代用してまかなってきました。これまで書いてきた250件あまりの記事の『MTEntryExcerpt』欄には本来概要を記すべきところを"参照<>MovableType<>http://www.movabletype.jp/"などと書き、また『MTEntryKeywords』欄には本来キーワードを指定するところを"70"などと書き……MovableType的に想定されていない使い方をしてきたのでした。これによっておきるさまざまな弊害(ex.RSSの内容が関連リンクになってしまう)はすべてその都度暫定的に解決せざるを得なくなり、これは効率が良いとはとてもいえません。かくなるうえは……本来あるべき使い方に戻すべきでは!
ということで今回この『カスタムフィールド』機能を使って『関連リンク』と『重要度』の項目を新設することにしました。そしてそれまで代用していた『MTEntryExcerpt』と『MTEntryKeywords』は本来あるべき書式に戻すことに。258件全部手直しっすかwww
すこし奥まった話をすると、この『カスタムフィールド』機能はデータベースを専門的に作ってくれる機能です。どういうことかと言うとMovableType以外のスクリプトによる二次利用が容易になるということで、PHPなどの言語であれこれ作るのにとても有用です。今回の例で言うならこれまで書いてきた関連リンクをデータベースから参照してランキングを算出する、ということが簡単にできるようになるのです(僕の場合もともと『MTEntryExcerpt』というもともとデータベース上に記録される項目を利用していたので大差ありませんが)。これは非常にMovableTypeがはじまってまいりました!
しかし今回のバージョンアップには少しだけ課題があるように思えます。
1つはテンプレート言語の増加。これまでビミョウな使い心地だったSetVarやSetVarBlockといった仕組みがパワーアップしたり、配列とループに関する仕組みが新設されたり……。プログラミング言語ならあってしかるべきといった機能が着々と実装されてきたのです。大変ありがたいのですが、きちんと使いこなすにはかなりの時間を要するものと思います。書式自体はperlだったりJavaScriptだったりと大きく変わらないので戸惑いはありませんが、なにせローカルでほいほいテストできないのが最大の難点。いちいち再構築しないと結果を見れないというのは時間の大量ロスに直結します。また、複雑な処理をさせると当然再構築の時間がますます増えるわけで、あああ……あちらを立てればこちらが立たず、いろいろな選択を迫られます。
2つめはアイテム管理の利便化、の徹底不足。4から便利さが一気に増した画像(などのファイル)のアップロード+管理機能。今回のバージョンアップでますます便利になった、ものの……相変わらずサムネイルページの再構築ができません。TRASH-NEWSでいうと画像をクリックしてジャンプするページのことですが、あのページは1回作ったらそれっきり、作り直すことができないのです。何が問題になるかと言うと、『次の画像へのリンク』が書き出せないこと。ページが作成された時点ではそのページ(画像)が最新のものに決まっているので、『前の画像へのリンク』しか書き出せないのです。これが再構築できるようになれば解決するんだけどなぁ。
と、ここで3つめを挙げて記事をシメようかと思いましたがこの2つしかさしあたって思い浮かびませんでした。MovableType4.1はなかなか良くできたツールだと思いますよ……! 強いて挙げるならばJavaScriptのバグがおそらく改良されていない(現在大絶賛不具合体験中)こと、そして増えたこと。なんとOpera環境下では記事のカテゴリを選択できなくなりました\(^o^)/。もう変にグネグネビジュアライズするのはやめてくれないかな。そしてもうひとつ『ブログを書く』という珍妙な日本語訳が堂々と残っていること。このまま押し通すんでしょうか。
ともあれ結果的に僕のほうでも大幅な変更を強いられたので、少しの間記事を書くのをお休みしてカスタマイズに専念します。記事を書いていくと……それだけ直さなければならない箇所が増えるので……orz。
[追記]
日付アーカイブ「Monthly20080101000000」の再構築中にエラーが発生しました:
テンプレート「月別アーカイブ」の再構築中にエラーが発生しました:
テンプレートタグMTEntriesでエラーが発生しました:
テンプレートタグMTIncludeでエラーが発生しました:
error in module ブログ記事のEXメタデータ:
テンプレートタグMTIfでエラーが発生しました:
タグmain_indexは不正です。
この記事が投稿できませんwww
さてこのエラーがすべて解消されて皆さんの前までお届けできるのはいつになることでしょう。
[追記] 『ブログ記事のEXメタデータ』というテンプレートを編集することでエラーを解消することができました。編集した部分を備忘録として残しておきますね。
<MTIf tag="main_index">~</MTIf>
"name"と書くべきところを"tag"と書いてしまっていたことが原因であるようです。しかしこれまでは正常に動き続けていた(ちなみに論理式としてはTRUEとして通っていた)ことを考えると、今回のバージョンアップで規格に厳密になった、ということでしょうかね。なおカテゴリが選択できないというおそらくはOpera特有のバグはCSSを一時的に切ることで対応しました。まぁこのくらいの手間なら許容範囲。
2010年03月15日 0時更新
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| « 12月 | - | 02月 » | ||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
