第 5 章 カタログの高度なトピック

この章では、カタログの作成およびカタログ内のコンテンツ管理に関する高度なトピックを扱います。


継承

WebSphere Product Center に継承の機能が開発されたために、類似したアイテムのためにアイテム情報を複製する必要が少なくなりました。したがって、ある 1 つのアイテムが別個のカテゴリーまたは別のアイテムから属性値を取得することが可能です。カタログで継承がインプリメントされたことの別の利点は、情報の保全性が高まったことです。複数のカタログに類似した属性値を作成する必要がないため、ユーザー・エラーの生じる可能性が低くなります。

WebSphere Product Center での継承の概念によって適切な種別の属性が提供され、属性の共通性により商品情報をモデル化し構成するという利点を十分に生かすことができます。 カタログは構造であり、複数のカタログで 1 つの値を共用したり、属性値のすべてのインスタンスを 1 つのカタログに当てはめたりできます。

継承とは、カテゴリー同士の間、アイテム同士の間、およびアイテムとカテゴリーとの間の関係です。あるオブジェクトが別のオブジェクトの親クラス (基本クラス/スーパークラス/祖先など) になります。 継承を使用すると、製品情報を新たに作成せずに、これを拡張できます。 もともとの状態の継承の場合、あるオブジェクトは別のオブジェクトと同じ動作をしますが、オーバーライドを制御することにより、この動作を拡張または調整し、特定の必要に合わせて特別なアクションを行うようにすることができます。

以下の応用例を考慮してみましょう。「テレビ」および「オーディオ・コンポーネント」というカテゴリーには両方とも、名前、タイプ、および説明の管理などの類似した属性があります。両カテゴリーに属性を別々に定義するのではなく、「ホーム・オーディオとビデオ」という新しい親カテゴリーの下に共通する属性を置くようにします。「オーディオ・コンポーネント」と「テレビ」は両方とも「ホーム・オーディオとビデオ」カテゴリーのサブカテゴリーとなり、どちらも「ホーム・オーディオとビデオ」カテゴリーの類似した属性を継承します。

「オーディオ・コンポーネント」カテゴリーと「テレビ」カテゴリーのどちらにも、固有の追加属性を追加できます。例えば、「オーディオ・コンポーネント」には、CD プレイヤーやレシーバーなどに関連した情報を含めることができます。一方、「テレビ」カテゴリーでは、ディジタル・テレビか、プロジェクション・テレビか、コンボ・テレビか、携帯用テレビかを記録できます。

継承を使用して製品情報を管理すれば、情報を拡張できます。継承を使用しないとすれば、苦労して情報を作成なければならないでしょう。もう 1 つ例を挙げます。あるカタログに親カテゴリー「Pentium 4 - 2GHz」があり、子カテゴリーはモデル番号によって整理されているとします。継承を使用することにより、各「モデル」カテゴリーのすべてのアイテムは、以下の値を使用することになります。

完全システム - Pentium® 4 2.0GHz CD COA Win98、2000Mhz、ATX タワー/400w、1 年保証、(アップグレード可能)

特定のモデルのカテゴリーでこの値を変更するには、あてはまる継承ルールをオーバーライドし、説明を「Win98」から「Win2K」に変更することができます。

完全システム - Pentium® 4 2.0GHz CD COA Win2K、2000Mhz、ATX タワー/400w、1年保証、(アップグレード可能)

継承ルールの定義

属性の値を入手するためにどのパスを使うかを指示するには、継承ルールを定義します。 ターゲットを並べてパスをいったん定義したら、そのパスで見つかったすべてのデータを累積するのか、それとも優先順位が最高のデータ (デフォルトでは最初に見つかった値) を選択するのかということも継承ルールに指定しなければなりません。

定義するターゲットは、所定の属性のデータを含んだ階層かカタログでなければなりません。ターゲットの選択によって、適用される継承関係のタイプが決まります。例えば、アイテムが自分の値をターゲット・カテゴリーから入手する場合は、「アイテムからカテゴリー」の継承タイプがあてはまります。

ターゲットの継承ルールに変更が加えられた場合、その変更は、このターゲットを参照するすべてのオブジェクトに自動的に反映されます。したがって、継承された値は、ルール自体に加えられた変更事項を反映します。こうした動的な継承のおかげで、親カテゴリーの属性に変更を加えるだけで、すべての子アイテムまたは子カテゴリーを自動的に更新できます。

以下の例は、継承ルールの一例です。3 つのターゲットが定義されており、動的な継承の使用が適用されています。最初のターゲットにルール変更を加えると、そのターゲットを参照するすべてのオブジェクトにそれらの変更が追加されます。

副仕様

継承をサポートするために副仕様が使用されます。副仕様は仕様コンソールで作成され、マスター仕様 (カタログ仕様、階層仕様、および 2 次仕様) に割り当てられた場合にのみ使用されます。副仕様属性には他の仕様と異なる点があります。すなわち、固有でない、リンクを持たない、またカタログ仕様によって使用される場合にのみ基本キーにできる、という点です。


継承の概念

このセクションでは、継承に関連するさまざまな概念を説明します。WebSphere Product Center 内での継承のインプリメンテーションにはこれらの概念が適用されるため、これらを理解しておくことは重要です。

共用可能属性

同じ属性がさまざまなカタログおよび階層に存在するためには、属性を共用することが必要です。共用属性は、継承にとって要件の 1 つとなっています。ソース属性は、異なるカタログまたは階層内のどのターゲット属性から値を継承するかを知っていなければならないからです。

共用可能な属性によって、カテゴリー属性からアイテム属性への上位継承と、別々のカタログ内のアイテム属性同士での類似ノード継承が可能になります。

属性を共用するためには、すべての共用属性を定義するための副仕様を作成します。これらの共用属性は、次いで非共用仕様に追加されます。 新しいカタログ仕様を作成するときには、共用ノードを追加するオプションと、非共用ノードを追加するオプションがあります。

類似ノード継承

「類似ノード継承」の概念は、別のカタログにある、類似した継承キー (次のセクションを参照) を持つアイテムの同種の属性から、属性値を動的に継承するというものです。類似ノードは、類似ノード継承のジャンプを行うときの継承キーとして機能します。類似属性の継承値の受け取りは、別のカタログの中のアイテムのキー属性値に基づいて行われます。

類似ノード継承キー

オブジェクト同士の間の継承をインプリメントするための要件の 1 つは、類似ノード継承キーです。2 つのカタログの中には、さまざまなカタログ内の「類似」アイテムを識別するために使用される「類似」ノードがあります。両方の階層には、継承キーとして識別される類似ノードがなければなりません。これによりカテゴリーは、類似ノード継承を使ってカタログとカタログの間をジャンプできます。

上位継承

上位継承とは、アイテムが関連付けられているカテゴリー・ノードの同一属性から、属性値を動的に継承することです。 カテゴリー・ノードは、親カテゴリー・ノードの同じ属性から属性値を継承します。

継承パスの定義

継承ルールは、カタログおよび階層が継承可能な値を探す場所を定義します。このターゲットは、継承パスを指定することによって定義されます。値が見つからない場合、またはヌルである場合には、どの情報も使用されません。

アイテム属性値に基づいて継承パスを拡張する

継承パスはアイテムごとに異なる場合があります。したがって、どのパスをたどるかは、アイテムの属性値に応じて異なります。

多重継承

多重継承は、1 つのアイテムが複数のアイテムまたはカテゴリーから継承する場合に生じます。例えば、CD_ROM は値を「内蔵コンポーネント」カテゴリーから継承する場合もあれば「外付けコンポーネント」カテゴリーから継承する場合もあります。20 GB ハード・ディスクは値を「EIDE」カテゴリーから継承する場合もあれば「SCSI」カテゴリーから継承する場合もあります。

動的継承

動的継承により、時間の経過に伴うオブジェクトの変化や進化が可能になります。親カテゴリー構造の下に新規カテゴリーが追加されると、継承のパスも変化します。親カテゴリーに子カテゴリーの属性が保持されているため、親属性を変更すると子カテゴリーの属性も変化します。さらに具体的に言えば、動的継承とは、親カテゴリーの属性に追加、削除、または変更を加えたときに、自動的かつ動的に子アイテムまたはカテゴリーすべてが更新される機能のことを指します。

継承のオーバーライド

前のセクションでは、継承を使用して情報のグループを共通化し、単一のソースから情報のグループを更新できるようにする方法を詳述しました。ある属性が、自分にあてはまる継承ルールに従わない場合、継承をオーバーライドすることが許されています。

継承には、ユーザー定義の階層に基づいて値を継承する機能があり、これを「継承ルール」と言います。いつもデータが受け渡されるとは限らず、データを上書きしなければならない場合もあります。値を継承するそれぞれのオブジェクトで、データがどこから来たか、データが継承されたものか、それとも上書きされたものかを識別することが可能です。

例えば、テレビのカテゴリーには「説明」という属性があり、この属性の使用する値が以下のとおりであるとします。

あこがれのテレビがいっぱい
ベッド・ルームやキッチンのパーソナル・テレビから、最新式のホーム・シアターのための出窓サイズの HDTV 対応の傑作まで、すべて取りそろえています。テレビがお好きな方にはうってつけの場所です。

「デジタル・テレビ」は「テレビ」のサブカテゴリーであり、上記の値を使用します。「デジタル・テレビ」にあてはまる継承ルールをオーバーライドして、以下の値を割り当てることができます。

次世代のデジタル・セットで究極の経験を手に入れよう

  • カラー以来の最大の変化を楽しもう 
  • 真に迫った画像があなたの目を驚嘆させる
  • デジタル音声があなたの耳をびっくりさせる

継承値のオーバーライドには、以下の特徴があてはまります。

優先順位:

継承された値の累積

この概念は、属性が単一の継承値をリトリーブするのでは不十分な場合に使用されます。つまりこれは、継承ルールで定義されたターゲット・パス全体を属性がたどって行き、すべての値を累積して表示することと定義できます。

親カテゴリーから

あこがれのテレビがいっぱい
ベッド・ルームやキッチンのパーソナル・テレビから、最新式のホーム・シアターのための出窓サイズの HDTV 対応の傑作まで、すべて取りそろえています。テレビがお好きな方にはうってつけの場所です。

子カテゴリーから

次世代のデジタル・セットで究極の経験を手に入れよう

  • カラー以来の最大の変化を楽しもう 
  • ·13 真に迫った画像があなたの目を驚嘆させる
  • ·14 デジタル音声があなたの耳をびっくりさせる

マルチオカレンス継承

属性のグループのマルチオカレンス値が 1 より大きい場合、デフォルトでオンになるオプションは、継承パス全体に渡ってすべての値を累積し、オカレンスを追加し、継承された値をオーバーライドするというものです。

重要な制限: マルチオカレンスの継承は、グループ・ノードの累積継承のみをサポートしています。非累積のマルチオカレンスはサポートしていません。マルチオカレンスの単一属性の継承、またはグループ内でのマルチオカレンスの継承はサポートしていません。

以下に、マルチオカレンス継承の特徴を挙げます。

継承のワークフロー・サポート

ワークフローの一環として、アイテムとカテゴリーを更新することができます。ワークフローには、継承のソースと継承される属性を組み込んでおく必要があります。

以下は、継承のワークフロー・サポートの特徴です。

ローカライズされた属性の継承

継承はローカライズされた属性をサポートします。ローカライズされた属性は、個々の属性と見なされます。以下は、ローカライズされた属性の継承の特徴です。

継承ルールのインポートおよびエクスポート

環境の更新または再作成を容易にするために、ユーザーは継承ルールをインポートおよびエクスポートすることができます。


継承関係タイプ

このセクションでは、継承関係のさまざまなタイプを説明する前に、WebSphere Product Center オブジェクト同士の関係を概観します。これらのオブジェクトを以下のダイアグラムで例示します。

: このセクションではカテゴリー・ツリーという用語を使用しますが、アプリケーションではこれを階層と呼びます。

1. 階層とは、カタログ内のアイテムを整理分類するために使用される、カテゴリーの階層的な構造のことです。

2. カタログとは、アイテムのリポジトリー/コンテナーとして使用される、WebSphere Product Center の最も基本的なコンテンツ・オブジェクトです。

3. 階層はカタログに関連付けられます。単一の階層を複数のカタログに関連付けることもできます。したがってカタログは複数の階層と関連している場合があります。

4. アイテムは、任意の数のカテゴリー階層内にある、任意の数のカテゴリーにマップできます。

WebSphere Product Center に継承をインプリメントするにあたっては、製品の情報 (他の関連情報タイプと共用される) を拡張する 3 種類の関係を使用します。


カテゴリーからカテゴリー

カテゴリーからカテゴリーの関係により、階層内のカテゴリー同士の間で上位継承が可能になります。この関係を使えば、子カテゴリーは親カテゴリーから値を入手できるため、すべての類似したカテゴリー属性に同じ値を指定しないで済みます。

以下のダイアグラムでは、ユーザー定義の継承ルールの定義に従い、子カテゴリーは自分の値を親カテゴリーから継承し、孫カテゴリーは自分の値を子カテゴリーまたは親カテゴリーから継承します。

カテゴリーからカテゴリーの関係の値は、親カテゴリーのレベルで定義され、子カテゴリーに継承されます。カテゴリー階層内には複数の子カテゴリーがある場合があります。この場合、子カテゴリーはすべて自分の値を親カテゴリーから入手します。

継承ルールの定義

データ・パスの決定にあたってはカテゴリー階層が使用されるため、継承キーを識別する必要はありません。継承ルールは階層属性レベル (カテゴリー仕様) で定義されます。継承ルールにはターゲット・カテゴリーを指定する必要があります。必要に応じて、複数のターゲット・カテゴリーを選択できます。

特徴

ツリーを作成するときには、継承を使用可能にするかどうかを指定するオプションがある。カテゴリーの上位継承を使用可能にするには、このオプションを選択する必要がある。

継承をセットアップできるのは、階層仕様またはスタンドアロン仕様の中にある属性。

スタンドアロン仕様だけで使用されている属性に継承を設定するには、その属性が最低 1 つのカテゴリーに割り当てられていなければならない。

継承はカテゴリー階層の複数のレベルで機能する。


アイテムからカテゴリー

アイテムからカテゴリーの関係の値はカテゴリー・レベルで定義され、そのカテゴリーに関連するアイテムに継承されます。したがって、複数のアイテムが、関連するカテゴリーから自分の値を入手する、あるいはカテゴリーに割り当てられた自分の値を入手することがあり得ます。

アイテムからカテゴリーの関係の値はカテゴリー・レベルで定義され、そのカテゴリーに関連するアイテムに継承されます。したがって、複数のアイテムが、関連するカテゴリーから自分の値を入手する、あるいはカテゴリーに割り当てられた自分の値を入手することがあり得ます。

継承ルールの定義

アイテムの継承ルールは、カタログごとに属性レベルで定義されます。継承の流れは、階層の継承ルールで定義されているとおり、カテゴリー階層を上向きに巡回して行きます。

特徴

カタログ作成中にアイテムの上位継承を設定するには、以下のステップを実行する必要がある

継承は、カテゴリー階層の最低 10 個のレベルと、カタログ階層の 10 個のレベルを組み合わせたものを処理する

カテゴリー・マッピングを変更すると、表示される継承値が更新される


アイテムからアイテム

異なるカタログに属する 2 つのアイテムを、基本キーを通してお互いに関連付けることができ、お互い同士でデータを継承できます。1 つのアイテムの値は、他のカタログ内の「類似」アイテムによって定義されます。アイテムは 1 つのカタログの中では固有ですが、複数のカタログに現れてもかまいません。あるカタログでは別のカタログとは異なる値を保持しているかもしれませんが、アイテムからアイテムの関係により、値を継承できます。

1 つのアイテムの値は、他のカタログ内の「類似」アイテムによって定義されます。アイテムは 1 つのカタログの中では固有ですが、複数のカタログに現れてもかまいません。あるカタログでは別のカタログとは異なる値を保持しているかもしれませんが、アイテムからアイテムの関係により、値を継承できます。

継承ルールの定義

継承ルールは、ターゲット・アイテムを指定するカタログの属性レベル (カタログ仕様) で定義されます。アイテムが別のアイテムから値を継承するためには、カタログ・レベルで「継承キー」を指定することによって、類似ノードを定義する必要があります。

特徴


継承のインプリメント

特徴

WebSphere Product Center 内での継承のインプリメント方法を理解するためには、以下の特徴を理解する必要があります。

継承シナリオ

以下の例では、どのような場合に継承が有用であるかを示すシナリオを提供します。

例 1

多重継承は、1 つのアイテムが複数のアイテムまたはカテゴリーから継承する場合に生じます。例えば、CD_ROM は値を「内蔵コンポーネント」カテゴリーから継承する場合もあれば「外付けコンポーネント」カテゴリーから継承する場合もあります。20 GB ハード・ディスクは値を「EIDE」カテゴリーから継承する場合もあれば「SCSI」カテゴリーから継承する場合もあります。

例 2

親カタログ「Pentium 4 2Ghz」に以下の属性があります。

子カテゴリー「モデル」には以下の属性があります。

継承ルールが親階層レベルで定義され、どの副仕様を共用するかを指定します。こうして、子カテゴリーが親カテゴリーの値を継承できるようになります。

カテゴリーからカテゴリーの継承関係を適用することにより、新しい構造には両方のツリーからのすべてのカテゴリーが含まれることになります。こうして、親カテゴリーで定義された値が子カテゴリーに継承されます。


副仕様 - 継承可能な属性

副仕様により、高度な方法でデータ保全性を保持できます。単一副仕様のノードを複数のカタログで共用できるため、すべての関連カタログに渡って一貫している、単一の定義済み属性を作成することができます。

カタログ内で継承を作成することは、副仕様を使わなければ行えません。継承のインプリメントは、副仕様を使って行われます。これによって共用属性セットが作成されます。継承に使用できるのは副仕様の中の属性だけです。副仕様には必要な基本キーがありませんが、最低 1 つの属性を使用する必要があります。

副仕様の作成

副仕様を処理するときには、以下の特徴があてはまります。

副仕様の割り当て

副仕様を割り当てるときには、以下の特徴があてはまります。

以下の仕様 (「マスター仕様」と言う) が副仕様を使用できる。

マスター仕様または副仕様のいずれかまたは両方がローカライズされた場合、両方の仕様に同じロケールを関連付けないと、副仕様を割り当てることができない。

単一の副仕様を任意の数のマスター仕様に割り当てることができる。

任意の数の副仕様を単一のマスター仕様に割り当てることができる。

副仕様の属性は、マスター仕様に一度しか現れることができない。

ユーザーがマスター仕様へノードを追加するときには、副仕様を追加することができる。

副仕様を仕様に追加すると、副仕様の固有な属性がすべてマスター仕様の末尾に追加されるが、副仕様の名前は表示されない。重複するノードがある場合、エラー・メッセージが表示され、追加可能なすべてのノードが追加される。

マスター仕様の中で副仕様ノードを編集することはできない。

属性の出どころとなっている副仕様を表示することができる。マスター仕様で副仕様ノードをクリックすると、その詳細情報が表示される。

副仕様を通して追加したノードは、除去することができる。

副仕様が既に追加されている場合、それを再追加することにより、マスター仕様にないノードを探して (新しいノードも削除済みのノードも含む)、それらをマスター仕様の最後に追加できる。

副仕様の属性パラメーターを変更すると、それらのパラメーターが使用されているマスター仕様においても、パラメーターの動作が変化する。

継承の適用

このセクションでは、継承ルールを適用するために実行する各ステップを詳細に説明します。以下のステップでは、既存の仕様、カタログ、およびカテゴリーは使用せず、すべて新しく作成するものと想定します。

継承のためのカタログ仕様を作成する

このセクションの目的は、同じ副仕様を使用する 2 つのカタログ (親と子) を作成することです。

副仕様を作成する

1. 仕様コンソールで、仕様ツールバーから「副仕様」をクリックしてから、「新規」をクリックする。

2. 必要に応じて仕様にノードを追加する。ノードをすべて追加したら、「新規」をクリックします。

: 使用中の副仕様は削除できません。

新規カタログ仕様を作成する

目的: 親カタログと子カタログの 2 つのカタログ仕様を作成し、前のセクションで作成した副仕様からノードを追加します。

1. 仕様コンソールで、仕様ツールバーから「カタログ」をクリックしてから、「新規」をクリックする。仕様ツリー・ウィザードが表示されます。

2. 最初のカタログ仕様の名前を入力し、「次へ」をクリックする。

3. 必要に応じて非共用ノードを追加し、それから共用ノードを追加する。共用ノードを追加するには、新しく作成した副仕様をポップアップ・ウィンドウから選択します。副仕様からのすべてのノードがカタログ仕様に挿入されます。

: 共用ノードは、属性タイプ・アイコンの中に手のマークが付きます。 

4. 基本キーを選択し、「保管」をクリックする。

5. 2 番目のカタログ仕様を作成し、同じ副仕様を選択する。

継承のある階層を作成する

目的: 継承のための階層を構成します。

1. 階層コンソールから、「新規」をクリックする。「階層の作成」ウィザードが表示されます。

2. 階層の名前を入力する。

3. 「使用可能な継承を選択する (Select Inheritance Available)」で「はい」を選択し、「次へ」をクリックする。

4. 本書の目的上、「集約およびシンジケートのコード使用を選択する (Select Use Code for Aggregation and Syndication)」で「いいえ」を選択する。

5. 「階層の作成」をクリックする。階層コンソールに新しいツリーが表示されます。

: 階層名の横に表示される継承アイコンは、継承ルールがその階層に定義されるまでは表示されません。

継承のあるカタログを作成する

目的: このステップでは、前のセクションで作成したカタログ仕様を使用して、継承のあるカタログを 2 つ作成します。

1. カタログ・コンソールから、「新規」をクリックする。「カタログの作成」ウィザードが表示されます。

2. ウィザードの各ステップを完了する。

3. ステップ 2 で選択したのと同じ継承キーを使用して、別のカタログを作成する。

両方のカタログの作成が済むと、それらのカタログがカタログ・コンソールに表示されます。継承が構成されたカタログには、カタログ名の横に継承アイコンが表示されます。

 継承ルールを定義する

目的: 両方のカタログの継承ルールを編集して、継承パス (ターゲット) を正しく定義します。

1. カタログの横の継承アイコンをクリックする。継承ルール・テーブルが表示されます。「新規」をクリックします。

2. 「継承ターゲットの定義 (Define Inheritance Targets)」ウィザードを完了する。

3. 使用可能なターゲットを示すテーブルが表示される。ターゲット・パスを選択します。複数のターゲットを選択できます。「保管」をクリックします。

4. 必要に応じてそれぞれのカタログに継承ルールを定義する。

5. メニュー・パス「データ・モデル・マネージャー」>「仕様/マッピング」>「継承ルール・コンソール」を使用して、すべての継承ルールを表示する。


継承の使用フィーチャー

これで継承ルールですべてを設定できたので、カタログまたはカテゴリーにアイテムを入力することができます。以下のセクションでは、さまざまな継承関係タイプを適用する方法を説明します。

カタログにアイテムを入力する

1. 1 つのカタログに 1 つのアイテムを入力し、属性にデータを追加する。

2. 同じ SKU のアイテムをもう一方のカタログに入力する。

3. 「最新表示」をクリックして継承されたデータを表示する。

アイテムがターゲット・パスからの値を示していることに注意してください。以下のアイコンが使用できます。

継承パスを別のウィンドウに表示します。

継承されたアイテムからのデータを表示します。

「I」ボタンは、属性が自分にあてはまる継承ルールを使用していることを示します。「O」ボタンをクリックすると、属性にあてはまるルールがオーバーライドされます。

継承パスを表示する

をクリックすると、別個のウィンドウが表示されて、そこに各属性の継承パスが示されます。

継承ルールのオーバーライド

継承ルールをオーバーライドするには、「O」ボタンをクリックして属性値を変更します。「I」ボタンをクリックすれば元の値に戻すことができますが、これが保管されている場合には戻すことができません。

カテゴリー・データおよびカテゴリー継承を入力する

以下のステップを使用してカテゴリー・データを追加し、それから情報がどのように継承されるかを表示します。

1. 階層仕様を作成し、継承のある階層に追加する。

2, 継承ルールを更新し、階層を含める

3. アイテムが割り当てられているカテゴリーにデータを追加する

4. 継承のシナリオを見るためにアイテム中のデータを追加/変更する


問題および制限

カタログ構造内で継承をインプリメントすると、既存のカタログに影響を及ぼす可能性があります。安定性を保つため、テスト環境でデータの継承のテストを行うようにしてください。

継承キー = 基本キー

継承キーを指定するときには、基本キーとして設定されている属性を使用することをお勧めします。そうすれば、値は固有になり、何の問題も生じません。先に見たとおり、副仕様には基本キーがありません。しかし、定義されたノードが、カタログに使用される同一の基本キーとなる場合があります。

非固有継承キー

継承キーを非固有属性として定義することはできますが、これはお勧めしません。非固有継承キーを選択した結果は不確実です。属性が自分の値をどこから入手するかは、それぞれの場合で異なります。したがって、固有である属性を選択することをお勧めします。

関係のパフォーマンス

継承を使用するようにカタログを構造化した場合、どの継承関係を使用するかによって、パフォーマンスの結果はさまざまです。以下の継承関係のリストは、パフォーマンスを基準に評価して、高速な順に並べたものです。

エントリー作成スクリプト

データ入力画面に値を入力すると、通常、エントリー作成スクリプトが実行されます。エントリー作成スクリプトは、「カタログ属性」画面で定義できます。スクリプト記述の経験が豊富な、WebSphere Product Center の上級ユーザーがこのフィーチャーを使用するべきです。

循環参照の回避

継承を組み込む際に循環参照を作成することは不可能であり、WebSphere Product Center はユーザーがそうすることを許しません。例えば、3 つのアイテムがあるとします (アイテム 1、アイテム 2、およびアイテム 3)。継承を定義すると、アイテム 3 はアイテム 2 から値を探し、次いでアイテム 1 から値を探します。アイテム 3 から値を検索する継承パスを定義することは不可能です。

親の値の削除

継承ルールが関連付けられている属性値を削除する場合は、まず関連するすべての継承パスを表示して、他のカタログのデータ保全性を二重チェックすることをお勧めします。このフィーチャーを大きいカタログに対して使用する場合は、アプリケーションに対してすべての関連インスタンスを検索するよう指示が出されるため、操作の完了には長時間かかります。

継承を使用するようカタログを移行する方法

現行のカタログのセットの継承をインプリメントすることが望ましい場合は、副仕様の共用ノードを使って新しいカタログ構造を作成する必要があります。継承がインプリメントされているカタログを設計する最良の方法については、WebSphere Product Center と連絡を取ることをお勧めします。

注意が必要な他の制限


カスタマイズされたヘルプ・テキスト (コンテキスト依存)

WebSphere Product Center は、カスタマイズされたヘルプ・テキストを作成する機能を備えており、それにはヘルプ・テキストをコンテキスト依存にするオプションが含まれています。ヘルプ・フィーチャーはカタログ仕様レベルで定義されます。これは、カスタマイズされたヘルプ・ファイルへのリンクを識別します。したがって、カスタマイズしたヘルプ・ファイルすべてを別の場所に保管および保持できます。WebSphere Product Center はそのファイル・ロケーションにリンクされます。

ヘルプ・テキストの作成

1. 仕様コンソールから 1 次仕様を選択し、ヘルプ・テキストを定義するノードをクリックする。このノードにはローカライズされたノードが含まれます。このノードでは、ローカライズされたヘルプ・ファイルに対する定義を使用できます。

2. ドロップダウン・フィールドから「ヘルプ URL」を選択し、プラス・アイコンをクリックする。

3. 「ヘルプ URL」フィールドにカスタム・ヘルプ・ファイルのロケーションを入力する。

図 5. 1 – コンテキスト依存ヘルプへアクセスする

4. 「保管」をクリックして仕様に加えた変更を保管する。

5. ユーザーがカタログの中のアイテムを追加または編集すると、ヘルプ URL で定義されたノードの横にヘルプ・アイコンが表示される (「単一編集」画面のみ)。ヘルプ・ファイルにアクセスするには、「単一編集」画面内でノード名の横のボタンをクリックし、「属性に関するヘルプ (Help about attributes)」を選択します。

コンテキスト依存ヘルプを作成する

デフォルトでは、カスタマイズ・ヘルプ・ファイルにアクセスするには、「単一編集」画面からノードにアクセスします。「単一編集」画面でフィールドにアクセスしたらヘルプ・ファイルがアクティブになるようにしたい場合は、ユーザー定義設定を更新してください。以下のオプションを設定します。


ビュー

ユーザーはカタログ・ビューを使用して、どのアイテム属性を編集可能、読み取り専用、または非表示にするかパーソナライズできます。以下の目的でビューを作成します。

カタログが左ペイン、アイテム・リスト、またはコンテンツ・オーサリング画面に表示される方法をカスタマイズするために、カタログ・ビューを構成することもできます。以下の方法で、ビューを構成できます。

ビューとコア属性

ビューは属性のコレクションによって定義されます。以下のタイプのコレクションが含まれます。

生成済みのデフォルト・コア属性 すべてのオブジェクトでリトリーブおよび保管される、システム定義の属性です。これには、キー・ルールに違反するアイテムがデータベースに保管されないようにするために作成する属性だけが含まれています。すなわち、以下の属性です。
  • 基本キー
  • パス属性 (カテゴリーの場合のみ)
  • 必須属性 (1 次または 2 次仕様のいずれかのもの)
ユーザー定義コア属性 オブジェクトごとに検索と保管が必要な属性。これらの属性には、アイテムまたはカテゴリーが保管されるたびに検証または計算が必要な属性が含まれます。

ビューは以下の方法でコア属性を処理します。

焦点となるデータが検索および処理されることにより、ユーザー応答時間の改善やサーバー負荷の軽減という利点がある

システム・デフォルト・ビュー

各階層にはデフォルト・ビューが定義されています。このビューには、階層にあてはまるすべての属性が含まれます。ビューは、デフォルト・コア属性とユーザー定義コア属性の組み合わせとすることができます。

デフォルト値、固有フィールド、またはシーケンスのあるフィールドは、ユーザー定義コア属性または「新規アイテム・ビュー (new item view)」の中にあるものと見なすべきです。デフォルト値のあるフィールドがそのコア属性またはビューの中にない場合、そのフィールドが別のビューからのものでない限り、そのフィールドにデータが取り込まれることは決してありません。

ビューの管理

ビューは、カタログ・コンソールで作成、削除、および変更が行われます。ビューは、ビューのドロップダウン・リストを備えているあらゆる画面で使用できます。

カタログ・ビューの作成

1. カタログ・コンソールからカタログを選択し、「ビュー」ボタンをクリックする。カタログ・ビュー・ウィザードが表示されます。1 つのカタログを選択する必要があります。

2. 新規のカタログ・ビューの名前を入力し、「次へ」をクリックする。

3. 左の列から属性を選択し、「表示可能を追加」または「編集可能を追加」ボタンをクリックする。右の列に選択が表示されます。4 つのビュー構成領域があります。

4. すべての選択が完了したら、「保管」ボタンをクリックする。新規ビューが正常に作成されたというメッセージが表示されます。

5 新規ビューを使用するには、「カタログ・コンソール」からカタログを選択し、ビューの列からビューを選択する。 

カタログ・ビューの削除

システム・デフォルト・ビュー以外は、どのカタログ・ビューでも削除できます。カタログ・ビューを削除するには、まずカタログ・コンソールからこれを選択する必要があります。

1. 「ビュー」の列からカタログ・ビューを選択し、「編集」ボタンをクリックする。「カタログ・ビューの作成/編集」ページが表示されます。

2. 「削除」ボタンをクリックすると、確認ダイアログ・ボックスが表示されるので、「OK」をクリックする。

カタログ・ビューの変更

既存のビューに変更を加えるには、以下のようにします。

1. 「カタログ・コンソール」にナビゲートする。

2. 変更を加えたいビューに関するカタログで、「ビュー」列からビューを選択する。

3. ビューの横にある「編集」ボタンをクリックする。

カタログ・ビューの使用

カタログ・ビューは、「カタログ・コンソール」、「アイテム編集」、または「複数編集」画面から変更できます。

既存のビューを使用するには、以下のようにします。

1. 「カタログ・コンソール」にナビゲートする。

2. 使用したいビューに関するカタログで、「ビュー」列からビューを選択する。

3. ビューを選択すると、そのビューは自動的に適用され、次回のログオン時に認識される。「単一編集」および「複数編集」画面でビューに変更を加えることもできます。


タブ付きビュー

カタログのために作成されたカスタマイズされたビューは、表示可能または編集可能になる属性、および基本レイアウトで表示可能になる属性を制限します。WebSphere Product Center にはカタログのためにタブ付きビューを作成する機能があり、これによってカタログの属性の長いリストをスクロールする必要が少なくなります。

タブ付きビューは現行のカタログ・ビューから作成できます。同じ属性を複数のタブ付きビューに表示することができます。ただし基本キーは例外で、これは各タブ・ビューの最上部に現れます。

タブ付きカタログ・ビューの作成

カタログ・ビューを作成するときにタブ付きビューを作成して、アイテムの表示方法をさらに操作することができます。

1. カタログ・コンソールからカタログを選択し、「ビュー」ボタンをクリックする。1 つのカタログを選択する必要があります。

2. 新規のカタログ・ビューの名前を入力し、「次へ」をクリックする。

3. すべてのタブ・ビューに表示する属性コレクションをすべて選択し、「表示可能を追加」または「編集可能を追加」をクリックする。ここで属性を選択しないと、タブ付きビューを作成するときにその属性は表示されません。

4. 「保管」をクリックし、タブ付きビューを作成する前にカタログ・ビューを作成する。

5. 「タブ・ビュー」ボタンをクリックして「タブ・ビュー」ページにアクセスし、「新規」をクリックして新しいタブ・ビューを作成する。カスタマイズされたビューから選択されたすべての属性のリストがタブ詳細テーブルに表示されます。

6. タブ・ラベルに表示されるタブ名の名前を入力し、タブに表示される属性コレクションを選択して、「保管」をクリックする。

:「追加 >>」は、属性コレクションをタブ・ビューに追加するために使用します。

タブが「タブ・ビュー」テーブルにリストされます。それぞれのタブに新規のタブ・ビューを作成する必要があります。

タブ・ビューを編集する

タブ・ビューで属性コレクションを追加または削除するには、タブ・ビューを編集する必要があります。

1. カタログ・コンソールから、タブ・ビューでカスタマイズされたカタログ・ビューを選択し、「編集」ボタンをクリックする。

2. 「タブ・ビュー」ボタンをクリックする。「カタログ用タブ」テーブルが表示されます。

3. 編集するタブ・ビューの横にあるラジオ・ボタンをクリックし、「編集」ボタンをクリックする。

4. 必要に応じてタブ・ビューに属性を追加または除去し、「保管」をクリックして変更をコミットする。

タブ・ビューを削除する

カタログ・ビューが不要になって、これを削除した場合、関係するタブ・ビューもすべて削除されます。単一のタブ・ビューを削除するには、以下のようにします。

1. カタログ・コンソールから、タブ・ビューでカスタマイズされたカタログ・ビューを選択し、「編集」ボタンをクリックする。

2. 「タブ・ビュー」ボタンをクリックする。「カタログ用タブ」テーブルが表示されます。

3. 削除するタブ・ビューの横にあるラジオ・ボタンをクリックし、「削除」ボタンをクリックする。

タブ・ビューを再配列する

タブ・ビューを配列しなおすことができます。

1. カタログ・コンソールから、タブ・ビューでカスタマイズされたカタログ・ビューを選択し、「編集」ボタンをクリックする。

2. 「タブ・ビュー」をクリックする。「カタログ用タブ」テーブルが表示されます。

3. 再配列するタブ・ビューの横にあるラジオ・ボタンをクリックし、上または下矢印ボタンをクリックする。


カタログのリンク

WebSphere Product Center のリンク・フィーチャーは、カタログ仕様にのみ使用可能です。2 つ以上の他のカタログからの情報を含む 1 つのカタログを作成するには、2 つ以上の他のカタログへのリンクを持った子カタログを作成します。

あるカタログ (「ソース」または「マスター」カタログ) を 2 番目のカタログ (「宛先」または「子」カタログ) にリンクすると、宛先カタログの中のアイテムを、ソース・カタログ内にあるそれぞれにリンクされたアイテムの属性で補うことが可能になります。

カタログ・リンクの目的および前提条件

カタログ・リンクの目的:

前提条件

例 1:

例 2:

複数の顧客カタログが同じ説明と表示価格を共用しているものの、顧客の価格はそれぞれ異なる。

例 3:

カタログ同士をリンクすると、商品情報が「正規化」される。

カタログの体系を設計する

リンクされたカタログの体系を設計するときには、カタログの情報をどこからリトリーブするかを決めます。

カタログをリンクする方法には 2 種類あり、それぞれ関係のタイプが異なります。

: 注意の必要な重要な点として、子カタログ内の 1 つの属性が持つことのできるリンクの数は、最大で 1 つです。したがって、2 つのカタログを 1 つのカタログにリンクするには、それぞれの子カタログに 1 つのリンクが必要です。

事例 1

子カタログ内の両方のリンクが選択されます (おそらく同じ SKU のもの)。使用されるシンジケート・スクリプトが、データの扱い方を決定します。

事例 2

この事例の場合、2 つのカタログのうち 1 つだけがリンクされます。カタログがエクスポートされるときに、インポート・スクリプトがデータ出力を定義します。以下の図では、子カタログはマスター・カタログにリンクされています。

カタログをリンクするステップ

カタログ間のリンクを作成する際に行うステップは複数あります。

ソース属性の選択

ソース属性とは、「マスター」・カタログにマップされるサブカタログ中の属性のことです。タイプ・リンクの属性が 1 つしかない場合は、この属性だけがドロップダウン内で使用できます。タイプ・リンクの属性がない場合は、ドロップダウン・フィールドを使用できません。

リンク先のカタログの選択

カタログのリスト内で、属性のリンク先のカタログを選択します。現在リンクを作成中のカタログを除く、システム中のどの既存のカタログでも選択できます。

宛先属性の選択

カタログを選択する際に、宛先属性のフィールドには、デフォルトではマスター・カタログの基本キーが表示されます。このフィールドは、サブカタログにリンクするのに使用します。サブカタログ中のアイテムからマスター・カタログ中のアイテムへのリンクを作成するには、マスター・カタログ中のアイテムの基本キーに対応するサブカタログ中のアイテムのソース属性中の値を入力します。

カタログ同士の間のリンクの作成

以下のステップは、下記のユース・ケースにおける、カタログをリンクする例を示しています。 

複数の顧客カタログが同じ説明と表示価格を共用していますが、顧客の価格はそれぞれ異なります。

1. 単一のマスター・カタログを作成して、マスター・アイテム番号、説明、および表示価格を保持する。

2. 顧客の価格だけを保持する子カタログを顧客ごとに作成する。

3. ソース属性を含むカタログのカタログ属性を表示する。

4. 「カテゴリー詳細 (Category Detail)」画面から、ソース属性名、商品カタログ、および宛先属性名 (どれも別のカタログへのリンクを定義) を選択する。

5. 「追加」をクリックして、新規リンクを追加する。


カタログからカタログへのエクスポート

印刷カタログ (あるいは任意のカタログ) を別のカタログから簡単にロードできるようにするには、「カタログからカタログへのエクスポート」を使用してください。「カタログからカタログへのエクスポート」を使うと、カタログから別のカタログへ、カテゴリーとアイテムがロードされます。

カタログからカタログへのエクスポートのセットアップ

メニュー・パス「プロダクト・マネージャー」>「カタログ」>「カタログからカタログへのエクスポート」>「カタログからカタログへの新規エクスポートを使用します。「カタログからカタログへのエクスポート」ウィザードが表示されます。ウィザードの各ステップを完了します。

1. カタログ・ソースを選択する: エクスポートに使用するソース・カタログを選択する

2. エクスポートするアイテムのグループ: カタログ全体か、保管された選択 

3. 「カタログからカタログへのエクスポート・タイプ」を選択する: バージョン内のすべてのアイテム、2 つのバージョン間の内容の差分、最後のバージョンからの差分

4. カタログ宛先を選択する: カタログ宛先が作成されていない場合は、次のステップに進む前に 1 つ作成しなければならない

5. カタログからカタログへのマッピングを選択する: ソース・カタログ内のフィールドを宛先カタログのフィールドへマップする

6. 「カタログ間エクスポート・スクリプト」を選択する: デフォルトで、これには自動生成されるスクリプトが組み込まれる

7. 承認権限の選択: オプション - エクスポートに関する承認権限を選択する

9. 「カタログ・エクスポート」名を選択する - カタログ・エクスポートの名前を入力する

カタログからカタログへのエクスポートのステップがすべて完了したら、「エクスポート・コンソール」から「カタログからカタログへのエクスポート」を実行します。エクスポートは、他のエクスポート・ジョブなどのスケジューラーに送信されます。