いけてない ManifoldCF

最近 Apache ManifoldCF のパッチワーカーをやってます。
対応コネクタが豊富だし GUI で設定出来るしで結構使えるのですが、
一番の難点がドキュメントの不備だと思います。
どんなに便利で有能だったとしても使い方が判らなければ使い物になりません。

一応、公式サイトには HTML と PDF でユーザマニュアルが置いてあるのですが、
これが数年前から未更新のために最新仕様に追随出来ていません。
これでは折角の機能も全くの無駄になってしまいます。

という訳で、有用そうなのに使われていない機能を紹介していきたいと思います。
まずは JCIFS による Windows 共有からのクロール (ファイル収集) です。

「ManifoldCF JCIFS」で検索すると下記のロンウィットページが上位に出ますが、
これは情報が古過ぎて使えないので参考にしないで下さい。
Apache ManifoldCF -セットアップ-

Windows 10 以降の SMB/CIFS 3.x からクロールするには下記手順に従って下さい。

  1. jcifs-ng の JAR ファイルを Maven リポジトリからダウンロード。
    https://mvnrepository.com/artifact/eu.agno3.jcifs/jcifs-ng
    バージョン番号 (*1) をクリック→「bundle」をクリック。
  2. ダウンロードした JAR ファイルを下記ディレクトリにコピー。(リネーム不要)
    (ManifoldCF ホーム)/connector-lib-proprietary/
  3. 下記ファイルを編集。
    (ManifoldCF ホーム)/connectors.xml
  4. 下記一行を編集しコメントアウトを外す。
    <!--repositoryconnector name="Windows shares" class="org.apache.manifoldcf.crawler.connectors.sharedrive.SharedDriveConnector"/-->

    <repositoryconnector name="Windows shares" class="org.apache.manifoldcf.crawler.connectors.sharedrive.SharedDriveConnector"/>
  5. ManifoldCF を再起動。

(*1) どのバージョンが ManifoldCF で対応しているかが明示されていないため、
最新版から順に試してみる以外の確認手段がありません。
因みに ManifoldCF 2.18 は jcifs-ng-2.1.2 に対応していますが、
どうしても判らなければソースパッケージの build.xml で調べましょう。
(2021/02/24 追記)
2.18 は 2.1.2 用にビルドされているのですが、実際に試してみたところ 2.1.4 まではそのままで動きました。2.1.5 は残念ながらエラー画面を生じさせます。

これで ManifoldCF のリポジトリコネクション一覧に「Windows Share」が追加されます。
注意すべき点としては、ジョブ設定画面の「セキュリティ」タブでは、
必ず「共有セキュリティ (Share security)」を無効にして下さい。
多分、古い SMB1 用の設定なので、最近の Windows 共有ではエラーになります。
ユーザマニュアルにもその旨がしれっと書かれているんですが、
まず気づかないと思うのでお気をつけ下さい。

最近 Apache ManifoldCF のパッチワーカーをやってます。
対応コネクタが豊富だし GUI で設定出来るしで結構使えるのですが、
一番の難点がドキュメントの不備だと思います。
どんなに便利で有能だったとしても使い方が判らなければ使い物になりません。

一応、公式サイトには HTML と PDF でユーザマニュアルが置いてあるのですが、
これが数年前から未更新のために最新仕様に追随出来ていません。
これでは折角の機能も全くの無駄になってしまいます。

という訳で、有用そうなのに使われていない機能を紹介していきたいと思います。
まずは JCIFS による Windows 共有からのクロール (ファイル収集) です。

「ManifoldCF JCIFS」で検索すると下記のロンウィットページが上位に出ますが、
これは情報が古過ぎて使えないので参考にしないで下さい。
Apache ManifoldCF -セットアップ-

Windows 10 以降の SMB/CIFS 3.x からクロールするには下記手順に従って下さい。

  1. jcifs-ng の JAR ファイルを Maven リポジトリからダウンロード。
    https://mvnrepository.com/artifact/eu.agno3.jcifs/jcifs-ng
    バージョン番号 (*1) をクリック→「bundle」をクリック。
  2. ダウンロードした JAR ファイルを下記ディレクトリにコピー。(リネーム不要)
    (ManifoldCF ホーム)/connector-lib-proprietary/
  3. 下記ファイルを編集。
    (ManifoldCF ホーム)/connectors.xml
  4. 下記一行を編集しコメントアウトを外す。
    <!--repositoryconnector name="Windows shares" class="org.apache.manifoldcf.crawler.connectors.sharedrive.SharedDriveConnector"/-->

    <repositoryconnector name="Windows shares" class="org.apache.manifoldcf.crawler.connectors.sharedrive.SharedDriveConnector"/>
  5. ManifoldCF を再起動。

(*1) どのバージョンが ManifoldCF で対応しているかが明示されていないため、
最新版から順に試してみる以外の確認手段がありません。
因みに ManifoldCF 2.18 は jcifs-ng-2.1.2 に対応していますが、
どうしても判らなければソースパッケージの build.xml で調べましょう。 

これで ManifoldCF のリポジトリコネクション一覧に「Windows Share」が追加されます。
注意すべき点としては、ジョブ設定画面の「セキュリティ」タブでは、
必ず「共有セキュリティ (Share security)」を無効にして下さい。
多分、古い SMB1 用の設定なので、最近の Windows 共有ではエラーになります。
ユーザマニュアルにもその旨がしれっと書かれているんですが、
まず気づかないと思うのでお気をつけ下さい。