Wednesday, January 22, 2014

LiferayでWebDAVを使おう!

こんにちは。2日連続で自転車トラブルのおおたにです。昨日はタイヤチューブが破裂し、本日はスタンドの金属が破断しました。2日連続で自転車屋に修理を依頼したのでさすがの店員さんもびっくりしていました(自分はそれ以上にスタンドが破断したこと自体に驚いていますが…)。

さて、今回はLiferayにWebDAVアクセスしてみようということで、その利用方法やありがちな失敗/TIPSなどを紹介させていただきます。


WebDAVとは?LiferayのWebDAVアクセス機能とは?


WebDAVとは、ファイル管理のためにHTTPを拡張した仕様のことです。HTTPを利用してWebサービス上のファイルを管理することができます。LiferayもこのWebDAVのインターフェースを実装しており、Liferayの「ドキュメントとメディア(Documents and Media) 」ポートレットが管理するファイルにアクセスすることができます。

WebDAVインターフェースを利用するメリットは、よりシンプルなクライアントを利用してLiferayにアクセスできるという点にあります。例えば、Windowsクライアントを利用しているユーザであれば、ネットワークドライブにマップすることで、Windowsのエクスプローラから通常のファイルと同様にLiferayが管理するファイルを操作することができます。ファイルの読み書きだけを行うライトユーザはエクスプローラを利用し、その他のLiferayに関わる作業を行うヘビーユーザはブラウザを利用する、などの使い分けが考えられます。


LiferayにWebDAVアクセスしてみよう



では、早速LiferayにWebDAVアクセスしてみましょう。以下では、WindowsクライアントでLiferayのWebDAVインターフェースをネットワークドライブに割り当てる方法を説明します。

1. LiferayのDocuments and Mediaポートレットで、WebDAVアクセスのURLを確認する。Documents and Mediaポートレットのフォルダやファイルのコンテキストメニューにある「デスクトップからのアクセス」をクリックし、表示されたURLをコピーします。ルートフォルダにアクセスしたい場合は、ルート直下のフォルダのURLから、そのフォルダ名のパスを消したURLを用います(例えばhttp://localhost:8080/api/secure/webdav/guest/document_library など)



2. Windowsエクスプローラで「ネットワークドライブの割り当て」をクリックします。



3. ドライブを適宜選択し、フォルダーに1.でコピーしたURLを貼り付けます。「別の資格情報を使用して接続する」にチェックを入れて「完了」をクリックし、認証ダイアログにLiferayのログイン情報を入力します(以下の例ではローカルPCにLiferayをインストールしてるのでlocalhost:8080になってます)。



4. 以下のように割り当てが正常終了し、Liferay上のファイルがエクスプローラに表示されればOKです。



うまくWebDAVアクセスできない場合


いくつかの原因が考えられます。以下に、ありがちな原因をLiferayの内外に問わずいくつか挙げてみました。

Windows XP, Windows Vista等でうまくWebDAVアクセスできない


Windows7以降にアップグレードしてください、では元も子もないですが…。Windows XP, Windows Vista, Windows Server 2003ではKB907306のパッチをあてることでWebDAVアクセスできるようになる可能性があります。

非SSL環境下のLiferayにWindowsからWebDAVアクセスできない


デフォルト設定のWindowsではHTTPでWebDAVアクセスできません。なので、サーバ側をSSL化するか、Windowsクライアントのレジストリを変更する必要があります。レジストリの変更手順は以下のとおりです。

1. スタートメニューの「コマンド名を指定して実行」から「regedit」を実行する。
2.  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parametersを開く。
3. BasicAuthLevelを2に変更する(デフォルトは1)。

各種ブラウザやネットワークドライブなど、全てのWebDAVクライアントからアクセスできない(バージョン6.2より古いLiferayを利用している場合)


LiferayのバグLPS-39324に起因している可能性があります。Liferay 6.2以降にアップグレードするか、JAVAの起動オプションで指定するパラメータを変更する必要があります。

JAVAの起動オプション(Tomcatバンドル版だと<TOMCAT_DIR>/bin/setenv.shもしくはsetenv.batのJAVA_OPTS)で-Duser.timezoneがGMT以外に指定されている場合はGMTに変更してLiferayを再起動します。


まとめ


今回は主にWindowsクライアントを使っての説明になりましたが、もちろんMac OS XのFinderやLinuxでも同様の使い方ができます。WebDAV機能はLiferayインストール直後から有効になっていますので、是非試してみてください。

1 comment:

  1. 便利ですね!
    CMISで同じ機能が実現されたら完璧です。

    ReplyDelete