|
BulkLoader は、ファイルシステムからコンテンツとメタデータを BEA 仮想コンテンツ リポジトリにロードするコマンドライン アプリケーションです。
BulkLoader は、コンテンツを含むディレクトリ構造をスキャンし、そのコンテンツを指定のコンテンツ リポジトリにロードします。また、コンテンツをロードすると共に、準備されているメタデータ ファイルを読み込み、ロードした各コンテンツ項目にそのメタデータを関連付けます。メタデータ ファイルは、コンテンツ項目ごとに作成することも、複数の項目を含むディレクトリやサブディレクトリに対して作成することもできます。
| 注意 : | BulkLoader は、単純なメタデータおよびバイナリ ファイルのアップロードのみをサポートします。ネストされたタイプおよびリンク プロパティなどの BEA リポジトリ機能はサポートされません。 |
BulkLoader でデータベース リポジトリにコンテンツをロードした場合、メタデータとバイナリ ファイルの両方がリポジトリに転送されます。ファイルシステム リポジトリにロードした場合は、メタデータだけがデータベースに転送され、実際のコンテンツ ファイルはファイルシステム上に残されます。
WebLogic Portal 9.2 で利用可能な高度なリポジトリ機能を使用するコンテンツのロードまたは転送を行う場合、伝播ツールを使用してください。
| 注意 : | BulkLoader を使用して、ファイルシステム リポジトリ内の既存のコンテンツ (またはそのメタデータ) を更新することはできません。リポジトリに新しいコンテンツを追加する場合のみ使用できます。他のタイプの BEA リポジトリと同様に、Portal Administration Console を使用して新しいコンテンツを追加したり、既存のコンテンツを変更できます。 |
このドキュメントでは、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 ファイルでそのフィールドに値を指定する必要がある。 MM/DD/YY HH:MM AM/PM の java.text.DateFormat.SHORT 形式を使用する必要がある。日付の日/月の順序は、JVM のロケールに依存します。
ライブラリ サービスが有効になっているリポジトリにコンテンツを格納する場合、各コンテンツ項目の filename.md.properties ファイルに lifecyclestatus キーを含める必要があります。lifecyclestatus キーは、コンテンツ項目のステータスを指定する次のような整数値を取ります。
たとえば、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 は以下のソースからコンテンツ メタデータをこの順序で収集します。
dir.md.properties ファイル。dir.md.properties ファイル。filename.md.properties ファイル (特定のファイルに適用)。<meta> タグ。詳細については、「BulkLoader のパラメータ リファレンス」の節の htmlPat フラグの説明を参照してください。filter フラグの説明を参照してください。
通常、BulkLoader はスクリプトから実行します。このスクリプトは、各自の環境で実行できるように編集し、BulkLoader プログラム自体に渡すパラメータをカスタマイズする必要があります。この節では、以下について説明します。
注意 : メモリ不足エラーで BulkLoader が実行できない場合は、Java ヒープ サイズを増やしてください。BulkLoader スクリプトでこの設定を行うには、BulkLoader コマンドにパラメータとして -Xms<xxx>m を指定します。ここで、xxx はメガバイト数です。たとえば、-Xms1000m となります。
WebLogic Portal には次のスクリプトが用意されています。
注意 : BulkLoader を実行するには、WebLogic Server が起動されている必要があります。
BulkLoader スクリプトは、content.jar と content_system.jar の 2 つの JAR ファイルにアクセスする必要があります。デフォルトでは、これらのファイルは wlp-services-app-lib.ear ファイルにあります。BulkLoader を使用する場合は、content.jar および content_system.jar ファイルを wlp-services-app-lib.earr から抽出する必要があります。ファイルの抽出後、それらのファイルのロケーションをクラスパスに追加することも必要です。これらの JAR ファイルは、BulkLoader の使用後に削除することができます。
c:\bea\weblogic92\portal\lib\modules\wlp-services-app-lib.ear)。 content.jar および content_system.jar ファイルを wlp-services-app-lib.ear から抽出します。JAR ファイルを一時的な場所に抽出します。 content.jar および content_system.jar ファイルを追加します。
必要に応じて、デフォルトのスクリプトを変更する必要があります。WebLogic Portal には次のスクリプトが用意されています。
PLATFORM_HOME 変数を、インストールされている WebLogic Server を参照するように設定します。次に例を示す。PLATFORM_HOME=C:\bea\weblogic92
CM_DATA 変数を、コンテンツ リポジトリにロードするコンテンツを含むディレクトリの親ディレクトリを参照するように設定します。たとえば、格納するコンテンツが D:\myContent\images の images というディレクトリにある場合は、CM_DATA を次のように設定します。CM_DATA=D:\myContent
%JAVA_HOME%\bin\java -classpath %CLASSPATH% com.bea.content.loader.bulk.BulkLoader-verbose-repository"MyRepository" -application portalApp -d %CM_DATA% file1 file2 filen
太字で示したパラメータについて、次の表 2 で説明します。
BulkLoader のすべてのパラメータについては、「BulkLoader のパラメータ リファレンス」を参照してください。
| ヒント : | BulkLoader スクリプトは、コマンドラインで実行することも、ファイル アイコンをダブルクリックして実行することもできます。 |
注意 : BulkLoader コマンドのパラメータにワイルドカードや正規表現を使用することはできません。
次のコマンドは、D:\media の Images、Audio、および Doc ディレクトリ内の全ファイルを再帰的にロードします。Images、Audio、Doc の各ディレクトリに dir.md.properties ファイルが含まれているか、これらのディレクトリ内の各コンテンツ項目に定義する filename.md.properties ファイルが配置されている必要があります。
%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 の命名規約に準拠するメタデータ ファイルが認識されます。
%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
コード リスト 1-4 は、適切なパスをコンフィグレーションして、BulkLoader プログラムを実行します。このスクリプトは特定の環境やニーズに合わせて自由に編集できます。
@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
|