![]() ![]() ![]() ![]() |
BulkLoader は、ファイルシステムからコンテンツとメタデータを BEA 仮想コンテンツ リポジトリにロードするコマンドライン アプリケーションです。
BulkLoader は、コンテンツを含むディレクトリ構造をスキャンし、そのコンテンツを指定のコンテンツ リポジトリにロードします。また、コンテンツをロードすると共に、準備されているメタデータ ファイルを読み込み、ロードした各コンテンツ項目にそのメタデータを関連付けます。メタデータ ファイルは、コンテンツ項目ごとに作成することも、複数の項目を含むディレクトリやサブディレクトリに対して作成することもできます。
注意 : | BulkLoader は、単純なメタデータおよびバイナリ ファイルのアップロードのみをサポートします。ネストされたタイプおよびリンク プロパティなどの BEA リポジトリ機能はサポートされません。 |
BulkLoader でデータベース リポジトリにコンテンツをロードした場合、メタデータとバイナリ ファイルの両方がリポジトリに転送されます。ファイルシステム リポジトリにロードした場合は、メタデータだけがデータベースに転送され、実際のコンテンツ ファイルはファイルシステム上に残されます。
注意 : | BulkLoader を使用して、ファイルシステム リポジトリ内の既存のコンテンツ (またはそのメタデータ) を更新することはできません。リポジトリに新しいコンテンツを追加する場合のみ使用できます。他のタイプの BEA リポジトリと同様に、Portal Administration Console を使用して新しいコンテンツを追加したり、既存のコンテンツを変更できます。 |
このドキュメントでは、BulkLoader の使用方法について説明します。このドキュメントは、以下のトピックで構成されています。
BulkLoader を実行する前に、リポジトリを作成し、適切なコンテンツ タイプを作成し、ディレクトリ構造にコンテンツを挿入し、メタデータ ファイルを準備する必要があります。
BulkLoader は、事前に構成済みのコンテンツ リポジトリにコンテンツとメタデータをロードします。リポジトリ作成の詳細については、「BEA リポジトリのコンフィグレーション」 を参照してください。
リポジトリに格納されるコンテンツは、それぞれ 1 つの「タイプ」に関連付けられます。タイプとは、それに関連付けられているコンテンツ項目の識別と説明に使用できる特定のメタデータ フィールドを含む定義です。BEA リポジトリには、定義済みのデフォルトのタイプがいくつかあります。たとえば、定義済みの image タイプには次の 3 つのメタデータ フィールドが含まれています。
独自のタイプを作成することも、定義済みのタイプを使用することもできます。タイプ作成の詳細については、「BEA リポジトリでのコンテンツ タイプの使用」を参照してください。
注意 : | コンテンツ項目に関連付けたタイプは、プライマリ プロパティを 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 が起動されている必要があります。
必要に応じて、デフォルトのスクリプトを変更する必要があります。WebLogic Portal には次のスクリプトが用意されています。
PLATFORM_HOME
変数を、インストールされている WebLogic Server を参照するように設定します。次に例を示します。PLATFORM_HOME=C:\bea\wlserver_10.0
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
太字で示したパラメータについて、次の表 A-2 で説明します。
cm_fileSystem_path プロパティに一致する必要がある。このオプションは、相対パスと絶対パスのどちらでも指定できる。
|
|
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
コード リスト A-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
コード リスト A-4 は、適切なパスをコンフィグレーションして、BulkLoader プログラムを実行します。このスクリプトは特定の環境やニーズに合わせて自由に編集できます。
@ECHO OFF
REM###########################################################################
REM # (c) BEA SYSTEMS INC. All rights reserved
REM #
REM # NOTE: WL_HOME must be set before running this script
REM ##########################################################################
SETLOCAL
echo
echo ****** NOTE: The environment variable WL_HOME must be set before running this script
echo
SET CONTENT_HOME=%WL_HOME%\cm
SET P13N_HOME=%WL_HOME%\platform\lib\p13n
SET P13N_JARS=%P13N_HOME%\p13n_system.jar;%WL_HOME%\common\p13n\lib\p13n_app.jar
SET CONTENT_JARS=%CONTENT_HOME%\lib\content-client.jar;%CONTENT_HOME%\lib\content.jar;%WL_HOME%\platform\lib\cm\content_system.jar
CALL %WL_HOME%\common\bin\commEnv.cmd
@rem ***************************************************************************
@rem Set any additional CLASSPATH information below
@rem ***************************************************************************
set CLASSPATH=%WEBLOGIC_CLASSPATH%;%P13N_JARS%;%CONTENT_JARS%
echo Running script with CLASSPATH: %CLASSPATH%
echo
REM Set some defaults
if "%CM_DATA%"=="" set CM_DATA=..\db\data\sample\cm_data
@rem These are the deployed app settings
%JAVA_HOME%\bin\java -classpath %CLASSPATH% com.bea.content.loader.bulk.BulkLoader -verbose -repository "Shared Content Repository" -application "portalApp" -d %CM_DATA% Ads%*
ENDLOCAL
![]() ![]() ![]() |