11月28日、新橋で行われた第1回MT5勉強会に参加してきました。ちょうどこの2日前に「Movable Type 5」の正式版がリリースされたので、まさにホットなタイミングでした。 今回の勉強会は、 蒲生さんによる「Movable Type 4から5へのアップグレードライブ」 SixApartの関社長による「ソーシャルメディアのビジネス利用最前線」 SixApartの金子さんによる「Mova...
11月28日、新橋で行われた第1回MT5勉強会に参加してきました。ちょうどこの2日前に「Movable Type 5」の正式版がリリースされたので、まさにホットなタイミングでした。

今回の勉強会は、
といった流れで行われました。
写真は他のブログにも掲載されていますし、ちょっと下手な文章が長くなったのでここでは省略します。
まずは今回の勉強会を主宰してくださった蒲生さんの「Movable Type 4から5へのアップグレードライブ」です。
そろそろ自分のブログをMT5にしようかな、と思っている人は僕も含めて結構いるのではないでしょうか。このアップグレード方法については、蒲生さんが以下の記事にとても丁寧にまとめてくださっています。
ただし、今現在 MT4 で運営しているサイトについては、本当にアップグレードした方が良いのかどうか、事前によく考えておいた方が良いとのことでした。
続いて、Six Apart の関社長による基調講演「ソーシャルメディアのビジネス利用最前線」です。
内容も然ることながら、30名程度の勉強会に社長自らが参加し、講演もしてくださるとはすごいと思います。今回に限らず、色々なイベントに顔を出しユーザーを大切にする関社長の姿勢が、MT のユーザーコミュニティを大きく強くしていく一因になっていると思います。
これは関社長に限ったことではありません。この日は、Six Apart から、執行役員(製品企画担当)の金子さん、MT5の新機能の目玉である「テーマ」機能を中心になって開発した澤田さん、広報の高橋さんなど、とても豪華なメンバーが参加されました。本当に感謝です(主催者の蒲生さんのご尽力があってのことです。本当に感謝です)。
続いて、執行役員(製品企画担当)の金子さんによる「Movable Type 5 新機能ハイライト」です。今回の主な参加者と想定される技術者向けのプレゼンとしてまとめてくださっているので、すごく参考になります。
次はプレゼントじゃんけんタイムです。
今回の勉強会はプレゼントも豪華でした。Six Apart オリジナルパーカー2着、『Web Site Expert #27』5冊、『Web Designing 12月号』(マイコミ)5冊、『Webデザインの基本ルール-プロに学ぶ、一生枯れない永久不滅テクニック (Design Lab+ 1-3)』(ソフトバンク クリエイティブ)3冊、『Photoshopデザインラボ -プロに学ぶ、一生枯れない永久不滅テクニック- (Design Lab+ 1-1)』(ソフトバンク クリエイティブ)2冊の合計17ものプレゼントです。粗品ではないものが参加者のほぼ半分に当たるとはなんて豪華なんでしょう。
ちなみに僕はjunnamaさんとの一騎打ちに勝利して『Web Site Expert #27』を頂戴しました。光栄です。
そして各テーブルに分かれての勉強会です。僕はプラグイン作成のテーブルで勉強させていただきました。
このテーブルのリーダーはThe blog of H.Fujimotoの藤本さんです。当初藤本さんがこの勉強会に間に合うか微妙だったので、藤本さんが到着するまでの繋ぎとして僕がこのテーブルのサブリーダーになっていました。結局、当日は藤本さんが全日参加可能になったので、僕の出番はありませんでした。色々な意味で良かったです。
このテーブルには、WolaWolaのoscarさん、ToI企画のたくさん、キゴウラボのtomixさんといったそうそうたる顔ぶれでした。
この日の資料は「第1回MT5勉強会に参加しました - The blog of H.Fujimoto」に掲載してくださっています。
なお、Movable Type でプラグインを作りたい場合は、藤本さんの「Movable Type Developer's Guide Volume 1」(以下「MTDG」)と、関根さんの「Movable Typeプラグイン開発入門」がお勧めです。
ちなみに、藤本さんのMTDGはYAMLでのプラグインの書き方、オブジェクトの操作方法など一つ一つ詳しい解説が特徴です。一方、関根さんの本は、従来のPerl形式の書き方、ファンクションタグから管理画面の拡張までプラグイン全般の作り方を網羅しています。できれば両方持っておいた方が良いと思います。僕は今日も両方持ち歩いています(Six Apart オリジナルトートバッグに入れて!)。
このテーブルで話題になったものの一つに「$ctx」があります。「$ctx」とは、MTタグなどのプラグインのサブルーチンに渡される引数で、現在そのサブルーチンが処理されている状況について様々な情報が入っているオブジェクトです(よね?)。$ctx については、junnamaさん曰く「空気読め」だという話も出て盛り上がりました(違ってたらすみません!)。
プラグインを作るときは、この「$ctx」について詳しく知りたいよねーといった事が話題となりました。この $ctx からは、stashメソッドを使ったり、直接プロパティにアクセスしたりして情報をとり出すようですが、どの情報をどっちで取り出したらいいのか、そもそもどんな情報が取り出せるのかとかが一覧表で分かるといいねー、とか。
ちなみに、$ctx から stachメソッドを使って取り出せる情報については、藤本さんの MTDGの251ページに、「取り出せる情報とタイミング」の主なものの一覧表が載っています。
話の中で、あれ? ここのボタンってここにも表示できなかったっけ? みたいな話になったのですが、数分後に天野さんがプラグインを作ってくれました。
そして、getElementById とか createElement のこととか、管理画面を拡張するプラグインの簡単な例として、そのプラグインについて説明してくださいました。
プラグインを作るときって、バックエンドのプログラムよりもユーザーインターフェースを作り込む方が大変だったりするという話も出ました。自分も「バックエンドは比較的簡単に作れる」と言えるレベルになれるようにがんばります。
また、スタティックパブリッシング用のプラグインを作って、さらにダイナミックパブリッシング用のプラグインも作るのは大変という話も出ました。確かにそうですよね。僕はダイナミックパブリッシング用のは作ったことがありませんが、スタティックパブリッシング用でいっぱいいっぱいです。
さらに、WordPress のプラグインを作っているとき、「あーMTだったらもっと簡単にできるのに」と感じることもあるという話も。これはしっかりと作り込まれたMovable Typeのプログラムや、多数のモジュールが見つけられるCPANなどのおかげでしょうか。
勉強用のプラグインは<$mt:Love$>というファンクションタグのmessageモディファイアに設定した文字列が、「I love 文字列.」となり、countモディファイアで指定した回数だけ、glueモディファイアで指定した文字列を区切り文字として出力するというプラグインでした。
最初はこのファンクションタグを作り、その後、ブロックタグ<mt:LoveBlock></mt:LoveBlock>に変更するという勉強をしました。
僕もプラグインについてはまったく初めてといったわけではなかったので、藤本さんの解説を聞きながらファンクションタグに機能を追加してみました。
追加したのは、overwriteモディファイアに文字列を設定すると、先ほどの「I love 文字列.」を「overwriteモディファイアの文字列」に書き換えるのと、mustモディファイアに1を指定して、かつ設定した文字列に「WordPress」という文字が入っていると「もうMTでいいじゃん。」というJavaScriptのアラートがでるようにしました。
これにより、$argsの使い方はマスターできましたw
以上、プラグイン作成のテーブルはこんな感じで充実しました。
その他のテーブルで、僕が非常に気になったのは、アルファサードの野田さんがリーダーの「管理画面のカスタマイズ」のテーブルです。僕は管理画面のカスタマイズがすごく好きなので、体が二つあればプラグイン作成と管理画面のカスタマイズと両方に参加したかったです。好きっていうか、やっぱりユーザーが使いにくい管理画面ってのはダメだと思うんですよね。自分のブログの管理画面だって使いやすくカスタマイズしたりプラグインを入れたりしますよね。それと同じですね。
このテーブルの資料やプラグインは、野田さんのブログで公開されています。
この CMSContextプラグインはかなりの方に重宝されるのではないでしょうか。「Love再構築」ウィジェットもイケてますね。僕は万単位のページのMTを扱った経験がないからかもしれませんが、再構築は嫌いではありません。WordPressなどで作られているブログで、なかなか画面が表示されないよりはずっといいです(細かい突っ込みは抜きにして)。
また、タグアシストのカスタマイズもいいですよね。いちいち面倒くさいですもん。僕もこれとは違ったタグアシストのプラグインを作りたいと思ってずっと作っていないので、そろそろ形にしたいと思います。
ちなみに、管理画面のカスタマイズには、以下のページや書籍が参考になると思います。
こちらは蒲生さんがリーダーのテーブルで、ウェブサイトとブログのテンプレートの引き継ぎについて実習を行ったり、関さんや高橋さんを交えて、MT5の感想や要望について話し合ったりしたそうです。
このように社長を交えて気軽に話し合える機会はそうそうないような気がします。すばらしいですね。
こちらはテーブルリーダーの金子さんに加え、テーマ機能のメイン開発者である澤田さんもいらっしゃいました。MT5の新機能の目玉であるため、最も人気が集中したそうです。
僕もいつかはテーマを配布してみたいです。
懇親会もいろいろな話ができて楽しかったです。澤田さんにも色々と教えていただきました。ありがとうございました。僕の愛用しているCustomEditorButton2をテーマごとにボタンの非表示をできるようにしたり、ボタンを簡単にインストールできるようにしたいとかいう構想も聞けました。期待して待っています!
また、サーバーというかローカル環境の話も色々聞けて、頭がオーバーヒートしました。
サーバー関係の勉強をはじめるときは Linux(Unixではなくて)から勉強すればいいんじゃないとか、Centを勉強するんだったら『できるPRO CentOS サーバー CentOS 5対応』がいいんじゃないとか、Ubuntuはどうとか。
懇親会幹事のKIASMAさん、お疲れさまでした。
やっぱりMTはいいですね。
なんていうか、MTのシステム自体がすごくいいというのはもちろんですが、今回のような場で開発元の社長を始めエンジニアの人たちと交流できたり、すごいMT使いの人たちとも交流できたりと、なんというか、コアなコミュニティの敷居が低いというかオープンな気がします。
僕も今後もMTについてもっと深く勉強していきたいと思います。
あと、話はちょっとそれますが、この辺の記事も僕がMTが好きな理由です。