データ・モデルの概要は、「アセット・モデルの理解」を参照してください。フレックス・アセット・タイプの詳細は、次の項を参照してください。
フレックス・ファミリ・メーカー・ユーティリティを使用して、フレックス・アセット・タイプを作成します。フレックス・アセット・モデルで作業する際には、フレックス・アセット・タイプ、およびそれらのタイプの各データ構造のアセットを作成します。フレックス属性、フレックス親定義、フレックス定義、フレックス親アセットなどのタイプの個々のデータ構造のアセットも作成します。
通常、フレックス・アセット・タイプを設計し、開発システムでデータ構造アセットを作成します。データ・モデルの準備ができたら、それを開発システムから管理システムと配信システムに移行します。
フレックス・ファミリ設計時には、開発者は次の2つの対象読者のニーズを満たすデータ構造を作成します。
オンライン・サイトへの訪問者(配信システムのユーザー)
WebCenter Sitesデータベースにデータを入力するコンテンツ・プロバイダ(管理システムのユーザー)。
この項には次のトピックが含まれます:
オンライン・サイトへの訪問者が参照する画面は、次のアセット・タイプに基づいています。
フレックス・アセット
フレックス属性
オンライン・サイトのページには、属性値(searchstates)に基づいた問合せによる訪問者向けフレックス・アセット(assetsets)が表示されます。詳細は、「assetsetおよびsearchstate」を参照してください。オンライン・サイトの階層の外観を指定するには、ドリルダウン検索の基準として属性値を使用します。
管理システムのユーザーは、次のフレックス・アセット・タイプで作成したビジュアルな階層構造により移動します。
フレックス親定義
フレックス定義
フレックス親
これらのアセット・タイプを使用して作成する組織構造はデータに影響を及ぼしますが、どの属性値をどのフレックス・アセットが継承するかを決定します。最大の影響を受けるのは管理システムのユーザーです。
フレックス親とフレックス親定義の使用は必須ではありませんが、それらの継承プロパティはオンライン・カタログなどの大量のデータを維持するユーザーには有効なツールとなります。
親レベルの属性値を変更すると、その親の子供であるフレックス・アセットはすべてその値に変更されるため、値を一度変更するだけで済みます。
継承された属性値はユーザーのエラーの影響を受けないため、データのクリーンアップの必要が少なくなります。
コンテンツ・プロバイダ用に作成する継承ツリーは、設計中のオンライン・サイトをサイト訪問者が移動する方法とは何の関係もありません。たとえば、なんらかの完全に自動化されたプロセスで管理システムにコンテンツが入力された場合(ERPシステムからバルク・ロードされた場合など)、親アセット・タイプをまったく必要とせずに、オンライン・サイトでドリルダウン検索を作成できます。
「assetsetおよびsearchstate」で説明されているとおり、問合せ(searchstates)は属性に基づいており、親定義やフレックス定義の組織構造に基づいていないため、共通の属性タイプを共有するフレックス・アセットのみが同一のassetsetに所属できます。
個別の属性タイプを使用するようにデータを編成すると、管理システムでは非常に明確なインタフェースを作成できることがありますが、配信システムではそのデータが適切に合成されません。通常、システムに対して1タイプの属性を作成する必要があります。その他のファミリ・メンバーを複数バージョン作成できますが(フレックス・アセット・タイプ、フレックス定義タイプ、フレックス親タイプおよびフレックス親定義タイプ)は、その場合でも属性の同一プールを共有する必要があります。たとえば、avisportsサンプル・サイトでは、記事アセット・タイプとイメージ・アセット・タイプが同一の属性タイプを共有します。したがって、記事およびその記事に対応するイメージが含まれたassetsetを作成できます。
属性の作成を開始する前に、それを紙上で設計します。必要な属性をすべて指定し、フレックス・アセットまたはフレックス親を使用してそれらを表示する場所を決定します。まず、階層の最下位レベル(製品などのフレックス・アセット・タイプの個々のインスタンス)を計画し、そのレベルの各アイテムに必要な属性を指定します。たとえば、フレックス・フィルタ・アセットを作成する前に、フィルタに対して入力と出力の属性として作成して定義に割り当てる必要のある属性を指定します。
必要なフレックス属性の使用を計画する方法に応じて、作成時に説明する必要のある依存性が作成されるため、それらの属性を事前にすべて指定する必要があります。
属性に対して有効なデータ型とそれらのデータ型のデフォルト入力タイプを評価します。どのデータ型がどの属性に最も効果的に機能するか確認します。属性に対するデフォルトの入力スタイルを変更するには、そのための属性エディタを作成してから属性を作成します。詳細は、「属性エディタの設計」を参照してください。
タイプblob
の属性を使用するフレックス・アセットを作成する場合、「調査」フォームに入力する属性値の書式はそのタイプに応じて異なります。たとえば、テキスト・ファイルではファイルの最初の200バイトが表示されます。イメージ・ファイルはサムネイル・イメージとして表示されます。一部のファイルはまったく表示できません。この場合、WebCenter Sitesではファイル名は表示できませんというメッセージが表示されますが、ファイルの場所は正常に記録されています。
属性に対するデフォルトの入力タイプは、選択するデータ型に応じて異なります。デフォルトの入力スタイルを使用するかわりに、属性エディタを作成できます。
フレックス・アセットとその属性エディタの作成は、反復プロセスになります。まず属性エディタを作成するか、最初に属性を作成して、戻って属性エディタを割り当てます。属性エディタの作成のプロセスの詳細は、「属性エディタの設計」を参照してください。
タイプblobの属性について
タイプblob
の属性のデフォルト入力スタイルは、「参照」ボタンの付いたテキスト・フィールドです。「参照」をクリックし、ファイルを検索して選択すると、WebCenter Sitesによって、デフォルトの記憶域ディレクトリにアップロードされます。WebCenter Sitesフォームを使用してファイルのコンテンツを編集できません。
WebCenter Sitesフォームを使用して外部ファイルに直接コンテンツを入力できるようにするには、属性エディタを属性に割り当てる必要があります。
TEXTAREA
入力スタイルを使用する属性エディタの場合、最大2,000文字を入力できるフィールド(フォームを使用して入力)を作成します。保存すると、そのコンテンツがデフォルトの記憶域ディレクトリに書き込まれます。
CKEditorでは、CKEDITORフィールドを使用して属性が表現する外部ファイルのコンテンツを編集できます。
タイプAssetの属性について
タイプAssetの属性に対するデフォルトの入力スタイルは、指定されたタイプのすべてのアセットのドロップダウン・リストです。該当するタイプのアセットが20を超える場合、フィルタのないドロップダウン・リストはお薦めしません。
通常、タイプ・アセットの属性を作成するたびに、それに属性エディタを割り当てる必要があります。
PICKASSET
スタイルを使用する属性エディタは、ツリーがWebCenter Sitesインタフェースのオン/オフで切り替えられるかどうかを確認します。ツリーがオンの場合、ユーザーはツリーのタブからアセットを選択できます。ツリーをオフに切り替えると、属性エディタの「ブックマーク」タブと「履歴」タブで、アセットのリストを表示するダイアログ・ボックスが表示されます。
もう1つのオプションは、PULLDOWN
スタイルの使用ですが、リストに表示されるオプションを制限する問合せアセットを入力するものです。
有効な選択肢となるアセット数が少ない場合、CHECKBOXES
入力スタイルまたはRADIOBUTTONS
入力スタイルを使用し、両方ともアセットを識別する問合せアセットを必要とします。
属性のリストを指定した後、それらをフレックス定義またはフレックス親定義のどちらで使用するかを指定します。次のガイドラインに従って、論理的にソートします。
属性の値が個々のフレックス・アセット(製品、記事、イメージなど)で一意の場合、その属性はフレックス・アセットのツリーの最下位に属します。
属性値が複数のフレックス・アセットで同一の場合、その属性は親に属します。もちろん、常に例外があります。たとえば、トースタの費用がボーリングのボールと同額であっても、共通の親からその値段を継承しているとは思えません。
その属性の配置に基づいて、必要なフレックス定義の数と親定義の数を指定できます。
個々のフレックス・アセットまたはフレックス親に使用できる、または使用する必要のある属性の数に関しては、物理的制限(DBMSに基づく)と心理的制限(ユーザーの満足度)の両方があることに注意してください。誰かがそのすべての値を入力する必要があります。必ず、実際に使用する予定がある属性のみを作成し、定義に割り当てます。追加の属性が必要な場合には、属性をさらに追加できます。
管理システムのデータの外観と入力は、フレックス・アセット定義とフレックス親定義に基づいています。親とフレックス・アセットは、定義によって作成する階層に基づいてツリーのタブに表示されます。
通常、最も望ましいのは、ファミリ内の各フレックス・アセット・メンバーに対して個々の定義タイプを作成することです。たとえば、avisportsサンプル・サイトでは、記事アセット・タイプとイメージ・アセット・タイプが同一の属性タイプを共有しますが、異なる親とフレックス定義を持ちます。記事アセットの定義には、記事に関連する属性のみが含まれますが、イメージ・アセットの定義には、イメージ・アセットに関連する属性のみが含まれます。記事アセットに適用されない属性とイメージ・アセットに適用されない属性があるため、同じ親および定義を共有する記事アセットとイメージ・アセットでは、一部の属性が両方のタイプのアセットで空白のままになります。
WebCenter Sitesインタフェース内のツリーのタブの階層は、フレックス親定義とフレックス定義を介して作成されます。
階層を3レベルの深さに設定するには、少なくとも2つの親定義と少なくとも1つのフレックス定義が必要です。
階層を2レベルの深さに設定するには、少なくとも1つの親定義と少なくとも1つのフレックス定義が必要です。
構造的階層をフレックス定義とフレックス親定義を使用して設定する際には、必ず、ユーザビリティの基本的な原則を考慮してください。例:
コンテンツ・プロバイダがツリーで所在位置が分からなくなるまでの階層の深さ。
入力中にユーザーのエラーの可能性を軽減するために継承できる属性値の数。
ドロップダウン・リスト内に無理なく表示できるオプションの数。
コンテンツ・プロバイダは、複雑なシステムの使用を回避しようとします。データ構造をオンライン・サイトのフレックス・ファミリを使用して設計する際には、次のルールに注意してください。
慎重な計画に従った、使用しやすいアセット設計(データ設計)は、コンテンツ・プロバイダを満足させます。
使用可能なレイアウトと効率的なコードは、サイト訪問者を満足させます。
どちらのユーザー・グループも、適切に実行する効率的なシステムを必要としています。
WebCenter Sitesにログインして、avisportsサンプル・サイトにアクセスし、新しいコンテンツの親定義または新しいコンテンツの定義に対するフォームを調べることができます。
これらのフォームの「親定義」セクションで、次の2つの項目を指定します。
この定義を使用するアセットの階層での位置。
属性の継承元の親
階層位置が管理システムのOracle WebCenter Sites: Contributorインタフェース内のみを対象としていても、継承される属性は管理システムとオンライン・サイトの両方を対象としている点に注意してください。
「使用可能」テキスト・ボックスには、既存の親定義がすべて表示されます。フォームのこのセクションを使用して、可能な親数を指定します(「使用可能」リストから親定義を選択して、「選択済」リストに移動してください)。
アセットまたはフレックス・アセットを作成すると、親またはフレックス・アセットの定義を指定する定義フィールドが「新規」フォームに表示されます。親またはフレックス・アセットを作成する際に使用する定義を作成してある場合、選択できる定義は、「使用可能」リストから選択した定義によって決定されます。
注意:
デフォルトでは、作成している親またはフレックス・アセットに使用可能な定義がドロップダウン・リストに表示されます。ただし、親定義を作成する場合、ドロップダウン・リスト、先行入力フィールド、またはドロップ・ゾーン(ツリーから選択)フィールドのいずれに表示されるかを指定できます。
アセットは、「新規」フォームで選択した親の属性値(存在する場合)を継承します。「使用可能」リストから親定義を選択すると、その分、新しいフレックス・アセットを作成する際にコンテンツ・プロバイダが入力するフィールドが増えます。「使用可能」リストで親定義を選択しない場合、この定義で作成されたアセットが、フレックス・アセットを表示するタブのツリーで最上位に配置されるようになります。親定義、フレックス定義、親アセットおよびフレックス・アセットが相互作用する方法を理解するには、avisportsサンプル・サイトで配信されるアセットを調べてください。
親定義フォームの「属性」セクションで属性継承を構成できます。そのセクションを使用して、この定義で作成された親を定義する属性を指定します。この定義で親を作成すると、これらの属性に入力された値は親アセットの子のフレックス・アセットに渡されます。
必要なフレックス親定義アセット数、およびそれらの定義の親アセット数を決定する際には必ずユーザビリティを考慮してください。新しい親およびフレックス・アセット・フォームの短いドロップダウン・リストの場合、各定義の親が少なくなるように、多くの親定義を作成します。しかし、少数の親定義と多数の親を含めるには、すべての親を表示するタブを作成して、コンテンツ・プロバイダがタブから正しい親を選択できるようにします。
フレックス・ファミリ・メーカーを使用してフレックス・ファミリを作成すると、次の操作が実行されます。
複数のデータベース表を作成します(数は作成するフレックス・アセット・タイプに応じて異なります)。
新しいフレックス・ファミリの情報を次の表に書き込みます。
FlexAssetTypes
: 各フレックス・アセット・メンバー・タイプの行を保持します。
FlexGrpTmplTypes
: 各フレックス親定義タイプの行を保持します。
FlexGrpTypes
: 各フレックス親タイプの行を保持します。
FlexTmplTypes
: 各フレックス定義タイプの行を保持します。
次のネーミング規則を使用して、ElementCatalog
表に新しいディレクトリを作成します。
OpenMarket/Xcelerate/AssetType/
NameOfYourAssetType
ElementCatalog
表からのエレメントを、アセット・タイプに作成されたディレクトリにコピーします。WebCenter Sitesでは、これらのエレメントを使用して、該当するタイプのアセットの「新規」フォーム、「編集」フォーム、「調査」フォーム、「検索」フォームおよび「検索結果」フォームが書式設定されます。
フレックス・アセットおよびフレックス親アセットのメイン・データベース表の詳細は、「フレックス・ファミリとデータベース」を参照してください。
新しいアセット・タイプを作成すると、フレックス・ファミリ・メーカーによってエレメントがElementCatalog
表の次の場所にコピーされます。
OpenMarket/Xcelerate/AssetType/NameOfAssetType
たとえば、avisportsサンプル・サイトの記事アセット・エレメントは次の場所にあります。
OpenMarket/Xcelerate/AssetType/AVIArticle
これは、検索エレメントが使用し、OpenMarket/Xcelerate/AssetType/
NameOfAssetType
のSystemSQL
表に配置されるSQL文も作成します。
エレメントおよびフレックス・ファミリ・メーカーによってコピーされるSQL文は、「アセット・タイプに対応したエレメントとSQL文」を参照してください。フレックス・アセットのエレメントは、AppendSelectDetailsSE
エレメントを除いてベーシック・アセット・エレメントと同じです。
オンライン・サイトのコンテンツを表現するフレックス・アセットのデータ・モデルを使用している場合、他の開発者はフレックス・アセット・タイプのみを作成しているのではありません。それらのタイプ(フレックス属性、フレックス親定義、フレックス定義およびフレックス親アセット)の個々のデータ構造のアセットも作成します。
注意:
この項のトピックは、新しいフレックス・アセット・ファミリの作成順に説明されます。フレックス・ファミリを初めて作成するには、トピックの説明順にこの手順に従います。
この項には次のトピックが含まれます:
フレックス・アセット・タイプの有効化(開発システムのすべてのWebCenter Sitesサイトで有効化し、すべての新しいセット・タイプのスタート・メニュー・ショートカットを作成)。
フレックス属性の作成(および属性エディタの設計)。属性エディタの詳細は、「属性エディタの設計」を参照してください。
(条件付き)フレックス・フィルタ・アセットの作成(フレックス・フィルタの詳細は、「フレックス・フィルタの作成」を参照)。
アセット・タイプのアイコンの作成と割当て(Contributorインタフェースのみ) (「サムネイル」ビューで表示される検索結果リストにフレックス・ファミリのメンバーを表します)。
設計のテスト(テスト用フレックス・アセットの作成) (十分なフレックス・アセットを作成して、設計したデータ構造を調べます)。
他のシステムへのアセット・タイプの移動。詳細は、『Oracle WebCenter Sitesの管理』を参照してください。
新規フレックス・ファミリを作成するには:
注意:
WebCenter Sitesでは、データベースの基礎となる大文字/小文字の区別に関係なく、フレックス・アセットの名前の大文字/小文字は区別されません。既存のアセットの名前で大文字/小文字が異なるフレックス・ファミリを作成すると、WebCenter Sitesによって、それ以外のフレックス・ファミリが既存のアセット・タイプに追加されます。たとえば、{Product_A, Product_PD, Product_CD, Product_P, Product_C}
のフレックス・ファミリがすでに存在し、{PRODUCT_A, PRODUCT_PD, PRODUCT_CD, PRODUCT_P, myProduct_C}
のフレックス・ファミリを作成しようとすると、WebCenter Sitesは、既存のアセット・タイプを使用して、{Product_A, Product_PD, Product_CD, Product_P, myProduct_C}
のフレックス・ファミリを作成します。
「一般的な管理」ツリーで「管理」ノードを選択します。
「フレックス・ファミリ・メーカー」を開いて、「新規ファミリの追加」をクリックします。
「新規フレックス・ファミリの追加」フォームが開きます。
「新規フレックス・ファミリの追加」フォームで、次のフィールドにフレックス・ファミリのメンバーの名前を入力します。
「フレックス属性」フィールドに、新規フレックス属性のアセット・タイプの名前を入力します。
このフィールドに入力する名前は、新規属性のアセット・タイプの内部名です。それがこのアセット・タイプに対応するコア表の名前およびすべての補助表の接頭辞になります。
注意:
3つの接尾辞が予約されています。フレックス属性には、末尾が_size
、_type
または_file
の名前を使用できません。たとえば、broadformsize
は使用できるフレックス属性名ですが、broadform_size
は使用できません。
「フレックス親定義」フィールドに、新規フレックス親定義のアセット・タイプの名前を入力します。
このフィールドに入力する名前は、新規親定義のアセット・タイプの内部名です。それがこのアセット・タイプに対応するコア表の名前およびすべての補助表の接頭辞になります。
「フレックス定義」フィールドに、新規フレックス定義のアセット・タイプの名前を入力します。
このフィールドに入力する名前は、新規フレックス定義のアセット・タイプの内部名です。それがこのアセット・タイプに対応するコア表の名前およびすべての補助表の接頭辞になります。
「フレックス定義」フィールドに、新規フレックス親アセット・タイプの名前を入力します。
このフィールドに入力する名前は、新規親のアセット・タイプの内部名です。それがこのアセット・タイプに対応するコア表の名前およびすべての補助表の接頭辞になります。
「フレックス・アセット」フィールドに、新規フレックス・アセット・タイプの名前を入力します。
このフィールドに入力する名前は、新規フレックス・アセット・タイプの内部名です。それがこのアセット・タイプに対応するコア表の名前およびすべての補助表の接頭辞になります。
「フレックス・フィルタ」フィールドに、新規フレックス・フィルタのアセット・タイプの名前を入力します。
このフィールドに入力する名前は、新規フレックス・フィルタのアセット・タイプの内部名です。それがこのアセット・タイプに対応するコア表の名前およびすべての補助表の接頭辞になります。
「続行」をクリックします。
「新規フレックス・ファミリの追加」フォームが開きます(図6-1)。WebCenter Sitesによって、「説明」フィールドと「複数形」フィールドに自動的に移入されます。
図6-1 「新規フレックス・ファミリの追加」ダイアログ
「新規フレックス・ファミリの追加」フォームで、次を実行します。
ファミリのメンバーごとに独自の値を「説明」フィールドに入力するには、アセット・タイプの外部名、つまりWebCenter Sitesに表示される際のアセット・タイプの名前を入力します。これは、フォーム(「新規」、「編集」、「調査」など)に表示される名前です。
ファミリのメンバーごとに独自の名前を「複数形」フィールドに入力するには、その名前の複数形を入力します。このバージョンは、必要に応じてステータス・メッセージなどで使用されます。
「新規フレックス・ファミリの追加」をクリックします。
フレックス・ファミリ・メーカーにより、これらのタイプのアセットを格納するデータベース表が作成されます。これらの表の詳細は、「フレックス・ファミリとデータベース」を参照してください。
また、これらのタイプのアセットでフォームの書式を設定するエレメントが、ElementCatalog
表とSystemSQL
表のアセット・タイプの名前を持つディレクトリにコピーされます。
フレックス・ファミリ・メーカーによって、新しいフレックス・ファミリが作成されると、新しいフレックスファミリを構成するためのアイコンおよび管理フォームも作成されます(「管理」タブに配置)。
「一般的な管理」ツリーで、「管理」ノードを開き、「アセット・タイプ」アイコンを開きます。
「アセット・タイプ」で、新しいフレックス・ファミリのアセット・タイプの1つを選択します。リストでフレックス・ファミリのアセット・タイプを確認するには、ナビゲーション・ペインを右クリックし、コンテキスト・メニューからすべてリフレッシュを選択して、新しいアセット・ファミリのアセット・タイプを選択します。
「編集」をクリックします。
「アセット・タイプの編集」フォームが開きます。
「アセット・タイプの編集」フォームで、次を実行します。
「説明」フィールドで、必要に応じて値を変更します。このフィールドのテキストには、フォームのこのアセット・タイプに対してWebCenter Sitesで使用される名前とWebCenter Sitesインタフェースのリストが記述されています。デフォルトでは、「説明」は、そのアセット・タイプの「新規フレックス・ファミリの追加」フォームで指定した値に設定されます(「フレックス・ファミリの作成」を参照)。
「複数形」フィールドで、必要に応じて値を変更します。このフィールドのテキストには、複数形でアセット・タイプを参照するのが適切な場合にWebCenter Sitesインタフェースで使用するテキストが記述されています。
「子アセットに設定可能」フィールドで、必要に応じて値を変更します。アセット・タイプを別のアセットのアソシエーション・フィールドの子アセット・タイプにするには、値をTrue
に設定します。
ディメンションを使用フィールドで、必要に応じて値を変更します。このアセット・タイプで多言語コンテンツの作成をサポートするには、値をTrue
に設定します。
「保存」をクリックします。
アセット(属性、フレックス親定義など)の作成を開始する前に、「管理」タブで必要な手順を完了しておく必要があります。ログインでは、「管理」タブにアクセスするための管理者権限を付与する必要があります。
新規のフレックス・アセット・タイプを有効化するには::
「一般的な管理」ツリーで、「管理」ノードを開き、「サイト」アイコンをクリックして次の手順を完了します。
これらのアセット・タイプで作業するのに使用するサイトを開きます。
そのサイトで、「アセット・タイプ」→「有効化」を選択します。
リストから新しいアセット・タイプを選択して、「アセット・タイプの有効化」をクリックします。
WebCenter Sitesでは、新規スタート・メニュー・アイテムまたは有効にしたアセット・タイプでスタート・メニューの項目の検索が自動的に作成されます。
図6-3に示すように、WebCenter Sitesに作成する、任意のスタート・メニューの項目の隣にあるオプションを有効にします。
これらのメニュー・アイテムをここで生成するか、または、サイト管理者がそれらを後から手動で作成する必要があります(有効化されたアセット・タイプに対してスタート・メニュー・アイテムが作成されるまでは、そのアセット・タイプのアセットを作成できません)。
「アセット・タイプの有効化」をクリックします。
これでアセット・タイプはサイトに対して有効になります。スタート・メニュー・アイテムを生成する際にWebCenter Sitesを使用しなかった場合には、この時点では手動で作成する必要があります。アセット・タイプの開発者およびオンライン・サイトのデザイナには、管理者が意味のあるスタート・メニュー・アイテムを構成できるように、アセットとサイト設計について十分な情報を知らせる責任があります。
開発者は、サイト管理者とシステム管理者がコンテンツ・プロバイダに対して意味のあるスタート・メニュー・アイテムを作成できるように、オンライン・サイトに対する問合せ、コレクション、その他のデザイン・エレメントで使用するフィールドについて知らせる必要があります。スタート・メニュー・アイテムの作成の詳細は、『Oracle WebCenter Sitesの管理』を参照してください。
開発者または管理者が新規アセット・タイプにスタート・メニュー・アイテムを作成した後は、それらのタイプのアセットを作成できるようになります。
注意:
アセット・タイプをツリーのタブに追加している可能性があります。ただし、これらのタイプのアセットを作成するには、それらのスタート・メニュー・ショートカットを作成する必要があります。
手順は、属性に対して選択したデータ型に応じて大きく異なる場合があります。したがって、この項では複数の手順について示します。
この例では、フレックス属性の作成の基本的な手順について示します。
メニュー・バーで、「新規」をクリックして、ショートカットのリストから属性タイプの名前を選択します。たとえば、「新規製品属性」を選択したとします。このアセットに関連付けられているワークフローの割当て先を選択できるようにするには、各ロールから少なくとも1人のユーザーを選択して「割当て先の設定」をクリックします。
製品属性フォームが開きます(図6-4)。
「新規」フォームでは、次のフィールドに入力します。
「名前」フィールドで、最大64文字(空白は除く)の名前を入力します。
「説明」フィールドで、この属性の使用や機能について簡潔に記述します。
「値タイプ」フィールドで、この属性に対してデータ型を選択します。
blobを選択した場合、「タイプBlobのフレックス属性(アップロード・フィールド)の作成」を参照して、手順3から開始します。
assetを選択した場合、「タイプAssetのフレックス属性の作成」を参照してください。
外部属性を作成する場合、assetまたはblob以外の値を選択し、手順dを実行して、「外部フレックス属性の作成」の手順3を続行します。
textを選択した場合、Adminインタフェースはtext以外のすべてのタイプの属性値の検索に対応します。属性値の検索実行の情報は、『Oracle WebCenter Sitesの使用』を参照してください。
属性の適切なデータ型の決定の詳細は、「属性のデータ型」を参照してください。
「値の数」フィールドで、必要に応じて「値タイプ」フィールドで選択したデータ型に対して、「単一」または「複数」のいずれかをドロップダウン・リストから選択します。
この属性をフレックス親で使用可能にするには(データ構造がフレックス・アセットに複数のフレックス親を許可する場合)、この属性の値を継承するフレックス・アセットが複数の親から値を継承するため、「複数」を選択する必要があります。
注意:
属性が複数の値を受け入れるように構成されている場合、その属性はフレックス親フォームとフレックス・アセット・フォームに別の属性名を追加ボタンが備わったフィールドとして表示されます。継承の理由から属性が複数の値を受け入れるが、コンテンツ・プロバイダが個々の親またはフレックス・アセットに対して属性の値を複数選択しないようにするには、その属性を単一値のフィールドとして表示する属性エディタをその属性に割り当てます(「値タイプ」フィールドで複数選択)。
WebCenter Sitesでは、text
タイプの属性のデータベースへの格納方法の制限により、これらの属性が複数の値を持つことは許可されていません。そのような方法で構成した属性を保存しようとすると、この制限を意味するメッセージが表示されます。
この属性にデフォルト・タイプ以外の入力タイプ(「値タイプ」フィールドで選択したデータ型に基づいている)を使用するには、「属性エディタ」フィールドで、ドロップダウン・リストから属性エディタを1つ選択します。
注意:
CHECKBOXES
属性エディタを選択する場合は、「値の数」フィールドが「複数」に設定されていることを確認します。
詳細は、次の情報を参照してください。
デフォルト入力タイプ(かわりに属性エディタを使用するかどうかを指定できる)は、「属性のデフォルトの入力スタイル」を参照してください。
属性エディタの作成は、「属性エディタの設計」を参照してください。
該当する属性のデータ型に適切な属性エディタは、「属性エディタ・アセット」を参照してください。
デフォルトISO文字セット(ISO 8859-1)をオーバーライドするには、ISO文字セット・フィールドで、該当する属性に使用する文字セットを入力します。
「保存」をクリックします。
機能がいずれかのデフォルトWebCenter Sitesフィルタ・クラスで定義されているフレックス・フィルタ・アセットを作成します。
フレックス・フィルタ・アセットの作成前に、入力および出力の属性として使用するフレックス属性を作成しておく必要があります。適切なフレックス属性が存在しない場合には作成します。次の要件に注意してください。
フレックス・フィルタがDocument Transformationフィルタ・タイプを使用している場合、入力と出力の属性はタイプblob
である必要があります。
どのフレックス・フィルタでも、入力属性、出力属性およびフレックス・フィルタ・アセットはすべて同一のフレックス・ファミリに属している必要があります。
フレックス・フィルタ・クラスの情報と、フレックス・フィルタ・アセットの作成手順の詳細は、「フレックス・フィルタの作成」を参照してください。
フレックス・フィルタ・アセットを作成するには::
親定義アセットを作成する手順:
メニュー・バーで、「新規」をクリックします。
製品の定義アセットの名前をショートカットのリストから選択します。たとえば、「新規製品の親定義」を選択したとします。このアセットに関連付けられているワークフローの割当て先を選択できるようにするには、各ロールから少なくとも1人のユーザーを選択して「割当て先の設定」をクリックします。
製品親定義フォームが開きます(図6-6)。
図6-6 製品親定義ダイアログ
製品親属性フォームで、次のようにフィールドに入力します。
名前では、最大64文字の名前を入力します。
「説明」では、親定義を説明する簡単なフレーズを入力します。
「親選択スタイル」では、該当する定義を使用するフレックス親が親アセット・フォームで選択される方法を指定します。次のいずれかの操作を行います。
該当するタイプの親数が少ない場合には、「選択ボックス」を選択します。それにより、このタイプのすべての親がフレックス・アセット・フォームのドロップダウン・リストにオプションとして表示されます。
該当するタイプの親数が多い場合には、「ツリーからの選択」を選択します。そのうえで、フレックス・アセット・フォームでこのタイプの親を選択する場合は、カタログ・データが表示されたタブのツリーから選択します。
製品親定義セクションで、親定義を「使用可能」リストから選択し、表6-1に説明するボタンの1つをクリックします。
表6-1 親定義フォームのボタン
親定義フォームのボタン | 新規親フォームで次の操作を実行するフィールドの作成 |
---|---|
単一値: 必須 |
フィールドに対して1つの親を強制的に選択します。 |
単一値: オプション |
フィールドに対して親を1つのみ選択できます。 |
複数値: 必須 |
フィールドに対して少なくとも1つの親アセットを強制的に選択します。 |
複数値: オプション |
フィールドに対して複数の親アセットを選択できます。 |
WebCenter Sitesによって、親定義が「使用可能」リストから「選択済」リストに移動されます。親定義の選択の詳細は、「階層の配置の指定」を参照してください。
必要な回数だけ、手順3.dを繰り返します。対応する「新規」親フォームには、その親の定義フォームの「使用可能」リストで選択する各アイテムのフィールドが追加されます。
「属性」セクションで、適切な属性を「使用可能」リストから選択し、次のいずれかを実行します。
「必須」をクリックして、その属性が必須であることを指定します(つまり、該当する定義で作成されたすべてのフレックス親にはその属性の値が存在する必要があります)。
「オプション」をクリックして、その属性がオプションであることを指定します。
注意:
フレックス・フィルタ・アセットを将来この親定義に割り当てるには、そのフレックス・フィルタで使用される入力と出力の属性を追加する必要があります。
該当するタイプの親の親フォームに表示する順番で属性を並べ替えるには、「選択済」ボックスの右側の「表示の順序」矢印を使用します。
「フィルタ」セクションで、この親定義に適切な任意のフレックス・フィルタ・アセットを選択します。
「保存」をクリックします。
この手順を、作成する必要のある親定義アセットごとに繰り返します。
フレックス定義アセットを作成する手順:
メニュー・バーで、「新規」をクリックします。
フレックス定義アセット・タイプの名前をショートカットのリストから選択します。たとえば、「新規製品の定義」を選択したとします。このアセットに関連付けられているワークフローの割当て先を選択できるようにするには、各ロールから少なくとも1人のユーザーを選択して「割当て先の設定」をクリックします。
親定義フォームが開きます。
親定義フォームで、次のようにフィールドに入力します。
「名前」フィールドに、最大64文字の名前を入力します。
「説明」フィールドで、親定義を説明する簡単なフレーズを入力します。
製品親定義セクションで、親定義を「使用可能」リストから選択し、表6-2に説明するボタンの1つをクリックします。
表6-2 フレックス定義フォームのボタン
フレックス定義フォームのボタン | 新規フレックス・アセット・フォームで次の操作を実行するフィールドの作成 |
---|---|
単一値: 必須 |
フィールドで親を1つのみ強制的に選択します。 |
単一値: オプション |
フィールドで親を1つのみ選択できます。 |
複数値: 必須 |
フィールドで少なくとも1つの親アセットを強制的に選択します。 |
複数値: オプション |
フィールドに対して複数の親アセットを選択できます。 |
WebCenter Sitesによって、親定義が「使用可能」リストから「選択済」リストに移動されます。親定義の選択の詳細は、「階層の配置の指定」を参照してください。
必要に応じて、前述の手順を繰り返します。対応する新規フレックス・アセット・フォームには、そのフレックス定義フォームの「使用可能」リストで選択する各アイテムのフィールドが追加されます。
「属性」セクションで、属性を「使用可能」リストから選択し、次のいずれかを実行します。
「必須」をクリックして、その属性が必要であることを指定します(つまり、該当する定義で作成されたすべてのフレックス・アセットにはその属性の値が存在する必要があります)。
「オプション」をクリックして、その属性がオプションであることを指定します。
注意:
フレックス・フィルタ・アセットを将来このフレックス定義に割り当てるには、そのフレックス・フィルタで使用される入力と出力の属性を追加する必要があります。
フレックス・アセットの「新規」フォームおよび「編集」フォームに表示する順番で属性を並べ替えるには、「選択済」ボックスの右側の「表示の順序」矢印を使用します。
「フィルタ」セクションで、このフレックス定義に適切な任意のフレックス・フィルタ・アセットを選択します。
「保存」をクリックします。
この手順を、作成する必要のあるフレックス定義ごとに繰り返します。
フレックス親アセットを作成するには:
WebCenter Sitesに管理者としてログインし、Contributorインタフェースを選択します。
メニュー・バーで、「コンテンツ」→「新規」を選択し、作成するフレックス親アセットのタイプを選択します。
作成するフレックス親アセットの「作成」ビューを表示したタブが開きます(図6-7)。
図6-7 製品親ダイアログ
製品親フォームで、次のようにフィールドに入力します。
「名前」フィールドに、最大64文字の名前を入力します。
製品親フィールドで、親定義をドロップダウン・リストから選択します。選択する定義により、フォームの次のセクション(この親アセットを定義する際に入力するセクション)の書式が設定されます。
「続行」をクリックします。
フォームの「コンテンツ」セクションが開きます(図6-8)。
図6-8 「コンテンツ」セクション
フォームの「コンテンツ」セクションで、次の点に注意してフィールドに入力します。
フィールドの隣のアスタリスク(*)は、そのフィールドが必須であることを示しています。
この例では、親アセットを指定するフィールドはFSIIProductTopLevel
と呼ばれます。このフィールドにドラッグ・アンド・ドロップした親は、この手順で作成中の親の子として指定するフレックス・アセットの祖父母になります。このフィールドが必須ではなく、親(祖父母)を選択しない場合、作成中の親が「コンテンツ」ツリーのトップレベルの親になります。
フィールドを単一値または複数値のいずれにするかを決めるには、フィールドに関連付けられたドロップ・ゾーンを指します。このフィールドが受け入れるタイプを示したツールチップが、フィールドを単一値または複数値のいずれに指定するかに関する情報とともに表示されます。
フォーム・セクション・セレクタを使用して、フォームの次のセクションに切り替えます(「マーケティング」セクションと「メタデータ」セクション)。フィールドの隣のアスタリスク(*)は、必須のフィールドであることを示しています。
これらのセクションに表示されたフィールドは、この親に選択した親定義に基づいています。これらのフィールドに入力する値は、この親アセットを親として持っているすべてのフレックス・アセットによって継承されます。
アセットのツールバーで、「保存」アイコンをクリックします。
WebCenter Sitesでは、新しい親がデータベースに書き込まれます。属性値以外のすべての情報が、FlexParent
、FlexParent
_AMap
およびFlexParent
_Extension
表に書き込まれます(ここで、FlexParent
は、フレックス親の内部名を表します)。属性値は、FlexParent
_Mungo
表に書き込まれます。
ユーザーがContributorインタフェースで検索を実行し、「サムネイル」ビューに検索結果が表示されると、検索結果リストの各アセットはサムネイル・イメージで表されます。デフォルトでは、検索結果リストのアセットの名前、アセット・タイプ、変更日およびロケールが、アセットまたはアセットのタイプを表すサムネイル・イメージの下に表示されます。イメージは、アセットごとまたはアセット・タイプごとに割り当てることができます。このセクションでは、各アセット・タイプへのサムネイル・イメージの割当てについて重点的に説明します。
新規フレックス・ファミリのメンバーを一意に識別するイメージを作成して割り当てる必要があります。
各フレックス・ファミリ・メンバーに対して、次の操作を実行します。
タイプがJPGの2つのイメージ・ファイルを作成します。1つはドッキングされた検索結果リストに表示され、もう1つはドッキングされていない検索結果リストに表示されます。ドッキングされた検索結果リストに表示されるイメージの標準サイズは、96x96ピクセルです。ドッキングされていない検索結果リストに表示されるイメージの標準サイズは、170x170ピクセルです。
イメージ・ファイルは、次のとおり名前を付けます。
ドッキングされた検索結果リストのアセット・タイプに表示されるイメージの名前を付けるには、構文assetType
.jpg
を使用します。
ドッキングされていない検索結果リストのアセット・タイプに表示されるイメージの名前を付けるには、構文assetType
_large.jpg
を使用します。
注意:
イメージをJPGとして保存する必要があります。ファイル名は、アイコンが表示されるアセット・タイプを決定します。名前は大/小文字が区別されます。
イメージ・ファイルを適切なディレクトリに配置します。
<cs_app_dir>/images/search
ここで、<cs_app_dir>
はアプリケーション・サーバーのデプロイ済WebCenter Sitesアプリケーションのディレクトリです。
アプリケーション・サーバーを再起動します(Contributorインタフェースの検索結果リストの「サムネイル」ビューにアイコンが表示されます)。
フレックス・アセット定義の作成、およびこれらの定義を使用するフレックス・アセットのテンプレートのコード化は、反復作業となります。フレックス・アセットにテンプレートを作成する前に、定義とフレックス・アセットを作成する必要がありますが、データ設計の微調整の必要がある領域は、テンプレートをコード化してコードをテストした後にのみ明らかになる可能性が高いようです。
テンプレートのエレメントのコード化については、「テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの作成」および「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。
設計を十分テストするには、フレックス・アセットがツリー上で表示される場所、フォームの外観、フォームへのロード時間などを調査できるようにする必要があります。フレックス・アセットをいくつか作成して調査します。
アセットの作成の詳細は、『Oracle WebCenter Sitesの使用』を参照してください。
ほとんどの場合、フレックス・アセットの属性を使用してアソシエーションを形成する必要があります。アソシエーションをフレックス定義間で稼働する必要があることがまれにあり、その場合には、フレックス・アセット間のアソシエーションを作成します。
アソシエーションを作成する手順:
フレックス・ファミリの作成、データ構造アセット(属性エディタを含む)の作成、およびフレックス・アセット・タイプのテンプレートのコーディングが終了すると、システム管理者は管理システムのアセット・タイプを構成できます。これにより、必要に応じてリビジョン追跡の有効化、ワークフロー・プロセスの作成、スタート・メニューのショートカットの作成などが可能になります。
フレックス・ファミリ、データ構造アセット、およびコーディング・テンプレートを管理システムと配信システムに移動して、システム管理者が構成できるようにします。アセット・タイプの管理システムおよび配信システムへの移動の詳細は、『Oracle WebCenter Sitesの管理』を参照してください。
フレックス・アセット・タイプの編集には、通常、慎重な計画が必要です。特定の編集でスキーマの変更が生じ、スキーマの変更がデータ消失の原因となるためです。この項では、フレックス・ファミリのアセット・タイプの編集に関するヒントとアドバイスを述べます。
この項には次のトピックが含まれます:
フレックス属性の編集時には、次の点に注意してください。
スキーマを変更せずに、「名前」を変更できます。ただし、XMLPostを使用してフレックス・アセットをWebCenter Sitesデータベースにインポートするには、XMLPostファイルを編集する必要があります(属性名を変更する場合)。
データ消失を発生せずに、「説明」を変更できます。
「値タイプ」フィールドでデータ型を変更すると、この属性タイプを使用する_Mungo
表の属性に関連付けられたすべてのデータが消失します。
属性のデータ型がasset
の場合、そのアセット・タイプを変更すると、その属性に対するすべての既存データが無効になります。
blob
属性の「フォルダ」フィールドを変更すると、WebCenter Sitesではその属性の既存データを検索できなくなります。この値を変更する必要がある場合は、設定した新しい値に一致させるためにファイル・システムを移動します。
データ消失や困難な事態を発生せずに、「値の数」を単一から複数に変更できます。
「値の数」を「複数」から「単一」に変更すると、既存の行のどの値が保持すべき値であるかをWebCenter Sitesで指定できなくなります。
「検索エンジン」とISO文字セットは、データ消失を発生せずに変更できます。
親定義またはフレックス定義の編集時には、次の点に注意してください。
スキーマを変更せずに、「名前」を変更できます。ただし、XMLPostを使用してフレックス・アセットをWebCenter Sitesデータベースにインポートするには、XMLPostファイルを編集する必要があります(親定義の名前を変更する場合)。
「説明」フィールドと「親選択スタイル」フィールドは、データ消失を発生せずに変更できます。
親の選択肢を変更する場合:
親の追加は許可されます。
親の削除は、アセットが有効なデータを消失させる原因となることがあります。
親をオプションから必須に変更すると、新しく必須となった親のいずれかが存在しない親またはフレックス・アセットが有効でなくなるため、問題を発生する可能性があります。
親の必須からオプションへの変更は許可されます。
親の単一力複数値への変更は許可されます。
親を複数値から単一値に変更すると、以前に受け入れられていた複数値を保持するか削除するかをWebCenter Sitesで決定できなくなるため、予測できない結果が発生します。
属性の選択内容を変更する場合:
オプションの属性の追加は許可されます。
必須の属性を追加すると、その属性を保持しない既存の親やフレックス・アセットを無効にします。
属性を削除すると、削除された属性の属性値を持つ既存の親やフレックス・アセットを無効にします。
フレックスまたは親アセットの編集時には、次の点に注意してください。
スキーマを変更せずに、「名前」を変更できます。ただし、XMLPostを使用してフレックス・アセットをWebCenter Sitesデータベースにインポートするには、XMLPostファイルを編集する必要があります(親定義の名前を変更する場合)。
データ消失を発生せずに、「説明」を変更できます。
親を変更すると、継承された属性値すべてがWebCenter Sitesによって修正されます。
親またはフレックス・アセットを作成する際に使用した定義を変更できません。
属性値の変更は許可されます。親の属性値を変更すると、該当する親から属性値を継承するすべてのアセットの属性がWebCenter Sitesによって修正されます。フレックス・アセットの属性値の変更は許可されます。
WebCenter Sitesを使用してオンライン・カタログを管理すると、製品セットという製品アセットで使用できる特殊な機能があります。製品セットを使用すると、別々に梱包され販売されるものを除いて、実際には同じ製品になる製品をグループ化できます。
この項には次のトピックが含まれます:
本はペーパーバック版でもハードカバー版でも同じ本です。ソフト・ドリンクは、個別の缶、6パック、2リットルのボトル、またはケースのいずれで販売されても同じソフト・ドリンクです。製品セットでは、このように製品をまとめてグループ化できるため、管理システムで一緒に(同一のフォームに)表示でき、個々の販売単位のままSKU(最小在庫管理単位)などで識別されます。
販売セット機能のモデルは、次のとおりです。
製品セットは、製品アセットの特性を帯びる製品の親です。製品セット(親)には、コア製品を定義するすべての属性が備わっています。
製品セットは最小在庫管理単位です。つまり、製品セットにはパッケージを説明する属性、またはセットのメンバーの一意の識別子(SKU、ボトル・サイズなど)のみが含まれます。
製品セット(親)には、製品セットとマークする属性があり、この属性の値はすべての製品セットで一意です。この属性はGAProductSet
と呼ばれ、予約ネームとなります。セット内の製品はこの属性を継承し、この継承により、その製品セットのメンバー(その製品の親の子)としてマークされます。
製品セットを作成するには:
GAProductSet
と名付けられた製品の属性を作成します。これは予約ネームであり、属性名はそれに完全に一致している必要があります。GAProductSet
属性を選択します。ここで、製品セット(製品の親)を調査または編集すると、セット内の各製品(SKU)は製品セットの関係を表して、「製品の親」フォームにリストされます。
WebCenter Sitesデータベースに存在できるのは、1つのGAProductSet
属性のみです。複数のWebCenter Sitesサイトで製品セットを作成するには、GAProductSet
属性を使用するサイトに対してその属性を共有する必要があります。