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

前
 
次
 

18 属性エディタの設計

属性エディタは、管理システム上のWebCenter Sitesインタフェースでフレックス・アセットまたはフレックス親アセットの「新規」フォームまたは「編集」フォームに属性が表示される場合に、その属性のデータの入力方法を指定します。

属性エディタを属性に割り当てると、その属性用として通常使用されるデフォルトの入力メカニズム(スタイル)のかわりに、その属性エディタが使用されます。デフォルトの入力スタイルは、その属性のデータ型に基づいています。

属性エディタによって属性の入力メカニズムの形式が設定されるため、フレックス属性を設計するのと同じように属性エディタを設計します。属性エディタはアセットであるため、ワークフローとリビジョンの追跡機能を使用して、他のタイプのアセットと同じように属性エディタを管理できます。

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

18.1 属性エディタの理解

属性エディタは、次の3つの必須要素と2つのオプション要素で構成されます。

WebCenter Sitesでは、属性エディタの開発をサポートするために次のアイテムがデフォルトで用意されています。

すでに述べたように、属性エディタは必須ではありません。属性エディタを使用しない場合は、WebCenter Sitesでは、属性のデータ型に基づいてその属性のデフォルトの入力スタイルが使用されます。デフォルト・スタイルのリストについては、第11.3.3.2項「属性のデフォルトの入力スタイル」を参照してください。デフォルトの入力スタイルが属性にとって十分な場合は、属性エディタを作成する必要はありません。

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

18.1.1 presentationobject.dtdファイル

presentationobject.dtdファイルでは、属性エディタを通じて実装できるすべての入力タイプ(プレゼンテーション・オブジェクト)が定義されています。デフォルトのpresentationobject.dtdファイルでは、9個の入力スタイル・タグと、これらのタグによって属性エディタから表示エレメントに渡すことができる引数が定義されています(第18.1.3項「属性エディタのエレメント」を参照)。

次に、presentationobject.dtdファイルの全体を示します。このファイルは、WebCenter Sitesのインストール・ディレクトリに配置されています。

<!-- PRESENTATIONOBJECT: An editor
-- PRESENTATIONOBJECT defines the presentation object for
-- instances of Gator attribute types. A presentation object
-- defines the properties of an editor for one of the following
-- controls: Text field, Text area, Pulldown menu
-- For additional information, refer to
-- com.openmarket.gator.interfaces.IPresentationObject.
-- You must specify one of TEXTFIELD, TEXTAREA, or PULLDOWN
-- elements.
-->
<!ELEMENT PRESENTATIONOBJECT (TEXTFIELD | TEXTAREA | PULLDOWN |
RADIOBUTTONS | CHECKBOXES | PICKASSET | FIELDCOPIER | DATEPICKER |
IMAGEPICKER | CKEDITOR | FCKEDITOR | IMAGEEDITOR | TYPEAHEAD |
UPLOADER)>
<!ATTLIST PRESENTATIONOBJECT NAME CDATA #REQUIRED>
<!-- TEXTFIELD: A text field of a specific width
-- You must specify the x dimension; the maximum number of
-- allowable characters defaults to 255.
-->
<!ELEMENT TEXTFIELD ANY>
<!ATTLIST TEXTFIELD XSIZE CDATA #IMPLIED>
<!ATTLIST TEXTFIELD WIDTH CDATA #IMPLIED>
<!ATTLIST TEXTFIELD MAXCHARS CDATA "255">
<!ATTLIST TEXTFIELD BLANKED (YES | NO) "NO">
<!ATTLIST TEXTFIELD MAXVALUES CDATA #IMPLIED>
<!-- TEXTAREA: A text area of a specific size
-- The wrap style defaults to soft.
-->
<!ELEMENT TEXTAREA ANY>
<!ATTLIST TEXTAREA XSIZE CDATA #IMPLIED>
<!ATTLIST TEXTAREA YSIZE CDATA #IMPLIED>
<!ATTLIST TEXTAREA WIDTH CDATA #IMPLIED>
<!ATTLIST TEXTAREA HEIGHT CDATA #IMPLIED><!ATTLIST TEXTAREA WRAPSTYLE (OFF | SOFT | HARD) "SOFT">
<!ATTLIST TEXTAREA DEPTYPE CDATA #IMPLIED>
<!ATTLIST TEXTAREA MAXVALUES CDATA #IMPLIED>
<!ATTLIST TEXTAREA RESIZE CDATA #IMPLIED>
<!-- PULLDOWN: A pulldown menu with an enumeration of items
-- You can specify zero or more list items; the fontsize defaults
-- to relative fontsize 3.
-->
<!ELEMENT PULLDOWN ((ITEM)* | QUERYASSETNAME)>
<!ATTLIST PULLDOWN FONTSIZE CDATA #IMPLIED>
<!-- RADIOBUTTONS: Radio buttons with an enumeration of items
-- You can specify zero or more list items; the fontsize defaults
to relative fontsize 3.
-->
<!ELEMENT RADIOBUTTONS ((ITEM)* | QUERYASSETNAME)>
<!ATTLIST RADIOBUTTONS FONTSIZE CDATA #IMPLIED>
<!ATTLIST RADIOBUTTONS LAYOUT (HORIZONTAL | VERTICAL) "VERTICAL">
<!-- CHECKBOXES: Check boxes with an enumeration of items
-- You can specify zero or more list items; the fontsize defaults
-- to relative fontsize 3.
-->
<!ELEMENT CHECKBOXES ((ITEM)* | QUERYASSETNAME)>
<!ATTLIST CHECKBOXES FONTSIZE CDATA #IMPLIED>
<!ATTLIST CHECKBOXES LAYOUT (HORIZONTAL | VERTICAL) "HORIZONTAL">
<!-- ITEM: A list item
-- You can specify zero or more characters of text.
-->
<!ELEMENT ITEM (#PCDATA)*>
<!-- SQL: Query to populate list of items
-- You can specify zero or more characters of text. Query must
-- return a 'value' column.
-->
<!ELEMENT QUERYASSETNAME (#PCDATA)*>
<!ELEMENT CKEDITOR ANY>
<!ATTLIST CKEDITOR ALLOWEDASSETTYPES CDATA #IMPLIED>
<!ATTLIST CKEDITOR SCRIPT CDATA #IMPLIED>
<!ATTLIST CKEDITOR IMAGEPICKERID CDATA #IMPLIED>
<!ATTLIST CKEDITOR IMAGEASSETTYPE CDATA #IMPLIED>
<!ATTLIST CKEDITOR TOOLBAR CDATA #IMPLIED>
<!ATTLIST CKEDITOR DEPTYPE CDATA #IMPLIED>
<!ATTLIST CKEDITOR WIDTH CDATA #IMPLIED>
<!ATTLIST CKEDITOR HEIGHT CDATA #IMPLIED>
<!ATTLIST CKEDITOR MAXVALUES CDATA #IMPLIED>
<!ATTLIST CKEDITOR RESIZE CDATA #IMPLIED>
<!ATTLIST CKEDITOR CONFIG CDATA #IMPLIED>
<!ATTLIST CKEDITOR CONFIGOBJ CDATA #IMPLIED>
<!-- Deprecated in Oracle Web Center Sites 11gR1 release. -->
<!ELEMENT FCKEDITOR ANY>
<!ATTLIST FCKEDITOR XSIZE CDATA #IMPLIED>
<!ATTLIST FCKEDITOR YSIZE CDATA #IMPLIED>
<!ATTLIST FCKEDITOR LAZYLOAD CDATA #IMPLIED>
<!ATTLIST FCKEDITOR ALLOWEDASSETTYPES CDATA #IMPLIED>
<!ATTLIST FCKEDITOR SCRIPT CDATA #IMPLIED>
<!ATTLIST FCKEDITOR IMAGEPICKERID CDATA #IMPLIED>
<!ATTLIST FCKEDITOR TOOLBAR CDATA #IMPLIED>
<!ATTLIST FCKEDITOR DEPTYPE CDATA #IMPLIED>
<!ATTLIST FCKEDITOR WIDTH CDATA #IMPLIED>
<!ATTLIST FCKEDITOR HEIGHT CDATA #IMPLIED>
<!ATTLIST FCKEDITOR MAXVALUES CDATA #IMPLIED>
<!-- PICKASSET: When the tree is active, it's the "add from tree"
-- button.
-- When the tree is disabled, it's The Content Centre remember
-- widget. -->
<!ELEMENT PICKASSET ANY>
<!ATTLIST PICKASSET MAXVALUES CDATA #IMPLIED>
<!ATTLIST PICKASSET DISPLAYELEMENT CDATA #IMPLIED>
<!-- TYPEAHEAD: Type And Select the asset. -->
<!ELEMENT TYPEAHEAD ANY>
<!ATTLIST TYPEAHEAD MAXVALUES CDATA #IMPLIED>
<!ATTLIST TYPEAHEAD DISPLAYELEMENT CDATA #IMPLIED>
<!ATTLIST TYPEAHEAD PAGESIZE CDATA #IMPLIED>
<!-- UPLOADER: Upload a file from local disc. -->
<!ELEMENT UPLOADER ANY>
<!ATTLIST UPLOADER MAXVALUES CDATA #IMPLIED>
<!ATTLIST UPLOADER MAXFILESIZE CDATA #IMPLIED>
<!ATTLIST UPLOADER FILETYPES CDATA #IMPLIED>
<!ATTLIST UPLOADER MINWIDTH CDATA #IMPLIED>
<!ATTLIST UPLOADER MAXWIDTH CDATA #IMPLIED>
<!ATTLIST UPLOADER MINHEIGHT CDATA #IMPLIED>
<!ATTLIST UPLOADER MAXHEIGHT CDATA #IMPLIED>
<!-- FIELDCOPIER: A hidden field whose value is set from another
-- field.
-- ex. If you want an attribute whose value is always the name of
-- the asset:
-- <FIELDCOPIER SOURCEFIELD="name"/>
-->
<!ELEMENT FIELDCOPIER ANY>
<!ATTLIST FIELDCOPIER SOURCEFIELD CDATA #REQUIRED>
<!-- This describe the Date Picker -->
<!ELEMENT DATEPICKER ANY>
<!ATTLIST DATEPICKER COMPARETOFIELD CDATA #REQUIRED>
<!ATTLIST DATEPICKER MAXVALUES CDATA #IMPLIED>
<!-- This describe the ImagePicker -->
<!ELEMENT IMAGEPICKER ANY>
<!ATTLIST IMAGEPICKER ASSETTYPENAME CDATA #REQUIRED>
<!ATTLIST IMAGEPICKER ATTRIBUTETYPENAME CDATA #REQUIRED>
<!ATTLIST IMAGEPICKER ATTRIBUTENAME CDATA #REQUIRED>
<!ATTLIST IMAGEPICKER CATEGORYATTRIBUTENAME CDATA #IMPLIED>
<!ATTLIST IMAGEPICKER RESTRICTEDCATEGORYLIST CDATA #IMPLIED>
<!ATTLIST IMAGEPICKER MAXVALUES CDATA #IMPLIED>
<!-- Image Editor -->
<!ELEMENT IMAGEEDITOR ANY>
<!ATTLIST IMAGEEDITOR EDITORTYPE (oie | clarkii) "oie">
<!ATTLIST IMAGEEDITOR HEIGHT CDATA #REQUIRED>
<!ATTLIST IMAGEEDITOR WIDTH CDATA #REQUIRED>
<!ATTLIST IMAGEEDITOR FITIMAGE (true | false) "true">
<!ATTLIST IMAGEEDITOR SNAPSHOTPANEL (true | false) "false">
<!ATTLIST IMAGEEDITOR LIMITCROPPING (true | false) "false">
<!ATTLIST IMAGEEDITOR CROPHEIGHT CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR CROPWIDTH CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR ENABLEOIEFORMAT (true | false) "false">
<!ATTLIST IMAGEEDITOR LIMITSIZE (true | false) "false">
<!ATTLIST IMAGEEDITOR MAXHEIGHT CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR MAXWIDTH CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR MINHEIGHT CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR MINWIDTH CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR AUTORESAMPLE (true | false) "false">
<!ATTLIST IMAGEEDITOR AUTORESAMPLEPROPORTIONAL (true | false)
"false">
<!ATTLIST IMAGEEDITOR DEFAULTTEXTFONT CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR DEFAULTTEXTSIZE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR DEFAULTTEXTCOLOR CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR ASSETTYPE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR ATTRIBUTE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR ATTRIBUTETYPE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR CATEGORYATTRIBUTE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR RESTRICTEDCATEGORYLIST CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR ENABLEIMAGEPICKER (true | false) "false">
<!ATTLIST IMAGEEDITOR OIEASSETTYPE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR OIEATTRIBUTE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR OIEATTRIBUTETYPE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR OIECATEGORYATTRIBUTE CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR OIERESTRICTEDCATEGORYLIST CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR OIEENABLEIMAGEPICKER (true | false) "false">
<!ATTLIST IMAGEEDITOR TAGEDIT (true | false) "false">
<!ATTLIST IMAGEEDITOR BASE64JPEGQUALITY CDATA "95">
<!ATTLIST IMAGEEDITOR ASKTOSAVELOCALLY (true | false) "false">
<!ATTLIST IMAGEEDITOR DEFAULTSAVINGTYPE (gif | jpg | jpe | png | 
tif | bmp | oie) "gif">
<!ATTLIST IMAGEEDITOR ENABLEGIFSAVING (true | false) "true">
<!ATTLIST IMAGEEDITOR ENABLEJPEGSAVING (true | false) "true">
<!ATTLIST IMAGEEDITOR ENABLEPNGSAVING (true | false) "true">
<!ATTLIST IMAGEEDITOR ENABLETIFFSAVING (true | false) "true">
<!ATTLIST IMAGEEDITOR ENABLEBMPSAVING (true | false) "true">
<!ATTLIST IMAGEEDITOR GRIDVISIBLE (true | false) "false">
<!ATTLIST IMAGEEDITOR GRIDSNAP (true | false) "true">
<!ATTLIST IMAGEEDITOR GRIDSPACINGX CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR GRIDSPACINGY CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR MAXTHUMBNAILHEIGHT CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR MAXTHUMBNAILWIDTH CDATA #IMPLIED>
<!ATTLIST IMAGEEDITOR THUMBNAILFORMAT (gif | jpg | jpe | png | tif 
| bmp | oie) "gif">
<!ATTLIST IMAGEEDITOR MAXVALUES CDATA #IMPLIED>

18.1.1.1 presentationobject.dtdファイルの規則

デフォルトで使用可能になっているもの以外に、カスタム属性エディタを作成する場合は、まずXML入力スタイル・タグであるPRESENTATIONOBJECTタグをpresentationobject.dtdファイル内で定義する必要があります。新しいPRESENTATIONOBJECTタグを定義するには、次の操作を実行する必要があります。

  • 新しいタグ(プレゼンテーション・オブジェクト)を<!ELEMENT PRESENTATIONOBJECT...>文内のリストに追加します。

  • 新しいタグ(プレゼンテーション・オブジェクト)とこのタグが受け取る引数を定義する<!ELEMENT...>セクションを追加します。.dtdファイルの通常の構文ルールに従うとともに、presentationobject.dtdファイルで使用されている規則に従います。

18.1.2 属性エディタ・アセット

属性エディタ・アセットは、XMLコードを格納しているか、.xmlファイルを参照しています。

そのXMLコードは1つのことを実行します。つまり、入力タイプがオプション(チェック・ボックス、ラジオ・オプション、ドロップダウン・リストなど)を提供するものである場合は、これらのオプションの値を提供します。

WebCenter Sitesでは、新しい属性エディタ・アセットを作成するために使用できるサンプル・コードが含まれた9個のテキスト・ファイルが用意されていますが、属性エディタ・アセット自体は用意されていません。開発者は、どのオプションも使用するデータに適したものになるように、これらのサンプル・コードをカスタマイズする必要があるからです。

属性エディタを作成する場合は、本書のHTML版からコードをカット・アンド・ペーストすることも(この項の後にいくつかのサンプルを掲載しています)、システム上のインストール・ディレクトリのSamplesサブディレクトリに配置されたテキスト・ファイルを使用することもできます。

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

18.1.2.1 構文とデフォルト・タグ

属性エディタ・アセット内のコードは、次の基本形式に従っています。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd"> 

<PRESENTATIONOBJECT NAME="SomeName">
...
...
...

</PRESENTATIONOBJECT>

入力スタイル(プレゼンテーション・オブジェクト)の形式を記述しているタグはPRESENTATIONOBJECTタグのペアの間に埋め込まれており、前者のタグ内には追加のネストされたタグを配置できます。NAME属性はPRESENTATIONOBJECTタグに必須ですが、この属性はまだ使用されておらず、将来使用するために予約されています。

属性エディタ・アセットのコード内に含めるすべてのPRESENTATIONOBJECTタグの名前は、presentationobject.dtdファイルで定義されている必要があります。この.dtdファイルでは、次のPRESENTATIONOBJECTタグがデフォルトで定義されています(アルファベット順に示します)。

  • CHECKBOXES

  • CKEDITOR

  • DATEPICKER

  • FIELDCOPIER

  • IMAGEEDITOR

  • IMAGEPICKER

  • PICKASSET

  • PICKFROMTREE (非推奨のためPICKASSETをかわりに使用)

  • PULLDOWN

  • RADIOBUTTONS

  • TEXTAREA

  • TEXTFIELD

  • TYPEAHEAD

  • UPLOADER

属性エディタのコード内で使用するPRESENTATIONOBJECTタグは、その属性エディタ用に使用する表示エレメントの名前と完全に一致している必要があります。したがって、カスタム属性エディタの新しいタグを定義する場合は、作成するエレメントにはそのタグと同じ名前を付ける必要があります。

エレメントの詳細は、第18.1.3項「属性エディタのエレメント」を参照してください。属性エディタのコード・サンプルについては、次の各項を参照してください。

18.1.2.2 CHECKBOXESの例

presentationobject.dtdではCHECKBOXESタグが定義されています。このタグを使用する属性エディタはCHECKBOXESエレメントを呼び出し、このエレメントはその属性の一連のチェック・ボックスを作成します。

CHECKBOXESタグは、次のパラメータを受け取ります。

  • ITEMまたはQUERYASSETNAME: チェック・ボックスの横に表示される名前のソース。名前を指定するには、ITEMパラメータを使用します。データベース表から動的に名前を取得する問合せアセットを指定するには、QUERYASSETパラメータを使用します。

    次のことに注意してください。

    • SQL文は使用できません。問合せを使用するには、問合せアセットを使用する必要があります。

    • 問合せアセットのSQLでは、value列を返す必要があります。例: select name as value from shippingtype

    • 属性エディタを使用する属性のデータ型がassetの場合、問合せではアセットのIDも返す必要があります。例: select name as value, id as assetid from Product where...

  • LAYOUT: チェック・ボックスを垂直リストの形式で配置するのか水平方向に一列に並べるのかを指定します。有効なオプションは、HORIZONTALまたはVERTICALです。デフォルトはHORIZONTALです。

次の属性エディタ・コードでは、CHECKBOXESエレメントがA Prodsという名前の問合せアセットの結果をチェック・ボックスの垂直リストの名前として使用することを指定しています。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd"> 
<PRESENTATIONOBJECT NAME="CheckBox">
 <CHECKBOXES LAYOUT="VERTICAL">
  <QUERYASSETNAME>A Prods</QUERYASSETNAME>
 </CHECKBOXES>
</PRESENTATIONOBJECT>

ITEMパラメータの使用例を示すサンプル・コードについては、第18.1.2.5項「PULLDOWNの例」を参照してください。

データ型に関する注意

CHECKBOXES属性エディタは、次のデータ型の属性に適しています。

  • date

  • float

  • integer

  • money

  • string

  • asset (assetの場合、アセット名を返す問合せアセットの名前を指定する必要があります)

18.1.2.3 CKEditorの例

presentationobject.dtdではCKEDITORタグが定義されています。このタグを使用する属性エディタはCKEDITORエレメントを呼び出し、このエレメントはCKEditorを起動します。フレックス・アセットの作成者は、属性の値をそのウィンドウで入力します。

  • CKEditorアプリケーションをインストールして正しく構成している必要があります。

  • CKEditorは、属性のデータ型がblobに設定されている場合にのみ使用することを強くお薦めします。blobをデータ型として使用している場合は、フィールドのサイズ設定について心配する必要はありません。

CKEDITORタグは、次のパラメータを受け取ります。

次のコードには、幅が400ピクセルで高さが200ピクセルのテキスト・ボックスを作成するCKEDITORタグが含まれています。

  • EMBEDDEDLINKS: YESに設定されている場合、ユーザーは他のアセットへのリンクを作成できます。デフォルト値: NO

  • ALLOWEDASSETTYPES: CKEditorを通じて組込み可能またはリンク可能なアセット・タイプを指定できます。デフォルト値: ALL

  • IMAGEASSETTYPE: イメージ・ピッカーが使用するイメージのアセット・タイプを指定します。

  • DEPTYPE: メイン・アセットと埋込みアセットの間の承認依存性。有効なオプションは、EXISTSとEXACTです。デフォルト値: EXACT

  • MAXVALUES: このパラメータは、1つの複数値属性に追加できる値の数を制限します。たとえば、MAXVALUESが10に設定された場合、追加できる値は10個のみです(「追加」ボタンを使用)。デフォルト値はありません。

  • SCRIPT: エディタ内でスクリプトを実行可能にします。true/false値をとります。デフォルト値: false

  • MAXLENGTH: (CKEditorの「ソース」ボタンをクリックすると表示される)CKEditorのソース・ビュー内の文字数。デフォルト値: -1 (無制限)

  • INSTRUCTION: フィールドのヘルプを提供するために使用されます。

CKEDITORタグは、CKEditorインスタンスの外観をカスタマイズするためのパラメータも受け取ります。1組のパラメータ・セットがWebCenter Sitesに定義されています。他のセットは、CKEditor Webサイトにあります。

WebCenter Sitesに定義されているパラメータは、WebCenter Sitesによって認識されるようにするためには、CKEditorインスタンスのXMLフィールドに直接追加する必要があります。

  • TOOLBAR: ツールバーの名前。CONFIGパラメータで指定された構成ファイルから読み取られます(たとえば、CONFIG="myconfig.js")。

  • WIDTH: テキスト・ボックスの幅(ピクセル単位)。WIDTHの値を指定しない場合、WebCenter Sitesによってデフォルトの幅が設定されます。サンプル値: 700px

  • HEIGHT: テキスト・ボックスの高さ(ピクセル単位)。HEIGHTの値を指定しない場合、WebCenter Sitesによってデフォルトの高さが設定されます。サンプル値: 300px


    注意:

    WIDTHおよびHEIGHTパラメータは、非推奨のXSIZEおよびYSIZEパラメータに替わるものです。XSIZEおよびYSIZEを設定しても無効です。


  • RESIZE: trueに設定されている場合、ユーザーはテキスト・エリアをサイズ変更できます。デフォルト値: false

CKEditor Webサイトに表示されるパラメータは、CONFIGパラメータ内で指定されている構成ファイル、またはCONFIGOBJパラメータで指定されている必要があります。TOOLBARパラメータを除いて、それらがCKEditorのXMLフィールドに追加された場合、WebCenter Sitesでは認識されません。CONFIGパラメータおよびCONFIGOBJパラメータの説明は次のとおりです。

  • CONFIG: デフォルトまたはカスタムのCKEditor構成ファイルへの相対パスを指定します。たとえば、CONFIG="myconfig.js"と設定すると、CKEditorベース・パス(CKEditorソース・フォルダ)からカスタムのmyconfig.jsファイルがロードされます。ベース・パスは、futuretense_xcel.iniファイルのxcelerate.ckeditor.basepathプロパティで定義されています。

    構成ファイル内にCKEDITOR.editorConfig関数があります。ここで、http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.html#.editorConfigに表示されるCKEditorパラメータを指定します。パラメータのリストには、TOOLBARパラメータが含まれます。

  • CONFIGOBJ: JSON文字列を取ります。これには、http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.htmlに表示されるどのパラメータも含めることができます。(このリストには、TOOLBARパラメータが含まれます。)

    JSON文字列のフォーマットでは、二重引用符が使用されます。

    '{foo1:"value1",foo2:"value2"}' ...
    

    例:

    CONFIGOBJ='{width:"300px",height:"300px",toolbar:"SITES",fullPage:true}'
    

注意:

CKEditorパラメータは、次のような階層的順序で認識され、使用されます。

CKEditorのXMLフィールド内のパラメータは、CONFIGOBJ内のパラメータをオーバーライドします。CONFIGOBJ内のパラメータは、CONFIGパラメータで指定されている構成ファイル内のパラメータをオーバーライドします。

たとえば、CKEditorのXMLフィールド内のTOOLBARパラメータは、CONFIGOBJ='{toolbar: "SITES",fullPage:true}'内のtoolbarパラメータをオーバーライドします。このtoolbarパラメータは、(CONFIG='myconfig.js'として指定されている)構成ファイルmyconfig.js内のtoolbarパラメータをオーバーライドします。CONFIGOBJ内のfullPageパラメータは、myconfig.js内の同じパラメータをオーバーライドします。

競合が発生する可能性を回避するには、各パラメータを、それが認識される場所(エディタのXMLフィールド、CONFIGOBJパラメータ、またはCONFIGパラメータで指定されている構成ファイルのいずれか)で1回のみ指定します。


次のコードには、幅が400ピクセルで高さが200ピクセルのCKEditorボックスを作成するCKEDITORタグが含まれています。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd">

<PRESENTATIONOBJECT NAME="CKEditorTest">
  <CKEDITOR WIDTH="400px" HEIGHT="200px">
  </CKEDITOR>
</PRESENTATIONOBJECT>

データ型に関する注意

CKEDITOR属性エディタを使用する属性のデータ型として最適なのはblobです。stringtextも使用できますが、その場合は問題があります。個々のHTMLマーカーはサイズ制限の対象としてカウントされるため、属性のフィールドに入力されるデータのサイズを予測するのが難しいからです。stringデータ型は256文字に制限されており、textのデータ型は2000文字に制限されています。そのため、CKEDITORを入力メカニズムとして使用する属性のデータ型にはblobを使用することをお薦めします。

18.1.2.4 PICKASSETの例

presentationobject.dtdではPICKASSETタグが定義されています。このタグを使用する属性エディタはPICKASSETエレメントを呼び出します。このエレメントは、ユーザーがツリーまたは検索結果リストからアセットをドラッグ・アンド・ドロップできる「ドロップ・ゾーン」フィールドを作成します。アセットが「ドロップ・ゾーン」にドロップされると、破線の境界線で囲まれたボックス内にアセットの名前が表示されます。アセットの名前をポイントすると、ツールチップが開いて、アセットに関する情報が表示されます。ツールチップのルック・アンド・フィールをカスタマイズするなど、PICKASSET属性エディタの動作を変更するには。

このタグは、MAXVALUESパラメータをとることができます。MAXVALUESパラメータは、1つの複数値属性に追加できる値の数を制限します。たとえば、MAXVALUESが10に設定された場合、「追加」ボタンを使用して追加できる値は10個のみです。デフォルト値はありません。PICKASSET属性エディタをカスタマイズする場合は、第III部「Contributorインタフェースのカスタマイズ」を参照してください。

次に、PICKASSET属性エディタを作成するためのコードを示します。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd">
<PRESENTATIONOBJECT NAME="PickAsset">

  <PICKASSET>
  </PICKASSET>
</PRESENTATIONOBJECT>

データ型に関する注意

PICKASSET属性エディタは、assetのデータ型の属性にのみ適しています。

18.1.2.5 PULLDOWNの例

presentationobject.dtdではPULLDOWNタグが定義されています。このタグを使用する属性エディタはPULLDOWNエレメントを呼び出し、このエレメントは値のドロップダウン・リストが付随するフィールドを形式設定します。

このタグは、次のパラメータを受け取ります。

  • ITEMまたはQUERYASSETNAME: ドロップダウン・リスト内の名前のソース。名前を指定するには、ITEMパラメータを使用します。データベース表から動的に名前を取得する問合せアセットを指定するには、QUERYASSETパラメータを使用します。

    次のことに注意してください。

    • SQL文は使用できません。問合せを使用するには、問合せアセットを使用する必要があります。

    • 問合せアセットのSQLでは、value列を返す必要があります。例: select name as value from shippingtype

    • 属性エディタを使用する属性のデータ型がassetの場合、問合せではアセットのIDも返す必要があります。例: select name as value, id as assetid from Product where...

次の属性エディタ・コードでは、リストにRed、GreenおよびBlueというアイテムが含まれることを指定しています。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd"> 

<PRESENTATIONOBJECT NAME="PulldownTest">
<PULLDOWN>
  <ITEM>Red</ITEM>
  <ITEM>Green</ITEM>
  <ITEM>Blue</ITEM>
</PULLDOWN>

ITEMのかわりにQUERYASSETNAMEパラメータを使用する方法を示すサンプル・コードについては、第18.1.2.2項「CHECKBOXESの例」を参照してください。

データ型に関する注意

PULLDOWN属性エディタは、次のデータ型の属性に適しています。

  • date

  • float

  • integer

  • money

  • string

  • asset

ドロップダウン・リストは、asset型の属性のデフォルトの入力スタイルです。このリストには、その型のすべてのアセットが表示されます。問合せアセットを使用してドロップダウン・リスト内のアイテムをさらに制限し、リストにその型のすべてのアセットが表示されないようにするには、PULLDOWN属性エディタを使用します。

18.1.2.6 RADIOBUTTONSの例

presentationobject.dtdではRADIOBUTTONSタグが定義されています。このタグを使用する属性エディタはRADIOBUTTONSエレメントを呼び出し、このエレメントはその属性の一連のラジオ・オプションを作成します。

RADIOBUTTONSタグは、次のパラメータを受け取ります。

  • ITEMまたはQUERYASSETNAME: ラジオ・ボタンの横に表示される名前のソース。名前を指定するには、ITEMパラメータを使用します。データベース表から動的に名前を取得する問合せアセットを指定するには、QUERYASSETパラメータを使用します。

    次のことに注意してください。

    • SQL文は使用できません。問合せを使用するには、問合せアセットを使用する必要があります。

    • 問合せアセットのSQLでは、value列を返す必要があります。例: select name as value from shippingtype

    • 属性エディタを使用する属性のデータ型がassetの場合、問合せではアセットのIDも返す必要があります。例: select name as value, id as assetid from Product where...

  • LAYOUT: ボタンを垂直リストの形式で配置するのか水平方向に一列に並べるのかを指定します。有効なオプションは、HORIZONTALまたはVERTICALです。デフォルトはHORIZONTALです。

次の属性エディタ・コードでは、RADIOBUTTONSエレメントがA Prodsという名前の問合せアセットの結果をボタンの垂直リストの名前として使用することを指定しています。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd"> 

<PRESENTATIONOBJECT NAME="RadioButtonTest">
  <RADIOBUTTONS LAYOUT="VERTICAL">
    <QUERYASSETNAME>A Prods</QUERYASSETNAME>
  </RADIOBUTTONS>
</PRESENTATIONOBJECT>

ITEMパラメータの使用例を示すサンプル・コードについては、第18.1.2.5項「PULLDOWNの例」を参照してください。

データ型に関する注意

RADIONBUTTON属性エディタは、次のデータ型の属性に適しています。

  • date

  • float

  • integer

  • money

  • string

  • asset (assetの場合、アセット名を返す問合せアセットの名前を指定する必要があります)


注意:

date型のRadioButton属性エディタは、presentation.dtdのサーバーのタイムゾーン(またはJVMで設定されているタイムゾーン)に入力された日付値を解釈します。この値は、アセット・フォームのレンダリング時に、ユーザーのタイムゾーンに変換されます。

タイムゾーンに関係なく同じ日付値が表示されるようにしたい場合は、string型の属性エディタの使用を検討してください。


18.1.2.7 TEXTAREAの例

presentationobject.dtdではTEXTAREAタグが定義されています。このタグを使用する属性エディタはTEXTAREAエレメントを呼び出し、このエレメントは、その属性のテキスト・ボックス・フィールドと、一対のラジオ・ボタンを作成します。ユーザーはこれらのラジオ・ボタンを使用して、その属性によって埋込みリンク・ボタンを表示するのかどうかを指定できます。

TEXTAREAタグは、次のパラメータを受け取ります。

  • WIDTH: テキスト・ボックスの幅(ピクセル単位)。WIDTHの値を指定しない場合、WebCenter Sitesによってデフォルトの幅が設定されます。サンプル値: 700px

  • HEIGHT: テキスト・ボックスの高さ(ピクセル単位)。HEIGHTの値を指定しない場合、WebCenter Sitesによってデフォルトの高さが設定されます。サンプル値: 300px


    注意:

    WIDTHおよびHEIGHTパラメータは、非推奨のXSIZEおよびYSIZEパラメータに替わるものです。XSIZEおよびYSIZEを設定しても無効です。


  • RESIZE: trueに設定されている場合、ユーザーはテキスト・エリアをサイズ変更できます。デフォルト値はfalseです。

  • WRAPSTYLE: ボックス内のテキストを折り返すかどうかを指定します。折り返す場合は、自動的に折り返すのか(ソフト)、ユーザーが[Enter]キーを押したときにのみ折り返すのか(ハード・リターン)を指定します。有効なオプションは、SOFTHARDおよびOFFです。デフォルトはOFFです。

  • DEPTYPE: メイン・アセットと埋込みアセットの間の承認依存性。有効なオプションは、EXISTSEXACTです。デフォルトはEXACTです。

    • EXISTS: メイン・アセットが編集、承認および再パブリッシュされたときに、いずれかのバージョンの埋込みアセットがパブリッシュ先にすでに存在している場合は、埋込みアセットが承認および再パブリッシュされる必要はありません。

    • EXACT: メイン・アセットが編集、承認および再パブリッシュされたときに、埋込みアセットが編集されていた場合は、埋込みアセットも承認および再パブリッシュされる必要があります。

次の属性エディタ・コードでは、XSIZEを40ピクセルに、YSIZEを5ピクセルに設定し、WRAPSTYLEOFFに設定してテキストの折返しを無効にし、埋込みアセットの承認依存性をEXISTSに設定しています。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd"> 

<PRESENTATIONOBJECT NAME="TextAreaTest">
  <TEXTAREA XSIZE="40" YSIZE="5" WRAPSTYLE="OFF" DEPTYPE="EXISTS">
  </TEXTAREA>
</PRESENTATIONOBJECT>

データ型に関する注意

TEXTAREA属性エディタは、textおよびblobのデータ型の属性に適しています。2,000文字以下を格納する必要がある場合は、textのデータ型を使用します。2,001文字以上を格納する必要がある場合は、blobのデータ型を使用します。

18.1.2.8 TEXTFIELDの例

presentationobject.dtdではTEXTFIELDタグが定義されています。このタグを使用する属性エディタは「新規」フォームと「編集」フォームからTEXTFIELDエレメントを呼び出し、このエレメントはその属性のテキスト・フィールドを作成します。ただし、その属性が「調査」フォームに表示される場合は、その属性エディタはDisplayTEXTFIELDエレメントを使用します。

TEXTFIELDタグは、次のパラメータを受け取ります。

  • XSIZE: フィールドの長さ(文字数)。

  • MAXCHARS: フィールドに入力できる文字数(最大256文字)。

  • BLANKED: 属性の値が「調査」フォームに表示される場合に、その値を一連のアスタリスクに置き換えるかどうかを指定します。たとえば、password属性を作成した場合は、パスワードの値が「調査」フォームに表示されないことが望ましいです。有効なオプションは、YESおよびNOです。デフォルトはNOです。

    BLANKEDパラメータを使用すると自動的に、そのフィールドは「新規」フォームと「編集」フォーム上では「調査」フォーム上とは異なる動作を示すことが必要になるため、TEXTFIELDタグはデフォルトで2つの使用可能なエレメントの両方とともに提供されています。

次の属性エディタ・コードでは、XSIZEを60に設定して、最大文字数を80に設定しています。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd"> 

<PRESENTATIONOBJECT NAME="TextFieldTest">
  <TEXTFIELD XSIZE="60" MAXCHARS="80">
  </TEXTFIELD>
</PRESENTATIONOBJECT>

データ型に関する注意

TEXTFIELD属性エディタは、次のデータ型の属性に適しています。

  • float

  • integer

  • money

  • string

  • url

18.1.2.9 TYPEAHEADの例

presentationobject.dtdではTYPEAHEADタグが定義されています。このタグを使用する属性エディタはTYPEAHEADエレメントを呼び出し、このエレメントはドロップダウン・メニュー属性を持つ先行入力の入力ボックスを作成します。属性がアセットの「新規」および「編集」ビューに表示され、ドロップダウン・フィールドの下矢印がクリックされると、ドロップダウン・メニューに、ユーザーが選択できるアセットの名前が表示されます。

TYPEAHEADタグは、次のパラメータを受け取ります。

  • PAGESIZE: 先行入力検索でドロップダウン・メニューに一度に表示される結果の数を制限します。たとえば、PAGESIZEが5に設定された場合、ドロップダウン・メニューに一度に表示されるアセットの数は5つのみです。デフォルト値は10です。

  • MAXVALUES: 1つの複数値属性に追加できる値の数を制限します。たとえば、MAXVALUESが10に設定された場合、「追加」ボタンを使用して追加できる値は10個のみです。デフォルト値はありません。

PAGESIZEパラメータを使用して、ドロップダウンに一度に表示される結果の数を制限できます。これにより、ドロップダウン・メニューに表示される結果がページ分けされます。たとえば、PAGESIZEパラメータを、ドロップダウン・メニューに一度に10件のアセットが表示されるように設定した場合、ユーザーは、「次の選択肢」をクリックして次の10件のアセットを表示できます。同様に、表示された直前の10件のアセットに戻るには、「前の選択肢」リンクをクリックします。

結果のリストは、入力ボックスに、目的のアセットの最初の数文字を入力することでフィルタ処理することもできます。たとえば、入力ボックスに「Ski」と入力すると、ドロップダウン・メニューに表示される結果はすべて「Ski」で始まります(アルファベット順)。これは、Ski*という問合せの実行に類似しており、「Ski」という文字または言葉で始まるすべてのアセットが検出されます。先行入力の入力ボックスに入力すると、(次に示すように)ドロップダウン・メニューの最初の結果が自動的に入力されます。

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

自動入力されたアセットを選択する場合は、キーボードの[Enter]を押します。ユーザーは、(キーボードの上矢印と下矢印を使用してドロップダウン・メニュー内を移動して)目的のアセットを選択し、[Enter]キーを押すか、マウスを使用して目的のアセットをクリックすることで、ドロップダウン・メニューから一度に1つの任意の結果を選択することもできます。アセットを選択すると、ドロップダウン・メニューの下にそのアセットが表示されます。ユーザーが選択したアセットをポイントすると、(次に示すように)ツールチップが表示されます。

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

たとえばツールチップのルック・アンド・フィールをカスタマイズするなど、TYPEAHEAD属性エディタの動作を変更するには、第III部「Contributorインタフェースのカスタマイズ」を参照してください。

データ型に関する注意

TYPEAHEAD属性エディタは、assetのデータ型の属性にのみ適しています。

18.1.2.10 UPLOADERの例

presentationobject.dtdではUPLOADERタグが定義されています。このタグを使用する属性エディタはUPLOADERエレメントを呼び出し、このエレメントはアップロード属性を作成します。アップロード・フィールドは、任意のタイプのファイルをアップロードできます。ただし、アップロードできるファイルのタイプを制限するには、FILETYPESパラメータを使用します。

ユーザーがファイルのアップロードをクリックすると、(次に示すように)アップロードの進行状況がアセットのツールバーに表示されます。

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

アップロードされた各ファイルのサムネイル・イメージがアップローダ・フィールドに表示されます。ユーザーがアップロードされたイメージ・ファイルのサムネイルをクリックすると、イメージは実際のサイズでオーバーレイに表示されます。アップロードされたファイルがイメージでない場合、アップローダ・フィールドにそのファイル・タイプに固有のサムネイル・イメージが表示されます。WebCenter Sitesに特定のファイル・タイプのサムネイル・イメージがない場合、かわりに任意のイメージが表示されます。

ユーザーがイメージ・ファイルのサムネイル・イメージをポイントすると、そのファイルの名前、タイプおよび大きさがツールチップに表示されます。ユーザーがイメージではないファイルのサムネイルをポイントすると、そのファイルの名前とタイプがツールチップに表示されます。

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

UPLOADERタグは、次のパラメータを受け取ります。

  • MAXFILESIZE: アップロード可能なファイルの最大サイズを指定します。このパラメータの有効な単位は、BKBMBおよびGBです。デフォルト値: 1024MB。デフォルト単位: KB

  • FILETYPES: アップロード可能なファイルのタイプを指定します。たとえば、*.jpg*と指定します。このパラメータの値を指定しない場合、デフォルト値は任意のタイプ(*.*)になります。

  • MINWIDTH: アップロード可能なファイルの最小の幅(ピクセル単位)を指定します。たとえば、MINWIDTHを700pxに設定した場合、ユーザーは、700px以上の幅を持つファイルのみをアップロードできます。このパラメータの値を指定しない場合、デフォルト値は任意の幅になります。有効な単位: px

  • MAXWIDTH: アップロード可能なファイルの最大の幅(ピクセル単位)を指定します。たとえば、MAXWIDTHを700pxに設定した場合、ユーザーは、700px以下の幅を持つファイルのみをアップロードできます。このパラメータの値を指定しない場合、デフォルト値は任意の幅になります。有効な単位: px

  • MINHEIGHT: アップロード可能なファイルの最小の高さ(ピクセル単位)を指定します。たとえば、MINHEIGHTを700pxに設定した場合、ユーザーは、700px以上の高さを持つファイルのみをアップロードできます。このパラメータの値を指定しない場合、デフォルト値は任意の高さになります。有効な単位: px

  • MAXHEIGHT: アップロード可能なファイルの最大の高さ(ピクセル単位)を指定します。たとえば、MAXHEIGHTを700pxに設定した場合、ユーザーは、700px以下の高さを持つファイルのみをアップロードできます。このパラメータの値を指定しない場合、デフォルト値は任意の高さになります。有効な単位: px

  • MAXVALUES: 1つの複数値属性に追加できる値の数を制限します。たとえば、MAXVALUESが10に設定された場合、「追加」ボタンを使用して追加できる値は10個のみです。デフォルト値はありません。

データ型に関する注意

UPLAODER属性エディタは、blobのデータ型の属性にのみ適しています。

18.1.3 属性エディタのエレメント

対応する属性エディタから渡される入力値を受け取るエレメントは、フォームに表示されるときの対象属性の形式と動作のベースとなるロジックを提供します。たとえば、このロジックは、追加の値をフィールドに入力可能にするために、複数値属性のループ・シーケンスを実行する場合があります。

次に、ElementCatalog表のOpenMarket/Gator/AttributeTypesに配置されているデフォルトのフレックス属性表示エレメントを示します。これらのエレメントの名前は、presentationobject.dtdファイルで定義されているカスタムXMLタグの名前と完全に一致しています。

表18-1 属性エディタのエレメント

エレメント 説明

CHECKBOXES

属性の入力スタイルを一連のチェック・ボックス・オプションとして形式設定します。属性エディタは、これらのオプションの名前を指定するか、これらの名前を取得するために使用する問合せアセットの名前を指定する必要があります。

CKEDITOR

CKEditorテキスト・エディタを呼び出します。属性エディタは、テキスト・ボックスの高さと幅のピクセル数を指定する必要があります。

PULLDOWN

属性の入力スタイルをドロップダウン・リスト付きの選択フィールドとして形式設定します。属性エディタは、リストに表示されるアイテムを指定するか、それらの値を取得するために使用する問合せアセットの名前を指定する必要があります。

RADIOBUTTONS

属性の入力スタイルを一連のラジオ・オプションとして形式設定します。属性エディタは、これらのオプションの名前を指定するか、これらの名前を取得するために使用する問合せアセットの名前を指定する必要があります。

TEXTAREA

属性の入力スタイルをテキスト・ボックスとして形式設定して、このテキスト・ボックスで埋込みリンクが許可されるかどうかをユーザーが指定するためのラジオ・ボタンを表示します。属性エディタは、このボックスのX軸方向とY軸方向のサイズを指定する必要があります。

TEXTFIELD

属性の入力スタイルをテキスト・フィールドとして形式設定します。属性エディタは、このフィールドの長さと入力可能な文字数を指定する必要があります。

DisplayTEXTFIELD

「調査」フォームに表示されるときのテキスト・フィールド属性値の表示形式を設定します。属性エディタがBLANKEDパラメータをYESに設定した場合は、このエレメントはフィールドの値を一連のアスタリスクとして表示します。通常は、パスワード・フィールド用に使用されます。

PICKASSET

属性の入力スタイルを、ユーザーがツリーまたは検索結果リストからアセットをドラッグ・アンド・ドロップできる「ドロップ・ゾーン」フィールドとして形式設定します。

PICKFROMTREE

非推奨です。PICKASSETを使用してください。

TYPEAHEAD

属性の入力スタイルをドロップダウン・メニュー付きの先行入力の入力ボックスとして形式設定します。アセットがアセットの「新規」または「編集」ビューに表示され、ドロップダウン・フィールドの下矢印がクリックされると、ドロップダウン・メニューに、ユーザーが選択できるアセットの名前が表示されます。ドロップダウン・メニューに一度に表示される結果の数を制限するには、PAGESIZEパラメータを使用します。

UPLOADER

アップロード属性を作成します。アップロード・フィールドは、任意のタイプのファイルをアップロードできます。アップロードできるファイルのタイプを制限するには、FILETYPESパラメータを使用します。


18.1.4 属性エディタのエレメントの規則

WebCenter Sitesで属性エディタのエレメントを使用するためには、そのエレメントは次の規則に従っている必要があります。

  • そのエレメントの名前は、属性エディタ・コードからそのエレメントをコールする入力スタイル・タグと同じ名前である必要があります。たとえば、デフォルトのCHECKBOXESタグはデフォルトのCHECKBOXES.xmlエレメントを持っています。

  • そのエレメントは、OpenMarket/Gator/AttributeTypes/nameというネーミング規則に従ってElementCatalog内に配置されている必要があります。

カスタム属性エディタで使用する独自の表示エレメントを作成するための最適な方法は、作成する属性エディタ・エレメントに最も類似しているエレメントを見つけてから、そのエレメントのできるかぎり多くの内容をコピーすることです。

参考のために、デフォルトの属性エディタ・エレメント内のコードを調べて、これらのエレメント内の変数と構文に関する次の説明を参照してください。

変数

WebCenter Sitesは、属性エディタを使用するフォームをロードするときに、そのコンピュータ名を持つエレメントをコールします。次の変数内の情報を表示エレメントに渡します。

  • PresInst: 現在のプレゼンテーション・オブジェクトのインスタンス。

  • AttrName: 現在の属性の名前。

  • AttrType: 現在の属性のデータ型。

  • EditingStyle: 属性が複数の値を持つことができるかどうかを指定します(属性の「値の数」フィールドの値に基づく)。この変数は、singleまたはmultipleに設定します。

  • RequiredAttr: 属性が現在のアセットに対して必須であるかどうかを指定します。この変数は、trueまたはfalseに設定します。

  • MultiValueEntry: 複数の値を持つことができる属性の値を処理する方法をWebCenter Sitesに指示します。

    この値をyesに設定した場合、表示エレメントによって作成されたウィジェットはユーザーがそのウィジェット内で複数の値を選択することを可能にするという想定の下で(複数選択ドロップダウン・リストなど)、表示エレメントが1度コールされます。

    この値をnoに設定した場合、WebCenter Sitesは、その属性の考えられる値ごとに表示エレメントを1度コールして、格納できる値ごとに1つのウィジェットを表示します。

    この値は常にyesに初期設定されています。

  • doDefaultDisplay: この型の属性のデフォルトの入力スタイルを使用するかどうかを指定します。リストについては、第11.3.3.2項「属性のデフォルトの入力スタイル」を参照してください。WebCenter Sitesが表示エレメントをコールするとき、この変数はyesに初期設定されています。エレメントによって作成された入力ウィジェットを使用するには、このエレメントでこの変数をnoにリセットする必要があります。

  • AttrValueList: この属性のすべての値のリスト。

  • TempVal: 単一属性値の値。

他の必須の構文

表示エレメント内のコードは、次の規則にも従う必要があります。

  • 属性値を検証する方法に関する情報をRequireInfoという名前の変数に格納する必要があります。WebCenter Sitesは、この変数を、JavaScriptを使用して属性値を検証するエレメントに渡します。これらのエレメントは次のとおりです。

    OpenMarket/Gator/FlexibleAssets/FlexAssets/ContentForm1
    OpenMarket/Gator/FlexibleAssets/FlexGroups/ContentForm1
    

    このJavaScriptは、コントロールのタイプ、データ型および他の予測可能な特性に基づいて既定のエラー・チェックと検証を実行します。RequireInfo変数に格納して渡される情報を通じて、属性エディタのカスタム要件がこのJavaScriptに通知されます。

  • 表示エレメント内のウィジェットの名前は(INPUT NAME)、次の規則に従っている必要があります。

    • 単一値属性の場合は、この属性の名前と同じである必要があります。

    • 複数値属性の場合は、各属性値について1から始まるカウンタ値が属性名の先頭に付加される必要があります(例: 1color、2color、3color)。

例については、第18.3項「属性エディタのカスタマイズ」を参照してください。

18.2 属性エディタの作成

この章やサンプル・テキスト・ファイルに掲載されているサンプルXMLコードを使用して属性エディタを作成するには、次の手順を実行します。

  1. 管理者としてWebCenter Sitesにログインします。

  2. 作業場所とするサイトを選択します。

  3. Adminインタフェースを選択します。

  4. 「新規」をクリックして、ショートカット・リストから「新規属性エディタ」を選択します。

    「新規属性エディタ」フォームが表示されます。

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

  5. 「名前」フィールドをクリックして、最大64文字(空白は除く)の一意の名前を入力します。

  6. 「説明」フィールドをクリックして、この属性エディタの目的を簡潔に記述します。

  7. 「XML」フィールドをクリックします。本書のHTML版から、またはインストール・ディレクトリのSamplesサブディレクトリにあるサンプル・テキスト・ファイルから、適切なサンプルXML属性エディタ・コードをカット・アンド・ペーストします。

  8. コードを必要に応じて編集します。たとえば、CHECKBOXESまたはRADIOBUTTONSの属性エディタを作成する場合は、これらのチェック・ボックスまたはラジオ・ボタンの名前を指定する必要があります。PULLDOWN属性エディタを作成する場合は、このドロップダウン・リストの値を指定する必要があります。

    属性エディタのコーディングの詳細は、第18.1.2項「属性エディタ・アセット」を参照してください。

  9. 「保存」をクリックします。


    注意:

    もう1つの方法は、属性エディタのXMLを別個の.xmlファイル内にコーディングすることです。この場合は、コードを「XML」フィールドに直接入力するかわりに、「ファイル内のXML」フィールドの横にある「参照」ボタンをクリックして、そのファイルを選択します。


  10. この属性エディタを管理システムに対してパブリッシュする前に、この属性エディタを承認する必要があります。


    注意:

    この属性エディタで問合せアセットを使用する場合は、この属性エディタとその問合せアセットの両方を必ず承認してください。

    属性エディタとその問合せアセットの間の依存性は、その属性エディタ内のXMLコードで指定されるため、承認システムは、その依存性を検知することはできず、その問合せアセットが管理システム上に存在することを確認できません。


18.3 属性エディタのカスタマイズ

独自のカスタム属性エディタを作成するための最適な方法は、サンプルの属性エディタ・コードとサンプルの表示エレメントからできるかぎり多くの内容をコピーすることです。

新しい入力スタイルを作成する必要がある場合は(いずれのデフォルトPRESENTATIONOBJECTタグも使用できません)、属性エディタを定義するpresentationobject.dtdファイルに新しいPRESENTATIONOBJECTセクションを追加する必要があります。このファイルへの追加の詳細は、第18.1.1項「presentationobject.dtdファイル」を参照してください。

カスタムのPRESENTATIONOBJECTタグを作成する場合は、このタグに対して次のような適切な表示エレメントも提供する必要があります。

属性エディタの表示エレメントで使用される変数と規則については、第18.1.3項「属性エディタのエレメント」を参照してください。

ファイルをアップロードできる属性エディタを作成またはカスタマイズする場合(たとえば、UPLOADER属性エディタをカスタマイズする場合)は、アップロード対象のファイルが有効であることを確認するカスタム・ロジックを属性エディタ・コードに追加できます。詳細は、第18.3.2項「アップロード対象のファイルを検証するためのカスタム・ロジックの追加」を参照してください。

18.3.1 例: カスタマイズされた属性エディタ

この例では、ユーザーが適切な権限を持っていない場合にテキスト・ボックスを使用不能にする属性エディタを作成するために、presentationobject.dtdファイル内のTEXTAREAタグの記述内容およびTEXTAREAエレメントをカスタマイズする方法を示します。

この作業は次の3つのステップからなります。

  • 手順1: presentationobject.dtd内のTEXTAREAタグの記述内容を編集して、PERMISSIONSという名前の新しいパラメータをサポートします。

  • 手順2: 属性エディタのコードを記述して、属性エディタを作成します。

  • 手順3: PERMISSIONSの値をチェックするようにTEXTAREAエレメントを編集します。

手順1: presentationobject.dtdファイルの編集

新しいパラメータをサポートするには、presentationobject.dtd内のTEXTAREAの記述内容に1つのコード行を追加します。新たに追加したコード行は8行目です。1行目から7行目は、TEXTAREAタグのデフォルトの記述内容です。

  1. <!-- TEXTAREA: A text area of a specific size. You must specify

  2. -- the x and y dimensions; the wrap style defaults to soft.

  3. -->

  4. <!ELEMENT TEXTAREA ANY>

  5. <!ATTLIST TEXTAREA XSIZE CDATA #REQUIRED>

  6. <!ATTLIST TEXTAREA YSIZE CDATA #REQUIRED>

  7. <!ATTLIST TEXTAREA WRAPSTYLE (OFF | SOFT | HARD) "SOFT">

  8. <!ATTLIST TEXTAREA PERMISSION CDATA>

手順2: サンプル属性エディタのサンプル・コード

ここでは、新しいパラメータを使用したサンプル・コードを示します。このコードでは、フィールドを表示するためにはPERMISSIONの値としてAdministratorsがユーザーに割り当てられている必要があることを指定しています。

<?XML VERSION="1.0"?>
<!DOCTYPE PRESENTATIONOBJECT SYSTEM "presentationobject.dtd"> 

<PRESENTATIONOBJECT NAME="TextAreaTest">
  <TEXTAREA XSIZE="40" YSIZE="10" WRAPSTYLE="SOFT" PERMISSION="Administrators">
  </TEXTAREA>
</PRESENTATIONOBJECT>

手順3: TEXTAREAエレメントの編集

3つ目のステップはTEXTAREAエレメントの編集です。56行目から70行目、123行目から125行目、および172行目から174行目は、PERMISSIONパラメータの値に基づいてフィールドを使用可能または使用不能にする新しいコードです。

  1. <?XML VERSION="1.0"?>

  2. <!DOCTYPE FTCS SYSTEM "futuretense_cs.dtd">

  3. <FTCS Version="1.1">

  4. <!-- OpenMarket/Gator/AttributeTypes/TEXTAREA

  5. --

  6. -- INPUT

  7. --

  8. -- OUTPUT

  9. --

  10. -->

  11. <!-- Display one TEXTAREA per attribute value -->

  12. <IF COND="Variables.MultiValueEntry=no">

  13. <THEN>

  14. <!-- Don't want default display field -->

  15. <setvar NAME="doDefaultDisplay" VALUE="no"/>

  16. <!-- Get all parameters from Attribute Editor xml -->

  17. <presentation.getprimaryattributevalue

  18. NAME="Variables.PresInst"

  19. ATTRIBUTE="FONTSIZE" VARNAME="FONTSIZE"/>

  20. <if COND="Variables.errno!=0">

  21. <then>

  22. <setvar NAME="FONTSIZE" VALUE="2"/>

  23. <then>

  24. </if>

  25. <presentation.getprimaryattributevalue

  26. NAME="Variables.PresInst"

  27. ATTRIBUTE="WRAPSTYLE" VARNAME="WRAPSTYLE"/>

  28. <if COND="IsVariable.WRAPSTYLE!=true">

  29. <then>

  30. <setvar NAME="WRAPSTYLE" VALUE="OFF"/>

  31. <then>

  32. </if>

  33. <presentation.getprimaryattributevalue

  34. NAME="Variables.PresInst"

  35. ATTRIBUTE="XSIZE" VARNAME="XSIZE"/>

  36. <if COND="IsVariable.XSIZE!=true">

  37. <then>

  38. <setvar NAME="XSIZE" VALUE="24"/>

  39. <then>

  40. </if>

  41. <presentation.getprimaryattributevalue

  42. NAME="Variables.PresInst"

  43. ATTRIBUTE="YSIZE" VARNAME="YSIZE"/>

  44. <if COND="IsVariable.YSIZE!=true">

  45. <then>

  46. <setvar NAME="YSIZE" VALUE="20"/>

  47. <then>

  48. </if>

  49. <setvar NAME="disableTextArea" VALUE="no"/>

  50. <presentation.getprimaryattributevalue

  51. NAME="Variables.PresInst"

  52. ATTRIBUTE="PERMISSION" VARNAME="PERMISSION"/>

  53. <if COND="IsVariable.PERMISSION=true">

  54. <then>

  55. <setvar NAME="errno" VALUE="0"/>

  56. <USERISMEMBER GROUP="Variables.PERMISSION"/>

  57. <IF COND="Variables.errno=0">

  58. <THEN>

  59. <setvar NAME="disableTextArea" VALUE="yes"/>

  60. </THEN>

  61. </IF>

  62. <then>

  63. </if>

  64. <tr>

  65. <!-- Standard element to display attribute name or description

  66. -->

  67. <callelement NAME="OpenMarket/Gator/FlexibleAssets/Common

  68. /DisplayAttributeName"/>

  69. <td></td>

  70. <td>

  71. <!-- Single valued attributes -->

  72. <if COND="Variables.EditingStyle=single">

  73. <then>

  74. <!-- Special case: TEXTAREA for URL attributes -->

  75. <IF COND="Variables.AttrType=url">

  76. <THEN>

  77. <setvar NAME="errno" VALUE="0"/>

  78. <BEGINS STR="AttrValueList.urlvalue"

  79. WHAT="AttrValueList."/>

  80. <IF COND="Variables.errno=1">

  81. <THEN>

  82. <setvar NAME="filename" VALUE="CS.UniqueID.txt"/>

  83. </THEN>

  84. <ELSE>

  85. <setvar NAME="filename"

  86. VALUE="AttrValueList.urlvalue"/>

  87. </ELSE>

  88. </IF>

  89. <INPUT TYPE="hidden" NAME="Variables.AttrName_file"

  90. VALUE="Variables.filename"

  91. REPLACEALL="Variables.AttrName,Variables.filename"/>

  92. <setvar NAME="errno" VALUE="0"/>

  93. <BEGINS STR="AttrValueList.@urlvalue"

  94. WHAT="AttrValueList."/>

  95. <IF COND="Variables.errno=1">

  96. <THEN>

  97. <setvar NAME="MyAttrVal" VALUE="Variables.empty"/>

  98. </THEN>

  99. <ELSE>

  100. <setvar NAME="MyAttrVal"

  101. VALUE="AttrValueList.@urlvalue"/>

  102. </ELSE>

  103. </IF>

  104. </THEN>

  105. </IF>

  106. <!-- Display a TEXTAREA with all parameters from Attribute

  107. --Editor xml -->

  108. <!-- The NAME of the input must be the attribute name -->

  109. <IF COND="Variables.disableTextArea=yes">

  110. <THEN>

  111. <TEXTAREA DISABLED="yes" NAME="Variables.AttrName"

  112. ROWS="Variables.YSIZE" COLS="Variables.XSIZE"

  113. WRAP="Variables.WRAPSTYLE"

  114. REPLACEALL="Variables.AttrName,Variables.XSIZE,

  115. Variables.YSIZE,Variables.WRAPSTYLE,Variables.empty">

  116. <!-- For most single valued attrs, the value is contained in

  117. MyAttrVal -->

  118. <csvar NAME="Variables.MyAttrVal"/>

  119. </TEXTAREA>

  120. </THEN>

  121. <ELSE>

  122. <TEXTAREA NAME="Variables.AttrName"

  123. ROWS="Variables.YSIZE" COLS="Variables.XSIZE"

  124. WRAP="Variables.WRAPSTYLE"

  125. REPLACEALL="Variables.AttrName,Variables.XSIZE,

  126. Variables.YSIZE,Variables.WRAPSTYLE,Variables.empty">

  127. <!-- For most single valued attrs, the value is

  128. contained in MyAttrVal -->

  129. <csvar NAME="Variables.MyAttrVal"/>

  130. </TEXTAREA>

  131. </ELSE>

  132. </IF>

  133. <then>

  134. <else>

  135. <!-- Multiple valued attributes -->

  136. <!-- For single value attributes we can usually use the

  137. default RequireInfo -->

  138. <!-- For multiple value attributes we need to append to

  139. RequireInfo for each value -->

  140. <if COND="Variables.RequiredAttr=true">

  141. <then>

  142. <setvar NAME="RequireInfo"

  143. VALUE="Variables.RequireInfo*Counters.TCounterVariables.

  144. AttrName*ReqTrue*Variables.AttrType!"/>

  145. <then>

  146. <else>

  147. <setvar NAME="RequireInfo"

  148. VALUE="Variables.RequireInfo*Counters.TCounterVariables

  149. .AttrName*ReqFalse*Variables.AttrType!"/>

  150. <else>

  151. </if>

  152. <!-- Display a TEXTAREA with all parameters from Attribute

  153. Editor xml -->

  154. <!-- The NAME of the input must be the attribute name

  155. prepended by the TCounter counter -->

  156. <IF COND="Variables.disableTextArea=yes">

  157. <THEN>

  158. <TEXTAREA DISABLED ="yes" NAME="Counters.TCounterVariables.AttrName"

  159. ROWS="Variables.YSIZE" COLS="Variables.XSIZE"

  160. WRAP="Variables.WRAPSTYLE"

  161. REPLACEALL="Counters.TCounter,

  162. Variables.AttrName,Variables.XSIZE,

  163. Variables.YSIZE,Variables.WRAPSTYLE">

  164. <csvar NAME="Variables.tempval"/> </TEXTAREA>

  165. </THEN>

  166. <ELSE>

  167. <TEXTAREA NAME="Counters.TCounterVariables.AttrName"

  168. ROWS="Variables.YSIZE" COLS="Variables.XSIZE"

  169. WRAP="Variables.WRAPSTYLE"

  170. REPLACEALL="Counters.TCounter,

  171. Variables.AttrName,Variables.XSIZE,

  172. Variables.YSIZE,Variables.WRAPSTYLE">

  173. <csvar NAME="Variables.tempval"/> </TEXTAREA>

  174. </ELSE>

  175. </IF>

  176. <else>

  177. </if>

  178. </td>

  179. </tr>

  180. </THEN>

  181. </IF> <!-- MultiValueEntry -->

  182. </FTCS>

18.3.2 アップロード対象のファイルを検証するためのカスタム・ロジックの追加

次の手順では、アップロード対象のファイルを検証するために、属性エディタのコードにカスタム・ロジックを追加する方法について説明します。

アップロード対象のファイルを検証するために、属性エディタのコードにカスタム・ロジックを追加する手順は次のとおりです。

  1. パスCustomElements/fatwire/ui/utilValidateFileUploadという名前のJSPエレメントを作成します。

  2. JSPエレメントで、ics.GetVar("filename")およびics.GetVar("filebytes")をコールして、リクエスト範囲内のアップロード対象のファイル・データを含むファイル名およびバイト配列を取得します。

  3. (オプション) アップロード対象のファイル・データが有効であることを確認するためのカスタム・ロジックを記述します。

    • ファイル・データが有効な場合、ics.SetVar("fileValidated","true")をコールして、変数fileValidatedtrueに設定します。これにより、ファイルはWebCenter Sitesサーバーに確実にアップロードされます。

    • ファイル・データが無効な場合、ics.SetVar("fileValidated","false")をコールして、変数fileValidatedfalseに設定します。これにより、ユーザーがアップロードするデータは拒否され、エラー・メッセージが表示されます。


注意:

サンプル・コード(検証ロジックを除く)は、ベース・エレメントfatwire/ui/util/ValidateFileUploadで使用可能です。このエレメントは変更しないでください。また、カスタム・コードは手順1で指定したようにCustomElementsパス内に記述する必要があります。


18.4 属性エディタの編集

属性エディタを編集する際は、次のことに留意してください。