この章の内容は次のとおりです。
注意:
アセットを保持しない表の設計と作成については、「WebCenter Sitesデータベースでの作業」で説明します。
アセットとは、WebCenter Sitesデータベースに格納されているオブジェクトで、作成、編集、調査、削除、複製、ワークフローへの配置、リビジョン追跡による追跡、検索、および配信(ライブ)サイトへのパブリッシュが可能なオブジェクトのことです。
アセット・タイプとは、該当するタイプのアセット・オブジェクトの特性を決定する定義または仕様です。
図4-1に、WebCenter Sitesコンテンツ・エントリ・フォームと、フィールド名およびフィールド値とアセット・タイプのデータベース表の関係を示します。
開発者は、アセット・タイプの設計および作成を行うと同時に、コンテンツ管理システムとオンライン・サイトの設計も行います。コンテンツ・プロバイダは、これらのタイプのアセットを作成および編集します。
一般的に、アセットは次の3つのロールのいずれかを実行します。
訪問者がオンライン・サイトで読み取ったり調べたりするコンテンツの提供
コンテンツ表示用の書式設定ロジックまたはコードの提供
WebCenter Sitesデータベースへのコンテンツ格納用のデータ構造の提供
開発者の仕事は、コンテンツ・プロバイダにとって管理システムで操作しやすく、配信システムから訪問者に効率的に配信可能なアセット・タイプを設計することです。
次の内容について理解してください。
WebCenter Sitesには、設計したアセット・タイプ用に、ベーシックとフレックスという2つのデータ・モデルが用意されています。
ベーシック: アセット・タイプは、単純なデータ構造を備えています。1つのプライマリ記憶域表と、お互いの間に単純な親子関係が設定されています。
ベーシック・アセット・タイプは独立したスタンドアロン・アセット・タイプであり、記事、イメージ・ファイル、ページ、問合せなど、個別の種類のコンテンツを表しています。(「一般的な管理」ツリーの「管理」ノードにある) AssetMakerユーティリティを使用して、ベーシック・アセット・タイプを作成します。
フレックス:・アセット・タイプは、複数のデータベース表を備えた複合データ構造になっており、ベーシック・アセット・タイプよりも多くのフィールドをサポートできます。さらに、複数の親や任意の数の祖父母などを割り当て、そこから属性値を継承することもできます。
フレックス・アセット・タイプは、相互に定義したり、相互に属性値を割り当てるアセット・タイプのファミリで構成されます。(「一般的な管理」ツリーの「管理」ノードにある)フレックス・ファミリ・メーカー・ユーティリティ・を使用して、フレックス・アセット・タイプのファミリを作成します。
WebCenter SitesとOracle WebCenter Sites: Engageにより、複数のコア・アセット・タイプが配信されます。WebCenter Sitesはスタック・アーキテクチャで構成されているため、コアなアセット・タイプは次の方法で利用可能になります。
WebCenter Sitesからテンプレート、問合せ、コレクション、SiteEntry、CSElement、リンク、およびページのアセット・タイプが配信されます。その他のモジュールおよび製品はすべて、テンプレートおよびページのアセット・タイプを使用します。
WebCenter Sitesから属性エディタのアセット・タイプが配信されます。作成したフレックス属性アセット・タイプはいずれもサポートされます。
Engageから訪問者属性、履歴属性、履歴定義、セグメント、推奨、およびプロモーションのアセット・タイプが配信されます。
これらのタイプのアセットは、アセットの取得、順序付け、編成、書式設定によって、コンテンツを保持しているアセット・タイプの表示用にフォーマットまたはロジックを提供します。つまり、コアなアセット・タイプを使用してオンライン・サイト上でコンテンツの編成と書式設定を行います。
WebCenter Sitesで配信されるアセット・タイプは、基本的なサイト・デザイン・ロジックを提供します。これらのタイプのアセットは必要に応じていくつでも作成できますが、アセット・タイプ自体は変更できません。
問合せ: 選択したパラメータまたは基準に基づいてアセットのリストを取得する問合せが格納されます。問合せアセットはページ・アセット、コレクション、および推奨で使用します。データベース問合せは、問合せアセットに対してSQL問合せとして「新規」フォームまたは「編集」フォームに直接書き込むか、「新規」フォームまたは「編集」フォームで特定されたエレメント(WebCenter Sitesの問合せタグが付いているもの、または検索エンジン問合せ)に書き込むことができます。
コレクション: 1つのタイプのアセットの順序付けリストが格納されます。コレクションの構築は、1つ以上の問合せを実行し、その結果セットからアイテムを選択し、選択したアイテムをランキングする(順序付ける)ことによって行います。このランキングされ、順序付けられたリストがコレクションです。たとえば、前夜の選挙結果に関する記事が1位になるように政治関連記事のコレクションをランキングできます。
ページ: 他のアセットに対する参照が格納されます。ページ・アセットの配置と設計によって、組織の表示方法やサイトのデザインが決まります。ページ・アセットの設計は、適切なコレクション、記事、イメージ・ファイル、問合せなどをページ・アセット用に選択して行います。さらに、WebCenter Sites Adminインタフェースの左側にサイトをツリー表示するサイト・ナビゲーション・ノードにページ・アセットを配置します。
ページ・アセットと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のコンテンツ管理システムを使用する各組織のデータ・ニーズはそれぞれ異なるため、コンテンツを表示するデフォルトのアセット・タイプは用意されていません。ただし、サンプル・コンテンツのアセット・タイプがサンプル・サイトから配信されるため、そのアセット・タイプを調べて、各自のサイトに応じて変更できます。
Engageアプリケーションから配信される複数のコアなアセット・タイプを使用して訪問者情報を収集し、訪問者別に表示される製品の配置や販促用の提供品をパーソナライズできます。
訪問者属性: 1つの特性のみ(スカラー値)を指定する情報のタイプが保持されます。たとえば、years of experience
、job title
、number of children
のような名前の訪問者属性を作成できます。
履歴属性: Engageで単一レコードとして扱われる情報のベクターを作成するためにグループ化した個々の情報タイプです。データのこのベクターが履歴定義です。たとえば、purchases
という履歴タイプは、SKU
、itemname
、quantity
およびprice
という履歴属性で構成できます。
セグメント: 共通の特性(訪問者属性および履歴タイプ)に基づいて訪問者をグループに分けるアセットです。セグメントの作成は、セグメントの基となる訪問者データ・アセットを決定し、その基準に対して適格値を設定することによって行います。たとえば、アラスカの住民でフライ・フィッシングの道具一式を所有している人々や、過去6か月以内にパソコンを購入した人々などをセグメントで定義できます。
収集する訪問者データを定義して分類した後、次のアセット・タイプを使用して、オンライン・サイトにコンテンツを表示するフレックス・アセットの選択、編成、表示を行います。
推奨: コレクションの拡張版のようなものです。これは、フレックス・アセット(製品や記事など)を収集、評価、ソートし、現在の訪問者が属するセグメントに基づいて、その訪問者に最適なものを推奨します。
プロモーション: サイト訪問者が購入しようとしているフレックス・アセット(製品など)と訪問者が資格を有するセグメントに基づいて、ある種の価値または割引を訪問者に提供するマーチャンダイジング・アセットです。
注意:
Engageは、フレックス・アセット・モデルのみを使用して作成されたアセットと対話します。推奨とプロモーションをプログラミングして、ベーシック・アセット・モデルを使用するアセットを操作することはできません。
WebCenter Sitesのコンテンツ管理システムによるオンライン・サイトの設計中に、開発チーム全員でサイト用にコンテンツを表示する必要のあるアセット・タイプを作成します。WebCenter Sitesのテンプレートおよびページ・アセット・タイプにより、ベーシック・データ・モデルとフレックス・データ・モデルのいずれを使用しているかに関係なく、データを表すアセット・タイプに対して書式設定フレームワークが提供されます。
オンライン・サイトに表示するデータを表すために選択する必要のあるアセット・データ・モデル(ベーシックまたはフレックス)は、次の2つの項で説明するように、そのデータの特性に依存します。
データに次の特性が備わっている場合は、ベーシック・モデルを選択します。
固定していて、予測可能です。つまり、アセット・タイプに属性を追加する必要はありません。
同種です。つまり、同一タイプのアセットはすべて類似属性を持っています。
適度な数の属性を持っています。ベーシック・アセット用にアセット・タイプに割当て可能な列/属性の数に関して、データベースによる制限があります。
静的なパブリッシュ方法を使用したい場合。静的なパブリッシュ方法の使用が合理的と見なされるフレックス・アセット・モデルのアプリケーションは非常に限られています。
訪問者は、リンク間を移動してオンライン・サイトを参照します。
アセット・タイプのデータがスプレッドシートと推測でき、そのタイプの各アセットが単一レコードであり、すべてのレコードに同じ列が含まれている単純なフラット・テーブルと推測できる場合には、そのアセット・タイプにベーシック・アセット・モデルを使用する必要があります。
データに次の特性が備わっている場合は、フレックス・モデルを選択します。
数多くの属性を持ちます。たとえば、製品には数百もの属性を割り当てられる可能性があります。フレックス・ファミリ・メンバーの属性値は、列ではなく行として格納されるため、フレックス・アセットは物理的にベーシック・アセットよりも多くの属性を持つことができます。
これは、アセットが親アセットから属性値を継承する階層で表すことができます。
属性が将来必要になるか、また、データに定期的に属性を追加する必要があるかは予測できません。
同一タイプのアセット・インスタンスは大幅に変動する可能性があります。つまり、同一タイプのアセットがすべて同じ属性を持っている必要はありません。たとえば、バスタオル製品アセットには、トースタ製品アセットにはない属性が割り当てられますが、バスタオルもトースタもともに製品アセットです。
訪問者は、ドリルダウン、つまりデータの属性値に基づく検索を通して移動することによって、オンライン・サイトを参照します。
Engageを使用する場合。
マーケットは絶えず変動しているため、製品はフレックス・アセット・モデルに適合します。翌年にどの製品が売れるか、または製品にどの属性が割り当てられるかを常に予測できるとはかぎりません。
ビジネスでアセット・タイプの属性を追加または変更するなど、アセット・タイプに変更を加える必要が生じる場合には、フレックス・データ・モデルが最適です。フレックス・アセット・モデルは、予測不能な特性を持つデータを表す必要がある場合に幅広く対応できます。
WebCenter Sitesからベーシック・アセット・モデルが配信されます。一般的には、ベーシック・アセット・タイプのデータ・モデルでは、アセット・タイプごとにデータベース表が1つずつ用意されます。同じタイプのベーシック・アセットには完全に同一のフィールド(プロパティ)があり、単一タイプのアセットはすべて、同じデータベース表に格納されます。WebCenter Sitesのコアなアセット・タイプのほとんどで、ベーシック・データ・モデルが使用されます。
ベーシック・アセット・タイプを作成するには、AssetMakerユーティリティを使用します。PROPERTY
というカスタム・タグを使用してアセット記述子ファイルと呼ばれるXMLファイルをコーディングし、AssetMakerを使用してファイルをアップロードします。プロパティは列にもフィールドにもなります。PROPERTY
文では、該当するタイプのアセットを格納する表に列を定義し、WebCenter Sitesのフォームでその列に対応するフィールドへのデータ入力方法を定義します。
アセット記述子ファイルのコーディングとベーシック・アセット・タイプの新規作成の詳細は、「ベーシック・アセット・タイプの設計」を参照してください。
次の内容について理解してください。
ベーシック・アセット・タイプは、非常に単純な親子関係を備えています。この関係を使用して、アセットの相互関連付けやリンクを実行します。オンライン・サイト用にオンライン・ページを設計する際に、アセットの子または親アセットを識別し、抽出して、適切な方法で表示するテンプレート・エレメントをコーディングします。
ベーシック・アセットで相互に割当て可能な関係をアソシエーションおよび名前なし関係といいます。個々のアセット間でこのような関係が発生する場合、その関係はAssetRelationTree
表に書き込まれます。
アソシエーションは定義済のアセット・タイプ固有の関係であり、WebCenter Sitesのアセット・フォームにフィールドとして表されます。AssetMakerを使用してアセット・タイプを作成した後、そのアセット・タイプの「アソシエーション」フォームを使用してアソシエーション・フィールドを作成します。
アソシエーションを使用して、システム内でアセット・タイプにとって意味のある関係を設定し、その関係の名前を使用して関連アセットを識別し、それをサイト・ページに適切な方法で表示します。たとえば、イメージ・ファイル・アセット・タイプとのアソシエーションとして、Main Imagefile、Teaser ImageFile、Spot ImageFileなどの3つのアソシエーションがアセットの名前付き記事に割り当てられているサイトでは、これらのアソシエーションを通して記事にリンクされるイメージ・ファイルを表示するように、記事テンプレートがコーディングされます。アソシエーションによって、テンプレートは個々の記事アセットの表示に適切なイメージ・ファイルを決定できます。コンテンツ・プロバイダが「新規」記事フォームおよび「編集」記事フォームのイメージ・ファイル・フィールドでイメージ・アセットを選択すると、選択されたイメージ・ファイル・アセットが記事アセットの子になります。(この同じイメージ・ファイル・アセットが、他の記事の子になる場合もあることに注意してください。)
アセット・タイプ間のアソシエーションを新規作成すると、WebCenter Sitesではそのタイプのアソシエーションに対する行がAssociation
表に作成されます。さらに、アセットを作成して別のアセットの名前をアソシエーション・フィールドに指定すると、その関係がAssetRelationTree
表に書き込まれます。
ベーシック・アセットを編成または分類する方法として、このほかにカテゴリ、ソース、サブタイプの3つがあります。カテゴリとサブタイプはアセット・タイプに固有のものです。ただしソースは、コンテンツ管理サイトのすべてのアセット・タイプに当てはまります。したがって、ソースはサイト固有になります。
category
は、サイトに適用される規則に従ってアセットを分類する際に使用できるデフォルトの列およびフィールドです。すべてのベーシック・アセット・タイプには、category
列がデフォルトで設定されていますが、これを使用する必要はありません(これは必須フィールドではありません)。たとえば、バンキング・サイトには、Personal Finance、Banking and Loans、Rates and Bonds、Newsなどのカテゴリがあります。これらのカテゴリによって識別された記事は、選択基準としてカテゴリを使用する問合せによって選択され、特定のサイト・ページに適宜表示されます。
ベーシック・アセット・タイプを新規作成すると、そのタイプのアセットに対するカテゴリ・コードがAssetMakerによって作成されます。さらに、この機能を使用するには、新規アセット・タイプに対して「カテゴリ」フォームを使用し、カテゴリを追加作成します。
新規カテゴリはCategory
表に書き込まれます。この表は、ベーシック・アセット・モデルを使用するアセット・タイプに対する「新規」アセット・フォームおよび「編集」アセット・フォームの「カテゴリ」フィールドに対する参照表として機能します。
「カテゴリ」フィールドおよび列は、サイト・デザインを目的としています。オンライン・サイトの問合せおよび問合せアセットにカテゴリを使用できますが、使用しなくても差し支えありません。WebCenter Sitesアプリケーションの機能はいずれも、カテゴリ・コードに基づいてはいません。(例外として、このフィールドを使用している場合は、それに基づいてアセットを検索できます。)
注意:
SQL Serverでは、属性カテゴリで大文字と小文字を区別できません。たとえば、SQL Serverを使用している場合は、MyCategory
という名前のカテゴリとmycategory
という名前のカテゴリを同時に使用することはできません。
source
は、アセットが最初に作成された場所の特定に使用できる列およびフィールドです。WebCenter Sitesは、オンライン・サイトの設計でこの機能が使用できるように(「ソース」フォームを通して)管理サポートを提供していますが、デフォルトでは、source
列は、Article
以外のベーシック・アセット・タイプのプライマリ記憶域表には存在しません。ベーシック・アセット・タイプでソースを使用するには、ソースのアセット記述子ファイルにプロパティ文を含める必要があります。
たとえば、バンキング・サイトには、WireFeed、Asia Pulse、UPIなどのソースがあります。一部のオンライン・ページでは、ソース列の値に基づいて記事を検索する問合せの結果に基づいて表示するようにストーリーが選択されます。
ベーシック・アセット・タイプを新規作成した後で、必要に応じて、「一般的な管理」ツリーの「管理」ノードの「ソース」フォームで新規ソースを追加します。新規ソースはSource
表に書き込まれます。この表は、ベーシック・スタイル・アセットに対する「新規」アセット・フォームおよび「編集」アセット・フォームの「ソース」フィールドに対する参照表として機能します。
サブタイプという概念から、アセット・タイプをさらに分類する方法が生まれました。フレックス・アセット・データ・モデルでは、定義アセット・タイプによってフレックス・アセットおよびフレックス親アセットのサブタイプが作成されます。ベーシック・アセット・データ・モデルでは、サブタイプの概念は、アセット・タイプに対するプライマリ記憶域表のsubtype
列を通して実現されます。
WebCenter Sitesアプリケーションでは、アセットの「サブタイプ」の値を様々な方法で使用します。
テンプレート・アセットの場合、サブタイプは、テンプレートが書式設定するアセットのタイプを意味します。記事を書式設定するテンプレートは、イメージを書式設定するテンプレートとはサブタイプが異なるテンプレートです。記事アセットを作成する場合は、記事を書式設定するテンプレートのみが、そのアセットの「新規」フォームまたは「編集」フォームの「テンプレート」フィールドにオプションとして表示されます。
また、Oracle WebCenter Sites: Contributorインタフェースを使用して、所定のテンプレートを使用して表示されるサブタイプを指定することもできます。たとえば、Webサイトでスポーツおよびニュースという2つのサブタイプの記事アセットを使用する場合、スポーツ・サブタイプの記事のみを表示するテンプレートを作成できます。
問合せアセットの場合、サブタイプは、問合せが返すアセットのタイプを意味します。記事を返す問合せアセットは、イメージ・ファイルを返すものとは異なるサブタイプの問合せアセットです。
コレクション・アセットの場合、サブタイプは、コレクションが保持するアセットのタイプを意味します。記事を保持するコレクションは、イメージ・ファイルを保持するものとは異なるサブタイプのコレクション・アセットです。
設計したベーシック・アセット・タイプの場合、サブタイプはレンダリングされた方法に基づいてアセットを分類するように機能します。パブリッシュ先それぞれで、アセット・タイプの各サブタイプにデフォルトのテンプレートを定義できます。
アセットのパブリッシュ先に基づいて、特定のタイプのアセットに別のテンプレートを割り当てる必要がある場合にのみ、サブタイプを作成する必要があります。
任意のサブタイプを作成するアセット・タイプの「新規」フォームおよび「編集」フォームに「サブタイプ」というフィールドが表示されます。このフィールドのドロップダウン・リストに、そのアセット・タイプに用意されているサブタイプがすべて表示されます。
注意:
フレックス・アセット・モデルでは、定義アセット・タイプがサブタイプとして機能します。たとえば、avisportsサンプル・サイトのフレックス・ファミリには、Article
という名前の定義があります。つまり、記事アセットの1つのサブタイプとして、Article
サブタイプがあります。
アセット・タイプの中には、サブタイプが暗黙的に設定されていて変更できないものもあります。また、ユーザーがContributorインタフェースを使用してアセットのサブタイプを選択できるアセット・タイプもあります。表4-1に、WebCenter Sitesのアセット・タイプを、構成可能なサブタイプがあるかどうかに応じて一覧表示します。
表4-1 暗黙的なサブタイプと構成可能なサブタイプ
暗黙的なサブタイプ | 構成可能なサブタイプ |
---|---|
|
|
構成可能なサブタイプの設定の詳細は、「ベーシック・アセット・タイプの設計」を参照してください。
ベーシック・アセット・タイプにはプライマリ記憶域表が1つありますが、WebCenter Sitesでは、ベーシック・アセットの基本情報は他の表に保持されています。ベーシック・タイプのアセットを新規作成すると、WebCenter Sitesでは次のデータベース表に書き込まれます。
そのタイプのアセットを保持するプライマリ・データベース表。たとえば、各ページ・アセットではPage
表に1行が表示され、各記事アセットではArticle
表に1行が表示されます。
これらの表には、アセットの名前、そのオブジェクトID、作成者、使用するテンプレートなど、アセットの属性またはフィールド値がすべて格納されます。この表の名前は、アセット・タイプの名前と常に一致します。
ベーシック・アセット・タイプを新規作成すると、このプロセスの一環として、アセット・タイプに対するプライマリ記憶域表(WebCenter Sitesのオブジェクト表の1つ)がAssetMakerユーティリティによって作成されます。
アセットに他のアセットとのアソシエーションが設定されている場合は、AssetRelationTree
表。ベーシック・アセットに設定可能な関係は、「ベーシック・アセット間の関係」で説明しています。
アセットへのアクセスを許可するコンテンツ管理サイト(パブリケーション)を指定するAssetPublication
表。サイト(パブリケーション)間でアセットが共有される場合は、pubidごとに行エントリがあります。pubidは、サイト(パブリケーション)を識別する一意の値です。
アセットがページ・アセットの場合は、SitePlanTree
表。この表には、サイト・ナビゲーションにおけるページ・アセットの階層位置に関する情報が格納されます。
コンテンツを表すアセットを表示するテンプレートを開発する場合、先行リストの表から情報を抽出して表示するエレメントを、XMLタグまたはJSPタグを使用してコーディングします。
各種サンプル・アセット・タイプに対して「新規」フォームおよび「編集」フォームを調べ、Explorerツールを使用してWebCenter Sitesデータベース内の表を調べてください。
注意:
これらの表のいずれでも、データの変更にはExplorerツールを使用しないでください。アセットとそれに関連する表の編集すべてには、WebCenter Sitesインタフェースのみを使用してください。
テンプレート・アセット・タイプはコアのアセット・タイプですが、ベーシック・アセット・モデルを使用しません。これは、次のデータベース表にエントリを持つコンプレックス・アセット・タイプです。
Template
表(プライマリ記憶域表)
SiteCatalog
表
ElementCatalog
表
テンプレート・アセットを新規作成すると、WebCenter Sitesでは、SiteCatalog
表とElementCatalog
表の両方で、そのアセットに対するエントリが自動的に作成されます。
WebCenter Sitesは、基本機能用にデフォルトの列を複数必要とします。したがって、該当するアセット・タイプに対してアセット記述子ファイルに定義された列のほかに、表4-2に示すように、列がAssetMakerによってアセット・タイプのプライマリ記憶域表にそれぞれ作成されます。
表4-2の列に対してプロパティ文を含めるようにアセット記述子ファイルをコーディングする必要はありません。
表4-2 アセット・タイプのプライマリ記憶域表の列
デフォルトの列(フィールド)名 | 説明 | WebCenter Sitesインタフェースでの表示場所 |
---|---|---|
|
アセット作成時にWebCenter Sitesによって自動生成される、各アセットの一意のID。 このフィールドの値は変更できません。 |
フォーム:
|
|
アセットの一意の名前。名前は64個の英数字に制限されています。 |
フォーム:
検索結果リストにもあります。 |
|
名前のみよりも多くの情報を提供するアセットの短い説明。 |
フォーム:
検索結果リストにもあります。 |
|
アセットのステータスで、 PL: 作成済 ED: 編集済 RF: 受信済(たとえばXMLPostから) UP: Xcelerate 2.xからアップグレード済 VO: 削除済(void) このフィールドの値はWebCenter Sitesで制御されます。このフィールドは手動では編集できません。 |
フォーム: ステータス(アセットのステータスがPL(作成済)とED(編集済)のいずれかの場合) ステータスがVO (削除済)であるアセットが、WebCenter SitesのWindowsインタフェースのどこにも表示されないことに注意してください。 |
|
アセットを元々作成したユーザーのID。このユーザー名は このフィールドの値はWebCenter Sitesで制御されます。手動では編集できません。 |
フォーム: ステータス また、このタイプのアセットにリビジョン追跡が有効になっている場合は、「リビジョン履歴」リスト。 |
|
アセットが初めてデータベースに書き込まれた日時。 このフィールドの値はWebCenter Sitesで制御されます。手動では編集できません。 |
フォーム: ステータス また、このタイプのアセットにリビジョン追跡が有効になっている場合は、「リビジョン履歴」リスト。 |
|
いずれかの方法でアセットを最後に変更したユーザーのID。このユーザー名は このフィールドの値はWebCenter Sitesで制御されます。手動では編集できません。 |
フォーム: ステータス また、このタイプのアセットにリビジョン追跡が有効になっている場合は、「リビジョン履歴」リスト。 |
|
ステータス・フィールドの情報が現在の状態に変更された日付。 このフィールドの値はWebCenter Sitesで制御されます。手動では編集できません。 |
フォーム: ステータス また、このタイプのアセットにリビジョン追跡が有効になっている場合は、「リビジョン履歴」リスト。 |
|
プロモーション・アセット(Engageアセット)には、ライブ・システムで訪問者のページに表示可能な期間が設定されています。この列には、プロモーションの期間の開始時刻が格納されます。 プロモーション・アセット・タイプのみが、この列を使用するデフォルトのアセット・タイプです。 アセット・タイプにstartdateフィールドとenddateフィールドを使用する場合は、「ベーシック・アセット・タイプの作成」の例5-7を参照してください。 |
フォーム:
|
|
プロモーション・アセット(Engageアセット)の場合、この列には、プロモーションの期間の終了時刻が格納されます。 プロモーション・アセット・タイプのみが、この列を使用するデフォルトのアセット・タイプです。 |
フォーム:
|
|
アセットのサブタイプの値。サブタイプは、アセットごとに異なる方法で設定されます。詳細は、「サブタイプ」を参照してください。 |
フォーム:
|
|
ディスクへのエクスポートのパブリッシュ方法の使用中に、このアセットに作成されたファイルに使用する名前。 ページ・アセット・タイプおよび記事アセット・タイプのみが、デフォルトでこのフィールドが有効になっているアセット・タイプです。 アセット・タイプに |
フォーム:
|
|
ディスクへのエクスポートのパブリッシュ方法でアセットをファイルにレンダリングする際、そのアセットの子アセットから生成されるエクスポート済ページ・ファイルに使用するディレクトリ・パス。 ページ・アセット・タイプおよび記事アセット・タイプのみが、デフォルトでこのフィールドが有効になっているアセット・タイプです。 アセット・タイプに |
フォーム:
|
|
アセットのテンプレート。 これは、ディスクへのエクスポートを使用してパブリッシュされるか、ライブのダイナミック配信システムでレンダリングする際に、アセットのレンダリングに使用されるテンプレートです。 このテンプレートは、アセットがディスクへのエクスポートのパブリッシュ方法で承認されている場合の依存性の計算にも使用されます。ただし、アセット・タイプにサブタイプが設定されていて、そのサブタイプに基づいてデフォルトの承認テンプレートがアセットに割り当てられている場合を除きます。 |
フォーム:
|
|
アセットに割り当てられたカテゴリがある場合は、そのカテゴリのカテゴリ・コード。
|
フォーム:
|
非推奨 |
アセットが、WebCenter Sitesインタフェースでなくサイト・デスクトップ・インタフェースで入力された場合、そのアセットのソースである外部ドキュメントを格納します。 このフィールドの値はWebCenter Sitesで制御されます。手動では編集できません。 |
該当なし |
非推奨 |
このフィールドの値はWebCenter Sitesで制御されます。手動では編集できません。 |
該当なし |
|
将来の使用のために予約されています。 |
該当なし |
フレックス・アセット・モデルの主な特徴は次のとおりです。
フレックス・アセットは、フレックス定義によって定義されます。フレックス定義は、個々のフレックス・アセットをどのフレックス属性で構成するかを決定するアセット・タイプです。フレックス定義により、フレックス・アセット・タイプのサブタイプが作成されます。
定義アセット・タイプによってフレックス・アセットおよびフレックス親アセットのサブタイプが作成されるため、フレックス・アセット・タイプまたはフレックス親アセット・タイプの個々のインスタンスのバリエーションを広げることができます。
フレックス属性はアセットです。フレックス・データ・モデルによって、フレックス属性を既存のフレックス・アセット・タイプに随時追加(または削除)できます。
フレックス・フィルタは1つのフレックス属性からデータを取り込み、それを変換または評価し、フレックス・アセットの保存時に別のフレックス属性に結果を格納できます。フレックス・フィルタのアクションによって得られた値を、導出された属性値といいます。フレックス・フィルタの詳細は、「フレックス・フィルタの作成」を参照してください。
フレックス・アセットは属性値を(導出値でさえも)フレックス親から継承できるため、データを階層で表すことが可能になります。
ベーシック・アセット・タイプの場合とは異なり、個々のフレックス・アセット・タイプは作成せず、かわりにアセット・タイプのフレックス・ファミリを作成します。
次の内容について理解してください。
フレックス・アセット・データ・モデルは、アセット・タイプのファミリの観点から考えることができます。フレックス・ファミリには6つのアセット・タイプがあります。表4-3に示すように、5つは必須であり、6つ目はオプションです。
表4-3 フレックス・ファミリのメンバー
フレックス・ファミリのメンバー | ファミリ当たりの数 |
---|---|
フレックス属性アセット・タイプ |
1つ |
フレックス親定義アセット・タイプ |
1つ以上 |
フレックス定義アセット・タイプ |
1つ以上 |
フレックス親アセット・タイプ |
1つ以上 |
フレックス・アセット・タイプ |
1つ以上 |
フレックス・フィルタ・アセット・タイプ |
ゼロまたはそれ以上 |
アセット・タイプの中には、開発者がデータ・モデルに他のアセット・タイプを作成するために排他的に使用されるものがありますが、フレックス・アセット・タイプは常に、コンテンツ・プロバイダが当該タイプのアセットを作成するために使用します。(必要に応じて、認証ユーザーに、追加のフレックス・ファミリ・メンバーへのアクセス権を与えることができます。)
フレックス・ファミリを作成するには、Adminインタフェースの「フレックス・ファミリ・メーカー」ノードの「新規ファミリの追加」(「一般的な管理」ツリーの「管理」ノードの「フレックス・ファミリ・メーカー」にあります)をダブルクリックして、「新規フレックス・ファミリの追加」フォームにアクセスします。このフォームで、ファミリ内の各アセット・タイプに名前を付けます。たとえば、製品ファミリという名前のフレックス・ファミリがあるとします。フレックス・アセットは製品アセット、フレックス属性は製品属性というように呼ばれます。
フレックス・ファミリのキー・メンバーはフレックス・アセットです。フレックス・アセットは、データベースから抽出してオンライン・サイト(配信システム)の訪問者に表示するデータの単位です。ファミリ内の他のメンバーのすべては、なんらかの点でフレックス・アセット・メンバーの一部となります。
フレックス・アセットがキーであるのに対し、属性はフレックス・アセット・モデルの基盤です。属性は情報の個々のコンポーネントです。たとえば、色、高さ、作成者、ヘッドラインなどがあります。属性は、フレックス・アセットおよびフレックス親の定義に使用します。フレックス・アセットは親から属性値を継承し、親はその親から属性値を継承する、となります。
どの属性がどのフレックス・アセットおよびフレックス親を記述するかを決定するには、フレックス定義およびフレックス親定義のアセット・タイプを使用してテンプレートを作成します。フレックス親とその定義によって、属性値の継承が実装されます。
フレックス親もフレックス・アセットも、2つのタイプの属性で定義することはできません。サイトには、2つ以上の種類の属性があります。たとえば、製品属性とコンテンツ属性です。製品アセット(製品フレックス・ファミリのフレックス・アセット・メンバー)は製品属性のみで定義できます。その定義にコンテンツ属性を含めることはできません。
フレックス・フィルタによって、属性値に対してなんらかのアクションを実行し、フレックス・アセットの保存時にアクションの結果を保存するように構成できます。たとえば、WordファイルのテキストをHTMLコードに変換するフィルタを構成できます。
要するに、フレックス・ファミリのフレックス・アセット・メンバーはファミリの理由であり、表示するコンテンツの単位です。フレックス・ファミリのその他のメンバーはフレックス・アセットのデータ構造を提供します。ただし、ファミリのメンバーはすべてアセットであるため、リビジョン追跡、ワークフロー、検索など、WebCenter Sitesの標準機能が利用できます。
フレックス・アセット・データ・モデルを使用している場合、親子関係という語句は、フレックス・アセットとそのフレックス親アセットの関係を指します。この親子関係は、ベーシック・アセットがアセット・アソシエーションを通して得る親子関係とは異なります。
フレックス・アセットがベーシック・アセットと同種の親子関係を持つことは可能ですが、次の理由により、現実に行われるとは考えられません。
WebCenter Sitesにはタグ・ファミリASSETSET
およびSEARCHSTATE
があり、表示するフレックス・アセットを選択する場合は、コレクション・アセット・タイプおよび問合せアセット・タイプのかわりに使用します。このタグ・ファミリの詳細は、「assetsetおよびsearchstate」を参照してください。
フレックス・アセットはアソシエーションを必要としません。たとえば、製品などのフレックス・アセットにイメージ・ファイルを割り当てるには、イメージ・ファイルを特定する属性を作成して、それをフレックス・アセットの定義に割り当てることができます。
avisportsサンプル・サイトでは、調査可能なフレックス・ファミリが1つあります。サンプル・フレックス・アセット・タイプの次の説明を理解しやすくするためにこの項をお読みになる際には、Contributorインタフェースの記事アセットおよびイメージ・アセットをいくつか調査してください。
avisportsフレックス・ファミリ
avisportsサンプル・サイトのフレックス・ファミリでは、avisportsサンプル・サイトに示す記事およびイメージのデータ構造が提供されます。スポーツ記事のオンラインWebサイトが作成されます。
次に、avisportsフレックス・ファミリのアセット・タイプを示します。
ContentAttribute: avisportsサンプル・サイトの記事、イメージおよび親の属性の定義に使用するフレックス属性アセット・タイプです。たとえば、ヘッドライン、サブヘッドライン、著者、関連イメージなどの名前の属性があります。
ContentParentDef: avisportsサンプル・サイトのフレックス・ファミリのフレックス親定義アセット・タイプです。これは、親のサブタイプの作成に使用します。1つあります: カテゴリ。
ContentDef: avisportsサンプル・サイトのフレックス・ファミリのフレックス定義アセット・タイプです。Article
、ArticleImage
、Image
の各定義のサブタイプの作成に使用されます。このサイトのすべてのAVIArticle
アセットは、Article
定義で定義されます。このサイトのAVIImage
アセットは、Image
またはArticleImage
のいずれかの定義によって定義されます。
ImageCategory: ランニング・イメージ、スキー・イメージ、野球イメージなどのイメージのカテゴリを表すフレックス親です。
ArticleCategory: ランニング記事、野球記事、スキー記事どの記事のカテゴリを表すフレックス親です。
AVIImage: アップロードされたイメージ・ファイルを格納するフレックス・アセット・タイプです。イメージ・アセットは、avisports Webサイトに示されるイメージを表します。
AVIArticle: 記事のテキストと関連情報を格納するフレックス・アセット・タイプです。ヘッドライン、署名行、サブヘッドライン、本文などの属性があります。
avisportsサンプル・サイトのフレックス・ファミリには、3つのコンテンツ定義があり、コンテンツ・アセット・タイプは2つのみであることに注意してください。記事定義は、AVIArticle
アセット・タイプによって使用されます。Image
およびArticleImage
定義は、どちらもAVIImage
アセット・タイプによって使用されます。
フレックス属性はフレックス・アセット・モデルの基盤です。属性は、情報の1単位を表します。属性アセットは、フレックス・アセットおよびフレックス親の定義に使用します。これらは、フレックス・アセットおよびその親に対して、「新規」フォームおよび「編集」フォームでフィールドとして表示されます。
属性は、ベーシック・アセットのプロパティに似ています。プロパティと同様に、属性はWebCenter Sitesデータベース表の列に格納できるデータの種類を定義し、フォーム内のフィールドを記述します。ただし、プロパティがアセット・タイプのデータベース表に列を定義するのに対し、属性は専用のデータベース表を持つアセットです。
このデータ構造(列としてではなく、アセットとしての属性)は、フレックス・アセットの柔軟性が高い理由の1つです。
繰り返しますが、フレックス親もフレックス・アセットも、2つのタイプの属性で定義することはできません。たとえば、製品フレックス・ファミリとコンテンツ・フレックス・ファミリが含まれるサイトでは、製品アセット・タイプは製品属性のみで定義できます。その定義にコンテンツ属性を含めることはできません。
注意:
削除したフレックス属性によって格納されたデータは、データベースから削除されません(このデータは問合せによって引き続き返されます)。
属性のデータ型は、wcs_properties.json
ファイルに配置されているWebCenter Sitesデータベースのプロパティによって定義されます(「コア」に分類)。
表4-4に、フレックス属性のデータ型、データ型を定義するプロパティ、およびプロパティが配置されているファイルを一覧表示します。
表4-4 フレックス属性のデータ型
型 | プロパティ |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
フレックス属性は、「新規」フォームまたは「編集」フォームにフィールドとして表示されるときに、そのデータ型に基づいたデフォルトの入力スタイルが設定されます。次のリストに、フレックス属性のデフォルトの入力スタイルを示します。
Date: 図4-2のように表示される入力ボックス。
Float
: 小数部の桁を強制表示したテキスト・フィールド。
Integer
: テキスト・フィールド。
Money
: 通貨フォーマットを強制表示したテキスト・フィールド。
String
: 最大255文字を受け入れるテキスト・フィールド。
Text
: テキスト・ボックス。受け入れられる文字数は、使用しているデータベースおよびデータベース・ドライバによって異なります。
Asset
: 指定されたタイプの全アセットを示したドロップダウン・リスト。
Blob
: 「参照」ボタンが設定されたテキスト・フィールド。
デフォルトの入力スタイルを使用するかわりに、属性エディタを作成して、それを属性に割り当てることができます。属性エディタはアセットですが、属性フィールドへのデータ入力方法を指定するという点で、ベーシック・アセットに対するアセット記述子ファイル内のINPUTFORM
文にも似ています。属性エディタの詳細は、「属性エディタの設計」を参照してください。
フレックス親とそのフレックス親定義は編成構造であり、次の2つのアクションを実行します。
属性値の継承を実装します。親定義は継承ルールを設定(記述)し、親はこれらの継承ルールに従って属性値をフレックス・アセットに渡します。
WebCenter Sitesインタフェースでアセットを表示するタブにおけるフレックス・アセットの位置を決定します。タブ上にツリー形式で表示される親とフレックス・アセットの階層は、親定義を使って設定された階層に基づきます。
それぞれの親アセット・タイプには、親定義で指定されたように、専用の属性セットがあります。親定義によって、WebCenter Sitesインタフェースに表示されるフォームが作成されます。
親を使用してフレックス・アセットを編成または管理するには、親の子アセットごとに変更する必要のない標準の属性値を渡します。
親アセット・タイプは、WebCenter Sitesインタフェース内で、開発者やコンテンツ・プロバイダがデータを表示する方法と、データと対話する方法に影響します。
たとえば、Category
およびSubCategory
という2つの親定義がある、ProductSiteという名前のサイトがあるとします。これらは、(Contributorインタフェース内の)「コンテンツ・ツリー」で構造体を作成することのみを目的としています。
製品親の定義がCategory
の場合、製品親は「コンテンツ・ツリー」の最上位レベルに表示されます。製品親の定義がSubCategory
の場合、図4-3に示すように、製品親は第2レベルに表示され、専用の親が指定されます。
図4-3では、Compact Fluorescent、Halogenなど、最上位レベルの製品親が複数あります。これらはカテゴリ定義を使用して作成されています。Double BIAX and 2-Pin、Double BIAX and 4-pinなどの次レベルの製品親は、サブカテゴリ定義を使用して作成されています。
親定義および親アセットの目的は、データの分類を表現することのみではありません。エンド・ユーザーによる入力エラーのリスクなしで、ビジネス・ルール(ロジック)を適用できるようにもします。特定の定義のフレックス・アセットを作成した場合は、継承する必要のある依存性が存在する場合、そのフレックス・アセットには親を設定する必要があります。
たとえば、次の5つの属性を持つトースタという単純な製品があるとします。
SKU = 1234
説明 = トースタ
価格 = 20
CAT1 = キッチン
CAT2 = 電化製品
CAT2の値が電化製品の場合、CAT1の値にはキッチンのみを指定できます。つまり、CAT1の値とCAT2の値の間にはビジネス・ルールの依存性が存在します。
このような場合、コンテンツ・プロバイダは両方のフィールドを入力する必要はありません。データを手動入力しなければならないフィールドはすべて、入力エラーによって不正なデータが保持される可能性があるため、継承を使用してビジネス・ルールを適用することをお薦めします。
CAT1とCAT2を親定義にします。
キッチンをCAT1の定義で作成された親にして、電化製品をCAT2の定義で作成された親にします。
キッチンを電化製品のフレックス親にします。
コンテンツ・プロバイダが製品を作成するときに、CAT2に対して電化製品を選択した場合、CAT1の値は継承によって自動的に設定されます。
フレックス・アセットは、フレックス・ファミリの理由です。これは、製品、表示されるコンテンツの一部など、最終目標を表すアセット・タイプです。たとえば、avisportsサンプル・サイトには次の2つのフレックス・アセット・タイプがあります。
Article
(フレックス): テキストを保持するアセット。
Image
(フレックス): アップロードしたイメージ・ファイル保持するアセット。
ファミリ内の他のメンバーのすべては、なんらかの点でフレックス・アセット・メンバーの一部となります。
フレックス定義アセットは、靴、トースタ、ボーリングのボール、パンフレット、ニュースレター、記事など、フレックス・ファミリ内で1種類のフレックス・アセットを記述します。フレックス定義アセットは、Contributorインタフェースで表示されるフォームに直接影響するテンプレートです。
avisportsサンプル・サイトでは、記事の定義が1つ(Article
)、イメージの定義が2つ(Image
およびArticleImage
)あります。フレックス定義は必要に応じていくつでも作成できます。たとえば、スポーツと天気の記事を提供するニュース・サイトでは、スポーツ用に設定されたフレックス定義と、天気用に設定された別のフレックス定義アセットが必要になります。
個々のフレックス・アセットは、1つのフレックス定義アセットのみに従って作成します。Image
定義とArticleImage
定義の両方を使用したイメージは作成できませんが、Image
定義を使用するイメージを作成してから、ArticleImage
定義を使用する別のイメージを作成することはできます。
フレックス・アセットには、作成時に直接割り当てられた属性のみでなく、親から継承する属性も割り当てられます。これには複数のフレックス親を割り当てることができ、親に親があるかどうかは設計した階層構造によって異なります。図4-4に、3つのレベルの階層のサイトの例を示します。
Other Compact Fluorescent製品親には専用の親(Compact Fluorescent)と複数の子(10576、10578など)が割り当てられています。
フレックス・ファミリ内のアセット・タイプには、それぞれ複数のデータベース表があります。たとえば、フレックス・アセット・メンバーには6つの表、フレックス親タイプには5つの表があります。このデータ・モデルでは、フレックス・ファミリ内のフレックス・メンバーは、ベーシック・アセット・モデルの場合よりも多くのフィールドをサポートできます。
フレックス・モデルで最も重要な4つの表のタイプは次のとおりです。
アセット・タイプのプライマリ表
_Mungo
表: フレックス・アセットおよびフレックス親アセットのみの属性値を保持します。
MungoBlobs
表: blob
型のすべてのフレックス属性の値を保持します。
_AMap
表: フレックス・アセットおよびフレックス親のみの属性値の継承に関する情報を保持します。
その他にも複数の表があり、これらの表にはフレックス・アセット間の関係に関する基礎データだけでなく、追加の構成情報(検索エンジンの詳細、外部属性の場所、パブリッシュ情報、リビジョン追跡が有効になっている場合はバージョン情報)も格納されています。
さらに、特定の種類のサイト情報は、ベーシック・アセットで使用される表と同じ表に保持されます。たとえば、AssetPublication
表では、アセット・タイプが有効化されているコンテンツ管理サイトを指定します。
フレックス・アセットを表示するテンプレートを開発する場合、_Mungo
表およびMungoBlobs
表から情報を抽出して表示するエレメントをコーディングします。
ベーシック・アセット・タイプと同様に、各フレックス・アセット・タイプには、アセット・タイプの名前を採用したプライマリ記憶域表があります。たとえば、avisportsサンプル・サイトで、articleという名前のアセット・タイプのプライマリ表はAVIArticle
で、このサンプル・サイトのイメージ・アセット・タイプのプライマリ表はAVIImage
になります。記事とイメージの両方の属性のプライマリ表の名前はContentAttribute
です。
ベーシック・アセット・タイプのプライマリ表と異なり、フレックス・アセット・タイプのプライマリ表には、デフォルトの列のみが設定されます。これは、属性値を持つフレックス・アセット・タイプが、属性値をプライマリ表に格納しないためです。属性値は、このアセット・タイプの_Mungo
表に格納されます。
一般的に、フレックス・アセット・タイプに対するプライマリ表のデフォルトの列タイプは、ベーシック・アセット・タイプに対するプライマリ記憶域表のデフォルトの列と同じです。デフォルトの列タイプの全般的なリストは、「ベーシック・アセット・タイプのデータベース表のデフォルトの列」を参照してください。
ただし、表4-5に示すように、例外や追加事項は当然ながら存在します。
表4-5 フレックス・アセット・タイプのデータベース表のデフォルトの列
列 | 説明 |
---|---|
|
カテゴリはフレックス・アセット・モデルでは使用されないため、フレックス・アセット・タイプのプライマリ表には フレックス・アセットに対する問合せがそのフレックス属性の値に基づいているため、フレックス・アセットはカテゴリ機能を必要としません。 |
|
この列では、製品、記事(フレックス)、イメージ(フレックス)などのフレックス・ファミリ内のフレックス・アセット・メンバーに対する表のみに値が保持されます。これは、ファミリ内のフレックス・アセット・メンバーのみにテンプレート・アセットを割り当てて、オンライン・サイトで表示できるためです。 |
|
フレックス・アセットに割り当てられたテンプレート・アセットのオブジェクトIDを保持します。 |
|
フレックス属性タイプに対するプライマリ表の追加列です。属性が「新規」フォームおよび「編集」フォームに表示されるときに、その属性の入力スタイルを書式設定する属性エディタの名前を保持します(属性エディタが存在する場合)。 |
|
フレックス・アセット・タイプ(フレックス・ファミリのフレックス・アセット・メンバー)に対するプライマリ表の追加列です。フレックス・アセットの作成に使用したフレックス定義のIDを保持します。 |
|
フレックス親アセット・タイプに対するプライマリ表の追加列です。フレックス親アセットの作成に使用した親定義のオブジェクトIDを保持します。 |
フレックス・アセット・タイプおよびフレックス親アセット・タイプには、AssetType_Mungo
表があり、この場合、AssetType
はフレックス・アセット・タイプの名前です(また、メイン記憶域表の名前と一致します)。その目的は、アセットの作成時にそのタイプのアセットに割り当てられた属性値を格納することです。たとえば、avisportsサンプル・サイト表のAVIArticle_Mungo
には、記事アセットの属性値が保持され、AVIImage_Mungo
表には、イメージ・アセットの属性値が保持されています。
各属性値には、別々の行が割り当てられます。
_Mungo
表の各行には、表4-6の各列の値が表示されます。
表4-6 _Mungo表の行
列 | 説明 |
---|---|
|
フレックス・アセットが保存され、行が作成されたときに、WebCenter Sitesによって自動生成される、各属性値の一意のID。 これは、表の主キーです。 |
|
属性値が属するフレックス・アセットのID。(フレックス・アセットの表、たとえば |
|
属性のID。(属性の表、たとえば |
|
属性値が継承された場合は、値を渡した親のID。(親の表、たとえば |
_Mungo
表の各行には表4-7の列もすべて含まれますが、値(データ)は属性のデータ型に応じて1つの列のみに指定されます。
表4-7 _Mungo表の列
列 | 説明 |
---|---|
|
属性のデータ型が |
|
属性のデータ型が |
|
属性のデータ型が |
|
属性のデータ型が |
|
属性のデータ型が |
|
属性のデータ型が |
|
属性のデータ型が |
|
属性のデータ型が |
|
属性のデータ型が |
_Mungo
表にはURL列があるため(「WebCenter SitesのURLフィールドを使用した間接的なデータ格納」を参照)、その列に対してデフォルトの記憶域ディレクトリ(defdir)を設定する必要があります。_Mungo
表に対してdefdirを設定するには、wcs_properties.json
ファイルのcc.urlattrpath
プロパティを使用します。
MungoBlobs
表が1つ存在します。これには、システム内のすべてのフレックス属性タイプに対して、blob
型のすべてのフレックス属性の値が保持されています。各属性値には、表の別々の行が割り当てられます。
フレックス・アセット・タイプおよびフレックス親アセット・タイプには、AssetType _AMap
表があります。その目的は、親から継承した属性にアセットをマップすることです。これにより、オンライン・サイトのページにアセットを表示するテンプレートを作成するときに、属性が継承されたか直接割り当てられたかどうかに関係なく、属性のいずれかに基づいてアセットを問い合せたり、それらの属性のいずれかを表示できます。
_AMap
表では、継承された属性の値を持つフレックス・アセットごとに行が1つ割り当てられます。(ただし、属性が複数の値を持っている場合、_Mungo
表では値ごとに行が1つ割り当てられます。)
_AMap
表には、表4-8に示す列があります。
表4-8 _AMap表の列
列 | 説明 |
---|---|
|
フレックス・アセットが保存され、行が作成されたときに、WebCenter Sitesによって自動生成される、各行の一意のID。これは、表の主キーです。 |
|
属性が継承された場合は、その継承元である親のID。(親の表、たとえばProductGroupsのもの。) |
|
属性のID。(属性の表、たとえばPAttributesのもの。) |
|
属性値が属するフレックス・アセットのID。(フレックス・アセットの表、たとえばProductのもの。) |
WebCenter Sitesには、オンライン・ページに表示する個々のフレックス・アセットを識別するために、メソッド・ファミリASSETSET
およびSEARCHSTATE
があります。
assetset
assetsetはフレックス・アセットまたはフレックス親アセットのみのグループであり、フレックス属性、フレックス定義またはフレックス親定義は含まれません。たとえば、avisportsサンプル・サイトでは、記事およびイメージを含めたassetsetを作成できます。サイト・ページのコーディング時には、assetsetを作成して、その中にアセットを表示する文をコーディングします。
searchstate
フレックス・アセットのテンプレートでSEARCHSTATE
メソッド・ファミリを使用して、assetsetに含める必要のあるフレックス・アセットを特定します。searchstateは、フレックス・アセットのリストまたはセットに適用される検索絞込み条件のセットです。絞込み条件として、属性値または別のsearchstate(ネストされたsearchstate)のいずれかに基づいたフィルタ(制限)を使用できます。
searchstateは、データベース内の_Mungo
表でも、検索エンジンで作成された属性索引のいずれでも検索できます。つまり、データベース検索とリッチテキスト(索引を通じたフルテキスト)検索を同じ問合せ内に混在させることができます。
これらのタグは、_Mungo
表または属性索引のみでフレックス・アセット・タイプを検索するため、これらのタグを使用してフレックス・アセットを抽出することは、ASSET
タグまたは問合せアセットを使用するよりもはるかに効率的です。
assetsetと属性アセット・タイプ
WebCenter Sitesでは、属性アセット・タイプ全体の検索は実行できません。assetsetは属性値に基づいて作成されるため、同じassetsetに含められるのは同じ属性アセット・タイプを共有するアセットのみです。これは、フレックス・ファミリを設計する際の重要な考慮点であり、共通の属性アセット・タイプを共有しないフレックス・アセット・タイプを作成する場合は、データが分離されます。このようなフレックス・アセット・タイプを作成することで、異なるタイプのアセットが共通assetsetに含まれないようにします。また、assetsetを表示することは、配信システム上でフレックス・アセットを表示するためのメカニズムです。
たとえば、同じフレックス・ファミリに2つのタイプのフレックス・アセットを持つことができます。これらが同じタイプの属性を使用するかぎり、両方のタイプのアセットを含むassetsetを作成できます。ただし、2つのタイプのフレックス・アセットにわたって検索すると、それぞれの_Mungo
表の間に結合が生じるため、パフォーマンスが低下する可能性があることに留意してください。
avisportsサンプル・サイトには、article
およびimage
という2つのフレックス・アセット・タイプがあります。これらは、同じ属性アセット・タイプ(ContentAttribute
)を共有します。これは共有の属性アセット・タイプであるため、2つの異なるフレックス・アセット・タイプの場合であっても、同じassetsetに含めることができます。
この2つのアセット・モデルのデータ構造は非常に異なるため、アセット・モデルが検索エンジンと対話する方法も大きく異なります。
ベーシック・アセット・タイプはアセット記述子ファイルによって定義されます。そのプライマリ記憶域表には、すべてのプロパティが列として含まれます。ベーシック・アセット・タイプで索引付けするフィールドを指定するには、そのアセット・タイプの特定のエレメントをカスタマイズする必要があります。「ベーシック・アセット・タイプの設計」を参照してください。
フレックス・アセットのフィールドはフレックス属性であり、これはアセットであるため、リッチテキスト検索に対してどのフィールドを索引付けするかを、属性別に決定します。また、WebCenter Sitesアプリケーションでは、属性の「新規」フォームと「編集」フォームで「検索エンジン」フィールドを使用してどの属性を索引付けするかを指定できます。この機能を有効化するためにエレメントをカスタマイズする必要はありません。
アセットの作成と管理の最終目標は、アセットを配信システムに移動して、配信システム上でエレメントに組み込んだコードによってアセットをデータベースから抽出し、それをサイトの訪問者に表示することです。WebCenter Sitesアプリケーションは、様々なツールセット(カスタム・タグ・セット)をXMLとJSPの両方で提供しています。
テンプレート内でデータベースからのアセット抽出に使用するツールセットは、使用しているアセットの種類によって異なります。
ベーシック・アセット・モデルのあるアセットには、ASSET
メソッド・ファミリを使用します。
フレックス・ファミリ内のフレックス・アセット・メンバーには、ASSETSET
およびSEARCHSTATE
のメソッド・ファミリを使用します。フレックス・ファミリ内のフレックス・アセット・メンバー(製品、記事、イメージなど)には、ASSET.LOAD
タグを使用しないでください。フレックス・アセットに対してASSET.LOAD
タグを使用すると、アセットのすべての表からそのアセットに関する全情報を取得するため、効率がきわめて悪くなります。SEARCHSTATE
メソッドは、フレックス・アセットのアセット・タイプに対する_Mungo
表とMungoBlobs
表のみを問い合せます。
推奨アセットには、COMMERCECONTEXT
メソッド・ファミリを使用します。
これらの製品ではさらに多くのメソッド・ファミリが使用できるだけでなく、WebCenter Sitesおよび複数のAPIからも多数のカスタム・タグが使用できます。
WebCenter Sitesタグの詳細は、Oracle WebCenter Sitesタグ・リファレンスを参照してください。
2つのアセット・モデルの類似点と相違点は次のとおりです。
アセット・モデルの共通点
ベーシック・アセット・モデルとフレックス・アセット・モデルの機能方法には多くの相違点がありますが、いくつかの共通点も見られます。
ベーシックとフレックスどちらのアセット・モデルを使用する場合でも、WebCenter Sitesアプリケーションに付属しているテンプレート・アセット・タイプとページ・アセット・タイプを使用します。
すべてのアセット・タイプにはステータス・コードが割り当てられています。つまり、フレックスかベーシックかに関係なく、すべてのアセットはステータスに基づく問合せを使用して検索できます。
すべてのアセット・タイプは、フレックスかベーシックかに関係なく、次の構成または管理特性を共通して備えています。
サイト別に有効化する必要があります。
これらのタイプの個々のインスタンスを作成できるようにするには、スタート・メニュー・アイテムをあらかじめ構成しておく必要があります。
個々のインスタンスはXMLPostユーティリティを使用してインポートできます。
アセット・モデルの相違点
表4-9に、これらのアセット・モデルの主な相違点を要約します。
表4-9 アセット・モデルの主な相違点
機能 | ベーシック・アセット・モデル | フレックス・アセット・モデル |
---|---|---|
データベース表の数 |
1つ。 |
複数。 |
アセット・タイプへのフィールドの追加 |
スキーマ変更が必要です。 |
スキーマ変更は必要ありません。 |
他のアセットへのリンク |
アソシエーションと名前なし関係を使用します。 |
フレックス・ファミリの関係を使用します。 |
サブタイプ |
通常は「管理」タブの「サブタイプ」アイテムを使用します。サブタイプの設定の詳細は、「サブタイプ」を参照してください。 |
フレックス定義とフレックス親定義を使用します。 |
検索エンジンの索引付け |
アセット・タイプの特定のエレメントをカスタマイズする必要があります。 |
フレックス属性フォームで「検索エンジン」フィールドを使用します。 |
主なタグ・ファミリ |
|
|
パブリッシュ方法 |
ディスクにエクスポート。 サーバーへのミラーリング。 |
「サーバーにエクスポート」も使用できますが、フレックス・モデルには標準ではありません。 サーバーへのミラーリング。 |