Movable Typeの最近のブログ記事

久々にMTネタです。内容はタイトルの通りです。

たまたま表示の必要があって調べたところ、MTにおいては

「検索結果 全7ページ中 5ページ目を表示」

と表示する機能はデフォルトで備わっておりますが、

「検索結果 全95件中 21-40件目を表示」

という、いかにも需要がありそうな表示を実現するタグ類は有りませんでした。

同じように悩む人もいらっしゃると思ったので、サンプルコードを記述します。

<mt:Ignore>○件中 ○-○件 表示のための変数取得 </mt:Ignore>

<mt:SetVarBlock name="current"><mt:CurrentPage /></mt:SetVarBlock>

<mt:SetVarBlock name="maxresult"><mt:SearchMaxResults /></mt:SetVarBlock>

<mt:SetVarBlock name="last_page_num"><mt:GetVar name="current" value="$maxresult" op="*"></mt:SetVarBlock>

<mt:SetVarBlock name="SearchResultCount"><mt:SearchResultCount /></mt:SetVarBlock>

<mt:SetVarBlock name="first_page_num"><mt:CurrentPage /></mt:SetVarBlock>

<mt:SetVar name="first_page_num" value="1" op="-">

<mt:SetVar name="first_page_num" value="$maxresult" op="*">

<mt:SetVar name="first_page_num" value="1" op="+">

<mt:Ignore>変数取得 ここまで</mt:Ignore>


<mt:SearchResultCount />件

<mt:Unless name="SearchResultCount" eq="0">中</mt:Unless>

<mt:Unless name="SearchResultCount" eq="0">

<mt:Var name="first_page_num" />―

<mt:If name="last_page_num" ge="$SearchResultCount">

<mt:SearchResultCount />

<mt:else>

<mt:var name="last_page_num">

</mt:If>件

</mt:Unless>

上記のソースを、検索結果のテンプレートに貼りつければ、表示されます。

こんな感じになります。

count

MTDDC」のライトニングトークでも告知しましたが、英語によるMTの情報ブログ「MTJ」を開設しました。

MTJ

http://www.mt-j.info

できれば2年ぐらい、コンスタントに運営を続けて、日本国外のMTユーザー、およびMTユーザー予備軍に、日本のMTコミュニティの情報を届けたいと考えております。

あわせて、日本語版も準備中です。

2月5日、東京のベルサール九段で行われた「Movable Type Developers and Designers Conference(MTDDT)」に参加してきました。

MTDDC

(photo:six apart k.k.)


MTDDC_speach

これはMovable Typeの開発元であるシックスアパートが主催して行われたイベントで、MTユーザーを集めたカンファレンスとして行われました。

東京では以前に2回行われたそうですが、今回は「Designers」という言葉を加えて、従来開発者向けだったイベントのイメージを変えようと思ったそうです。後ほど関係者に聞いたところ、これが功を奏したのかは分かりませんが、参加者には多数、デザイナーさんや、ウェブ制作者の方々が参加されたそうです。

情報によると、当初は100人の予定に対して、申し込み者数が増え、総勢で200人を超える申し込み。急遽、会場を広げて150人のキャパシティでイベントを開催したとのことです。

前半はシックスアパートのメンバーによるプレゼンテーション。後半は、来場者によるライトニングトークが行われました。

前半のプログラムは以下のとおりです。(MovableType.jpより)

MovableTypeの夕べ

| コメント(1) | トラックバック(1)

本当にいまさらですが、スカイアークさんが主催された「Movable Typeエンジニアの夕べ」に参加したので、そのときの話など。

去る12月10日、渋谷でMTユーザーのオフ会に参加してきました。

(写真はスカイアークシステムさんの「MTエンジニアブログ」より)

スカイアークシステムさんは、MT一筋でソリューション事業を展開してきた、MTユーザーの間では非常に知名度が高い会社のひとつです。アルファサードさん、エムロジックさんらと並んで、名実ともに日本でMTのビジネス市場を開拓してきた一人といってよいでしょう。

想像通り、MTのヘビーユーザーが集まっておりました。各種ハッキングの第一人者である関根さんや、最近良い意味で驚かされるプラグインを次々にリリースするタクさん、あるいはoscarさんやアイデアマンズの皆様などなど。シックスアパートからは金子さん澤田さんが参加されておりました。

僕もこのブログではいくつかスカイアークさんのプラグインを利用させていただいており、そういう意味でいつもお世話になっております。

MTに関するクイズでは、受け狙いのクイズから超マニアックなクイズまで、選りすぐりの10問が出題されました。oscarさんのブログで書かれているとおり、僕とoscarさんが9問正解。じゃんけんでoscarさんに敗れました。

「たまたまこのクイズの直前に、コールバックの一覧やモディファイアの探し物をしていたので、クイズができた」といったレベルの話で、これをもって「MTエンジニア」とはとても自称できませんが、優勝したら北海道の名産品がもらえたはずで、負けてほっとしたような、ものすごく残念なような。

ところで僕はこういうオフ会が大好きです。普段のネット上のコミュニケーションから離れて、オフラインで会ってお話しすると、これまで以上にオンラインでのコミュニケーションが深く、楽しくできるからです。

次回もぜひ参加したいなーと思いました。

より詳細なレポートは、参加された皆様のブログをご覧ください。

「Movable Typeエンジニアの夕べ」レポート!

Movable Type エンジニアの夕べ - WolaWola

「Movable Typeエンジニアの夕べ」でLTしました

「Movable Typeエンジニアの夕べ」に参加しました

写真で振り返る「Movable Type エンジニアの夕べ」

MovableTypeのプラグインを作成しましたので、公開いたします。

■□これは何?

一つのブログを複数ユーザーで利用している場合、自分がアップロードしたアイテム(画像やそのほかアセットファイル)を、自分だけが利用できるようになります。

各ユーザーは、自分以外がアップロードしたアイテムを参照できません。

■□ダウンロード

以下のリンクをクリックして、ダウンロードしてください。

RestrictAssets.zip


■□動作環境

Movable Type4.x、および MTOS4.xで動作確認をしました。 (2009・11・23現在) 3.xでは動作しません。

■□機能概要

RestrictAssets.plプラグインを、/mtpath/plugins/ 配下にアップロードしてください。


■□想定利用シーン

通常、複数ユーザーでブログを書く場合、各ユーザーに個別ブログを割り当てるのが普通の使い方だと思います。(情報を集約する場合は、MultiBlogなどを利用しますよね)

一方

「一つのブログを複数ユーザーで使用する」

使い方も、良くあると思います。一人一つのブログを割り当てるのは大げさな場合、一ブログに複数ユーザーを「ユーザー」もしくは「ライター」として登録します。

この場合、各ブログ記事は、各ユーザーに所有権限があるためそれほど問題ないのですが、すべてのアイテムを全員が共有できるため、画像やpdfファイルなど、アイテム数が多い場合、運用が混乱します。

「RestrictAssets」を使うと、自分がアップロードしたアイテムファイルしか選べなくなり(他ユーザーがアップロードしたアイテムは見えない)、誤って他者の画像を利用する、といったことがなくなります。


■□権限設定について

本プラグインを利用する場合、「ユーザー」「ライター」のいずれかがアップロードしたアイテムに対して、利用制限をかけます。

「編集者」「ブログ管理者」はすべてのアイテムを管理できます。

※もし「編集者」に対しても、アイテム制限をかけたい場合、プラグイン内の「can_edit_all_posts」という引数を「is_superuser」に置換することによって対応可能となります。


■□利用条件

特に利用制限はありません。個人、商用問わず、ご自由にお使いください。

本プラグインの不具合によるいかなる事象についても免責とさせていただきます。

■□今後について

0.2以降 Yamlファイルを利用した書式に変更
0.3以降 MT5対応

ネットをブラウズ中、偶然、MovableTypeに関する興味深いブログ記事を見つけました。

image

http://www.librarywebchic.net/wordpress/2009/10/15/whats-happened-to-movable-type/

ブログ名は「Library Web Chic」。

記事の大意は

「ウェブアプリケーションに関する記事を著述中、Movable Typeに関しても言及しようと思い、現状を調べた。

MTは、ブログ用ソフトとして始めて世に出たプロダクトだったのに、その後、ライセンスに関するbacklash(反発)を受け、ユーザーの支持を失っていた。

今、『Melody』というプロジェクトが立ち上がっている。私の好奇心はピークに達した。いったい、MTに何が起こっているのだろう」

といったものでした。

このブログの著者は、カレンさん。カレンさんは、ヒューストン大学の司書と書かれていますが、良く調べると、オープンソースCMSアワードの審査員も勤めています

http://www.packtpub.com/overall-open-source-cms-award-judges

カレンさんの活動を見ると、数々の著述も行っており、おそらくブロガーとして著名な方なのだと思われます。また、CMSやブログソフト、ブログそのものにも相当な知見をお持ちであることが想像できます。

このブログ記事には、MovableType.orgのフォーラムで顔写真を見かける人たちが、様々なコメントを書いています。それぞれ、MTに関する思いや考えが伝わってきて、見るだけで非常に面白い議論なのですが、なんとMTの前プロダクトマネージャーを務めたByrne Reeseさんもコメントを寄せています。

Bryneさんは、現在「OpenMelody」という、オープンソースプロジェクトのリーダーを務めている方なのですが、自分の出自を明かした上で、こんなことを書いています。

(本当に)今さらですが、シックスアパートさんのユーザーギャザリングに参加した感想など・・・。

シックスアパート主催のユーザーギャザリングに行ってきました。

(写真はmayumineさんから転載許可をいただきました)

参加者

柳下さん

 

とはいっても、ビール飲んで、野次を飛ばして、DJブースの前で気持ちよく踊っていただけなんですが。

年甲斐もなく、すっかり良い気分の酔っ払いになってしまい、多方面にご迷惑をおかけしたのではないかと思い恐縮です。あああ。

R&B中心の、個人的に好みなテイストの曲が多く、すっかりDJ Ichikawa に踊らされた感じであります。702のStar、久々に聞いたなぁ。やっぱりネプチューンズのアレンジは良いですね。

本格的なレポートは、既にたくさんの方々が入魂のレポートを書いていらっしゃるので、詳細はそちらに譲ります。

Six Apart ユーザーギャザリング 2009に参加してきた

Six Apart ユーザーギャザリング 2009に参加してきた

こんぶだしmeeting9杯目:あったらいいな、未来のこんなMovable Type!

今頃SAUG2009

SixApartユーザーギャザリングに参加しました

以下、なんとなくつらつらと感じた、個人的な感想です。

MovableType5のバージョンがβ3に上がり、テンプレート構造が変わりました。

(もしかしたらβ2から変わっていたかもしれません)

このため、「EasyWorkflow」をバージョンアップし、0.41としました。

Movable Type5ベータ3版に対応を行っております。

β1、2では使えなくなります。ご了承ください。


ダウンロードページからご利用ください

※ご利用の際は、適用ブログ・ウェブサイト、もしくは適用した皆さんがお持ちの個人ブログから、当該ページへリンクを張っていただくと幸いです。

※動作におかしな点がありましたら、お手数ですがご指摘ください。

最近、ちょっと思い出せなくてはまったため、メモ書き程度に。

Movable Typeで条件分岐を書いているとき、

「MTタグが出力する値を条件分岐の引数として使いたい」

というケースはよくあると思います。

たとえば、mt変数に下記のような値を代入して
<mt:setvar name="flag" value="hogehoge" />

条件分岐させるときに、

<mt:if name="bar" like="<mt:var name="flag" />" >
flagの値によって処理
</mt:if>

としてもうまく処理されません。

この場合は、MTタグによってセットされた変数のname値に$ を付与することによって、値を引き出すことができます。

上記の場合

<mt:if name="bar" like="$flag" >
flagの値によって処理
</mt:if>

とすると、<mt:setvar>で指定した値「hogehoge」を解釈して、条件分岐を実行します。

ご参考まで。

追記:
いつもお世話になっている、ToI企画のタクさんにより、MTタグの引数に関するブログ記事がアップされております。こちらもぜひご覧ください。





昨日のブログ記事で

「MTのextlibを利用したPerlモジュールの利用」について記述したところ、いつもお世話になっているToI企画のタクさんからメッセージをもらいました。

タクさんは、ToI企画のブログ上で、種々様々なMT向けプラグインを提供している凄腕開発者です。いつも勉強をさせていただいております。

以下、extlibの利用について、ご指摘をいただいたのは

 

・MT4.2からは、プラグインディレクトリ内にextliというディレクトリを作成して、モジュールを配置することによって、利用可能となる。これは、アメリカのMovableTpe.orgに書かれている

http://www.movabletype.org/documentation/developer/other-common-directories.html

・extlibにPerlもモジュールを入れていると、優先的にそのディレクトリを読みにいってしまう。つまり、サーバー自体のPerlモジュールがアップデートされて最新版に更新されても、Mt自体はextlib配下の古いモジュールを読みにいってしまう可能性があるため要注意

(例:File::Tempが2.0だったとして、 extlibに入れたFile::Tempが1.0だったすると、プラグイン内での利用に限らずMT全体で、1.0のFile::Tempが優先で使われてしまうようになる)

とのことでした。タクさん、いつもありがとうございます!

これらを考慮すると、extlibへPerlのモジュールを配置するのは、諸々注意した上で行う必要がありそうです。extlibディレクトリの利用については

・まず、サーバーおよびMTのextlibがデフォルトで持っているモジュール類を確認した上で

・必要な場合のみ、最小限のモジュールを各プラグイン内にextlibディレクトリを作成して利用する

のがベターといえそうです。

皆様におかれましても、extlibディレクトリの利用についてはご留意ください。

1  2  3  4