WebSphere Product Center: WebSphere Commerce との統合機能
バージョン 5.2
注! 本書および本書で紹介する製品をご使用になる前に、 特記事項に記載されている情報をお読みください。
2005 年 3 月 23 日
本書は、WebSphere Product Center バージョン 5.2 (5724-I68) および新しい版で明記されていない限り、 以降のすべてのリリースおよびモディフィケーションに適用されます。
(C) Copyright International Business
Machines Corporations 2005. All rights reserved.
Commerce 構成
WC データの Commerce へのエクスポート
プレビューのためのセットアップ
Product Center の構成
Commerce との統合によって、企業間取引 (B2B) および企業消費者間取引 (B2C) e-コマース Web サイト用の製品情報のために、包括的かつ生産性の高いオーサリング環境を確立する基礎が据えられます。WebSphere Product Center (以下 Product Center) は、豊富で正確な製品情報を発行するための準備作業を劇的に向上させることによって、e-コマースを実装する価値を大いに高めることができます。
e-コマース・プラットフォームと組み合わせることにより、多様な Commerce プロセスに対するさまざまな機能に関して複数ユーザーが組織的に貢献できるようにするツールを提供します。また、複雑で大量の製品情報を、非常に簡単に集約、拡張、管理、および承認する機能も提供します。
サポートされるビジネス・プロセスには、以下が含まれています。新商品の紹介、関連商品販売の作成、上位商品販売および販売促進、耐用年数を過ぎた製品の処理、アイテム情報の同期、アイテムおよびその属性の Web サイトへの一括アップロード、e-コマース Web サイトに加え顧客の目に触れる複数の場所への製品情報の配信。
Commerce Server との統合により以下が可能になります。
基本的な Product Center データ・モデリング (カテゴリー、商品、商品グループ、SKU などの Commerce カタログ・オブジェクトの表現を含む)
Commerce アプリケーションへの全カタログ・データおよびデルタ変更のエクスポート
Commerce の画面で、プレビュー・メニュー・オプションをクリックして Product Center のアイテムをプレビューする、および Commerce アプリケーションをナビゲートして Commerce カタログの全オブジェクトを閲覧する
WebSphere Product Center 5.2
DB2 II バージョン 8.2 が組み込まれた WebSphere Commerce 5.6 バージョンとの統合
Commerce と Product Center との統合を目的として開発されたパッケージ (ZIP ファイル <WPC_WC_Int.zip>)。これには、以下が含まれています。
フィルター・ファイル
コマンド・クラス <WPC_WC.jar> を保持する JAR ファイル
Readme.txt
Product Center で定義され、Commerce にロードされる商品データには、デフォルトの在庫が含まれています。ユーザーがこれを変更するには、Commerce Suite Accelerator を使用する必要があります。
Product Center と Commerce の間のデータ交換は、XML 文書を基にして行われます。 Commerce チームは、最新の一括アップロード・ツール用の DTD を提供する必要があります。 XML 文書は、Product Center スクリプトを使用して作成されます。この文書は、Commerce DTD に対して検証することができ、事前定義された場所に FTP で送信できます。Commerce アプリケーションは、この場所から文書を取り出して処理します。処理中にエラーが発生する場合は、XML 文書を手動で処理する必要があります。
Commerce への最初のカタログ・フィードは、全エクスポートと見なされます。これ以降は、Product Center で変更または削除されたオブジェクトのみがデルタ・フィードの一部として Commerce にエクスポートされます。
Product Center は、Commerce で定義される DTD (WCS.dtd) に準拠する XML を生成します。デルタ処理では、オブジェクトの状態が矛盾しないように、常に XML の削除が最初に実行され、次いで更新が実行されます。
WebSphere Product Center と WebSphere Commerce との統合により、以下の目的が達成されます。
Product Center 内の Commerce オブジェクトのデータ・モデル表現
Commerce アプリケーションへの一括/デルタ・データ・アップロード
Product Center 内の既存のオブジェクトの Commerce ストア・ページでのアイテム・プレビュー機能
注: データ・モデルの詳細については、『付録 A』を参照してください。
以下のオブジェクトが、Product Center 統合パッケージに組み込まれています。
WCCatentryCtg – Product Center 内のマスター・カタログ
このカタログは、Commerce 内のマスター・カタログを表します。このカタログは、カスタム・ポストプロセス・スクリプトおよびポストセーブ・スクリプトが含まれている WCPdtHier 階層に関連付けられています。
このカタログは、PrimarySpec としての WCCatentryPSpec (カタログ・アイテムのタイプを決定する属性カタログ・エントリー・タイプ) と関連付けられています。タイプは Bundle/Product/StaticKit/DynamicKit です。
Commerce 内のセールス・カタログは、マスター・カタログに対する 2 次階層として表されます。
WCSKUCtg – 商品に属する SKU
Commerce データ・モデルには、商品とともに SKU が組み込まれています。 つまり、商品の定義属性によって SKU が作成されます。Product Center には、このオブジェクトを直接表現するものがないため、SKU と商品の関係は、このカタログによって設定されます。
WCCatentryCtg (マスター・カタログ) に定義される商品は、このカタログ内のカテゴリーとして保管されます。
定義属性および WCCatentyCtg に定義される対応する値は、2 次仕様として上記のカテゴリーに付加されます。
WCSalesHr – セールス・カタログ
Commerce 内のセールス・カタログは、提案、割引などに加えて、季節ごとの商品情報を発行するツールとしての機能を果たします。
Product Center において、これは複数の 2 次階層を WCCatentryCtg (マスター・カタログ) に付加することによって実現されます。
マスター・カタログのアイテムまたはカテゴリーをコピーする機能は、アイテムのコピー・スクリプトまたはカテゴリー・エントリー・プレビュー・スクリプトによって提供されます。
ActivityLog– アクティビティー・ログ・カタログ
アクティビティー・ログ・カタログは、アプリケーションが全データ・アップロードおよび部分的データ・アップロードを認識するための重要な ID です。
Product Center で作成されるすべてのオブジェクトは、ポストセーブ・スクリプトによってエントリーをここで検索し、オブジェクトが変更されると更新されます。
属性 UpdateDateTime は、特定のオブジェクトが作成/変更/削除された時刻を識別します。これは WC1_LAST_UPLOAD_TIME のルックアップ値と比較され、デルタ・カタログ・フィードに含めるかどうかが判別されます。
Product Center 内の Commerce オブジェクトのデータ・モデル表現に役立つ Product Center スクリプトは数多くあります。以下の表で、これらのスクリプトについて説明します。
スクリプト名 | スクリプト・タイプ | 説明/機能 |
WCCatentry ポストプロセッシング・スクリプト | カタログ・スクリプト – ポストプロセス |
複製部品番号、定義属性に関連した検証などの基本データ・モデル検証を実行します。 |
CatentryCtg ポストセーブ | WCSKUCtgPostSave |
保管されたアイテムが商品であるかどうかを検査し、その商品を SKU カタログ内のカテゴリーとして作成し、さらに定義属性を 2 次仕様として付加します。 |
WCSKUCtgPostSave | WCSKUCtgPostSave |
アクティビティー・ログ・カタログ内にエントリーを作成します。 |
WCCatentryCtg エントリー・プレビュー・スクリプト | エントリー・プレビュー |
プレビュー用に要求されたアイテムの XML を作成し、XML データを HTTP ポストとしてアップロードし、Commerce プレビュー・コマンドを呼び出します。 |
WCSkuCtgEntryPreview | エントリー・プレビュー |
上記と同じで、SKU のプレビューです。 |
DataExportToCommerceScript | レポート・スクリプト |
ユーザーによる Commerce への全/デルタ・カタログ・フィードの実行を容易にするレポートです。このスクリプトは一部のトリガー・スクリプトとともに、ActivityLog カタログからエクスポートするアイテムを計算することによって XML を作成し (デルタの場合)、事前定義されたディレクトリー (ルックアップ・テーブルに記述されている) に XML を FTP で送信し、Commerce コマンドを呼び出します。 |
WC-Export.Wc.XmlFormat | トリガー・スクリプト |
ASP/JSP のように、このスクリプトは XML を作成する際の重要な部分です。すべての Commerce XML ノードは、トリガー・スクリプトから呼び出される機能として、このスクリプトに記述されます。 |
WC.Validation.Utility.Lib | トリガー・スクリプト |
オブジェクトに対して基本的な検証 (非ヌル、特殊文字のフィルター操作、固有性検証など) を実行する検証トリガー・スクリプトです。 |
WCExportUtil.wpcs | トリガー・スクリプト |
全/デルタ・エクスポートおよびプレビュー時に呼び出される、主要なスクリプトです。すべてのビジネス・ロジックを処理し、XML を作成します。 |
activityLogger.wpcs | トリガー・スクリプト |
このスクリプトは、すべてのアクティビティー・ログ・カタログに関連したエントリーを処理します。 |
WC.utility.Lib | トリガー・スクリプト |
アイテムのマルチオカレンス値の変更、2 次仕様の作成、カタログ・アイテムの SKU 関係の削除などのユーティリティー機能があります。 |
CopyItemsandCategory | トリガー・スクリプト |
このスクリプトは、マスター・カタログのアイテムまたはカテゴリーをセールス・カタログにコピーするために使用されます。 |
Library Logger | トリガー・スクリプト |
イベントをログに記録するために DEV によって使用されるロガー・ユーティリティーです。ロガーとして現在コメント化されているものはスレッド・セーフではありません。 |
この章では、Product Center と WebSphere Commerce の両方の構成について説明します。
Commerce Server がインストールされていること
WebSphere Product Center インスタンスが正常に作成されていること
データの定義先の Commerce ストアが正常に発行されていること
FTP サーバーが使用可能であり、XML ロード・ファイルをダンプするための書き込みアクセスが付与された共用フォルダーが存在すること
command.xml、SQLLoad.dtd、SQLLoad.xml、store.xml の各ファイルを一時フォルダー (例えば、C:¥test) にコピーします。
wpcwcpolicy.xml および wpcwcUserGroup.xml ファイルをディレクトリー <WC_installDir>¥xml¥policies¥xml にコピーします。
ファイル "WCPWC.jar" をディレクトリー <WAS_installdir>¥installedApps¥<cell_name>¥WC_<instance_name>.ear にコピーします。
プロパティー・ファイル WPCWCProperties.properties をディレクトリー <WAS_installdir>¥installedApps¥<cell_name>¥WC_<instance_name>.ear¥Stores.war¥WEB-INF¥classesにコピーします。
以下のステップに従って、WebSphere Commerce の統合コマンドを構成します。
1) 前のセクションに示した一時フォルダーからデータベースへ SQLLoad.xml ファイルをロードします。これを行うには、以下に示すように、同じウィンドウで idresolver (idresgent) コマンドと massloader (massload) コマンドを順番に実行します。
idresgen -dbname <dbname> -dbuser <dbuser> -dbpwd <passwd> -infile C:¥test¥ SQLLoad.xml –outfile C:¥test¥ SQLLoadout.xml –method mixed
massload -dbname <dbname> -dbuser <dbuser> -dbpwd <passwd> -infile C:¥test¥ SQLLoadout.xml –method sqlimport
注: SQLLoad.dtd ファイルで、wcs.dtd のパスが適切に設定されていることを確認してください。
例えば、wcs.dtd がディレクトリー D:¥WebSphere¥CommerceServer56¥schema¥xml に存在する場合、パスは以下のように指定する必要があります。
<!ENTITY % wcs.dtd SYSTEM "D:¥WebSphere¥CommerceServer56¥schema¥xml¥wcs.dtd">
2) <WC_installDir>¥xml¥policies¥xml ディレクトリーにコピーされた wpcwcUserGroup.xml ファイルをロードします。これを行うには、コマンド・プロンプト・ウィンドウを開き、<WC_installDir>¥bin ディレクトリーに移動して、以下のように acpload コマンドを実行します。
acugload <database name> <database user> <password> wpcwcUserGroup.xml <schema name>
ここで、それぞれの意味は以下のとおりです。
d bname は、データベースの名前。
dbuser は、データベースに接続中のユーザーの名前。
dbpwd は、データベースに接続中のユーザーのパスワード。
schemaname は、ターゲット・データベース・スキーマの名前。
3) <WC_installDir>¥xml¥policies¥xml ディレクトリーにコピーされた wpcwcpolicy.xml ファイルをロードします。これを行うには、コマンド・プロンプト・ウィンドウを開き、<WC_installDir>¥bin ディレクトリーに移動して、以下のように acpload コマンドを実行します。
acpload <dbname> <dbuser> <dbpwd> wpcwcpolicy.xml <schemaname>
ここで、それぞれの意味は以下のとおりです。
dbname は、データベースの名前。
dbuser は、データベースに接続中のユーザーの名前。
dbpwd は、データベースに接続中のユーザーのパスワード。
schemaname は、ターゲット・データベース・スキーマの名前。
4) <WAS_installdir>¥installedApps¥<cell_name>¥WC_<instance_name>.ear¥Stores.war¥META-INFディレクトリーに存在する MANIFEST.MF ファイルを開いて、JAR ファイル WPCWC.jar をクラスパスの最後に追加します。
5) <WAS_installdir>¥installedApps¥<cell_name>¥WC_<instance_name>.ear¥Stores.war¥WEB-INF¥classesの WPCWCProperties.properties ファイルを開いて、以下の値を適切な値に変更します。
dbname は、データベースの名前。
dbuser は、データベースに接続中のユーザーの名前。
dbpwd は、データベースに接続中のユーザーのパスワード。
idresinfiledir は、Product Center が入力ファイルを FTP で送信するディレクトリー。例: C:/WPC-WC/testing
massloadinfile は、IdResolver プロセスで生成され、massloader プロセスに入力される出力ファイル。
例: C:/WPC-WC/testing/idresout.xml
schemaname は、ターゲット・データベース・スキーマの名前。
customizer は、Oracle などの他のデータベースに提供されるカスタマイザー・ファイル。
例: OracleConnectionCustomizer.propertiespropfilename は、プロパティー・ファイル IdResolveKeys.properties へのパス。
例: C:/WebSphere/CommerceServer56/properties/IdResolveKeys.properties
注:
1. ディレクトリー <WC_installDir>¥properties に存在するファイル IdResolveKeys.properties の最後に、以下のエントリーを追加してください。
ATTRIBUTE=@LANGUAGE_ID@NAME@FIELD1:LANGUAGE_ID NAME FIELD1
2. mixedmethod、sqlmethod、deletemethod、および optimize の他のプロパティーを変更しないでください。
3. wcs.dtd を idresinfiledir で指定されるディレクトリーに置いてください。
このセクションでは、情報を WebSphere Commerce から Commerce ストアに抽出する方法について説明します。
管理特権を使い、組織管理コンソールで、Commerce に新規ユーザー (ルートの組織に属する) を作成します。WPCAdministrator 役割をユーザーに割り当てます。
以下のステップに従って、WebSphere Commerce からメタデータ情報を抽出します。
1) zip ファイルをローカル・ディレクトリーに解凍します。
2) フィルター・ファイル Export_MetaData_Filter.xml を一時ディレクトリー (例えば、C:¥test) にコピーします。
3) Export_MetaData_Filter.xml ファイルを開き、以下の変更を行って保存します。
ストリング ConsumerDirect を検索し、ConsumerDirect を考慮中のストアの適切な ID に置き換えます。
ストリング 7000000000000000002 を検索し、7000000000000000002 の member_id 値を考慮中のストアの member_id に置き換えます。
4) コマンド・プロンプト・ウィンドウを開いて、ディレクトリー <WC_installdir>¥bin に変更します。
5) 以下のように massextract ツールを <WC_installdir>¥bin から実行します。
massextract -dbname <dbname> -dbuser <username> -dbpwd <password> -filter
C:¥test¥Export_MetaData_Filter.xml -outfile <outfile> -schemaname <schemaname>
ここで、それぞれの意味は以下のとおりです。
dbname: は、データベースの名前。
username: は、データベースに接続中のユーザーの名前。
password: は、データベースに接続中のユーザーのパスワード。
outfile: は、抽出されたデータが保管される出力 xml ファイルの名前。
schemaname: は、ターゲット・データベース・スキーマの名前。
メタデータ情報は、上記の <outfile> の値で定義されるファイルに生成されます。
前のセクションで生成された <outfile> を編集します。ファイルの最後にある以下のエレメントに移動し、logonPwd を『新規ユーザーの作成』セクションで作成した正しいパスワードの情報で置き換えます。
<userId
logonid = “<logonId of the user >”
logonpassword =”<logonPwd of the user>” />
この編集済みの outfile が、Product Center に提供されるメタデータ情報になります。
1. <WAS_installdir>¥installedApps¥<cell_name>¥WC_<instance_name>.ear¥Stores.war¥WEB-INF¥classesの WPCWCProperties.properties ファイルを開いて、プロパティー名 ConsumerDirectImgDir に移動します。
2. 発行済みのストアに合わせて、この名前を変更する必要があります。この場合、発行済みストアの ID は ConsumerDirect であるため、名前は ConsumerDirectImgDir になります。
3. 発行済みストアの ID が ToolTech の場合、このプロパティー名は ConsumerDirectImgDir ではなく ToolTechImgDir になります。
4. このプロパティー名 ConsumerDirectImgDir の値に、ストアのイメージが置かれているパスを指定します。これは、StoreDirectory に対する相対パスです。例えば、Commerce マシン上のストアのパスが、
<WAS_installdir>/installedApps/<cell_name>/WC_<instance_name>.ear/Stores.war/ConsumerDirect
で、この中の images ディレクトリーにイメージを置く場合、このプロパティーに言及する場合は、以下のようにします。
ConsumerDirectImgDir = images
1. WPC_WC_Version_X.zip ファイルから、ZIP ファイル PreviewUtils.zip を一時フォルダーに解凍します。
2. PreviewUtils.zip の内容を WAS_HOME¥installedApps¥<node_name>¥<cellname.ear>¥Stores.war に解凍します。
以下の 2 つの方法でプレビューできます。
1. 管理コンソール・インターフェースを使用して ConsumerDirect ストアを Commerce に発行します。
2. samples.zip から JSP を WAS_HOME¥installedApps¥<node_name>¥<cellname.ear>¥Stores.war¥ConsumerDirect に解凍します。
例: C:¥WebSphere¥AppServer¥installedApps¥vdev¥WC_demo.ear¥Stores.war¥ConsumerDirect
3. Commerce Server を再始動します。
方法 B (JSP の開発が必要): ストア JSP を他のストア用に変更する
前提事項: keyId を使用して JSP の Databean にデータが取り込まれていること。
プレビューが機能するためのロジック:
a) Product Center から受け取ったデータに対応する DataBean が、Commerce Server 側でデータ構造の中にキャッシュされます。このデータ構造は、HashMap に格納されます。このデータ構造は、セッションで渡される PreviewBeanId 値を使用して HashMap から検索できます。DataBean は、要求で渡される基本キー値を使用して、このデータ構造から検索できます。JSP は、独自の DataBean を構成するのではなく、これらの DataBean (マージされた情報を含む) を使用します。
b) これらの DataBean をページ・スコープにロードする処理を実行する JSP を用意することにより、JSP がこれらの DataBean を使用するようにできます。プレビュー機能を必要とするすべての JSP に、この JSP を静的に組み込む必要があります。変数をページ・スコープにロードするために使用される変数/キーの名前は、DataBean が JSP で使用する変数の名前と同じであることが理想的です。(JSTL を使用する場合に、開発の便宜を図るという目的です。)
c) プレビュー中に使用可能にすべきでない特定の機能 (アイテムの順序付けなど) は、条件付きで無効にするか、適切なメッセージで置き換える必要があります。
実装については、PreviewHelper ディレクトリーの PreviewDatabeanEnvironmentSetup.jsp を参照してください。
1) HashMap からプレビュー Bean ID を取得します。
HttpSession session1 = requst.getSession();
String prvw_Bean_Id = (String)
session1.getAttribute(MappingConstants.PRVW_DATA_BEAN_ID);
2) この ID を使用して、データ構造を取得します。
if (prvw_Bean_Id != null) {
CommDataHashBucket wpcComMapDataBucket = CommDataHashBucket.getCommDataHashBucket();
WPCCommerceMapDataStructure wpcComDataStructure =
wpcComMapDataBucket.getComDataStructure(prvw_Bean_Id);
HashMap catlgObjMap =
wpcComDataStructure.getCatalogObjectsMap();
1) カタログ DataBean:
String catlgId = request.getParameter("catalogId");
if (catlgId != null) {
CatalogPreviewDatabean cPrvwDb = null;
HashMap catlgDBMap = (HashMap)
catlgObjMap.get(MappingConstants.CATALOG_BEAN);
cPrvwDb = (CatalogPreviewDatabean) catlgDBMap.get(new Integer(catlgId));
2) カテゴリー DataBean:
String catgryId = request.getParameter("categoryId");
if (catgryId != null) {
CategoryPreviewDataBean catgryPrvwDB = null;
HashMap catlgDBMap = (HashMap)
catlgObjMap.get(MappingConstants.CATEGORY_BEAN);
catgryPrvwDB = (CategoryPreviewDataBean)
catlgDBMap.get(catgryId);
3) 商品に関連したその他の DataBean:
String prodId = request.getParameter("productId");
if (prodId != null) {
HashMap catlgDBMap = (HashMap) catlgObjMap.get(MappingConstants.PRODUCT_BEAN);
Object prodLvLObj = catlgDBMap.get(prodId);
if (prodLvLObj != null) {
if (prodLvLObj instanceof ProductPreviewDataBean) {
ProductPreviewDataBean prodPrvwDB =
(ProductPreviewDataBean) prodLvLObj;
;
}
else if (prodLvLObj instanceof ItemPreviewDataBean) {
ItemPreviewDataBean itemPrvwDB = (ItemPreviewDataBean) prodLvLObj;
}
else if(prodLvLObj instanceof PackagePreviewDataBean)
{
PackagePreviewDataBean itemPrvwDB =
(PackagePreviewDataBean) prodLvLObj;
}
else if(prodLvLObj instanceof BundlePreviewDataBean){
BundlePreviewDataBean itemPrvwDB = (BundlePreviewDataBean) prodLvLObj;
}else if(prodLvLObj instanceof DynamicKitPreviewDataBean){
DynamicKitPreviewDataBean itemPrvwDB = (DynamicKitPreviewDataBean) prodLvLObj;
}
if (cPrvwDb != null) {
pageContext.setAttribute("catalog",cPrvwDb,1);
}
ページ・スコープに書き込むために使用される変数の名前は、ストア JSP でこれのインスタンスを生成するために使用される名前と同じでなければなりません。これは、すべての種類のカタログ・オブジェクトについて行う必要があります。
この JSP を、カタログ・オブジェクトの表示に使用される既存の JSP に静的に組み込みます。
例: <%@ include file="../../PreviewHelper/PreviewDatabeanEnvironmentSetup.jsp" %>
1) JSTL を使用している場合、変更は不要です。
2) 通常の JSP コーディングを使用している場合は、以下のコードの断片に示されているようなアクションを実行してください。
DynamicKitDataBean DynamicKitDataBean = null;
String storeId = ((TypedProperty)request.getAttribute(ECConstants.EC_REQUESTPROPERTIES)).getString(ECConstants.EC_STORE_ID);
if (pageContext.getAttribute("DynamicKitDataBean") == null) {
DynamicKitDataBean = new DynamicKitDataBean ();
com.ibm.commerce.beans.DataBeanManager.activate (DynamicKitDataBean, request);
} else {
DynamicKitDataBean = (DynamicKitDataBean) pageContext.getAttribute("DynamicKitDataBean");
}
これらのシナリオでは、PreviewBeanId の値を確認し、これが設定されている場合は、以下のコードの断片に示されているとおり、アクションが使用不可であることを示すメッセージを表示するなどの適切なアクションを実行します。
<c:when test="${!empty PreviewBeanId}">
<span class="text"><fmt:message key="SKU_NOT_BUYABLE" bundle="${storeText}" /></span><br /><br />
</c:when>
以下に示されている WPCWCproperties.properties ファイルの対応するエントリーに記入します。これらは、Product Center で作成されるさまざまなカタログ・オブジェクトのプレビューに使用されるページです。キーは、ストア ID とカタログ・オブジェクト表示を組み合わせたものです。(以下の例では、ストア ID は ConsumerDirect です)
######### CATALOG DISPLAY JSP's ###############
ConsumerDirectCategoryDisplay = ShoppingArea/CatalogSection/CategorySubsection/CategoriesDisplay.jsp
ConsumerDirectProductDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/ProductDisplay.jsp
ConsumerDirectItemDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/ItemDisplay.jsp
ConsumerDirectDynamicKitDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/DynamicKitDisplay.jsp
ConsumerDirectPackageDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/PackageDisplay.jsp
ConsumerDirectBundleDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/BundleDisplay.jsp
以下のステップに従って、WebSphere Commerce 統合用に Product Center を構成します。
1. コマンド src/db/schema/cmp/create_cmp.sh --code=carmel を実行して、WPC 環境に carmel という会社を作成します。
2. 以下の指定された場所から、FTP を使用して commerce_carmelV1.0.zip ファイルを取得します。
サーバー : <説明メモを参照>
ユーザー名 : <説明メモを参照>
パスワード : <説明メモを参照>
場所 : <説明メモを参照>
3. ZIP ファイルをローカル・ディレクトリーに解凍します。この ZIP ファイルには、以下のファイルが含まれています。
COMMERCE_CARMELLKP.ZIP
COMMERCE_CARMELNONLKP.ZIP
Readme.txt
4. インポート/エクスポート・ツールのバグの回避方法として、最初に空の属性コレクション WCSKUAttrValColl を作成します。
5. WPC インポート環境機能を使用して、ステップ 1 で作成した会社 carmel に COMMERCE_CARMELLKP.ZIP をインポートし、次に COMMERCE_CARMELNONLKP.ZIP をインポートします。
6. Commerce チームの支援を得ながら、ルックアップ・テーブル WCConfigLkpTbl の以下の指定されたルックアップ・テーブル・フィールドの詳細を入力し、残りのフィールドはそのままにします。
a. WC1_STORE_ID |
発行されるストア ID。 |
b. WC1_MEMBER_ID |
Commerce メンバー ID。 |
c. WC1_MASTER_CATALOG_ID |
発行されるストアのマスター・カタログの ID。 |
d. WC1_LANGUAGE_ID |
常に 1。この値を変更しないでください。 |
e. WC1_ITEM_TYPE_ID |
この値を変更しないでください。 |
f. WC1_ITEM_SPC_ID |
この値を変更しないでください。 |
g. WC1_BASE_ITEM_ID |
この値を変更しないでください。 |
h. WC1_FFMCENTER_ID |
Commerce チームの支援を得ながらこの値を入力します。 |
i. WC1_QUANTITY_ID |
この値を変更しないでください。 |
j. WC1_TRADE_POSCN_ID |
Commerce チームの支援を得ながらこの値を入力します。 |
k. WC1_SALES_CATALOG_ID |
Commerce インスタンスに 1 つセールス・カタログを作成する必要があり、そのカタログの ID をここに指定する必要があります。Commerce チームの支援を得ながら行ってください。 |
l. WC1_FTP_HOST_NAME |
Commerce Server が稼働しているボックスの IP。 |
m. WC1_FTP_PORT |
FTP ポート。通常、これは変更されませんが、Commerce Server ボックスでの FTPサーバーの構成によって異なります。 |
n. WC1_FTP_USER_ID |
Commerce Server ボックス FTP サーバーの FTP ユーザー名。Commerce チームの支援を得ながらこの値を入力します。 |
o. WC1_FTP_PASSWORD |
Commerce Server ボックス FTP サーバーの FTP パスワード。Commerce チームの支援を得ながらこの値を入力します。 |
p. WC1_FTP_PATH |
一括ロード・ツールが FTP で送信されたファイルを取り出すパス。Commerce チームの支援を得ながらこの値を入力します。 |
q. WC1_SALES_HIERARCHY_NAME |
これは変更してはなりません。ステップ k で Commerce に作成されたセールス/ナビゲーション・カタログの事前定義されたセールス階層。 |
r. WC1_SERVER_NAME |
Commerce Server が稼働しているサーバーの名前。 |
s. WC1_LAST_UPLOAD_TIME |
初期ロードが開始されるように、最初は空にしておきます。初期ロード以降、このキーの値は、最後に実行されたレポートのタイム・スタンプになります。空の場合は、初期ロードが実行されます。 |
t. DEFAULT_LOCALE |
この属性には、統合部分のデフォルト・ロケールが指定されている必要があります。これはデプロイメント時に設定する必要があり、後で変更してはなりません。また、このロケールは、仕様 WCCatentryCtg および WCSKUCtg の一部として会社属性の一部でなければなりません。 |
u. WC1_LOGON_CMD |
これは、新規 Commerce ログオン CMD の完全修飾 URL でなければなりません。 http://<serverName_where_Commerce_installed>/webapp/wcs/stores/servlet/WPCWCLogOn? |
v. WC1_LOGON_CMD_USER |
セキュリティー上の目的で作成されるユーザー (Commerce チームに相談してください) |
w. WC1_LOGON_CMD_USER_PASSWORD |
v. で作成されたユーザーのパスワード。 |
7. ルックアップ・テーブル「WCCurrencyLkpTbl」に、Commerce でサポートされる通貨を入力する必要があります。各通貨を表す正確な 3 文字の値をキーと値の両方に入力してください。 例えば、キーに USD、値に USD を入力します。 Commerce の各バージョンでサポートされる通貨のリストについては、Commerce チームの支援を得てください。
8. 初期ロード/デルタ・アップロードを実行するために、Product Center レポート DataExportToCommerce を実行します。上記のフィールドの値に応じて、初期ロードまたはデルタ・ロードが実行されます。
9. Commerce Server IP が、Product Center インストール済みボックスで /etc/hosts ファイルの一部として使用可能であることを確認します。
10. インポート/エクスポート・ツールのバグのために、階層 WCPdtHier、WCPdtHierAttrColl の属性コレクションを手動で設定する必要があります。
11. 「ホーム」>「マイ・セッティング」の「アイテム/カテゴリー・データ表示のロケール」の値が適切なロケールに設定されていることを確認し、同じロケールのユーザーがプレビュー機能で期待通りに内容を表示できるようにします。
12. 属性ページの WCCatentryCtg のリンク属性 catentry が、WCSKUCtg 属性 catentry_id に正しくリンクされていることを確認します。これは、インポート/エクスポートのバグのために、このリンク属性が設定されないためです。
13. public_html ディレクトリーをマウントします。
14. カタログ属性の ID および名前のエントリーが、Master および MyMasterCatalog という値になっていることを確認します。
1. Commerce にセールス・カタログを作成します。
2. 仕様を含むカテゴリー・ツリーを WCCgrySalesHSpec として作成します。
3. これを 2 次階層としてカタログ WCCatentryCtg に付加します。
4. ルックアップ・テーブル SalesLookupTable に新規エントリーを作成します。
SalesCatalogName - ステップ 2 で作成したカテゴリー・ツリーの名前でなければなりません。
SalesCatalogId - これは、ステップ 1 で作成したセールス・カタログの Commerce db インスタンスのカタログ・テーブルから取り出されます。フィールドは catalog_id です。
catalogIdentifier - これは、ステップ 1 で作成したセールス・カタログの Commerce db インスタンスのカタログ・テーブルから取り出されます。フィールドは ID です。
5. ルックアップ・テーブル LastSequenceRegister に新規エントリーを作成します。
階層名 - セールス階層名
最後のシーケンス - 500000
6. 「データ・モデル・マネージャー」->「スクリプト」->「スクリプト・コンソール」->「エントリー・プレビュー・スクリプト」から「アイテムまたはカテゴリーのコピー (Copy Items or Category)」の内容をコピーし、新規エントリー・プレビュー・スクリプトを作成します。その際、名前が固有になるよう、現在のセールス・カテゴリー・ツリー名に「アイテムまたはカテゴリーのコピー (Copy Items or Category)」を付加した名前を付けます。
7. WCSalesHr のポストセーブおよびポストプロセス・イベントのスクリプト内容をコピーし、新規作成したセールス階層に同じ内容を貼り付けます。
Commerce への最初のカタログ・フィードは、全エクスポートと見なされます。これ以降は、Product Center で変更または削除されたオブジェクトのみがデルタ・フィードの一部として Commerce にエクスポートされます。
Product Center は、Commerce で定義される DTD (WCS.dtd) に準拠する XML を生成します。デルタ処理では、オブジェクトの状態が矛盾しないように、常に XML の削除が最初に実行され、次いで更新が実行されます。
全エクスポートを起動するには、「プロダクト・マネージャー」>「レポート」>「レポート・コンソール」に移動します。DataExportToCommerce レポートを選択して起動します。
ルックアップ・テーブル WCConfigLkpTbl のルックアップ値 WC1_LAST_UPLOAD_TIME によって、カタログ・フィードが全エクスポートまたはデルタ・エクスポートのいずれになるかが決まります。この値がブランクの場合、全エクスポートになり、マスター/SKU カタログの現在の状態を基にして XML が計算され、同じ情報が Commerce にエクスポートされます。
XMLが生成されると (ファイル名にタイム・スタンプが付加され、WC-WPC-FullExport-2005-03-10-18.26.42.000026.xml のようになる)、ルックアップ値 WC1_FTP_PATH に従ってディレクトリーに FTP で送信されます。
Commerce コマンド http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn? が、WCCmd = Publish、XML ファイルの名前は loadFile の値で起動されます。
内部で、Commerce は Idresolver および一括ロード・ツールを呼び出して、このデータをデータベースにアップロードします。
全エクスポートを起動するには、「プロダクト・マネージャー」>「レポート」>「レポート・コンソール」に移動します。DataExportToCommerce レポートを選択して起動します。
ルックアップ・テーブル WCConfigLkpTbl のルックアップ値 WC1_LAST_UPLOAD_TIME によって、カタログ・フィードが全エクスポートまたはデルタ・エクスポートのいずれになるかが決まります。このフィールドに値が指定されている場合はデルタ・エクスポートになり、レポート・スクリプトはレポートが最後に実行されてから削除されたすべてのオブジェクトをアクティビティー・ログから計算し、XML を作成します。
XMLが生成されると (ファイル名にタイム・スタンプが付加され、WC-WPC-DeltaExport-Delete-2005-03-10-18.50.10.000050.xml のようになる)、ルックアップ値 WC1_FTP_PATH に従ってディレクトリーに FTP で送信されます。
Commerce コマンド http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn? が、WCCmd = Delete、XML ファイルの名前は loadFile の値で起動されます。
内部で、Commerce は Idresolver および一括ロード・ツールを呼び出して、このデータをデータベースにアップロードします。
全エクスポートを起動するには、「プロダクト・マネージャー」>「レポート」>「レポート・コンソール」に移動します。DataExportToCommerce レポートを選択して起動します。
ルックアップ・テーブル WCConfigLkpTbl のルックアップ値 WC1_LAST_UPLOAD_TIME によって、カタログ・フィードが全エクスポートまたはデルタ・エクスポートのいずれになるかが決まります。このフィールドに値が指定されている場合はデルタ・エクスポートになり、レポート・スクリプトはレポートが最後に実行されてから削除されたすべてのオブジェクトをアクティビティー・ログから計算し、XML を作成します。
XMLが生成されると (ファイル名にタイム・スタンプが付加され、WC-WPC-DeltaExport-Update-2005-03-10-19.20.44.000020.xml のようになる)、ルックアップ値 WC1_FTP_PATH に従ってディレクトリーに FTP で送信されます。
Commerce コマンド http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn? が、WCCmd = Publish、XML ファイルの名前は loadFile の値で起動されます。
内部で、Commerce は Idresolver および一括ロード・ツールを呼び出して、このデータをデータベースにアップロードします。
統合の主な目的は Product Center 内で使用可能なデータを共用することであり、 Product Center でこの目的で生成される XML データ・モデルは一括アップロード文書であって、 これは Commerce 内のさまざまな表の直接表現であるため、 Commerce 内部オブジェクト、どのテーブルにオブジェクトが保管されているか、 およびどの表にさまざまな Commerce オブジェクト間の関連があるかを把握することは有用です。
ストア |
これはマスター・コンテナーとして参照でき、その中ですべてのデータが相関的に使用できます。 複数のストアを同じ Commerce アプリケーション内に持つことができ、同じ情報を複数のストアで使用できます。 すべてのストア情報は、Commerce テーブル・ストアおよび storeent に保管されます。 |
カタログ |
このカタログは Product Center カタログと似ています。 このカタログは少なくとも 1 ストアに付加されます。 カタログ関連情報は、2 つの異なるテーブル (catalog / catalogddsc) に保管されます。 カタログとストアとの間の関係は storecat に保管されます。 |
カテゴリー |
これらのカテゴリーは、Product Center のカテゴリーと似ています。 これらのカテゴリーはカタログの下に存在するようになります。 カテゴリー関連情報は、catgroup / catgrpdesc の 2 つのテーブルに保管されます。 さまざまなカテゴリー間の関係は、catgrprel テーブルに保管されます。 カテゴリーとカタログとの間の関係は cattogrp テーブルに保管され、カテゴリーとストアとの間の関係は storecgrp テーブルに保管されます。 |
商品 |
これらの商品はカテゴリーの下に付加されます。 すべての商品関連情報は、baseitem / catentry / catentdesc の 3 つの異なるテーブルに保管されます。 catentry の catenttype_id フィールドに productBean の値があり、 現行オブジェクトが商品の場合、 商品、バンドル、スタティック・パッケージ、ダイナミック・パッケージ、およびアイテムという、 すべてのオブジェクトは、catentry / catentdesc という同じセットのテーブルに保管されます。 itemtype_id フィールドに ITEM の値があり、現行オブジェクトが商品の場合、 商品、スタティック・パッケージ、ダイナミック・パッケージの関連情報は、 baseitem というさらに別のテーブルにも保管されます。 storecent テーブルは、ストアと商品との間の関係を保管します。 カテゴリーと商品との間の関係は、catgpenrel テーブルに保管されます。 |
属性 |
これらの属性は商品に付加され、 属性関連情報は、属性と商品との間の関係を含め、テーブル属性に保管されます。 |
アイテム |
これらのアイテムは Product Center のアイテムと似ています。 アイテムは商品の下に付加されます。 アイテム関連の情報は、catentry / catentdesc の 2 つのテーブルに保管されます。 アイテムと商品の両方は、同じテーブルに保管されます。 catenttype_id により、商品とアイテムは区別されます。 catenttype_id のアイテム値は itemBean になります。 商品と同様、アイテムも特定のストアと関連付けられ、情報は商品の storecent テーブルと同じ場所に保管されます。 catentrel テーブルは、商品とアイテムとの間の関係を保持します。 |
属性値 |
これらの属性値はアイテムの下に付加され、 それらのアイテムが付加される商品に付加される属性の値を保持します。 属性値関連情報は、アイテムと属性値との間の関連を含め、attrvalue テーブルに保管されます。 |
バンドル |
バンドルはグループ化オブジェクトであり、 アイテム、商品、スタティック・パッケージ、ダイナミック・パッケージなどのオブジェクトのさまざまなセットから、 1 つのバンドルを形成することができます。 このバンドルは、catentry と catentdesc の 2 つのテーブルに保管されます。 このオブジェクトの catenttype _id は BundleBean です。 |
スタティック・パッケージ |
バンドルと似ていますが、 バンドルは関連付けを解除できるのに比べ、 スタティック・パッケージはそれができず、スタティック・パッケージには SKU だけを入れることができます。 スタティック・パッケージの catenttype_id は StaticBean です。 itemtype_id フィールドの値が STKT で、現行オブジェクトがスタティック・パッケージの場合、 catentry および catentdesc テーブルに加え、 スタティック・パッケージの関連情報の一部は baseitem テーブルにも保管されます。 |
ダイナミック・パッケージ |
スタティック・パッケージと似ていますが、 主な相違点は、これが商品コンフィギュレーター URL を保持できるということです。 これによりアイテム情報は、ローカルに入手可能になりますが、 指定された URL で商品コンフィギュレーターによって解決されます。 itemtype_id フィールドの値が DNKT で、現行オブジェクトがダイナミック・パッケージの場合、 catentry および catentdesc テーブルに加え、 スタティック・パッケージの関連情報の一部は baseitem テーブルにも保管されます。 catentry テーブルでは、このオブジェクトの catentrytype_id は DynamicKitBean です。 |
すべての Commerce 関連 Product Center オブジェクトは WC が先頭に付加されているので、 他のオブジェクトとの競合はありません。
以下の表では、前述のテーブルを要約しています。 適用できる一連の検証については、以下のテーブルに続く検証のセクションを参照してください。
オブジェクト/フィーチャー |
Product Center の表現 | Commerce の表現 |
ストア |
以下の値は、キー値のペアとして、Product Center ルックアップ・テーブルに保管されます。
|
ストア関連情報は、STORE および STOREENT テーブルに保管されます。 すべてのストアは、1 つのマスター・カタログと複数のセールス・カタログに関連付けられます。 |
カタログ |
マスター・カタログは、Product Center 内の 2 つのカタログおよび 2 つの階層として表されます。
1. Catentry カタログ すべてのカタログ固有属性は、カタログ属性の一部として Product Center に保管されます。 Commerce 固有属性の場合、カスタム・カタログ属性定義フィーチャーを使用します。 これによりカタログ属性のキー値と個別値を指定できます。 階層関連属性も同じ方法で保管されます。 Catentry カタログは、WC オブジェクトの商品、バンドル、 スタティック・パッケージ、およびダイナミック・パッケージの表現を持ちます。 |
すべてのカタログ固有データは、catalog、catalogdsc、および storecat テーブルに保管されます。
マスター・カタログと関連付けることができるさまざまなオブジェクトには、
カテゴリー、商品、アイテム、バンドル、スタティック・パッケージ、ダイナミック・パッケージがあります。
これらの情報は、以下のテーブルに保管されます。
1. catgroup 2. catgrpdesc 3. cattogrp 4. storecgrp 5. catgrprel 6. baseitem 7. catentry 8. catentdesc 9. catgpenrel 10. catentrel 11. attribute 12. attrvalue |
カテゴリー |
Product Center のカテゴリーと似ています。 商品階層は、カテゴリー関連詳細情報を保管するために使用されます。 商品 SKU 階層では、 ユーザーが、商品カテゴリーの下にカテゴリーを作成したり、 商品であるリーフ・カテゴリー以外のカテゴリーの下にアイテムを作成したりしないようにする必要があります。 | すべてのカテゴリー関連情報は、以下のテーブルに保管されます。
1. catgroup 2. catgrpdesc 3. cattogrp 4. storecgrp 5. catgrprel |
商品 |
商品には、属性のセットに加え、固有の属性があります。
それらは商品に固有のものとして定義され、値はアイテム・レベルで指定されます。
Product Center にはこの直接の表現はないので、商品は catentry カタログ内で定義されます。このカタログでユーザーは catentrytype_id フィールドに Product の値を選択します。カタログのポストセーブで商品 SKU 階層に 1 つのカテゴリーが作成されます。catentry カタログ内でその商品に指定された定義済み属性は、2 次仕様として作成され、商品 SKU 階層内に新しく作成されたカテゴリーにアイテム・カテゴリー仕様として付加されます。さらに、この階層仕様内の 1 つの関係属性が、catentry カタログ内の各アイテムに関連付けられます。ユーザーがこの商品カテゴリーに個別に追加する必要はありません。
商品を catentry カタログ内で作成するとすぐに、
このカテゴリーは自動的に作成され、アイテムを追加できる状態になります。
ユーザーが値を入力しており、妥当性検査エラーがスローされる場合、
商品は関係属性の値を持ちません。
|
商品情報は、baseitem、catentry、および cateentrydesc テーブルの一部として保管されます。 商品の基本項目 ID では、itemtype_id フィールドは ITEM の値を持ち、 catentry テーブルの catenttype_id フィールドは ProductBean の値を持つことになります。 |
SKU |
すべての SKU 関連詳細情報は、SKU カタログに保管されます。 このカタログは商品 SKU 階層に関連付けられます。 ここではすべての商品はリーフ・カテゴリーになり、 catentry カタログを後で保管するときに、 それらの属性はアイテム・カテゴリー仕様として付加されます。 SKU は追加時に、リンクされた商品からのそれぞれの属性値が事前に取り込まれ、 ユーザーはそれらを要求に応じて変更したり保管することができます。 | すべての SKU 関連詳細情報は、catentry および cateentrydesc テーブルに保管されます。 catentry テーブルの catenttype_id フィールドが ItemBean の値を持つ場合、現行エントリーは SKU です。 |
バンドル |
catentry カタログの、Bundle の値を持つ catenttype_id フィールドは、 Commerce のバンドル・オブジェクトを表します。 この仕様は、マルチオカレンス属性であり、SKU カタログに付加される 1 つのリンク属性を持ちます。 これは、SKU カタログからの別の SKU のグループ化に使用されます。 これらのバンドルは、記述属性を持つことはできますが、定義済み属性を持つことはできません。 | すべてのバンドル関連詳細情報は、catentry および cateentrydesc テーブルに保管されます。 catentry テーブルの catenttype_id フィールドが BundleBean の値を持つ場合、現行エントリーはバンドルです。 |
スタティック・パッケージ |
Catentry カタログは、Commerce のスタティック・パッケージ・オブジェクトを表します。 catentrytype_id の値は StaticKit にする必要があります。 このカタログは商品階層に付加されます。 現行仕様は、マルチオカレンス属性である 1 つのリンク属性を持ち、SKU カタログにリンクされます。 | すべてのスタティック・パッケージ関連詳細情報は、baseitem、catentry、および cateentrydesc テーブルに保管されます。 catentry テーブルの catenttype_id フィールドが StaticBean の値を持つ場合、現行エントリーはバンドルです。 baseitem テーブルの itemtype_id フィールドが STKT の値を持つ場合、現行オブジェクトはスタティック・パッケージを表します。 |
ダイナミック・パッケージ |
Catentry カタログは、Commerce のダイナミック・パッケージ・オブジェクトを表します。 catentrytype_id フィールドの値は DynamicKit にする必要があります。 このカタログは商品階層に付加されます。 現行のカタログ仕様は、マルチオカレンス属性であり、SKU カタログに付加される 1 つのリンク属性を持ちます。 これと共に、タイプ URL のもう 1 つのマルチオカレンス属性が、 商品コンフィギュレーター URL を表すために使用されます。 | すべてのダイナミック・パッケージ関連詳細情報は、baseitem、catentry、および cateentrydesc テーブルに保管されます。 catentry および catentdesc テーブルに加えて、baseitem テーブルにもスタティック・パッケージ関連の情報の一部が保管されます。フィールド itemtype_id の値が DNKT の場合、現行オブジェクトはダイナミック・パッケージです。 |
ATP |
テーブルの ALLOCATIONGOODFOR フィールドが 1 の値を持つ場合、このフィーチャーは使用可能です。
Product Center でこのフィーチャーを表すために、計算やユーザー入力は必要ありません。
Commerce チームによって提供される事前定義された静的値は、
Commerce のそれぞれのテーブルに入れる XML 断片を作成するために使用します。 |
Commerce の以下のテーブルは、ATP feature1、itemversn2、distarrang3、storeitem4、storeitmffc5、inventory6、itemspc7、versionspc8、itemffmctr を表すために使用されます。 |
取引管理 |
このフィーチャーは、catentry カタログの現行仕様で定義されている取引管理固有属性のセットを使用してインプリメントされます。 2 つの重要な属性として、 値に X-SELL、UPSELL、ACCESSORY、REPLACEMENT を持つことができる取引管理タイプ属性と、 もう 1 つの属性としてユーザーが cantentry カタログまたは SKU カタログを選択してそれぞれの WC オブジェクトに関連付けることができる関係属性があります。 | 以下のテーブルのセットは、commerce1、massoctype2、massoc3、massoccece の取引管理に関連付けられます。 |
セールス |
このフィーチャーは、1 つの階層を持つものとして表されます。
この中にはさまざまなカテゴリーが入ります。これはユーザーが直接作成したか、
またはユーザーが選択して商品階層から同じカテゴリーのセットを (その子と共に) 持つようにしたかのいずれかによるものです。
これは情報収納カテゴリーだけを持つことができます。
セールス階層を他の階層と区別するために、1 つの階層属性として HIERARCHY_TYPE と、値 SALES を追加します。
商品、SKU、バンドル、スタティック・パッケージ、およびダイナミック・パッケージの情報は、セールス階層の一部として表すことはできません。
セールス階層は、ユーザーが要求するだけ増やすことができます。
ユーザーがその固有のカテゴリーを作成することに加え、
コピー可能なマスター・カタログまたは他のセールス・カタログから構造をコピーすることも選択できます。
この目的で、エントリー・プレビュー・スクリプトをセールス階層に追加しました。
これによって、他のセールス・カタログまたは現行カテゴリーの下のマスター・カタログから構造をコピーすることを選択できます。 |
1 つの標準カタログを作成し、storecat の mastercatalog フィールドを 0 に設定します。 |
アイテム・プレビュー |
このフィーチャーでは、エントリー・プレビュー・スクリプトが使用されます。 このフィーチャーを選択すると、Commerce 内で 1 つの URL が、必要なアイテム情報と共に呼び出されます。 このアイテム情報はこの場合も、現行エントリーの一括アップロード XML になり、 これはカテゴリー、商品、バンドル、スタティック・パッケージ、またはダイナミック・パッケージのいずれかになります。 WC の URL を呼び出すと共に、WC オブジェクトのタイプも渡します。 | |
追加 |
どの追加操作も、属性に加え、イメージの追加が関係しています。 エクスポート時に属性情報が一括アップロード XML ストラクチャーの一部として転送され、 イメージは ZIP ファイルに圧縮されて、一括ロード XML 文書と共に送信されます。 | |
変更 |
追加と似ています。 属性が変更されると、すべての属性の送信が起動され、部分情報は送信されません。 | |
削除 |
Product Center で削除を実行すると、commerce テーブルの markfordelete フィールドが設定されます。これによって、それぞれの commerce テーブルで更新アクションが起動します。それに加えて WebSphere Commerce で 1 つのコマンド URL が起動し、このコマンドによってさらなるアクションが処理されます (アクションを完了するために実行しなければならない SQL など)。 | |
ローカライズ |
language_id を持つすべての属性は、Product Center ではローカライズ属性として定義されます。 Product Center の設定では、使用可能にしたいすべてのロケールを使用可能にできます。 | ロケールは、さまざまなテーブルで language_id フィールドを使用してサポートされていました。 現時点では、Commerce がサポートするロケールは、en_US、ja_JP、fr_FR、de_DE、it_IT、es_ES、pt_BR、zh_CN、zh_TW、ko_KR です。 |
通貨 |
Product Center の設定では、希望するすべての通貨を構成できます。 | 現時点では、Commerce がサポートする通貨は、BRL、CNY、EUR、JPY、KRW、TWD、USD です。 |
基本検証の以下のセットは、ユーザーがアイテムを catentry カタログに、後処理スクリプトの一部として保管するときに適用されます。
Commerce テーブル定義は、テーブル名をエレメント名として持ち、 エレメント属性として定義されたさまざまなテーブル・フィールドを持つ XML タグに直接変換されます。 属性値は、これらのテーブルのフィールドに記入する必要がある実際の値です。 単独の基本キーの場合、それらには @ 記号が先頭に付加され、 Commerce の基本キー生成規則を使用して基本キーが再作成され、 その後 Commerce テーブルにそれらの値が保管されます。
インプリメンテーション時に、必要に応じてこのテーブルの 1 つ以上の拡張を追加して、 さらにいくつかのフィールドを追加することができます。 これらの状況では、エクステンダー・テーブルは、 外部キーの形式で、拡張テーブル内の対応するレコードへのリンクを持ちます。
Product Center と Commerce との間のデータ転送は、XML 文書の形式で実行されます。 生成された文書は、Product Center と Commerce の両方が認識できる 1 つの共通の場所に置かれます。Commerce はここから文書を選択して処理します。
注: このデータ交換の一部としてのエラー処理は手動で扱われます。 Commerce から Product Center への通信はありません。 必ず Product Center から Commerce への通信になります。
Product Center から生成される XML 文書は、必ずこの DTD と互換性がなければなりません。 この DTD ごとに生成される XML 文書は、スキーマ・レベルでの Commerce データ・モデルの直接表現です。
Commerce の Product Center アイテム・プレビュー機能では、 カスタム・ツールを使用して Product Center にプレビュー・メニューを追加し、 要求時にはいつでも、アイテムを選択した後にメニュー・アイテムを選択できます。 このアイテム・プレビュー機能に Commerce が提供する静的ページに表示できるアイテム詳細は、 HTTP Post メソッドを使用して渡されます。 この時点で Commerce 側では同じ内容が解析され、適切な場所にある Commerce 静的ページに表示されます。 静的ページの外観、そのページからユーザーがナビゲート可能な他の場所、その静的ページでユーザーを制御する方法については、Commerce チームが決定します。
Product Center チームからの要求は、HTTP Post 呼び出しを実行できる URL と、静的ページに表示する必要データを備えることです。
本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。 日本で利用可能な製品、サービス、および機能については、日本 IBM の営業担当員にお尋ねください。 本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、または サービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の 製品、プログラム、またはサービスを使用することができます。 ただし、IBM 以外の製品とプログラムの操作またはサービスの評価および検証は、お客様の責任で行っていただきます。
IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有している場合があります。 本書の提供は、お客様にこれらの特許権について 実施権を許諾することを意味するものではありません。 実施権についてのお問い合わせは、書面にて下記宛先にお送りください。
〒106-0032
東京都港区六本木3-2-31
IBM World Trade Asia Corporation
Licensing
以下の保証は、国または地域の法律に沿わない場合は、適用されません。
IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。
この情報には、技術的に不適切な記述や誤植を含む場合があります。 本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあります。
本書において IBM 以外の Web サイトに言及している場合がありますが、 便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものでは ありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それらの Web サイトは、お客様の責任でご使用ください。
IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。
本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラム(本プログラムを含む)との間での情報交換、および (ii) 交換された情報の相互利用を可能にすることを目的として、本プログラムに関する情報を必要とする方は、下記に連絡してください。
IBM Burlingame Laboratory
Director IBM Burlingame Laboratory
577 Airport Blvd., Suite 800
Burlingame, CA 94010
U.S.A
本プログラムに関する上記の情報は、適切な使用条件の下で使用することができますが、有償の場合もあります。
本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、IBM より提供されます。
この文書に含まれるいかなるパフォーマンス・データも、管理環境下で 決定されたものです。 そのため、他の操作環境で得られた結果は、異なる可能性があります。 一部の測定が、開発レベルのシステムで行われた可能性がありますが、 その測定値が、一般に利用可能なシステムのものと同じである保証はありません。 さらに、一部の測定値が、推定値である可能性があります。 実際の結果は、異なる可能性があります。お客様は、お客様の特定の環境に適したデータを確かめる必要があります。
IBM 以外の製品に関する情報は、その製品の供給者、出版物、 もしくはその他の公に利用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりません。したがって、 他社製品に関する実行性、互換性、またはその他の要求については確証できません。 IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。
本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。 より具体性を与えるために、それらの例には、個人、企業、ブランド、あるいは製品などの名前が含まれている場合があります。 これらの名称はすべて架空のものであり、名称や住所が類似する企業が実在しているとしても、それは偶然にすぎません。
IBM の将来の方向または意向に関する記述については、予告なしに変更または撤回される場合があり、単に目標を示しているものです。
プログラミング・インターフェース情報が記載されている場合、その情報はプログラムを使用してアプリケーション・ソフトウェアを作成する際に役立ちます。
一般使用プログラミング・インターフェースにより、このプログラム・ツール・サービスを含むアプリケーション・ソフトウェアを書くことができます。
ただし、この情報には、診断、修正、および調整情報が含まれている場合が あります。診断、修正、調整情報は、お客様のアプリケーション・ソフトウェアの デバッグ支援のために提供されています。
警告: 診断、修正、調整情報は、変更される場合がありますので、 プログラミング・インターフェースとしては使用しないでください。
以下は、IBM Corporation の商標です。
IBM
IBM ロゴ
AIX
CrossWorlds
DB2
DB2 Universal Database
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere
Microsoft、Windows、Windows NT および Windows ロゴは、Microsoft Corporation の米国およびその他の国における商標です。
MMX、Pentium および ProShare は、Intel Corporation の米国およびその他の国における商標です。
Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
他の会社名、製品名、およびサービス名等はそれぞれ各社の商標です。
IBM WebSphere Product Center にはいくつかの「適用除外コンポーネント」(関係する「ライセンス情報」文書の定義に従う) が含まれており、これには以下に挙げる追加の条件が適用されます。このソフトウェアは、「プログラムのご使用条件」の使用条件の下でお客様に使用許諾されており、「適用除外コンポーネント」の条件に従います。IBM には、このソフトウェアに関連して、お客様に以下の通知を行う義務があります。
i.) IBM WebSphere Product Center には、Apache 2.0 ライセンスの使用条件に従って Apache Software Foundation から IBM によって使用許諾された、以下のソフトウェアが含まれています。
- Apache Regular Expression v1.2
- Apache Axis v1.1
- Apache XML4J v3.0.1
- Apache Log4j v1.1.1
- Apache Jakarta Commons DBCP Package v1.1
- Apache Jakarta Commons Pool Package v1.1
- Apache Jakarta Commons Collections Package v3.0
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the
copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all ther
entities that control, are controlled by, or are under common control with that
entity. For the purposes of this definition, "control" means (i) the
power, direct or indirect, to cause the direction or management of such entity,
whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or
more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source, and
configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation, and conversions to
other media types.
"Work" shall mean the work of authorship, whether in Source or Object
form, made available under the License, as indicated by a copyright notice that
is included in or attached to the work (an example is provided in the Appendix
below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the editorial
revisions, annotations, elaborations, or other modifications represent, as a
whole, an original work of authorship. For the purposes of this License,
Derivative Works shall not include works that remain separable from, or merely
link (or bind by name) to the interfaces of, the Work and Derivative Works
thereof.
"Contribution" shall mean any work of authorship, including the
original version of the Work and any modifications or additions to that Work or
Derivative Works thereof, that is intentionally submitted to Licensor for
inclusion in the Work by the copyright owner or by an individual or Legal Entity
authorized to submit on behalf of the copyright owner. For the purposes of this
definition, "submitted" means any form of electronic, verbal, or
written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor for
the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this
License, each Contributor hereby grants to You a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable copyright license to
reproduce, prepare Derivative Works of, publicly display, publicly perform,
sublicense, and distribute the Work and such Derivative Works in Source or
Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License,
each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable (except as stated in this section) patent
license to make, have made, use, offer to sell, sell, import, and otherwise
transfer the Work, where such license applies only to those patent claims
licensable by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s) with the Work
to which such Contribution(s) was submitted. If You institute patent litigation
against any entity (including a cross-claim or counterclaim in a lawsuit)
alleging that the Work or a Contribution incorporated within the Work
constitutes direct or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate as of the date
such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or
Derivative Works thereof in any medium, with or without modifications, and in
Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy of
this License; and
(b) You must cause any modified files to carry prominent notices stating that
You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You
distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work, excluding those notices
that do not pertain to any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained within such NOTICE
file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one of the following
places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or documentation, if
provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and wherever such
third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside or as an addendum
to the NOTICE text from the Work, provided that such additional attribution
notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any
Contribution intentionally submitted for inclusion in the Work by You to the
Licensor shall be under the terms and conditions of this License, without any
additional terms or conditions. Notwithstanding the above, nothing herein shall
supersede or modify the terms of any separate license agreement you may have
executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names,
trademarks, service marks, or product names of the Licensor, except as required
for reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible
for determining the appropriateness of using or redistributing the Work and
assume any risks associated with Your exercise of permissions under this
License.
8. Limitation of Liability. In no event and under no legal theory, whether in
tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly negligent
acts) or agreed to in writing, shall any Contributor be liable to You for
damages, including any direct, indirect, special, incidental, or consequential
damages of any character arising as a result of this License or out of the use
or inability to use the Work (including but not limited to damages for loss of
goodwill, work stoppage, computer failure or malfunction, or any and all other
commercial damages or losses), even if such Contributor has been advised of the
possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or
Derivative Works thereof, You may choose to offer, and charge a fee for,
acceptance of support, warranty, indemnity, or other liability obligations
and/or rights consistent with this License. However, in accepting such
obligations, You may act only on Your own behalf and on Your sole
responsibility, not on behalf of any other Contributor, and only if You agree to
indemnify, defend, and hold each Contributor harmless for any liability incurred
by, or claims asserted against, such Contributor by reason of your accepting any
such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include the brackets!)
The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a file or class name
and description of purpose be included on the same "printed page" as
the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this file except in compliance with the License. You may obtain a
copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
for the specific language governing permissions and limitations under the
License.
ii.) IBM WebSphere Product Center には、以下の使用条件に従って IBM が Scott Hudson、Frank Flannery、および C. Scott Ananian より使用許諾を得た以下のソフトウェアが含まれています。
- Cup Parser Generator v0.10k
CUP Parser Generator Copyright Notice, License, and Disclaimer
Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both the copyright
notice and this permission notice and warranty disclaimer appear in supporting
documentation, and that the names of the authors or their employers not be used
in advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors and their employers disclaim all
warranties with regard to this software, including all implied warranties of
merchantability and fitness. In no event shall the authors or their employers be
liable for any special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether in an action of
contract, negligence or other tortious action, arising out of or in connection
with the use or performance of this software.
iii.) IBM WebSphere Product Center には、以下の使用条件に従って IBM が Elliot Joel Berk および C. Scott Ananian より使用許諾を得た以下のソフトウェアが含まれています。
- JLex v1.2.6
JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
Copyright 1996-2003 by Elliot Joel Berk and C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both the copyright
notice and this permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the authors or their employers not be used
in advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors and their employers disclaim all
warranties with regard to this software, including all implied warranties of
merchantability and fitness. In no event shall the authors or their employers be
liable for any special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether in an action of
contract, negligence or other tortious action, arising out of or in connection
with the use or performance of this software. Java is a trademark of Sun
Microsystems, Inc. References to the Java programming language in relation to
JLex are not meant to imply that Sun endorses this product.
iv.) IBM WebSphere Product Center には、以下の使用条件に従って IBM が International Business Machines Corporation およびその他の者より使用許諾を得た以下のソフトウェアが含まれています。
- ICU4J v2.8
ICU License - ICU 1.8.1 and later
COPYRIGHT AND PERMISSION NOTICE
Copyright (c) 1995-2003 International Business Machines Corporation and others
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
provided that the above copyright notice(s) and this permission notice appear in
all copies of the Software and that both the above copyright notice(s) and this
permission notice appear in supporting documentation.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD
PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization of the copyright holder.
-----------------------------------------------------------------------------
All trademarks and registered trademarks mentioned herein are the property of
their respective owners.