BulkLoader ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

BulkLoader の使用

 


概要

BulkLoader は、ファイルシステムからコンテンツとメタデータを BEA 仮想コンテンツ リポジトリにロードするコマンドライン アプリケーションです。

BulkLoader は、コンテンツを含むディレクトリ構造をスキャンし、そのコンテンツを指定のコンテンツ リポジトリにロードします。また、コンテンツをロードすると共に、準備されているメタデータ ファイルを読み込み、ロードした各コンテンツ項目にそのメタデータを関連付けます。メタデータ ファイルは、コンテンツ項目ごとに作成することも、複数の項目を含むディレクトリやサブディレクトリに対して作成することもできます。

注意 : BulkLoader は、単純なメタデータおよびバイナリ ファイルのアップロードのみをサポートします。ネストされたタイプおよびリンク プロパティなどの BEA リポジトリ機能はサポートされません。

BulkLoader でデータベース リポジトリにコンテンツをロードした場合、メタデータとバイナリ ファイルの両方がリポジトリに転送されます。ファイルシステム リポジトリにロードした場合は、メタデータだけがデータベースに転送され、実際のコンテンツ ファイルはファイルシステム上に残されます。

WebLogic Portal 9.2 で利用可能な高度なリポジトリ機能を使用するコンテンツのロードまたは転送を行う場合、伝播ツールを使用してください。

注意 : BulkLoader を使用して、ファイルシステム リポジトリ内の既存のコンテンツ (またはそのメタデータ) を更新することはできません。リポジトリに新しいコンテンツを追加する場合のみ使用できます。他のタイプの BEA リポジトリと同様に、Portal Administration Console を使用して新しいコンテンツを追加したり、既存のコンテンツを変更できます。

このドキュメントでは、BulkLoader の使用方法について説明します。このドキュメントは、以下のトピックで構成されています。

 


BulkLoader の使用準備

BulkLoader を実行する前に、リポジトリを作成し、適切なコンテンツ タイプを作成し、ディレクトリ構造にコンテンツを挿入し、メタデータ ファイルを準備する必要があります。

この節では、次のトピックについて説明します。

リポジトリの作成

BulkLoader は、事前に構成済みのコンテンツ リポジトリにコンテンツとメタデータをロードします。リポジトリの作成方法については、『WebLogic Portal のコンテンツ管理ガイド』を参照してください。

適切なタイプの作成

リポジトリに格納されるコンテンツは、それぞれ 1 つの「タイプ」に関連付けられます。タイプとは、それに関連付けられているコンテンツ項目の識別と説明に使用できる特定のメタデータ フィールドを含む定義です。BEA リポジトリには、定義済みのデフォルトのタイプがいくつかあります。たとえば、定義済みの image タイプには次の 3 つのメタデータ フィールドが含まれています。

独自のタイプを作成することも、定義済みのタイプを使用することもできます。タイプの作成方法については、『WebLogic Portal のコンテンツ管理ガイド』を参照してください。

注意 : コンテンツ項目に関連付けたタイプは、プライマリ プロパティを binary に設定して作成する必要があります。

コンテンツ ディレクトリの準備

BulkLoader は、指定のディレクトリ (および、デフォルトではサブディレクトリ) からすべてのコンテンツをコンテンツ リポジトリにロードします。コンテンツ リポジトリにディレクトリが自動的に階層ノード (フォルダ) として再作成されます。リポジトリにロードするディレクトリ構造には、リポジトリに追加するコンテンツだけを含める必要があります。BulkLoader では、このディレクトリ構造に含まれるすべてのファイルがロードされます。

ヒント : コマンドライン フラグを使用して、ファイル名のパターンに一致する特定のファイルまたはフォルダを含める、または無視するように、BulkLoader をコンフィグレーションすることができます。

メタデータ ファイルの準備

リポジトリ内のコンテンツはそれぞれ特定の「タイプ」に関連付けられています。タイプには、デフォルトのユーザ定義プロパティが含まれています。このプロパティ (メタデータ) を使用して、リポジトリ内のコンテンツ項目を識別および検索することができます。

BulkLoader では、個々のファイルや、複数のファイルを含むディレクトリを自動的に特定のタイプに関連付けることができます。この節では、この 2 つの関連付けについて説明します。また、ライブラリ サービスが有効になっているリポジトリにメタデータを追加する方法と、メタデータ ファイルに正しく名前を付けて格納する方法についても説明します。

複数のファイルを含むディレクトリのメタデータの定義

1 つのディレクトリ (および、デフォルトではそのサブディレクトリ) に含まれるファイルがすべて同じタイプであることがわかっている場合、そのタイプを指定すれば、リポジトリに格納されるときにすべてのファイルにそのタイプが関連付けられます。それには、関連コンテンツが含まれるルート ディレクトリに dir.md.properties というファイルを置きます。このファイルには次の 1 行を記述します。

nodeType=type

ここで、type はコンテンツに関連付けるタイプの名前です。次に例を示す。

nodeType=image

デフォルトでは、ディレクトリとそのサブディレクトリ内のすべてのコンテンツがこのタイプに関連付けられます。サブディレクトリの 1 つに別の dir.md.properties ファイルが含まれていると、そのディレクトリとその中のすべてのサブディレクトリでは、このファイルに定義されているタイプで元のタイプがオーバーライドされます。さらに、filename.md.properties ファイルが含まれていると、その特定のファイルについては、dir.md.properties ファイルもオーバーライドされます。次に、filename.md.properties ファイルについて説明します。

特定のファイルのメタデータの定義

BulkLoader でロードする特定のファイルに対してメタデータを定義することもできます。それには、各コンテンツについて次のようなファイルを作成します。

filename.md.properties 

ここで、filename はメタデータを関連付けるファイルの名前です。このファイルには、タイプに関連するすべての名前と値のペアを含める必要があります。たとえば、Ad タイプには、次のエントリが関連します。

nodeType=Ad
height=65
width=115
adTargetUrl=
adTargetContent=
adWinClose=
adWinTarget=
adWinTitle=
adClickTarget=
adUseXhtml=
adAltText=BEA Logo
adMapName=
adMap=
adBorder=
audience=internal

これらのプロパティの一部またはすべてに値を追加して、ファイルを保存します。保存したファイルを、関連付けるコンテンツ項目と同じディレクトリに置きます。BulkLoader を実行すると、このメタデータは、指定のコンテンツ項目に永久に関連付けられて格納されます。

メタデータのガイドライン

ライブラリ サービスが有効になっているリポジトリのメタデータの作成

ライブラリ サービスが有効になっているリポジトリにコンテンツを格納する場合、各コンテンツ項目の filename.md.properties ファイルに lifecyclestatus キーを含める必要があります。lifecyclestatus キーは、コンテンツ項目のステータスを指定する次のような整数値を取ります。

表 1 ワークフロー ステータス
ワークフロー ステータス
指定する整数
下書き
1
レビュー準備完了
2
公開済み
4
廃棄済み
5

たとえば、Ad タイプには、次の md.properties エントリが関連します。lifecyclestatus エントリが含まれており、ステータスの値は 2 (レビュー準備完了) に設定されています。

nodeType=Ad
height=65
width=115
adTargetUrl=
adTargetContent=
adWinClose=
adWinTarget=
adWinTitle=
adClickTarget=
lifecyclestatus=2
adUseXhtml=
adAltText=BEA Logo
adMapName=
adMap=
adBorder=
audience=internal

その他のプロパティの一部またはすべてに値を追加して、ファイルを保存します。保存したファイルを、関連付けるコンテンツ項目と同じディレクトリに置きます。

注意 : ライブラリ サービスが有効になっているリポジトリにコンテンツをバルクロードするときは、コンテンツの追加のみを行えます。ライブラリ サービスを利用するとき、BulkLoader を使用して既存のコンテンツを更新できません。

メタデータ ファイルに名前を付けて格納

BulkLoader は、ディレクトリを処理するときに、メタデータ プロパティ ファイルをロードします。まず、ディレクトリから dir.md.properties というファイルを検索します。他にメタデータ ファイルがなく、オーバーライドが行われない場合は、これらのプロパティがそのディレクトリとサブディレクトリ内のすべてのコンテンツ項目に適用されます。特定のコンテンツ ファイルにメタデータ ファイルを関連付けることができます。このようなメタデータ ファイルは、同じディレクトリにあるファイルをオーバーライドします。特定のコンテンツ ファイルに関連付けるメタデータ ファイルは、次の命名規約に従って名前を付ける必要があります。

filename.md.properties

ここで、filename は関連付けるコンテンツ項目ファイルの名前です。次に例を示す。

logo.gif.md.properties

この場合、メタデータ ファイルは logo.gif という画像ファイルに関連付けられます。

注意 : デフォルトの拡張子 md.properties は、BulkLoader の -mdext パラメータを使用して、任意の拡張子に変更できます。

ヒント : デフォルトでは、BulkLoader はサブディレクトリに再帰を実行し、dir.md.properties ファイル内のプロパティがサブディレクトリのコンテンツに継承されます。この動作は、+recurse フラグ (再帰を無効にする) と +inheritProps フラグ (サブディレクトリのメタデータ プロパティの継承を無効にする) を指定することでオーバーライドできます。

メタデータの要約

要約すると、BulkLoader は以下のソースからコンテンツ メタデータをこの順序で収集します。

 


BulkLoader のコンフィグレーションと実行

通常、BulkLoader はスクリプトから実行します。このスクリプトは、各自の環境で実行できるように編集し、BulkLoader プログラム自体に渡すパラメータをカスタマイズする必要があります。この節では、以下について説明します。

注意 : メモリ不足エラーで BulkLoader が実行できない場合は、Java ヒープ サイズを増やしてください。BulkLoader スクリプトでこの設定を行うには、BulkLoader コマンドにパラメータとして -Xms<xxx>m を指定します。ここで、xxx はメガバイト数です。たとえば、-Xms1000m となります。

WebLogic Portal には次のスクリプトが用意されています。

Windows: Weblogic92\portal\bin/load_cm_data.cmd Unix: Weblogic92/portal/bin/load_cm_data.sh

この節では、以下について説明します。

注意 : BulkLoader を実行するには、WebLogic Server が起動されている必要があります。

環境の準備

BulkLoader スクリプトは、content.jarcontent_system.jar の 2 つの JAR ファイルにアクセスする必要があります。デフォルトでは、これらのファイルは wlp-services-app-lib.ear ファイルにあります。BulkLoader を使用する場合は、content.jar および content_system.jar ファイルを wlp-services-app-lib.earr から抽出する必要があります。ファイルの抽出後、それらのファイルのロケーションをクラスパスに追加することも必要です。これらの JAR ファイルは、BulkLoader の使用後に削除することができます。

  1. wlp-services-app-lib.ear ファイルに移動します (例 : c:\bea\weblogic92\portal\lib\modules\wlp-services-app-lib.ear)。
  2. JavaJar または WinZip を使用して content.jar および content_system.jar ファイルを wlp-services-app-lib.ear から抽出します。JAR ファイルを一時的な場所に抽出します。
  3. BulkLoader を使用するシステムのクラスパスに content.jar および content_system.jar ファイルを追加します。

BulkLoader スクリプトの編集

必要に応じて、デフォルトのスクリプトを変更する必要があります。WebLogic Portal には次のスクリプトが用意されています。

Windows: Weblogic92\portal\bin/load_cm_data.cmd Unix: Weblogic92/portal/bin/load_cm_data.sh
  1. スクリプトを編集するために、スクリプト ファイルを開きます。
  2. PLATFORM_HOME 変数を、インストールされている WebLogic Server を参照するように設定します。次に例を示す。
  3. PLATFORM_HOME=C:\bea\weblogic92
  4. CM_DATA 変数を、コンテンツ リポジトリにロードするコンテンツを含むディレクトリの親ディレクトリを参照するように設定します。たとえば、格納するコンテンツが D:\myContent\imagesimages というディレクトリにある場合は、CM_DATA を次のように設定します。
  5. CM_DATA=D:\myContent
  6. コマンド スクリプトに BulkLoader コマンド パラメータをコンフィグレーションします。コード リスト 1-1 は、サンプルのコンフィグレーションを示します。
  7. コード リスト 1-1 Bulkloader スクリプトの例
    %JAVA_HOME%\bin\java -classpath %CLASSPATH% com.bea.content.loader.bulk.BulkLoader -verbose -repository "MyRepository" -application portalApp -d %CM_DATA% file1 file2 filen

太字で示したパラメータについて、次の表 2 で説明します。

表 2
パラメータ
説明
-verbose
BulkLoader の実行時にメッセージを出力する。
-repository
コンテンツをロードするリポジトリの名前を指定する。
-application
実行しているリポジトリのポータル アプリケーションの名前を指定する。
-d
コンテンツ リポジトリにロードするディレクトリとファイルを含むベース ディレクトリを指定する。このオプションを指定しない場合は、カレント ディレクトリ (.) が使用される。このディレクトリは、リポジトリの作成時に定義した cm_fileSystem_path プロパティと同じ値にする必要がある。このオプションは、相対パスと絶対パスのどちらでも指定できる。
file1...filen
コンテンツ管理システムにロードするファイルやフォルダの名前。これらのファイルやフォルダは、ベース ディレクトリ (-d) を基準にした相対パスに存在すると想定される。
BulkLoader パラメータ

BulkLoader のすべてのパラメータについては、「BulkLoader のパラメータ リファレンス」を参照してください。

ヒント : BulkLoader スクリプトは、コマンドラインで実行することも、ファイル アイコンをダブルクリックして実行することもできます。

BulkLoader コマンドの例

注意 : BulkLoader コマンドのパラメータにワイルドカードや正規表現を使用することはできません。

次のコマンドは、D:\mediaImagesAudio、および Doc ディレクトリ内の全ファイルを再帰的にロードします。ImagesAudioDoc の各ディレクトリに dir.md.properties ファイルが含まれているか、これらのディレクトリ内の各コンテンツ項目に定義する filename.md.properties ファイルが配置されている必要があります。

コード リスト 1-2 BulkLoader コマンド スクリプトの例
%JAVA_HOME%\bin\java -classpath %CLASSPATH% com.bea.content.loader.bulk.BulkLoader -verbose -repository "MyRepository" -application portalApp -d D:\media Images Audio Doc

コード リスト 1-3 で示すコマンドは、D:\media\images のファイルをすべてロードします。サブディレクトリへの再帰は実行しません。*.info.properties の命名規約に準拠するメタデータ ファイルが認識されます。

コード リスト 1-3 BulkLoader コマンド スクリプトの例
%JAVA_HOME%\bin\java -classpath %CLASSPATH% com.bea.content.loader.bulk.BulkLoader -verbose -repository "MyRepository" -application portalApp -mdext info.properties +recurse -d D:\media images

 


BulkLoader のパラメータ リファレンス

表 3 BulkLoader の必須パラメータ
必須パラメータ
説明
-repository <repository name>
ローダを実行する対象リポジトリの名前。
-application <app name>
ローダを実行する対象アプリケーションの名前。
-url <wls url>
コンテンツ マネージャが実行中の WebLogic Server インスタンス ホスト。
-user <principal username>
ローダ EJB リソースにアクセスを許可されたプリンシパルのユーザ名。
-password <principal password>
ローダ EJB リソースにアクセスを許可されたプリンシパルのパスワード。
-d <dir>
コンテンツ リポジトリにロードするディレクトリとファイルを含むベース ディレクトリを指定する。このオプションを指定しない場合は、カレント ディレクトリ (.) が使用される。このディレクトリは、リポジトリの作成時に定義した cm_fileSystem_path プロパティと同じ値にする必要がある。このオプションは、相対パスと絶対パスのどちらでも指定できる。

表 4 BulkLoader の省略可能パラメータ
省略可能パラメータ
説明
-recurse
ディレクトリに再帰を実行する。[デフォルト]
+recurse
ディレクトリに再帰を実行しない。
-metaparse
HTML ファイルの META タグを解析する。[デフォルト]
+metaparse
HTML ファイルの META タグを解析しない。
-hidden
隠しファイルとディレクトリを無視する。[デフォルト]
+hidden
隠しファイルとディレクトリを含める。
-inheritProps
再帰を実行するときにメタデータ プロパティを継承する。[デフォルト]
+inheritProps
再帰を実行する際にメタデータ プロパティを継承しない。
-ignoreErrors
コンテンツをロードする際にエラーを無視する (エラーの報告は行われる)。
+ignoreErrors
エラーが発生した場合、処理を停止する。[デフォルト]
-htmlPat <pattern>
HTML ファイルを表すファイル拡張子を指定する。-metaparse フラグを設定した場合、この拡張子を持つファイルから <meta> タグと <title> タグの値を読み込み、それをコンテンツ メタデータとして格納する。このフラグは何回でも指定でき、複数のファイル拡張子を定義することができる。デフォルトでは、*.htm*.html が使用される。
-encoding <encoding>
使用するファイル エンコードを指定する。有効なエンコード名については、JDK のドキュメントを参照。デフォルトは、システムのデフォルトのファイル エンコード。
-match <pattern>
BulkLoader でロードするファイル名およびディレクトリ名のパターンを指定する。このパターンに一致するすべてのファイルがロードされる。このフラグは何回でも指定でき、複数のパターンを定義することができる。このフラグを省略すると、すべてのファイルとディレクトリがロードされる。
-ignore <pattern>
BulkLoader で無視するファイル名およびディレクトリ名のパターンを指定する。このパターンに一致するすべてのファイルが無視される。このフラグは何回でも指定でき、複数のパターンを定義することができる。
-mdext <ext>
メタデータ プロパティ ファイルのファイル名拡張子を指定する。値の先頭は「.」でなければならない。デフォルトでは、.md.properties となる。
-filter <filter class>
このパラメータは、通常は使用しないが、コンテンツのタイプの特定の特性に基づくメタデータの値を設定するカスタム フィルタを作成することができる。たとえば、画像ファイルの幅と高さを計算してその値をメタデータに設定するフィルタを作成できる。
このフラグは、ファイルをフィルタ処理する LoaderFilter のクラス名を設定する。このフラグは何回でも指定でき、複数のクラス名を LoaderFilter のリストに追加することができる。LoaderFilter はファイルに追加のメタデータを割り当てる。BulkLoader は、起動すると、クラスパスにある content\com\bea\content\loader\bulk ファイルを検索する。次に、このファイルから loader.defFilters プロパティを検索する。これは、BulkLoader が必ずロードする LoaderFilter のクラス名をコロンで区切ったリストである。このファイルが変更されない限り、BulkLoader は ImageLoaderFilter をロードする。これにより *.gif*.jpg*.png、および *.xbm の各画像ファイルから幅と高さが取得される。
-filters
LoaderFilter の現在のリストをクリアする (デフォルトのフィルタも含む)。
--
このパラメータの後ろのファイルまたはディレクトリはすべてアップロード対象と見なされる。
-Xms<xxx>m
Java ヒープ サイズを増やす。ここで、<xxx> はメガバイト数。たとえば、-Xms1000m となる。このフラグは、メモリ不足エラーで BulkLoader が実行できない場合に使用する。
-h
コマンドラインの使用法を表示する。

BulkLoader スクリプトの例

コード リスト 1-4 は、適切なパスをコンフィグレーションして、BulkLoader プログラムを実行します。このスクリプトは特定の環境やニーズに合わせて自由に編集できます。

コード リスト 1-4 BulkLoader スクリプト (Windows)
@ECHO OFF
REM #########################################################################
REM # (c) BEA SYSTEMS INC. All rights reserved
REM #
REM ##########################################################################
SETLOCAL
SET PLATFORM_HOME=C:\bea\weblogic92
FOR %%i IN ("%PLATFORM_HOME%") DO SET PLATFORM_HOME=%%~fsi
SET PORTAL_HOME=%PLATFORM_HOME%\portal
SET P13N_HOME=%PLATFORM_HOME%\p13n
CALL %PLATFORM_HOME%\common\bin\commEnv.cmd
@rem **************************************************************************
@rem Set any additional CLASSPATH information below
@rem **************************************************************************
setCLASSPATH=%POINTBASE_CLASSPATH%;%WEBLOGIC_CLASSPATH%;%P13N_HOME%\lib\
p13n_system.jar;%PORTAL_HOME%\lib\content.jar;%PORTAL_HOME%\lib\
content_system.jar;%CLASSPATH%
REM Set some defaults
if "%CM_DATA%"=="" set CM_DATA=..\db\data\sample\cm_data
%JAVA_HOME%\bin\java -classpath %CLASSPATH% com.bea.content.loader.bulk.BulkLoader -verbose -repository "BEA Repository" -application portalApp -d %CM_DATA% Ads
ENDLOCAL

  ページの先頭       前 次