BulkLoader ガイド
![]() |
![]() |
![]() |
![]() |
BulkLoader は、ファイルシステムからコンテンツとメタデータを BEA 仮想コンテンツ リポジトリにロードするコマンドライン アプリケーションです。このドキュメントでは、BulkLoader の使用方法について説明します。このドキュメントは、以下のトピックで構成されています。
BulkLoader は、コンテンツを含むディレクトリ構造をスキャンし、そのコンテンツを指定のコンテンツ リポジトリにロードします。また、コンテンツをロードするとともに、準備されているメタデータ ファイルを読み込み、ロードした各コンテンツ項目にそのメタデータを関連付けます。メタデータ ファイルは、コンテンツ項目ごとに作成することも、複数の項目を含むディレクトリやサブディレクトリに対して作成することもできます。
BulkLoader でデータベース リポジトリにコンテンツをロードした場合、メタデータとバイナリ ファイルの両方がリポジトリに転送されます。ファイルシステム リポジトリにロードした場合は、メタデータだけがデータベースに転送され、実際のコンテンツ ファイルはファイルシステム上に残されます。
BulkLoader では、どのタイプのコンテンツでもロードできます。BulkLoader プログラムは、ファイルをリポジトリにバッチ モードでロードできる唯一の手段です。
注意 : BulkLoader を使用してライブラリ サービス対応のリポジトリからコンテンツを削除すると、削除されたコンテンツに関連付けられているすべてのバージョン データも削除されます。
BulkLoader を実行する前に、リポジトリを作成し、適切なコンテンツ タイプを作成し、ディレクトリ構造にコンテンツを挿入し、メタデータ ファイルを準備する必要があります。この節では、これらの事前準備手順について説明します。
BulkLoader は、事前に構成済みのコンテンツ リポジトリにコンテンツとメタデータをロードします。リポジトリの作成の詳細については、「新しいリポジトリ接続を追加する」を参照してください。
リポジトリに格納されるコンテンツは、それぞれ 1 つの「タイプ」に関連付けられます。タイプとは、それに関連付けられているコンテンツ項目の識別と説明に使用できる特定のメタデータ フィールドを含む定義です。BEA リポジトリには、定義済みのデフォルトのタイプがいくつかあります。たとえば、定義済みの image タイプには次の 3 つのメタデータ フィールドが含まれています。
独自のタイプを作成することも、定義済みのタイプを使用することもできます。タイプの作成の詳細については、「コンテンツ タイプを追加する」を参照してください。
注意 : ファイル システム リポジトリを使用している場合、プライマリ プロパティを「バイナリ」にして、コンテンツ項目に関連付けるタイプを作成する必要があります。
ヒント : リポジトリに対して定義されているタイプを参照するには、WebLogic Administration Portal のコンテンツ管理セクションにある [View] プルダウン メニューから [Type] を選択します。
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 は、ディレクトリを処理するときに、メタデータ プロパティ ファイルをロードします。まず、ディレクトリから 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 が実行できない場合は、Java ヒープ サイズを増やしてください。BulkLoader スクリプトでこの設定を行うには、BulkLoader コマンドにパラメータとして -Xms
xxx
m
を指定します。ここで、xxx
はメガバイト数です。たとえば、-Xms1000m
とします。
BEA Weblogic Workshop には次のスクリプトが用意されています。
このスクリプトは、各自の環境で実行できるように編集し、BulkLoader プログラム自体に渡すパラメータをカスタマイズする必要があります。この節では、このコマンド スクリプトを設定および実行する方法について説明します。
注意 : BulkLoader を実行するには、BEA Weblogic Server が起動されている必要があります。
PLATFORM_HOME=C:¥bea¥weblogic81
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
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
次のコマンドは、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
|
WebLogic Workshop には次のスクリプトが用意されています。このスクリプトは、適切なパスをコンフィグレーションして BulkLoader プログラムを実行します。このスクリプトは特定の環境やニーズに合わせて自由に編集できます。
コード リスト 1-1 BulkLoader スクリプト (Windows) : Weblogic81b/portal/bin/load_cm_data.cmd
@ECHO OFF
REM #########################################################################
REM # (c) BEA SYSTEMS INC. All rights reserved
REM #
REM ##########################################################################
SETLOCAL
SET PLATFORM_HOME=C:¥bea¥weblogic81
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
![]() |
![]() |
![]() |