May 28, 2010

テンプレートの依存関係を表示するプラグインを作ってみました。

Include Map という名前のプラグインです。

なにが起こるの?

  • テンプレートの編集画面に、そのテンプレートをインクルードしているテンプレートの一覧を表示します。
  • 以下のような依存関係の一覧画面を追加します。

include_map.png

どこでダウンロードするの?

ダウンロードはgithubからお願いします。画面右上、上から3段目の「Download Source」ボタンから、最新のパッケージをダウンロードできます。

使い方は?

IncludeMapプラグインは、テンプレートの編集を監視し、内部的に依存関係の記録を行います。ですが、現在のところプラグインのインストール時にはこの記録は作成されません。
運用中のMovable Typeにこのプラグインを追加して利用する場合、事前にブログ/ウェブサイトの一覧画面からPlugin Action > Rebuild Include Mapを実行してください。

インストールに成功すると、メニューの「デザイン > Include Map」から、各ブログごとのテンプレートの依存関係表を開くことが出来ます。この画面はIEでは動作しないかもしれません。

ご利用は計画的に

このプラグインはMTのデータベースに変更を加えます。また、開発途中のため、今後大きな変更が加わる可能性もあります。実運用中の環境へのインストールはお勧めしません。テスト用途でのご利用をご検討ください。

May 21, 2010

MTからOAuthを使うプラグイン作ってます。

外部リソースへのアクセスを行うようなプラグインを作成するときに、OAuth認証を利用する必要がある場合があります。ぶっちゃけて言うと、7月からTwitterにアクセスするために必要になります。

OAuthによるアクセスについては、PostTwiOAuthなどで実現されていますが、プラグインごとに認証部分を再実装するのは面倒ですし、OAuthの性質上、プラグインのインストール後にそれなりの設定作業が必要になるため、エンドユーザー視点でも設定項目をプラグイン間で共有して欲しいのではないかと思います。

そこで、OAuthサービスプロバイダに関する設定のプラグイン間での共有や、Handshakeの実行、および取得したトークンの管理を行うプラグインを開発しています。

ドキュメントは、以下で準備を進めています。

プラグイン本体については、基本機能は実装済みですが、スタイリングやデザインの一部などは手つかずです。メインのAPI等の部分も、まだまだ改良の余地があるかと思います。今月末をメドに形にしたいと考えていますので、興味のあるプラグイン開発者の方は触ってみてください。フィードバック、パッチ、おしかり、ウェルカムです。このエントリのコメント/トラックバックや、githubのITSまで連絡いただければ幸いです。

May 5, 2010

アーカイブ一覧をAjaxでツリー展開するカスタマイズ

今回のアップグレード/リニューアル作業で、Archive Indexページにちょっとしたカスタマイズをしてみました。 見ていただければわかると思うのですが、月別アーカイブ一覧のリストの項目をクリックする事で、その月のエントリー一覧を展開する事が出来るようになっています。 予告通り、カスタマイズの詳細を公開しておきます。
Continue reading アーカイブ一覧をAjaxでツリー展開するカスタマイズ.

May 3, 2010

MT5にアップグレードした

MT4 + SQLite >> MT5 + SQLite >> MT5 + MySQL と長い旅路を経てようやく(今更)MT5にアップグレードできました。
色々無茶な拡張を重ねていたので、convert-db実行時に一部データが消失したり等、いくつかのトラブルが発生しましたが、懸念していた文字化けなど、MT本体についてMT4からMT5で大きな変更があった点については、問題なく作業が進みました。一般的な環境での作業なら、ほぼノートラブルでアップグレード出来るのではないかと思います。

幾つかプラグインをドロップしたので、テンプレートもそのままでは再構築できず。えいっとPicoベースに変更しました。すっきりしていて好みのデザインです。
久々にテンプレートのカスタマイズをして、普段使わない脳みその部位が脳肉痛です。Archivesのページでは、前から考えていたAjaxを使ったツリー展開を試してみました。なかなか軽快に動作しているので満足しています。このカスタマイズは後で手順をまとめておこうと思います。乞うご期待!

という事で、ゴールデンウィークのまっただ中、丸一日MTと戯れてマジ楽しい一日でした。

May 2, 2010

test

January 5, 2010

MTMLからTwitterにアクセスするプラグイン書いた。

簡単なTwitterのbotを作ってみようと思ったのですが、普通にperlとかで書くのもつまらないので、MTMLでボットを書けるようなプラグインを作ってみました。

右上の「Download Source」ボタンからダウンロードできます。なかなかサックリ書けたと思います。

そして、早速、占いをするボットを作ってみました。

Twitterで@mturanaiあてに投稿すると、占いらしき返事を返します。お暇な方は遊んでみてください。

以下プラグインの説明。

Continue reading MTMLからTwitterにアクセスするプラグイン書いた。.

December 15, 2009

MT関係のイベントに参加しました。

MT5がリリースされ、MT関連のイベントも賑やかになってきました。
ここ何週間かの間に、いくつかのMT関係のイベントに参加しました。ずいぶん遅くなってしまったものもありますが、まとめてレポート書きたいと思います。

第1回MT5勉強会

Dakinyさん主催の、有志による勉強会です。 MT5.0リリースの直後に行われたところに、無理矢理参加させていただきました。急な参加をお願いしてしまい、運営の皆様には大変ご迷惑をおかけしたと思います。有り難うございました。

ワークショップでは、テーマ作成のテーブルに参加させていただきました。
自分の作業を進めつつ、時にはテーマ機能のいろんな側面に関してディスカッションになったり、現場で想定される運用について貴重な意見をいただいたり、すごく勉強になりました。
なお、いくつかの点で動作がおかしいという指摘を頂き、原因が分からず後半はかなり挙動不審になってた事をお詫びいたします。バグ怖いねん。

その後の懇親会では、すごく楽しい時間を過ごさせていただきました。

Movable Type エンジニアの夕べ

続いて、スカイアークさんの主催の、MT関係のエンジニアで集まってのライトニングトーク大会+MTカルトQというイベントに参加しました。

ここでは、僕もLTに参加させていただき、個人的に作成しているネタ系(?)プラグインのTagOverrideを紹介させていただきました。

他の方のLTも、興味深いものばかりでした。

そしてクイズ大会!
全十問で、シックスアパートのロゴはどれかと言うような、間違うはずが無い!問題から、実在しないコールバックポイントはどれかという技術的カルトクイズまで盛りだくさんで、非常に楽しめました。

いや、始まる前は全問正解余裕すぎると思っていたのですが。
言い訳ですが、なんか問題文を見てると「あれ、あのコールバックは実装されている筈だけど、実はバグで動いていないという引っかけ問題なのでは・・・!?」と疑心暗鬼になってしまい。バグ怖いねん。
結果、トップに一歩及ばずの八問正解でした。
優勝されたoscarさん(ネタにさせてもらってすみません)、同率首位ながらおしくもジャンケンで敗れたにっくさん、参りました。おめでとうございます!

懇親会は、これまた楽しかったです。BodyMoreってエ(謎)。
その後はあまり記憶がありません。平日なのに。

Movable Type Designers and Developers Conference in Osaka

day1

MTのリリース恒例のカンファレンス第一弾がなんと、初の大阪遠征というかたちで行われました!
それもカンファレンスとハッカソンの2Daysです。

カンファレンスでは、テーマ機能についてお話しさせていただきました。プレゼン資料はこちらからご覧いただけます。

テーマの冒険

また、テーマ機能のデモンストレーションを兼ねて、プレゼン資料の作成に特化したテーマ「Slidon」を作成したうえで、MT上でプレゼン資料を用意するという試みを行いました。
資料作成に利用したテーマも、ダウンロードしてお試しいただけたらと思います。

aklaswad's slidon at master - GitHub

上記リンク先ページで、「download」ボタンをクリックしてダウンロードしてください。「Slidon」テーマは、今後も継続的に開発を進めていけたらと思います。

また、後半のライトニングトークでは、mt-tmpl-testというツールについても発表しました。資料も無く、かなり分かりづらい発表になってしまった事をお詫びいたします。ある意味BuildTracerの兄弟的な位置づけのツールでもあるので、機会があれば改めてエントリーを書けたらと思います。

その後の懇親会は以下略。沢山次会しました。

day2

二日目はハッカソン。前半ではawayukiさんとマルチドメインでのMTの運用について考えつつ、後半はBuildTracerのMT5対応版を作ってました。
BuildTracerについては、色々技術的な困難を抱え込んでしまい、なかなか解決できないまま終了。。。MT5対応にはもう少し時間が必要なようです。
ハックタイム終了後は、ビール飲みつつワイワイガヤガヤと成果発表会。楽しかったです!
会場をお貸しいただいたアルファサードJunnamaさん、okayamaさんには本当にお世話になりました。有り難うございました!

余談

ハッカソン中に、カンファレンスで使用した、MTで出力したスライド資料をまとめていました。
その際、ブログのテンプレート中でBlogURLやAssetURLを利用していると、リンクが絶対URLで作成されてしまい、配布には向かないという状況になりました。
その時「あれ、これってTagOverrideで無理矢理タグの出力を相対パスに変換すれば解決できるんちゃう」と閃きまして。ちょっとした試行錯誤の末、上手い事出来たんです!
いやあ、ネタ思いつきで作ったプラグインでも、きちんと役に立つ場面があるもんですね。

※ ハッカソン中、上記閃きに関して自分自身を絶賛するような独り言がうるさかった事をお詫びいたします。