August 2008 Archives

August 21, 2008

Movable Type Developer Conference に参加できませんでした。

とんだ出落ちですみません。会社の休みもらえたのが、締め切りの次の日だったんです。フライングで申し込んでおけば良かったと今になって思うも後悔先に立たず。

でまあ、結局一日家でUstreamに張り付いてずっと見ていたので、割と満足。ちょっとした感想くらいなら述べることも出来るというものです。


興味深かったのはやはり Beau Smith さんのパブリッシングに関する話。
アーカイブやインデックステンプレートごとに更新頻度とページビューを予想してパブリッシュの方法を決めろ、ただしサイトごとに傾向は違ってくるので頑張れ、という話だったと思います。

ただ、現実的に、そう簡単に最適解が出せるかというと難しいと思います。その一番の理由は、定量的に再構築の回数を観測出来ないからです。

これってでも、実現できそうですよね。
再構築の回数を記録してFileinfoテーブルにでも突っ込んでおくと、パフォーマンスの測定に役立つのでは無いか。
もっと突き進めれば、ページビューのデータも取得するようにして、View / Build Ratio みたいな値を定期的に算出し、ファイルごとに最適なパブリッシング方法をMTが自動的に設定してくれる、なんてことも出来るかも。という妄想をいたしました。


あとはLightingTalkが大変楽しそうでしたね。Ustreamの画面だと実動作のデモは視聴がちょっと辛くはありましたが、それでも、すごくいい雰囲気が伝わってきました。
変態テンプレート好きの自分としては、mt:EntryPreviousのネスト技の話が一番ツボにハマりました。今なら、mt:setVarTemplateを再帰させてゴニョゴニョしても面白いかも。という妄想をいたしました。


なにはともあれ、みなさんお疲れさまでした。参加できなくて残念でしたが、すごく楽しい時間をありがとうございました。おしまい。

[mtplugins] CustomEditorButton2 0.3

CustomEditorButton2_0_3.zip

MT4.2 でボタンの配置が保存できなくなっていた問題に対応しました。
機能追加などはありません。MT4.1で利用を続ける場合は、アップグレードの必要はありません。

CustomEditorButton2の以前のバージョンからアップグレードする場合には、事前に(MT_HOME/)plugins/CustomEditorButton2/config.yaml ファイルを削除してください。誤動作の可能性があります。

このバージョンから、諸事情により、デフォルトのボタンは別プラグインとして同梱される形になりました。
パッケージを見ればすぐわかると思うので、デフォルトのボタンが気に食わない場合はサクッと消してしまってください。

あと、この間気づいたのですが、FastCGI環境だとうまく動かないみたいですね。近いうちにその辺を修正したバージョンを出そうと思います。
ほかに何か不具合などありましたらフィードバックください。よろしくお願いします。

August 11, 2008

blog it from iPhone

面白い。MTの管理画面からアカウントを一発で作成出来るといいかも。

August 7, 2008

「Movable Type 4.2 パーフェクトガイド」にBuild Tracerが掲載されてます。

小粋空間のyujiroさんの著書Movable Type 4.2 パーフェクトガイドが発売になりました。おめでとうございます!
しかも、一冊戴いてしまいました。ありがとうございました!

Movable Type 4.2 パーフェクトガイド
荒木 勇次郎
4839927790

時間を見ては目を通しているのですが、本当にすごいボリュームです。しかも、随所にコラムとして関連情報へのポインタが含まれていて、情報の密度も半端じゃないです。手に取った瞬間に、並大抵ではないエネルギーが費やされている一冊だと分かります。すばらしいです。
改めてyujiroさん、お疲れ様でした。

それでですね。なんと!パーフェクトガイド内で、当サイトで公開しているプラグインBuild Tracerが紹介されています。しかも、通常のプラグイン紹介とは別枠で、パーフェクトガイドのメインともいえるテンプレート解説の冒頭付近に一ページ強を割いて掲載されていました。見た瞬間変な汁が出ました。
あの超ニッチなプラグインを取り上げられるとは、これは、自分も頑張らなくちゃとやる気がたくさん出ました。ありがとうございました!

IndexContextプラグインもピックアップされてました。うぇーい。

August 6, 2008

TaggingHelper For MT4.2

そろそろ、当サイトで配布しているプラグインをMT4.2に対応させていく必要があるのですが、今回は色々動かなくなるものが多くて、頭を抱えています。

とり急ぎTaggingHelperを対応させました。まったくの暫定版なので、バージョン外とします。
Movable Type / MTOS 4.2 でのみ動作します。また、タグの使用頻度順でのソートが出来ません。

TaggingHelperForMT4_2.zip

今後の対応については、考え中です。

August 5, 2008

iPhone用テンプレートを導入してみました。

cremaさん作成の iPhoneテンプレート for MT を、このブログに導入してみました。iPod TouchやiPhoneをお持ちの方は、アクセスしてみてください。

blogaklaswadcomimage.png

テンプレートは以下のページで配布されています。すばらしいです。
「iPhoneテンプレートfor MT」を公開いたします。|iPhone|東京Webデザイナー日記リターンズ|crema design

なお、 iPhoneテンプレートはブログURL内の「i」ディレクトリに出力する仕組みになっていますので、iPhoneでアクセスする時に専用のURLにアクセスする必要があります。
このブログでは、インストールの際に以下のようなカスタマイズを行って、PCでの閲覧時と同じURLになるようにしてみました。

  • 追加したiPhoneテンプレート内のトップページとブログ記事アーカイブへのリンクを、通常のものに書き直す。
    • 画像やcssファイルなどへのリンクは変更しない
    • アーカイブマッピングは、「i」ディレクトリ内へ出力する設定のままにする
  • ブログトップの.htaccessに以下を追加。
  RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod)
  RewriteCond %{REQUEST_URI} !^/i/
  RewriteRule ^(.*)\.html$ /i/$1.html [L]

.htaccessの記述は、利用しているサーバーによっては上手く動かないかもしれません。またその場合、即座にサイト全体が500エラーになってしまうような事態も考えられます。.十分注意して作業を行ってください。

August 1, 2008

mt:ifStaticとmt:ifDynamicは似て非なる物。

自分は、今見ているテストページがスタティックパブリッシングとダイナミックパブリッシングのどちらによる出力なのか、一目で分かるように、以下のような表示をさせておくことがあります。

このテンプレートは<mt:ifDynamic>ダイナミック<mt:else>スタティック</mt:ifDynamic>で構築されました。

いくらPerl弄っても動作が直らないと思ったらPHPのほうに問題があった。何を言ってい(ry等と言うことにならないためですね。

さて、ここでちょっとした罠があります。mt:ifDynamicと対になるようなテンプレートタグmt:ifStaticでは、このような書き方は出来ません。

このテンプレートは<mt:ifStatic>スタティック<mt:else>ダイナミック</mt:ifStatic>で構築されました。

上記テンプレートは、スタティックでは期待通りに動きますが、ダイナミックでは以下のような出力になってしまいます。

このテンプレートはで構築されました。

原因は、mt:ifStaticタグのPHPでの実装が、テンプレートタグとしてではなく、コメント(のような)扱いになっているためです。
<mt:ifStatic>・・・</mt:ifStatic>の部分が、再構築より前に強制的にテンプレートから削除されてしまうんですね。なので、その中に何個mt:elseを書こうが、全部消えてしまうわけです。mt:ignoreと同じですね。

これはおそらくダイナミックパブリッシングでは、ページビューごとに構築が行われるため、より細部の高速化を重視しているものかと思われます。mt:ifStaticとmt:ifDynamicで非対称な動作となっているのでちょっと違和感がありますが、上手く使い分けると良いと思います。

OpenID accepted here Learn more about OpenID

About this Archive

This page is an archive of entries from August 2008 listed from newest to oldest.

July 2008 is the previous archive.

September 2008 is the next archive.

Find recent content on the main index or look in the archives to find all content.