DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


ja:plugin:preservefilenames

ファイル名保存プラグイン

互換性のある DokuWiki バージョン

2009-12-25, 2010-11-07, 2011-05-25, 2012-01-25, Adora Belle

plugin アップロードされたメディアファイルの元の名前を保存します(大文字小文字、記号等)

最終更新日
2012-10-01
種類
Action, Render
リポジトリ
ソース
競合
any_wysiwyg_editors

この拡張は二年以上更新されていません。もはや維持管理や対応がされておらず、互換性に問題がある可能性があります。

This extension is not in the 'plugin' or 'template' namespace and is therefore ignored.

タグ file, media

ダウンロードとインストール

Angua! 非互換 アップデートが遅くてごめんなさい! ;-)

以下の URL からプラグイン管理を使用して、 ダウンロードとインストールしてください。

:!: プラグイン管理を使用することが、奨励された手段です。 手動インストールの場合、展開したディレクトリ名を “preservefilenames” に変更する必要があります。 その場合、プラグイン の手動インストール方法を参照してください。

変更履歴:

概要

DokuWikiのデフォルトでは、メディアファイル名をページ名にある正規化方法で正規化します。

例えば、“[DW] My DokuWiki Stuff.zip” という名前のメディアファイルは、 “dw_my_dokuwiki_stuff.zip” と正規化されます。 そして、この正規化された名前で DokuWiki サーバー上のファイル·システム内にファイル実体を格納します。 しかし、ファイル名に大文字、記号や空白を使用したい場合もあります。

このプラグインをインストールすると、 正規化された名前の代りに元の名前でアップロードされたメディアファイルを使用できます。 ファイル名の大文字小文字、スペース、記号、マルチバイト文字がすべて保存されます。

機能

ファイル名の保存

このプラグインは、アップロードファイルの元の名前の保存・取得にメタファイルを使用します。

保存処理:

  • 発生条件:
    • DokuWiki のアップロードインターフェースを通してファイルがアップロードされる。
  • 処理の詳細:
    1. DokuWiki のアップロードインターフェースを通して、ユーザーがファイル(例:"[DW] My DokuWiki Stuff.zip")をアップロードする。
    2. DokuWiki はファイル名を "dw_my_dokuwiki_stuff.zip" に正規化する。
    3. DokuWiki は "data/media/dw_my_dokuwiki_stuff.zip" にファイルを格納する。
    4. プラグインは "data/media-meta/dw_my_dokuwiki_stuff.zip.filename"1) というメタファイルを作成する。
    5. プラグインはメタファイルに元の名前を格納する。

取得処理:

  • 発生条件:
    • Wiki ページ上で表示文字指定のないメディアリンクに表示文字を補完する。
    • メディアマネージャー上でファイル一覧を表示する。
    • メディア·マネージャの javascript を利用して、選択したメディアファイル構文を Wiki テキストに挿入する。
    • ファイル名を設定したメディアファイルをダウンロードする。
  • 処理の詳細:
    1. プラグインはメディアファイルのメタファイルがあるかを確認する。
    2. メタファイルが存在する場合、プラグインは、正規化ファイル名を元のファイル名に置き換えます。

DokuWiki のデフォルトの動作として、 {{:[DW] My DokuWiki Stuff.zip}} のような構文で書かれたメディアリンクを {{:dw_my_dokuwiki_stuff.zip}} のような正規化されたメディアIDとして認識します。 また、このプラグインは、DokuWikiのデフォルトのファイル格納方法を使用して (例えば、正規化ファイル名として保存する)アップロードされたメディアファイルを格納します。

ですから、気に入らなかった場合、 このプラグインは安全にアンインストールできますし、副作用もありません。

ダウンロード時のより良いファイル名処理

このプラグインは、PHP Bug #37738 を解決し、 主にファイル名の中の東アジア文字の正しい取り扱いのために RFC 2231 style Content-Disposition header を導入します。

DokuWiki サイト上に “日本語.zip” という名前のメディアファイルがあり、ダウンロードしようとした場合、ほとんどの最新ブラウザで、 “%E6%97%A5%E6%9C%AC%E8%AA%9E.zip” という URLエンコードや文字化けしたファイル名を見ることなく、 正しいファイル名を持つファイルをダウンロードすることができます

このプラグインをインストールすれば、 例えば、“_1.txt” や文字化けファイル名ではなく “文書_1.txt” として 以下のスニペットをダウンロードできます。

文書_1.txt
Sample text

設定

このプラグインに、設定項目はありません。

注意

  • 設定項目: refcheck は、DokuWikiの特殊文字(空白、括弧など)が名前に含まれているメディアファイルに対してたぶん機能しません。
  • ファイル名を保存したい場合、FTP や他の「直接的な」アップロード方法を使用できません。元のファイル名を格納するのにメタデータを使用しているので、メタデータを設定するために DokuWiki の通常のファイルアップロードインターフェース(マルチアップローダーを含む)を使用する必要があります。
  • 元のファイル名が異なっていても、同じメディアIDに正規化されるかどうかに注意する必要があります。例えば、DokuWiki は [1].txt(1).txt を同じ 1_.txt に正規化します。同じ名前空間に両方のファイルをアップロードすることはできません。

感想

どんな感想も歓迎します。 感想は、 Issue Tracker に送ってください。

1)
DokuWiki Rincewind 以前の場合、プラグインはメタファイルを格納するために data/media-meta/ の代りに data/meta/ を使います。
ja/plugin/preservefilenames.txt · 最終更新: 2013-08-29 17:16 by Aleksandr

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki