概要
UploadUtilities プラグインは、アセットのアップロード画面を拡張して、以下の機能とインターフェイスを提供します。
- 拡張子によってアップロードディレクトリを振り分ける機能
- アップロードするファイルのステータスを指定する機能
- アップロードするファイルの公開日(公開予約日)、公開終了日を指定する機能
- 同じパスのファイルを上書きするオプション
- ZIPファイルをサーバー上で展開して、個々のアセットとして登録する機能
- アセットにタグを追加する機能
- タグの入力補助インターフェイスを提供
- オブジェクトのステータスとアセットのステータスを同期する機能
プラグイン設定
- システム設定を利用する(スペースの設定でのみ指定可能)
- 保存先ディレクトリ振り分けを有効にする
- 設定(1行につき1ディレクトリの設定を「ディレクトリ名 : 拡張子, 拡張子, 拡張子」形式で指定します)
- ステータス指定を可能にする
- 公開日指定を可能にする
- 公開終了日指定を可能にする
- 同じパスのファイルの上書きを可能にする
- マルチバイト文字を含むファイル名をそのままアップロード可能にする
- ZIPファイルの展開を可能にする(モーダル・ダイアログ内では利用できません)
- オブジェクトのステータスとアセットのステータスを同期
各設定およびアップロード画面での動作
保存先ディレクトリ振り分けを有効にする
- アップロード画面でチェックを入れると、設定に応じて拡張子ごとにアセットの保存ディレクトリが自動で振り分けられます。
- 該当の設定がない時は、「アップロード・パス」で指定したディレクトリに保存されます。
- 設定を表示 アイコンをクリックすると現在の設定を表示します。
ディレクトリ振り分け設定の例 (初期値)
images : jpeg, jpg, png, gif, jpe
videos : mov, avi, qt, mp4, wmv, 3gp, asx, mpg, flv, mkv, ogm
audios : mp3, mid, midi, wav, aif, aac, flac, aiff, aifc, au, snd, ogg,wma, m4a
files : pdf, doc, docx, ppt, pptx, xls, xlsx
ステータス指定を可能にする
- ステータス選択のドロップダウンが管理画面に追加されます。ドロップダウンの選択肢は権限に応じたものとなります。
公開日指定を可能にする
- ステータス選択のドロップダウンで「公開予約」を選択した時、公開日付入力欄が表示されます。
公開終了日指定を可能にする
- アップロード画面でチェックを入れると、公開終了日付入力欄が表示されます。
同じパスのファイルの上書きを可能にする(環境変数 asset_overwrite の指定がある場合はそちらが優先されます)
- アップロード画面でチェックを入れると、アップロード先のパスにすでに既存のアセットが存在する時、リネームせずに上書きされます。
- この時、アップロードしたファイルのデータがオリジナルのアセットと異なる場合には、オリジナルのオブジェクトは上書きされたアセットのリビジョンとして保存されます。
- アセットにラベル、altテキスト用の代替テキスト欄の値が指定されている時、この値はそのまま保持されます。
- オリジナルのアセットのステータスがユーザーの権限で指定できない値である時は、エラーとなり上書きできません。
マルチバイト文字を含むファイル名をそのままアップロード可能にする
- 通常、ファイル名に含まれるマルチバイト文字はアップロード時に URLエンコードされますが、アップロード画面でチェックのある時エンコードされなくなります。
タグ付けを可能にする
- アップロードするアセットにセットするタグを入力する欄を追加します。
タグの入力補助を利用する
- 登録されているタグを一覧表示し、チェックボックスによって選択可能にします。
ZIPファイルの展開を可能にする
- アップロード画面でチェックを入れると、ZIPファイルをサーバー上で展開して、個々のアセットとして登録します。
- この時、アップロード・パスはZIPファイル生成時のパスとなり、管理画面の「アップロード・パス」や「保存先ディレクトリ振り分けを有効にする」の設定は無視されます。
- 「同じパスのファイルの上書きを可能にする」にチェックのある場合は、展開後のファイルと同様のパスのアセットを上書きします。
- インポートディレクトリ(環境変数import_pathsで指定)にZIPファイルがある時、ZIPファイルを選択するドロップダウンが表示されます。
オブジェクトのステータスとアセットのステータスを同期
- 指定したモデルに関連づいているアセットのステータスをオブジェクトのステータスと同期します。
- 選択できるモデルは、リレーション名「assets」のカラムと「status」カラムと「has_deadline」カラムのあるモデルです。
- 他のオブジェクトで利用されている場合、すべてのオブジェクトのステータスが一致した時のみ同期します。
以下のケースには対応していません。
- 「画像」「ファイル」「画像(複数)」「ファイル(複数)」以外のフィールド(カスタムフィールド)で独自に作成したフィールドでの関連付け
- リレーション名「assets」のカラムと「status」カラムと「has_deadline」カラムではないカラムでの関連付け
尚、最新版にて「オブジェクトの公開時はステータス同期を強制する」「公開されたアセットのステータスを変更しない」の2つの設定が追加されました。