ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites開発者ガイド
11gリリース1 (11.1.1.8.0)
E49681-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

11 データ・デザイン: アセット・モデル

WebCenter Sitesサーブレットは、WebCenter Sitesのコンテンツ管理システムを実行するオペレーティング・システムですが、WebCenter Sitesデータベースはシステムのブレーンです。ここには、WebCenter Sitesアプリケーションを実行させるシステム情報、WebCenter Sitesアプリケーションを使用して管理するコンテンツ(つまりアセット)、およびオンライン・サイトの訪問者にコンテンツを表示するためのフォーマットとビジネス・ロジックを提供する構造的情報が格納されています。

ほとんどの場合、データ・デザインはアセット・デザインを意味します。ただし、開発者はアセットの基礎データを保持する表を頻繁に作成する必要があります。これらの表の必要性を決定し、表を設計する作業もデータ・デザインの一部です。

この章には次の項が含まれます。


注意:

アセットを保持しない表の設計と作成については、第12章「WebCenter Sitesデータベース」で説明します。


11.1 アセット・タイプとアセット・モデル

アセットとは、WebCenter Sitesデータベースに格納されているオブジェクトで、作成、編集、調査、削除、複製、ワークフローへの配置、リビジョン追跡による追跡、検索、および配信(ライブ)サイトへのパブリッシュが可能なオブジェクトのことです。

アセット・タイプとは、該当するタイプのアセット・オブジェクトの特性を決定する定義または仕様です。

開発者は、アセット・タイプの設計および作成を行うと同時に、コンテンツ管理システムとオンライン・サイトの設計も行います。コンテンツ・プロバイダは、これらのタイプのアセットを作成および編集します。

一般的に、アセットは次の3つのロールのいずれかを実行します。

開発者の仕事は、コンテンツ・プロバイダにとって管理システムで操作しやすく、配信システムから訪問者に効率的に配信可能なアセット・タイプを設計することです。

この項の内容は、次のとおりです。

11.1.1 2つのデータ・モデル

WebCenter Sitesには、設計したアセット・タイプ用に、ベーシックフレックスという2つのデータ・モデルが用意されています。

  • ベーシック・アセット・タイプは単純データ構造になっています。つまり、1つのプライマリ記憶域表と、お互いの間に単純な親子関係が設定されています。

    ベーシック・アセット・タイプは独立したスタンドアロン・アセット・タイプであり、記事、イメージ・ファイル、ページ、問合せなど、個別の種類のコンテンツを表しています。(WebCenter Sitesインタフェースの「管理」タブにある)AssetMakerユーティリティを使用して、ベーシック・アセット・タイプを新規作成します。

  • フレックス・アセット・タイプは、複数のデータベース表を備えた複合データ構造になっていて、ベーシック・アセット・タイプよりも多くのフィールドをサポートできます。さらに、複数の親や任意の数の祖父母などを割り当て、そこから属性値を継承することもできます。

    フレックス・アセット・タイプは、相互に定義したり、相互に属性値を割り当てるアセット・タイプのファミリで構成されます。(「管理」タブにある)Family Makerユーティリティを使用して、フレックス・アセット・タイプのファミリを作成します。

11.1.2 デフォルトのコアなアセット・タイプ

WebCenter SitesとEngageにより、複数のコア・アセット・タイプが配信されます。WebCenter Sitesはスタック・アーキテクチャで構成されているため、コアなアセット・タイプは次の方法で利用可能になります。

  • WebCenter Sitesからテンプレート、問合せ、コレクション、SiteEntry、CSElement、リンク、およびページのアセット・タイプが配信されます。その他のモジュールおよび製品はすべて、テンプレートおよびページのアセット・タイプを使用します。

  • WebCenter Sitesから属性エディタのアセット・タイプが配信されます。作成したフレックス属性アセット・タイプはいずれもサポートされます。

  • Engageから訪問者属性、履歴属性、履歴定義、セグメント、推奨、およびプロモーションのアセット・タイプが配信されます。

これらのタイプのアセットは、アセットの取得、順序付け、編成、書式設定によって、コンテンツを保持しているアセット・タイプの表示用にフォーマットまたはロジックを提供します。つまり、コアなアセット・タイプを使用してオンライン・サイト上でコンテンツの編成と書式設定を行います。

WebCenter Sitesで配信されるアセット・タイプ

WebCenter Sitesで配信されるアセット・タイプは、基本的なサイト・デザイン・ロジックを提供します。これらのタイプのアセットは必要に応じていくつでも作成できますが、アセット・タイプ自体は変更できません。

  • 問合せには、選択したパラメータまたは基準に基づいてアセットのリストを取得する問合せが格納されます。問合せアセットはページ・アセット、コレクション、および推奨で使用します。データベース問合せは、問合せアセットに対してSQL問合せとして「新規」フォームまたは「編集」フォームに直接書き込むか、「新規」フォームまたは「編集」フォームで特定されたエレメント(WebCenter Sitesの問合せタグが付いているもの、または検索エンジン問合せ)に書き込むことができます。

  • コレクションには、1つのタイプのアセットの順序付けリストが格納されます。コレクションの構築は、1つ以上の問合せを実行し、その結果セットからアイテムを選択し、選択したアイテムをランキングする(順序付ける)ことによって行います。このランキングされ、順序付けられたリストがコレクションです。たとえば、前夜の選挙結果に関する記事が1位になるように政治関連記事のコレクションをランキングできます。

  • ページには、他のアセットに対する参照が格納されます。ページ・アセットの配置と設計によって、組織の表示方法やサイトのデザインが決まります。ページ・アセットの設計は、適切なコレクション、記事、イメージ・ファイル、問合せなどをページ・アセット用に選択して行います。さらに、WebCenter Sitesインタフェースの左側にサイトをツリー表示する「サイト・プラン」タブにページ・アセットを配置します。

    ページ・アセットとWebCenter Sitesのページがまったく異なることに注意してください。ページ・アセットは、「サイト・プラン」タブでサイト・デザイン補助として使用したり、エレメント内のデータを特定するために使用する編成構造です。WebCenter Sitesのページは、ブラウザに表示されたり、他の機構によって表示されるレンダリングされたページです。

  • テンプレートには、他のアセットをWebCenter Sitesのページおよびページレットにレンダリングするコード(XMLまたはJSPおよびJava)が格納されます。開発者は、同一タイプのアセットがすべて同じように書式設定されるように、テンプレートの標準セットを(CSElementおよびSiteEntry以外の)アセット・タイプごとにコーディングします。

    コンテンツ・プロバイダは、コード自体にアクセスしたりコーディングする必要もなく、テンプレートを選択してコンテンツ・アセットをプレビューできます。

  • CSElementには、アセットをレンダリングしないコード(XMLまたはJSPおよびJava)が格納されます。通常は、複数のテンプレート(バナーなど)からコールする共通のコードに対してCSElementを使用します。また、CSElementは、EngageでDynamicList推奨の作成に必要な問合せを提供する場合にも使用します。

  • SiteEntryは、WebCenter Sitesのページまたはページレットを表すものであり、そのページを生成したルート・エレメントとしてCSElementが割り当てられています。テンプレート・アセットは、エレメントとWebCenter Sitesのページの両方を表すため、SiteEntryアセットは関連付けられていません。

  • リンクには、外部WebサイトのURLが格納されます。このアセットは、外部リンクを別のアセット内に埋め込むために使用します。

  • 属性エディタは、フレックス・アセットまたはフレックス親アセットに対してフレックス属性が「新規」フォームまたは「編集」フォームに表示されるときに、その属性に対してデータ入力方法を指定する属性エディタです。これはテンプレート・アセットに類似しています。ただし、テンプレート・アセットとは異なり、属性値をオンライン・サイトに表示するときではなく、そのインタフェースに属性を表示するときにWebCenter Sitesで使用するコードを特定する場合に使用されます。

WebCenter Sitesのコンテンツ管理システムを使用する各組織のデータ・ニーズはそれぞれ異なるため、コンテンツを表示するデフォルトのアセット・タイプは用意されていません。ただし、サンプル・コンテンツのアセット・タイプがサンプル・サイトから配信されるため、そのアセット・タイプを調べて、各自のサイトに応じて変更できます。

Oracle WebCenter Sites: Engage

Engageアプリケーションから配信される複数のコアなアセット・タイプを使用して訪問者情報を収集し、訪問者別に表示される製品の配置や販促用の提供品をパーソナライズできます。

  • 訪問者属性には、1つの特性のみ(スカラー値)を指定する情報のタイプが保持されます。たとえば、「経験年数」、「肩書き」、「子供の数」のような名前の訪問者属性を作成できます。

  • 履歴属性は、Engageで単一レコードとして扱われる情報のベクターを作成するためにグループ化した個々の情報タイプです。データのこのベクターが履歴定義です。たとえば、「購買」という履歴タイプは、「SKU」、「アイテム名」、「数量」および「価格」という履歴属性で構成できます。

  • セグメントは、共通の特性(訪問者属性および履歴タイプ)に基づいて訪問者をグループに分けるアセットです。セグメントの作成は、セグメントの基となる訪問者データ・アセットを決定し、その基準に対して適格値を設定することによって行います。たとえば、アラスカの住民でフライ・フィッシングの道具一式を所有している人々や、過去6か月以内にパソコンを購入した人々などをセグメントで定義できます。

収集する訪問者データを定義して分類した後、次のアセット・タイプを使用して、オンライン・サイトにコンテンツを表示するフレックス・アセットの選択、編成、表示を行います。

  • 推奨は、コレクションの拡張版のようなものです。これは、フレックス・アセット(製品や記事など)を収集、評価、ソートし、現在の訪問者が属するセグメントに基づいて、その訪問者に最適なものを推奨します。

  • プロモーションは、サイト訪問者が購入しようとしているフレックス・アセット(製品など)と訪問者が資格を有するセグメントに基づいて、ある種の価値または割引を訪問者に提供するマーチャンダイジング・アセットです。


    注意:

    Oracle WebCenter Sites: Engageは、フレックス・アセット・モデルのみを使用して作成されたアセットと対話します。推奨とプロモーションをプログラミングして、ベーシック・アセット・モデルを使用するアセットを操作することはできません。


11.1.3 コンテンツを表すために使用するアセット・モデルはどれか

WebCenter Sitesのコンテンツ管理システムによるオンライン・サイトの設計中に、開発チーム全員でサイト用にコンテンツを表示する必要のあるアセット・タイプを作成します。WebCenter Sitesのテンプレートおよびページ・アセット・タイプにより、ベーシック・データ・モデルとフレックス・データ・モデルのいずれを使用しているかに関係なく、データを表すアセット・タイプに対して書式設定フレームワークが提供されます。

オンライン・サイトに表示するデータを表すために選択する必要のあるアセット・データ・モデル(ベーシックまたはフレックス)は、次の2つの項で説明するように、そのデータの特性に依存します。

11.1.3.1 ベーシック・モデルを使用する場合

データに次の特性が備わっている場合は、ベーシック・モデルを選択します。

  • 固定していて、予測可能です。つまり、アセット・タイプに属性を追加する必要はありません。

  • 同種です。つまり、同一タイプのアセットはすべて類似属性を持っています。

  • 適度な数の属性を持っています。ベーシック・アセット用にアセット・タイプに割当て可能な列/属性の数に関して、データベースによる制限があります。

  • 静的なパブリッシュ方法を使用したい場合。静的なパブリッシュ方法の使用が合理的と見なされるフレックス・アセット・モデルのアプリケーションは非常に限られています。

  • 訪問者は、リンク間を移動してオンライン・サイトを参照します。

アセット・タイプのデータがスプレッドシートと推測でき、そのタイプの各アセットが単一レコードであり、すべてのレコードに同じ列が含まれている単純なフラット・テーブルと推測できる場合には、そのアセット・タイプにベーシック・アセット・モデルを使用する必要があります。

11.1.3.2 フレックス・モデルを使用する場合

データに次の特性が備わっている場合は、フレックス・モデルを選択します。

  • 数多くの属性を持ちます。たとえば、製品には数百もの属性を割り当てられる可能性があります。フレックス・ファミリ・メンバーの属性値は、列ではなく行として格納されるため、フレックス・アセットは物理的にベーシック・アセットよりも多くの属性を持つことができます。

  • これは、アセットが親アセットから属性値を継承する階層で表すことができます。

  • 属性が将来必要になるか、また、データに定期的に属性を追加する必要があるかは予測できません。

  • 同一タイプのアセット・インスタンスは大幅に変動する可能性があります。つまり、同一タイプのアセットがすべて同じ属性を持っている必要はありません。たとえば、バスタオル製品アセットには、トースタ製品アセットにはない属性が割り当てられますが、バスタオルもトースタもともに製品アセットです。

  • 訪問者は、ドリルダウン、つまりデータの属性値に基づく検索を通して移動することによって、オンライン・サイトを参照します。

  • Oracle WebCenter Sites: Engageを使用する場合。

たとえば、マーケットは絶えず変動しているため、製品はフレックス・アセット・モデルに適合します。翌年にどの製品が売れるか、または製品にどの属性が割り当てられるかを常に予測できるとはかぎりません。

ビジネスでアセット・タイプの属性を追加または変更するなど、アセット・タイプに変更を加える必要が生じる場合には、フレックス・データ・モデルを選択することをお薦めします。フレックス・アセット・モデルは、予測不能な特性を持つデータを表す必要がある場合に幅広く対応できます。

11.2 ベーシック・アセット・モデル

WebCenter Sitesからベーシック・アセット・モデルが配信されます。一般的には、ベーシック・アセット・タイプのデータ・モデルでは、アセット・タイプごとにデータベース表が1つずつ用意されます。同じタイプのベーシック・アセットには完全に同一のフィールド(プロパティ)があり、単一タイプのアセットはすべて、同じデータベース表に格納されます。WebCenter Sitesのコアなアセット・タイプのほとんどで、ベーシック・データ・モデルが使用されます。

ベーシック・アセット・タイプを新規作成するには、AssetMakerユーティリティを使用します。PROPERTYというカスタム・タグを使用してアセット記述子ファイルと呼ばれるXMLファイルをコーディングし、AssetMakerを使用してファイルをアップロードします。プロパティは列にもフィールドにもなります。PROPERTY文では、該当するタイプのアセットを格納する表に列を定義し、WebCenter Sitesのフォームでその列に対応するフィールドへのデータ入力方法を定義します。

アセット記述子ファイルのコーディングとベーシック・アセット・タイプの新規作成の詳細は、第15章「ベーシック・アセット・タイプの設計」を参照してください。

この項の内容は、次のとおりです。

11.2.1 Burlington Financialサンプル・サイトからのベーシック・アセット・タイプ

Burlington Financialサンプル・サイトをインストールしている場合、WebCenter Sitesではコンテンツを表す5つのアセット・タイプがインストールされます。これらのサンプル・サイトのアセット・タイプは、WebCenter Sitesによって配信されるベーシック・アセット・モードを使用します。

  • 記事には、記事のテキストと関連情報が格納されます。ヘッドライン、署名行、クレジット行、本文などのフィールドがあります。これは、AssetMakerによって作成されたものではないカスタム・アセット・タイプです。

  • イメージ・ファイルには、アップロードされたバイナリ・ラージ・オブジェクト(BLOB)としてイメージ・ファイルが格納されます。これらのイメージ・ファイルは、ページや記事など、他のアセットに関連付けることができます。このアセット・タイプは、AssetMakerで作成されました。

このサンプル・サイトでは、必要に応じて、追加の書式設定アセット・タイプの作成方法の例を、次のアセット・タイプとともに提供します。

  • スタイルシートには、任意のフォーマット(CSSやXSLなど)のスタイルシート・ファイルが格納されます。スタイルシートをテキスト・エディタで作成し、それをスタイルシート・アセットとしてWebCenter Sitesにアップロードします。スタイルシートをアセットとして格納すると、ワークフローの割当てやリビジョン追跡の使用などが実行できます。このアセット・タイプは、AssetMakerで作成されました。

Burlington Financialでは次のアセット・タイプがインストールされますが、使用されることはありません。

  • リンクセットには、関連アセットのURL、または外部WebサイトのURLとのリンクのグループが格納されます。このタイプのアセットは、ページや記事など、他のアセットに関連付けることができます。

  • イメージには、ページや記事など、他のアセットに関連付けできるイメージ・ファイルのURLが格納されます。

これらのアセット・タイプは、前のサンプル・サイトで使用されたものです。これらは後方互換性のために含まれています。

11.2.2 ベーシック・アセット間の関係

ベーシック・アセット・タイプは、非常に単純な親子関係を備えています。この関係を使用して、アセットの相互関連付けやリンクを実行します。さらに、オンライン・サイト用にオンライン・ページを設計する際に、アセットの子または親アセットを識別し、抽出して、適切な方法で表示するテンプレート・エレメントをコーディングします。

ベーシック・アセットで相互に割当て可能な関係をアソシエーションおよび名前なし関係といいます。個々のアセット間でこのような関係が発生する場合、その関係はAssetRelationTree表に書き込まれます。

11.2.2.1 アソシエーション

アソシエーションは定義済のアセット・タイプ固有の関係であり、WebCenter Sitesのアセット・フォームにフィールドとして表されます。AssetMakerを使用してアセット・タイプを作成した後、そのアセット・タイプの「アソシエーション」フォームを使用してアソシエーション・フィールドを作成します。

アソシエーションを使用して、システム内でアセット・タイプにとって意味のある関係を設定し、その関係の名前を使用して関連アセットを識別し、それをサイト・ページに適切な方法で表示します。

たとえば、Burlington Financialサンプル・アセットの名前付き記事には、イメージ・ファイル・アセット・タイプとのアソシエーションとして、Main Imagefile、Teaser ImageFile、SpotImageFileという3つのアソシエーションが割り当てられています。Burlington Financial記事テンプレートは、これらのアソシエーションを通して記事にリンクされるイメージ・ファイルを表示するようにコーディングされています。アソシエーションによって、テンプレートは個々の記事アセットの表示に適切なイメージ・ファイルを決定できます。

コンテンツ・プロバイダが「新規」記事フォームおよび「編集」記事フォームのメイン・イメージ・フィールドでイメージ・アセットを選択すると、選択されたイメージ・ファイル・アセットが記事アセットの子になります。(この同じイメージ・ファイル・アセットが、他の記事の子になる場合もあることに注意してください。)

アセット・タイプ間のアソシエーションを新規作成すると、WebCenter Sitesではそのタイプのアソシエーションに対する行がAssociation表に作成されます。さらに、アセットを作成して別のアセットの名前をアソシエーション・フィールドに指定すると、その関係がAssetRelationTree表に書き込まれます。

11.2.2.2 名前なし関係

名前なし関係はコレクション作成時に発生し、コレクション内のアイテムはコレクションの子となります。

11.2.3 カテゴリ、ソースおよびサブタイプ

ベーシック・アセットを編成または分類する方法として、このほかにカテゴリ、ソース、サブタイプの3つがあります。カテゴリとサブタイプはアセット・タイプに固有のものです。ただしソースは、コンテンツ管理サイトのすべてのアセット・タイプに当てはまります。したがって、ソースはサイト固有になります。

11.2.3.1 カテゴリ

categoryは、サイトに適用される規則に従ってアセットを分類する際に使用できるデフォルトの列およびフィールドです。すべてのベーシック・アセット・タイプには、category列がデフォルトで設定されていますが、これを使用する必要はありません(これは必須フィールドではありません)。

たとえば、Burlington Financialサンプル・サイトには、Personal Finance、Banking and Loans、Rates and Bonds、Newsなどのカテゴリがあります。これらのカテゴリによって識別された記事は、選択基準としてカテゴリを使用する問合せによって選択され、特定のサイト・ページに適宜表示されます。

ベーシック・アセット・タイプを新規作成すると、そのタイプのアセットに対するカテゴリ・コードがAssetMakerによって作成されます。さらに、この機能を使用する必要のある場合は、新規アセット・タイプに対して「カテゴリ」フォームを使用し、カテゴリを追加作成します。

新規カテゴリはCategory表に書き込まれます。この表は、ベーシック・アセット・モデルを使用するアセット・タイプに対する「新規」アセット・フォームおよび「編集」アセット・フォームの「カテゴリ」フィールドに対する参照表として機能します。

「カテゴリ」フィールドおよび列は、サイト・デザインを目的としています。オンライン・サイトの問合せおよび問合せアセットにカテゴリを使用できますが、使用しなくても差し支えありません。WebCenter Sitesアプリケーションの機能はいずれも、カテゴリ・コードに基づいてはいません。(例外として、このフィールドを使用している場合は、それに基づいてアセットを検索できます。)

11.2.3.2 ソース

sourceは、アセットが最初に作成された場所の特定に使用できる列およびフィールドです。WebCenter Sitesは、オンライン・サイトの設計でこの機能が使用できるように(「ソース」フォームを通して)管理サポートを提供していますが、デフォルトでは、source列は、記事以外のベーシック・アセット・タイプのプライマリ記憶域表には存在しません。ベーシック・アセット・タイプでソースを使用するには、ソースのアセット記述子ファイルにプロパティ文を含める必要があります。

たとえば、Burlington Financialサンプル・サイトには、WireFeed、Asia Pulse、UPIなどのソースがあります。一部のオンライン・ページでは、ソース列の値に基づいて記事を検索する問合せの結果に基づいて表示するようにストーリーが選択されます。

ベーシック・アセット・タイプを新規作成した後で、必要に応じて、「管理」タブの「ソース」フォームで新規ソースを追加します。新規ソースはSource表に書き込まれます。この表は、ベーシック・スタイル・アセットに対する「新規」アセット・フォームおよび「編集」アセット・フォームの「ソース」フィールドに対する参照表として機能します。

11.2.3.3 サブタイプ

サブタイプという概念から、アセット・タイプをさらに分類する方法が生まれました。フレックス・アセット・データ・モデルでは、定義アセット・タイプによってフレックス・アセットおよびフレックス親アセットのサブタイプが作成されます。ベーシック・アセット・データ・モデルでは、サブタイプの概念は、アセット・タイプに対するプライマリ記憶域表のsubtype列を通して実現されます。

WebCenter Sitesアプリケーションでは、アセットの「サブタイプ」の値を様々な方法で使用します。

  • テンプレート・アセットの場合、サブタイプは、テンプレートが書式設定するアセットのタイプを意味します。記事を書式設定するテンプレートは、イメージを書式設定するテンプレートとはサブタイプが異なるテンプレートです。記事アセットを作成する場合は、記事を書式設定するテンプレートのみが、そのアセットの「新規」フォームまたは「編集」フォームの「テンプレート」フィールドにオプションとして表示されます。

    また、WebCenter Sites Contributorインタフェースを使用して、所定のテンプレートを使用して表示されるサブタイプを指定することもできます。たとえば、Webサイトでスポーツおよびニュースという2つのサブタイプの記事アセットを使用する場合、スポーツ・サブタイプの記事のみを表示するテンプレートを作成できます。

  • 問合せアセットの場合、サブタイプは、問合せが返すアセットのタイプを意味します。記事を返す問合せアセットは、イメージ・ファイルを返すものとは異なるサブタイプの問合せアセットです。

  • コレクション・アセットの場合、サブタイプは、コレクションが保持するアセットのタイプを意味します。記事を保持するコレクションは、イメージ・ファイルを保持するものとは異なるサブタイプのコレクション・アセットです。

  • 設計したベーシック・アセット・タイプの場合、サブタイプはレンダリングされた方法に基づいてアセットを分類するように機能します。パブリッシュ先それぞれで、アセット・タイプの各サブタイプにデフォルトのテンプレートを定義できます。

特定のタイプのアセットに対して、パブリッシュ先に基づいてそのアセットに別のテンプレートを割り当てる必要がない場合は、サブタイプを新規作成する必要はありません。

アセット・タイプに対して任意のサブタイプを作成すると、そのタイプのアセットに対する「新規」フォームおよび「編集」フォームに「サブタイプ」というフィールドが表示されます。このフィールドのドロップダウン・リストに、そのアセット・タイプに用意されているサブタイプがすべて表示されます。


注意:

フレックス・アセット・モデルでは、定義アセット・タイプがサブタイプとして機能します。たとえば、GE Lightingサンプル・サイトには、照明という1つの製品定義があります。つまり、製品アセットの1つのサブタイプとして、照明サブタイプがあります。


アセット・タイプの中には、サブタイプが暗黙的に設定されていて変更できないものもあります。また、ユーザーがWebCenter Sites Contributorインタフェースを使用してアセットのサブタイプを選択できるアセット・タイプもあります。次の表に、WebCenter Sitesのアセット・タイプを、構成可能なサブタイプがあるかどうかに応じて一覧表示します。

暗黙的なサブタイプ 構成可能なサブタイプ
  • すべてのフレックス・アセット

  • 問合せアセット

  • コレクション・アセット

  • テンプレート・アセット

  • すべてのカスタム・ベーシック・アセット(AssetMakerで作成)

  • 記事アセット

  • イメージ・アセット

  • リンクセット・アセット

  • 推奨アセット

  • リンク・アセット

  • ページ・アセット


構成可能なサブタイプの設定の詳細は、第15章「ベーシック・アセット・タイプの設計」を参照してください。

11.2.4 ベーシック・アセット・タイプとデータベース

ベーシック・アセット・タイプにはプライマリ記憶域表が1つありますが、WebCenter Sitesでは、ベーシック・アセットの基本情報は他の表に保持されています。ベーシック・タイプのアセットを新規作成すると、WebCenter Sitesでは次のデータベース表に書き込まれます。

  • そのタイプのアセットを保持するプライマリ・データベース表。たとえば、各ページ・アセットではPage表に1行が表示され、各記事アセットではArticle表に1行が表示されます。

    これらの表には、アセットの名前、そのオブジェクトID、作成者、使用するテンプレートなど、アセットの属性またはフィールド値がすべて格納されます。この表の名前は、アセット・タイプの名前と常に一致します。

    ベーシック・アセット・タイプを新規作成すると、このプロセスの一環として、アセット・タイプに対するプライマリ記憶域表(WebCenter Sitesのオブジェクト表の1つ)がAssetMakerユーティリティによって作成されます。

  • アセットに他のアセットとのアソシエーションが設定されている場合は、AssetRelationTree表。ベーシック・アセットに設定可能な関係は、第11.2.2項「ベーシック・アセット間の関係」で説明しています。

  • アセットへのアクセスを許可するコンテンツ管理サイト(パブリケーション)を指定するAssetPublication表。サイト(パブリケーション)間でアセットが共有される場合は、pubidごとに行エントリがあります。pubidは、サイト(パブリケーション)を識別する一意の値です。

  • アセットがページ・アセットの場合は、SitePlanTree表。この表には、サイト・プランにおけるページ・アセットの階層位置に関する情報が格納されます。

コンテンツを表すアセットを表示するテンプレートを開発する場合、先行リストの表から情報を抽出して表示するエレメントを、XMLタグまたはJSPタグを使用してコーディングします。

各種サンプル・アセット・タイプに対して「新規」フォームおよび「編集」フォームを調べ、Oracle WebCenter Sites Explorerツールを使用してWebCenter Sitesデータベース内の表を調べてください。


注意:

これらの表のいずれでも、データの変更にはOracle WebCenter Sites Explorerツールを使用しないでください。アセットとそれに関連する表の編集すべてには、WebCenter Sitesインタフェースのみを使用してください。


11.2.4.1 テンプレート・アセット・タイプとデータベース

テンプレート・アセット・タイプはコアのアセット・タイプですが、ベーシック・アセット・モデルを使用しません。これは、次のデータベース表にエントリを持つコンプレックス・アセット・タイプです。

  • Template表、そのプライマリ記憶域表

  • SiteCatalog

  • ElementCatalog

テンプレート・アセットを新規作成すると、WebCenter Sitesでは、SiteCatalog表とElementCatalog表の両方で、そのアセットに対するエントリが自動的に作成されます。

11.2.4.2 ベーシック・アセット・タイプのデータベース表のデフォルトの列

WebCenter Sitesは基本機能用にデフォルトの列を複数必要とするため、該当するアセット・タイプに対してアセット記述子ファイルに定義された列のほかに、(次の表に示すように)次の列がAssetMakerによってアセット・タイプのプライマリ記憶域表に作成されます。

このリストの列に対してプロパティ文を含めるようにアセット記述子ファイルをコーディングする必要はありません。

表11-1 アセット・タイプのプライマリ記憶域表の列

デフォルトの列(フィールド)名 説明 WebCenter Sitesインタフェースでの表示場所

id

アセット作成時にWebCenter Sitesによって自動生成される、各アセットの一意のID。

このフィールドの値は変更できません。

フォーム:

  • 調査

  • 編集

  • ステータス

  • 検索フォーム

name

アセットの一意の名前。名前は64個の英数字に制限されています。

フォーム:

  • 新規

  • 編集

  • 調査

  • ステータス

検索結果リストにもあります。

description

名前のみよりも多くの情報を提供するアセットの短い説明。

フォーム:

  • 新規

  • 編集

  • 調査

  • ステータス

検索結果リストにもあります。

status

アセットのステータスで、StatusCode表から取得した次のステータス・コードのいずれか。

PL: 作成済

ED: 編集済

RF: 受信済(たとえばXMLPostから)

UP: Xcelerate 2.xからアップグレード済

VO: 削除済(void)

このフィールドの値はWebCenter Sitesで制御され、手動では編集できません。

フォーム: ステータス(アセットのステータスがPL(作成済)とED(編集済)のいずれかの場合)

ステータスがVO(削除済)であるアセットが、WebCenter SitesのWindowsインタフェースのどこにも表示されないことに注意してください。

createdby

アセットを元々作成したユーザーのID。このユーザー名はSystemUsers表から取得されます。

このフィールドの値はWebCenter Sitesで制御され、手動では編集できません。

フォーム: ステータス

また、このタイプのアセットにリビジョン追跡が有効になっている場合は、「リビジョン履歴」リスト。

createddate

アセットが初めてデータベースに書き込まれた日時。

このフィールドの値はWebCenter Sitesで制御され、手動では編集できません。

フォーム: ステータス

また、このタイプのアセットにリビジョン追跡が有効になっている場合は、「リビジョン履歴」リスト。

updatedby

いずれかの方法でアセットを最後に変更したユーザーのID。このユーザー名はSystemUsers表から取得されます。

このフィールドの値はWebCenter Sitesで制御され、手動では編集できません。

フォーム: ステータス

また、このタイプのアセットにリビジョン追跡が有効になっている場合は、「リビジョン履歴」リスト。

updateddate

ステータス・フィールドの情報が現在の状態に変更された日付。

このフィールドの値はWebCenter Sitesで制御され、手動では編集できません。

フォーム: ステータス

また、このタイプのアセットにリビジョン追跡が有効になっている場合は、「リビジョン履歴」リスト。

startdate

プロモーション・アセット(Engageアセット)には、ライブ・システムで訪問者のページに表示可能な期間が設定されています。この列には、プロモーションの期間の開始時刻が格納されます。

プロモーション・アセット・タイプのみが、この列を使用するデフォルトのアセット・タイプです。

アセット・タイプにstartdateフィールドとenddateフィールドを使用する場合は、第15.2.3.8項「例: パス、ファイル名、開始日および終了日の有効化」を参照してください。

フォーム:

  • プロモーション・アセットに対する「期間」「編集」および「調査」

  • 他のアセット・タイプに対して有効化する場合は、「新規」「編集」「調査」および「ステータス」

enddate

プロモーション・アセット(Engageアセット)の場合、この列には、プロモーションの期間の終了時刻が格納されます。

プロモーション・アセット・タイプのみが、この列を使用するデフォルトのアセット・タイプです。

フォーム:

  • プロモーション・アセットに対する「期間」「編集」および「調査」

  • 他のアセット・タイプに対して有効化する場合は、「新規」「編集」「調査」および「ステータス」

subtype

アセットのサブタイプの値。サブタイプは、アセットごとに異なる方法で設定されます。詳細は、第11.2.3.3項「サブタイプ」を参照してください。

フォーム:

  • テンプレート・アセット(「アセット・タイプ」フィールド)の場合は、「新規」および「編集」

  • 問合せアセット(「問合せの結果」フィールド)の場合は、「新規」および「編集」

  • サブタイプが構成されているアセット・タイプの場合は、「新規」および「編集」

  • デフォルトのテンプレートの設定

filename

ディスクへのエクスポートのパブリッシュ方法の使用中に、このアセットに作成されたファイルに使用する名前。

ページ・アセット・タイプおよび記事アセット・タイプのみが、デフォルトでこのフィールドが有効になっているアセット・タイプです。

アセット・タイプにfilename名フィールドを使用する場合は、第15.2.3.8項「例: パス、ファイル名、開始日および終了日の有効化」を参照してください。

フォーム:

  • ページ・アセットおよび記事アセットの場合は、デフォルトで「新規」および「編集」

  • このフィールドが有効になっている他のアセット・タイプの場合は、「新規」および「編集」

path

ディスクへのエクスポートのパブリッシュ方法でアセットをファイルにレンダリングする際、そのアセットの子アセットから生成されるエクスポート済ページ・ファイルに使用するディレクトリ・パス。

ページ・アセット・タイプおよび記事アセット・タイプのみが、デフォルトでこのフィールドが有効になっているアセット・タイプです。

アセット・タイプにfilename名フィールドを使用する場合は、第15.2.3.8項「例: パス、ファイル名、開始日および終了日の有効化」を参照してください。

フォーム:

  • ページ・アセットおよび記事アセットの場合は、デフォルトで「新規」および「編集」

  • このフィールドが有効になっている他のアセット・タイプの場合は、「新規」および「編集」

テンプレート

アセットのテンプレート。

これは、ディスクへのエクスポートを使用してパブリッシュされるか、ライブのダイナミック配信システムでレンダリングする際に、アセットのレンダリングに使用されるテンプレートです。

このテンプレートは、アセットがディスクへのエクスポートのパブリッシュ方法で承認されている場合の依存性の計算にも使用されます。ただし、アセット・タイプにサブタイプが設定されていて、そのサブタイプに基づいてデフォルトの承認テンプレートがアセットに割り当てられている場合を除きます。

フォーム:

  • 新規

  • 編集

  • 調査

  • ステータス

category

アセットに割り当てられたカテゴリがある場合は、そのカテゴリのカテゴリ・コード。

categoryフィールドを使用してアセットを編成する場合は、「管理」タブの「アセット・タイプ」フォームでカテゴリ・コードを追加します。

フォーム:

  • 新規

  • 編集

  • 調査

  • ステータス

urlexternaldoc

アセットが、WebCenter Sitesインタフェースでなくサイト・デスクトップ・インタフェースで入力された場合、そのアセットのソースである外部ドキュメントを格納します。

このフィールドの値はWebCenter Sitesで制御され、手動では編集できません。

該当なし

externaldoctype

urlexternaldocフィールドに保持されているファイルのMIMEタイプ。

このフィールドの値はWebCenter Sitesで制御され、手動では編集できません。

該当なし

urlexternaldocxml

将来の使用に備えて予約されています。

該当なし


11.3 フレックス・アセット・モデル

フレックス・アセット・モデルの主な特徴は次のとおりです。

ベーシック・アセット・タイプの場合とは異なり、個々のフレックス・アセット・タイプは作成せず、かわりにアセット・タイプのフレックス・ファミリを作成します。

この項の内容は、次のとおりです。

11.3.1 フレックス・ファミリ

フレックス・アセット・データ・モデルは、アセット・タイプのファミリの観点から考えることができます。フレックス・ファミリには6つのアセット・タイプがあります。次の表に示すように、5つは必須であり、6つ目はオプションです。

表11-2 フレックス・ファミリのメンバー

フレックス・ファミリのメンバー ファミリ当たりの数

フレックス属性アセット・タイプ

1つ

フレックス親定義アセット・タイプ

1つ以上

フレックス定義アセット・タイプ

1つ以上

フレックス親アセット・タイプ

1つ以上

フレックス・アセット・タイプ

1つ以上

フレックス・フィルタ・アセット・タイプ

ゼロまたはそれ以上


アセット・タイプの中には、開発者がデータ・モデルに他のアセット・タイプを作成するために排他的に使用されるものがありますが、フレックス・アセット・タイプは常に、コンテンツ・プロバイダが当該タイプのアセットを作成するために使用します。(必要に応じて、認証ユーザーに、追加のフレックス・ファミリ・メンバーへのアクセス権を与えることができます。)

フレックス・ファミリを作成するには、WebCenter SitesのAdminインタフェースの「フレックス・ファミリ・メーカー」ノードの「管理」タブにある「新規ファミリの追加」をダブルクリックして、「新規フレックス・ファミリの追加」フォームにアクセスします。「新規フレックス・ファミリの追加」フォームで、ファミリ内の各アセット・タイプに名前を付けます。たとえば、GE Lightingサンプル・サイトのフレックス・ファミリの1つが製品ファミリだとします。フレックス・アセットは製品アセット、フレックス属性は製品属性というように呼ばれます。

フレックス・ファミリのキー・メンバーはフレックス・アセットです。フレックス・アセットは、データベースから抽出してオンライン・サイト(配信システム)の訪問者に表示するデータの単位です。ファミリ内の他のメンバーのすべては、なんらかの点でフレックス・アセット・メンバーの一部となります。

フレックス・アセットがキーであるのに対し、属性はフレックス・アセット・モデルの基盤です。属性は情報の個々のコンポーネントです。たとえば、色、高さ、作成者、ヘッドラインなどがあります。属性は、フレックス・アセットおよびフレックス親の定義に使用します。フレックス・アセットは親から属性値を継承し、親はその親から属性値を継承する、となります。

どの属性がどのフレックス・アセットおよびフレックス親を記述するかを決定するには、フレックス定義およびフレックス親定義のアセット・タイプを使用してテンプレートを作成します。フレックス親とその定義によって、属性値の継承が実装されます。

フレックス親もフレックス・アセットも、2つのタイプの属性で定義することはできません。GEサンプル・サイトには、製品属性およびコンテンツ属性という2種類の属性があります。製品アセット(製品フレックス・ファミリのフレックス・アセット・メンバー)は製品属性のみで定義できます。その定義にコンテンツ属性を含めることはできません。

フレックス・フィルタによって、属性値に対してなんらかのアクションを実行し、フレックス・アセットの保存時にアクションの結果を保存するように構成できます。たとえば、WordファイルのテキストをHTMLコードに変換するフィルタを構成できます。

要するに、フレックス・ファミリのフレックス・アセット・メンバーはファミリの理由であり、表示するコンテンツの単位です。フレックス・ファミリのその他のメンバーはフレックス・アセットのデータ構造を提供します。ただし、ファミリのメンバーはすべてアセットであるため、リビジョン追跡、ワークフロー、検索など、WebCenter Sitesの標準機能が利用できます。

11.3.1.1 親アセット、子アセットおよびフレックス・アセット

フレックス・アセット・データ・モデルを使用している場合、親子関係という語句は、フレックス・アセットとそのフレックス親アセットの関係を指します。この親子関係は、ベーシック・アセットがアセット・アソシエーションを通して得る親子関係とは異なります。

フレックス・アセットがベーシック・アセットと同種の親子関係を持つことは可能ですが、次の理由により、現実に行われるとは考えられません。

  • WebCenter Sitesにはタグ・ファミリASSETSETおよびSEARCHSTATEがあり、表示するフレックス・アセットを選択する場合は、コレクション・アセット・タイプおよび問合せアセット・タイプのかわりに使用します。このタグ・ファミリの詳細は、第11.4項「assetsetおよびsearchstate」を参照してください。

  • フレックス・アセットはアソシエーションを必要としません。たとえば、製品などのフレックス・アセットにイメージ・ファイルを割り当てる場合、イメージ・ファイルを特定する属性を作成して、それをフレックス・アセットの定義に割り当てることができます。

11.3.2 サンプル・サイトのフレックス・ファミリ

開発システムにGEサンプル・サイトをインストールしている場合は、調査可能な2つのフレックス・アセット・ファミリとして製品ファミリおよびコンテンツ・ファミリがあります。

サンプル・フレックス・アセット・タイプの次の説明を理解しやすくするためにこの項をお読みになる際には、WebCenter Sitesインタフェースの製品アセット、記事アセット、イメージ・アセットをいくつか調査してください。

11.3.2.1 製品ファミリ

製品ファミリには、GE Lightingサンプル・サイトから販売される照明製品のデータ構造が用意されています。これによって、照明製品のオンライン・カタログが作成されます。

次に、製品ファミリのアセット・タイプを示します。

  • 製品属性は、GE Lightingサンプル・カタログで製品および製品親の定義に使用するフレックス属性アセット・タイプです。たとえば、ワット数、電圧、電球サイズ、安定器タイプなどの製品属性があります。

  • 製品は、製品ファミリのフレックス・アセット・メンバーです。製品アセットは、GE Lightingサンプル・サイトから販売される照明製品を表現します。このオンライン・カタログでは、製品名はSKU番号と同様の番号で表されます。

  • 製品定義は、製品ファミリのフレックス定義アセット・タイプです。これは、製品の1つのサブタイプ、ここでは照明の作成に使用します。照明の定義によって、このオンライン・カタログのすべての電球が書式設定(定義)されます。

  • 製品親は、製品ファミリのフレックス親アセット・タイプです。製品親は、Compact Fluorescent、fluorescent、Halogenなどの製品のカテゴリを表します。

  • 製品親定義は、製品ファミリのフレックス親定義アセット・タイプです。これは、製品親のサブタイプの作成に使用します。カテゴリおよびサブカテゴリという2つのサブタイプがあります。

製品属性、製品定義、製品親定義の各アセットはデータ・デザインに使用するため、「デザイン」タブに一覧表示されます。製品と製品親の各アセットは、サンプル・サイトの「製品」タブに表示されます。

製品アセットは、GE Lightingサンプル・サイトで製品を販売するという製品ファミリの理由です。

11.3.2.2 コンテンツ・ファミリ

コンテンツ・ファミリには、GE Lightingサンプル・サイトから販売される製品を記述する記事と、製品を描画するイメージのデータ構造が用意されています。

次に、コンテンツ・ファミリを示します。

  • コンテンツ属性は、GE Lightingサンプル・サイトから販売される製品の記事(フレックス)およびイメージ(フレックス)の定義に使用するフレックス属性アセット・タイプです。

  • 記事(フレックス)は、記事のテキストと関連情報を格納するフレックス・アセット・タイプです。署名行、ヘッドライン、サブヘッドライン、本文などの属性があります。

  • イメージ(フレックス)は、イメージ・ファイルのURLを格納するフレックス・アセット・タイプです。このアセット・タイプはGE Lightingで使用可能とされていますが、実際には使用されません。

  • コンテンツ定義は、コンテンツ・ファミリのフレックス定義アセット・タイプです。これは、ストーリーと呼ばれる、記事(フレックス)アセット・タイプの1つのサブタイプの作成に使用します。

  • コンテンツ親は、コンテンツ・ファミリのフレックス親アセット・タイプです。このアセット・タイプはGE Lightingで使用可能とされていますが、実際には使用されません。

  • コンテンツ親定義は、コンテンツ・ファミリのフレックス親定義アセット・タイプです。このアセット・タイプはGE Lightingで使用可能とされていますが、実際には使用されません。

GEサンプル・サイトのコンテンツ・ファミリには2つのフレックス・アセット・タイプがあります。これらは、属性、親、定義および親定義を共有します。

コンテンツ属性、コンテンツ定義、コンテンツの親定義の各アセットはデータ・デザインに使用するため、「デザイン」タブに一覧表示されます。イメージ(フレックス)、記事(フレックス)、コンテンツの親の各アセットは、サンプル・サイトの「コンテンツ」タブに表示されます。

11.3.3 フレックス属性

フレックス属性はフレックス・アセット・モデルの基盤です。属性は、情報の1単位を表します。属性アセットは、フレックス・アセットおよびフレックス親の定義に使用します。これらは、フレックス・アセットおよびその親に対して、「新規」フォームおよび「編集」フォームでフィールドとして表示されます。

属性は、ベーシック・アセットのプロパティに似ています。プロパティと同様に、属性はWebCenter Sitesデータベース表の列に格納できるデータの種類を定義し、フォーム内のフィールドを記述します。ただし、プロパティがアセット・タイプのデータベース表に列を定義するのに対し、属性は専用のデータベース表を持つアセットです。

このデータ構造(列としてではなく、アセットとしての属性)は、フレックス・アセットの柔軟性が高い理由の1つです。

繰り返しますが、フレックス親もフレックス・アセットも、2つのタイプの属性で定義することはできません。たとえば、GE Lightingサンプル・サイトの製品アセットは製品属性のみで定義できますが、その定義にコンテンツ属性を含めることはできません。


注意:

フレックス属性をフレックス定義から削除する場合、これらの属性によって格納されたデータはデータベースから削除されないことに注意してください(このデータは問合せによって引き続き返されます)。


11.3.3.1 属性のデータ型

属性のデータ型は、futuretense.iniファイルに配置されているWebCenter Sitesデータベースのプロパティによって定義されます。ただし、例外として、moneyデータ型はgator.iniファイル(.iniファイルの名前)のプロパティによって定義されます。

表11-3に、フレックス属性のデータ型、データ型を定義するプロパティ、およびプロパティが配置されているファイルを一覧表示します。

表11-3 フレックス属性のデータ型

プロパティ .iniファイル

date

cc.datetime

futuretense.ini

float

cc.double

futuretense.ini

integer

cc.integer

futuretense.ini

money

cc.money

gator.ini

string

cc.varchar

futuretense.ini

text

cc.bigtext

futuretense.ini

asset

cc.bigint

futuretense.ini

blob

cc.bigint

futuretense.ini


11.3.3.2 属性のデフォルトの入力スタイル

フレックス属性は、「新規」フォームまたは「編集」フォームにフィールドとして表示されるときに、そのデータ型に基づいたデフォルトの入力スタイルが設定されます。次のリストに、フレックス属性のデフォルトの入力スタイルを示します。

  • Date: 次のように表示される入力ボックス。

    date.gifの説明が続きます
    図date.gifの説明

  • Float: 小数部の桁を強制表示したテキスト・フィールド。

  • Integer: テキスト・フィールド。

  • Money: 通貨フォーマットを強制表示したテキスト・フィールド。

  • String: 最大255文字を受け入れるテキスト・フィールド。

  • Text: テキスト・ボックス。受け入れられる文字数は、使用しているデータベースおよびデータベース・ドライバによって異なります。

  • Asset: 指定されたタイプの全アセットを示したドロップダウン・リスト。

  • Blob: 「参照」ボタンが設定されたテキスト・フィールド。

フレックス属性にデフォルトの入力スタイルを使用しない場合は、属性エディタを作成して、それを属性に割り当てることができます。属性エディタはアセットですが、属性フィールドへのデータ入力方法を指定するという点で、ベーシック・アセットに対するアセット記述子ファイル内のINPUTFORM文にも似ています。属性エディタの詳細は、第18章「属性エディタの設計」を参照してください。

11.3.3.3 外部属性

外部表に格納されるフレックス属性、つまり外部属性を設定できます。外部属性は、次の制約を受けます。

  • 外部表をWebCenter Sitesで登録する必要があります。つまり、外部表はSystemInfo表でWebCenter Sitesに対して識別される必要があります。詳細は、第12.3.4項「外部表の登録」を参照してください。

  • 外部表には、各行を一意に識別する識別子が保持される列を設定する必要があります。識別子は20文字未満とします。

  • 外部表には、任意の適切なデータ型が使用可能な属性データ値用に予約された列を設定する必要があります。たとえば、属性の型がstringの場合は、文字列に適切なデータ型を使用する必要があります。

11.3.4 フレックス親とフレックス親定義

フレックス親とそのフレックス親定義は編成構造であり、次の2つのアクションを実行します。

  • 属性値の継承を実装します。親定義は継承ルールを設定(記述)し、親はこれらの継承ルールに従って属性値をフレックス・アセットに渡します。

  • WebCenter Sitesインタフェースでアセットを表示するタブにおけるフレックス・アセットの位置を決定します。タブ上にツリー形式で表示される親とフレックス・アセットの階層は、親定義を使って設定された階層に基づきます。

それぞれの親アセット・タイプには、親定義で指定されたように、専用の属性セットがあります。親定義によって、WebCenter Sitesインタフェースに表示されるフォームが作成されます。

親を使用してフレックス・アセットを編成または管理するには、親の子アセットごとに変更する必要のない標準の属性値を渡します。

親アセット・タイプは、WebCenter Sitesインタフェース内で、開発者やコンテンツ・プロバイダがデータを表示する方法と、データと対話する方法に影響します。

たとえば、GE Lightingサンプル・サイトには、カテゴリおよびサブカテゴリという2つの親定義があります。これらは、(WebCenter Sitesインタフェース内の)ツリーでサンプル・サイトの「製品」タブに構造体を作成することのみを目的としています。

GE Lightingサイトでは、製品親の定義がカテゴリの場合、製品親は「製品」タブの最上位レベルに表示されます。製品親の定義がサブカテゴリの場合、製品親は第2レベルに表示され、専用の親が指定されます。

ge_products.pngの説明が続きます
図ge_products.pngの説明

たとえば、GEサンプル・サイトには、Compact Fluorescent、Halogenなど、最上位レベルの製品親が複数あります。これらはカテゴリ定義を使用して作成されています。Double BIAX and 2-Pin、Double BIAX and 4-pinなどの次レベルの製品親は、サブカテゴリ定義を使用して作成されています。

11.3.4.1 ビジネス・ルールと分類

親定義および親アセットの目的は、データの分類を表現することのみでなく、エンド・ユーザーによる入力エラーのリスクなしで、ビジネス・ルール(ロジック)を適用できるようにすることです。特定の定義のフレックス・アセットを作成することによって、継承する必要のある依存性が存在する場合、そのフレックス・アセットには親を設定する必要があります。

たとえば、次の5つの属性を持つトースタという単純な製品があるとします。

  • SKU = 1234

  • 説明 = トースタ

  • 価格 = 20

  • CAT1 = キッチン

  • CAT2 = 電化製品

CAT2の値が「電化製品」の場合、CAT1の値には「キッチン」のみを指定できます。つまり、CAT1の値とCAT2の値の間にはビジネス・ルールの依存性が存在します。

このような場合、コンテンツ・プロバイダは両方のフィールドを入力する必要はありません。データを手動入力しなければならないフィールドはすべて、入力エラーによって不正なデータが保持される可能性があるため、継承を使用してビジネス・ルールを適用することをお薦めします。

  • CAT1とCAT2を親定義にします。

  • キッチンをCAT1の定義で作成された親にして、電化製品をCAT2の定義で作成された親にします。

  • キッチンを電化製品のフレックス親にします。

コンテンツ・プロバイダが製品を作成するときに、CAT2に対して電化製品を選択した場合、CAT1の値は継承によって自動的に設定されます。

11.3.5 フレックス・アセットとフレックス定義アセット

フレックス・アセットは、フレックス・ファミリの理由です。これは、製品、表示されるコンテンツの一部など、最終目標を表すアセット・タイプです。たとえば、GEサンプル・サイトには次の3つのフレックス・アセット・タイプがあります。

  • 製品: 個々の販売可能な単位を表します

  • 記事(フレックス): テキストを保持するアセット

  • イメージ(フレックス): 画像ファイルのURLを保持するアセット

ファミリ内の他のメンバーのすべては、なんらかの点でフレックス・アセット・メンバーの一部となります。

フレックス定義アセットは、靴、トースタ、ボーリングのボール、パンフレット、ニュースレター、記事など、フレックス・ファミリ内で1種類のフレックス・アセットを記述します。フレックス定義アセットは、WebCenter Sitesインタフェースで表示されるフォームに直接影響するテンプレートです。

GEサンプル・サイトでは、製品(照明)のフレックス定義が1つだけ、記事とイメージのフレックス定義が1つだけですが、フレックス定義は必要に応じていくつでも作成できます。

たとえば、トースタとリネンの両方を提供する製品カタログを設計している場合は、トースタ用にフレックス定義アセットを作成し、リネン用に別のフレックス定義アセットを作成します。

個々のフレックス・アセットは、1つのフレックス定義アセットのみに従って作成します。トースタ定義とリネン定義の両方を使用した製品を作成することはできません。

フレックス・アセットには、作成時に直接割り当てられた属性のみでなく、親から継承する属性も割り当てられます。フレックス・アセットには複数のフレックス親を割り当てることができ、親に親があるかどうかは設計した階層構造によって異なります。たとえば、GEサンプル・サイトの製品には、次のように3レベルの階層があります。

ge_products2.pngの説明が続きます
図ge_products2.pngの説明

Other Compact Fluorescent製品親には専用の親(Compact Fluorescent)と複数の子(10576、10578など)が割り当てられています。

11.3.6 フレックス・ファミリとデータベース

フレックス・ファミリ内のアセット・タイプには、それぞれ複数のデータベース表があります。たとえば、フレックス・アセット・メンバーには6つの表、フレックス親タイプには5つの表があります。このデータ・モデルでは、フレックス・ファミリ内のフレックス・メンバーは、ベーシック・アセット・モデルの場合よりも多くのフィールドをサポートできます。

フレックス・モデルで最も重要な4つの表のタイプは次のとおりです。

  • アセット・タイプのプライマリ表

  • _Mungo表: フレックス・アセットおよびフレックス親アセットのみの属性値を保持します。

  • MungoBlobs表: BLOB型のすべてのフレックス属性の値を保持します。

  • _AMap表: フレックス・アセットおよびフレックス親のみの属性値の継承に関する情報を保持します。

その他にも複数の表があり、これらの表にはフレックス・アセット間の関係に関する基礎データだけでなく、追加の構成情報(検索エンジンの詳細、外部属性の場所、パブリッシュ情報、リビジョン追跡が有効になっている場合はバージョン情報)も格納されています。

さらに、特定の種類のサイト情報は、ベーシック・アセットで使用される表と同じ表に保持されます。たとえば、AssetPublication表では、アセット・タイプが有効化されているコンテンツ管理サイトを指定します。

コンテンツを表すフレックス・アセットを表示するテンプレートを開発する場合、_Mungo表およびMungoBlobs表から情報を抽出して表示するエレメントをコーディングします。

11.3.6.1 フレックス・アセット・タイプのデータベース表のデフォルトの列

ベーシック・アセット・タイプと同様に、各フレックス・アセット・タイプには、アセット・タイプの名前を採用したプライマリ記憶域表があります。たとえば、GEサンプル・サイトで、製品という名前のアセット・タイプのプライマリ表はProductsとなります。製品属性アセット・タイプのプライマリ表はPAttributesとなります。

ベーシック・アセット・タイプのプライマリ表と異なり、フレックス・アセット・タイプのプライマリ表には、デフォルトの列のみが設定されます。これは、属性値を持つフレックス・アセット・タイプが、属性値をプライマリ表に格納しないためです。属性値は、このアセット・タイプの_Mungo表に格納されます。

一般的に、フレックス・アセット・タイプに対するプライマリ表のデフォルトの列タイプは、ベーシック・アセット・タイプに対するプライマリ記憶域表のデフォルトの列と同じです。デフォルトの列タイプの全般的なリストは、第11.2.4.2項「ベーシック・アセット・タイプのデータベース表のデフォルトの列」を参照してください。

ただし、次の表に示すように、例外や追加事項は当然ながら存在します。

表11-4 フレックス・アセット・タイプのデータベース表のデフォルトの列

説明

category

カテゴリはフレックス・アセット・モデルでは使用されないため、フレックス・アセット・タイプのプライマリ表にはcategory列は存在しません。

フレックス・アセットに対する問合せがそのフレックス属性の値に基づいているため、フレックス・アセットはカテゴリ機能を必要としません。

テンプレート

この列では、製品、記事(フレックス)、イメージ(フレックス)などのフレックス・ファミリ内のフレックス・アセット・メンバーに対する表のみに値が保持されます。これは、ファミリ内のフレックス・アセット・メンバーのみにテンプレート・アセットを割り当てて、オンライン・サイトで表示できるためです。

renderid

フレックス・アセットに割り当てられたテンプレート・アセットのオブジェクトIDを保持します。

attributetype

フレックス属性タイプに対するプライマリ表の追加列です。属性が「新規」フォームおよび「編集」フォームに表示されるときに、その属性の入力スタイルを書式設定する属性エディタの名前を保持します(属性エディタが存在する場合)。

flextemplateid

フレックス・アセット・タイプ(フレックス・ファミリのフレックス・アセット・メンバー)に対するプライマリ表の追加列です。フレックス・アセットの作成に使用したフレックス定義のIDを保持します。

flexgrouptemplateid

フレックス親アセット・タイプに対するプライマリ表の追加列です。フレックス親アセットの作成に使用した親定義のオブジェクトIDを保持します。


11.3.6.2 _Mungo表

フレックス・アセット・タイプおよびフレックス親アセット・タイプには、AssetType_Mungo表があります。この場合、AssetTypeはフレックス・アセット・タイプの名前です(また、メイン記憶域表の名前と一致します)。その目的は、アセットの作成時にそのタイプのアセットに割り当てられた属性値を格納することです。たとえば、GEサンプル・サイト表のProducts_Mungoには、製品アセットの属性値が保持されています。

各属性値には、別々の行が割り当てられます。

_Mungo表の各行には、次の各列の値が表示されます。

表11-5 _Mungo表の行

説明

id

フレックス・アセットが保存され、行が作成されたときに、WebCenter Sitesによって自動生成される、各属性値の一意のID。

これは、表の主キーです。

ownerid

属性値が属するフレックス・アセットのID。(フレックス・アセットの表、たとえばProductのもの。)

attrid

属性のID。(属性の表、たとえばPAttributesのもの。)

assetgroupid

属性値が継承された場合は、値を渡した親のID。(親の表、たとえばProductGroupsのもの。)


_Mungo表の各行には次の列もすべて含まれますが、値(データ)は属性のデータ型に応じて1つの列のみに指定されます。

表11-6 _Mungo表の列

説明

floatvalue

属性のデータ型がfloatの場合は、属性の値。

moneyvalue

属性のデータ型がmoneyの場合は、属性の値。

textvalue

属性のデータ型がtextvalueの場合は、属性の値。

datevalue

属性のデータ型がdateの場合は、属性の値。

intvalue

属性のデータ型がintの場合は、属性の値。

blobvalue

属性のデータ型がblobの場合は、MungoBlobs表で属性の値を保持する行のID。

urlvalue

属性のデータ型がurlの場合は、属性に対して入力されたパスまたはURL。

assetvalue

属性のデータ型がassetの場合は、アセットのID。

stringvalue

属性のデータ型がfloatの場合は、属性の値。


_Mungo表にはURL列があるため(第12.2.3項「WebCenter SitesのURLフィールドを使用した間接的なデータ格納」を参照)、その列に対してデフォルトのストレージ・ディレクトリ(defdir)を設定する必要があります。_Mungo表に対してdefdirを設定するには、gator.iniファイルのcc.urlattrpathプロパティを使用します。

11.3.6.3 MungoBlobs表

MungoBlobs表が1つ存在します。これには、システム内のすべてのフレックス属性タイプに対して、blob型のすべてのフレックス属性の値が保持されています。各属性値には、表の別々の行が割り当てられます。

11.3.6.4 _AMap表

フレックス・アセット・タイプおよびフレックス親アセット・タイプには、AssetType_AMap表があります。その目的は、親から継承した属性にアセットをマップすることです。これにより、オンライン・サイトのページにアセットを表示するテンプレートを作成するときに、属性が継承されたか直接割り当てられたかどうかに関係なく、属性のいずれかに基づいてアセットを問い合せたり、それらの属性のいずれかを表示できます。

_AMap表では、継承された属性の値を持つフレックス・アセットごとに行が1つ割り当てられます。(ただし、属性が複数の値を持っている場合、_Mungo表では値ごとに行が1つ割り当てられます。)

_AMap表には次の列が割り当てられます。

表11-7 _AMap表の列

説明

id

フレックス・アセットが保存され、行が作成されたときに、WebCenter Sitesによって自動生成される、各行の一意のID。これは、表の主キーです。

inherited

属性が継承された場合は、その継承元である親のID。(親の表、たとえばProductGroupsのもの。)

attributeid

属性のID。(属性の表、たとえばPAttributesのもの。)

ownerid

属性値が属するフレックス・アセットのID。(フレックス・アセットの表、たとえばProductのもの。)


11.4 assetsetおよびsearchstate

WebCenter Sitesには、オンライン・ページに表示する個々のフレックス・アセットを識別するために、メソッド・ファミリASSETSETおよびSEARCHSTATEがあります。

assetset

assetsetはフレックス・アセットまたはフレックス親アセットのみのグループであり、フレックス属性、フレックス定義またはフレックス親定義は含まれません。たとえば、GEサンプル・サイトでは、製品、記事(詳細)またはイメージ(詳細)を含めたassetsetを作成できます。サイト・ページのコーディング時には、assetsetを作成して、その中にアセットを表示する文をコーディングします。

searchstate

フレックス・アセットのテンプレートでSEARCHSTATEメソッド・ファミリを使用して、assetsetに含める必要のあるフレックス・アセットを特定します。searchstateは、フレックス・アセットのリストまたはセットに適用される検索絞込み条件のセットです。絞込み条件として、属性値または別のsearchstate(ネストされたsearchstate)のいずれかに基づいたフィルタ(制限)を使用できます。

searchstateは、データベース内の_Mungo表でも、検索エンジンで作成された属性索引のいずれでも検索できます。つまり、データベース検索とリッチテキスト(索引を通じたフルテキスト)検索を同じ問合せ内に混在させることができます。

これらのタグは、_Mungo表または属性索引のみでフレックス・アセット・タイプを検索するため、これらのタグを使用してフレックス・アセットを抽出することは、ASSETタグまたは問合せアセットを使用するよりもはるかに効率的です。

assetsetと属性アセット・タイプ

WebCenter Sitesでは、属性アセット・タイプ全体の検索は実行できません。assetsetは属性値に基づいて作成されるため、同じassetsetに含められるのは同じ属性アセット・タイプを共有するアセットのみです。これは、フレックス・ファミリの設計する際の重要な考慮点です。共通の属性アセット・タイプを共有しないフレックス・アセット・タイプを作成する場合は、データを分離して、異なるタイプのアセットが共通assetsetに含まれないようにする必要があります。また、assetsetを表示することは、配信システム上でフレックス・アセットを表示するためのメカニズムです。

たとえば、同じフレックス・ファミリに2つのタイプのフレックス・アセットを持つことができます。これらのフレックス・アセットが同じタイプの属性を使用するかぎり、両方のタイプのアセットを含むassetsetを作成できます。ただし、2つのタイプのフレックス・アセットにわたって検索すると、それぞれの_Mungo表の間に結合が生じるため、パフォーマンスが低下する可能性があることに留意してください。

GEサンプル・サイトには、記事(詳細)およびイメージ(詳細)という2つのフレックス・アセット・タイプがあります。これらは、同じ属性アセット・タイプ(コンテンツ属性)と同じ定義(コンテンツ定義およびコンテンツ親定義)を共有します。ただし、これは共有の属性アセット・タイプであるため、2つの異なるフレックス・アセット・タイプの場合であっても、同じassetsetに含めることができます。

ただし、記事とイメージはGE製品アセット・タイプと属性アセット・タイプを共有しないため、製品と記事を含めたassetsetは作成できません。

11.5 検索エンジンと2つのアセット・モデル

この2つのアセット・モデルのデータ構造は非常に異なるため、アセット・モデルが検索エンジンと対話する方法も大きく異なります。

11.6 タグと2つのアセット・モデル

アセットの作成と管理の最終目標は、アセットを配信システムに移動して、配信システム上でエレメントに組み込んだコードによってアセットをデータベースから抽出し、それをサイトの訪問者に表示することです。WebCenter Sitesアプリケーションは、様々なツールセット(カスタム・タグ・セット)をXMLとJSPの両方で提供しています。

テンプレート内でデータベースからのアセット抽出に使用するツールセットは、使用しているアセットの種類によって異なります。

これらの製品ではさらに多くのメソッド・ファミリが使用できるだけでなく、WebCenter Sitesおよび複数のAPIからも多数のカスタム・タグが使用できます。

すべてのタグの詳細は、Oracle Fusion Middleware WebCenter Sitesタグ・リファレンスを参照してください。

11.7 要約: ベーシック・アセット・モデルとフレックス・アセット・モデル

この項では、この2つのアセット・モデルの類似点と相違点を要約します。

アセット・モデルの共通点

ベーシック・アセット・モデルとフレックス・アセット・モデルの機能方法には多くの相違点がありますが、いくつかの共通点も見られます。

アセット・モデルの相違点

次の表に、これらのアセット・モデルの主な相違点を要約します。

表11-8 アセット・モデルの主な相違点

機能 ベーシック・アセット・モデル フレックス・アセット・モデル

データベース表の数

1つ

複数

アセット・タイプへのフィールドの追加

スキーマ変更が必要です。

スキーマ変更は必要ありません。

他のアセットへのリンク

アソシエーションと名前なし関係を使用します。

フレックス・ファミリの関係を使用します。

サブタイプ

通常は「管理」タブの「サブタイプ」アイテムを使用します。サブタイプの設定方法の詳細は、第11.2.3.3項「サブタイプ」を参照してください。

フレックス定義とフレックス親定義を使用します。

検索エンジンの索引付け

アセット・タイプの特定のエレメントをカスタマイズする必要があります。

フレックス属性フォームで「検索エンジン」フィールドを使用します。

主なタグ・ファミリ

ASSETSITEPLANおよびRENDER

ASSETSETSEARCHSTATEおよびRENDER

パブリッシュ方法

ディスクにエクスポート

サーバーへのミラーリング

「サーバーにエクスポート」も使用できますが、フレックス・モデルには標準ではありません。

サーバーへのミラーリング


11.8 要約: アセット・タイプ

次の表に、WebCenter Sitesのモジュール、製品およびサンプル・サイトに付属しているアセット・タイプをすべて一覧表示します。

表11-9 アセット・タイプ

アセット・タイプの名前 製品またはサンプル・サイト

ページ

WebCenter Sites

テンプレート

WebCenter Sites

コレクション

WebCenter Sites

問合せ

WebCenter Sites

CSElement

WebCenter Sites

SiteEntry

WebCenter Sites

リンク

WebCenter Sites

記事

WebCenter Sites、Burlington Financial

イメージ・ファイル

WebCenter Sites、Burlington Financial

スタイルシート

WebCenter Sites、Burlington Financial

リンクセット

WebCenter Sites、Burlington Financial(後方互換性のためのみ)

イメージ

WebCenter Sites、Burlington Financial(後方互換性のためのみ)

HelloArticle

WebCenter Sites、HelloAssetWorld

HelloImage

WebCenter Sites、HelloAssetWorld

属性エディタ

WebCenter Sites

製品

WebCenter Sites、GE Lighting

製品属性

WebCenter Sites、GE Lighting

製品定義

WebCenter Sites、GE Lighting

製品親

WebCenter Sites、GE Lighting

製品親定義

WebCenter Sites、GE Lighting

記事(フレックス)

WebCenter Sites、GE Lighting

イメージ(フレックス)

WebCenter Sites、GE Lighting

コンテンツ属性

WebCenter Sites、GE Lighting

コンテンツ定義

WebCenter Sites、GE Lighting

コンテンツ親

WebCenter Sites、GE Lighting

コンテンツ親定義

WebCenter Sites、GE Lighting

訪問者属性

Engage

履歴属性

Engage

履歴定義

Engage

セグメント

Engage

推奨

Engage

プロモーション

Engage

DrillHierarchy

Engage、Burlington Financial Extension

PDF

Engage、Burlington Financial Extension