UploadDirプラグイン

はじめに

Movable Typeでファイルをアップロードする時に、ファイルの拡張子によってアップロード先のディレクトリを自動的に切り替えるプラグインです。

動作条件

本プラグインは Movable Type 7 以上で動作します。

インストール

本パッケージに含まれる「plugins」ディレクトリ内のディレクトリ「UploadDir」を、Movable Typeインストールディレクトリの「plugins」ディレクトリの下にコピーしてください。
Movable TypeをPSGI/Plack環境で実行している場合、プラグインのインストールを認識させるためにアプリケーションのリロードが必要になる場合があります。
作業後、Movable Typeのシステム・メニューのプラグイン管理画面を表示し、プラグインの一覧に「UploadDir」が表示されていることを確認してください。これで設置完了です。

使い方

アセットのアップロード」画面やコンテンツ編集画面でファイルのアップロードを行うと、アップロード先のディレクトリがファイルの拡張子に応じて自動的に切り替わります。
「サブディレクトリを拡張子によって決定します」のチェックをはずすことで、この機能を無効化することもできます。

拡張子ごとのアップロード先ディレクトリの変更を行いたい場合には、各サイトのプラグイン設定画面で変更を行います。
標準の設定は次のようになっています:

audio:mp3,wma,m4a,midi,wav,aiff
videos:mp4,m4v,mpeg,avi,mov,wmv
images:jpe?g,png,gif,bmp
text:txt
docs:pdf,docx?,xlsx?,pptx?
src:pl,c,cc,rb,py,rs,go,js,css,html?,xml,php
archive:bz2,cab,gz,jar,lzh,rar,tar,taz,zip

1行につきひとつのディレクトリについての設定が記述され、行ごとの書式は次のようになっています。

[ディレクトリ名]:[拡張子],[拡張子],[拡張子],[拡張子],[拡張子],[拡張子]

拡張子は正規表現で記述することができます。また拡張子に「.(ピリオド)」を含めないようにしてください。

テンプレートタグの使用

プラグインの設定には、テンプレートタグを使用することができます。
例えば次のような記述が可能です。

<$mt:Date format="%Y"$>/images:bmp,jpg,jpeg,gif,png
<$mt:AuthorBasename$>/docs:pdf,doc,xls,ppt

テンプレートタグを使用した設定は、画面のロードのたびにビルドされ、アップロード画面に応じた設定が反映されるようになります。
ビルドに失敗した場合、アップロード画面の表示自体に影響を与えますので、テンプレートタグを用いる場合には、慎重に動作確認を行うことをおすすめします。

設定に使用できるタグはサイト・ユーザーに関連するもののほかに、アクセス中の画面に応じて、コンテンツタイプ関連のタグを用いることができます。

MT7.0以降で使用できるテーマ「Jungfrau」を例にすると、次のような設定の記述が可能です(v0.9時点)

<mt:If tag="ContentTypeName" eq="イベント・セミナー">
event/docs:pdf,docx?,xlsx?,pptx?
event/images:jpe?g,png,gif
<mt:ElseIf eq="ニュース">
news/docs:pdf,docx?,xlsx?,pptx?
news/images:jpe?g,png,gif
<mt:ElseIf eq="プレスリリース">
press/docs:pdf,docx?,xlsx?,pptx?
press/images:jpe?g,png,gif
<mt:ElseIf eq="会場">
location/docs:pdf,docx?,xlsx?,pptx?
location/images:jpe?g,png,gif
<mt:ElseIf eq="講師">
teacher/docs:pdf,docx?,xlsx?,pptx?
teacher/images:jpe?g,png,gif
<mt:Else>
docs:pdf,docx?,xlsx?,pptx?
images:jpe?g,png,gif
</mt:If>

※ バージョン0.76で実装されたコンテンツフィールドとカスタムフィールド関連のタグの使用については、Movable Type 9 への対応に伴い廃止されました。バージョン0.90以降では使用できませんのでご注意ください。

更新履歴

このプラグインの使用、及び著作権や保証について

Movable Type のユーザーは目的を問わず、お使いのMovable Typeに本プラグインを無償でインストールし使用することができます。
このプラグインの著作権はM-Logic, Inc.が所有しています。著作権者の許可なく本プラグインを改変、再配布することはできません。
またM-Logic, Inc.は本プラグインの使用に関する一切の保証とサポートを行いません。

連絡先

作者:M-Logic, Inc.