2006年03月15日
Re^2: MovableType Mapperプラグインとlocationプラグインの融合キボンヌ
タイトル、メール状態。
おがわさんから返答いただいたので、もうちょっと考えてみました。
Re: MovableType Mapperプラグインとlocationプラグインの融合キボンヌ
この別プラグインでは、まずエントリーやエントリーに添付された画像ファイルに記述されたロケーション情報をエントリー保存(公開)時にextractして、中間ストレージに保存します。
トラックバックなどのNotification系のアクションは基本的に同じタイミングで行います。
中間ストレージに吐いておくのは、後で別用途でソートしたりする際にも軽くなるので、よいかなと思いました。
ただMovableTypeって、中間ストレージをプラグイン等で自由に作れる公式仕様ってあるんでしたでしょうか。
なかったので今までkeyword属性をいろんな用途に使いまわしたり、RightFieldsとかが画期的だったりしたのかなと思ったのです。
まあなかったとしても、別に勝手にファイルオープンすればよいだけなので、中間ストレージの作成先をプラグインの設定で指定してやればいいだけかもしれませんけど。
ところでAlps Clip!のMTプラグインは、グローバルフィルタ適用時、すなわち再構築時(≒ビューの生成時)にトラックバックを送信しますが、あまり良くないような気も。
再構築するたびにトラックバックを送信する、悪魔のプラグイン…。
Alps Baseの方ではURLでユニフィケーションしてトラックバックを捨てたりしているのでしょうか。
MT::Entry::post_save()などのフックを利用された方がよいでしょう。
これは以前むちゃくちゃ打ちまくってテストしてみたのですが、同じ位置で同じURLからのトラックバックに関しては、時刻は更新されますが重複はしないみたいですね。
でも、ネットワークリソース無駄にしまくりなのでやはり毎回打つのは止めた方がいいっすよね。
作成のフック利用でもいいと思うんですが、エントリ作成でなく更新時に新しい位置情報入れたりするケースもあると思うので、Entryオブジェクトのpinged_urlに突っ込んじゃってもいいと思います。
私がソース追った限りでは、pinged_urlはto_ping_urlの中から既に打ったものについては外す、というのに使っているだけなので、勝手なデータ入れてもMT全体には悪さしなさそうなんで、いいかと思ったんですけど。
テンプレートはエントリー保存時に参照されるものではなく、再構築時(≒ビュー生成時)に参照されるものです。
言い換えると、エントリー保存時のアクションをテンプレートに書くべきではありません。
えっと、[map_hogehoge]でmap_hogehogeテンプレートモジュールと置き換えられる、という部分の事であれば、これは置き換えるというよりも、たとえば[map_hogehoge]という記述があれば、保存時にそこをテンプレート内の記述と置き換えるのではなく、<$MTInclude module="map_hogehoge"$>に置き換えればすむのかなあと。
エントリの持つ位置情報配列の中から先頭何個分について処理するか、といった指定に関しても、SetVarタグあたりをうまく使ってやればできるのかなあと思っています。
そうではなくて、トラックバックは保存時の処理であって、エントリ再構築の中で行うべき処理ではないという意味の事であれば、個人的には所定の機能が得られればどちらでもよいのかなあと思います。
基本的にはエントリ生成/更新による保存と再構築は一連の処理ですし、アーカイブやインデックスページでの巻き添え再構築時に、先にも書いたpinged_urlあたりでping送付済かどうかをチェックするとか、そもそも個別エントリの再構築時にしか動作しない仕様にしておくとかで、トラックバック乱れ打ち!な仕様にさえなってなければいいんじゃないかなと思いました。
昼休み終わっちゃったのでこの位ですが。
Excerpt: 何となく予想できた方面から万艦飾なリクエストが来ました(笑)。 ここギコ!: MovableType Mapperプラグインとlocationプラグインの...
Weblog: Ogawa::Memoranda
Tracked: 2006年03月20日 13:56
![[ここギコ!]](http://kokogiko.net/logo.png)



・京都外国人排斥カウンターデモの「反日上等」「日の丸ウンコ」とかについて(**)
・3Dどきゅめんと…って何?点字文書?(MrSwant)
・3Dどきゅめんと…って何?点字文書?(Ufoceleb)
・コロカの詳細が判りました&店舗誘導における来店検知の方法について(kokogiko)
・コロカの詳細が判りました&店舗誘導における来店検知の方法について(通りすがり)
・可視光通信って自位置特定にも使えるんじゃないか(Light Wire)
・新型インフルエンザでマスクとか(和知父くま)
・気持ちのよいサービス2:タクシーに携帯電話忘れたら届けてくれた(あああ)
・「ちっ、早すぎたな」と捨て台詞が言えるだけの何をお前はやったのか(kokogiko)