第11章「データ・デザイン: アセット・モデル」で説明されているように、ベーシック・アセット・タイプのデータ・モデルとはアセット・タイプごとに用意された1つのデータベース表を意味します。その表には、該当するタイプの各アセットが格納されています。
AssetMakerユーティリティを使用して、ベーシック・アセット・タイプを新規作成します。これらは通常、開発システム上で作成し、準備が整ったら開発システムから管理システムと配信システムに移行します。
この章には次の項が含まれます。
AssetMakerは、新しいベーシック・アセット・タイプを作成する際に使用するユーティリティです。
最初に、ベーシック・アセット・タイプをWebCenter Sitesの外で定義します。それには、AssetMakerのXMLタグを使用して、アセット記述子ファイルというxml
ファイルをコーディングします。アセット記述子ファイルでは、新しいアセット・タイプのプロパティが定義されます。プロパティという用語は、データベース表の列とWebCenter Sitesの入力フォームのフィールドの両方を意味します。
次に、ファイルをWebCenter SitesにアップロードしてAssetMakerで2つのアイテムを作成します。1つは、新しいアセット・タイプのデータベース表、もう1つは、新しいタイプのアセットで作業(作成、編集、コピーなど)する際に使用するフォームを生成するWebCenter Sitesエレメントです。図15-1に、データベース表のフォーム(この例のコンテンツ入力フォームなど)との関係、およびフォームがレンダリングされる際に列がフィールドとして認識される方法を示します。
この項の内容は、次のとおりです。
AssetMakerを使用して新しいベーシック・アセット・タイプを作成するには、次の4つの一般的な手順に従います。
アセット記述子ファイルをコーディングします。
この章では、アセット記述子ファイルとそのコーディングについて説明します。Oracle Fusion Middleware WebCenter Sitesタグ・リファレンスには、すべてのAssetMakerのタグを説明している情報があります。
ファイルをアップロードします。
アセット記述子ファイルをアップロードする際に、AssetMakerによってAssetType
表に行が作成され、その行にアセット記述子ファイルがコピーされます。
表を作成します。
「アセット表の作成」ボタンをクリックすると、AssetMakerによって次の操作が実行されます。
アセット記述子ファイルを解析します。
該当するタイプのアセットに対応するプライマリ記憶域表を作成します。表の名前は、アセット記述子ファイルで特定されたアセット・タイプの名前と一致します。各列のデータ型もファイルに記述される文で定義されます。
アセット記述子ファイルで定義された列に加えて、WebCenterが正常に機能するために必要なデフォルトの列がAssetMakerによって作成されます。
新しく作成された表の行をSystemInfo
表に追加します。
すべてのアセット表はオブジェクト表であるため、systable
列の値はobj
に設定されます。
すべてのアセット表にURL列が存在するため、defdir
列の値は、アセット・タイプを作成する際に、アセット記述子ファイルで指定した値、または「アセット表の作成」フォームの「DefDir」フィールドで指定した値に設定されます。
「「一般」カテゴリの追加」オプションを選択してある場合には、Asset MakerによってCategory
表に、新しいアセット・タイプに対応する行が1つ追加され、そのカテゴリにGeneral
という名前が付けられます。
エレメントを登録します。
エレメントを登録すると、AssetMakerによって次の操作が実行されます。
OpenMarket/Xcelerate/AssetType
ディレクトリの下にあるElementCatalog
表に、新しいアセット・タイプに対応するサブディレクトリを作成します。
AssetStubCatalog
表のエレメントを、ElementCatalog
表の新しいサブディレクトリにコピーします。これらのエレメントは、このタイプのアセットを操作できるようにWebCenter Sitesのフォームをレンダリングし、WebCenter Sitesの機能に処理ロジックを提供します。
検索フォームの個々のフィールドに対する検索機能を実装したSQL文を作成します。これらの文はSystemSQL
表に配置されます。
WebCenter Sitesをこのタイプのアセット(作成、編集、調査など)で稼働させる場合、AssetMakerによってAssetType
表に配置されているアセット記述子ファイルが解析され、このフォームがアセット・タイプに固有になるよう、WebCenter Sitesにその値が渡されます。アセット記述子ファイル内の文により、フィールドの入力タイプが決まり、フィールドの長さの制限が指定され、フィールドを検索フォームと検索結果フォームに表示するかどうかが決まります。
アセット・タイプを作成して使用できるようにするには、このアセット・タイプを使用する必要のあるサイトでのアセット・タイプの有効化やスタート・メニューのショートカットの作成など、いくつかの構成手順を実行しておく必要があります。
図15-2のフロー・チャートには、AssetMakerの仕組みや、ベーシック・アセット・タイプが作成される際に使用するデータベース表がまとめてあります。
AssetMaker XMLタグを使用して、システムに設計するアセット・タイプを定義するアセット記述子ファイルをコーディングします。
この項の内容は、次のとおりです。
アセット記述子ファイルとは、開発者がAssetMakerのタグを使用してベーシック・アセット・タイプを定義した有効なXML文書のことです。アセット記述子ファイルは、次の2つの事項を行います。
データ構造の観点からアセット・タイプを説明します。データベース表名、列名、列のデータ型、WebCenter Sitesフォームのフィールド・サイズを指定します。
指定されたタイプのアセットをユーザーが操作する際に、WebCenter Sitesによって表示されるHTMLフォームの書式設定を行います。HTMLフォームの書式設定とは、フォーム上のフィールドに名前を付け、必要なフォーマットでフィールド(チェック・ボックス、ラジオ・ボタン、ドロップダウン・リストなど)を表示し、フィールドの仕様(テキスト・フィールドに入力できる文字数など)を指定することなどです。
AssetMakerはアセット記述子ファイルを使用して、新しいアセット・タイプのデータベース表を作成します。指定されたタイプのアセットをコンテンツ・プロバイダが操作(作成や編集など)すると、AssetMakerはアセット記述子ファイルを解析し、ファイル内のデータを使用して、WebCenter Sitesが表示するフォームをカスタマイズします。
注意: 参照用に、AssetMakerのサンプル記述子コードがWebCenter Sitesインストール媒体に提供され、「Samples」フォルダに格納されます。同じフォルダには、サンプル記述子ファイルを説明する |
すべてのアセット記述子ファイルの基本的なフォーマットは、次のとおりです。AssetMakerのそれぞれのタグの右側に、そのタグについての簡単な説明が示されています。
<?xml version="1.0" ?> <ASSET ...> Names the asset type (storage table) <PROPERTIES> Starts the properties specification section <PROPERTY ...> Specifies column and field name for the property <STORAGE .../> Specifies data type for the column <INPUTFORM .../> Specifies field format on New, Edit, Inspect forms <SEARCHFORM .../> Specifies field format on Advanced Search form <SEARCHRESULTS .../> Specifies which fields are shown in search results </PROPERTY> <PROPERTY ...> <STORAGE .../> <INPUTFORM .../> <SEARCHFORM .../> <SEARCHRESULTS .../> </PROPERTY> <PROPERTY ...> ...</PROPERTIES>
Ends the properties specification section</ASSET>
Ends the asset descriptor file
次の例は、AssetMakerのタグが使用できるパラメータの一部を示す、アセット記述子ファイルの構文です。
<?xml version="1.0" ?> <ASSET NAME="assetTypeName" DESCRIPTION=""assetTypeName" ...> <PROPERTIES> <PROPERTY NAME="fieldName1" DESCRIPTION="fieldName1"/> <STORAGE TYPE="VARCHAR" LENGTH="36"/> <INPUTFORM TYPE="TEXT" DESCRIPTION="fieldName1".../> <SEARCHFORM TYPE="TEXT" DESCRIPTION="fieldName1".../> <SEARCHRESULTS INCLUDE="TRUE"/> </PROPERTY> <PROPERTY NAME="fieldName2" DESCRIPTION="fieldName2"/> <STORAGE TYPE="INTEGER" LENGTH="4"/> <INPUTFORM TYPE="TEXT" DESCRIPTION="fieldName2".../> <SEARCHFORM TYPE="TEXT" DESCRIPTION="fieldName2".../> <SEARCHRESULTS INCLUDE="TRUE"/> </PROPERTY> ... </PROPERTIES> </ASSET>
アセット記述子ファイルのタグの概要については、ガイドのこの項に記載されています。タグとそのパラメータの詳細情報は、サンプル・コードとともにOracle Fusion Middleware WebCenter Sitesタグ・リファレンスに記載されています。
アセット記述子ファイルは、次のように標準のXMLバージョンのタグで始まります。
<?xml version="1.0" ?>
XMLバージョン・タグの後に続くASSET
タグが、アセット・タイプ、つまりWebCenter Sitesデータベースの記憶域表の名前を付けます。また、ASSET
タグはアセット・タイプの一部の動作属性や表示属性を設定します。たとえば、ASSET
タグは必須フィールドを指定するグラフィック表記を決定したり、アセットをプレビューできるかどうかを決定します。
開始タグの<ASSET>
は常にコードの1行目にあり、終了タグの<\ASSET>
は常にアセット記述子ファイルの最後の行にあります。アセット記述子ファイルごとにアセット・タイプは1つのみ作成されるため、各アセット記述子ファイルには一対のASSET
タグしか存在しないことに注意してください。
PROPERTIES
タグは、プロパティの説明が保持されているファイルのセクションをマークします。開始タグの<PROPERTIES>
は、常にアセット記述子ファイルの2番目の文になります。各アセット記述子ファイルには一対のPROPERTIES
しか存在しません。
注意:
|
PROPERTY
タグは、対になったPROPERTIES
タグ内にネストされていて、このタイプのアセットの列とフィールドを指定します。各PROPERTY
タグは、このプロパティに対してユーザーが入力する値を保持する列のデータベース名、および列の表示名(そのフィールド名)を指定します。この表示名は、このタイプのアセットを使用するユーザーに対してレンダリングされるフォーム上に表示されます。
PROPERTY
タグの各ペアの中にネストされるタグは、次のとおりです。
STORAGE
: このプロパティによって構築されている列のデータ型を指定します。STORAGE
タグ内のデータ型は、futuretense.ini
ファイルの「データベース」タブのプロパティが定義するデータ型の1つにマップする必要があります。
INPUTFORM
: 「新規」、「編集」、「調査」の各フォームのフィールドの名前とフォーマットを指定します。たとえば、そのフィールドは、ドロップダウン・リストですか、チェック・ボックスですか、テキスト・フィールドですか。そのフィールドの入力タイプは、STORAGE
文で指定されたように、データベース列のデータ型と互換性がある必要があります。
SEARCHFORM
: 「詳細検索」フォームに表示される際のフィールド(プロパティ)のフォーマットを指定します。SEARCHFORM
文がPROPERTY
セクションから削除されると、定義されているフィールドは「詳細検索」フォームに表示されません。
TYPE
パラメータの値がTable
またはDate
の場合には、ドロップダウン・リストはアセット・タイプの「詳細検索」フォームには表示されますが、「標準検索」フォームには表示されません。
SEARCHRESULTS
: 検索実行後に検索結果フォームに表示されるフィールドを指定します。このフィールド値は、INCLUDE
パラメータがtrue
に設定されている場合にも表示されます。(このタグはオプションです。)
標準フィールドを変更する場合には、SEARCHRESULTS
を名前や説明に対してtrue
に設定しないでください。
これらのタグとそのパラメータの詳細は、Oracle Fusion Middleware WebCenter Sitesタグ・リファレンスのAssetMakerのタグに関する項を参照してください。その項には、STORAGE TYPE
、INPUTFORM TYPE
およびSEARCHFORM TYPE
の各パラメータ間の依存性や制限についても記載されています。
AssetMakerにより新しいアセット・タイプに対してデータベース表が作成されると、アセット記述子ファイルのPROPERTY
タグで定義されたすべてのプロパティに対して列が作成され、その基本的な機能についてWebCenter Sitesで必要となるデフォルトの列が作成されます。各アセット・タイプの表内のデフォルトの列のリストについては、第11.2.4.2項「ベーシック・アセット・タイプのデータベース表のデフォルトの列」を参照してください。
この項の内容は、次のとおりです。
すべてのアセット・タイプ表には、source
列を入れることも可能です。WebCenter Sitesには、Source
表に行を追加する際に使用する「管理」タブに、Source
表と「ソース」フォームが用意されています。この機能を使用して、アセットが最初に作成された場所を特定できます。たとえば、Burlington Financialのサンプル・サイトではSource
を使用して記事アセットを提供したワイヤー・フィード・サービスを特定します。
ただし、前述の表に記載された列とは異なり、source
列はAssetMakerによるアセット・タイプ表の作成時に自動的に作成されません。ソース列を表に追加してアセット・フォームに表示させるには、そのPROPERTY
の説明をアセット記述子ファイルに追加する必要があります。例については、第15.2.3.2項「例: ソース列とフィールドの追加」を参照してください。
STORAGE
TYPE
パラメータは列のデータ型を指定します。このデータ型は、futuretense.ini
ファイルに格納されたWebCenter Sitesデータベース・プロパティによって定義されています。
次の表は、アセット・タイプの表の列に対応できるデータ型を示しています。
INPUT TYPE
パラメータは、WebCenter Sitesのフォームにデータが表示される際にフィールドへ入力する方法を指定します。次の表は、すべての入力タイプを示しています。フィールドへの入力タイプは、列のデータ型に対応している必要があることに注意してください。
表15-2 INPUT TYPEパラメータ
入力タイプ | 説明 |
---|---|
|
単一行のテキスト。
|
|
スクロール・バー付きのテキスト・ボックスで、複数行のテキストに対応します。
大量のテキストをフィールドに入力する可能性がある場合、URL列のコンテンツを表示するテキスト・ボックスを作成すると便利です。そうするには、 ユーザーが「保存」をクリックすると、この種類のフィールドに入力されたテキストはこのアセット・タイプのデフォルトの記憶域ディレクトリとして指定されたファイル・ディレクトリに保存されます。デフォルトの記憶域ディレクトリ(defdir)は、アセット記述子ファイル、またはアセット・タイプ作成時のAssetMakerフォームで指定できます。 注意:
|
|
ファイル名(URL)を入力して「参照」ボタンを表示するフィールドです。それにより、ファイルへのパスとファイル名を入力するか参照して選択できるようになります。 フィールドがアップロード・フィールドであることを指定した場合、 アップロード・フィールドに ユーザーが「保存」をクリックすると、WebCenter Sitesでは選択したファイルがアップロードされ、このアセット・タイプのデフォルト記憶域ディレクトリとして指定されたファイル・ディレクトリに保存されます。デフォルトの記憶域ディレクトリ(defdir)は、アセット記述子ファイル、またはファイルのアップロード時のAssetMakerフォームで指定できます。 注意:
|
|
選択可能なオプションのドロップダウン・リストが表示されるフィールドです。 リストに表示されるオプションを指定することも、オプションをデータベース(または外部の表)から選択して動的に表示するように問合せを指定することも可能です。 HTML入力タイプSELECTに対応します。 |
|
チェック・ボックスのフィールドです。 チェック・ボックスのオプション名を指定することも、オプション名をデータベース(または外部の表)から選択して動的に表示するように問合せを指定することも可能です。この入力タイプにより、複数のオプションを選択できるようになります。 HTML入力タイプ |
|
ラジオ・ボタンの制御です。 ラジオ・ボタンのオプション名を指定することも、オプション名をデータベース(または外部の表)から選択して動的に表示するように問合せを指定することも可能です。この入力タイプにより、オプションを1つだけ選択できるようになります。 HTML入力タイプ |
|
CKEditorテキスト・エディタを使用してコンテンツを編集するフィールドです。 CKEditorフィールドを指定するには、フィールドをURLフィールドにすることをお薦めします。つまり、「url」接頭辞でPROPERTY NAMEに対する文字列を設定し、STORAGE TYPE(プロパティのデータ型)をVARCHARに設定します。 「url」接頭辞で始まるPROPERTY NAMEに文字列を指定する場合には、接尾辞として_type、_size、_folder、_fileは使用しないでください。 |
|
ContentForm、ContentDetails、SearchFormいずれかのフォームにフィールドを表示する際に作成するエレメントをコールします。カスタム・エレメントは、次の場所のいずれかにあります。
|
WebCenter Sitesの標準アセット・フィールドの外観をカスタマイズできます。その他の変更内容はすべて下記のとおりフィールドのタイプに対応しています。
すべての標準フィールド。表示名を変更できます。
システム・フィールドではない標準フィールド。次の例外を除いて、データ型を変更しないでください。例外: データ型がVARCHAR
の場合には、その長さのみを変更できます。
システム・フィールド。データ型(VARCHAR
タイプのフィールドの長さも含めて)を変更しないでください。
次の表は、標準フィールドのデータ型を示しています(フィールドがシステム・フィールドであるかどうかも示しています)。
表15-3 標準アセット・フィールドのデータ型
標準フィールド | システム・フィールド | データ型 |
---|---|---|
|
はい |
|
|
なし |
|
|
なし |
|
|
はい |
|
|
なし |
|
|
なし |
|
|
なし |
|
|
はい |
|
|
はい |
|
|
はい |
|
|
はい |
|
|
はい |
|
|
はい |
|
|
はい |
|
|
はい |
|
|
なし |
|
|
なし |
|
アセット記述子ファイルをアップロードした後、エレメントを「登録」します。エレメントを登録すると、AssetMakerによりAssetStubElementCatalog
表のエレメントがElementCatalog
表内のこのアセット・タイプに対応するディレクトリにコピーされます。
さらに、このタイプのアセットに対する「簡易検索」フォームと「詳細検索」フォームに、WebCenter Sites検索を実装する複数のSQL文がコピーされます。
必要に応じて、SQL文、アセット・タイプ固有のエレメント、また場合によってはAssetStubElementCatalog
表のエレメントをカスタマイズできます。
注意: いかなる状況においても、その他のWebCenter Sitesエレメントを変更しないでください。 |
エレメントのカスタマイズの詳細は、第15.2.9項「手順7: (オプション)アセット・タイプのエレメントのカスタマイズ」を参照してください。
この項の内容は、次のとおりです。
AssetMakerによって、次のネーミング規則に従って新しいアセット・タイプのエレメントがElementCatalog
表に格納されます。
OpenMarket/Xcelerate/AssetType/YourNewAssetType
たとえば、サンプル・アセット・タイプImageFileのエレメントは、次の場所にあります。
OpenMarket/Xcelerate/AssetType/ImageFile
次の表にAssetMakerによって各アセット・タイプについてコピーされたエレメントを示します。
表15-4 AssetMakerのエレメント
エレメント | 説明 |
---|---|
|
このタイプのアセットに対する「新規」フォームと「編集」フォームをレンダリングします。 この機能が起動されると、AssetMakerによってアセット記述子ファイルで |
|
このタイプのアセットに対する「調査」フォームを書式設定します。 この機能が呼び出されると、アセット記述子ファイルで |
|
このタイプのアセットに対する「簡易検索」フォームをレンダリングします。 この機能が呼び出されると、AssetMakerでは、アセット記述子ファイル内の |
|
このタイプのアセットに対する「詳細検索」フォームを書式設定します。 この機能が呼び出されると、AssetMakerでは、アセット記述子ファイル内の |
|
「詳細検索」フォームの個々のフィールドにSQL問合せを作成します。 「詳細検索」フォームがレンダリングされると、アセット記述子ファイルで |
|
システムで外部の検索エンジンが使用されると、「詳細検索」フォームの個々のフィールドでSQL文が作成されます。 この機能が呼び出されると、アセット記述子ファイルで |
|
|
|
|
|
「検索結果」ページを書式設定します。このページには、このタイプのアセットに対して、検索基準に適合するアセットが示されています。 このページがレンダリングされると、アセット記述子ファイルで |
|
このタイプのアセットが、「サイト・プラン」タブ以外の、ツリーの任意のタブに表示される際の外観を決定します。 |
|
このタイプのアセットが「サイト・プラン」タブに表示される際の外観を決定します。 |
|
データベースに書き込む機能が完了する前にコールされます。つまり、アセットが保存される前の作成、編集、削除またはXMLPostの機能が稼働中に、このエレメントがコールされます。 このエレメントは、アセット記述子ファイルからは何も入力しません。ただし、直接カスタマイズできます。 |
|
データベースへの書込みが終了した後でコールされます。つまり、XMLPostでアセットが作成、編集、削除またはインポートされた後、このエレメントがコールされます。 このエレメントをカスタマイズできます。 |
AssetMakerによって、次のネーミング規則に従ってSQL文がSystemSQL
表に格納されます。
OpenMarket/Xcelerate/AssetType/
YourNewAssetType
たとえば、サンプル・アセット・タイプImageFileのエレメントは、次の場所にあります。
OpenMarket/Xcelerate/ImageFile
次の表は、AssetMakerによって作成されるSQLエレメントを示しています。
新しいアセット・タイプの作成にかかる時間の長さは、アセット・タイプの複雑さに応じて幅広い範囲に及びます。
単純なアセット・タイプでは、1つの単純なアセット記述子ファイルをコーディングしてアップロードする必要があります。より複雑なアセット・タイプでは、アセット・タイプに対して作成されたエレメント内のコードを変更するか、ドロップダウン・リストに表示する情報を保持するためにデータベース表を追加する必要があります。
この項の内容は、次のとおりです。
新しいアセット・タイプの作成と構成のプロセスに関する概要は、次のとおりです。この章では、下記の場合を除き、各手順を説明してあります。
アセット記述子ファイルをコーディングします。第15.2.3項「手順1: アセット記述子ファイルのコーディング」を参照してください。
WebCenter Sitesの「管理」タブでAssetMakerを使用して、アセット記述子ファイルをアップロードします。第15.2.4項「手順2: アセット記述子ファイルのWebCenter Sitesへのアップロード」を参照してください。
データベース表を作成し、アセット・タイプのエレメントをAssetStubElementCatalog
表からElementCatalog
表の適切なディレクトリにコピーして登録します。第15.2.5項「手順3: アセット表の作成」を参照してください。
アセット・タイプを構成します。第15.2.6項「手順4: アセット・タイプの構成」を参照してください。
アセット・タイプをアセットの開発に使用しているサイトで有効にし、「スタート・メニュー」のショートカットを作成してアセット・タイプを使用できるようにします。第15.2.7項「手順5: サイトのアセット・タイプの有効化」を参照してください。
「新規」、「編集」、「調査」、「検索」および「検索結果」の各フォームを調べます。必要に応じて、アセット記述子ファイルを微調整してアセット・タイプのエレメントを再登録します。第15.2.8項「手順6: アセット記述子ファイルの微調整」を参照してください。
(オプション)必要に応じて、アセット・タイプのエレメントをカスタマイズします。第15.2.9項「手順7: (オプション)アセット・タイプのエレメントのカスタマイズ」を参照してください。
(オプション)新しいアセット・タイプに「サブタイプ」エントリを追加します。第15.2.10項「手順8: (オプション)サブタイプの構成」を参照してください。
(オプション)新しいアセット・タイプにアセットの「アソシエーション」フィールドを作成します。第15.2.11項「手順9: (オプション)アソシエーション・フィールドの構成」を参照してください。
(オプション)新しいアセット・タイプに「カテゴリ」エントリを追加します。第15.2.12項「手順10: (オプション)カテゴリの構成」を参照してください。
(オプション)新しいアセット・タイプに「ソース」エントリを追加します。第15.2.13項「手順11: (オプション)ソースの構成」を参照してください。
(オプション)新しいアセット・タイプに「MIMEタイプ」を追加します。第15.2.14項「手順12: (条件付き)MIMEタイプの追加」を参照してください。
(オプション) WebCenter Sitesデータベース検索ユーティリティではなく検索エンジンを使用して検索フォームの背後にある論理を実行し、新しいアセット・タイプにそれを使用する場合、検索エレメントを編集して索引付された検索機能を有効にします。第15.2.15項「手順13: (オプション)索引付き検索を有効にするための検索エレメントの編集」を参照してください。
Contributorインタフェースのナビゲーション・ツリー(「サイト・ツリー」、「コンテンツ・ツリー」および「ワーク」ツリー)でアセット・タイプを表すアイコンを作成して割り当てます。第15.2.16項「手順14: アセット・タイプのアイコンの作成と割当て(Contributorインタフェースのみ)」を参照してください。
このタイプのアセットのテンプレートをコーディングします。第15.2.17項「手順15: アセット・タイプのテンプレートのコーディング」および第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。
アセット・タイプを管理や配信など他のシステムに移動します。第15.2.18項「手順16: 他のシステムへのアセット・タイプの移動」を参照してください。これにより、管理者は、ワークフローの設定、スタート・メニューの項目の作成など、アセット・タイプ作成の最後の手順を完了できます。
アセット記述子ファイルのコーディングを開始する前に、設計プランを立て、開発システムを設定する必要があります。詳細は、次の各項を参照してください。
この項の内容は、次のとおりです。
必ずアセット・タイプを紙上で設計してから、アセット記述子ファイルのコーディングを開始してください。下記のような詳細を考慮します。
必要なフィールドは何か。
通常、情報を便利な単位にまとめて、使用するフィールド数を最小限にします。その単位を決定する際には、オンライン・サイトに表示する予定の情報と、データを入力するコンテンツ・プロバイダのデータ入力の必要性の両方を考慮します。
各フィールドに対する適切なデータ型は何か。
オプションのあるフィールドの場合、どのようにオプションを表示するか。アセット記述子ファイルでコーディングされた静的リストにするか、または有効なオプションを記載した参照表にするか。
どのWebCenter Sitesの機能を使用して、このタイプのアセットを編成したりカテゴリ分けするか。(ソース、カテゴリ、アセットのアソシエーションなど。)それぞれについて、その名前、および管理システムとオンライン・サイトの設計の両方で使用する方法を決定します。
サイト設計の実装にはこのタイプのアセットに、パブリッシュ先の公開ターゲットに基づいて異なるデフォルトのテンプレートを使用する必要があるのか。必要な場合には、「サブタイプ」機能を使用する必要があります。このタイプのアセットに必要なサブタイプの名前を決定します。
また、開始する前に必ず開発システムを設定してください。このような準備手順の詳細は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。
適切なサイトを作成します。
管理者権限を持つ管理者専用のユーザー名を作成し、開発システムのすべてのサイトでそのユーザー名を有効にします。(テーブル・エディタACLがユーザー名に割り当てられていることを確認してください。確認できないと、新しいアセット・タイプの作成はできなくなります。)
注意: 管理者権限がないと、「管理」タブにアクセスできず、この章に記載した手順を実行できません。便宜上、ユーザー名に「デザイナ」ロールと「GeneralAdmin」ロールを割り当てます。そうすることで、すべてのタブと、サンプル・サイト内のアセットへのすべての既存の「スタート・メニュー」ショートカットにアクセスできるようになります。 |
第15.1.2項「アセット記述子ファイル」で説明されているとおり、次に示すのがアセット記述子ファイルの基本的な書式です。
<?xml version="1.0" ?> <ASSET NAME="assetName"...> <PROPERTIES> <PROPERTY.../> <STORAGE.../> <INPUTFORM.../> <SEARCHFORM.../> <SEARCHRESULTS.../> </PROPERTY> <PROPERTY... /> <STORAGE.../> <INPUTFORM.../> <SEARCHFORM.../> <SEARCHRESULTS.../> </PROPERTY> </PROPERTIES> </ASSET>
アセット記述子ファイルをコーディングするには、Oracle Fusion Middleware WebCenter Sitesタグ・リファレンスのAssetMakerのタグに関する項を参照し、その説明に従ってタグを使用してファイルをコーディングします。ファイルをコーディングするにはOracle WebCenter Sites ExplorerのネイティブXMLエディタを使用するか、その他のXMLエディタを使用します。
標準アセット・フィールドをアセット記述子ファイルに追加すると、標準アセット・フィールドの外観をカスタマイズできます。フィールドの記憶域タイプの変更は、条件付きとなります。たとえば、フィールドがシステム・フィールドの場合、その記憶域タイプは変更できません。標準フィールドのリスト、それらの記憶域タイプ、および記憶域タイプに許可された変更の詳細は、第15.1.3.4項「標準アセット・フィールドのデータ型」を参照してください。
この項では、サンプルのアセット記述子ファイルとコーディング固有のプロパティの例を示します。
この項の内容は、次のとおりです。
Burlington Financialのサンプル・サイトをシステムにインストールすると、AssetType
表にImageFile.xml
アセット記述子ファイルが表示されます。Oracle WebCenter Sites Explorerを起動してファイルを開くか、次のコードで調べます。
<!-- this is the description of an asset -->
<ASSET NAME="ImageFile" DESCRIPTION="ImageFile"
MARKERIMAGE="/Xcelerate/data/help16.gif" PROCESSOR="4.0"
DEFDIR="c:\FutureTense\Storage\ImageFile">
<PROPERTIES>
<PROPERTY NAME="source" DESCRIPTION="Source">
<STORAGE TYPE="VARCHAR" LENGTH="24"/>
<INPUTFORM DESCRIPTION="Source" TYPE="SELECT" TABLENAME="Source"
OPTIONDESCKEY="description" OPTIONVALUEKEY="source" SOURCETYPE="TABLE"/>
<SEARCHFORM DESCRIPTION="Source" TYPE="SELECT" TABLENAME="Source"
OPTIONDESCKEY="description" OPTIONVALUEKEY="source" SOURCETYPE="TABLE"/>
</PROPERTY>
<PROPERTY NAME="urlpicture" DESCRIPTION="Image File">
<STORAGE TYPE="VARCHAR" LENGTH="255"/>
<INPUTFORM TYPE="UPLOAD" WIDTH="36" REQUIRED="NO" LINKTEXT="Image"/>
</PROPERTY>
<PROPERTY NAME="urlthumbnail" DESCRIPTION="Thumbnail File">
<STORAGE TYPE="VARCHAR" LENGTH="255"/>
<INPUTFORM TYPE="UPLOAD" WIDTH="36" REQUIRED="NO" LINKTEXT="Image"/>
</PROPERTY>
<PROPERTY NAME="mimetype" DESCRIPTION="Mimetype">
<STORAGE TYPE="VARCHAR" LENGTH="36"/>
<INPUTFORM TYPE="SELECT" SOURCETYPE="TABLE" TABLENAME="MimeType"
OPTIONDESCKEY="description" OPTIONVALUEKEY="mimetype"
SQL="SELECT mimetype, description
FROM MimeType
WHERE keyword = 'image'
AND isdefault = 'y'"
INSTRUCTION="Add more options to mimetype table with isdefault=y
and keyword=image"/>
<SEARCHFORM DESCRIPTION="MimeType" TYPE="SELECT" SOURCETYPE="TABLE"
TABLENAME="MimeType" OPTIONDESCKEY="description" OPTIONVALUEKEY="mimetype"
SQL="SELECT mimetype, description
FROM MimeType
WHERE keyword = 'image'
AND isdefault = 'y'"/>
</PROPERTY>
<PROPERTY NAME="width" DESCRIPTION="Width">
<STORAGE TYPE="INTEGER" LENGTH="4"/>
<INPUTFORM TYPE="TEXT" WIDTH="4" MAXLENGTH="4" REQUIRED="NO" DEFAULT=""/>
<SEARCHFORM DESCRIPTION="Width is" TYPE="TEXT" WIDTH="4"
MAXLENGTH="4" VERB="="/>
</PROPERTY>
<PROPERTY NAME="height" DESCRIPTION="Height">
<STORAGE TYPE="INTEGER" LENGTH="4"/>
<INPUTFORM TYPE="TEXT" WIDTH="4" MAXLENGTH="4" REQUIRED="NO" DEFAULT=""/>
<SEARCHFORM DESCRIPTION="Height is" TYPE="TEXT" WIDTH="4"
MAXLENGTH="4" VERB="="/>
</PROPERTY>
<PROPERTY NAME="align" DESCRIPTION="Alignment">
<STORAGE TYPE="VARCHAR" LENGTH="8"/>
<INPUTFORM TYPE="SELECT" SOURCETYPE="STRING"
OPTIONVALUES="Left,Center,Right" OPTIONDESCRIPTIONS="Left,Center,Right"/>
<SEARCHFORM DESCRIPTION="Alignment" TYPE="SELECT" SOURCETYPE="STRING"
OPTIONVALUES="Left,Center,Right" OPTIONDESCRIPTIONS="Left,Center,Right"/>
</PROPERTY>
<PROPERTY NAME="artist" DESCRIPTION="Artist">
<STORAGE TYPE="VARCHAR" LENGTH="64"/>
<INPUTFORM TYPE="TEXT" WIDTH="36" MAXLENGTH="36" REQUIRED="NO" DEFAULT=""/>
<SEARCHFORM DESCRIPTION="Artist contains" TYPE="TEXT"
WIDTH="36" MAXLENGTH="64"/>
</PROPERTY>
<PROPERTY NAME="alttext" DESCRIPTION="Alt Text">
<STORAGE TYPE="VARCHAR" LENGTH="255"/>
<INPUTFORM TYPE="TEXT" WIDTH="48" MAXLENGTH="255" REQUIRED="NO" DEFAULT=""/>
<SEARCHFORM DESCRIPTION="Alt Text contains" TYPE="TEXT"
WIDTH="48" MAXLENGTH="255"/>
</PROPERTY>
<PROPERTY NAME="keywords" DESCRIPTION="Keywords">
<STORAGE TYPE="VARCHAR" LENGTH="128"/>
<INPUTFORM TYPE="TEXT" WIDTH="48" MAXLENGTH="128" REQUIRED="NO" DEFAULT=""/>
<SEARCHFORM DESCRIPTION="Keywords contain" TYPE="TEXT"
WIDTH="48" MAXLENGTH="128"/>
</PROPERTY>
<PROPERTY NAME="imagedate" DESCRIPTION="Image date">
<STORAGE TYPE="TIMESTAMP" LENGTH="8"/>
<INPUTFORM TYPE="ELEMENT" WIDTH="24" MAXLENGTH="48" REQUIRED="NO"
DEFAULT="" INSTRUCTION="Format: yyyy-mm-dd hh:mm"/>
<SEARCHFORM DESCRIPTION="Image date" TYPE="ELEMENT"
WIDTH="48" MAXLENGTH="128"/>
</PROPERTY>
</PROPERTIES>
</ASSET>
このアセット記述子ファイルを調べて、システムにBurlington Financialがインストールされている場合には、WebCenter Sitesを起動してBurlington Financialサイトを選択します。WebCenter Sitesフォームでimagefileアセット・タイプを調べ、アセット記述子ファイルと比較します。
ImageFile
アセット記述子ファイルについて、次の事項に注意してください。
ASSET
タグにより、DEFDIR
パラメータに対応する値が導き出されます。すべてのアセット表にはデフォルトで最低2つのURL列(アップロード・フィールド)があるため、どの新しいアセット・タイプについてもデフォルトの記憶域ディレクトリ(defdir)の値を設定する必要があります。(imagefileアセット・タイプには2つの追加URL列、urlpicture
とurlthumbnail
があります。)
defdir
値の設定には、ASSET
タグのDEFDIR
パラメータを使用するか、AssetMakerの「アセット表の作成」フォームの「defdir」フィールドを使用します。
注意: 「アセット表の作成」フォームで設定された |
URL列の詳細は、第12.2.3項「WebCenter SitesのURLフィールドを使用した間接的なデータ格納」を参照してください。
AssetMakerによってアセット・タイプのデータベース表に作成されたデフォルトの列のいずれにも、PROPERTY
文はありません。それらの列は、第11.2.4.2項「ベーシック・アセット・タイプのデータベース表のデフォルトの列」に一覧表示されています。
SEARCHFORM
文を備えたすべてのプロパティに、一致するSEARCHRESULTS
文が備わっているわけではありません。つまり、「詳細検索」フォームにフィールドを設置する場合、そのフィールドからのデータを「検索結果」フォームに表示する必要はないということです。
WebCenter Sitesの「管理」タブにはソース機能が備わっていますが、デフォルトでソース列は作成されません。ソース機能を新しいアセット・タイプで使用するには、ソース列とフィールドにプロパティ文を追加する必要があります。
次のことに注意してください。
STORAGE TYPE
はVARCHAR
に、LENGTH
は24
に設定する必要があります。
INPUTFORM
SOURCETYPE
はTABLE
に、TABLENAME
はSource
に設定する必要があります。
例:
<PROPERTY NAME="source" DESCRIPTION="Source"> <STORAGE TYPE="VARCHAR" LENGTH="24"/> <INPUTFORM TYPE="SELECT" TABLENAME="Source" OPTIONDESCKEY="description" OPTIONVALUEKEY="source" SOURCETYPE="TABLE"/> <SEARCHFORM DESCRIPTION="Source" TYPE="SELECT" TABLENAME="Source" OPTIONDESCKEY="description" OPTIONVALUEKEY="source" SOURCETYPE="TABLE"/> </PROPERTY>
「参照」ボタンを備えたアップロード・フィールドを作成するには、PROPERTY
文を次のようにコーディングします。
PROPERTY NAME
に設定する文字列では、先頭の文字をurl
にする必要があります。
STORAGE TYPE
の値をVARCHAR
に設定する必要があります。
INPUT TYPE
の値はUPLOAD
に設定する必要があります。
ImageFile
アセット記述子ファイルのアップロード・フィールドのコード・スニペットは、次のとおりです。
<PROPERTY NAME="urlpicture" DESCRIPTION="Image File"> <STORAGE TYPE="VARCHAR" LENGTH="255"/> <INPUTFORM TYPE="UPLOAD" WIDTH="36" REQUIRED="NO" LINKTEXT="Image"/> </PROPERTY>
注意: アップロード・フィールドで選択できるファイルのサイズは、30 MBに制限されています。 |
(ファイルの選択に使用する「参照」ボタンでなく)テキストを入力できるテキスト・ボックスを使用してアップロード・フィールドを作成するには、PROPERTY
文を次のようにコーディングします。
PROPERTY NAME
に設定する文字列では、先頭の文字をurl
にする必要があります。
STORAGE TYPE
の値をVARCHAR
に設定する必要があります。
INPUT TYPE
の値はTEXTAREA
に設定する必要があります。
次のコード・スニペットでは、url
列のテキスト・エリア・フィールドが作成されます。
<PROPERTY NAME="urlbody" DESCRIPTION="Article Body"> <STORAGE TYPE="VARCHAR" LENGTH="256"/> <INPUTFORM TYPE="TEXTAREA" COLS="48" ROWS="25" REQUIRED="YES"/> </PROPERTY>
(ファイルの選択に使用する「参照」ボタンでなく)テキストを入力できるテキスト・ボックスを使用してアップロード・フィールドを作成するには、PROPERTY
文を次のようにコーディングします。
PROPERTY NAME
に設定する文字列では、先頭の文字をurl
にする必要があります。
STORAGE TYPE
の値をVARCHAR
に設定する必要があります。
INPUT TYPE
の値はTEXTAREA
に設定する必要があります。
次のコード・スニペットでは、url
列のテキスト・エリア・フィールドが作成されます。
<PROPERTY NAME="urlbody" DESCRIPTION="Article Body"> <STORAGE TYPE="VARCHAR" LENGTH="256"/> <INPUTFORM TYPE="TEXTAREA" COLS="48" ROWS="25" REQUIRED="YES"/> </PROPERTY>
CKEditorのフィールドを作成するには、次のようにプロパティ文をコーディングします。
PROPERTY NAME
では、先頭の文字をurl
にする必要があります。つまり、フィールドでURL列を使用する必要があります。そうしないと、フィールドが小さくなりすぎる恐れがあります。
STORAGE TYPE
の値をVARCHAR
に設定する必要があります。
INPUT TYPE
の値はCKEDITOR
に設定する必要があります。
<PROPERTY NAME="urlbody" DESCRIPTION="Body"> <STORAGE TYPE="VARCHAR" LENGTH="50"/> <INPUTFORM TYPE="CKEDITOR" WIDTH="300" HEIGHT="300" REQUIRED="YES" INSTRUCTION="Be concise! No more than 3 paragraphs."/> </PROPERTY>
タイプVARCHAR
の長さは、データが格納されているファイルへのパスの長さです。これは、通常100未満です。長さの値が大きすぎる場合(「5000」など)、データベースはデータをCLOBとして格納するため、データ記憶域に関する問題の原因になります。また、データがファイルではなくデータベースに格納されるため、URLフィールドが破損する恐れがあります。
次のコードは、BLOBをアップロードできるフィールドを作成します。MIMETYPE
を指定しないと、「編集」フォームおよび「調査」フォームからBLOBを表示させることができない可能性があります。
<PROPERTY NAME="type_binary" DESCRIPTION="Binary"> <STORAGE TYPE="BINARY"/> <INPUTFORM TYPE="UPLOAD" WIDTH="24" MAXLENGTH="64" MIMETYPE="application/msword" LINKTEXT="Edit with Microsoft Word" INSTRUCTION="maps to cc.blob"/> </PROPERTY>
パス、ファイル名、開始日および終了日の列は特殊な例です。
AssetMakerにより、PROPERTY
文を使用しないでパス、ファイル名、開始日および終了日の列が作成されます。ただし、アセット記述子ファイルにそれらの列に対するPROPERTY
文を記述しないと、列は存在してもそれらのフィールドはアセット・フォームに表示されません。
これらの列について、次の事項に注意してください。
「パス」では、STORAGE
TYPE
をVARCHAR
に、LENGTH
を255
に設定する必要があります。
「ファイル名」では、STORAGE
TYPE
をVARCHAR
に、LENGTH
を128
に設定する必要があります。
「開始日」では、STORAGE
TYPE
をTIMESTAMP
に設定する必要があります。
「終了日」では、STORAGE
TYPE
をTIMESTAMP
に設定する必要があります。
注意: これらの標準列のいずれかをアセット記述子ファイルに追加しても、記憶域タイプがこのリストに指定されているものと一致しない場合には、AssetMakerでアセット・タイプを作成できません。 |
例:
<PROPERTY NAME="path" DESCRIPTION="Path"> <STORAGE TYPE="VARCHAR" LENGTH="255"/> <INPUTFORM DESCRIPTION="Path" TYPE="TEXT" LENGTH="255"/> </PROPERTY>
プロパティのINPUTFORM TYPE
がSELECT
の場合、WebCenter Sitesに選択フィールドのドロップダウン・リストを移入できます。ドロップダウン・リストには、OPTIONDESCRIPTIONS
パラメータで設定した項目の静的リスト、またはWebCenter Sitesでデータベース表から動的に取得した項目のリストを使用できます。
ドロップダウン・リストを表から動的に移入する選択フィールドの別の例は、imagefileフォームのMimetypeフィールドです。このフィールドでは、オプションに対するMimeType表を問い合せます。コードは次のとおりです。
<PROPERTY NAME="mimetype" DESCRIPTION="Mimetype"> <STORAGE TYPE="VARCHAR" LENGTH="36"/> <INPUTFORM TYPE="SELECT" SOURCETYPE="TABLE" TABLENAME="mimetype" OPTIONDESCKEY="description" OPTIONVALUEKEY="mimetype" SQL="SELECT mimetype, description FROM mimetype WHERE keyword = 'image' AND isdefault = 'y'" INSTRUCTION="Add more options to mimetype table with isdefault=y and keyword=image"/> <SEARCHFORM DESCRIPTION="Mimetype" TYPE="SELECT" SOURCETYPE="TABLE" TABLENAME="mimetype" OPTIONDESCKEY="description" OPTIONVALUEKEY="mimetype" SQL="SELECT mimetype, description FROM mimetype WHERE keyword ='image' AND isdefault = 'y'"/> </PROPERTY>
この例は、データベース表からの項目を選択するだけではなく、追加のSQL問合せによってデータベース表から返される項目をさらに制限するフィールドも示しています。
プロパティのINPUTFORM TYPE
がRADIO
の場合、OPTIONDESCRIPTIONS
パラメータで設定した項目の静的リスト、またはWebCenter Sitesがデータベース表から動的に取得した項目のリストを使用して各ラジオ・ボタンにラベルを入力できます。
次のサンプル・コードは、CreditCard
表から取得したラベルでラジオ・ボタンを作成します。
<PROPERTY NAME="sqlrbcc" DESCRIPTION="SQL RB Credit Card"> <STORAGE TYPE="VARCHAR" LENGTH="4"/> <INPUTFORM TYPE="RADIO" SOURCETYPE="TABLE" TABLENAME="CreditCard" RBVALUEKEY="ccvalue" RBDESCKEY="ccdescription" /> <SEARCHFORM TYPE="SELECT" DESCRIPTION="Credit Card:" SOURCETYPE="TABLE" TABLENAME="CreditCard" OPTIONVALUEKEY="ccvalue" OPTIONDESCKEY="ccdescription" SQL="SELECT ccvalue,ccdescription FROM CreditCard ORDER BY ccdescription"/> </PROPERTY>
アセット・フォームのフィールドを変更するには、ELEMENT
入力タイプを使用して、必要に応じてフィールドを表示するカスタム・コードをコールします。この方法を使用すると、新しいアセット・フィールドを作成したり、標準アセット・フィールドの外観を変更できます。ただし、標準アセット・フィールドの記憶域タイプは変更できません。
ELEMENT
フィールドには、BLOB
など、どのような記憶域のタイプでも指定できます。
フィールドの入力タイプをELEMENT
に設定した場合、WebCenter Sitesではそのフィールドを表示する際にカスタム・エレメントがコールされます。カスタム・エレメントは、次の場所のいずれかにあります。
ContentFormフォーム上のフィールドの場合:
OpenMarket/Xcelerate/AssetType/myAssetType/ContentForm/fieldname
ContentDetailsフォーム上のフィールドの場合:
OpenMarket/Xcelerate/AssetType/myAssetType/ContentDetails/fieldname
SearchFormフォーム上のフィールドの場合:
OpenMarket/Xcelerate/AssetType/myAssetType/SearchForm/fieldname
myAssetType
はカスタム・フィールドを作成しているアセット・タイプであり、fieldnameはカスタム・フィールドの名前であることに注意してください。
アセット記述子ファイルからの次の抜粋では、ELEMENT
入力タイプが使用されています。
<PROPERTY NAME="imagedate" DESCRIPTION="Image date"> <STORAGE TYPE="TIMESTAMP" LENGTH="8"/> <INPUTFORM TYPE="ELEMENT" WIDTH="24" MAXLENGTH="48" REQUIRED="NO" DEFAULT="" INSTRUCTION="Format: yyyy-mm-dd hh:mm"/> <SEARCHFORM DESCRIPTION="Image date" TYPE="ELEMENT" WIDTH="48" MAXLENGTH="128"/> </PROPERTY>
入力フォームではカスタマイズされたフィールドが使用されますが、検索フォームとコンテンツ詳細フォームではデフォルトのフィールドが表示されることに注意してください。
次のコードの抜粋は、記述子ファイルがコールするエレメントです。
<!-- OpenMarket/Xcelerate/AssetType/ImageFile/ContentForm/imagedate - - INPUT - Variables.AssetType Variables.fieldname Variables.fieldvalue- default or value for this field Variables.datatype - from STORAGE tag in ADF for this field Variables.helpimage - help icon Variables.alttext - help text from INPUT tag in ADF Other fields from input tag are in: Variables.assetmaker/property/Variables.fieldname/inputform/[tag attribute] - field name used in form should be Variables.AssetType:Variables.fieldname - OUTPUT - --> Enter date in the format yyyy-mm-dd hh:mm:ss<br/> <setvar NAME="inputfieldsize" VALUE="Variables.assetmaker/property/Variables.fieldname/inputform/width"/> <callelement NAME="OpenMarket/Xcelerate/Scripts/FormatDate"/> <INPUT TYPE="text" SIZE="Variables.inputfieldsize" NAME="Variables.AssetType:Variables.fieldname" VALUE="Variables.fieldvalue" REPLACEALL="Variables.inputfieldsize,Variables.fieldvalue,Variables.fieldname, Variables.AssetType"onChange="padDate(this.form.elements['Variables.AssetType: Variables.fieldname'].value,this,'Variables.AssetType:Variables.fieldname' );"/> </FTCS>
ELEMENT
入力タイプを使用して必要な数のフィールドをカスタマイズできますが、変更するフィールドごとに個別のエレメントを記述する必要があります。
アセット・タイプに対応したアセット記述子ファイルをコーディングした後、AssetMakerを使用してそれをアップロードして新しいエレメントを登録します。
管理者としてWebCenter Sitesにログインします。
作業場所とするサイトを選択します。
Adminインタフェースを選択します。
「管理」タブを選択します。
「AssetMaker」を開いて、「新規追加」をクリックします。
「新規AssetMakerアセット・タイプの追加」フォームが表示されます。
「名前」フィールド内をクリックして、新しいアセット・タイプの名前を入力します。このフィールドに入力する文字列は、アップロードするアセット記述子ファイルのASSET NAME
で指定された文字列と完全に一致している必要があります。
「記述子ファイル」フィールドの隣にある「参照」ボタンをクリックして、アセット記述子ファイルを選択します。
「保存」をクリックします。
AssetMakerでは、ファイルがAssetType
表に入力され(つまり、アセット記述子ファイルがAssetType
表のデフォルトのストレージ・ディレクトリにアップロードされ)、「アセット・タイプ」フォームが表示されます。
この手順は、前述の項の手順8(第15.2.4項「手順2: アセット記述子ファイルのWebCenter Sitesへのアップロード」)からの続きです。
「アセット表の作成」を選択します。
「Defdir」フィールドの値を調べて、必要に応じて変更します。AssetMakerはこの値をアセット記述子ファイルから読み取ります。次のいずれかの条件がある場合には、このフィールドに値を入力する必要があります。
アセット記述子のASSET
タグに対応するDEFDIR
パラメータを使用して値を入力しなかった場合。
デフォルトのストレージ・ディレクトリを変更しようとする場合。これは、アセット・タイプを別のシステムに移行する際の典型的な状況です。
「「一般」カテゴリの追加」オプションを選択した場合は、AssetMakerによってCategory
表に、新しいアセット・タイプに対応する行が1つ追加され、そのカテゴリにGeneralという名前が付けられます。
「アセット表の作成」をクリックします。
AssetMakerでは、表が作成されます。
終了すると、次のような確認が表示されます。
「アセット・エレメントの登録」を選択して、「アセット・エレメントの登録」ボタンをクリックします。
エレメントがAssetStubElementCatalog
表からElementCatalog
表のアセット・タイプのディレクトリにコピーされ、SQL文がSystemSQL表にコピーされます。終了すると、次のような確認が表示されます。
AssetMakerで新しいアセット・タイプが作成されると(第15.2.4項「手順2: アセット記述子ファイルのWebCenter Sitesへのアップロード」)、アイコンと新しいアセット・タイプを構成するための管理フォームも作成され、「管理」タブに配置されます。
次の構成手順を実行します。
「管理」タブで、「アセット・タイプ」アイコンを展開します。
「アセット・タイプ」で、新しいアセット・タイプを選択します。(リストに新しいアセット・タイプが表示されていない場合、右クリックし、コンテキスト・メニューから「リフレッシュ」を選択して、新しいアセット・タイプを選択します。)
「編集」をクリックします。
次のフォームが表示されます。
(オプション)「説明」フィールド内をクリックして、必要に応じて変更します。このフィールドのテキストには、フォームのこのアセット・タイプに対してWebCenter Sitesで使用される名前とWebCenter Sitesインタフェースのリストが記述されています。デフォルトでは、「説明」はアセット記述子ファイルのASSET DESCRIPTION
文の値に設定されています。
(オプション)「複数形」フィールド内をクリックして、必要に応じて変更します。このフィールドのテキストには、複数形でアセット・タイプを参照するのが適切な場合にWebCenter Sitesインタフェースで使用するテキストが記述されています。デフォルトでは、「複数形」はアセット記述子ファイルのASSET DESCRIPTION
文の値に「s」を追加して設定されています。アセット記述子ファイルの複数形を独自で指定するには、ASSET
タグのPLURAL
パラメータの値を設定します。
(オプション)子アセットに設定可能フィールド内をクリックして、必要に応じて変更します。デフォルトでは、このフィールドは「True」に設定されています。つまり、このアセット・タイプは別のアセット・タイプのアソシエーション・フィールドで子アセット・タイプである可能性があります。その名前は、「新規アソシエーションの追加」フォームの「子アセット」フィールドにあるアセット・タイプのリストに表示されます。
「保存」をクリックします。
新しいエレメントがアセット・タイプにレンダリングするフォームを調べる前に、作業するサイトでアセットを有効にし、それに対して簡単な「スタート・メニュー」の項目を作成する必要があります。
アセット・タイプを有効にして、それらにスタート・メニューの項目を作成する手順は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。
新しいタイプの新しいアセットを作成し、「新規」、「編集」、「調査」および「検索」の各フォームを調べます。このタイプの新しいアセットを作成するには、ツールバーの「新規」をクリックし、前述の手順で作成した「スタート・メニュー」ショートカットを選択します。
フォームを調べた後、アセット記述子ファイルを変更する必要が生じることがあります。
次のいずれかの項目を比較的少ない手順で変更できます。
アセット・タイプのWebCenter Sitesフォームに表示されるフィールドの並替え
フィールド名(PROPERTY DESCRIPTION
の値)の変更
INPUTFORM
、SEARCHFORM
、SEARCHRESULTS
いずれかの文におけるなんらかの変更
前述のリストになんらかの変更を加える場合には、次の手順を実行します。
第15.2.4項「手順2: アセット記述子ファイルのWebCenter Sitesへのアップロード」でアップロードしたアセット記述子ファイルを開いて変更するには、Oracle WebCenter Sites Explorerを使用します。
変更を保存します。
アセット・タイプのエレメントを登録しなおします。
アセット・タイプのデータベース表の作成後は、そのスキーマを変更できません。次の変更内容は、スキーマの変更内容です。
列名(既存のPROPERTY
文のNAME
パラメータ)の変更
列のデータ型(既存のPROPERTY
文のSTORAGE TYPE
またはLENGTH
)の変更
新しいプロパティ(新しいPROPERTY
文)の追加。これにより表に新しい列が追加されます。
プロパティ(既存のPROPERTY
文)の削除。これにより表から列が削除されます。
したがって、前述のリストのいずれかの変更を実行する場合は、まずアセット・タイプを削除し、アセット記述子ファイルを変更し、アセット・タイプを再び作成します。
AssetStubElementCatalog
表からElementCatalog
表のアセット・タイプのディレクトリにコピーしたエレメントをカスタマイズした場合、変更内容はエレメントを再登録した時点で上書きされることに注意してください。
コンテンツ管理システムでアセット・タイプのエレメントをカスタマイズする方法は2つあります。
特定のアセット・タイプに固有な変更が必要な場合、Oracle WebCenter Sites Explorerを使用して、そのアセット・タイプのエレメントをElementCatalog
表で変更できます。エレメントの変更の詳細は、第15.2.9.1項「PreUpdateエレメントとPostUpdateエレメントについて」を参照してください。
すべてのタイプのアセットに同じ変更が必要な場合、Oracle WebCenter Sites Explorerを使用して、AssetStubElementCatalog
表のソース・エレメントを変更してから、アセット・タイプを作成します。その方法では、一度だけカスタマイズする必要があります。
注意:
|
すべてのカスタマイズのトラッキングについては、常に細心の注意を払ってください。その方法で、必要に応じて作業を作成しなおすことができます。
アセットで実行できるアクションや手順を機能と呼びます。たとえば、新規、編集および削除は、AdminインタフェースとContributorインタフェースのユーザーがアセットの作成、編集および削除の際に起動できるすべての機能です。そのような機能は、PreUpdate
エレメントとPostUpdate
エレメントもコールします。
PreUpdate
エレメントとPostUpdate
エレメントを使用して、エレメントがコールされたときに各種操作を開始するロジックを格納します。PreUpdateエレメントは機能が起動されたときにコールされます。PostUpdate
エレメントは、WebCenter Sitesがアセット情報をデータベースに書き込んだ後にコールされます。各エレメントには変数が含まれており、その変数の名前と値によりエレメントがコールされる条件が指定されます。この変数は、Adminインタフェースから、またはContributorインタフェースやXMLPostユーティリティのフォーム・モードからエレメントをコールする必要がある場合に、updatetype
と名付けられます。この変数は、ContributorインタフェースのWebモードからエレメントをコールする必要がある場合に、servicesUpdateType
と名付けられます。
たとえば、コンテンツ・マネージャがAdminインタフェースで稼働しており、そのシステムが記事のバッチを通信社からインポートするように構成されているとします。エレメントでこれらの操作をコーディングして、updatetype=remotepost
をエレメントがコールされる条件として設定すれば、インポートの直前にPreUpdate
エレメントの「ソース」フィールドの値をwirefeedに、「署名行」フィールドの値をAPIに設定できます。
注意:
|
PreUpdate
エレメントとPostUpdate
エレメントには、次のパスで、Oracle WebCenter Sites Explorerからアクセスできます。
ElementCatalog\OpenMarket\Xcelerate\AssetType
表15-6は、updatetype
変数の値について定義しています。
注意: Adminインタフェースで新規アセットまたは編集済のアセットを保存すると、 最初のコールは、「新規」フォームまたは「編集」フォームがレンダリングされる前に実行されます。2回目のコールは、「新規」フォームまたは「編集」フォームで「保存」がクリックされた後に行われますが、この時点でWebCenter Sitesではアセット情報がデータベースに書き込まれていません。 前述の条件により、新規機能または編集機能が呼び出されると、 |
表15-6 UpdateType変数の値
updatetype = | 説明 |
---|---|
|
Adminインタフェースで、またはContributorインタフェースのフォーム・モードでユーザーが「新規」機能を起動した場合:
|
|
Adminインタフェースで、またはContributorインタフェースのフォーム・モードでユーザーが新しいアセットを保存した場合:
|
|
Adminインタフェースで、またはContributorインタフェースのフォーム・モードでユーザーが「編集」機能を起動した場合:
|
|
Adminインタフェースで、またはContributorインタフェースのフォーム・モードでユーザーが編集済のアセットを保存した場合:
|
|
Adminインタフェースからユーザーがアセットを削除した場合:
|
|
ユーザーがXMLPost機能を呼び出してアセットをインポートする場合:
|
|
Microsoft Wordで作成または編集されたアセットをSites Desktopのユーザーが保存した場合:
|
|
Webモードから保存された場合、 表15-7は、 |
表15-7 servicesUpdateType変数の値(Contributorインタフェース)
servicesUpdateType = | 説明 |
---|---|
|
Contributorインタフェースでユーザーが新しいアセットを保存した場合:
|
|
Contributorインタフェースでユーザーが編集済のアセットを保存した場合:
|
|
Contributorインタフェースでユーザーがアセットを削除した場合:
|
AssetMakerで設計するベーシック・アセット・タイプの場合、サブタイプとはアセットがレンダリングされる方法に基づいたアセット・タイプのサブクラスのことです。サブタイプを使用して、各公開ターゲットでそのタイプおよびサブタイプのアセットに対する個々のデフォルトの承認テンプレートを定義できます。
この項の内容は、次のとおりです。
サブタイプを作成する手順は次のとおりです。
「管理」タブで、「アセット・タイプ」オプションを開きます。
「アセット・タイプ」オプションの下で、サブタイプの作成対象とするアセット・タイプを選択します。
「サブタイプ」オプションを選択します。
次のような「サブタイプ」フォームが表示されます。
「新規サブタイプの追加」をクリックします。
次のフォームで、「名前」列の最初のフィールド内をクリックし、サブタイプの名前を入力します。
「サイト」列の対応するフィールドで、このサブタイプに必要なサイト名を選択します。
最大5つのサブタイプまでこれらの手順を繰り返します。
「保存」をクリックします。
アソシエーションについては、第11.2項「ベーシック・アセット・モデル」を参照してください。要するに、アソシエーションとは親子関係を説明する定義済のアセット・タイプ固有の関係、または個々のアセットやアセットのサブタイプ間のリンクのことです。テンプレート・エレメントをコーディングする際に、これらの関係の名前を使用して個々のアセットやサブタイプを特定するため、オブジェクト名でオブジェクトを参照する必要はありません。
たとえば、Burlington Financialサンプル・サイトではイメージファイル・アセットが記事アセットに関連付けられています。テンプレート・エレメントは、アセットの名前ではなくアソシエーションの名前で関連付けられたイメージファイル・アセットを抽出するようにコーディングされます。その場合、記事に異なるイメージファイルを選択すると、テンプレートは新しいイメージファイルを表示するため、テンプレートをコーディングしなおす必要はありません。
アソシエーションは、アセット・フォームのフィールドとして表されます。これらのフィールドはアセット記述子ファイルからは作成されません。かわりに、「管理」タブの「アセットのアソシエーション」フォームを使用します。
Burlington Financialサンプル・サイトのアソシエーション・フィールドの例には、記事アセットとイメージファイル・アセットの間のメイン・イメージ・アソシエーションとティーザー・イメージ・アソシエーションが含まれています。Burlington Financialの記事アセットを作成する際には、「メイン・イメージ」フィールドと「ティーザー・イメージ」フィールドからイメージ・アセットを選択できます。
この項の内容は、次のとおりです。
アソシエーション・フィールドを追加する手順は次のとおりです。
「管理」タブで、「アセット・タイプ」を選択します。
「アセット・タイプ」オプションで、アソシエーションを作成するアセット・タイプを選択します。
選択したアセット・タイプで、「アセットのアソシエーション」→「新規追加」を選択します。
次のような「新規アソシエーションの追加」フォームが表示されます。
「名前」フィールド内をクリックして、スペース、小数点または引用符を使用せずにアソシエーション・フィールド名を入力します。
「説明」フィールド内をクリックして、フィールドの簡単な説明を入力します。WebCenter Sitesでは、新しいアセット・フォームに表示される際このフィールドに入力したテキストがフィールド名として使用されるため、説明は簡潔にします。
「子アセット」フィールド内をクリックして、このフィールドに表示されるアセット・タイプの種類を選択します。(「子アセット」フィールドと呼ばれるのは、アソシエーションがアセット間の親子関係を作成しているためです。)このフィールドでは、テンプレートやページ・アセット・タイプを指定できません。
このアソシエーションに対する1つまたは複数のサブタイプを選択するには、「サブタイプ」フィールド内のそのサブタイプを強調表示します。複数のサブタイプを選択するには、選択内容をマウスでクリックしながら[Ctrl]キーを押します。
このアセット・アソシエーションに対応する「依存性タイプ」を選択します。デフォルトでは、「存在」に設定されています。ここで指定された依存性タイプは、公開方法がサーバーに対してミラーの場合、承認システムで使用されます。依存性タイプの詳細は、第28.2項「依存性をログに記録するためのコーディングについて」を参照してください。
「追加」をクリックします。
WebCenter Sitesでは、このアソシエーションの「アソシエーション」
表に行が作成されます。この行で使用される名前は、手順4で「名前」フィールドに入力したテキストです。
アソシエーション・フィールドを削除する前に、必ずのフィールドを使用するアセットはないか検索してフィールド内の値を消去します。そうしないと、アソシエーション・フィールドを削除した時点でそれらのアセットはアソシエーションを保持したままになりますが、WebCenter Sitesインタフェースには表示されなくなるため、それを変更できなくなります。
アソシエーション・フィールドを削除する手順は次のとおりです。
「管理」タブで、「アセット・タイプ」を選択します。
「アセット・タイプ」オプションで、アソシエーション・フィールドを削除するアセット・タイプを選択します。
選択したアセット・タイプで、削除するアソシエーションを選択します。
右のフォームで、「削除」をクリックします。
アソシエーション・フィールドは、このアセット・タイプのフォームには表示されなくなります。
カテゴリを使用して、サイト設計に対応した一部の表記規則に従ってアセット・タイプを編成できます。たとえば、Burlington Financialサンプル・サイトではカテゴリに基づいた問合せを使用して、オンライン・サイトの様々なセクションで選択する記事を決定できます。
すべてのベーシック・アセット・タイプに「カテゴリ」フィールド(列)がデフォルトで備わっていますが、それは必須フィールドではなく、使用する必要はありません。
この項の内容は、次のとおりです。
カテゴリを追加する手順は次のとおりです。
「管理」タブで、「アセット・タイプ」を選択します。
「アセット・タイプ」オプションで、カテゴリを作成するアセット・タイプを選択します。(たとえば、「記事」を選択します。)
該当するアセット・タイプで、「カテゴリ」→「新規追加」を選択します。
次のフォームが表示されます。
「説明」フィールド内をクリックして、カテゴリの簡単な説明を入力します。WebCenter Sitesではこのフィールドに入力したテキストがサイト・ツリーと、このタイプのアセットに対するフォームの「カテゴリ」フィールドのドロップダウン・リストで使用されるため、説明は簡潔にします。
「カテゴリ・コード」フィールドに、新しいカテゴリの2文字コードを入力します。
「追加」ボタンをクリックします。
作成したカテゴリは、「新規」フォームと「編集」フォームの「カテゴリ」フィールドのドロップダウン・リストに表示されます。
ソースは、システムのすべてのサイトのすべてのアセット・タイプに適用します。したがって、ソースを使用している場合、ソースを一度のみ追加する必要があります(各アセット・タイプに追加するのではなく)。
この項の内容は、次のとおりです。
ソースを作成する手順は次のとおりです。
「管理」タブで、「ソース」→「新規追加」を選択します。
次のような「ソースの追加」フォームが表示されます。
「ソース」フィールド内をクリックし、ソース名を入力します。
「説明」フィールド内をクリックして、ソースの簡単な説明を入力します。WebCenter Sitesでは、アセットに対するフォームの「ソース」フィールドのドロップダウン・リストで、このフィールドに入力したテキストが使用されます。
「追加」をクリックします。
ソースがSource
表に書き込まれます。
MimeType
表には、MIMEタイプのフィールドに表示できるMIMEタイプ・コードが保持されています。MimeType
表をアセット記述子ファイルで参照する場合、アセットにMIMEタイプを追加する必要があります。
たとえば、イメージファイルとスタイルシートの両方のアセット・タイプで、横に「参照」ボタンのあるフィールドをアップロードしてあるとします。アップロード・フィールドでファイルを選択したら、「MIMEタイプ」フィールドから選択したファイルのMIMEタイプを指定します。
イメージファイル・アセット・タイプとスタイルシート・アセット・タイプの「MIMEタイプ」フィールドは、keyword
列に基づいたMIMEタイプ・コードのMIMEタイプ表を問い合せます。
keyword
がstylesheet
に設定されているMIMEタイプ・コードが、「スタイルシート」フォームの「MIMEタイプ」フィールドのドロップダウン・リストに表示されます。
keyword
がimage
に設定されているMIMEタイプ・コードが、「イメージ・ファイル」フォームの「MIMEタイプ」フィールドのドロップダウン・リストに表示されます。
デフォルトでは、スタイルシートのファイルはCSS
ファイル、イメージファイルのファイルはGIF
ファイルまたはJPEG
ファイルになります。これらのアセット・タイプ、独自のカスタム・アセット・タイプ、またはその他の理由に対するMIMEタイプ・コードを追加できます。
「MIMEタイプ」ドロップダウン・リストにMIMEタイプを追加する手順は次のとおりです。
Oracle WebCenter Sites Explorerを開きます。
「MIMEタイプ」表を開きます。
次のいずれかを行います。
イメージファイル・アセット・タイプにMIMEタイプを追加する場合、「MIMEタイプ」表で「イメージ」フォルダを選択します。
スタイルシート・アセット・タイプにMIMEタイプを追加する場合、「MIMEタイプ」表で「テキスト」フォルダを選択します。
アップロード・フィールドまたはその他の理由に対してMIMEタイプをカスタム・アセット・タイプに追加する場合、「MIMEタイプ」表の適切な場所を選択します。
右のフレーム内を右クリックし、ドロップダウン・リストから「新規」を選択します。
Oracle WebCenter Sites Explorerでは、表内に新しい行が作成されます。
「MIMEタイプ」フィールドに、MIMEタイプ名を入力します。たとえば、XSL
と入力します。
「拡張機能」フィールドに、このタイプのMIMEタイプの拡張子を入力します。たとえば、xml
と入力します。
「説明」フィールドに、MIMEタイプの短い説明を入力します。
「デフォルト」フィールドで、次のいずれかを実行します。
同一のMIMEタイプに複数の拡張子を指定する場合、n
と入力します。たとえば、JPGというMIMEタイプにjpg
とjpeg
の拡張子がある場合、「デフォルト」をn
に設定します。
これがMIMEタイプに対する唯一の拡張子の場合、y
と入力します。
「キーワード」フィールド内をクリックし、次のいずれかを実行します。
イメージファイル・アセット・タイプにMIMEタイプを追加している場合、image
と入力します。
スタイルシート・アセット・タイプにMIMEタイプを追加している場合、stylesheet
と入力します。
アップロード・フィールド持つカスタム・アセット・タイプまたはやその他の理由に対してMIMEタイプを追加する場合、適切なキーワードを入力します。
「ファイル」→「すべて保存」を選択します。
Oracle WebCenter Sites Explorerで行が保存されます。
keywordがimage
に設定されているMIMEタイプを追加した場合、そのMIMEタイプは「イメージ・ファイル」フォームの「MIMEタイプ」フィールドに表示されます。keywordがstylesheetに設定されているMIMEタイプのコードを追加した場合、そのMIMEタイプは「スタイルシート」フォームの「MIMEタイプ」フィールドに表示されます。
WebCenter SitesとEngageには、標準検索と詳細検索を実行する独自のデータベースSQL検索メカニズムが備わっています。ただし、サポートされているサード・パーティの検索エンジンのいずれかに管理システムを設定することも可能です。構成の詳細は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。
管理システムで検索エンジンを使用する場合、各アセットは作成後または編集後に保存される際に索引付けされます。デフォルトでは、デフォルト・フィールドのみが索引付けされます(リストは、第11.2.4.2項「ベーシック・アセット・タイプのデータベース表のデフォルトの列」を参照してください)。アセット記述子ファイル内のPROPERTY
文で作成したフィールドを索引付けする場合には、次のエレメントでフィールド用の文を追加する必要があります。
OpenMarketXcelerate/AssetType/YourAssetType/IndexAdd.xml
OpenMarketXcelerate/AssetType/YourAssetType/IndexReplace.xml
アセット・タイプのカスタム・フィールドをこれらのエレメントに追加するには、WebCenter Sites INDEX
タグを使用してこれらのエレメント用の表記規則に従います。
Contributorインタフェースのナビゲーション・ツリー(「サイト・ツリー」、「コンテンツ・ツリー」および「ワーク」ツリー)でアセット・タイプを表すアイコンを作成して割り当てます。アイコンはイメージ・ファイルのいずれかのタイプに指定できます(PNG、GIFなど)。この例では、タイプPNGのイメージ・ファイルを作成します。
アセット・タイプを表す20x20ピクセル以内のイメージを作成します。
構文assetType.
pngを使用してファイルに名前を付けます。ファイル名は、アイコンが表示されるアセット・タイプを決定します。この名前では、大文字と小文字が区別されます。
次のディレクトリにファイルを格納します。
<cs_app_dir>/Xcelerate/OMTree/TreeImages/AssetTypes/
ここで、<cs_app_dir>
はアプリケーション・サーバーのデプロイ済WebCenter Sitesアプリケーションのディレクトリです。
Contributorインタフェースの「サイト・ツリー」、「コンテンツ・ツリー」および「ワーク」ツリーに表示されるアイコンのアプリケーション・サーバーを再起動します。
アセット・タイプの作成と該当するタイプのアセットに対応するテンプレートのコーディングは、反復プロセスです。アセット・タイプを作成して、テンプレート作成前に該当するタイプのアセットに対応するテンプレートを作成する必要がありますが、データ設計の微調整の必要がある領域は、テンプレートをコーディングしてコードをテストした後にのみ明らかになる可能性が高いようです。
テンプレートのコーディングの詳細は、第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。
すべての新しいアセット・タイプの作成(それらに対するテンプレートの作成も含む)が終了したら、管理システムと配信システムへ移行します。次に、システム管理者が管理システムのアセット・タイプを構成します。管理者は、必要に応じてリビジョン追跡の有効化、ワークフロー・プロセスの作成、スタート・メニューのショートカットの作成などを実行します。
この手順の詳細は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。
AssetMakerで作成したアセット・タイプを削除するには、選択したアセット・タイプのコンポーネントを削除するか、データベースからアセット・タイプのすべてのトレースを削除します。アセット・タイプのコンポーネントは次のとおりです。
データベース表およびその中のすべてのデータ
ElementCatalog
表のエレメント
SystemSQL
表のSQL文
AssetType
表の行
Association
表の行(オプション)
Category
表の行(オプション)
AssetPublication
表の行
AssetRelationTree
表の行
AssetMakerで作成したアセット・タイプを削除する手順は次のとおりです。
管理者としてWebCenter Sitesにログインします。
作業場所とするサイトを選択します。
Adminインタフェースを選択します。
「管理」タブを選択します。
「AssetMaker」を開いて、削除するアセット・タイプを選択します。
「アセット・タイプ」フォームが表示されます。
「アセットの削除」オプションを選択して、「送信」をクリックします。
WebCenter Sitesに確認メッセージが表示されます。
「OK」をクリックします。