MTEntryIfTagged タグクラウド

Movabletypeが3から対応したTag、なのだが、
このところトレンドになっているソーシャルタギング、
タグクラウドを見ているうちにそのビジュアル的な
かっこよさに惹かれてその使い方がよく分からないまま
実装してみたいなあと思っていたのが3,4ヶ月前。

# ごめん以下の文章は現時点での自分の理解なので
# 正確なのか全く保証できない。

ようやく重い腰を上げて取りかかってみると、
Movabletypeに実装しているテンプレートタグ
では実際にやりたいことがあまり出来ないのである。

関連するエントリー、つまり同じタグを
つけたエントリーを、個々のエントリーにリンクさせる
みたいなことが出来ない。

ややこしいいのだがここで使ったタグには複数の意味がある。

タグと言う言葉を最初に聞いたのは中学の時で、
主にこれはHTMLタグ、という意味で使われていた。
少なくとも僕の周囲では。

このタグ、仮にタグ1とすると、タグ1はマークアップ言語としての
タグであり、IT用語辞典でも見れば意味が分かる。

次にMovabletypeのテンプレートタグ、のタグは
タグ1に含まれるタグで、Movabletype内でルールが決められた
マークアップ言語、ということになる。

そしてこれから実装したい、あるいはweb2.0的世界で
ナウなトレンディであるタグ、tag、タギングという言葉は
タグ1とは異なる。
これを仮にタグ2と呼ぶと、タグ2の決定権は完全に自分にある。
タグ1が「決定されているルールを呼び出すためのもの」
であるのに対して、タグ2は「自分ルール、あるいはローカルルール」にあたる。

「タギング、タグをつける」は世の中に溢れているwebページに、
あるいはMovabletypeのエントリーに自分なりのタグ2、
すなわち日本語で言えば札をつけるという行為になる。

ちなみにここでもややこしいのだが、クラブに行くと
「タギング行為を発見した場合警察に通報します」
とか書いてあったりするのだが、これは
グラフィティにおけるタギング、であり
webで用いられる言葉とは意味が違う。

タグ2をMovabletype内で使う際に何をしたいか、と考えると、
似ている、あるいは関連するエントリーを探す手だてにしたい。

もちろんMovabletypeにはカテゴリー、サブカテゴリーという
エントリーを分類するための機能が実装されているわけだが、
カテゴリーやサブカテゴリーを細かく作っていくと無限にカテゴリーが
増えてしまい分類しきれないし見た目にも悪い。どのカテゴリーに
どれを入れたのか忘れる。ので、例えば

「夜クラブに行った時のエントリーにnightlifeというタグをつけ、
にnightlifeというタグがついたエントリー同士にリンクが自動的に
貼られる」状態にしたい。

「nightlifeというタグ以外にも例えばUNITというタグがつけられていて、
UNIT同士のエントリーも自動的にリンク」したい

とか思ったりするわけだ。
これがMovabletype標準装備のテンプレートタグでは
実装できないのである。

そこで探しているうちに出てきたのが
TagSupplementalsプラグインで、これがあると上記の事が間単に出来る。

タグには自動的に重みが設定され、その重み順に
関連エントリーの表示が可能だ。

ということで2時間くらいかかってようやく作ってみると、
今度はタグクラウドが、実はMovabletypeのcgi本体に付加が
かかる標準装備の検索機能と同じだとわかる。
これはあんまり実用的でないな、と思いタグクラウドに関しては
ひとまず保留。タグが増えてくると表示にも困るし。
自分のMovabletypeではタグは見せびらかす物ではなく裏で
動くものにするか。