- 2011-11-28 (月) 00:04
- MovableType


- Asset Handler for Movable Type
やっと出来ました。先月末に完成してたけど、記事書けなくて大分遅れた・・・
Asset Handlerとは
「naoaki011/mt-plugin-assethandler - GitHub」
何度も取り上げてるけど、しつこくもう一度解説。
「Asset Handler」は、Moveble TypeにAsset(アイテム)を一括で取り扱うための機能を追加するプラグインです。
オリジナルは、「Asset Handler | Movalog Plugins: Movable Type plugins by Arvind Satyanarayan」。「Movalog」の開発したプラグインで、サーバー上にアップロードされているファイルを、アイテムとして一括インポートする機能と、アイテム情報の一括編集が可能です。
有償プラグインでしたが、その後海外のMTプラグイン開発者サイトのご多分に漏れず、サイトでの公開更新を停止し、活動の場をGitHubに移行。現在はGPLv2として公開されています。
私以外にもendevverの「jayallen」がこのプラグインをフォークしています。
改変にあたってのコンセプト
私のフォークバージョンのコンセプトは2つ。
- 最新のMT日本語環境に対応すること
- Asset Handlerという割には、「取り扱いに関する機能」が貧弱に思えたので、機能を追加すること
特に海外の主要なMTプラグインの作者が、MT5以降への対応を完全に無視し、Melodyもしくは稀にMT4.3xへの、1バイト圏の運用しか考慮しない対応しか行わなくなっている流れに逆らいたいという意識があります。
これは、私がフォークしている他のプラグインにも共通した考えです。
Asset Handlerの機能
MT5.1xに対応しています。特にリスティングフレームワーク対応が、今回の修正の大きな特徴です。
アイテムの一括インポート機能
このプラグイン一番の売りの機能です。サーバー上にあるアップロード済みの、アイテム未登録画像を一括でMTのアイテムとしてインポートします。
具体的にはファイルパスと対応する登録URLを指定することで、取り込み処理が行われます。パスとしてディレクトリを指定した場合、ディレクトリ内のファイルをまとめて登録ができます。(ファイル選択や拡張子指定も可能です)
「AssetHandlerのMT5対応版公開します - WolaWola」
MT5.1では、「アイテム」メニューのサブメニューとして実装しています。既存の「新規」は「アップロード」と表示されます。その下に「インポート」メニューが追加され、そこから起動されます。MT5.0以下では、今まで通りページアクションとしてリンクが表示されます。
なお、以前より問題になっていた、アイテムが重複登録される件についても対応を行なっています。このバージョンのAsset Handlerで取り込んだアイテム同士の場合、同じファイルを再登録する事はありません。旧バージョンでの取り込み分を含む既存の登録済みアイテムとの重複回避には、後述の「アイテムの内部パス情報の修正機能」か「アイテム情報を更新する機能」により、アイテムの内部情報の修正が必要になる場合があります。
アイテムの一括編集機能
ブログ記事の一括編集機能のような、簡易的なアイテムの一括編集画面が、使用できるようになります。
こんな感じの画面です。
チョットだけ、多めに情報表示しています。(まぁ変更可能なのは、アイテム名・説明・タグだけですが)
MT5.0xおよびMT4.xでは、一括編集はボタンではなくプルダウンによるプラグインアクションとして表示されます。
アイテム一覧への表示情報の拡張(2.02で追加)
MT5.1のリスティングフレームワークに対応し、アイテム一覧画面に様々な情報を表示します。
「表示」「ファイル名」「ピクセル数」「リンク」「パス」「フォルダ」「作成時間」「更新日」「更新時間」「ファイルの拡張子」「説明」「MIMEタイプ」「種類」「親アイテムID」「関連記事」「タグ」が、項目として表示可能です。
個人的には「フォルダ」(ブログルートからのフォルダパスが表示)と「表示」(実ファイルへのリンク)がお気に入りです。
なお、MT5.0以下の一覧画面に対しても、「関連記事」に付いては表示されるようになっています。
アイテムの登録のみ削除する機能(2.02で追加)
「Asset Unlink」の機能を取り込みました。
一般に登録アイテムを削除すると、実アイテムも削除されてしまいます。様々な理由により、アイテムが重複して登録されてしまった場合などに、片方のアイテムを削除すると実ファイルが削除されてしまい、残りの登録アイテムには対応するファイルが存在しない状態になってしまいます。
この様な状態の時に「アイテムを削除」ではなく「アイテムの登録削除」する事で、アイテムをそのままに重複分の登録削除が可能になります。
MT5.0xおよびMT4.xでは、登録解除はボタンではなくプルダウンによるプラグインアクションとして表示されます。
アイテムの内部パス情報の修正機能(2.02で追加)
アイテムのパス情報を修正する機能です。「ブログパスを「%r」に変更」「ブログパスをフルパスに展開」「URLをファイルパスに合わせて修正」「ファイルパス値を変更する」があります。
これらはファイルをそのままに、アイテム情報のみを修正します。Asset Handlerによる登録時に、パスの入力を間違えた場合など、特殊な場合にしか発生しない状況ですが、その様な状態からアイテム情報の修正が行えます。
本来アイテムは、ブログルートを起点とした相対パスでパス情報を持っています。
ブログ直下にある「images」フォルダ内の「fuga.jpg」というファイルは、アイテムとしては「%r/images/fuga.jpg」というパスとして格納されます。アーカイブパスを起点にした場合は「%a」になるなどれ以外はありますが、基本はそう理解してください。
と言いつつも、フルパスでファイルパスを持つことも可能で、旧バージョンのAssetHandler(例えばMovalogで公開されているもの)などでは、その様なパスを書き込んでいました。この様に様々な値で保存されているパスの値を、「%r」による記述に変更するのが、「ブログパスを「%r」に変更」になります。
その逆の操作を行うのが「ブログパスをフルパスに展開」です。この2つを組み合わせることで、次のようなことが実現できます。
「ブログの公開パスを変更したいが、使用中のアイテムは今の場所から移動したくない。」
まず「ブログパスをフルパスに展開」でアイテムをフルパスに変更した後、ブログの公開パスを変更します。その場合でもアイテムはフルパス記述ですので、場所は変わりません。その後「ブログパスを「%r」に変更」で、相対パスへと戻してやります。
「URLをファイルパスに合わせて修正」はファイルパスとURLが正しく整合性がとれていない場合に、ファイルパスを元にURLを設定し直します。あまり発生しない状況だと思いますが、URLのみが変更されます。
「ファイルパス値を変更する」は上記と逆に、ファイルパスを書き換える時に使います。URLについてはファイルパスと対応する正しい値に修正されます。
アイテムをブログ内で移動する機能(2.02で追加)
「あれ、アップロード先間違えた」という時あると思います。「もう記事に使っちゃってるので、上げなおすのも面倒だな。」
そういう時にはアイテムのパスを変更することが可能です。
操作により、ファイルの移動・アイテム情報の修正・使用されている記事(本文・追記)内のリンクパスの修正が行われます。
制限として、ブログの公開パス以下でのみ変更可能です。
アイテムファイル名を変更する機能(2.02で追加)
「急いで登録したので、不適当なファイル名になっている。」そういう時には実ファイルのファイル名を変更することが可能です。
操作により、ファイル名の変更・アイテム情報の修正・使用されている記事(本文・追記)内のリンクパスの修正が行われます。ただし、日本語を含むファイル名についてはテストを行なっていませんし、おそらく正常には動作しません。
アイテム情報を更新する機能(2.02で追加)
様々な理由により、アイテム情報の不整合な状態が残っている場合があります。「アイテム情報の更新」を行うことで、ファイルのパスの相対指定への変更やMimeタイプ等様々な情報を正しく修正します。
Asset handler 2.03について
現在の公開バージョンは、AssetHandler2.03.zipです。
MT4.1xからMT5.1xまで対応しています。
最新版はgithubから入手可能です。すでにアイテム登録日をExif情報から取得する変更などが加えられています。
残っている問題点としては「リスティングフレームワークでの追加情報の表示オプションで、ラベルのローカライズが行われない問題」があります。
次期バージョンで追加を予定している機能としては、「アイテムの親子情報を切り離し、親アイテムを削除しても子アイテムだけ残す事が出来る機能」を予定しています。
Asset handlerのライセンスについて
オリジナルと同じく、GPLv2として公開します。
ひとりごと
ココに上げた機能以外にも、実は隠し機能が追加されています。あるテーマ(mt.Vicunaではありません)と連動する、自分のための機能ですが、おそらく普通に使っていれば出くわすことはないでしょう。
「ついでに圧縮ファイルでまとめてアップロードできれば・・・」はい、それについてはコレとは別プラグイン「ArchiveAssets」として用意しています。そちらの紹介は後々という事で・・・
- Newer >: 他人がFirefoxSyncのパスワードをリセットしまくっている件
- < Older: スマートフォンオプションでSSHA形式のパスワードを使用する
ping a Trackback
- TrackBack URL for this entry.(1)




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。