mediawikiのファイルアップロードをdrag&dropに対応させる

スポンサーリンク

wikipediaさんのお陰でmediawikiのメンテナンスが頻繁に行われているので安心して使える。
700円寄付もしないとね。confulenceも良いけど値段が値段なのでmediawikiが庶民には優しい。

mediawikiのファイルアップロード

  • ファイルアップロードが結構面倒
  • 今風にdrag&dropでアップロードしたい

extensionsを探す

  • MsUpload
    Msって付くくらいだからwindows用?
    Ms以外でも使える

MsUploadをインストールする

mediawikiのインストールディレクトリは管理が楽なのでgit管理している

git init

MsUploadをextensionsにcloneする

git submodule add https://git.wikimedia.org/git/mediawiki/extensions/MsUpload.git extensions/MsUpload

LocalSettings.php編集

基本的に以下の一行だけで動く
他のオプションはこちらを参照

require_once "$IP/extensions/MsUpload/MsUpload.php";

PHP Fatal error: Class 'DOMDocument' not found が出た場合の対策

centosなら以下のパッケージインストールで解消する

sudo yum install php-xml
# アプリケーションサーバの再起動が必要
# php-fpmの場合
sudo /etc/init.d/php-fpm restart

日本語環境の場合の対応

アップロードしたファイルにはファイル:のネームスペースが付くが、MsUploadのは:File:となっているので修正が必要

diff extensions/MsUpload/MsUpload.js{.orig,}
32c32
<               mw.toolbar.insertTags( '*[[:File:' + filesArray.join( ']]\n*[[:File:' ) + ']]\n', '', '', '' );
---
>               mw.toolbar.insertTags( '*[[ファイル:' + filesArray.join( ']]\n*[[ファイル:' ) + ']]\n', '', '', '' );
360c360
<                                               mw.toolbar.insertTags( '[[:File:' + file.name + ']]', '', '', '' ); // Insert link
---
>                                               mw.toolbar.insertTags( '[[ファイル:' + file.name + ']]', '', '', '' ); // Insert link

MsUploadで画像をアップロードしてみる

編集画面にmsu-dropzoneってのが出現する

スクリーンショット 2015-07-23 16.54.35

画像をdropしてみる

スクリーンショット 2015-07-23 16.56.12

msu-upload-thisをクリックするとアップロードが実行される

スクリーンショット 2015-07-23 16.57.11

msu-insert-linkをクリックすると画像タグが挿入される

スクリーンショット 2015-07-23 16.58.34

通常の手順を踏むよりかは幾分楽になった

コメント

タイトルとURLをコピーしました