WebCenter Sites、そのモジュールおよびWebCenter Sites製品のほぼすべては、データベース表に行として表されます。
この章では、WebCenter Sitesデータベースにおける各種の表および列について説明し、表を作成するための手順を示します。WebCenter Sitesのモジュールおよび製品(たとえばEngage)には、必要な表のほとんどが用意されています。ただし、WebCenter Sitesを使用して独自のアプリケーションを開発している場合、またはアセットを保持しない表(たとえば参照表)を使用する必要がある場合は、この章で説明する方法のいずれかを使用して表を作成します。
この章には次の項が含まれます。
アセットを保持しない表におけるデータの管理については、第13章「アセットを保持しない表内のデータ管理」を参照してください。
注意: WebCenter Sitesのデータベース表は、以前はカタログと呼ばれており、アプリケーション全体を通じて、表の名前、サーブレットの名前(CatalogManager)、データベース内のデータを操作する際に使用するJavaインタフェースにこの用語がまだ残っています。 |
WebCenter Sitesデータベースには、次の5つのタイプの表があります。
オブジェクト表: データをオブジェクトとして保持し、表の各行に一意のIDを自動的に提供します
ツリー表: オブジェクト表の中のオブジェクト間の関係についての階層情報を保持します
コンテンツ表: 水平データを保持しますが、各行に一意のIDを提供することはありません
外部表: 次のいずれかとなります。
WebCenter Sitesデータベースの外側にあるが、そのWebCenter Sitesからアクセスできる表。
WebCenter Sitesデータベースの中にあるが、そのWebCenter Sitesが作成したのではない表。
システム表: WebCenter Sitesのコア・アプリケーションの表で、そのスキーマを変更できないもの
WebCenter Sitesは、外部表を含めたWebCenter Sitesデータベースの任意の表に対する問合せから、結果セットをキャッシュできます。
この項の内容は、次のとおりです。
オブジェクト表は、データをオブジェクトとして格納するもので、階層で表すことができます。これらのオブジェクトのロード、保存および管理には、CatalogManager APIを使用できます。アセット・タイプの表はオブジェクト表です。
オブジェクト表の主キーは常にID (id
)列で変更できません。オブジェクト表を追加するようにWebCenter Sitesに指示すると、その表にID列が作成されます。IDは、表に行が追加されるにつれて、WebCenter Sitesがデフォルトで各行に割り当てる一意の識別子です。たとえば、だれかが新しいアセットを作成すると、WebCenter SitesではIDが決定され、そのアセットのIDとしてその値が割り当てられます。
(アセットなどの)オブジェクトにWebCenter Sitesが割り当てるIDは変更できません。
注意: AssetMakerまたはフレックス・ファミリ・メーカーで新しいアセット・タイプのオブジェクト表を作成するときには、デフォルトで追加の列がいくつか作成されます。ベーシック・アセット表内のデフォルトの列については、第11.2.4.2項「ベーシック・アセット・タイプのデータベース表のデフォルトの列」を参照してください。 |
データを格納する必要があり、そのデータの各行が一意に識別されるようにする場合は必ず、オブジェクト表を使用してください。それは、IDの生成はWebCenter Sitesが処理してくれるからです。
オブジェクト表(カタログ)の例
アセットを保持するすべての表
パブリッシュ表の多く
訪問者のデータを保持するEngageの表
ツリー表には、オブジェクト表間の階層関係についての情報が格納されます。言い換えれば、オブジェクト表は階層で表すことができますが、その階層自体はツリー表に格納されます。つまり、階層がツリーであるということです。
たとえば、WebCenter Sitesでは、WebCenter Sitesデータベースに次の表が追加されます。
AssetRelationTree
: アセット間のアソシエーションについての情報を格納します。これらのアソシエーションによって親子関係が作成されます。アセットのアソシエーションの詳細は、第11.3項「フレックス・アセット・モデル」を参照してください。
SitePlanTree
: ページ・アセットとそれらのアセットから参照されるアセットの間の親子関係についての情報を格納します。この情報は、WebCenter Sitesのインタフェースに提示される「サイト・プラン」タブにグラフィカルに提示されます。
ツリー表の各行は、そのツリーのノードです。ツリー表の各ノードは、次の2つの場所を指しています。
オブジェクト表内のオブジェクト、つまりオブジェクト表が表すオブジェクト
そのツリー表の中の親ノード、ただし最上位のノードで親がない場合は除く
言い換えれば、オブジェクト自体はオブジェクト表に格納されます。オブジェクトとデータベース内の他のオブジェクトとの関係(ツリーで記述)は、ツリー上のノードとしてツリー表に格納されます。
子ノードは親ノードを指しますが、親は子を指さないことに注意してください。
ツリー表を作成すると、デフォルトで次の列が設定されます。これらの列に対しては、追加も変更もできません。
表12-1 デフォルトの列
列 | 説明 |
---|---|
|
ノードのID。これが主キーです。 |
|
ノードの親ノードのID。 |
|
対等なノードまたは兄弟関係にあるノードをランク付けした数字。たとえば、 |
|
ノードのオブジェクト・タイプ。たとえば、 |
|
ノードが参照するオブジェクトのID。 |
|
将来の使用に備えて予約されています。 |
|
表の用途というコンテキストで、意味のある文字列を保持します。たとえば、 |
コンテンツ表には、データが(オブジェクトでなく)水平データとして格納され、その情報は階層に編成できません。コンテンツ表は、簡易参照表として使用します。たとえば、次に示すのは、WebCenter Sitesデータベースに追加するコンテンツ表のほんの一部です。
Source
: 記事またはイメージのアセットのソースを特定するために使用される文字列を格納します
Category
: 様々な方法でアセットを編成するために使用されるコードを保持します
StatusCode
: アセットのステータスを表すコードを保持します
これら3つの表はすべて、アセット・タイプ表(オブジェクト表)の様々な列の値を参照するために製品で使用される参照表です。
別の例では、WebCenter Sitesは、MimeType
というコンテンツ表も追加します。この表には、Burlington Financialサンプル・サイトの、スタイルシートおよびイメージファイルというアセット・タイプの「Mimetype」フィールドに表示されるMIMEタイプ・コードが保持されます。これらのアセット・タイプの「Mimetype」フィールドは、MimeType
表に対し、その表のkeyword
列に基づいて、MIMEタイプ・コードを問い合せます。
コンテンツ表の主キーの設定
コンテンツ表を作成したときには、ID列は作成されず、主キーがIDである必要もありません。これも、コンテンツ表とオブジェクト表の大きな違いです。
futuretense.ini
ファイルのcc.contentkey
プロパティは、すべてのコンテンツ表のデフォルトの主キーの名前を指定しています。コンテンツ表を新規作成するときには、cc.contentkey
プロパティで指定された名前の列を定義する責任があります。
ただし、特定のコンテンツ表の主キーのIDは、futuretense.ini
ファイル内にカスタム・プロパティを追加および設定することによってオーバーライドできます。このプロパティは、次のフォーマットを使用する必要があります。
cc.tablenameKey
たとえば、Books
というコンテンツ表を作成し、デフォルトの主キーをオーバーライドして、かわりにISBN
列を使用するようにする場合は、cc.BooksKey
というプロパティを追加してISBN
に設定します。
外部表とは、WebCenter Sitesで全面的に管理しているわけではない表です。たとえば、サイト・ページでは、ERPシステムで移入される表に対して問合せが実行され、WebCenter Sitesでは、その情報がサイトの訪問者に表示されると思われます。
WebCenter Sitesは、独自のオブジェクト表やコンテンツ表の場合とまったく同じように、外部表に問い合せて結果セットをキャッシュできます。ただし、まずWebCenter Sitesに対してその外部表を特定することが必要で、そのためには、SystemInfo
表にその外部表の行を追加します。これは、SystemInfo
表で情報を変更する唯一の機会です。
また、問合せ先の表が外部システムによって更新された場合は必ず、CatalogManagerのflushcatalog
タグを使用して、WebCenter Sites結果セットのキャッシュをフラッシュしてください。そうしないと、それらの表に対してキャッシュされた結果セットが、最新のものでなくなる可能性があります。
結果セットのキャッシングの詳細は、第14章「結果セットのキャッシングと問合せ」を参照してください。
システム表はコアで、スキーマが固定されたWebCenter Sitesの表です。それらは独自のクラスによってWebCenter Sitesに実装され、他の表が従う(キャッシングなどの)ルールに従いません。
(WebCenter Sitesインタフェースの「管理」タブにあるWebCenter Sitesの「管理ツール」フォーム、またはOracle WebCenter SitesのExplorerツールを使用して)システム表のいくつかに行を追加できますが、それらの表の列は追加も変更も一切できません。データベースにシステム表を追加することもできません。
次の表では、WebCenter Sitesのシステム表を一覧表示および定義しています。
表12-2 システム表
表 | 説明 |
---|---|
|
システムで使用されるXMLエレメントまたはJSPエレメントをすべて一覧表示します。エレメントとは、コードのうち名前の付いた断片です。 |
|
WebCenter Sitesで提供されている各ページまたは各ページレットへのページ参照を一覧表示します。 |
|
WebCenter Sitesシステム用に作成されたアクセス制御リスト(ACL)のそれぞれに行があります。ACLはデータベース表に対する権限のセットです。 ACLの作成の詳細は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。 ACLの使用によるオンライン・サイトへのユーザー管理の実装については、第31章「配信システムにおけるユーザー管理」を参照してください。 |
|
WebCenter Sitesで管理されているイベントのそれぞれに行があります。イベントは、あるスケジュールに従って行われるアクションを表しています。 WebCenter Sitesでは、 |
|
WebCenter Sitesデータベースの中にあるすべての表を一覧表示し、さらにWebCenter Sitesで参照する必要のある外部表があればそれも一覧表示します。 |
|
キャッシュされるページ上にある特定のアイテム(たとえばアセット)に関する情報、具体的には、アイテムのID、アイテムが関連付けられているページ、キャッシュされた時刻を保持します。 |
|
キャッシュされるページに関する情報、具体的には、キャッシュ先のフォルダ、ファイル名を生成するために使用される問合せ、キャッシュされた時刻、有効期限の切れる時刻を保持します。 |
|
WebCenter Sitesデータベースの外側にあるが、そのWebCenter Sitesからアクセスできる(アクセス制御を含めた)Javaクラスを登録します。 |
|
必要な数のページまたはページレットで再利用できるSQL問合せを保持します。この表にSQL問合せを格納して、 |
|
電子メール・アドレスなど、ユーザーに関する属性情報を格納します。LDAPを使用している場合、この表は使用されないことに注意してください。 |
|
ページ、機能および表へのアクセスを許可されたすべてのユーザーを一覧表示します。LDAPを使用している場合、この表は使用されないことに注意してください。 |
WebCenter Sitesデータベース内の任意の表の表タイプを判別するには、SystemInfo
表を調べます。これは、データベース内のすべての表を一覧表示するシステム表です。
表タイプを判別するには:
Oracle WebCenter Sites Explorerを開き、WebCenter Sitesデータベースにログインします。
SystemInfo表をダブルクリックします。
表のリストで、systable列を調べます。この列の値によって、行に表される表のタイプが特定されます。
注意: ユーザー名に適切なACLが割り当てられていないと、SystemInfo表を開いて調べることはできません。 |
WebCenter Sitesデータベースの表を新規作成すると、その表にアセットが保持されているかどうかに関係なく、それらの表の列に、一般カテゴリのフィールド(列)タイプとして、次の3つを指定できます。
汎用的なフィールド・タイプ
データベース固有のフィールド・タイプ
WebCenter SitesのURLフィールド
この項の内容は、次のとおりです。
汎用的なフィールド・タイプとは、WebCenter SitesでサポートされているいずれのDBMSでも機能するフィールド・タイプのことです。これらは、JDBC規格に準拠するようにマップされます。したがって、WebCenter Sitesシステムが別のDBMSに変わっても、現在使用しているデータベースは引き続き有効となります。
汎用的でJDBCに準拠したフィールド・タイプを使用している場合は、表の中のデータを変更および保持するために、CatalogManager API (CATALOGMANAGER
というXMLタグまたはJSPタグ、あるいはics.CatalogManager
というJavaメソッド)を使用できます。
次の表には、WebCenter Sitesの汎用的なフィールド・タイプ、およびそのデータ型を定義する(futuretense.ini
ファイル内の)データベース・プロパティの詳細なリストが含まれています。WebCenter Sitesのインタフェースの「管理」ツリーにあるWebCenter Sitesの「管理ツール」フォームまたはCatalogManager APIを使用して表を新規作成するときには必ず、このリストを参照してください。
表12-4 フィールド・タイプ
フィールド・タイプ | 説明 | プロパティ |
---|---|---|
|
文字数が正確にnであることを示す短縮文字列。 |
|
|
文字数が最大でnであることを示す短縮文字列。たとえば、 |
および
( |
|
日付と時刻の組合せ。 |
|
|
|
|
|
1つのバイナリ・ラージ・オブジェクト(BLOB)。 |
|
|
16ビットの整数、つまり、-32,768から+32,767までの整数。 |
|
|
32ビットの整数、つまり、-2,147,483,648から+2,147,483,647までの整数。 |
|
|
64ビットの整数、つまり、最大で19桁の整数。 |
|
|
浮動小数点式の数(実数)で、有効桁の合計数がL、そのうちP桁が小数。たとえば、 |
|
|
倍精度タイプ。 |
|
列タイプを定義することに加えて、列に対する次の制約のうち、該当する列に当てはまるものがどれであるかを指定する必要があります。
表12-5 列の制約
制約 | 説明 |
---|---|
|
NULL値を保持できます。つまり、空にしておくことができます。 |
|
NULL値を保持できません。つまり、空にしておくことができません。 |
|
この表で間違いなく一意となる値を保持する必要があります。 |
|
コンテンツ表の主キー列にマークを付けます。オブジェクト表では、列に対してこの制約を設定しないでください。 |
AssetMakerを使用して新規のアセット・タイプのオブジェクト表を作成する場合、またはフレックス属性を新規作成する場合は、それらのアイテムのデータ型は、ここに一覧表示されているものとは異なります。
ベーシック・アセット・タイプの列のデータ型の詳細は、第15.1.3.2項「列の記憶域のタイプ」を参照してください。フレックス属性のデータ型については、第11.3.3.1項「属性のデータ型」を参照してください。
表ではデータベース固有のフィールド(列)タイプを使用できます。ただし、ある種類のDBMSに固有のフィールド・タイプ(つまり、JDBC規格にマップされていないタイプ)を使用する場合は、次の点に注意してください。
これらの表に対しては、CatalogManager APIを使用できない場合があります。
DBMSを変更することがあれば、表も変更する必要があります。
使用しているDBMSに固有のフィールド・タイプの詳細なリストについては、そのDBMSのドキュメントを参照してください。
WebCenter Sitesデータベースのオブジェクト表とコンテンツ表には、その列にデータを間接的に格納できるという独特の特徴があります。これは、大量のデータを外部のDBMSに格納できますが、その格納先はデータ・リポジトリ内にかぎられるという意味です。
そのような列を作成するには、先頭の文字をurl
にした列名を使用する必要があります。列名の最初の3文字にurl
を使用すると、WebCenter Sitesでは、その列が間接的なデータ列として扱われます。
URLフィールドを使用するのはなぜでしょうか。その理由は次のとおりです。
使用しているDBMSが、そこに格納しようとしているデータのサイズに対応できるほど大きなフィールドをサポートしていないとき
使用しているDBMSが、格納しようとしているデータを含めるための個々の表で十分なフィールドをサポートしていない場合
フィールドのサイズが大きいと、データ選択のパフォーマンスが低下するため
注意: URL列に格納しようとしているデータのサイズが、 |
デフォルトのストレージ・ディレクトリ(defdir)
URL列のある表では、デフォルトのストレージ・ディレクトリがその列に指定されている必要があります。このディレクトリは、その列に入力された値が実際に格納される場所です。
デフォルトのストレージ・ディレクトリという言い回しは、製品のいくつかの箇所ではdefdirという言葉に短縮されています。たとえば、SystemInfo
表のdefdir
列には、URL列のある表のデフォルトのストレージ・ディレクトリの名前が保持されます。AssetMakerユーティリティのフォームのいずれかには、defdirフィールドなどが提示されます。
URLフィールドに入力される値は、ファイルへの相対パスです。なぜ相対パスなのでしょうか。URLフィールドの値が、表のdefdir設定の値に付加されるからです。
作成する表のdefdir値をどのように設定するかは、使用しているアプリケーションや作業内容によって異なります。
WebCenter Sitesのユーザー・インタフェースの「管理」ツリーにあるWebCenter Sitesの「管理ツール」フォームを使用してWebCenter Sitesの表を新規作成し、その表にURLフィールドがある場合は、「カタログの追加」(表)フォームの「ファイル・ストレージ・ディレクトリ」フィールドにdefdirの値を入力します。
CatalogManager APIを使用してWebCenter Sitesの表を新規作成する場合は、uploadDir
引数を使用してdefdirの値を設定します。
ベーシック・アセット・タイプを新規作成する場合は、「AssetMaker」フォームのdefdirフィールドでdefdirの値を指定します。(ベーシック・アセットを保持しているすべての表にはURL列があり、defdirの値が設定されている必要があります。)
フレックス・アセット・タイプを新規作成する場合は、フレックス・アセットの_Mungo
表で、URL列のdefdirの値を指定しないでください。この値は、WebCenter Sitesのアプリケーションがインストールされたときに設定されたプロパティから取得されます。そのプロパティの値は変更しないでください。
重要: URL列のある表が作成された後は、いかなる方法によっても、表の |
URLフィールドの作成については、次の手順と例を参照してください。
第15.2.3.3項「アップロードの例1: 標準アップロード・フィールド」からの、ベーシック・アセット・タイプのアップロード・フィールド例
第16.3.6.2項「タイプBlobのフレックス属性(アップロード・フィールド)の作成」に記述されている、BLOB型のフレックス属性の作成手順
この項では、オブジェクト表、ツリー表およびコンテンツ表の作成方法、および外部表の登録(すなわち、WebCenter Sitesに対してこれらを特定する)方法について説明します。システム表は、作成も変更もできません。
この項の内容は、次のとおりです。
オブジェクト表の作成方法には、次の3つがあります。
ベーシック・アセット・タイプを保持する表を作成します。AssetMakerを使用する必要があります。これは、「管理」タブにあるWebCenter Sitesのユーティリティです。AssetMakerでは、アセット・タイプのオブジェクト表、およびそのタイプのアセットを作成するときに使用するフォームが作成されます。詳細は、第15章「ベーシック・アセット・タイプの設計」を参照してください。
フレックス・アセット・タイプを保持する表を作成します。フレックス・ファミリ・メーカーを使用する必要があります。これは、「管理」タブにあるユーティリティです。詳細は、第16章「フレックス・アセット・タイプの設計」を参照してください。
アセットを保持しないオブジェクト表を作成します。「管理」インタフェースにあるWebCenter Sites管理ツール(またはOracle WebCenter Sites Explorer)を使用します。
アセットを保持しないオブジェクト表を作成するには:
管理者としてWebCenter Sitesにログインします。
作業場所とするサイトを選択します。
Adminインタフェースを選択します。
「管理」タブを選択し、「管理ツール」→「サイト・データベース」を選択します。
「サイト・データベース」ウィンドウで「表の追加」を選択し、「OK」をクリックします。
「表の追加」フォームが表示されます。
「表名」フィールド内をクリックし、名前を入力します。すでに存在している表名は使用できません。64文字までの英数字を入力できます。アンダースコア(_)文字は使用できますが、空白を含めることはできません。
「表のタイプ」フィールド内をクリックし、「コンテンツ表」を選択します。
表にURL列(アップロード列)を入れる場合は、「ファイル・ストレージ・ディレクトリ」フィールド(すなわちdefdir)内をクリックして、URL列のデータを格納するファイル・ディレクトリへのパスを入力します。ディレクトリが存在しない場合は、WebCenter Sitesによって自動的に作成されます。
「アクセス権限」フィールド内をクリックし、この表にアクセスするユーザーに必要なACL (アクセス制御リスト)を選択します。ACLの詳細は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。
「フィールド名」列内をクリックして、フィールドの名前を入力します。外部ディレクトリにあるファイルとしてデータを格納するURL列を作成するには、フィールド名をurl
で始める必要があることに留意してください。URL列を作成する場合は、このフィールドに格納されるデータ用のファイル・ストレージ・ディレクトリ(defdir)を指定していることを確認してください(この手順の手順7を参照)。
「フィールド・タイプ」列内をクリックし、その列のデータ型および列の制約を指定します。データ型および列の制約の間にはスペースを含めます。
例: VARCHAR(32) NULL
またはINTEGER NOT NULL
。
有効なデータ型および列の制約のリストについては、第12.2.1項「汎用的なフィールド・タイプ」を参照してください。
「追加」ボタンをクリックします。
表がデータベースに追加されます。
表が追加されたことを検証するには、Oracle WebCenter Sites Explorerを開いてSystemInfo
表を調べます。新しい表がリストに追加され、そのsystable
列がobj
に設定されている必要があります。ファイル・ストレージ・ディレクトリを指定している場合は、そのディレクトリがdefdir
列に表示されます。
オブジェクト表内のデータの管理
オブジェクト表内のデータを変更および管理する方法はいくつかあります。
アセットの作成と変更を行うには、WebCenter SitesアプリケーションとEngageアプリケーションを使用します。データベースからアセットを抽出して、配信システムの訪問者に表示するには、WebCenter Sites、EngageのXMLタグおよびJSPタグを使用します。
アセットを保持しないオブジェクト表に、次の方法のいずれかでデータを入力できます。
プログラム的には、ics.CatalogManager
というJavaメソッド、またはCATALOGMANAGER
というXMLタグおよびJSPタグ、OBJECT
というXMLタグおよびJSPタグ、WebCenter SitesのSQLメソッドおよびSQLタグを使用してフォームをコーディングすると、ユーザーは、情報を入力してその情報をデータベースに書き込むように求められます。
手動で、Oracle WebCenter Sites Explorerツールと、WebCenter Sitesの「管理ツール」フォームにおけるフォームのいずれかを使用して、表に行を追加します。
第13章「アセットを保持しない表内のデータ管理」では、CatalogManager APIに関する情報、およびアセットを保持していない表に行を追加する例について説明します。
WebCenter Sitesのモジュールまたは製品を使用している場合は、ツリー表を作成する必要が生じることはほとんどありません。
ツリー表は、TreeManagerサーブレットで管理されています。ツリー表(カタログ)を作成するには、ICS.TreeManager
というJavaメソッド、あるいはTREEMANAGER
というXMLタグまたはJSPタグを使用します。ツリー表(カタログ)は、WebCenter Sites管理ツールでは作成できません。
例:
<TREEMANAGER>
<ARGUMENT NAME="ftcmd" VALUE="createtree"/>
<ARGUMENT NAME="treename" VALUE="ExampleTree"/>
</TREEMANAGER>
ツリー表に作成された列のリストについては、第12.1.2項「ツリー表」を参照してください。TreeManagerのメソッドおよびタグについては、Oracle Fusion Middleware WebCenter Sitesタグ・リファレンスを参照してください。
WebCenter Sitesのモジュールおよび製品では、ツリー表内のすべてのデータを管理します。どのようなツリー表でも、情報を手動で変更しようとしないでください。
独自のオブジェクト表(つまり、アセットを格納しないオブジェクト表)の間の関係を管理するために作成したツリー表があれば、ICS.TreeManager
というJavaメソッド、あるいはTREEMANAGER
というXMLタグまたはJSPタグを使用します。これらのタグとメソッドは、実行するツリー操作を記述したFTValList
パラメータを使用します。
次の章(第13章「アセットを保持しない表内のデータ管理」)では、CatalogManager APIに関する情報、およびアセットを保持していない表に行を追加する例について説明します。
コンテンツ表を作成するには、WebCenter Sites管理ツールを使用します。
管理者としてWebCenter Sitesにログインします。
作業場所とするサイトを選択します。
Adminインタフェースを選択します。
「管理」タブを選択し、「管理ツール」→「サイト・データベース」を選択します。
「サイト・データベース」ウィンドウで「表の追加」を選択し、「OK」をクリックします。
「表の追加」フォームが表示されます。
「表名」フィールド内をクリックし、名前を入力します。すでに存在している表名は使用できません。64文字までの英数字を入力できます。アンダースコア(_)文字は使用できますが、空白を含めることはできません。
「表のタイプ」フィールド内をクリックし、「コンテンツ表」を選択します。
表にURL列を入れる場合は、「ファイル・ストレージ・ディレクトリ」フィールド内をクリックして、URL列のデータを格納するファイル・ディレクトリへのパスを入力します。ディレクトリが存在しない場合は、WebCenter Sitesによって自動的に作成されます。
「アクセス権限」フィールド内をクリックし、この表にアクセスするユーザーに必要なACL (アクセス制御リスト)を選択します。ACLの詳細は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。
「フィールド名」フィールド内をクリックして、フィールドの名前を入力します。外部ディレクトリにあるファイルとしてデータを格納するURL列を作成するには、フィールド名をurl
で始める必要があることに留意してください。URL列を作成する場合は、このフィールドに格納されるデータ用のファイル・ストレージ・ディレクトリ(defdir)を指定していることを確認してください(この手順の手順7を参照)。
「フィールド・タイプ」列内をクリックし、その列のデータ型および列の制約を指定します。データ型および列の制約の間にはスペースを含めます。
例: VARCHAR(32) NULL
またはINTEGER NOT NULL
。
主キー列を指定する必要があること、またその主キー列が、cc.contentkey
プロパティの設定、またはfuturetense.ini
ファイルでこの表に指定されたカスタム・プロパティの設定と完全一致している必要があることに注意してください。
例: INTEGER PRIMARY KEY NOT NULL
「追加」ボタンをクリックします。
表がデータベースに追加されます。
表が追加されたことを検証するには、Oracle WebCenter Sites Explorerツールを開いてSystemInfo
表を調べます。新しい表がリストに追加され、そのsystable
列の値がno
に設定されている必要があります。ファイル・ストレージ・ディレクトリを指定している場合は、そのディレクトリがdefdir
列に表示されます。
サイトの一部の機能を促進するためにアセットを保持しない表を追加したら、WebCenter Sitesでアセットのフォームをカスタマイズするか、または独自のフォームを作成してそのデータを入力および操作することが必要です。
コンテンツ表内のデータの管理
コンテンツ表内のデータを変更および管理する方法はいくつかあります。
WebCenter Sitesのコンテンツ表のほとんどでは、「管理」タブに、データの編集または追加に使用できるWebCenter Sitesのフォームが用意されています。たとえば、Source
とCategory
です。(ただし、MimeType
には用意されていません。)
カスタム・コンテンツ表に、次の方法のいずれかでデータを入力できます。
表が作成され、その表に書き込まれるデータをユーザーまたは訪問者が提供する場合は、ics.CatalogManager
というJavaメソッド、またはCATALOGMANAGER
というXMLタグおよびJSPタグを、WebCenter SitesのSQLメソッドおよびSQLタグとともにコーディングします。ユーザーは、情報を入力してその情報をデータベースに書き込むようにプログラムで求められます。
サイトの一部の機能を促進する簡易参照表の場合は、Oracle WebCenter Sites ExplorerユーティリティとWebCenter Sitesの「管理ツール」ウィンドウのいずれかを使用することによって、データを手動で入力して、表に行を追加します。
第13章「アセットを保持しない表内のデータ管理」では、CatalogManager APIに関する情報、およびアセットを保持していない表に行を追加する例について説明します。
外部表の登録とは、WebCenter Sitesに対してその表を特定することで、そのためには、SystemInfo
表にその表の行を追加します。これは、SystemInfo
表に行を追加したり、SystemInfo
表に保持されている情報を変更する際の唯一の条件です。
外部表を登録するには:
Oracle WebCenter Sites Explorerを開き、WebCenter Sitesデータベースにログインします。
SystemInfo表をダブルクリックします。
tblname列のヘッダーを右クリックして、コンテキスト・メニューから「新規」を選択します。
新しい行が表示されます。
新しい行で、tblname列内をクリックして、表の名前を入力します。
defdir列内をクリックして、表へのパスを入力します。
systable列内をクリックして、fgn
と入力します。
acl列内をクリックして、表にアクセスできるACLの名前を入力します。
「ファイル」→「すべて保存」を選択します。
外部表内のデータの管理
外部表との対話には、ics.CatalogManager
というJavaメソッド、またはCATALOGMANAGER
というXMLタグおよびJSPタグ、およびWebCenter SitesのSQLメソッドおよびSQLタグを使用できます。これらのメソッドまたはタグを使用して外部表内のデータを更新すると、WebCenter Sitesでは、必要に応じてその結果セットのキャッシュをフラッシュできます。
WebCenter Sitesにとっては外部のメソッドを使用して外部表を更新する場合は、CATALOGMANGER
のコマンドであるflushcatalog
を使用して、その表の結果セットのキャッシュをフラッシュするようにWebCenter Sitesに指示する必要があります。
一部の例外を除いて、システム表は作成できません。行の追加が許可されているシステム表に行を追加するには、WebCenter Sites管理ツールを必ず使用してください。次の表で説明するように、各システム表への情報の追加方法は異なります。
表12-6 情報をシステム表に追加する方法
表 | 情報を追加する方法 |
---|---|
|
この表にページ・エントリを追加する方法はいくつかあります。
ページ・エントリのページ・キャッシュ設定を設定または変更する場合は、Oracle WebCenter Sites Explorerを使用するよりも、WebCenter Sitesインタフェースでフォームを使用する方が簡単です。 |
|
この表にエレメントを追加する方法はいくつかあります。
エレメントおよびページのコーディングについては、第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。 |
|
「WebCenter Sites管理ツール」ノードの「ACL」フォーム。 詳細は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。 |
|
WebCenter Sitesでは、 |
|
この表に情報を追加することも、この表の情報を変更することもしないでください。 このルールに対する唯一の例外は、WebCenter Sitesに外部表を認識させる場合です。 |
|
Oracle WebCenter Sites Explorerツール。 用意されている様々な種類の問合せについては、第14章「結果セットのキャッシングと問合せ」を参照してください。 |
|
「WebCenter Sites管理ツール」ノードの「ユーザー」フォーム。 |
|
「WebCenter Sites管理ツール」ノードの「ユーザー」フォーム。 |
futuretense.ini
ファイルには、WebCenter Sitesデータベースへの接続を制御する様々なプロパティがあります。これらのプロパティによって、データベースの構成が指定され、データベースとアプリケーション・サーバー間に、権限の有無を問わず、ユーザー接続が確立します。
データベース・プロパティのすべては、システムのインストール時にシステムに構成されました。デフォルトでは、すべてのコマンドは、futuretense.ini
ファイルで特定されているWebCenter Sitesデータベース上で動作します。futuretense.ini
ファイルが格納されているディレクトリは次のとおりです。
<installation_directory>/ContentServer/11.1.1.6.0/