プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle JDeveloperによるWebCenter Portalアセットとカスタム・コンポーネントの開発
12c (12.2.1.2.0)
E82735-01
目次へ移動
目次

前
次

A 式言語式

この付録では、WebCenter Portalで構築したポータルで使用できる式言語(EL)式について説明します。

この付録の内容は次のとおりです。

式言語(EL)式の概要

WebCenter Portal情報に関連するEL

特定のページに関連するEL

特定のポータルに関連するEL

ポータル・イベント・コンテキストに関連するEL

アセットに関連するEL

セキュリティに関連するEL

一般設定に関連するEL

ポータル・リソースに関連するEL

ナビゲーションに関連するEL

ツールとサービスに関連するEL

ドキュメントに関連するEL

ピープル・コネクションに関連するEL

偽装に関連するEL

ページ・エディタに関連するEL式

デバイス設定に関連するEL式

実用的なEL式

式エディタの組込み式

ポータル問合せでの自由形式のJPQL WHERE句およびSORT句の非サポート

関連項目:

EL APIの詳細は、Oracle WebCenter Portal Java APIリファレンスを参照してください。

A.1 式言語(EL)式の概要

ページ・コンポーネントまたはアセットを構成する場合、現在のアプリケーション・コンテキストを利用する変数として値を表すことができます。たとえば、現在のユーザーの名前、ユーザーに割り当てられたロール、現在のページの状態などを、変数を使用して取得できます。このような柔軟性は、JDeveloperで式ビルダーを使用して作成したEL式を使用するか、実行時に式エディタを使用することで実現できます。

この項では、次の内容について説明します。

A.1.1 式ビルダーの概要

JDeveloperでEL式を使用すると、属性と実行時に決まるオブジェクト値とをバインドできます。特定のコンポーネントの値は、実行時にそのvalue属性によって決定されます。コンポーネントにはその値として静的テキストを割り当てることができますが、通常、value属性には、表示データを決定するために実行時インフラストラクチャにより評価されるEL式が含まれます。

JDeveloperの式ビルダーを使用してEL式を作成できます。ビルダーにはプロパティ・インスペクタからアクセスできます。プロパティ・インスペクタで変更する属性を特定し、「プロパティ・メニュー」アイコンをクリックして、ポップアップから「式ビルダー」を選択します(図A-1)。

図A-1 式ビルダーへのアクセス

図A-1の説明
「図A-1 式ビルダーへのアクセス」の説明

「式ビルダー」ダイアログ(図A-2)では、「式」ボックスにEL式を直接入力できます。「変数」ドロップダウン・リストを使用して、式に含める項目を選択することもできます。演算子ボタンを使用して、式に論理演算子または算術演算子を追加します。

式ビルダーの詳細は、『Oracle Fusion Middleware Oracle ADF FacesによるWebユーザー・インタフェースの開発』のADF Facesのスタート・ガイドに関する項を参照してください。

図A-2 「式ビルダー」ダイアログ

図A-2の説明が続きます
「図A-2 「式ビルダー」ダイアログ」の説明

A.1.2 WebCenter Portalの式エディタの概要

WebCenter Portalでは、式エディタと呼ばれる単純な式言語(EL)エディタを提供しています。式エディタは、動的な計算をしなければ不明なプロパティ値(たとえば、現在のユーザーや現在のページ・モードなどを指定する場合)を定式化する場合に使用します。

式エディタは、WebCenter Portalの管理および編集画面で使用できます。式エディタを開くには、フィールド、チェック・ボックスまたはドロップダウン・リストの横の「拡張編集オプション」アイコンをクリックして、「式ビルダー」をクリックします(図A-3を参照)。

図A-3 「パラメータ値」フィールドの横の「拡張編集オプション」アイコンと結果のエディタ

図A-3の説明が続きます
「図A-3 「パラメータ値」フィールドの横の「拡張編集オプション」アイコンと結果のエディタ」の説明

関連項目:

コンポーネント・プロパティへのアクセスの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築』のコンポーネントの変更に関する項を参照してください。

式エディタには、式の入力用に2つのオプションが用意されています。

  • 値の選択: シード済EL式を選択します。

  • 値または式の入力: 式を手動で入力します。

「値の選択」の下のオプションは、式から返される情報のタイプに基づいて分類されます。最初のメニューでカテゴリを選択し、2番目のメニューで返される値のタイプを選択します(図A-4)。

図A-4 式ビルダーの「値の選択」の下のオプション

図A-4の説明が続きます
「図A-4 式ビルダーの「値の選択」の下のオプション」の説明

関連項目:

シード済EL式の詳細は、「式エディタの組込み式」を参照してください。

「値または式の入力」オプションの下のテキスト・ボックスを使用して、目的の式を手動で入力できます(図A-5)。

図A-5 式エディタの「値または式の入力」の下のテキスト・ボックス

図A-5の説明が続きます
「図A-5 式エディタの「値または式の入力」の下のテキスト・ボックス」の説明

この付録にある表の式の多くは、結果として返されるオブジェクトを絞り込むための構成要素です。すなわち、必ずしも単独で使用することを意図したものではなく、ELを組み合せて必要な問合せを構築するために使用します。

たとえば、次の式は、3つのアセット関連ELを使用して、特定のポータル・テンプレートを返す問合せを1つ構築します。これは、親ポータルstoresからテンプレートstoresMasterTemplateを取得します。

#{srmContext.resourceScope['stores'].resourceType['siteTemplate'].displayName[‘storesMasterTemplate'].singleResult}

式エディタでは、次のいずれかを実行できます。

  • 「値の選択」を選択して、ドロップダウン・リストから事前定義された値を選択します。

  • 「値または式の入力」を入力して、値またはEL式を入力します。次の形式を使用します。

    • リテラル数値: #{123}

    • リテラル文字列: #{'string'}

    • リテラルブール値: #{true}

    • 値を戻すために呼び出されるJava Bean: #{generalSettings.preferredTimeStyle}

    エディタには「テスト」ボタンがあり、ELの入力を検証できます。「テスト」ボタンは、「値または式の入力」の下のテキスト・ボックスに入力した式に対して使用できます。

    検証では、EL構文がチェックされて式が評価されます。式の値は、それが実行されるコンテキストによって異なるため、エディタには実際の使用時に戻される値とは異なる結果値が表示される可能性があります。

    ただし、「テスト」をクリックしたときに検証されるのはELのみで、他のタイプの値は検証されないことに注意してください。結果はポップアップに表示されます。

    注意:

    「コンポーネント・プロパティ」ダイアログの汎用の「表示オプション」タブでELを入力すると、入力内容が自動的に検証されます。EL構文が無効な場合、エラーが表示され、その値は適用も保存もされません。汎用の表示オプションは、『Fusion Middleware Oracle WebCenter Portalでのポータルの構築』の表示オプション・プロパティの表に記載されているオプションです。

    ELの検証は、汎用ではない表示オプションに対しては実行されません。

A.2 WebCenter Portal情報に関連するEL

次の表では、WebCenter Portal情報に関連するEL式を示し、提供される機能のタイプについて説明します。

表A-1 WebCenter Portal情報に関連するEL式

機能

#{WCAppContext}

現在のWebリクエスト内で、すべてのWebCenter Portal関連情報へのアクセス・ポイントを提供するoracle.webcenter.webcenterapp.context.WCApplicationContextオブジェクト

#{WCAppContext.currentWebCenterURI}

現行のWebリクエストを表すURLを戻します。このURLの末尾には、リクエストのブックマーク設定可能なWebCenter Portal URLパラメータが追加されています(パラメータは順不同の場合があります)。

例:

http://www.example.com/webcenter/faces/oracle/webcenter/page/scopedMD/someguid/SomePage.jspx?wc.contextURL=/spaces/somename&wc.pageScope=1234

#{WCAppContext.application.applicationConfig}

WebCenter Portalからのメタデータのペイロードを含むoracle.webcenter.webcenterapp.beans.WebCenterType Bean。

#{WCAppContext.application.applicationConfig.title}

現在のWebCenter Portalアプリケーションの表示名(「WebCenter Portal管理」設定で構成)を返します。

デフォルトでは、WebCenter Portalを返します。

#{WCAppContext.application.applicationConfig.logo}

アプリケーション・ロゴが「WebCenter Portal管理」設定を介してアップロードされた場合、この式はアプリケーション・ロゴ・イメージへのURLを返します。

デフォルトでは、nullを戻します。

#{WCAppContext.application.applicationConfig.helpPage}

WebCenter Portalで使用するヘルプ・アプリケーションへのURL (「WebCenter Portal管理」設定で構成)を返します。

デフォルトでは、/webcenterhelp/spacesを戻します。

<<レビューアへ: /spacesではなく/portalとすべきか?>>

#{WCAppContext.application.applicationConfig.copyrightMessage.customValue}

著作権メッセージが「WebCenter Portal管理」設定によって構成されている場合は、アプリケーションの著作権メッセージを返します。

デフォルトでは、nullを戻します。

#{WCAppContext.application.applicationConfig.privacyPolicyUrl}

アプリケーションのプライバシ・ポリシーを含むドキュメントへのURL (「WebCenter Portal管理」設定で構成)を返します。

デフォルトでは、http://www.oracle.com/html/privacy.htmlを返します。

#{WCAppContext.application.applicationConfig.skin}

アプリケーションでページのレンダリングに使用するデフォルトのADF Facesスキン・ファミリの名前(「WebCenter Portal管理」設定で構成)を返します。

この式は、すべてのWebリクエストで使用できるとはかぎらないアプリケーション・レベルの設定のみを表します。たとえば、ユーザーがアプリケーションの「プリファレンス」を介してスキンをオーバーライドするように選択している場合、この式は正常に使用できません。

#{requestContext.skinFamily}

アプリケーション・レベルで構成されている要素や現在のユーザーのプリファレンス設定などに応じて、現在のWebリクエストで使用されるADF Facesスキン・ファミリの名前を返します。

#{adfFacesContext.skinFamily}と同じ値を返します。

A.3 特定のページに関連するEL

表A-2では、ポータル・ページに関連するEL式を示し、提供される機能のタイプについて説明します。

表A-2 特定のページに関連するEL式

機能

#{pageDocBean.title}

ページの表示名を戻します。次に例を示します。

FinanceProject

#{pageDocBean.createdBy}

ページを作成したユーザーのユーザー名を戻します。次に例を示します。

monty

#{pageDocBean.createDateString}

ページの作成日時を戻します。次に例を示します。

2008-11-19T10:18:36

#{pageDocBean.lastUpdatedBy}

ページを最後に更新したユーザーのユーザー名を戻します。次に例を示します。

monty

#{pageDocBean.lastUpdateDateString}

ページが最後に更新された日時を戻します。次に例を示します。

2008-11-19T10:18:36

#{pageDocBean.pagePath}

アプリケーションのルート・ディレクトリに対する相対パスとして、ページへのファイル・ディレクトリ・パスを戻します。次に例を示します。

/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/user/Umonty/Page4.jspx

#{pageDocBean.name}

ページのファイル名を戻します。次に例を示します。

Page4.jspx

#{pageDocBean.UICSSStyle}

ページで使用されたスタイル・スキームの名前を戻します。次に例を示します。

WCSchemeEggShell

#{pageDocBean.UISchemeBGImage}

ページ・スキームの背景イメージのディレクトリ・パスとファイル名を戻します。

#{pageDocBean.UISchemeBGColorString}

ページ・スキームの背景色の16進値を戻します。次に例を示します。

#ffa500

#{pageDocBean.pagePermission}

ページに対する現行ユーザーの権限を戻します。次に例を示します。

oracle.webcenter.page.model.security.CustomPagePermission

#{pageDocBean.pageSecurityTarget}

現行のページをセキュリティ・システムに対して一意に識別する60文字程度の文字列です。次に例を示します。

oracle_webcenter_page_scopedMD_s8bba98ff_4cbb_40b8_beee_296c916a23ed_user_Umonty_Page4PageDef

#{changeModeBean.inEditMode}

現在のページがコンポーザ・モードの場合は、trueを返します。現在のページがコンポーザ・モードでない場合は、falseを返します。

#{pageDocBean.currentLayout.displayName}

.

ページで現在使用されているレイアウトの表示名を返します。

#{pageDocBean.layoutViewId}

ページで使用されているレイアウト・ビューを返します。

#{pageDocBean.layoutCssPath}

レイアウトで使用されているCSSファイルを返します。

A.4 特定のポータルに関連するEL

表A-3では、ポータルに関連するEL式を示し、提供される機能のタイプについて説明します。

注意:

ポータルの内部名は、ポータルの管理設定の「概要」ページにある「PortalのURL」で指定された名前のことです。ポータルの表示名は、「名前」で指定された名前です。表A-3に示すEL式の多くは、ポータルの内部名を呼び出します。

表A-3 特定のポータルに関連するEL式

機能

#{spaceContext}

現在のWebリクエスト内で、すべてのポータル関連情報へのアクセス・ポイントを提供するoracle.webcenter.spaces.context.SpacesContextオブジェクト。

この式の値は、Java API SpacesContext.getCurrentInstance()の起動時に戻される値です。

#{spaceContext.currentSpace}

現在のWebリクエストに関連付けられているポータルを表すoracle.webcenter.spaces.Spaceオブジェクト。現在のWebリクエストがホーム・ポータル・コンテキストにある場合は、null値が返されます。

この式の値は、Java API SpacesContext.getCurrentInstance().getCurrentSpace()の起動時に戻される値です。

#{spaceContext.currentSpaceName}

現行のWebリクエストに関連付けられているポータルの名前。現在のWebリクエストがホーム・ポータル・コンテキストにある場合は、null値が返されます。

この式の値は、Java API SpacesContext.getCurrentInstance().getCurrentSpace()の起動時に戻される値です。

#{spaceContext.space['portalName']}

#{spaceContext.currentSpace}

spaceNameという名前のポータルまたは現在のポータル(currentSpace)を表すoracle.webcenter.spaces.Spaceオブジェクト。たとえば、#{spaceContext.space['FinanceProject']}は、FinanceProjectという名前のポータルのポータル・オブジェクトを返します。

この式の値は、現行のADFContextMDSSessionを渡して現行のSpacesManagerに対して.getSpace(...)を起動するときにJavaで戻される値です。

#{spaceContext.space['portalName'].metadataPath}

#{spaceContext.currentSpace.metadataPath}

指定した名前portalNameを持つポータルまたは現在のポータル(currentSpace)のポータル・メタデータ・ドキュメントのMDSパス。たとえば、#{spaceContext.space['FinanceProject'].metadataPath}は、/oracle/webcenter/space/metadata/spaces/FinanceProject/space.xmlと評価されます。

この式の値は、ポータルのポータル・オブジェクトに対して.getMetadataPath()を起動するときにJavaで返される値です。

#{spaceContext.space['portalName'].metadata}

#{spaceContext.currentSpace.metadata}

portalNameという名前のポータルまたは現在のポータル(currentSpace)に関するメタデータを含んだoracle.webcenter.spaces.beans.SpaceType Bean。

この式の値は、現在のADFContextMDSSessionで渡されるポータルのポータル・オブジェクトに対して.getMetadata()を起動するときにJavaで返される値です。

#{spaceContext.space['portalName'].metadata.displayName}

#{spaceContext.currentSpace.metadata.displayName}

portalNameという名前のポータルまたは現在のポータル(currentSpace)の表示名。たとえば、Web20Portalという名前のポータルがweb 2.0 Portalという表示名を持つ場合、#{spaceContext.space['Web20Portal'].metadata.displayName}web 2.0 Portalと評価されます。

#{spaceContext.space['portalName'].GSMetadata.groupSpaceURI}

#{spaceContext.currentSpace.GSMetadata.groupSpaceURI}

portalNameという名前のポータルまたは現在のポータル(currentSpace)のURL。

#{WCPrepareImageURL[spaceContext.space['portalName'].metadata.icon]['']}

#{WCPrepareImageURL[spaceContext.currentSpace.metadata.icon]['']}

portalNameという名前のポータルまたは現在のポータル(currentSpace)に関連付けられたアイコンへのURL。

#{spaceContext.space['portalName'].metadata.description}

#{spaceContext.currentSpace.metadata.description}

portalNameという名前のポータルまたは現在のポータル(currentSpace)の説明。たとえば、#{spaceContext.space['FinanceProject'].metadata.description}Conglomeration of all teams involved in financial activities(財務アクティビティに関与する全チームの集合)と評価されます。

#{spaceContext.space['portalName'].metadata.creationDate}

#{spaceContext.currentSpace.metadata.creationDate}

指定した名前portalNameを持つポータルまたは現在のポータル(currentSpace)の作成日時を表すjava.util.Calendarオブジェクト。

#{spaceContext.space['portalName'].metadata.createdBy}

#{spaceContext.currentSpace.metadata.createdBy}

portalNameという名前のポータルまたは現在のポータル(currentSpace)の作成者のユーザー名。

#{spaceContext.space['portalName'].metadata.keywords}

#{spaceContext.currentSpace.metadata.keywords}

portalNameという名前のポータルまたは現在のポータル(currentSpace)に関連付けられた検索可能なキーワードのカンマ区切りリスト。たとえば、ポータルFinanceProjectのキーワードがfinance, project, moneyの場合、#{spaceContext.space['FinanceProject'].metadata.keywords}finance, project, moneyと評価されます。

#{spaceContext.space['portalName'].metadata.offline}

#{spaceContext.currentSpace.metadata.offline}

portalNameという名前のポータルまたは現在のポータル(currentSpace)がオフラインかどうかを示すブール値。

#{spaceContext.space['portalName'].metadata.closed}

#{spaceContext.currentSpace.metadata.closed}

portalNameという名前のポータルまたは現在のポータル(currentSpace)が閉じているかどうかを示すブール値。

#{spaceContext.space['portalName'].metadata.selfRegistration}

#{spaceContext.currentSpace.metadata.selfRegistration}

portalNameという名前のポータルまたは現在のポータル(currentSpace)への自己登録をユーザーが許可されているかどうかを示すブール値。

#{spaceContext.space['portalName'].metadata.discoverable}

#{spaceContext.currentSpace.metadata.discoverable}

portalNameという名前のポータルまたは現在のポータル(currentSpace)の存在を、ユーザーが検索するか「マイ・ポータル」ページのリストを確認することで検出できるかどうかを示すブール値。

#{spaceContext.space['portalName'].metadata.publishRSS}

#{spaceContext.currentSpace.metadata.publishRSS}

portalNameという名前のポータルまたは現在のポータル(currentSpace)がRSSフィードを公開するかどうかを示すブール値。

#{spaceContext.space['portalName'].distributionList}

#{spaceContext.currentSpace.distributionList}

portalNameという名前のポータルまたは現在のポータル(currentSpace)に関連付けられているメーリング・リストの電子メール・アドレス。

#{spaceContext.space['portalName'].metadata.customAttributes['attributeName']}

#{spaceContext.currentSpace.metadata.customAttributes['attributeName']}

portalNameという名前のポータルまたは現在のポータル(currentSpace)の、attributeNameという名前の特定のカスタム属性の値。たとえば、FinanceProjectポータルのstockPriceというカスタム属性の値が13.9の場合、#{spaceContext.space['FinanceProject'].metadata.customAttributes['stockPrice']}13.9と評価されます。

注意: このELを使用してWebCenter Portal Administrationでフィールドに値を入力する場合、「テスト」ボタンをクリックすると空白値が戻される可能性があります。ただし、実行中のポータルでは値は適切に解決されます。

#{WCPrepareImageURL[spaceContext.space['portalName'].metadata.logo]['']}

#{WCPrepareImageURL[spaceContext.currentSpace.metadata.logo]['']}

portalNameという名前のポータルまたは現在のポータル(currentSpace)のロゴURLを返します。

#{spaceContext.spacesQuery.property['value']}

#{spaceContext.spacesQuery.property['value'].listSpaces}

property['value']という形式の問合せパラメータを使用してポータルを問い合せる方法。このpropertyはプロパティの名前(unionOfshapeなど)を意味しており、valueはすべてのポータル、検出可能なポータルなどのリストをフェッチするために使用する基準を意味しています。

式にlistSpacesを追加すると、問合せはタイプがGSMetadataであるポータルのリストを返します。詳細は、Oracle WebCenter Portal Java APIリファレンスのインタフェースGSMetadataに関する項を参照してください。

たとえば、次のEL式は検出可能なすべてのポータルのリストを返します。

#{spaceContext.spacesQuery.unionOf['DISCOVERABLE'].listSpaces}

listSpacesをELに追加しない場合、ELではタイプがSpacesQueryParameterのオブジェクトと評価します。このオブジェクト・タイプはSpacesManager.getSpaces(SpacesQueryParameters)を使用して評価する必要があります。これにより、タイプがGSMetadataのポータルのリストが返されます。

たとえば、次のEL式は、すべての問合せ条件が移入された状態で、タイプがSpacesQueryParametersのインスタンスを返します。

#{spaceContext.spacesQuery.unionOf['DISCOVERABLE']}

#{spaceContext.spacesQuery.unionOf['USER_JOINED'].shape['ROOT_LEVEL'].listSpaces}

現在のユーザーがメンバーになっているすべてのポータルのリストを返します。

例は、「例: 様々なポータルに対するEL式の使用」を参照してください。

#{spaceContext.spacesQuery.unionOf['USER_JOINED'].shape['RECURSIVE_FLATTENED'].listSpaces}

現在のユーザーがメンバーになっているすべてのポータルのリストを返します。

このELは、現在のユーザーがアクセスできる各親ポータルの下にあるすべてのサブポータルも返します。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].sort['sortBy field picked from WcSpaceHeader']}

ソート基準によって指定された順序にソートされたポータルを返します。

たとえば、次の問合せは、ユーザーがアクセス可能なポータルのリストを、discoverableおよびlastUpdateDateフィールドでソートして返します。

次の例では、識別子spはポータルWcSpaceHeaderのJPAエンティティを表すことに注意してください。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].sort['sp.discoverable']['asc']['sp.lastUpdateDate']['desc'].listSpaces}

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].pageNumber[page_num].listSpaces}

問合せ基準と一致する結果から選択するページ番号を指定できます(0ベース)。

たとえば、次の式は、ユーザーがアクセス可能なすべてのポータルのリストを返し、結果セットの3ページ目を返します。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].pageNumber[2].listSpaces]}

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].itemsPerPage[page_num].listSpaces}

結果のポータルをページに分割するときに、各ページに含まれる結果の数を指定できます。

たとえば、次の式は、ユーザーがアクセス可能なすべてのポータルのリストを返し、各ページに10レコードずつリストします。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].pageNumber[10].listSpaces]}
#{spaceContext.spacesQuery.unionOf.ALL_QUERIABLE.where[wCond['sp.createdBy']['like']['monty%'] ['and'] [wCond['sp.selfSubEnabled']['is']['null'] ['or'] [wCond['sp.selfSubEnabled']['=']['N']] ['not'] ]].listSpaces}

指定されたユーザーが作成し、自己サブスクリプションが有効な、ユーザーがアクセス可能なすべてのポータルのリストを返します。詳細は、Oracle WebCenter Portal Java APIリファレンスのSpacesQueryParametersに関する項およびSpacesQueryFilterに関する項を参照してください。

#{spaceContext.currentSpace.metadata.portalColor}

ポータル・ブラウザのポータルで使用されている色コードを返します。

#{spaceContext.currentSpace.metadata.acronym}

ポータル・ブラウザのポータルで使用されている頭文字を返します

A.4.1 例: 様々なポータルに対するEL式の使用

この項では、様々なポータルを問い合せるためのEL式の使用例を示します。

この例では、次のELを使用して、自分がメンバーになっているすべてのポータルのリストを表示します。

"#{spaceContext.spacesQuery.unionOf['USER_JOINED'].shape['ROOT_LEVEL'].listSpaces}"

さらに次のメソッドを使用して、ポータルのロゴ、名前、説明、メンバー数も表示します。

  • displayName: ポータル名を表示

  • description: ポータルの説明を表示

  • memberCount: ポータルのメンバー数を表示

ポータルを問い合せるには:

  1. 新しいタスク・フローを作成して、使用可能のマークを付けます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築』のタスク・フローの使用に関する項を参照してください。

  2. タスク・フローのソース・コードを編集します。「アセット」タブで、タスク・フローを選択します。「アクション」メニューから、「ソースの編集」を選択します。

  3. 「ソースの編集」ダイアログの「フラグメント」タブで、既存のコードを次のコードに置き換えます。

    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:pe="http://xmlns.oracle.com/adf/pageeditor" xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"
    xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fn="http://java.sun.com/jsp/jstl/functions">
     <af:panelGroupLayout id="pgl1">
     <cust:panelCustomizable id="pc1">
     <table border="0" width="100%">
     <af:iterator id="it1" var="row" value="#{spaceContext.spacesQuery.unionOf['USER_JOINED'].shape['ROOT_LEVEL'].listSpaces}">
      <c:set var="displayName" value="#{row.displayName}"/>
     <c:set var="description" value="#{row.description}"/>
     <c:set var="numMembers" value="#{row.memberCount}"/>
     <tr class="PortletText1">
     <af:image id="img1"
     source="#{WCPrepareImageURL[spaceContext.space[row.name].metadata.icon]}/ICON16"/>
     </td>
     <td>
     <af:outputText id="otCol1"
     value="#{displayName}"
     inlineStyle="color:#333333; font-size:12px; font-weight:bold;"/>
     </td>
     </tr>
     <tr>
     <td>
     <af:outputText id="otCol3"
     value="#{description}"
     inlineStyle="color:#666666; font-size:12px;"/>
     </td>
     </tr>
     <tr>
     <td>
     <af:outputText id="otCol4"
     value="members (#{numMembers}) -"
     inlineStyle="color:#666666; font-size:10px;"/>
     <af:spacer id="spacer1" width="5px"/>
     <af:goLink id="gl1"
     destination="/spaces/#{row.name}"
     targetFrame="_blank"
     text="view"/>
     </td>
     </tr>
     </af:iterator>
     </table>
     </cust:panelCustomizable>
     </af:panelGroupLayout>
    </jsp:root>
    
  4. このタスク・フローをページに追加します。リソース・カタログでは、「UIコンポーネント」「タスク・フロー」でカスタム・タスク・フローを使用できます。

    ページには、自分がメンバーになっているすべてのポータルのリストが表示されます。

A.5 ポータル・イベント・コンテキストに関連するEL

表A-4に、ペイロードの受け渡しをトリガーできるポータル・イベントのタイプ(イベント機能に関連するイベントではない)に関連するEL式を示します。

表A-4に示すイベント・ペイロードには、発生後、その全部または一部にアクセスできます。

たとえば、ペイロード全体に対して、次のELを使用します。

#{wcEventContext.events.eventName}

たとえば、次のようにします。

#{wcEventContext.events.WebCenterUserSelected}

表A-4のELのペイロードはすべてマップです。マップ・エントリを参照解除するには、マップ用の標準のELを使用します。

#{wcEventContext.events.WebCenterUserSelected.UserName}

関連項目:

イベント・ワイヤリングの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築』のページ、タスク・フロー、ポートレット、ADFコンポーネントのワイヤリングに関する項を参照してください。

表A-4 イベント・コンテキストに関連するEL式

機能

イベント・コンテキスト

#{wcEventContext.events.WebCenterResourceSelected}

ドキュメント名

#{wcEventContext.events.WebCenterResourceSelected.name}

ドキュメント作成者

#{wcEventContext.events.WebCenterResourceSelected.createdBy}

ドキュメント最終変更者

#{wcEventContext.events.WebCenterResourceSelected.lastModifiedBy}

プロデューサとコンシューマ間のコンテキスト・ワイヤリングで使用します。プロデューサのメタデータの一部分をコンシューマのメタデータの一部分に(たとえば、ドキュメント作成者を作成者のプロファイルに)関連付けるマップを返します。

プロデューサのタスク・フローには次のものが含まれます。

  • ドキュメント・マネージャ

  • 最近のドキュメント

  • ドキュメント・リスト・ビューア

コンシューマのタスク・フローには次のものが含まれます。

  • リンク(選択したドキュメントにリンクするアイテムを表示)

  • プロファイル(ドキュメントの作成者のプロファイルを表示)

  • アクティビティ・ストリーム(このドキュメントに関連するアクティビティを表示)

  • タグ(このドキュメントのタグとタグ・センターにアクセスする方法)

イベント・コンテキスト

#{wcEventContext.events.WebCenterUserSelected}

ユーザー名

#{wcEventContext.events.WebCenterUserSelected.userName}

ユーザーGUID

#{wcEventContext.events.WebCenterUserSelected.userGUID}

ポータル名

#{wcEventContext.events.WebCenterUserSelected.portalName}

ポータルGUID

#{wcEventContext.events.WebCenterUserSelected.portalGUID}

プロデューサとコンシューマ間のコンテキスト・ワイヤリングで使用します。プロデューサのメタデータの一部分をコンシューマのメタデータの一部分に(たとえば、ユーザーをユーザーのコネクションに)関連付けるマップを返します。

プロデューサのタスク・フローには次のものが含まれます。

  • コネクション

  • ポータル・メンバー

コンシューマのタスク・フローには次のものが含まれます。

  • コネクション(選択したユーザーのコネクションを表示)

  • 「ドキュメント」タスク・フロー(選択したユーザーによって作成されたドキュメントを表示)

  • アクティビティ・ストリーム(このユーザーのアクティビティを表示)

  • タグ(このユーザーによって作成されたタグ)

  • プロファイル(このユーザーのプロファイルを表示)

イベント・コンテキスト

#{wcEventContext.events.WebCenterConnectionSelected}

プロファイルのユーザー名

#{wcEventContext.events.WebCenterConnectionSelected.profileUserName}

プロファイルのユーザーGUID

#{wcEventContext.events.WebCenterConnectionSelected.profileUserGUID}

コネクションがあるユーザー名

#{wcEventContext.events.WebCenterConnectionSelected.userName}

コネクションがあるユーザーGUID

#{wcEventContext.events.WebCenterConnectionSelected.userGUID}

--

#{wcEventContext.events.WebCenterSpaceSelected.SpaceName}

選択されたポータルの名前を返します

#{wcEventContext.events.WebCenterSpaceSelected.SpaceGUID}

選択されたポータルのGUIDを返します

A.6 アセットに関連するEL

この項の式を使用して、アセットの問合せを行います。EL式によるアセットの問合せは、APIコールによるアセットの問合せと類似しています。すなわち、問合せパラメータは['property']['like']['value'] (propertyidresourceScopeなどのプロパティの名前、valueは属性の検索値)という形式で設定する必要があります。

問合せを実行すると、1件または複数件の結果が返される可能性があります。問合せデザイナは、どちらの結果を望むのかを決める必要があります。問合せデザイナは式で次の値のいずれかを使用して、1件の結果を返すのか、複数件の結果を返すのかを指定します。

  • singleResult: 1つのアセットを返します。一致するアセットが見つからない場合、nullを返します。

  • resultList: アセットのリストを返します。一致するアセットが見つからない場合、空のリストを返します。

注意:

式で使用されているsingleResultまたはresultListは、内部的には問合せのエンド・ポイントとして使用され、検出されるとすぐに問合せが実行されます。エンド・ポイント以降に何かが設定されていた場合、予想外の動作が発生する可能性があります。

次の例は、表示名にmyPageが含まれる、最初に見つけたページ・テンプレート・アセットを返します。

#{srmContext[wCond['resourceType']['like']['siteTemplate']]['and'][wCond['displayName']['like']['myPage']].singleResult} 

次の例は、ディレクトリresourceDirに存在し、説明にsampleDescが含まれるページ・テンプレート・アセットのリストを返します。

#{srmContext[wCond['resourceType']['like']['siteTemplate']]['and'][wCond['description']['like']['sampleDesc']]['and'][wCond['contentDirectory']['like']['resourceDir'].resultList} 

このクラスのプロパティには、このクラスの任意の属性が含まれます。たとえば、IdDisplayNameiconURIcontentDirectoryなどのプロパティが含まれます。

プロパティ値は、明示的な値として、またはそのタイプの値を返すEL式として、指定できます。たとえば、次の2つの問合せは同じ結果を返します。

#{srmContext[wCond['id']['like']['resourceId']].singleResult}

#{srmContext[wCond['id']['like']['spacesContext.currentSpace.uiMetadata.siteTemplateId']].singleResult}

EL式を使用する問合せでは、このクラスの任意のプロパティをproperty['value']という形式で、任意の順序で使用できます。たとえば、次の2つの問合せは同じ結果を返します。

#{srmContext[wCond['resourceScope']['like']['scopeName']]['and'][wCond['id]['like']['resourceId']].singleResult}

#{srmContext[wCond['id']['like']['resourceId']]['and'][wCond['resourceScope']['like']['scopeName']].singleResult}

表A-5 では、アセットに関連するEL式を示し、提供される機能のタイプについて説明します。

表A-5 アセットに関連するEL

EL 機能

#{srmContext[wCond['id']['like']['resourceGUID']]}

指定されたIDのアセットを返します

#{srmContext[wCond['displayName']['like']['resourceDisplayName']]}

指定された表示名を持つ任意のアセットを返します

#{srmContext[wCond['displayNameKey']['like']['displayNameKey']]}

指定された表示名キーを持つ任意のアセットを返します

#{srmContext[wCond['description']['like']['resourceDescription']].singleResult}

指定された値が説明に含まれるアセットを1つ返します

複数の結果を取得するには、singleResultのかわりにresultListを使用します。

#{srmContext[wCond['descriptionKey']['like']['descriptionKey']].singleResult}

指定された説明キーを持つアセットを1つ返します

説明キーは、アセットの説明を示す、xsrtファイル内のキーです。

複数の結果を取得するには、singleResultのかわりにresultListを使用します。

#{srmContext[wCond['createdDate']['like']['resourceCreationDate']]}

指定された作成日を持つ任意のアセットを返します

#{srmContext[wCond['modifiedBy']['like']['resourceLastModifiedBy']]

指定されたユーザー名のユーザーにより最後に変更された任意のアセットを返します

#{srmContext[wCond['modifiedDate']['like']['resourceLastModifiedDate']]}

指定された日付以前に最後に変更された任意のアセットを返します

#{srmContext[wCond['resourceScope']['like']['resourceScope']]}

指定されたスコープに該当する任意のアセットを返します

#{srmContext[wCond['category']['like']['categoryName']]}

指定されたカテゴリに該当する任意のアセットを返します

例:

#{srmContext[wCond['category']['like']['siteTemplates']]}

カテゴリ名として使用できるものには、siteTemplatepageStyledataPresentercontentPresenterresourceCatalogtaskFlowdataControltaskFlowStyleskinがあります。

#{srmContext[wCond['contentDirectory']['like']['contentDirectory']]}

指定されたディレクトリに格納されている任意のアセットを返します

#{srmContext[wCond['metadataFile']['like']['metadataFileLocation']]}

指定されたメタデータ・ファイルからアセット・メタデータを返します

たとえば、次の式はファイル/home/metadata/data.xmlからアセット・メタデータを返します。

#{srmContext[wCond['metadataFile']['like']['/home/metadat/data.xml']]}

#{srmContext[wCond['jspx']['like']['jspxFileLocation']]}

指定された場所にある任意のjspxファイルを返します

たとえば、次の式はpage.jspxファイルを返します。

#{srmContext[wCond['jspx']['like']['/home/web/page.jspx']]}

#{srmContext[wCond['pageDef']['like']['pageDefinition']]}

指定されたページ定義が含まれる任意のjspxファイルを返します

#{srmContext[wCond['iconURI']['like']['iconURI']]}

指定されたアイコンURIのアイコンを返します

#{srmContext[wCond['excludeFrom']['like']['excludeFromScopes']]}

より大きな式で使用され、除外されたスコープで使用可能なリソースを除く、指定されたすべてのリソースを返します

#{srmContext[wCond['usesCustomSecurity']['like']['usesCustomSecurity']]}

より大きな式で使用され、カスタム・セキュリティを使用する、または使用しない、任意のアセットを返します

usesCustomSecurityTRUEまたはFALSEに設定します。たとえば、次のようにします。

#{srmContext[wCond['usesCustomSecurity']['like']['TRUE']]}

#{srmContext[wCond['seeded']['like']['seeded']]}

より大きな式で使用され、指定された値に応じてシードされる、またはシードされない、任意のアセットを返します

seededTRUEまたはFALSEに設定します。たとえば、次のようにします。

#{srmContext[wCond['seeded']['like']['TRUE']]}

#{srmContext[wCond['visibleType']['like']['visibleType']]}

より大きな式で使用され、指定された可視性タイプの任意のアセットを返します

visibleTypeTRUEFALSEまたはアセットが絶対に表示されないことを示すNEVERに設定します。たとえば、次の式は表示されるアセット、すなわちShowに設定されているアセットを返します。

#{srmContext[wCond['visibleType']['like']['TRUE']]}

#{srmContext[wCond['visible']['like']['visible']]}

より大きな式で使用され、可視性がTRUEまたはFALSEのどちらかに設定されている1つまたは複数のアセットを返します。

#{srmContext[wCond['createdBy']['like']['resourceCreator']]}

より大きな式で使用され、指定されたユーザーによって作成された任意のアセットを返します

#{srmContext[wCond['resourceType']['like']['resourceType']]}

より大きな式で使用され、指定されたタイプの1つまたは複数のアセットを返します

たとえば、次の式はタイプSITE_TEMPLATEのアセットを検索します。

#{srmContext[wCond['resourceType']['like']['SITE_TEMPLATE']]}

すべてのアセット・タイプのリストは、Oracle WebCenter Portal Java APIリファレンスのGenericSiteResourceTypesクラスに関する項を参照してください。

#{srmContext[wCond['version']['like']['version']]}

より大きな式で使用され、指定されたバージョンのアプリケーションで使用可能な1つまたは複数のアセットを返します

#{srmContext[wCond['resourceScope']['like']['scopeName']]}

より大きな式で使用され、指定されたスコープで使用可能な1つまたは複数のアセットを返します

たとえば、次の式はスコープ(このインスタンスではポータル)がMyPortalのアセットを検索します。

#{srmContext[wCond['resourceScope']['like']['MyPortal']]}

デフォルト・スコープ、すなわちアプリケーション・スコープ内を検索するには、defaultScopeを使用します。

#{srmContext[wCond['searchType']['like']['searchType']]}

より大きな式で使用され、組み込まれている他の式で設定された値が含まれる、またはその値に等しい、1つまたは複数のアセットを返します

searchTypeCONTAINSまたはEQUALSに設定します。

A.6.1 例: アセットに対するEL式の使用

この項では、ユーザーのロールに基づいてページ・テンプレートを表示するためのEL式の使用例を示します。

この例では、EL式を使用して、ポータル・マネージャに特定のページ・テンプレートが表示されるようにして、ポータル・マネージャがそのページ・テンプレートで使用できる機能やリンクにアクセスできるようにします。

ユーザー・ロールに基づいてページ・テンプレートを表示するには:

  1. 目的のポータルの管理設定に移動します。

  2. 「設定」ページの「アセット」で、「ページ・テンプレート」に対して「ページ・テンプレート」ドロップダウン・リストの横にある「拡張編集オプション」アイコンをクリックし、「式ビルダー」を選択してエディタを開きます。

  3. 「値または式の入力」で、次の式を入力します。

    #{srmContext[wCond['resourceType']['like']['siteTemplate']][wCond['displayName']['like'][WCSecurityContext.userInScopedRole['Moderator'] ? 'Fusion Side Navigation' : 'WebCenter Portal Top Navigation']].singleResult.id}
    

    説明:

    • srmContext[wCond['resourceType']['like']['siteTemplate']]

      スコープ内のすべてのページ・テンプレートのリストを取得します。

    • [wCond['displayName']['like'][WCSecurityContext.userInScopedRole['Moderator'] ? 'Fusion Side Navigation' : 'WebCenter Portal Top Navigation']]

      現在のユーザーがポータル・マネージャかどうかによって、リストを1つまで縮小します。ユーザーがポータル・マネージャであれば、「Fusionサイド・ナビゲーション」ページ・テンプレートが適用されます。その他すべてのユーザー・ロールでは、「WebCenter Portalトップ・ナビゲーション」ページ・テンプレートを使用してポータルがレンダリングされます。

    • singleResult.id

      必要とされるエントリのGUIDを返します。

  4. 「OK」をクリックします。

A.7 セキュリティに関連するEL

「セキュリティに関連するEL」では、アプリケーション・セキュリティに関連するEL式を示し、提供される機能のタイプについて説明します。

表A-6 セキュリティに関連するEL式

機能

#{security.authenticated}

ELが呼び出されているコンテキスト内で現在のユーザーが認証済の場合はtrue、それ以外の場合はfalseを返します。

#{securityContext.userName}

現在ログインしているユーザーのユーザー名を返します。現在ユーザーがログインしていない場合、値を返しません。

#{WCSecurityContext.currentUser['userName']}

指定されたユーザーが現在のユーザーである場合はtrue、それ以外の場合はfalseを返します。

#{WCSecurityContext.userInGroup['group']}

指定されたグループが現在のユーザーに割り当てられている場合はtrueを返します。例:

#{WCSecurityContext.userInGroup['Administrators']}

#{security.pageContextCommunityModerator}

現在のユーザーが現在のポータルのポータル・マネージャである場合は、値trueを返します。

#{WCSecurityContext.userInScopedRole['role']}

現在のスコープの指定されたロールが現在のユーザーに割り当てられている場合はtrueを返します。ロールはModerator (表示名はポータル・マネージャ)またはそのスコープ内で定義されたカスタム・ロールのいずれかです。

スコープは暗黙的に現在のスコープに解決されます。このELをホーム・ポータルで使用した場合、ホーム・ポータルのGUIDと、アプリケーション・レベルで定義されたロールに解決されます。このELをポータル・スコープで使用した場合、ポータルに対して定義されたロールに解決されます。

A.8 一般設定に関連するEL

「一般設定に関連するEL」では、アプリケーションの一般設定に関連するEL式を示し、提供される機能のタイプについて説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。

表A-7 一般設定に関連するEL式

機能

#{generalSettings.userTimeZone}

現在のユーザーがアプリケーション・プリファレンスで選択しているタイムゾーンを返します。

#{generalSettings.preferredDateStyle}

現在のユーザーがアプリケーション・プリファレンスで選択している日付書式を返します。

#{generalSettings.preferredDatePattern}

現在のユーザーの優先日付書式パターンが設定されている場合はそれを返し、それ以外の場合はnullを返します。

#{generalSettings.preferredTimeStyle}

現在のユーザーがアプリケーション・プリファレンスで選択している時間書式を返します。

#{generalSettings.preferredTimePattern}

現在のユーザーの優先時間書式パターンが設定されている場合はそれを返し、それ以外の場合はnullを返します。

#{generalSettings.preferredDateTimePattern}

現在のユーザーの日付書式と時間書式の優先パターンが設定されている場合はそれを返し、それ以外の場合はnullを返します。

#{generalSettings.preferredAccessibilityMode}

現在のユーザーの優先アクセシビリティ・モード(defaultinaccessibleまたはscreenReaderのいずれか)を返します。

#{generalSettings.preferredSkinName}

現在のユーザーの優先スキン名が指定されている場合はその名前、それ以外の場合はデフォルト値。

#{generalSettings.formattedCurrentDate}

現在のユーザーが選択しているロケールの現在の日付を返します。

#{generalSettings.formattedCurrentTime}

現在のユーザーが選択しているロケールの現在の時間を返します。

#{generalSettings.formattedCurrentDateTime}

現在のユーザーが選択しているロケールの現在の日付と時間を返します。

#{requestContext.skinFamily}

アプリケーション・レベルで構成されている要素や現在のユーザーのプリファレンス設定などに応じて、現在のWebリクエストで使用されるADF Facesスキン・ファミリの名前を返します。

A.9 ポータル・リソースに関連するEL

この項の式を使用して、ポータル・リソースの問合せを行います。EL式によるポータル・リソースの問合せは、APIコールによるリソースの問合せと類似しています。すなわち、問合せパラメータは.property['value']という形式で設定する必要があり、propertyidresourceScopeなどのプロパティの名前、valueは属性の検索値です。

問合せを実行すると、1件または複数件の結果が返される可能性があります。問合せデザイナは、どちらの結果を望むのかを決める必要があります。問合せデザイナは式で次の値のいずれかを使用して、1件の結果を返すのか、複数件の結果を返すのかを指定します。

  • singleResult: 1つのポータル・リソースを返します。一致するリソースが見つからない場合、nullを返します。

  • resultList: ポータル・リソースのリストを返します。一致するポータル・リソースが見つからない場合、空のリストを返します。

注意:

式で使用されているsingleResultまたはresultListは、内部的には問合せのエンド・ポイントとして使用され、検出されるとすぐに問合せが実行されます。エンド・ポイント以降に何かが設定されていた場合、予想外の動作が発生する可能性があります。

次の例は、表示名にmyPageが含まれる、最初に見つけたページ・テンプレート・ポータル・リソースを返します。

#{srmContext.resourceType['siteTemplate'].displayName['myPage'].singleResult}

次の例は、ディレクトリresourceDirに存在し、説明にsampleDescが含まれるページ・テンプレート・ポータル・リソースのリストを返します。

#{srmContext.resourceType['siteTemplate'].description['sampleDesc'].contentDirectory['resourceDir'].resultList}

このクラスのプロパティには、このクラスの任意の属性が含まれます。たとえば、IdDisplayNameiconURIcontentDirectoryなどのプロパティが含まれます。

プロパティ値は、明示的な値として、またはそのタイプの値を返すEL式として、指定できます。たとえば、次の2つの問合せは同じ結果を返します。

#{srmContext.id['resourceId'].singleResult}

#{srmContext.id['spacesContext.currentSpace.uiMetadata.siteTemplateId'].singleResult}

EL式を使用する問合せでは、このクラスの任意のプロパティをproperty['value']という形式で、任意の順序で使用できます。たとえば、次の2つの問合せは同じ結果を返します。

#{srmContext.resourceScope['scopeName'].id['resourceId'].singleResult}

#{srmContext.id['resourceId'].resourceScope['scopeName'].singleResult} 

表A-8では、ポータル・リソースに関連するEL式を示し、提供される機能のタイプについて説明します。表A-8の多くの式は、返すポータル・リソースを絞り込むためのブロックを作成します。すなわち、必ずしも単独で使用することを意図したものではなく、ELを組み合せて必要な問合せを構築するために使用します。

たとえば、次の式は、3つのポータル・リソース関連ELを使用して、特定のポータル・テンプレートを返す問合せを1つ構築します。これは、親ポータルstoresからテンプレートstoresMasterTemplateを取得します。

#{srmContext.resourceScope['stores'].resourceType['siteTemplate'].displayName['storesMasterTemplate'].singleResult}

WebCenter Portalアセットにのみ関連するEL式の詳細は、「アセットに関連するEL」を参照してください。

表A-8 ポータル・リソースに関連するEL

EL 機能

#{srmContext.id['resourceGUID']}

指定されたIDのポータル・リソースを返します

#{srmContext.displayName['resourceDisplayName']}

指定された表示名を持つ任意のポータル・リソースを返します

#{srmContext.displayNameKey['displayNameKey']}

指定された表示名キーを持つ任意のポータル・リソースを返します

#{srmContext.description['resourceDescription'].singleResult}

指定された値が説明に含まれるポータル・リソースを1つ返します

複数の結果を取得するには、singleResultのかわりにresultListを使用します。

#{srmContext.descriptionKey[descriptionKey].singleResult}

指定された説明キーを持つポータル・リソースを1つ返します

説明キーは、ポータル・リソースの説明を示す、xsrtファイル内のキーです。

複数の結果を取得するには、singleResultのかわりにresultListを使用します。

#{srmContext.createdDate['resourceCreationDate']}

指定された作成日を持つ任意のポータル・リソースを返します

#{srmContext.modifiedBy['resourceLastModifiedBy']}

指定されたユーザー名のユーザーにより最後に変更された任意のポータル・リソースを返します

#{srmContext.modifiedDate['resourceLastModifiedDate']}

指定された日付以前に最後に変更された任意のポータル・リソースを返します

#{srmContext.resourceScope['resourceScope']}

指定されたスコープに該当する任意のポータル・リソースを返します

#{srmContext.category['categoryName']}

指定されたカテゴリに該当する任意のポータル・リソースを返します

例:

#{srmContext.category['siteTemplates']}

#{srmContext.contentDirectory['contentDirectory']}

指定されたディレクトリに格納されている任意のポータル・リソースを返します

#{srmContext.metadataFile['metadataFileLocation']}

指定されたメタデータ・ファイルからポータル・リソース・メタデータを返します

たとえば、次の式はファイル/home/metadata/data.xmlからリソース・メタデータを返します:

#{srmContext.metadataFile['/home/metadat/data.xml']}

#{srmContext.jspx['jspxFileLocation']}

指定された場所にある任意のjspxファイルを返します

たとえば、次の式はpage.jspxファイルを返します。

#{srmContext.jspx['/home/web/page.jspx']}

#{srmContext.pageDef['pageDefinition']}

指定されたページ定義が含まれる任意のjspxファイルを返します

#{srmContext.iconURI['iconURI']}

指定されたアイコンURIのアイコンを返します

#{srmContext.excludeFrom['excludeFromScopes']}

より大きな式で使用され、除外されたスコープで使用可能なポータル・リソースを除く、指定されたすべてのリソースを返します

#{srmContext.usesCustomSecurity['usesCustomSecurity']}

より大きな式で使用され、カスタム・セキュリティを使用する、または使用しない、任意のポータル・リソースを返します

usesCustomSecurityTRUEまたはFALSEに設定します。たとえば、次のようにします。

#{srmContext.usesCustomSecurity['TRUE']}

#{srmContext.seeded['seeded']}

より大きな式で使用され、指定された値に応じてシードされる、またはシードされない、任意のポータル・リソースを返します

seededTRUEまたはFALSEに設定します。たとえば、次のようにします。

#{srmContext.seeded['TRUE']}

#{srmContext.visibleType['visibleType']}

より大きな式で使用され、指定された可視性タイプの任意のポータル・リソースを返します

visibleTypeTRUEFALSEまたはポータル・リソースが絶対に表示されないことを示すNEVERに設定します。たとえば、次の式は表示されるポータル・リソース、すなわちShowに設定されているポータル・リソースを返します。

#{srmContext.visibleType['TRUE']}

#{srmContext.visible['visible']}

より大きな式で使用され、可視性がTRUEまたはFALSEのどちらかに設定されている1つまたは複数のポータル・リソースを返します。

#{srmContext.createdBy['resourceCreator']}

より大きな式で使用され、指定されたユーザーによって作成された任意のポータル・リソースを返します

#{srmContext.resourceType['resourceType']}

より大きな式で使用され、指定されたタイプの1つまたは複数のポータル・リソースを返します

たとえば、次の式はタイプSITE_TEMPLATEのポータル・リソースを検索します。

#{srmContext.resourceType['SITE_TEMPLATE']}

すべてのリソース・タイプのリストは、Oracle WebCenter Portal Java APIリファレンスのGenericSiteResourceTypesクラスに関する項を参照してください。

#{srmContext.version['version']}

より大きな式で使用され、指定されたバージョンのアプリケーションで使用可能な1つまたは複数のポータル・リソースを返します

#{srmContext.resourceScope['scopeName']}

より大きな式で使用され、指定されたスコープで使用可能な1つまたは複数のポータル・リソースを返します

たとえば、次の式はスコープ(このインスタンスではポータル)がMyPortalのポータル・リソースを検索します。

#{srmContext.resourceScope['MyPortal']}

デフォルト・スコープ、すなわちアプリケーション・スコープ内を検索するには、defaultScopeを使用します。

#{srmContext.searchType['searchType']}

より大きな式で使用され、組み込まれている他の式で設定された値が含まれる、またはその値に等しい、1つまたは複数のポータル・リソースを返します

searchTypeCONTAINSまたはEQUALSに設定します。

A.10 ナビゲーションに関連するEL

表A-9では、アプリケーションのナビゲーションに関連するEL式を示し、提供される機能のタイプについて説明します。

表A-9 ナビゲーションに関連するEL式

機能

ナビゲーション・コンテキスト式

#{navigationContext.defaultNavigationModel}

デフォルト・ナビゲーション・モデルを返します。プリファレンスBeanから値を取得します。プリファレンスBeanは、adf-config.xmlstatic valueのプリファレンス設定に基づいて値を取得します。

次の例は、指定されたデフォルト・ツリー・モデルを返します。

#{navigationContext.defaultNavigationModel.defaultTreeModel}

defaultMenuModeldefaultListModelも使用できます(次のリストを参照)。

#{navigationContext.currentNavigationModel}

現在のビュー(すなわち現在のページ)にナビゲートするために使用したナビゲーション・モデルを返します。

現在のナビゲーション・モデルは、processActionがコールされた場合にのみ設定されます。

次の例は、現在のナビゲーション・モデルのデフォルト・ツリー・モデルを返します。

#{navigationContext.currentNavigationModel.defaultTreeModel}

defaultMenuModeldefaultListModelも使用できます。

関連項目: 「#{navigationContext.processAction}」

#{navigationContext.navigationModel['model_path']}

このELは非推奨になりました。かわりに、#{navigationContext.defaultNavigationModel}または#{navigationContext.currentNavigationModel}を使用してください。

#{navigationContext.processAction}

UIコンポーネントのactionListener属性にバインドするデフォルト・ナビゲーション方法を返します。これは、ナビゲート先のターゲット・リソースが、アクションUIコンポーネントのnode属性またはpath属性で渡されることを想定しています。

node属性は、通常、反復の場合に使用され、path属性は、通常、静的リンクを作成するために使用されます。両方が指定されている場合は、node属性が使用されます。path属性を使用する場合は、ナビゲーション・モード・オブジェクトを渡すためにmodel属性も指定する必要があることに注意してください。model属性が指定されていない場合は、現在のナビゲーション・モデルが使用されます。

node属性の使用例を示します。

<af:forEach var="node" varStatus="vs"
 items="#{navigationContext.defaultNavigationModel.rootNode.children}">
  <af:subform id="pt_sfm1">
   <af:commandLink id="pt_cl1"
    text="#{node.title}"
    inlineStyle="font-size:small;color:White;"
    actionListener="#{navigationContext.processAction}"
    action="pprnav">
   <f:attribute name="node" value="#{node}"/>
    <af:showPopupBehavior popupId="menuPopup"
     align="afterStart"
     triggerType="mouseOver"/>
  </af:commandLink>

path属性の使用例を示します。

<af:commandLink id="pt_cl1" text="Prescriptions"
  inlineStyle="font-size:small; color:White;"
  actionListener="#{navigationContext.processAction}"
  action="pprnav">
<f:attribute name="path" value="/prescriptions"/>
<f:attribute name="model"   value="#{navigationContext.defaultNavigationModel}"/>
</af:commandLink>

ナビゲーション・モデル式

#{navigationContext.defaultNavigationModel.defaultTreeModel}

#{navigationContext.defaultNavigationModel.defaultMenuModel}

#{navigationContext.defaultNavigationModel.defaultListModel}

#{navigationContext.defaultNavigationModel.defaultSiteMap}

デフォルト設定に基づいて、ツリー/メニュー/リスト・モデルを返します

この設定のデフォルト値は次の行を参照してください。たとえば、depthのデフォルト値は0です。

defaultSiteMapは、デフォルト設定に基づいて、ナビゲーションのサイト・マップのXMLを返します。

この式は、次のタイプのモデルを返します。

  • ChildPropertyTreeModel - <af:tree>コンポーネントで使用

  • ChildPropertyMenuModel - <af:breadcrumbs>コンポーネントまたは<af:menu>コンポーネントで使用

  • ListNavigationResource - <af:foreach>で使用

#{navigationContext.defaultNavigationModel.treeModel['parameters']}

#{navigationContext.defaultNavigationModel.menuModel['parameters']}

#{navigationContext.defaultNavigationModel.listModel['parameters']}

#{navigationContext.defaultNavigationModel.siteMap['parameters']}

指定されたカンマ区切りパラメータに基づいて、ツリー/メニュー/リスト・モデルを返します。使用可能なパラメータ(と例としてのデフォルト値)を次に示します。

  • startNode=/ - モデルの開始ノードを指定します(ルート・ノードをリクエストする場合を除き、"/"を接頭辞として指定する必要はありません。例: home)。

  • includeStartNode=true - 開始ノード(前述のルート・ノードなど)を含める場合はtrue、その子から開始する場合はfalseを指定します。

  • depth=0 - フェッチの初期深さを定義します。0は、ツリー全体をフェッチすることを意味し、時間がかかることがあります。その場合は、オンデマンドでフェッチするために1を使用します(ユーザーが「展開」アイコンをクリックする場合)。

  • prefetchOnly=false - デフォルトでは(true)、最初にリクエストされた深さレベルまでノードを返し、より深いレベルのノードはオンデマンドで返されます。ノードの初期セットのみを使用する場合は、falseを使用します。その場合、より深いノードがあっても、リクエストされたときに後でより深いノードを返しません。

siteMapの場合、使用可能なパラメータはstartNodeincludeStartNodeです。

例:

#{navigationContext.defaultNavigationModel.treeModel['startNode=home,includeStartNode=false,depth=2']}

#{navigationContext.defaultNavigationModel.rootNode}

ナビゲーション・モデルのルート・ノード(タイプNavigationResource)を返します。

例:

<af:commandLink id="pt_cl1" text="Prescriptions"
  inlineStyle="font-size:small; color:White;"
  actionListener="#{navigationContext.processAction}"
  action="pprnav">
 <f:attribute name="node"
    value="#{navigationContext.
    defaultNavigationModel.
    rootNode.children[2]"/>
</af:commandLink>

#{navigationContext.defaultNavigationModel.node['path']}

指定されたパスに基づいてノード(タイプNavigationResource)を返します(ルート・ノードをリクエストする場合を除き、"/"を接頭辞として指定する必要はありません。例: '/')。

例:

#{navigationContext.defaultNavigationModel.node['home/page1']}

#{navigationContext.defaultNavigationModel.currentSelection}

現在選択されているナビゲーション・ポータル・リソースを返します。

#{navigationContext.defaultNavigationModel.newCurrentSelection['path']}

与えられたパスによって指定されたノードに現在の選択を設定します(ルート・ノードをリクエストする場合を除き、/を接頭辞として指定する必要はありません。例: '/')。成功した場合、タイプNavigationResourceの新しく選択したノードを返します。

ユーザーは、実際にノードにナビゲートせずに、現在の選択を明示的に設定できる必要があります。

これは、ユーザーがページを直接入力し、選択が設定されていない場合に使用できます。これは、現在の選択が存在しない場合に何をデフォルトにするかをユーザーが制御するメカニズムを提供します。

例:

<c:set  value="${navigationContext.defaultNavigationModel.newCurrentSelection['home/page1']}"
 var="currSel" scope="session"/>
<c:if test="${currSel!=null}">
 <af:forEach items="#{currSel.children}"
  var="cnode" varStatus="cnodestatus">
...</c:if>

#{navigationContext.defaultNavigationModel.attributes.Description}

#{navigationContext.defaultNavigationModel.attributes['Description']}

ナビゲーション・モデルの指定された属性の値を返します。

#{navigationContext.defaultNavigationModel.properties['propertyName']}

ナビゲーション・モデルの指定されたプロパティの値を返します(propertyNamerootNodeまたはcurrentSelectionのいずれかです)。

ナビゲーション・ポータル・リソース式

#{node.attributes.Description}

#{node.attributes['Description']}

ナビゲーション・ポータル・リソースの指定された属性の値を返します。

#{node.parameters.StockSymbol}

#{node.parameters['StockSymbol']}

ナビゲーション・ポータル・リソースの指定されたパラメータの値を返します。

#{node.parametersRaw.StockSymbol}

#{node.parametersRaw['StockSymbol']}

ナビゲーション・ポータル・リソースの指定されたパラメータのRAW値(評価前の値)を返します。

#{node.title}

ナビゲーション・ポータル・リソースのタイトルを返します。

#{node.path}

ナビゲーション・ポータル・リソースへのパスを返します。

#{node.externalURL}

タイプExternal Linkのナビゲーション・ポータル・リソースのURLを返します。

#{node.prettyUrl}

このナビゲーション・ポータル・リソースの識別パスを返します。

#{node.prettyUrlPath}

#{node.prettyUrlPath[N]}

深さを指定して識別パスのコレクションを返し、別のナビゲーション・ビューを動作させる開始パスとして使用できるようにします。

たとえば、currentSelectionhome/company/products/applicationsである場合、次のELはhome/company/productsを返します。

#{node.prettyUrlPath[3]}

#{node.goLinkPretty Url}

goLinkの宛先に適合するこのナビゲーション・ポータル・リソースの識別パスを返します

<af:goLink id="pt_gl2" text="#{node.title}"
   destination="#{node.goLinkPrettyUrl}"
   targetFrame="#{node.attributes['Target']}"
   inlineStyle="font-size:small;#{node.selected ?
   'font-weight:bold;' : ''}"/>

#{node.separator ? ... : ...}

このポータル・リソースがセパレータ・アイテムかどうかを返します。

#{node.navigable ? ... : ...}

このポータル・リソースにナビゲート可能かどうかを返します。

#{node.selected ? ... : ...}

このポータル・リソースが現在選択されているかどうかを返します。

#{node.currentlySelected ? ... : ...}

ポータル・リソースが現在選択されているポータル・リソースであり、モデルが現在選択されているモデルであるかどうかを返します。

#{node.onSelectedPath ? ... : ...}

このノードが選択されたパス上に存在するかどうかを返します。これは、たとえば選択されているタブを強調表示する場合に便利です。

たとえば、現在選択されているノードがhome/company/products/applicationsである場合、次のELはhomeタブを強調表示します。

<c:set  value="${navigationContext.defaultNavigationModel.node['home']}"
 var="home" scope="session"/>
  <af:commandImageLink id="cil1"
    icon="#{(home.onSelectedPath) ?
    '/images/caremark/nav/HomeSelected.png' :
    '/images/caremark/nav/HomeIcon.png'}"
    actionListener="#{navigationContext.processAction}"
    action="pprnav">
  <f:attribute name="node" value="#{home}"/></af:commandImageLink>

#{node.leaf ? ... : ...}

このリソースがリーフ・ノードかどうかを返します。

#{node.parent}

このノードの親ノード(タイプNavigationResource)を返します。ルート・ノードの場合、nullを返します。

#{node.ancestors}

このノード(タイプNavigationResource)の祖先の、ルート・ノードで始まる階層リストを返します。

たとえば、現在のノードがhome/company/products/applicationsである場合、次のELは次の値を返します。

  • #{node.ancestors[1]}homeを表すノードを返します。

  • #{node.ancestors[3]}はhome/company/productsを表すノードを返します

#{node.depth}

このノードのルート・ノードからの深さを返します。ルート・ノードの深さは0です。

#{node.siblings}

このノード(タイプNavigationResource)の兄弟のリストを返します(このノード自体を含む)。

#{node.nextSibling}

このノード(タイプNavigationResource)のリストの次の兄弟を返します。

たとえば、次のコードでは、1つの行内に2つのセパレータが連続して出力されることはありません。

<c:if test="${(node.separator) && (!node.nextSibling.separator}">
  <af:separator id="s166"/>
</c:if>

#{node.previousSibling}

このノードのリスト内の前の兄弟(タイプNavigationResource)を返します。

#{node.index}

このノードの、その兄弟からの0相対インデックスを返します。

#{node.children}

#{node.children[N].title}

#{node.children[N].children[N].title}

子リソースのコレクションを返します。

#{node.childCount}

このノードの子の数を返します。

#{node.childByIndex['index']}

0相対インデックスで指定された子ノード(タイプNavigationResource)を返します。

見つからない場合、nullを返します。

#{node.childByPath['admin']}

このノードからの相対パスで指定された子ノード(タイプNavigationResource)を返します。

パスは1レベルよりも深くすることができ、'/'を接頭辞として指定することは必要ありません。見つからない場合、nullを返します。

#{node.properties['propertyName']}

ナビゲーション・ポータル・リソースの指定されたプロパティの値を返します。propertyNameは、separatortitleprettyUrlprettyUrlPathdepthleafchildCountnavigableselectedまたはcurrentlySelectedのいずれかです。

A.11 ツールとサービスに関連するEL

「ツールとサービスに関連するEL」では、ツールとサービスに関連するEL式を示し、提供される機能のタイプについて説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。

表A-10 ツールとサービスに関連するEL式

機能

#{webcenterService['serviceId']}

サービスID serviceIdによって表されるWebCenter Portalツールまたはサービスを表すoracle.webcenter.framework.service.Serviceオブジェクトの実装を返します。例では、クラスoracle.webcenter.doclib.internal.spaces.DoclibServiceのオブジェクトを返しています。

#{webcenterService['oracle.webcenter.doclib']}

サービスIDについては、表A-11を参照してください。

#{webcenterService['serviceId'].configured}

サービスID serviceIdによって表されるWebCenter Portalツールまたはサービスが、現在のWebCenter Portalインスタンスで使用するために構成されているかどうかを示すブール値を返します。たとえば、次のELは、アプリケーションでディスカッションを使用できる場合はtrue、それ以外の場合はfalseを返します。

#{webcenterService['oracle.webcenter.collab.forum'].configured}

サービスIDについては、表A-11を参照してください。

#{sessionContext['oracle.webcenter.collab.forum'].groupInfo['portalName'].forumId}

指定されたポータル・ディスカッション・フォーラムのフォーラムIDを返します。portalNameのかわりにポータル名を入力します。

#{sessionContext['oracle.webcenter.collab.forum'].groupInfo['portalName'].categoryId}

指定されたWebCenter Portalディスカッション・フォーラムのカテゴリIDを返します。portalNameのかわりにポータル名を入力します。

表A-11に、WebCenter Portalのツールとサービスに関連付けられているサービスIDを示します。

表A-11 サービスとツールのID

サービス/ツール ID

お知らせ

oracle.webcenter.collab.announcement

ディスカッション

oracle.webcenter.collab.forum

ドキュメントとWiki

oracle.webcenter.doclib

イベント

oracle.webcenter.collab.calendar.community

インスタント・メッセージおよびプレゼンス(IMP)

oracle.webcenter.collab.rtc

リンク

oracle.webcenter.relationship

リスト

oracle.webcenter.list

メール

oracle.webcenter.collab.mail

通知

oracle.webcenter.notification

ページ

oracle.webcenter.page

ピープル・コネクション: アクティビティ・ストリーム

oracle.webcenter.activitystreaming

ピープル・コネクション: コネクション

oracle.webcenter.peopleconnections.connections

ピープル・コネクション: フィードバック

oracle.webcenter.peopleconnections.kudos

ピープル・コネクション: メッセージ・ボード

oracle.webcenter.peopleconnections.wall

ピープル・コネクション: プロファイル

oracle.webcenter.peopleconnections.profile

RSS

oracle.webcenter.rss

検索

oracle.webcenter.search

タグ

oracle.webcenter.tagging

ブログ

oracle.webcenter.blog

ワークリスト

oracle.webcenter.worklist

A.12 コンポーザに関連するEL

次の表に、コンポーザに関連するEL式のリストを示します。これらのEL式は、WebCenter Portalを使用して構築されたポータルとOracle JDeveloperで構築されたPortal Frameworkアプリケーションの両方で使用できます。

機能

#{composerContext.inEditMode}

現在のページが表示モードなのか編集モードなのかを決定します。

例:

<af:outputText id="ot1"   value="#{composerContext.inEditMode ne   true ? 'View mode' : 'Edit mode'} />

この例は、ページが表示モードのときにView modeを返し、ページが編集モードのときにEdit modeを返す、ADF FacesのoutputTextコンポーネントを示しています。

#{changeModeBean.inEditMode}

childCreation属性は、ポップアップ・ダイアログの子をコンポーザで表示できるかどうかを決定します。デフォルトでは、この属性はdeferredに設定されており、ポップアップ・ダイアログの子を表示する際に使用できます。値をimmediateに設定すると、ポップアップ・ダイアログの子を表示できます。

例:

<af:popup childCreation="#{changeModeBean.inEditMode   ? 'immediate' : 'deferred'}" />

childrenCreation属性をimmediateに設定すると、パフォーマンスに影響を与えます。ページ上でポップアップを使用する必要がない場合には、deferredのデフォルト設定を使用するとCPUのペナルティと不要なメモリーの使用を避けることができます。ポップアップは非モーダルで表示されるため、アプリケーションではエラーなしでそのファクトを処理できる必要があります。

例A-1 例: コンポーザに対するEL式の使用

この項では、表示モードと編集モードで異なるページを表示するためのEL式の使用例を示します。自分のページのうちの1つ(Page1)について、表示モードでは別のページ(Page2)を表示することを考えてみます。ただし、Page1の編集中は、Page2ではなく、www.example.comというWebサイトを表示させます。次の形式のELを使用できます。

#{ composerContext.inEditMode ? 'http://www.example.com' : 'url_of_Page2' }

このELにより、ページが編集モードのときは指定されたWebサイトが表示され、表示モードのときにはPage2が表示されます。

次の手順は、ページ・モードによって異なるページを表示する方法を示しています。

  1. ページ・エディタ(コンポーザ)でPage1という名前のページを開きます。

  2. デザイン・ビューで、リソース・カタログの「Web開発」をクリックします。

  3. 「Webページ」の横に表示されている「追加」をクリックします。

  4. 新しく追加されたWebページの「編集」アイコンをクリックします。

  5. 「コンポーネント・プロパティ」ダイアログの「表示オプション」タブで、「ソース」フィールドに、次の形式で値を入力します。

    #{ composerContext.inEditMode ? 'website_url' : 'url_of_Page2' }
  6. 「OK」をクリックします。

    コンポーザでは、指定したWebサイトがPage1に表示されます。ページを保存して閉じます。Page1にはPage2が表示されます。

A.13 ドキュメントに関連するEL

表A-12では、ドキュメントに関連するEL式を示し、提供される機能のタイプについて説明します。

表A-12 ドキュメントに関連するEL式

機能

#{documentsService.defaultConnectionName}

デフォルトのコンテンツ・リポジトリ接続名を取得します。接続名が定義されていない場合、nullを返します。

#{documentsService.configured}

ドキュメント機能が構成されているかどうかを確認します。ドキュメント機能が構成されている場合はtrue、それ以外の場合はfalseを返します。

A.14 ピープル・コネクションに関連するEL

表A-13では、ピープル・コネクションのプロファイル機能に関連するEL式を示し、提供される機能のタイプについて説明します。

注意:

エントリsecurityContext.userNameは、すべてのプロファイル式に含まれ、現在のユーザーの名前を返します。情報はユーザーのプロファイルに存在する場合にのみ返されることにも注意してください。情報がプロファイルに含まれない場合、null値が返されます。また、現在のユーザーが表示できる場合のみ、情報が返されます。

表A-13 ピープル・コネクション(プロファイル)に関連するEL式

機能

#{webCenterProfile[userName].managerDisplayName}

#{webCenterProfile[securityContext.userName].managerDisplayName}

ユーザーのマネージャの表示名。

#{webCenterProfile[userName].employeeNumber}

#{webCenterProfile[securityContext.userName].employeeNumber}

ユーザーの従業員番号。

#{webCenterProfile[userName].businessPOBox}

#{webCenterProfile[securityContext.userName].businessPOBox}

ユーザーに関連付けられた私書箱番号。

#{webCenterProfile[userName].timeZone}

#{webCenterProfile[securityContext.userName].timeZone}

ユーザーの勤務先がある場所のタイムゾーン。

#{webCenterProfile[userName].description}

#{webCenterProfile[securityContext.userName].description}

ユーザーの(プロファイル「自己紹介」からの)説明。

#{webCenterProfile[userName].department}

#{webCenterProfile[securityContext.userName].department}

ユーザーが属している部門。

#{webCenterProfile[userName].businessPager}

#{webCenterProfile[securityContext.userName].businessPager}

ユーザーの勤務先ページャ番号。

#{webCenterProfile[userName].businessCity}

#{webCenterProfile[securityContext.userName].businessCity}

ユーザーがいる市区。

#{webCenterProfile[userName].maidenName}

#{webCenterProfile[securityContext.userName].maidenName}

ユーザーの旧姓。

#{webCenterProfile[userName].businessFax}

#{webCenterProfile[securityContext.userName].businessFax}

ユーザーの勤務先FAX番号。

#{webCenterProfile[userName].dateofHire}

#{webCenterProfile[securityContext.userName].dateofHire}

ユーザーの入社日。

#{webCenterProfile[userName].nameSuffix}

#{webCenterProfile[securityContext.userName].nameSuffix}

ユーザーの名前に付加される追加情報(Esq.Jr.など)。

#{webCenterProfile[userName].middleName}

#{webCenterProfile[securityContext.userName].middleName}

ユーザーのミドル・ネーム。

#{webCenterProfile[userName].homePhone}

#{webCenterProfile[securityContext.userName].homePhone}

ユーザーの自宅の電話番号。

#{webCenterProfile[userName].employeeType}

#{webCenterProfile[securityContext.userName].employeeType}

ユーザーの従業員タイプの分類(IC4など)。

#{webCenterProfile[userName].lastName}

#{webCenterProfile[securityContext.userName].lastName}

ユーザーの姓。

#{webCenterProfile[userName].dateofBirth}

#{webCenterProfile[securityContext.userName].dateofBirth}

ユーザーの生年月日。

#{webCenterProfile[userName].businessState}

#{webCenterProfile[securityContext.userName].businessState}

ユーザーの勤務先がある都道府県。

#{webCenterProfile[userName].homeAddress}

#{webCenterProfile[securityContext.userName].homeAddress}

ユーザーの自宅住所。

#{webCenterProfile[userName].businessStreet}

#{webCenterProfile[securityContext.userName].businessStreet}

ユーザーの勤務先がある番地。

#{webCenterProfile[userName].businessPostalCode}

#{webCenterProfile[securityContext.userName].businessPostalCode}

ユーザーの郵便番号。

#{webCenterProfile[userName].initials}

#{webCenterProfile[securityContext.userName].initials}

ユーザーのイニシャル。

#{webCenterProfile[userName].firstName}

#{webCenterProfile[securityContext.userName].firstName}

ユーザーのファースト・ネーム。

#{webCenterProfile[userName].organizationalUnit}

#{webCenterProfile[securityContext.userName].organizationalUnit}

ユーザーが属している組織単位(D10など)。

#{webCenterProfile[userName].wirelessAcctNumber}

#{webCenterProfile[securityContext.userName].wirelessAcctNumber}

ユーザーのワイヤレス・アカウント番号。

#{webCenterProfile[userName].businessPhone}

#{webCenterProfile[securityContext.userName].businessPhone}

ユーザーの勤務先電話番号。

#{webCenterProfile[userName].businessCountry}

#{webCenterProfile[securityContext.userName].businessCountry}

ユーザーが割り当てられている国。

#{webCenterProfile[userName].preferredLanguage}

#{webCenterProfile[securityContext.userName].preferredLanguage}

ユーザーの優先言語。

#{webCenterProfile[userName].displayName}

#{webCenterProfile[securityContext.userName].displayName}

ユーザーの表示名。

#{webCenterProfile[userName].userName}

#{webCenterProfile[securityContext.userName].userName}

ユーザーの本名。

#{webCenterProfile[userName].title}

#{webCenterProfile[securityContext.userName].title}

ユーザーの役職名

#{webCenterProfile[userName].businessEmail}

#{webCenterProfile[securityContext.userName].businessEmail}

ユーザーの勤務先電子メール・アドレス。

#{webCenterProfile[userName].organization}

#{webCenterProfile[securityContext.userName].organization}

ユーザーが属している組織(Salesなど)。

#{webCenterProfile[userName].businessMobile}

#{webCenterProfile[securityContext.userName].businessMobile}

ユーザーの携帯電話番号。

#{webCenterProfile[userName].expertise}

#{webCenterProfile[securityContext.userName].expertise}

ユーザーの専門業務。

A.15 偽装に関連するEL

表A-14では、WebCenter Portal偽装に関連するEL式を示し、提供される機能のタイプについて説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。

これらのELの使用方法の詳細は、「WebCenter Portal偽装セキュリティのカスタマイズ」を参照してください。

表A-14 偽装に関連するEL式

機能

#{WCSecurityContext.impersonationConfigured}

現在のドメインで偽装が有効化されているかどうかを返します。

このELは、偽装セッションの終了が早すぎることが原因でエラーが発生したのかどうかを判別したり、セッションが終了したことを示す追加のインジケータを提供する場合に便利です。

#{WCSecurityContext.userInImpersonationSession}

現在のユーザーが偽装セッションにあるのかどうかを返します。

このELを使用して、コンテンツを保護し、偽装セッション中はアクセスできないようにレンダリングできます。たとえば、ページ上の管理タスク・フローのレンダリングされた属性をこのELにマップして、ユーザーが偽装セッションでタスク・フローを表示しない場合、タスク・フローのレンダリングのみを行うことができます。

#{WCSecurityContext.currentImpersonator}

このELを使用すると、ページ・テンプレートを変更して偽装者を表示したり、特定の偽装者のみにアクセスできるようにコンテンツをレンダリングできます。

A.16 ページ・エディタに関連するEL式

表A-15に、WebCenter Portalページ・エディタに関連するEL式を示します。これらのEL式は、WebCenter Portalを使用して構築されたポータルとOracle JDeveloperを使用して構築されたアセット・アプリケーションの両方で使用できます。

表A-15 ページ・エディタに関連するEL式

機能

#{composerContext.inEditMode}

現在のページが表示モードなのか編集モードなのかを決定します。

例:

<af:outputText id="ot1"
  value="#{composerContext.inEditMode ne
  true ? 'View mode' : 'Edit mode'} />

この例は、ページが表示モードの場合、ADF FacesのoutputTextコンポーネントがView modeを返し、ページが編集モードの場合はEdit modeを返すことを示しています。

#{changeModeBean.inEditMode}

childCreation属性は、ポップアップ・ダイアログの子をコンポーザで表示できるかどうかを決定します。デフォルトでは、この属性はdeferredに設定されており、ポップアップ・ダイアログの子を表示する際に使用できます。値をimmediateに設定すると、ポップアップ・ダイアログの子を表示できます。

例:

<af:popup childCreation="#{changeModeBean.inEditMode
  ? 'immediate' : 'deferred'}" />

childrenCreation属性をimmediateに設定すると、パフォーマンスに影響を与えます。ページ上でポップアップを使用する必要がない場合には、deferredのデフォルト設定を使用するとCPUのペナルティと不要なメモリーの使用を避けることができます。ポップアップは非モーダルで表示されるため、アプリケーションではエラーなしでそのファクトを処理できる必要があります。

A.16.1 例: ページ・エディタに対するEL式の使用

この項では、表示モードと編集モードで異なるページを表示するためのEL式の使用例を示します。自分のページのうちの1つ(Page1)について、表示モードでは別のページ(Page2)を表示することを考えてみます。ただし、Page1の編集中は、Page2ではなく、www.example.comというWebサイトを表示させます。次の形式のELを使用できます。

#{ composerContext.inEditMode ? 'http://www.example.com' : 'url_of_Page2' }

このELにより、ページが編集モードのときは指定されたWebサイトが表示され、表示モードのときにはPage2が表示されます。

次の手順は、ページ・モードによって異なるページを表示する方法を示しています。

  1. ページ・エディタでPage1という名前のページを開きます。

  2. デザイン・ビューで、リソース・カタログの「Web開発」をクリックします。

  3. 「Webページ」の横に表示されている「追加」をクリックします。

  4. 新しく追加されたWebページの「編集」アイコンをクリックします。

  5. 「コンポーネント・プロパティ」ダイアログの「表示オプション」タブで、「ソース」フィールドに、次の形式で値を入力します。

    #{ composerContext.inEditMode ? 'website_url' : 'url_of_Page2' }
    
  6. 「OK」をクリックします。

    コンポーザでは、指定したWebサイトがPage1に表示されます。ページを保存して閉じます。Page1にはPage2が表示されます。

A.17 デバイス設定に関連するEL式

この項では、デバイス設定に関する情報を取得するELについて説明します。デバイス設定の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalの管理』のデバイス設定の管理に関する項を参照してください。

EL式を使用して、特定のデバイスをターゲットとするアセット(スキンおよびページ・テンプレート)を設定できます。デバイス設定が指定されたEL式の使用の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalの管理』のデバイス設定の管理に関する項を参照してください。

  • 表A-16に、デバイス・グループ・マッピングに関する情報を取得するためのEL式を示します。

  • 表A-17に、デバイスに関する情報を取得するためのELを示します。

  • 表A-18に、デバイス・グループに関連付けられているスキンおよびページ・テンプレートに関する情報を取得するためのELを示します。

  • 「デバイス属性を検出するタスク・フローのサンプル・コード」では、ポータルへのアクセスに使用するデバイスの属性を検出するためのタスク・フローで使用できるサンプル・コードを示します。

たとえば、ページ・デザイナは、デバイスの属性を使用してページのコンテンツ領域の幅を制御するために、次のELを使用できます。

#{DeviceAgent.device.attributes['display_resolution_width']

表A-16 デバイス・エージェントに関連するEL式

関連するJava API 説明

#{DeviceAgent}

DeviceAgent.getInstance()

すべてのデバイス設定ELに対するルート・エントリ・ポイント。

#{DeviceAgent.device}

DeviceAgent.getInstance().getDevice()

現在のリクエストのマップ先のデバイス。

#{DeviceAgent.deviceGroups}

DeviceAgent.getInstance().getDeviceGroups()

現在のデバイスのマップ先のデバイス・グループのリスト。この操作では、enabledとマークされているかどうかに関係なく、すべてのデバイス・グループが返されます。

#{DeviceAgent.currentScopeDeviceGroup}

DeviceAgent.getInstance().getCurrentScopeDeviceGroup()

特定のポータルについて着信リクエストがマップされたデバイス・グループを取得します。このELによって、特定のデバイスについてページ・バリアントが表示されない理由に関する問題を、管理者が診断しやすくなります。

表A-17 デバイスに関連するEL式

関連するJava API 説明

#{DeviceAgent.device}

DeviceAgent.getInstance().getDevice()

現在のリクエストのマップ先のデバイス。

#{DeviceAgent.device.name}

DeviceAgent.getInstance().getDevice().getName()

デバイスの名前。システム・フレンドリな識別子で、内部リンクに使用できます。

#{DeviceAgent.device.displayName}

DeviceAgent.getInstance().getDevice().getDisplayName()

デバイスの表示名。

#{DeviceAgent.device.attributes}

DeviceAgent.getInstance().getDevice().getAttributes()

デバイスに関連付けられている属性のマップ。画面サイズ、OSバージョンなど。

たとえば、次のELは、デバイスの作成時に設定された表示解像度の幅を返します。

#{DeviceAgent.device.attributes['display_resolution_width']}

表A-18 デバイス・グループに関連するEL式

関連するJava API 説明

#{DeviceAgent.currentScopeDeviceGroup}

DeviceAgent.getInstance().getCurrentScopeDeviceGroup()

現在のリクエストのマップ先のデバイス・グループ。適切なデバイス・グループを識別するための一般的なフローは次のとおりです。

  1. 現在のリクエストが属しているデバイスを識別します。

  2. 現在のポータルに対して有効になっているすべてのデバイス・グループを取得します。

  3. デバイスが属している最初のデバイス・グループ(前述のリスト)を識別します。

#{DeviceAgent.currentScopeDeviceGroup.name}

DeviceAgent.getInstance().getCurrentScopeDeviceGroup().getName()

デバイス・グループの名前。次に例を示します。

#{DeviceAgent.currentScopeDeviceGroup.name =='androidTablets'}

#{DeviceAgent.currentScopeDeviceGroup.portalPageTemplate}

DeviceAgent.getInstance().getCurrentScopeDeviceGroup().getPortalPageTemplate()

このデバイス・グループ・オブジェクトに関連付けられているポータル・ページ・テンプレートのGUIDを返します。メソッドからNULLが返された場合、ポータルのデフォルト・ページ・テンプレート設定が有効になっています。

注意: 取得したGUIDでの操作に使用するリソースELの詳細は、「ポータル・リソースに関連するEL」を参照してください。

#{DeviceAgent.currentScopeDeviceGroup.portalSkin}

DeviceAgent.getInstance().getCurrentScopeDeviceGroup().getPortalSkin()

このデバイス・グループに関連付けられているポータル・スキンのGUIDを返します。メソッドからNULLが返された場合、ポータルのデフォルト・スキン設定が有効になっています。

注意: 取得したGUIDでの操作に使用するリソースELの詳細は、「ポータル・リソースに関連するEL」を参照してください。

#{DeviceAgent.currentScopeDeviceGroup.default}

DeviceAgent.getInstance().getCurrentScopeDeviceGroup().isDefault()

デバイス・グループが現在のデバイスのデフォルトである場合は、trueを返します。デバイス・グループがデバイスのデフォルトでない場合は、falseを返します。たとえば、デフォルトのデバイス・グループがデスクトップ・ブラウザになっているときに、iPad上でポータルにアクセスした場合、デバイス・グループはiPadになりますが、これはデフォルトのデバイス・グループではありません。この場合、メソッドはfalseを返します。

#{DeviceAgent.currentScopeDeviceGroup.enabled}

DeviceAgent.getInstance().getCurrentScopeDeviceGroup().isEnabled()

このデバイス・グループが現在のポータルに対して有効とマークされているかどうかを識別します。

注意: この呼出しでは、デバイス・グループは常にtrueの状態です。このELは、すべてのデバイス・グループがEL #{DeviceAgent.deviceGroups}によって取得された場合に便利です。

A.17.1 デバイス属性を検出するタスク・フローのサンプル・コード

次の例では、デバイス属性を検出するタスク・フローの作成に使用できるJSFページ・フラグメントを示します。ELによって属性が返されます。このタスク・フローは、デバイス上でポータルが正しくレンダリングされないような状況のトラブルシューティングなどに役立ちます。デバイス属性を検出することで、レンダリング問題の修正処理を行えます。図A-6は、このサンプル・コードによって作成されたタスク・フローからの出力を示しています。

例: デバイス属性を検出するタスク・フロー・コード

<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:pe="http://xmlns.oracle.com/adf/pageeditor" xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable" xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
 <af:panelGroupLayout layout="scroll" id="pgl1">
 <cust:panelCustomizable id="pc1"/>
 <f:facet name="separator">
 <af:separator id="s1"/>
 </f:facet>
 <af:panelFormLayout id="pfl1">
 <af:group id="g1">
 <af:panelLabelAndMessage id="it0" label="Current Device" labelStyle="color:#0000ff;font-weight:bold;"/>
 <af:panelLabelAndMessage id="it1plm" label="Internal Name">
 <af:outputText id="it1" value="#{DeviceAgent.device.name}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it2plm" label="Display Name">
 <af:outputText id="it2" value="#{DeviceAgent.device.displayName}"/>
 </af:panelLabelAndMessage>
 </af:group>
 <af:group>
 <af:panelLabelAndMessage id="it01" label="Current Device Group" labelStyle="color:#0000ff;font-weight:bold;"/>
 <af:panelLabelAndMessage id="it3plm" label="Internal Name">
 <af:outputText id="it3" value="#{DeviceAgent.currentScopeDeviceGroup.name}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it4plm" label="Display Name">
 <af:outputText id="it4" value="#{DeviceAgent.currentScopeDeviceGroup.displayName}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it5plm" label="PageTemplate">
 <af:outputText id="it5" value="#{srmContext.id[DeviceAgent.currentScopeDeviceGroup.portalPageTemplate].singleResult.displayName}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it6plm" label="Skin">
 <af:outputText id="it6" value="#{srmContext.id[DeviceAgent.currentScopeDeviceGroup.portalSkin].singleResult.displayName}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it7plm" label="Is Default">
 <af:outputText id="it7" value="#{DeviceAgent.currentScopeDeviceGroup.default}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it8plm" label="Is Enabled">
 <af:outputText id="it8" value="#{DeviceAgent.currentScopeDeviceGroup.enabled}"/>
 </af:panelLabelAndMessage>
 </af:group>
 <af:group>
 <af:panelLabelAndMessage id="it9plm" label="Current Browser User Agent" labelStyle="color:#0000ff;font-weight:bold;">
 <af:outputText id="it9" value="#{DeviceAgent.userAgent}"/>
 </af:panelLabelAndMessage>
 </af:group>
 <af:group>
 <af:panelLabelAndMessage id="pt0" label="Page Template Info" labelStyle="color:#0000ff;font-weight:bold;"/>
 <af:panelLabelAndMessage id="it010plm" label="Expected PageTemplate:GUID">
 <af:outputText id="it010" value="#{DeviceAgent.currentScopeDeviceGroup.portalPageTemplate}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it0010plm" label="Expected PageTemplate:Name">
 <af:outputText id="it0010" value="#{srmContext.id[DeviceAgent.currentScopeDeviceGroup.portalPageTemplate].singleResult.displayName}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it10plm" label="Current PageTemplate:GUID">
 <af:outputText id="it10" value="#{WCAppContext.application.siteTemplatesManager.currentSiteTemplateId}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it10aplm" label="Current PageTemplate:Name">
 <af:outputText id="it10a" value="#{srmContext.id[WCAppContext.application.siteTemplatesManager.currentSiteTemplateId].singleResult.displayName}"/>
 </af:panelLabelAndMessage>
 </af:group>
 <af:group>
 <af:panelLabelAndMessage id="sk0" label="Skin Info" labelStyle="color:#0000ff;font-weight:bold;"/>
 <af:panelLabelAndMessage id="it0111plm" label="Expected Skin:GUID">
 <af:outputText id="it0111" value="#{DeviceAgent.currentScopeDeviceGroup.portalSkin}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it0112plm" label="Expected Skin:Name">
 <af:outputText id="it0112" value="#{srmContext.id[DeviceAgent.currentScopeDeviceGroup.portalSkin].singleResult.displayName}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it111plm" label="Current Skin:GUID">
 <af:outputText id="it111" value=""/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="it112plm" label="Current Skin:Name">
 <af:outputText id="it112" value="#{requestScope['oracle.webcenter.webcenterapp.view.shell.WebCenterShellManager.SHELLHANDLER'].adfFacesSkin}"/>
 </af:panelLabelAndMessage>
 </af:group>
 <af:group>
 <af:panelLabelAndMessage id="pg0" label="Page Info" labelStyle="color:#0000ff;font-weight:bold;"/>
 <af:panelLabelAndMessage id="pg10" label="Page Path">
 <af:outputText id="pg1" value="#{pageDocBean.pagePath}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="pg20" label="Page Style">
 <af:outputText id="pg2" value=""/>
 </af:panelLabelAndMessage>
 </af:group>
 <af:group>
 <af:panelLabelAndMessage id="ap90" label="Optional Attributes" labelStyle="color:#0000ff;font-weight:bold;"/>
 <af:panelLabelAndMessage id="ap1opta" label="brand-name">
 <af:outputText id="ap1" value="#{DeviceAgent.device.attributes['brand-name']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap2opta" label="device-os">
 <af:outputText id="ap2" value="#{DeviceAgent.device.attributes['device-os']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap3opta" label="device-type">
 <af:outputText id="ap3" value="#{DeviceAgent.device.attributes['device-type']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap4opta" label="device_default_aspect_ratio">
 <af:outputText id="ap4" value="#{DeviceAgent.device.attributes['device_default_aspect_ratio']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap5opta" label="device_os-version">
 <af:outputText id="ap5" value="#{DeviceAgent.device.attributes['device_os-version']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap6opta" label="device_preview_css">
 <af:outputText id="ap6" value="#{DeviceAgent.device.attributes['device_preview_css']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap7opta" label="device_preview_horizontal_css">
 <af:outputText id="ap7" value="#{DeviceAgent.device.attributes['device_preview_horizontal_css']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap8opta" label="device_preview_viewport_css">
 <af:outputText id="ap8" value="#{DeviceAgent.device.attributes['device_preview_viewport_css']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap9opta" label="device_preview_viewport_horizontal_css">
 <af:outputText id="ap9" value="#{DeviceAgent.device.attributes['device_preview_viewport_horizontal_css']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap10opta" label="device_streaming_flv">
 <af:outputText id="ap10" value="#{DeviceAgent.device.attributes['device_streaming_flv']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap11opta" label="device_streaming_preferred_http_protocol">
 <af:outputText id="ap11" value="#{DeviceAgent.device.attributes['device_streaming_preferred_http_protocol']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap12opta" label="device_streaming_preferred_protocol">
 <af:outputText id="ap12" value="#{DeviceAgent.device.attributes['device_streaming_preferred_protocol']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap13opta" label="device_video_streaming">
 <af:outputText id="ap13" value="#{DeviceAgent.device.attributes['device_video_streaming']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap14opta" label="display_orientation_support">
 <af:outputText id="ap14" value="#{DeviceAgent.device.attributes['display_orientation_support']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap15opta" label="display_resolution_height">
 <af:outputText id="ap15" value="#{DeviceAgent.device.attributes['display_resolution_height']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap16opta" label="display_resolution_width">
 <af:outputText id="ap16" value="#{DeviceAgent.device.attributes['display_resolution_width']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap17opta" label="is-wireless_device">
 <af:outputText id="ap17" value="#{DeviceAgent.device.attributes['is-wireless_device']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap18opta" label="marketing-name">
 <af:outputText id="ap18" value="#{DeviceAgent.device.attributes['marketing-name']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap19opta" label="model-name">
 <af:outputText id="ap19" value="#{DeviceAgent.device.attributes['model-name']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap20opta" label="model-version">
 <af:outputText id="ap20" value="#{DeviceAgent.device.attributes['model-version']}"/>
 </af:panelLabelAndMessage>
 <af:panelLabelAndMessage id="ap21opta" label="icon">
 <af:outputText id="ap21" value="#{DeviceAgent.device.attributes['icon']}"/>
 </af:panelLabelAndMessage>
 </af:group>
 </af:panelFormLayout>
 </af:panelGroupLayout>
</jsp:root>

図A-6 サンプル・タスク・フローからの出力

図A-6の説明が続きます
「図A-6 サンプル・タスク・フローからの出力」の説明

A.18 実用的なEL式

表A-19では、実用的なEL式を示し、提供される機能のタイプについて説明します。

表A-19 実用的なEL式

機能

#{userPreferences.currentDate}

現在の日付を現在のユーザーのプリファレンスで指定されている形式で戻します。

#{WCTruncator['text']['numberOfChars']}

textとして指定された文字列をnumberOfCharsとして指定された文字数まで切り捨て、後に省略記号を付けたものを戻します。たとえば、#{WCTruncator['abracadabra']['5']}abrac...と評価されます。

#{facesContext.viewRoot.locale}

#{facesContext.externalContext.requestLocale}

どちらの式も、リクエストのロケール(ブラウザのロケール設定)を返します。

#{adfFacesContext.skinFamily}

現行のアプリケーション・スキン・ファミリを戻します。戻り値は#{requestContext.skinFamily}と同じです。

A.19 式エディタの組込み式

式エディタで、「値の選択」オプションを選択すると、ダイアログ内のテキスト・ボックスに組込みEL式を移入できます。まず式のカテゴリを選択し、次に式から返される情報のタイプを選択します。選択内容に関連するELが、ダイアログ下部のテキスト・ボックスに表示されます(図A-7)。

図A-7 式エディタの「値の選択」の下のオプション

図A-7の説明が続きます
「図A-7 式エディタの「値の選択」の下のオプション」の説明

この項は、カテゴリごとの項に分類されます。各項では、そのカテゴリに関連付けられるELをリストし、説明しています。

この項では、次の内容について説明します。

A.19.1 アプリケーション情報の組込みEL

アプリケーション情報の組込みEL式は、Oracle WebCenter Portalに関連する値を返します。たとえば、#{WCAppContext.application.applicationConfig.title}という式は、WebCenter Portal管理の「一般」ページで指定されるアプリケーション名を返します。

関連項目:

アプリケーションに関連するその他のEL式は、「WebCenter Portal情報に関連するEL」を参照してください。

表A-20に、「アプリケーション情報」カテゴリで使用できる組込みEL式と、返される値のタイプの例を示します。

表A-20 「アプリケーション情報」の組込みEL式

オプション 戻り値の例

現在のスコープ

#{serviceCtx.scope}

Scope[name=standards, guid=sa78185d3_9d65_49ab_ac1d_4809380d0b30]

現在のページ・テンプレート・スコープ

#{WCAppContext.currentScope}

Scope[name=standards, guid=sa78185d3_9d65_49ab_ac1d_4809380d0b30]

以前に設定されたページ・テンプレート

#{WCAppContext.previouslySetPageTemplate}

Fusion Side Navigation

アプリケーション

#{WCAppContext.application}

oracle.webcenter.webcenterapp.internal.view.shell.WCApplication

アプリケーションURL

#{WCAppContext.applicationURL}

http://host:port/webcenter

現在のWebCenter Portal URI

#{WCAppContext.currentWebCenterURI}

/oracle/webcenter/page/scopedMD/GUID/businessRolePages/Page3.jspx?wc.contextURL=%2Fspaces

アプリケーション構成

#{WCAppContext.application.applicationConfig}

oracle.webcenter.webcenterapp.beans.WebCenterMetadataImpl@123db9d

アプリケーション構成タイトル

#{WCAppContext.application.applicationConfig.title}

WebCenter

アプリケーション構成ロゴ

#{WCAppContext.application.applicationConfig.logo}

/oracle/webcenter/webcenterapp/metadata/images/logo.gif

アプリケーション構成ヘルプ・ページ

#{WCAppContext.application.applicationConfig.helpPage}

/webcenterhelp/spaces?topic=welcome_main

アプリケーション構成著作権メッセージ・カスタム値

#{WCAppContext.application.applicationConfig.copyrightMessage.customValue}

http://www.example.com/html/copyright.html

アプリケーション構成プライバシ・ポリシーURL

#{WCAppContext.application.applicationConfig.privacyPolicyUrl}

http://www.example.com/html/privacy.html

アプリケーション構成スキン

#{WCAppContext.application.applicationConfig.skin}

webcenterfx

たとえば、現在のページのURLをコピーおよび共有できるようにするリンクをポータルのすべてのページに表示する場合を考えてみます。HTMLマークアップ・アイテムをページ・テンプレートに追加して、ページURLを返すELを追加できます。

次の手順は、ELを使用してページURLを取得する方法を示しています。

  1. カスタム・ページ・テンプレートを編集モードで開きます。

  2. デザイン・ビューで、リソース・カタログの「Web開発」をクリックします。

  3. 「HTMLマークアップ」の横の「追加」をクリックします。

  4. 新しく追加されたHTMLマークアップの「編集」アイコンをクリックします。

  5. 「コンポーネント・プロパティ」ダイアログの「表示オプション」タブで、「値」フィールドに、次のELを入力します。

    <a href="javascript:{
     var returnvalue =prompt( '#{pageDocBean.title}
    URL','#{WCAppContext.applicationURL}/faces#{WCAppContext.currentWebCenterURI}');
    }">Share Link</a>
    
  6. 「OK」をクリックします。

  7. ページ・テンプレートをポータルに適用します。

A.19.2 アセット情報の組込みEL

アセット情報の組込みEL式は、WebCenter Portalリソース(テンプレート、スタイル、リソース・カタログなど)に関連する値を返します。たとえば、#{srmContext.id['ResourceID'].singleResult}という式は、指定されたGUIDのアセットを返します。

関連項目:

アセットに関連するその他のEL式は、「アセットに関連するEL」を参照してください。

表A-21に、「アセット情報」カテゴリで使用できる組込みEL式と、返される値のタイプの例を示します。

表A-21 「アセット情報」の組込みEL式

オプション 戻り値の例

アセットID

#{srmContext[wCond['id']['like']['ResourceID']].singleResult}

id:gsr3396194a_3a72_44d6_90b4_57fd6efe4ff7 resourceScope:Scope[name=defaultScope, guid=s8bba98ff_4cbb_40b8_beee_296c916a23ed] resourceType:siteTemplate serviceId:oracle.webcenter.siteresources.sitetemplate category: displayName:Fusion Side Navigation displayNameKey:SITE_TEMPLATE_FUS_SIDE_STRETCH_NAV_DN description:Stretching Page Layout with Side Navigation. Use Fusion FX Skin. descriptionKey:SITE_TEMPLATE_FUS_SIDE_STRETCH_NAV_DESC contentDirectory:/oracle/webcenter/siteresources/shared metadataFile: jspx:/oracle/webcenter/webcenterapp/view/templates/WCSiteTemplateSideNavStretch.jspx pageDef:/oracle/webcenter/webcenterapp/bindings/pageDefs/oracle_webcenter_webcenterapp_view_templates_WCSiteTemplateSideNavStretchPageDef.xml iconURI: excludeFrom: usesCustomSecurity:false visible:TRUE seeded:true createdBy:system createdDate:Fri Jul 02 05:44:19 PDT 2010 modifiedBy:system resourceBundle:oracle.webcenter.sitetemplate.view.resource.SiteTemplateBundle modifiedDate:Fri Jul 02 05:44:19 PDT 2010 logoUrl:/adf/webcenter/srm_dflt_logo_qualifier.png attributes:[]

表示名

#{srmContext[wCond['displayName']['like']['DisplayName']].singleResult}

戻り値の例は、「アセットID」を参照してください。

説明

#{srmContext[wCond['description']['like']['Description']].singleResult}

戻り値の例は、「アセットID」を参照してください。

作成日

#{srmContext[wCond['createdDate']['like']['CreationDate']].singleResult}

戻り値の例は、「アセットID」を参照してください。

変更者

#{srmContext[wCond['modifiedBy']['like']['UserName']].singleResult}

戻り値の例は、「アセットID」を参照してください。

更新日

#{srmContext[wCond['modifiedDate']['like']['ModifiedDate']].singleResult}

戻り値の例は、「アセットID」を参照してください。

アセット・スコープ

#{srmContext[wCond['resourceScope']['like']['ResourceScope']].singleResult}

戻り値の例は、「アセットID」を参照してください。

A.19.3 ページ情報の組込みEL

ページ情報の組込みEL式は、WebCenter Portalページに関連する値を返します。たとえば、#{pageDocBean.createdBy}という式は、現在のページの作成者のユーザー名を返します。

表A-22に、「ページ情報」カテゴリで使用できる組込みEL式と、返される値のタイプの例を示します。

表A-22 「ページ情報」の組込みEL式

オプション 戻り値の例

タイトル

#{pageDocBean.title}

Welcome Page (BRP)

作成者

#{pageDocBean.createdBy}

j.doe

作成日文字列

#{pageDocBean.createDateString}

2010-11-17T13:27:52

最終更新者

#{pageDocBean.lastUpdatedBy}

j.smith

最終更新日文字列

#{pageDocBean.lastUpdateDateString}

2010-11-17T13:27:52

ページ・パス

#{pageDocBean.pagePath}

/oracle/webcenter/page/scopedMD/GUID/businessRolePages/Page3.jspx

名前

#{pageDocBean.name}

Page3.jspx

UI CSSスタイル

#{pageDocBean.UICSSStyle}

WCSchemeCustom

UIスキームの背景イメージ

#{pageDocBean.UISchemeBGImage}

#{facesContext.externalContext.requestContextPath}/adf/oracle/webcenter/page/images/clouds.png

UIスキームの背景色文字列

#{pageDocBean.UISchemeBGColorString}

null

ページ権限

#{pageDocBean.pagePermission}

oracle.webcenter.page.model.security.CustomPagePermission

ページ・セキュリティ・ターゲット

#{pageDocBean.pageSecurityTarget}

oracle_webcenter_page_scopedMD_sa78185d3_9d65_49ab_ac1d_4809380d0b30_COIHomePageDef

A.19.4 ページ・パラメータの組込みEL

ページ・パラメータの組込みEL式は、WebCenter Portalページ・パラメータに関連する値を返します。エディタには、現在のページで定義されているすべてのパラメータが表示されます。パラメータが定義されていない場合、「ページ・パラメータ」カテゴリは使用できません。

たとえば、組込みページ・スタイル「ブログ」には、5つの組込みページ・パラメータがあります(表A-23を参照)。widthパラメータは、各列に割り当てられる、幅全体の割合(パーセント)を表します。showパラメータは、ページのヘッダーとフッターがレンダリングされるかどうかを指定します。どのページも独自のカスタム・ページ・パラメータを持つことができます。

組込みでもカスタムでも、使用可能なページ・パラメータは、「ページ・パラメータ」カテゴリの式エディタに表示されます。

関連項目:

ページ・パラメータの作成および使用方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalでのポータルの構築』のページ・パラメータの追加または変更に関する項を参照してください。

表A-23に、「ブログ」ページ・スタイルに基づくページについて、「ページ・パラメータ」カテゴリで使用できるEL式を示します。各パラメータから返される値のタイプの例も示します。

表A-23 「ページ・パラメータ」の組込みEL式

オプション 戻り値の例

leftWidth

#{bindings.leftWidth}

25%

centerWidth

#{bindings.centerWidth}

50%

rightWidth

#{bindings.rightWidth}

25%

showHeader

#{bindings.showHeader}

false

showFooter

#{bindings.showFooter}

false

A.19.5 ポータル情報の組込みEL

ポータル情報の組込みEL式は、(ホーム・ポータル以外の)ポータルに関連する値を返します。たとえば、#{spaceContext.space}という式は、現在のポータルの名前を返します。

関連項目:

ポータルに関連するその他のEL式は、「特定のポータルに関連するEL」を参照してください。

表A-24に、「ポータル情報」カテゴリで使用できる組込みEL式と、返される値のタイプの例を示します。

注意:

表A-24に示されているEL式は、ホーム・ポータル以外のポータルのコンテキストでのみ使用してください。

表A-24 「ポータル情報」の組込みEL式

オプション 戻り値の例

NamedPortal

#{spaceContext.space['portalName']}

oracle.webcenter.spaces.internal.model.SpaceImpl@15fc839

CurrentPortal

#{spaceContext.currentSpace}

oracle.webcenter.spaces.internal.model.SpaceImpl@d5e197

CurrentPortal名

#{spaceContext.currentSpaceName}

standards

NamedPortalメタデータ・パス

#{spaceContext.space['portalName'].metadataPath}

/oracle/webcenter/space/metadata/spaces/portalName/space.xml

CurrentPortalメタデータ・パス

#{spaceContext.currentSpace.metadataPath}

/oracle/webcenter/space/metadata/spaces/standards/space.xml

NamedPortalメタデータ

#{spaceContext.space['portalName'].metadata}

oracle.webcenter.spaces.beans.SpaceMetadataImpl@1d7320a

CurrentPortalメタデータ

#{spaceContext.currentSpace.metadata}

oracle.webcenter.spaces.beans.SpaceMetadataImpl@1096c64

NamedPortalメタデータ表示名

#{spaceContext.space['portalName'].metadata.displayName}

Standards

CurrentPortalメタデータ表示名

#{spaceContext.currentSpace.GSMetadata.displayName}

Sales

NamedPortalメタデータ・アイコン

#{WCPrepareImageURL[spaceContext.space['portalName'].metadata.icon]['']}

/webcenter-spaces-resources/oracle/webcenter/space/metadata/spacetemplate/PortalSite/images/portal_icon.png

CurrentPortalメタデータ・アイコン

#{WCPrepareImageURL[spaceContext.currentSpace.metadata.icon]['']}

/webcenter-spaces-resources/oracle/webcenter/space/metadata/spaces/Test_Space/images/wc_prj_icon.png

NamedPortalメタデータ説明

#{spaceContext.space['portalName'].metadata.description}

Central point for all standards, templates, and stylesheets for company collateral

CurrentPortalメタデータ説明

#{spaceContext.currentSpace.GSMetadata.description}

Sales Force Team Site

NamedPortalメタデータ作成日

#{spaceContext.space['portalName'].metadata.creationDate}

java.util.GregorianCalendar[time=1290103432242,areFieldsSet=true,areAllFieldsSet=false,lenient=false,zone=java.util.SimpleTimeZone[id=,offset=-28800000,dstSavings=3600000,useDaylight=false,startYear=0,
startMode=0,startMonth=0,startDay=0,startDayOfWeek=0,startTime=0,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,
YEAR=2010,MONTH=10,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=18,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=3,SECOND=52,MILLISECOND=242,ZONE_OFFSET=?,DST_OFFSET=?]

CurrentPortalメタデータ作成日

#{spaceContext.currentSpace.metadata.creationDate}

java.util.GregorianCalendar[time=1290103432242,areFieldsSet=true,areAllFieldsSet=false,lenient=false,zone=java.util.SimpleTimeZone[id=,offset=-28800000,dstSavings=3600000,useDaylight=false,startYear=0,
startMode=0,startMonth=0,startDay=0,startDayOfWeek=0,startTime=0,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2010,MONTH=10,
WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=18,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=3,SECOND=52,MILLISECOND=242,ZONE_OFFSET=?,DST_OFFSET=?]

NamedPortalメタデータ作成者

#{spaceContext.space['portalName'].metadata.createdBy}

j.doe

NamedPortalメタデータ・キーワード

#{spaceContext.space['portalName'].metadata.keywords}

standards templates style sheets collateral

CurrentPortalメタデータ・キーワード

#{spaceContext.currentSpace.metadata.keywords}

sales salesReports salesNews salesTeam

NamedPortalメタデータ・オフライン

#{spaceContext.space['portalName'].metadata.offline}

指定されたポータルがオフラインかどうかによって、falseまたはtrue

CurrentPortalメタデータ・オフライン

#{spaceContext.currentSpace.metadata.offline}

現在のポータルがオフラインかどうかによって、falseまたはtrue

NamedPortalメタデータ・クローズ

#{spaceContext.space['portalName'].metadata.offline}

指定されたポータルが閉じているかどうかによって、falseまたはtrue

CurrentPortalメタデータ・クローズ

#{spaceContext.currentSpace.metadata.closed}

現在のポータルが閉じているかどうかによって、falseまたはtrue

NamedPortalメタデータ自己登録

#{spaceContext.space['portalName'].metadata.selfRegistration}

指定されたポータルで自己登録が有効かどうかによって、falseまたはtrue

CurrentPortalメタデータ自己登録

#{spaceContext.currentSpace.metadata.selfRegistration}

現在のポータルで自己登録が有効かどうかによって、falseまたはtrue

NamedPortalメタデータ検出可能

#{spaceContext.space['portalName'].metadata.discoverable}

指定されたポータルが検出可能かどうかによって、falseまたはtrue

CurrentPortalメタデータ検出可能

#{spaceContext.currentSpace.metadata.discoverable}

現在のポータルが検出可能かどうかによって、falseまたはtrue

NamedPortalメタデータ公開RSS

#{spaceContext.space['portalName'].metadata.publishRSS}

指定されたポータルがRSSリーダーで公開可能どうかによって、falseまたはtrue

CurrentPortalメタデータ公開RSS

#{spaceContext.currentSpace.metadata.publishRSS}

現在のポータルがRSSリーダーで公開可能どうかによって、falseまたはtrue

NamedPortal配信リスト

#{spaceContext.space['portalName'].distributionList}

standardsGroup@myCompany.com

CurrentPortal配信リスト

#{spaceContext.currentSpace.distributionList}

salesTeam@myCompany.com

NamedPortalメタデータ・カスタム属性

#{spaceContext.space['portalName'].metadata.customAttributes['attributeName']}

名前付きカスタム属性に入力される値が返されます

注意: このELを使用してWebCenter Portal Administrationでフィールドに値を入力する場合、「テスト」ボタンをクリックすると空白値が戻される可能性があります。ただし、実行中のポータルでは値は適切に解決されます。

CurrentPortalメタデータ・カスタム属性

#{spaceContext.currentSpace.metadata.customAttributes['attributeName']}

名前付きカスタム属性に入力される値が返されます

注意: このELを使用してWebCenter Portal Administrationでフィールドに値を入力する場合、「テスト」ボタンをクリックすると空白値が戻される可能性があります。ただし、実行中のポータルでは値は適切に解決されます。

CurrentPortalメタデータ・ロゴ

#{WCPrepareImageURL[spaceContext.currentSpace.metadata.logo]['']}

/webcenter-spaces-resources/oracle/webcenter/space/metadata/spacetemplate/PortalSite/images/portal_logo.png

CurrentPortalロール - ポータル・マネージャ

#{WCSecurityContext.userInScopedRole['Moderator']}

現在のスコープ内のいずれかのユーザーにPortal Managerロールが割り当てられているかどうかによって、falseまたはtrue

CurrentPortalロール - 参加者

#{WCSecurityContext.userInScopedRole['Participant']}

現在のスコープ内のいずれかのユーザーにParticipantロールが割り当てられているかどうかによって、falseまたはtrue

CurrentPortalロール - 閲覧者

#{WCSecurityContext.userInScopedRole['Viewer']}

現在のスコープ内のいずれかのユーザーにViewerロールが割り当てられているかどうかによって、falseまたはtrue

CurrentPortalロール - カスタム

#{WCSecurityContext.userInScopedRole['CustomRole']}

現在のスコープ内のいずれかのユーザーに名前付きカスタム・ロールが割り当てられているかどうかによって、falseまたはtrue

NamedPortal子

#{spaceContext.space['portalName'].children}

[oracle.webcenter.spaces.internal.model.SpaceImpl@5705f4, oracle.webcenter.spaces.internal.model.SpaceImpl@147d658]

注意: 角カッコ([])はセットを示します。

CurrentPortal子

#{spaceContext.currentSpace.children}

[oracle.webcenter.spaces.internal.model.SpaceImpl@5705f4, oracle.webcenter.spaces.internal.model.SpaceImpl@147d658]

注意: 角カッコ([])はセットを示します。

NamedPortal親

#{spaceContext.space['portalName'].parent}

oracle.webcenter.spaces.internal.model.SpaceImpl@15fc839

CurrentPortal親

#{spaceContext.currentSpace.parent}

oracle.webcenter.spaces.internal.model.SpaceImpl@15fc839

NamedPortalセキュリティ親

#{spaceContext.space['portalName'].securityParent}

oracle.webcenter.spaces.internal.model.SpaceImpl@1392793

CurrentPortalセキュリティ親

#{spaceContext.currentSpace.securityParent}

oracle.webcenter.spaces.internal.model.SpaceImpl@1392793

すべての表示可能なルート・レベル・スペース

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE,DISCOVERABLE,PUBLIC_ACCESSIBLE,ALLUSER_ACCESSIBLE,USER_JOINED,USER_MODERATED'].shape['ROOT_LEVEL']}

oracle.webcenter.spaces.query.SpacesQueryParameters@ae34c8

指定された親ポータルGUIDのすべての子孫ポータル

#{spaceContext.spacesQuery.parentSpaceGuid['portalGuid'].shape['RECURSIVE_FLATTENED']}

oracle.webcenter.spaces.query.SpacesQueryParameters@4da22f

指定された親ポータル名の直近のサブ・ポータル

#{spaceContext.spacesQuery.parentSpaceName['portalGuid'].shape['ROOT_LEVEL']}

oracle.webcenter.spaces.query.SpacesQueryParameters@1089971

指定されたポータル名に一致するポータルのリスト

#{spaceContext.spacesQuery.containingNames['portal1, portal2,portal3']}

oracle.webcenter.spaces.query.SpacesQueryParameters@68e467

指定されたポータルGUIDに一致するポータルのリスト

#{spaceContext.spacesQuery.containingGuids['portalGuid1, portalGuid2']}

oracle.webcenter.spaces.query.SpacesQueryParameters@1c56009

基準に基づいてソートされたポータルのリスト

#{spaceContext.spacesQuery.unionOf.ALL_QUERIABLE.sort['sp.lastUpdateDate']['desc']}

oracle.webcenter.spaces.query.SpacesQueryParameters@6c3def

検索パターンに基づいたポータルのリスト

#{spaceContext.spacesQuery.unionOf.ALL_QUERIABLE.search['searchKeyword']}

oracle.webcenter.spaces.query.SpacesQueryParameters@19b2cf3

ページ・サイズが制限されたポータルのリスト

#{spaceContext.spacesQuery.unionOf.USER_JOINED.itemsPerPage[n].pageNumber[n]}

oracle.webcenter.spaces.query.SpacesQueryParameters@4f8818

WHERE句に一致するポータルのリスト

#{spaceContext.spacesQuery.unionOf.USER_JOINED.where[wCond['sp.createdBy']['=']['userName']]}

oracle.webcenter.spaces.query.SpacesQueryParameters@1ba816d

A.19.6 ポータル・ページ情報の組込みパス

「ポータル・ページ情報」での選択内容は、EL式ではなく、様々なアプリケーション・ページへのディレクトリ・パスです。たとえば、これらを使用して、指定されたページへのナビゲーション情報を設定したりします。

表A-25に、「ポータル・ページ情報」カテゴリで使用できる組込みディレクトリ・パスと、返される値のタイプの例を示します。ドロップダウン・リスト内の値の数は、ユーザーが使用するテンプレートや作成するページによって異なります。

表A-25 「ポータル・ページ情報」の組込みパス

オプション パス 宛先

PortalSiteHome.jspx

/faces/oracle/webcenter/page/scopedMD/se2dff4fb_202a_4f4c_b56d_c7cf59ad1c04/PortalSiteHome.jspx

現在のポータルのホーム・ページへのパス

GroupSpaceDocLibMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/GroupSpaceDocLibMainView.jspx

現在のポータルの「ドキュメント」ページへのパス

ForumMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/ForumMainView.jspx

現在のポータルの「ディスカッション」ページへのパス

AnnouncementsMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/AnnouncementsMainView.jspx

現在のポータルの「お知らせ」ページへのパス

ListsMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/ListsMainView.jspx

現在のポータルの「リスト」ページへのパス

EventsMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/EventsMainView.jspx

現在のポータルの「イベント」ページへのパス

GroupSpaceActivityStreamMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/GroupSpaceActivityStreamMainView.jspx

現在のポータルの「アクティビティ・ストリーム」ページへのパス

A.19.7 システムの組込みEL

システムの組込みEL式は、現在のユーザーのユーザー名や現在のユーザーの指定されたロケールなど、システム設定に関連する値を返します。たとえば、#{securityContext.userName}という式は、現在ログインしているユーザーの名前を返します。たとえば、ユーザーj.doeがこの式の使用されているページを表示すると、j.doeのビューでの戻り値はj.doeになります。ユーザーj.smithが同じページを表示すると、j.smithのビューでの戻り値はj.smithになります。

関連項目:

その他の実用的なEL式の詳細は、「実用的なEL式」を参照してください。

表A-26に、「システム」カテゴリで使用できる組込みEL式と、返される値のタイプの例を示します。

表A-26 「システム」の組込みEL式

オプション 戻り値の例

ユーザー

#{securityContext.userName}

現在のユーザーのユーザー名

ロケール

#{facesContext.externalContext.requestLocale}

現在のユーザーの指定されたロケール

これは、アプリケーション、ポータルレベルの設定、ユーザー・プリファレンスのいずれか優先度の高いものから取得されます。

例:

en_US

A.19.8 ユーザー情報の組込みEL

ユーザー情報の組込みEL式は、特定のユーザーのプロファイルに関連する値を返します。たとえば、#{webCenterProfile[securityContext.userName].description}という式は、現在のユーザーのプロファイルの「自己紹介」属性のコンテンツを返します。

関連項目:

ユーザーに関連するその他の式は、「ピープル・コネクションに関連するEL」を参照してください。

表A-27に、「ユーザー情報」カテゴリで使用できる組込みEL式と、返される値のタイプの例を示します。

表A-27 「ユーザー情報」の組込みEL式

オプション 戻り値の例

自己紹介

#{webCenterProfile[securityContext.userName].description}

現在のユーザーのプロファイルの「自己紹介」属性のコンテンツを返します

ユーザー名

#{webCenterProfile[securityContext.userName].userName}

現在のユーザーのプロファイルで指定されたユーザー名

#{webCenterProfile[securityContext.userName].firstName}

現在のユーザーの名。

ミドル・ネーム

#{webCenterProfile[securityContext.userName].middleName}

現在のユーザーのミドルネーム。

#{webCenterProfile[securityContext.userName].lastName}

現在のユーザーの姓

使用されるイニシャル

#{webCenterProfile[securityContext.userName].initials}

現在のユーザーのイニシャル。

表示名

#{webCenterProfile[securityContext.userName].displayName}

現在のユーザーの表示名。

電子メール

#{webCenterProfile[securityContext.userName].businessEmail}

現在のユーザーの業務用電子メール・アドレス。

部門

#{webCenterProfile[securityContext.userName].department}

現在のユーザーの部門

役職/職種

#{webCenterProfile[securityContext.userName].title}

現在のユーザーの役職または職種

マネージャ

#{webCenterProfile[securityContext.userName].managerDisplayName}

現在のユーザーのマネージャの表示名

タイムゾーン

#{webCenterProfile[securityContext.userName].timeZone}

現在のユーザーに関連付けられたタイムゾーン

従業員タイプ

#{webCenterProfile[securityContext.userName].employeeType}

現在のユーザーの従業員タイプ

従業員番号

#{webCenterProfile[securityContext.userName].employeeNumber}

現在のユーザーの社員番号。

優先言語コード

#{webCenterProfile[securityContext.userName].preferredLanguage}

現在のユーザーの優先言語。

組織

#{webCenterProfile[securityContext.userName].organization}

現在のユーザーが所属する会社組織

組織単位

#{webCenterProfile[securityContext.userName].organizationalUnit}

現在のユーザーが所属する会社組織の単位

専門

#{webCenterProfile[securityContext.userName].expertise}

現在のユーザーの専門(例: Application、system、database administration)

勤務先FAX

#{webCenterProfile[securityContext.userName].businessFax}

現在のユーザーの業務用FAX番号。

勤務先携帯電話番号

#{webCenterProfile[securityContext.userName].businessMobile}

現在のユーザーの勤務先の携帯電話番号

勤務先電話番号

#{webCenterProfile[securityContext.userName].businessPhone}

現在のユーザーの勤務先電話番号

勤務先ページャ番号

#{webCenterProfile[securityContext.userName].businessPager}

現在のユーザーの業務用ページャの番号。

勤務先番地

#{webCenterProfile[securityContext.userName].businessStreet}

現在のユーザーの勤務先の住所

勤務先市区町村

#{webCenterProfile[securityContext.userName].businessCity}

現在のユーザーの勤務先がある市区町村

勤務先都道府県

#{webCenterProfile[securityContext.userName].businessState}

現在のユーザーの勤務先がある都道府県

勤務先私書箱

#{webCenterProfile[securityContext.userName].businessPOBox}

現在のユーザーの勤務先の私書箱番号

勤務先郵便番号

#{webCenterProfile[securityContext.userName].businessPostalCode}

現在のユーザーの勤務先の郵便番号

勤務先国

#{webCenterProfile[securityContext.userName].businessCountry}

現在のユーザーの勤務先がある国

自宅の住所

#{webCenterProfile[securityContext.userName].homeAddress}

現在のユーザーの自宅住所

自宅電話番号

#{webCenterProfile[securityContext.userName].homePhone}

現在のユーザーの自宅の電話番号。

生年月日

#{webCenterProfile[securityContext.userName].dateofBirth}

現在のユーザーの生年月日

旧姓

#{webCenterProfile[securityContext.userName].maidenName}

現在のユーザーの旧姓

入社日

#{webCenterProfile[securityContext.userName].dateofHire}

現在のユーザーの入社日

名前接尾辞

#{webCenterProfile[securityContext.userName].nameSuffix}

現在のユーザーの名前に追加される役職や資格(例: MDEsqなど)

ワイヤレス・アカウント番号

#{webCenterProfile[securityContext.userName].wirelessAcctNumber}

現在のユーザーのワイヤレス・インターネット・アカウントのアカウント番号

A.19.9 WebCenterイベントの組込みEL

WebCenterイベントの組込みEL式は、ドキュメント関連のイベントに関する値を返します(選択されているドキュメント、ドキュメントの作成者、ドキュメントが最後に変更された日付など)。たとえば、#{wcEventContext.events.WebCenterResourceSelected.name}という式は、現在選択されているドキュメントの名前を返します。

表A-28に、「WebCenterイベント」カテゴリで使用できる組込みEL式と、返される値のタイプの例を示します。

表A-28 「WebCenterイベント」の組込みEL式

オプション 戻り値の例

選択したユーザー名

#{wcEventContext.events.WebCenterUserSelected.UserName}

現在選択されているユーザーのユーザー名

選択したドキュメント名

#{wcEventContext.events.WebCenterResourceSelected.name}

現在選択されているドキュメントの名前

選択したドキュメント作成者

#{wcEventContext.events.WebCenterResourceSelected.createdBy}

現在選択されているドキュメントの作成者の名前

選択したドキュメント最終変更者

#{wcEventContext.events.WebCenterResourceSelected.lastModifiedBy}

選択されているドキュメントが最後に変更された日付

A.20 ポータル問合せでの自由形式のJPQL WHERE句およびSORT句の非サポート

JPQL WHERE句に基づいてポータルを問い合せるためにEL式を使用していた場合、WebCenter Portalでは、自由形式のJPQL WHERE句がサポートされないことを認識する必要があります。かわりに、構造化されたWHERE句を使用します。自由形式のSORT句もサポートされません。かわりに、構造化された方法でポータル問合せのソート基準を指定します。

たとえば、ポータル問合せに対してWHERE句を形成するために、次の構文を使用していたとします。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].whereClause['sp.keywords like \'forquery%\' and not 
(sp.discoverable is null or sp.discoverable =\'N\')'].listSpaces}

これからは、WHERE句を形成するには、次の構文を使用する必要があります。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].where[wCond['sp.keywords']['like']['forquery']['and'][wCond['sp.discoverable']
['is']['null']['or'][wCond['sp.discoverable']['=']['N']]['not']]].listSpaces}

説明:

  • wCondはアトミック条件で、wCond[p][op][v]と表すことができます。

    説明:

    • pはポータル属性です(WcSpaceHeaderのフィールド。下記の箇条書きリストを参照)。

    • opは、JPQL比較演算子の制限されたセット('=', 'like', '!=', '<', '>', '<=', '>=', 'is')のいずれかです。

    • vは、演算子opによって解釈が決まる文字列です。

      この演算子がisの場合、vには文字列'null'または'not null'を設定でき、JPQLでそれぞれnullまたは非nullであることをチェックされる属性として、条件が認識されます。この演算子がそれ以外である場合、vはリテラルとして解釈され、条件はリテラル値と比較される属性として認識されます。

    WHERE句では、次のようなWcSpaceHeaderで定義されるフィールドのいずれかを使用できます。

    • closed

    • createDate

    • createdBy

    • description

    • discoverable

    • displayName

    • keywords

    • icon

    • logo

    • lastUpdateDate

    • selfSubEnabled

    • rssEnabled

    • spaceGuid

    • spaceId

    • spaceOffline

    • spacePublic

    • spacesType

    • spacesUser

    • updatedBy

    • version

    • parentGuid

    • securityParentGuid

    • ancestorPath

    • seeded

    • groupSpaceMemCount

  • spは、ポータルWcSpaceHeaderのJPAエンティティを表しています。

    たとえば、ユーザー名がmontyで始まり、自己サブスクリプションが有効になっているユーザーによって作成されたすべてのポータルに対するフィルタを作成するには、次の条件を使用できます。

    sp.createdBy like 'monty%' and not (sp.selfSubEnabled is null or sp.selfSubEnabled ='N')
    
  • andornot (wCondとともに使用)は、条件のタイプです。

    説明:

    • andは、2つの条件の論理積を表します。論理積の条件は、cond1['and'][cond2]と表すことができます。ここで、cond1cond2は、結合する2つの条件を表す式です。

    • orは、分離条件を表します。分離条件は、cond1['or'][cond2]と表すことができます。ここで、cond1cond2は、分離する2つの条件を表す式です。

    • notは、否定条件を表します。否定条件は、cond['not']と表すことができます。ここで、condは、結合する条件を表す式です。

たとえば、次のELは、ユーザー名がmontyで始まり、自己サブスクリプションが有効になっているユーザーによって作成されたすべてのポータル(現在のユーザーがアクセス可能なポータル)のリストを返します。

#{spaceContext.spacesQuery.unionOf.ALL_QUERIABLE.where[wCond['sp.createdBy']
['like']['monty%'] ['and'] [wCond['sp.selfSubEnabled']['is']['null'] ['or'] [wCond['sp.selfSubEnabled']['=']['N']] ['not'] ]].listSpaces}

次に、ポータル問合せに対してSORT条件を指定するために、次の構文を使用していたとします。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].sortCriteria
['sp.discoverabledesc, sp.keywords'].listSpaces}

これからは、ポータル問合せに対してSORT条件を指定するには、次の構文を使用する必要があります。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].sort['sp.discoverable']
['desc'].sort['sp.keywords']['asc'].listSpaces}

説明:

  • spは、ポータルWcSpaceHeaderのJPAエンティティを表しています(WcSpaceHeaderで定義されるフィールドは、前述の箇条書きリストを参照)。

  • descascは、それぞれ降順と昇順のソート順序を定義します。

たとえば、次の問合せは、ユーザーがアクセス可能なポータルのリストを返し、フィールドdiscoverableおよびlastUpdateDateを基準に結果セットをソートします。

#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].sort['sp.discoverable']
['asc'].sort['sp.lastUpdateDate']['desc'].listSpaces}

Oracleでは、既存の自由形式のJPQL WHERE句とSORT句をすべて新しい構文に変換することを強くお薦めします。

なんらかの理由で既存の構文を維持する必要がある場合は、WebCenter Portal管理者が、webcenter-config.xml.xmlファイル内で次のグローバル・フラグを設定することで、自由形式のJPQLに対するサポートを明示的に有効にする必要があります。

oracle.webcenter.spaces.query.DIRECT_JPQL_CLAUSE_SUPPORTED

注意:

webcenter-config.xml.xmlファイルは、webcenter-config.xmlのカスタマイズ・ドキュメントです。

従来の自由形式のWHERE句とSORT句のサポートを継続するには、このフラグをtrueに設定します。このオプションをtrueに設定すると、WebCenter Portalログ・ファイルには警告が格納されます。

webcenter-config.xml.xmlでこのフラグを設定するには:

  1. MDSから最新のwebcenter-config.xml.xmlをエクスポートします。

    例:

    exportMetadata(application='webcenter', server='WC_Portal', toLocation='/tmp/mydata',docs='/oracle/webcenter/webcenterapp/metadata/mdssys/cust/site/webcenter/webcenter-config.xml.xml')
    
  2. テキスト・エディタでファイルを開き、必要に応じて設定を変更します。

    次に例を示します。

    <mds:insert parent="webcenter(xmlns(webcenter=http://
       xmlns.oracle.com/webcenter/webcenterapp))/webcenter:custom-attributes" 
       position="last">      <attribute name=
             "oracle.webcenter.spaces.query.DIRECT_JPQL_CLAUSE_SUPPORTED" 
             xmlns="http://xmlns.oracle.com/webcenter/webcenterapp">
                <description/>
                <type>java.lang.String</type>
                <value>true</value>
                <visible/>
          </attribute>
    </mds:insert>
    
  3. webcenter-config.xml.xmlを保存して閉じます。

  4. 更新後のwebcenter-config.xml.xmlファイルをWebCenter Portalにインポートします。

    次に例を示します。

    importMetadata(application='webcenter', server='WC_Portal', fromLocation='/tmp/mydata', docs='/oracle/webcenter/webcenterapp/metadata/mdssys/cust/site/webcenter/webcenter-config.xml.xml')