2005年05月13日
DNKAプラグイン - Subversion-GDSドキュメント管理の最後の1パーツ
ここからここあたりでおいかけてきたSubversionのレポジトリ内をGoogle Desktop Searchで検索できるようにする話ですが、
その後レポートしてなかったもののある程度進んでいて、WebDAV経由でSubversionレポジトリをネットワークファイルシステムとして登録できるようにして、その際に生じる日本語文字コードの問題もmod_encodingで解決して、WebDriveでWebDAVフォルダをネットワークドライブとして認識させて(これのみ有償ツール、個人使用で5000円ほど)、レジストリ書き換えでネットワークドライブをGDSのインデックス対象にして...と言った感じで着々と進めてきてた。
最後の1パーツとして、GDS検索画面のリモートPCへの開放があったんだけど、そこで一つ悩ましかったのが、単に逆プロキシでGDS画面をリモートに公開しても、検索結果はGDSの走っているマシンから上でのローカルパスで表示されるので、リモートから検索は出来ても検索結果にアクセスできないという問題があった。
Apacheをフックして、ローカルパスを強制的に書き換えるスクリプトをperlで書いてやろうかとか考えていたんですが、今日なにげなくGDSのプラグインページを覗いていると、すごいツールを見つけてしまいました。
DNKAという、GDSの画面をリモートからでも接続できるようにしてくれるツールなのですが、単にリモートからのアクセスを許可するだけでなく、その際に生じる様々な問題点もかゆいところに手が届くような感じで解決してくれるツールなのです。
まず、リモートへの公開範囲を、IPアドレスの範囲指定で細かく制御できます。
そのような設定を行うには、GDS画面上から設定ができると誰でも設定できて危ないことこの上ないですが、その辺はきちんと、管理人用パスワードの設定ができるので心配ありません。
かしこいのは、DKNA独自の設定画面だけでなく、GDS元々の設定画面(検索対象ファイル等を設定するところ)についても、きちんと管理人パスワードで保護してくれるところです。
また、GDSの公開ポートや、GDS自体へのアクセスを匿名アクセスを許さず要認証にしたりと、そんな設定もでき、アクセスログやアクセス拒否ログ等も確認することが出来ます。
まあそんな感じでGDSをリモートに公開したとしましょう。
先にも書いたとおり、単にGDSのローカルパスでの検索結果を表示しただけでは、リモートからではアクセスできないので役に立ちません。
そんな問題にもきちんと対処してくれていて、リモートからのアクセスの場合、ローカルパスへのリンクを、全てWeb上での該当フォルダのインデックス表示に切り替えてくれるのです。
これでリモートからでもアクセスできる、というわけです。
日本語フォルダ名・ファイル名も問題なく、また深い階層についても、日本語で15文字程度のフォルダ名を6段くらい連ねて、URLの長さが1000バイト弱になるくらいの深さでアクセスしてみましたが、問題なく取れるようでした。
(ただし、例えばExcelファイルを直接開こうとすると、これはDNKAではなくExcel側の仕様で、URLで255バイトを超えるWeb上のExcelファイルを開こうとするとエラーになるようです。そんなこんなあるので、直接開くよりダウンロードした方がよいです。)
とってもかしこい。
(あ...でも今セキュリティ上の問題点発見。
http://GDSサーバ:4664/filesystem/C/...とかすると、GDSのインデックス対象にされているか否かに関わらずサーバ上のドライブが全部表示されてしまうようです。この辺、公開範囲を制御できるような設定が必要ですな)
他にも、普通はGDSをインストールした時に1回限りしか行ってくれないインデックス作成作業、むりやり再度やらせようとすればこちらに書いたようにレジストリ操作する、とかしか方法がなかったわけですが、再インデックスしたいドライブ・フォルダを指定しての再インデックスを強制する機能も、DKNAにはついています。
すごくかゆいところに手が届く、すぐれものツールです。
そんなこんなで、詳しい構築方法レポートとかは別の機会に譲りますが、システム構成としては

こんな感じで、最新レポジトリをGDS検索できるSubversionファイルサーバができた感じです。
...でも、ちょっと気になるのが、GDSでインデックスしてくれてるのはいいんだけど、どうも本文がインデックスの対象になっておらず、ファイル名等だけでインデックスされているっぽい。
ファイル名に検索語が入っているものは、Subversion内のファイルもちゃんと検索結果に乗ってくるんだけど、本文に入っているものが検索結果にあがってこない。
この原因については、引き続き調査しますです。
[composed and posted with ecto]
Excerpt: 前々から部内ネットワークに全文検索を導入したかったんですが、これというものが無くて探していました。 (もちろん有料であればいろいろあるんですけど)
Weblog: blog:ポケットアルバム
Tracked: 2006年02月18日 19:04
Excerpt: 図書管理システム -hata's LABlog- どっかの記事...
Weblog: ここギコ!
Tracked: 2006年04月24日 00:32
![[ここギコ!]](http://kokogiko.net/logo.png)





・MovableType 3.2、MT::App::Trackback.pmの修正(selvirremdor)
・MovableType 3.2、MT::App::Trackback.pmの修正(antulaseesi)
・3D PaPaGO! 登場(pereezdkv)
・MovableType 3.2、MT::App::Trackback.pmの修正(spezinstr)
・MovableType 3.2、MT::App::Trackback.pmの修正(dimdimov)
・MovableType 3.2、MT::App::Trackback.pmの修正(deanteywee)
・MovableType 3.2、MT::App::Trackback.pmの修正(keyjiolso)
・MovableType 3.2、MT::App::Trackback.pmの修正(leyliautumfe)
・MovableType 3.2、MT::App::Trackback.pmの修正(selvirremdor)