2020年2月17日月曜日

Alfresco Community v6.2.0でBulk Filesystem Import Toolを使用してみました。

社内の文書を管理するソフトで色々探していましたが、無料で高機能なAlfresco Community に行き着きました。インストールでも初心者のわたしは手こずりましたが、最終的に、英語を恐れず、本家本元の指示に従って操作することが一番の近道でした。
オレンジ色のログイン画面が表示できて一安心しましたが、現在の大量のファイルをタイトル(説明文)と一緒にインストールできないか探したところ、

こちらのページを見つけました。
https://www.slideshare.net/MoritakaSoma/alfresco-bulk-import-tool

メタデータと一緒にインポートすることで、タイトルも取り込めるとのことで早速挑戦しようとしましたが、実際の方法を見つけるまで3日かかりました。日本語の情報はあまり見当たらなかったので、素人らしい手法で無理矢理解決した点を覚書として書き残しておきます。

私の環境(テスト環境)
  • ホストOS windows10Pro 1909
  • ゲストOS ubuntu server18.04(Hyper-V)
  • Alfresco dockerによる仮想環境に構築

必要条件

docker内のコンテナ"alfresco-content-repository-community"へ直接該当ファイルとxmlデータをコピーするか、マウントでローカル環境を構築しなければならない。

1.WindowsとUbuntuのファイル共有

ホストOSとゲストOSでまずはファイル共有を行うにあたり、"cifs-utils"を用いました。
詳しくは、ネット上に散見されますので、ご参照ください。

私は、下記のように設定しました。
sudo mount -t cifs -o username=○○,password=○○ //windowsのIPアドレス/alfresco /usr/local/tomcat

 2.Ubuntuとdocker内のコンテナのファイルのやりとり

上記により、windowsの共有フォルダをubuntuへマウントできましたので、このファイルをdockerのコンテナへ移す必要があります。何度も繰り返すのであれば、さらにubuntuとdocker内の共有環境を構築した方がいいのでしょうが、私にはハードルが高く、何度も行う作業ではないので、dockerのコンテナへファイルをコピーすることにしました。

docker cp /usr/local/tomcat/alfresco コンテナID:/usr/local/tomcat

3.Bulk Filesystem Import Toolを表示

ubuntuのIPアドレス:8080/alfresco/service/bulkfsimport

認証画面でadmin パスワードを入力

4.入力欄へ必要項目を入力

Import directory…alfresco (標準で/usr/local/tomcat/が追記される)
Target Space Path…shared/あらかじめ作成したフォルダ名(標準で/Campany Home/が追記される)

Initiate Bulk Importボタンを押すとインポートが始まります。ファイル量や環境によって変わりますが、私の場合、500のpdfファイルとメターデータで30秒程度です。

5.コンテナ内のファイルを削除

大量のデータをコンテナに残しておくのは、資源のムダです。削除したかったのですが、直接コンテナ内で操作しようとすると、ルート権限がなく、削除できませんでした。
しかし、ubuntuからdockerコマンドで削除できることにようやくたどり着きました。

docker exec -i -u root コンテナID rm -r /usr/local/tomcat/alfresco

以上です。