ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド
11g リリース1(11.1.1.7.0)
B72923-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

B 式言語(EL)式

ページ・コンポーネントの構成時に、現時点でtrueである情報を取得することにより、現在のアプリケーション・コンテキストを利用する変数として値を表示できます。たとえば、現在のユーザーの名前、ユーザーに割り当てられたロール、現在のページの状態などを取得するために変数を使用できます。

このような柔軟性は、EL式を作成するために使用可能な単純な式言語(EL)エディタである式ビルダーにより実現されます。

この付録では、式ビルダーおよび有効なEL式について説明します。この項の内容は次のとおりです。


関連項目:

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


B.1 式ビルダーの紹介

「パラメータ」および「表示オプション」タブのすべてのプロパティにより、式ビルダーと呼ばれる単純な式言語(EL)エディタを開く「式ビルダー」アイコンが提供されます。式ビルダーは、現在のユーザー、現在のページ・モードなど、不明なプロパティ値の動的計算を作成するときに使用します。

エディタを開くには、プロパティの横にある「式ビルダー」アイコンをクリックします。(図B-1)。

図B-1 「パラメータ値」フィールドのエディタの横の「式ビルダー」アイコンおよび表示されるエディタ

「パラメータ値」フィールドの横の「編集」アイコン
「図B-1 「パラメータ値」フィールドの横の「式ビルダー」アイコンおよび表示されるエディタ」の説明


関連項目:

コンポーネントのプロパティへのアクセスの詳細は、第18.6項「ページ・コンポーネントの変更」を参照してください。


式ビルダーは、現在のユーザーまたは現在のアプリケーション・スキンの名前など、検出可能だが不明な値が必要な場合に特に役立ちます。

式ビルダーには式を入力するための次の2つのオプションがあります。

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

図B-2 式ビルダーの「値の選択」のオプション

式ビルダーの「値の選択」のオプション
「図B-2 式ビルダーの「値の選択」のオプション」の説明


関連項目:

シード済EL式の詳細は、第B.4.1項「式ビルダーのシード済式」を参照してください。


「値または式の入力」オプションに続いて、テキスト・ボックスが表示され、これを使用して、目的の式を手動で入力できます(図B-3)。

図B-3 式ビルダーの「値または式の入力」のテキスト・ボックス

「値または式の入力」のテキスト・ボックス
「図B-3 式ビルダーの「値または式の入力」のテキスト・ボックス」の説明

この付録の表の多数の式は、オブジェクトまたは返されるオブジェクトを絞るための構成要素です。つまり、必ずしも単独で使用することを意図しておらず、むしろ必要な問合せを作成するためにELのアセンブリで使用されることを意図されています。

たとえば、次の式は特定のスペース・テンプレートを返す単純な問合せを作成するために3つのリソース関連のELを使用します。この式は、親スペースstoresからテンプレートstoresMasterTemplateを取得します。

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

式ビルダーの「値の選択」で、事前定義された値を選択するか、または「値または式の入力」で、値または式言語式を入力します。

値を入力するために次の形式を使用:

エディタでは、ELエントリを検証するための「テスト」ボタンが提供されます。「テスト」ボタンは、「値または式の入力」のテキスト・ボックスに入力される式に使用できます。

検証により、EL構文が確認され、式が評価されます。式の値は実行されるコンテキストによって異なるため、エディタに表示される値は、実際の使用中に返される値とは異なる場合があります。

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

テスト結果はポップアップで表示されます(図B-4)。

図B-4 ELエディタのテスト結果

ELエディタのテスト結果
「図B-4 ELエディタのテスト結果」の説明


注意:

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

汎用以外の表示オプションには、ELの検証は行われません。


B.2 式言語の使用例

この項では、ユーザーのロール、権限などに基づいて何かを表示するためにEL式を使用する例を示します。

この例では、ユーザーのロールに基づいてナビゲーション・モデルのアイテムを表示または非表示にするために式言語を使用します。Spacesによって管理されるほとんどすべてのメタデータに対して式言語があるため、ユーザーの経験をパーソナライズするためにELを使用することによって、非常に強力なツールとなります。

ユーザーのロールを判断するために、次のELを使用できます。

#{WCSecurityContext.userInScopedRole['Role 1'] or   WCSecurityContext.userInScopedRole['Role 2']}

このELでは、ELで指定される内容に対して、現在のユーザーの資格証明(この場合は、ロール)が比較されます。結果がtrueの場合、すなわち、ユーザーが指定されたロールのいずれかに割り当てられている場合、ナビゲーション・アイテムはユーザーに表示されます。結果がfalseの場合、ナビゲーション・アイテムはユーザーに対して非表示になります。

ELで参照されるロールには、AdministratorModeratorParticipant、カスタム・ロールなどのシステム・ロールがあります。

このELがOR句を使用して2つの条件を結合すること、すなわち、ユーザーがナビゲーション・アイテムを表示できるようにロール1またはロール2のいずれかを使用する必要があることに注意してください。

次の手順は、Moderatorロールを割り当てられているユーザーにのみ表示されるナビゲーション・アイテム(別のスペースのページ問合せ)の追加方法を示します。


注意:

これは、自身のスペースにカスタム・ナビゲーション・モデルを適用していることを前提としています。シード済ナビゲーション・モデルを編集することはできません。


ナビゲーションをパーソナライズするには:

  1. スペース設定に移動し、「リソース」の下の「ナビゲーション」パネルにアクセスします。

    次のURLを使用して「リソース」サブページに移動し、そこから「ナビゲーション」をクリックできます。

    http://host:port/webcenter/spaces/spaceName/admin/resources
    
  2. スペースが使用しているナビゲーション・モデルを選択します。


    ヒント:

    現在のスペースが使用しているナビゲーション・モデルを確認するには、スペース設定の下にある「一般」サブページに移動して、「ナビゲーション」フィールドの値を探します。


  3. 「編集」メニューから「編集」を選択します。

  4. 「編集 - ナビゲーション・モデル」ダイアログで、「追加」メニューを開き、「ページ問合せ」を選択します。

  5. 「ターゲット」タブを前面に表示します。

    • 「名前」フィールドに、moderatorQueryなどの問合せの名前を入力します。

    • 「ページの検索場所」の横の「スペース」を選択し、現在のスペース名がフィールドに表示されていることを確認します。

    • 「表示」チェック・ボックスの右側のアイコンをクリックし、「式ビルダー」を選択します。

  6. 「値の選択」を選択し、最初のドロップダウンから「スペース情報」、2番目のドロップダウンから「CurrentSpaceロール - 進行役」を選択します。

    テキスト・フィールドに#{WCSecurityContext.userInScopedRole['Moderator']}という式が表示されます。


    ヒント:

    カスタム・ロール使用している場合は、「CurrentSpaceロール - カスタム」を選択します。テキスト領域で、CustomRoleをハイライト表示し、カスタム・ロールの名前を入力します。


  7. 「リソース」タブに戻るまで、「OK」をクリックします。

これをテストするには、スペースにメンバーを追加し、Moderator以外のロールをこのユーザーに割り当てます。ログオフしてからそのユーザーとして再度ログインします。「ページ問合せ」ナビゲーション・アイテムは表示しないでください。

B.3 自由形式のJPQL WHEREおよびSORT句の非サポート

JPQL WHERE句に基づくスペースを問い合せるためにEL式を導入している場合は、自由形式の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}

詳細は次のとおりです。

たとえば、次の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}

詳細は次のとおりです。

たとえば、次の問合せは、ユーザーがdiscoverableおよびlastUpdateDateフィールドの結果セットにアクセスし、ソートするスペースのリストを返します。

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

オラクル社では、すべての既存の自由形式のJPQL WHEREおよびSORT句を新しい構文に変換することを強くお薦めします。

なんらかの理由で、既存の構文を保持する必要がある場合、Spaces管理者は次のグローバル・フラグを設定することによって、webcenter-config.xml.xmlファイルの自由形式JPQLに対するサポートを明示的に有効にする必要があります。

oracle.webcenter.spaces.query.DIRECT_JPQL_CLAUSE_SUPPORTED

注意:

webcenter-config.xml.xmlファイルは、webcenter-config.xmlのカスタマイズ・ドキュメントです。


レガシーな自由形式のWHEREおよびSORT句のサポートを継続して行う場合は、このフラグをtrueに設定します。このオプションがtrueに設定される場合、Spacesログ・ファイルには警告が含まれます。

webcenter-config.xml.xmlでこのフラグを設定するには:

  1. MDSから最新のwebcenter-config.xml.xmlをエクスポートします。

    例:

    exportMetadata(application='webcenter', server='WC_Spaces', 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ファイルをSpacesにインポートします。

    例:

    importMetadata(application='webcenter', server='WC_Spaces', fromLocation='/tmp/mydata', docs='/oracle/webcenter/webcenterapp/metadata/mdssys/cust/site/webcenter/webcenter-config.xml.xml')
    

B.4 式言語式

この項では、有効なEL式をリストして説明する一連の表について説明します。これらの表は、表に含まれる式が適用されるコンテキストによってグループ化されます。

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

B.4.1 式ビルダーのシード済の式

式ビルダー・エディタで、「値の選択」オプションを選択すると、ダイアログのテキスト・ボックスにシード済EL式を移入できます。最初に、式カテゴリを選択し、式で返す情報のタイプを選択します。選択内容に関連したELがダイアログの下部のテキスト・ボックスに表示されます(図B-5)。

図B-5 式ビルダーの「値の選択」のオプション

式ビルダーの「値の選択」のオプション
「図B-5 式ビルダーの「値の選択」のオプション」の説明

この項は、各カテゴリのサブセクションに分類されます。各サブセクションでは、そのカテゴリに関連したELとその説明を示します。

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

B.4.1.1 アプリケーション情報のシード済EL

アプリケーション情報のシード済EL式は、Spacesアプリケーションに関連する値を返します。たとえば、#{WCAppContext.application.applicationConfig.title}という式は、「スペース管理」ページの「構成」ページで指定されるアプリケーション・タイトルを返します。


関連項目:

アプリケーションに関連するEL式の詳細は、第B.4.2項「Spacesアプリケーションに関連したEL式」を参照してください。


表B-1に、「アプリケーション情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。

表B-1 「アプリケーション情報」のシード済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 URL

#{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を追加できます。

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

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

  2. 「コンテンツの追加」をクリックします。

  3. リソース・カタログで、「Web開発」をクリックします。

  4. 「HTMLマークアップ」の横の「追加」をクリックし、「閉じる」をクリックします。

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

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

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

  8. スペースにページ・テンプレートを適用します。

B.4.1.2 ページ情報のシード済EL

ページ情報のシード済EL式は、Spacesアプリケーションに関連する値を返します。たとえば、#{pageDocBean.createdBy}という式は、現在のページの作成者のユーザー名を返します。

表B-2に、「ページ情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。

表B-2 「ページ情報」のシード済EL式

オプション 返される値の例

Title

#{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


B.4.1.3 ページ・パラメータのシード済EL

ページ・パラメータのシード済EL式は、Spacesページ・パラメータに関連する値を返します。エディタは、現在のページに対して定義されているすべてのパラメータをリストします。パラメータが定義されていない場合、「ページ・パラメータ」カテゴリは使用できません。

たとえば、シード済ページ・スタイルである「3列」により、5つのシード済ページ・パラメータが提供されます(表B-3を参照)。widthパラメータでは、各列に割り当てられた全幅の割合を示します。showパラメータは、ページ・ヘッダーおよびページ・フッターがレンダリングされるかどうかを指定します。シード済ページ・スタイルの中で、「空白」「ホームページ」「左を狭く」および「右を狭く」のすべてが同じシード済ページ・パラメータを提供します(表B-3を参照)。また、どのページも独自のカスタム・ページ・パラメータを持つ場合があります。

シード済であるかカスタムであるかにかかわらず、使用可能なページ・パラメータは「ページ・パラメータ」カテゴリの式ビルダー・エディタで公開されます。


関連項目:

ページ・パラメータの作成および使用の詳細は、第22.3項「コンポーネントとページ・パラメータの結付け」を参照してください。


表B-3に、「3列」、「空白」、「ホームページ」、「左を狭く」および「右を狭く」スタイルに基づいてページに対する「ページ・パラメータ」カテゴリで使用可能なEL式をリストします。また、それぞれが返す値のタイプの例を示します。

表B-3 「ページ・パラメータ」のシード済EL式

オプション 返される値の例

leftWidth

#{bindings.leftWidth}

25%

centerWidth

#{bindings.centerWidth}

50%

rightWidth

#{bindings.rightWidth}

25%

showHeader

#{bindings.showHeader}

false

showFooter

#{bindings.showFooter}

false


B.4.1.4 リソース情報のシード済EL

リソース情報のシード済EL式は、テンプレート、スタイル、リソース・カテゴリなど、Spacesリソースに関連する値を返します。たとえば、#{srmContext.id['ResourceID'].singleResult}という式は、指定されたGUIDを持つリソースを返します。


関連項目:

リソースに関連したEL式の詳細は、第B.4.5項「リソースに関連したEL式」を参照してください。


表B-4に、「リソース情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。

表B-4 「リソース情報」のシード済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」を参照してください。


B.4.1.5 スペース情報のシード済EL

スペース情報のシード済EL式は、(ホーム・スペースではなく)スペースに関する値を返します。たとえば、#{spaceContext.space['spaceName'].children}という式は、指定された親スペースの下にあるサブスペースのリストを返します。


関連項目:

スペースに関連したEL式の詳細は、第B.4.6項「特定のスペースに関連したEL式」を参照してください。


表B-5に、「スペース情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。


注意:

ホーム・スペースではなくスペースのコンテキストでのみ、表B-5にリストされているEL式を使用します。


表B-5 「スペース情報」のシード済EL式

オプション 返される値の例

NamedSpace

#{spaceContext.space['spaceName']}

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

CurrentSpace

#{spaceContext.currentSpace}

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

CurrentSpace名

#{spaceContext.currentSpaceName}

standards

NamedSpaceメタデータ・パス

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

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

CurrentSpaceメタデータ・パス

#{spaceContext.currentSpace.metadataPath}

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

NamedSpaceメタデータ

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

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

CurrentSpaceメタデータ

#{spaceContext.currentSpace.metadata}

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

NamedSpaceメタデータ表示名

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

Standards

CurrentSpaceメタデータ表示名

#{spaceContext.currentSpace.GSMetadata.displayName}

Sales

NamedSpaceメタデータ・アイコン

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

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

CurrentSpaceメタデータ・アイコン

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

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

NamedSpaceメタデータ説明

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

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

CurrentSpaceメタデータ説明

#{spaceContext.currentSpace.GSMetadata.description}

Sales Force Team Site

NamedSpaceメタデータ作成日

#{spaceContext.space['spaceName'].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=?]

CurrentSpaceメタデータ作成日

#{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=?]

NamedSpaceメタデータ作成者

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

j.doe

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

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

standards templates style sheets collateral

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

#{spaceContext.currentSpace.metadata.keywords}

sales salesReports salesNews salesTeam

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

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

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

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

#{spaceContext.currentSpace.metadata.offline}

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

NamedSpaceメタデータ・クローズ

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

指定されたスペースがクローズしているかどうかによって、falseまたはtrue

CurrentSpaceメタデータ・クローズ

#{spaceContext.currentSpace.metadata.closed}

現在のスペースがクローズしているかどうかによって、falseまたはtrue

NamedSpaceメタデータ自己登録

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

指定されたスペースに対して自己登録が有効であるかどうかによって、falseまたはtrue

CurrentSpaceメタデータ自己登録

#{spaceContext.currentSpace.metadata.selfRegistration}

現在のスペースに対して自己登録が有効であるかどうかによって、falseまたはtrue

NamedSpaceメタデータ検出可能

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

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

CurrentSpaceメタデータ検出可能

#{spaceContext.currentSpace.metadata.discoverable}

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

NamedSpaceメタデータ公開RSS

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

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

CurrentSpaceメタデータ公開RSS

#{spaceContext.currentSpace.metadata.publishRSS}

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

NamedSpace配信リスト

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

standardsGroup@myCompany.com

CurrentSpace配信リスト

#{spaceContext.currentSpace.distributionList}

salesTeam@myCompany.com

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

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

指定されたカスタム属性に対して提供される値を返します

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

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

指定されたカスタム属性に対して提供される値を返します

CurrentSpaceメタデータ・ロゴ

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

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

CurrentSpaceロール - 進行役

#{WCSecurityContext.userInScopedRole['Moderator']}

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

CurrentSpaceロール - 参加者

#{WCSecurityContext.userInScopedRole['Participant']}

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

CurrentSpaceロール - 閲覧者

#{WCSecurityContext.userInScopedRole['Viewer']}

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

CurrentSpaceロール - カスタム

#{WCSecurityContext.userInScopedRole['CustomRole']}

現在のスコープのユーザーが指定されたカスタム・ロールを割り当てられているかどうかによって、falseまたはtrue

NamedSpace子

#{spaceContext.space['spaceName'].children}

[oracle.webcenter.spaces.internal.model.SpaceImpl@5705f4, oracle.webcenter.spaces.internal.model.SpaceImpl@147d658]

注意: 括弧([])はセットであることを示します。

CurrentSpace子

#{spaceContext.currentSpace.children}

[oracle.webcenter.spaces.internal.model.SpaceImpl@5705f4, oracle.webcenter.spaces.internal.model.SpaceImpl@147d658]

注意: 括弧([])はセットであることを示します。

NamedSpace親

#{spaceContext.space['spaceName'].parent}

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

CurrentSpace親

#{spaceContext.currentSpace.parent}

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

NamedSpaceセキュリティ親

#{spaceContext.space['spaceName'].securityParent}

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

CurrentSpaceセキュリティ親

#{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['spaceGuid'].shape['RECURSIVE_FLATTENED']}

oracle.webcenter.spaces.query.SpacesQueryParameters@4da22f

指定された親スペース名の直近のサブ・スペース

#{spaceContext.spacesQuery.parentSpaceName['spaceGuid'].shape['ROOT_LEVEL']}

oracle.webcenter.spaces.query.SpacesQueryParameters@1089971

指定されたスペース名に一致するスペースのリスト

#{spaceContext.spacesQuery.containingNames['space1, space2,space3']}

oracle.webcenter.spaces.query.SpacesQueryParameters@68e467

指定されたスペースGUIDに一致するスペースのリスト

#{spaceContext.spacesQuery.containingGuids['spaceGuid1, spaceGuid2']}

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


B.4.1.6 スペース・ページ情報のシード済パス

EL式ではなく、「スペース・ページ情報」の選択内容は別のアプリケーション・ページへのディレクトリ・パスです。たとえば、指定されたページにナビゲーション情報を提供するためにそれらのパスを使用します。

表B-6に、「スペース・ページ情報」カテゴリで使用可能なシード済ディレクトリのパスをリストし、それぞれが返す値のタイプの例を示します。ドロップダウン・リストの値数は、ユーザーによって使用されるテンプレートおよび作成されるページによって異なります。

表B-6 「スペース・ページ情報」のシード済パス

オプション Path Destination

COIHome.jspx

/faces/oracle/webcenter/page/scopedMD/se2dff4fb_202a_4f4c_b56d_c7cf59ad1c04/Home.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

現在のスペースの「お知らせ」ページへのパス

EventsMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/EventsMainView.jspx

現在のスペースの「イベント」ページへのパス

ListsMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/ListsMainView.jspx

現在のスペースの「リスト」ページへのパス

GroupSpaceActivityMainView.jspx

/faces/oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/businessRolePages/GroupSpaceActivityStreamMainView.jspx

現在のスペースの「アクティビティ・ストリーム」ページへのパス


B.4.1.7 システムのシード済EL

システムのシード済EL式は、現在のユーザーの名前または現在のユーザーの指定されたロケールなど、システム設定に関連する値を返します。たとえば、#{securityContext.userName}という式は、現在ログインしているユーザーの名前を返します。たとえば、j.doeというユーザーがこの式が使用されているページを表示している場合、j.doeのビューに返された値は、j.doeです。j.smithというユーザーが同じページを参照している場合、j.smithのビューに返された値は、j.smithです。


関連項目:

実用的EL式の詳細は、第B.4.15項「実用的EL式」を参照してください。


表B-7に、「システム」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。

表B-7 「システム」のシード済EL式

オプション 返される値の例

ユーザー

#{securityContext.userName}

現在のユーザーのユーザー名

ロケール

#{facesContext.externalContext.requestLocale}

現在のユーザーの指定されたロケール

これは、アプリケーションまたはスペースレベルの設定、あるいはユーザー・プリファレンス(どちらか優先している方)から取得できます。

例:

en_US

B.4.1.8 ユーザー情報のシード済EL

ユーザー情報のシード済EL式は、指定されたユーザーのプロファイルに関連する値を返します。たとえば、#{webCenterProfile[securityContext.userName].description}という式は、現在のユーザーのプロファイルの「自己紹介」属性のコンテンツを返します。


関連項目:

ユーザー関連の式の詳細は、第B.4.13項「ピープル・コネクション・サービスに関連したEL式」を参照してくだだい。


表B-8に、「ユーザー情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。

表B-8 「ユーザー情報」のシード済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, and 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}

現在のユーザーのワイヤレス・インターネット・アカウントのアカウント番号


B.4.1.9 WebCenterイベントのシード済EL

WebCenterイベントのシード済EL式は、選択したドキュメントの名前、ドキュメントの作成者、ドキュメントの最終変更日など、ドキュメント関連のイベントに関連する値を返します。たとえば、#{wcEventContext.events.WebCenterResourceSelected.name}という式は、現在選択しているドキュメントの名前を返します。

表B-9に、「WebCenterイベント」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。

表B-9 「WebCenterイベント」のシード済EL式

オプション 返される値の例

選択したユーザー名

#{wcEventContext.events.WebCenterUserSelected.UserName}

現在選択しているユーザーのユーザー名

選択したドキュメント名

#{wcEventContext.events.WebCenterResourceSelected.name}

現在選択しているドキュメントの名前

選択したドキュメント作成者

#{wcEventContext.events.WebCenterResourceSelected.createdBy}

現在選択しているドキュメントの作成者の名前

選択したドキュメント最終変更者

#{wcEventContext.events.WebCenterResourceSelected.lastModifiedBy}

選択したドキュメントが最後に変更された日付


B.4.2 Spacesアプリケーションに関連したEL式

表B-10に、Spacesアプリケーション情報に関連したEL式をリストし、この式が提供する機能のタイプについて説明します。「コンテキスト」列は、式がSpacesコンテキストで使用できるか(WCS)、またはOracle JDeveloperで構築されたSpacesおよびFrameworkアプリケーションの両方で使用できるか(両方)を示します。

表B-10 Spacesアプリケーションに関連したEL式

機能 コンテキスト

#{WCAppContext}

すべてのOracle WebCenter Portalアプリケーション関連の情報に対する現在のWebリクエストのアクセス・ポイントを提供するoracle.webcenter.webcenterapp.context.WCApplicationContextオブジェクト。

WCS

#{WCAppContext.currentWebCenterURI}

最後に追加されたリクエストのブックマーク可能なSpaces URLパラメータで現在のWebリクエストを表すURLを返します(パラメータは必ずしも固定された順序ではありません)。

例:

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

WCS

#{WCAppContext.application.applicationConfig}

現在のSpacesアプリケーションからのメタデータのペイロードを持つoracle.webcenter.webcenterapp.beans.WebCenterType Bean。

WCS

#{WCAppContext.application.applicationConfig.title}

(スペース管理設定から構成される)現在のSpacesアプリケーションの表示名を返します。

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

WCS

#{WCAppContext.application.applicationConfig.logo}

アプリケーション・ロゴがスペース管理設定からアップロードされた場合、この式はアプリケーション・ロゴ・イメージへのURLを返します。

デフォルトで、これはnullを返します。

WCS

#{WCAppContext.application.applicationConfig.helpPage}

(スペース管理設定から構成される)現在のSpacesアプリケーションに使用されるヘルプ・アプリケーションへのURLを返します。

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

WCS

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

著作権メッセージがスペース管理設定から構成されている場合、この式はアプリケーションの著作権メッセージを返します。

デフォルトで、これはnullを返します。

WCS

#{WCAppContext.application.applicationConfig.privacyPolicyUrl}

(スペース管理設定から構成される)アプリケーションのプライバシー・ポリシーを含むドキュメントへのURLを返します。

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

WCS

#{WCAppContext.application.applicationConfig.skin}

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

この式は、必ずしもすべてのWebリクエストで使用されるわけでないアプリケーションレベルの設定のみを示します。たとえば、ユーザーがアプリケーションの「プリファレンス」からスキンをオーバーライドすることを選択している場合は、その式を正常に使用することはできません(詳細は、第38章「個人用プリファレンスの設定」を参照してください)。

WCS

#{requestContext.skinFamily}

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

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

両方


B.4.3 アプリケーション・セキュリティに関連したEL式

表B-11に、アプリケーション・セキュリティに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。「コンテキスト」列は、式がSpacesコンテキストで使用できるか(WCS)、またはOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できるか(両方)を示します。


関連項目:

コンポーネントレベルのセキュリティに関する式の実装例は、第26.2項「ページ・コンポーネントへのアクセスの設定」を参照してください。


表B-11 セキュリティに関連したEL式

機能 コンテキスト

#{security.authenticated}

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

両方

#{securityContext.userName}

現在のログイン・ユーザーのユーザー名を返します。現在のユーザーがログインされていない場合、この式は値を返しません。

両方

#{security.pageContextCommunityModerator}

現在のユーザーが現在のスペースのモデレータである場合、値trueを返します。

WCS

#{WCSecurityContext.userInScopedRole['role']}

現在のユーザーが現在のスコープの指定されたロールを割り当てられている場合は、値trueを返します。ロールには、ModeratorParticipantViewerまたはそのスコープで定義されているカスタム・ロールを指定できます。

スコープは暗黙的に現在のスコープに決まります。このELをホーム・スペースで使用すると、ホーム・スペースのGUIDとアプリケーション・レベルで定義されるロールが決まります。このELをスペースのスコープで使用すると、そのスペースで定義されるロールが決まります。

WCS

#{WCSecurityContext.userInGroup['group']}

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

両方

#{WCSecurityContext.currentUser['userName']}

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

両方


B.4.3.1 例: EL式を使用したコンポーザのソース・ビューへのアクセス制限

この項では、ユーザーのロールに基づいて何かを表示するためにEL式を使用する例を示します。この例では、ホーム・スペースのコンポーザのソース・ビューにアクセスできるようにAdvancedEditロールを付与したユーザーのみ許可されるEL式を追加するために、ページ・スタイルを作成して、そのソース・コードを編集します。

ホーム・スペースのコンポーザのソース・ビューへのアクセスを制限するには:

  1. 管理権限を使用してSpacesにログオンし、「スペース管理」の「セキュリティ」タブに移動します。

  2. AdvancedEditという新しいロールを作成し、それをユーザーweblogicに割り当てます。(詳細は、第24.2項「アプリケーション・ロールおよび権限の管理」を参照ください。)

    ユーザーweblogicは、現在次の2つのロールを持ちます: AdministratorおよびAdvancedEdit

  3. たとえば、「空白ページ」のような、新しいページ・スタイルを作成します(詳細は、第15.2項「カスタム・ページ・スタイルの作成」を参照してください。)

  4. AdvancedEditロールを持つユーザーにのみコンポーザのソース・ビューへのアクセスを許可するには、ページ・スタイルのソース・コードを編集して、次の属性を<pe: pageCustomizable>タグに追加します(図B-6)。

    toolbarLayout="message stretch statusindicator newline #{WCSecurityContext.userInScopedRole['AdvancedEdit'] ? 'menu' : ''} addonpanels stretch help button"
    

    リソース・コードの編集の詳細は、第11.3.2項「リソースのソース・コードの編集」を参照してください。

    図B-6 ページ・スタイルのソース・コードの編集

    図B-6の説明が続きます
    「図B-6 ページ・スタイルのソース・コードの編集」の説明

  5. weblogic以外のユーザーとしてログインし、ホーム・スペースで、「空白ページ」ページ・スタイルを使用してページを作成します。コンポーザで、ページを開く場合、デザイン・ビューにページが表示されますが、ユーザーがAdvancedEditロールを付与されていないため、「表示」メニューは使用できません。

    ホーム・スペースのユーザーに使用可能なすべてのページ・スタイルにこの技術を適用すると、ソース・ビューへのアクセスが完全に制御されます。様々なスペースに対して同じ技術を使用できます。

B.4.4 アプリケーション・ナビゲーションに関連したEL式

表B-12に、Spacesナビゲーションに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。すべてのナビゲーションELは、Oracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。

表B-12 ナビゲーションに関連したEL式

機能

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


#{navigationContext.defaultNavigationModel}

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

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

#{navigationContext.defaultNavigationModel.defaultTreeModel}

defaultMenuModelおよびdefaultListModelも使用できます(次のリストを参照)。

#{navigationContext.currentNavigationModel}

現在のビュー(つまり、現在のページ)に移動するために使用されるナビゲーション・モデルを返します

ページには多数のナビゲーション・モデルがある場合があります。ページに移動するために使用されるモデルのみが、現在のナビゲーション・モデルです。

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

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

#{navigationContext.currentNavigationModel.defaultTreeModel}

defaultMenuModelおよびdefaultListModelも使用できます。

関連項目: #{navigationContext.processAction}

#{navigationContext.navigationModel['model_path']}

パスで指定されるナビゲーション・モデルを返します。

例:

#{navigationContext.navigationModel['/oracle/webcenter/portalapp/navigations/default-navigation-model']}

ユーザーは、パラメータ名を覚えていなくても、角カッコにパスを簡単に入力できます。下位互換性のために、カンマ区切りのパラメータもサポートされています。使用可能なパラメータ(例)は、次のとおりです。

  • modelPath=/oracle/webcenter/portalapp/navigations/default-navigation-model

  • modelScope=/oracle/webcenter/portalapp/navigation

  • modelId=default-navigation-model

注意: modelScopeおよびmodelIdは、次のように一緒に使用されます。

#{navigationContext.navigationModel['modelScope=/oracle/webcenter/portalapp/navigations,modelId=default-navigation-model']}

#{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>コンポーネントで使用

  • List<NavigationResource>: <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の場合、使用可能なパラメータはstartNodeおよびincludeStartNodeです。

例:

#{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']}

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

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


#{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.goLinkPrettyUrl}

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;' : ''}"/>

Spaces内のページへのどのリンクも特定のコンテキスト・パラメータが必要ですが、goLinkPrettyUrlはこれらのパラメータを提供するように設計されていません。したがって、goLinkPrettyUrlの使用は、Spaces内のリンクに対して正しく機能しませんが、Spacesの外部をポイントするリンクに対して正しく機能します。

#{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}

その兄弟に相対するこのノードのゼロ相対索引を返します。

#{node.children}

#{node.children[N].title}

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

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

#{node.childCount}

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

#{node.childByIndex['index']}

ゼロ相関索引によって指定される(NavigationResourceタイプの)子ノードを返します。

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

#{node.childByPath['admin']}

このノードに相対的なパスによって指定される(NavigationResourceタイプの)子ノードを返します。

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


B.4.4.1 例: ナビゲーションのEL式の使用

この項では、親スペースの共有ページから2つのサブスペースのアクティビティを監視するために、ナビゲーション・モデルを使用する例を示します。この例では、「アクティビティ・ストリーム」タスク・フローを含むページを使用します。タスク・フローのコンテンツは、ページに渡されるパラメータによって決まります。ナビゲーション・モデルには、ページにリンクする2つのリンクが含まれます。最初のリンクは、「アクティビティ・ストリーム」タスク・フローがsubspace1のアクティビティを示すように、パラメータとしてsubspace1を渡します。2番目のリンクはパラメータとしてsubspace2を渡します。そのため、ページのコンテンツは、ナビゲーションをクリックするリンクによって異なります。

親スペースからサブスペース・アクティビティを監視するためにELを使用するナビゲーション・モデルを構築するには:

  1. スペース、および2つのサブスペースを作成します。サブスペースを作成する際には、使用される内部名を書き留めます(たとえば、subspace1およびsubspace2)。

  2. スペースでは、Subspace Activityというページを作成し、そのページに「アクティビティ・ストリーム」タスク・フローを追加します。タスク・フローの追加の詳細は、第18.5項「ページへのコンポーネントの追加」を参照してください。

  3. 新規に作成されたページに対して、subspaceNameのような、ページ・パラメータを作成します。詳細は、第22.3.1項「ページ・パラメータの作成」を参照してください。

    パラメータの値として次のELを使用します。

    #{empty navigationContext.currentNavigationModel.currentSelection.parameters.subspaceName ? 'subspace1' : navigationContext.currentNavigationModel.currentSelection.parameters.subspaceName}
    

    ここで、'subspace1'は、ナビゲーションから何も渡されない場合に、ページ・パラメータに対して使用される値です。

  4. 「アクティビティ・ストリーム」タスク・フローの設定を編集します。「コンポーネント・プロパティ」ダイアログの「パラメータ」タブで、Spacesパラメータについて、式ビルダーを開き、「ページ・パラメータ」で、subspaceNameを選択します。

  5. 「表示オプション」タブの「テキスト」フィールドに、アクティビティが示されているサブスペースの名前を示す値を指定します。たとえば、次のELを使用します。

    #{bindings.subspaceName} Activity
    
  6. ページを表示するスペースを渡すナビゲーションを構築します。

    1. 「スペース・デフォルト・ナビゲーション・モデル」に基づくナビゲーションを作成します。

    2. リンク・ナビゲーション・アイテムを追加して、ナビゲーションを編集します。

    3. 「ターゲット」タブの「名前」フィールドで、Sub Space 1としてリンク・アイテムの名前を指定します。

    4. 「パス」フィールドで、Subspace Activityページを選択します。

    5. 「パラメータ」タブのsubspaceNameフィールドで、最初のサブスペースの内部名subspace1を指定します。

  7. 新規に作成されたリンクをコピーし、それを編集して、2番目のサブスペースsubspace2のリンクを作成します。

    編集時に、「ターゲット」タブで、リンクの「名前」のみ変更する必要があります。「パラメータ」タブで、subspaceNameパラメータの値をsubspace2(2番目のサブスペースの内部名)にのみ変更する必要があります。

  8. 新規に作成されたナビゲーションがスペースの現在のナビゲーションとして設定されていることを確認します。

  9. 共有のSubspace Activityページを表示する2つのリンクがあり、クリックするリンクによって、スペースに異なる値を渡します。

B.4.5 リソースに関連したEL式

リソースの問合せにこの項の式を使用します。EL式を介したリソースの問合せは、APIコールからそれを問い合せるのと同じです。つまり、['property']['like']['value']形式の問合せパラメータを設定する必要があります。ここで、propertyは、idresourceScopeなどのプロパティの名前で、valueは、属性の検索値です。

問合せにより、単一または複数の結果が生成されます。問合せ設計者は、必要な内容を決定する必要があります。問合せ設計者は、式で次の値のいずれかが生成されることにより、1つの結果を返すか、または複数の結果を返すかどうかを決定します。

  • singleResult: 単一のリソースを返します。一致するリソースが見つからない場合、nullが返されます。

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


注意:

式でsingleResultまたはresultListが生成されると、それは問合せのエンド・ポイントとして内部的に使用され、この後、問合せがただちに実行されます。エンド・ポイント後に設定されたすべてが予期しない動作となる可能性があります。


次の例は、myPageを含む表示名で検出された最初のテンプレート・リソースを返します。

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

次の例は、sampleDescを含む説明とともに、resourceDirディレクトリにあるテンプレート・リソースのリストを返します。

#{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}

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

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

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

表B-13に、リソースに関連したEL式をリストし、各式が提供する機能のタイプについて説明します。すべてのリソースELは、Oracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。

表B-13 リソースに関連した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']]}

#{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 Fusion Middleware Oracle WebCenter Java APIリファレンスGenericSiteResourceTypesクラスにリストされています。

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

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

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

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

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

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

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

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

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

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


B.4.5.1 例: リソースのEL式の使用

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

この例では、EL式を使用して、そのページ・テンプレートで使用可能な機能またはリンクにのみアクセスできるように、特定のページ・テンプレートがモデレータに表示できるようにします。

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

  1. 必要なスペースに移動します。

  2. 「管理」「一般設定」に移動します。

  3. 「表示設定」セクションの「ページ・テンプレート」で、「式ビルダー」アイコンをクリックして、「式ビルダー」をクリックします。

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

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

    詳細は次のとおりです。

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

      範囲内のすべてのテンプレートのリストを取得します。

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

      現在のユーザーがモデレータであるかどうかによってリストを1つに絞り込みます。ユーザーがモデレータである場合、「Fusionサイド・ナビゲーション」ページ・テンプレートが適用されます。他のすべてのユーザー・ロールに対して、「WebCenter Spacesトップ・ナビゲーション」ページ・テンプレートを使用してスペースがレンダリングされます。

    • singleResult.id

      必要なエントリのGUIDを返します。

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

B.4.6 特定のスペースに関連したEL式

表B-14に、スペースに関連したEL式をリストし、各式が提供する機能のタイプについて説明します。リストされているELのすべてがSpacesで使用することを目的としています。


注意:

スペースの内部名は、スペースの管理設定の「一般」ページの「スペースURL」で指定される名前になります。スペースの表示名は、「表示名」で指定されます。表B-14のEL式の多くは、スペース内部名を要求します。


表B-14 特定のスペースに関連した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['spaceName']}

#{spaceContext.currentSpace}

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

この式の値は、現在のADFContextMDSSessionで渡す現在のSpacesManager.getSpace(...)の起動時にJaveで返されるものすべてです。

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

#{spaceContext.currentSpace.metadataPath}

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

この式の値は、スペースのスペース・オブジェクトで.getMetadataPath()の起動時にjavaで返されるものすべてです。

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

#{spaceContext.currentSpace.metadata}

spaceNameという名前のスペースまたは現在のスペース(currentSpace)に関するメタデータを含むoracle.webcenter.spaces.beans.SpaceType Bean。

この式の値は、現在のADFContextMDSSessionで渡すスペースのスペース・オブジェクトで.getMetadata()の起動時にjavaで返されるものすべてです。

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

#{spaceContext.currentSpace.metadata.displayName}

spaceNameという名前のスペースまたは現在のスペース(currentSpace)の表示名。たとえば、Web20Spaceというスペースが表示名web 2.0 Spaceを持つ場合、#{spaceContext.space['Web20Space'].metadata.displayName}web 2.0 Spaceになります。

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

#{spaceContext.currentSpace.GSMetadata.groupSpaceURI}

spaceNameという名前のスペースまたは現在のスペース(currentSpace)のURL。

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

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

spaceNameという名前のスペースまたは現在のスペース(currentSpace)に関連付けられているアイコンへのURL。

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

#{spaceContext.currentSpace.metadata.description}

spaceNameという名前のスペースまたは現在のスペース(currentSpace)の説明。たとえば、#{spaceContext.space['FinanceProject'].metadata.description}は、Conglomeration of all teams involved in financial activitiesになります。

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

#{spaceContext.currentSpace.metadata.creationDate}

指定された名前spaceNameを持つスペースまたは現在のスペース(currentSpace)が作成された日時を表すjava.util.Calendarオブジェクト。

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

#{spaceContext.currentSpace.metadata.createdBy}

spaceNameという名前のスペースまたは現在のスペース(currentSpace)を作成したユーザーのユーザー名。

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

#{spaceContext.currentSpace.metadata.keywords}

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

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

#{spaceContext.currentSpace.metadata.offline}

spaceNameという名前のスペースまたは現在のスペース(currentSpace)がオフラインであるかどうかを示すブール値。

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

#{spaceContext.currentSpace.metadata.closed}

spaceNameという名前のスペースまたは現在のスペース(currentSpace)がクローズしているかどうかを示すブール値。

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

#{spaceContext.currentSpace.metadata.selfRegistration}

spaceNameという名前のスペースまたは現在のスペース(currentSpace)にユーザー自身を登録することを許可されるかどうかを示すブール値。

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

#{spaceContext.currentSpace.metadata.discoverable}

ユーザーが、検索を行うか、または「マイ・スペース」ページのリストを参照することによって、spaceNameという名前のスペースまたは現在のスペース(currentSpace)を検出できるかどうかを示すブール値。

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

#{spaceContext.currentSpace.metadata.publishRSS}

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

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

#{spaceContext.currentSpace.distributionList}

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

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

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

spaceNameという名前のスペースまたは現在のスペース(currentSpace)のattributeNameという名前の特定のカスタム属性の値。たとえば、FinanceProjectスペースが13.9という値を持つstockPriceというカスタム属性を持つ場合、#{spaceContext.space['FinanceProject'].metadata.customAttributes['stockPrice']}13.9になります。

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

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

spaceNameという名前のスペースまたは現在のスペース(currentSpace)のロゴURLを返します。

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

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

property['value']の形式で、問合せパラメータを使用してスペースを問い合せる手段。ここで、propertyは、プロパティの名前を示します(たとえば、unionOfshapeなど。)また、valueは、すべてのスペース、検出可能なスペースなどのリストのフェッチに使用する条件を示します。

listSpacesが式に追加される場合、問合せはGSMetadataタイプのスペースのリストを返します。(詳細は、Oracle Fusion Middleware Oracle WebCenter 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は、現在のユーザーがアクセス権を持つ各親スペースの下にあるすべてのサブスペースも返します。

例を表示するには、第B.4.6.1項「例: 様々なスペースの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 Fusion Middleware Oracle WebCenter Java APIリファレンスSpacesQueryParametersおよびSpacesQueryFilterに関する項を参照してください。)


B.4.6.1 例: 様々なスペースのEL式の使用

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

この例では、ユーザーがメンバーであるすべてのスペースのリストを表示するために次のELを使用します。

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

スペースのロゴ、名前、説明およびメンバー数を表示するには、次のメソッドも使用します。

  • iconURI: スペース・ロゴを表示する

  • displayName: スペース名を表示する

  • description: スペースの説明を表示する

  • memberCount: スペース・メンバー数を表示する

スペースを問い合せるには:

  1. 第29.3.1項「タスク・フローの作成」の説明に従って、新しいタスク・フローを作成し、それを使用できるようにマークします。

  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['RECURSIVE_FLATTENED'].listSpaces}">
                      <c:set var="iconURI" value="#{fn:split(row.iconURI,'}')[1]}"/>
                      <c:set var="displayName" value="#{row.displayName}"/>
                      <c:set var="description" value="#{row.description}"/>
                      <c:set var="numMembers" value="#{row.memberCount}"/>
                           <tr class="PortletText1">
                                  <td width="16px" rowspan="3" valign="top">
                                          <af:image id="img1"
    source="/webcenter-spaces-resources/oracle/webcenter/siteresources/scopedMD/shared#{iconURI}/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. タスク・フローをページに追加します。リソース・カタログで、カスタム・タスク・フローが「マッシュアップ」「タスク・フロー」で使用できます。

    このページには現在、ユーザーがメンバーであるすべてのスペースのリストが表示されます(図B-1)。

    図B-7 スペース問合せ

    図B-7の説明が続きます
    「図B-7 スペース問合せ」の説明

B.4.7 特定のページに関連したEL式

表B-15に、アプリケーション・ページに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。

表B-15 アプリケーション・ページに関連した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


B.4.8 コンポーザに関連したEL式

表B-16に、コンポーザに関連したEL式をリストします。「コンテキスト」列では、式が、Oracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーション両方で使用可能であることを示します。

表B-16 コンポーザに関連したEL式

機能 コンテキスト

#{composerContext.inEditMode}

現在のページがビュー・モードであるか、編集モードであるかどうかを決定します。例:

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

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

両方


B.4.8.1 例: コンポーザのEL式の使用

この項では、ビュー・モードおよび編集モードで異なるページを表示するためにEL式を使用する例を示します。ビュー・モードで、ページの一方はPage1、別のページはPage2を表示するとします。ただし、Page2ではなく、Page1を編集する場合は、Webサイトwww.example.comを表示します。次の形式のELを使用できます。

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

このELでは、ページが編集モードの場合は指定されたWebサイトを表示し、ビュー・モードの場合はPage2を表示します。

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

  1. 編集モードで、Page1という名前のページを開きます。

  2. 「コンテンツの追加」をクリックします。

  3. リソース・カタログで、「Web開発」をクリックします。

  4. 「Webページ」の横の「追加」をクリックし、「閉じる」をクリックします。

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

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

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

    編集モードで、Page1には現在、指定したWebサイトが表示されます。ページを保存して閉じます。Page1には現在、Page2が表示されます。

B.4.9 イベント・コンテキストに関連したEL式

表B-17は、(イベント・サービスに関連したイベントではなく)ペイロードを渡すことができるイベントのタイプに関連したEL式をリストします。

これらが生成されると、表B-17で提供されるイベント・ペイロードのすべてまたは一部にアクセスできます。

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

#{wcEventContext.events.<eventName>}

例:

#{wcEventContext.events.WebCenterUserSelected}

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

#{wcEventContext.events.WebCenterUserSelected.UserName}

関連項目:

イベントの結付けの詳細は、第22章「ページ、タスク・フロー、ポートレットおよびUIコンポーネントの結付け」を参照してください。


表B-17 イベント・コンテキストに関連した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.spaceName}

スペースGUID

#{wcEventContext.events.WebCenterUserSelected.spaceGUID}

プロデューサ・タスク・フローとコンシューマ・タスク・フロー間のコンテキストの結付けで使用します。プロデューサのメタデータの一部をコンシューマのメタデータの一部に関連付けるマップを返します。たとえば、ユーザーからユーザーの接続に関連付けます。

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

  • コネクション

  • スペース・メンバー

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

  • 接続(選択したユーザーの接続を示します)

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

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

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

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

イベント・コンテキスト

#{wcEventContext.events.WebCenterConnectionSelected}

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

#{wcEventContext.events.WebCenterConnectionSelected.profileUserName}

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

#{wcEventContext.events.WebCenterConnectionSelected.profileUserGUID}

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

#{wcEventContext.events.WebCenterConnectionSelected.userName}

コネクションがあるUser GUID

#{wcEventContext.events.WebCenterConnectionSelected.userGUID}

--

#{wcEventContext.events.WebCenterSpaceSelected.}spaceName

選択したスペースの名前を返します

#{wcEventContext.events.WebCenterSpaceSelected.SpaceGUID}

選択したスペースのGUIDを返します


B.4.10 サービスに関連したEL式

表B-18に、サービスに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。リストされているELのすべてがSpacesおよびWebCenter Portal: Frameworkの両方で使用できます。

表B-18 サービスに関連したEL式

機能

#{webcenterService['serviceId']}

サービスIDserviceIdを持つWebCenter Portalサービスを表すoracle.webcenter.framework.service.Serviceオブジェクト。たとえば、次のELはドキュメント・サービスを返します。

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

サービスIDは、表B-19を参照してください。

#{webcenterService['serviceId'].configured}

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

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

サービスIDは、表B-19を参照してください。

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

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

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

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


表B-19は、実行時にサービスに関連付けられているサービスIDをリストします。

表B-19 サービスID

サービス ID

お知らせ

oracle.webcenter.collab.announcement

ディスカッション

oracle.webcenter.collab.forum

ドキュメントおよびWikis

oracle.webcenter.doclib

イベント

oracle.webcenter.collab.calendar.community

スペース管理

oracle.webcenter.community

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

oracle.webcenter.collab.rtc

リンク

oracle.webcenter.relationship

リスト

oracle.webcenter.list

メール

oracle.webcenter.collab.mail

ノート

oracle.webcenter.note

通知

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

投票

oracle.webcenter.collab.survey

最近のアクティビティ

oracle.webcenter.recentactivity

アクティビティ・グラフ

oracle.webcenter.activitygraph

RSS

oracle.webcenter.rss

検索

oracle.webcenter.search

タグ

oracle.webcenter.tagging

ブログ

oracle.webcenter.blog

ワークリスト

oracle.webcenter.worklist


B.4.11 パーソナライズ・コンダクタに関連したEL式

表B-20に、パーソナライズ・コンダクタに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。リストされているELのすべてがOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。

表B-20 パーソナライズ・コンダクタに関連したEL式

機能

#{p13nContext.reset}

起動されるコンテキスト・オブジェクトの状態を消去します。

他の例:

#{p13nContext.conductor['ConductorConnection'].reset} 
#{p13nContext.conductor['ConductorConnection'].namespaces['MyNamespace'].reset}
#{p13nContext.properties['PropertiesConnection'].namespaces['MyNamespace'].setDefinitions['MyPropertySetDefinition'].set['MyPropertySet'].reset}

#{p13nContext.properties['PropertiesConnection'].namespaces['MyNamespace'].setDefinitions['MyPropertySetDefinition'].set['MyPropertySet'].update}

フォームにバウンドされる場合は新しい値でプロパティ・セットを更新します。

updateメソッドはコンテキストPropertySetContextにのみ適用され、フォーム・ベース・アクションの一部としてのみコールできます。

#{p13nContext.properties['PropertiesConnection'].namespaces['MyNamespace'].setDefinitions['MyPropertySetDefinition'].set['MyPropertySet'].results}

コンテキスト・オブジェクトの結果を取得します。PropertySetContextの場合、存在する場合は、名前別プロパティ・セットおよびプロパティ・セット定義を取得します。

ScenarioExecutionContextおよびParameterizedScenarioExecutionContextの場合は、シナリオの結果が取得されます。

他の例:

#{p13nContext.conductor['ConductorConnection'].namespaces['MyNamespace'].scenario['MyScenario'].results}
#{p13nContext.conductor['ConductorConnection'].namespaces['MyNamespace'].scenario['MyScenario'].withInput['input1=val1;input2=value2;input3=value3'].results} 

#{p13nContext.conductor['PropertiesConnection'].namespaces['MyNamespace'].scenario['MyScenario'].results}

名前別にシナリオを実行します。

#{p13nContext.conductor['ConductorConnection'].namespaces['MyNamespace'].scenario['MyScenario'].withInput['input1=val1;input2=value2;input3=value3'].results}

入力パラメータを使用して、名前別にシナリオを実行します。入力パラメータは次の形式である必要があります。

<paramOne>=<valueOne>;<paramTwo>=<valueTwo>;<paramThree>=<valueThree> 

各パラメータ名および値は、セミコロンで区別されます。

withInputメソッドは、コンテキストScenarioExecutionContextにのみ適用されます。

#{p13nContext.conductor['ConductorConnection'].namespaces[myManagedBean.namespace].scenario[myManagedBean.scenario].isError}

現在のコンテキスト・オブジェクトでエラーが発生したかどうかを決定します。

isErrorメソッドは、PropertySetContextおよび~ScenarioExecutionContextにのみ適用されます。

他の例:

#{p13nContext.properties['PropertiesConnection'].namespaces['MyNamespace'].setDefinitions['MyPropertySetDefinition'].set['MyPropertySet'].isError}

#{p13nContext.conductor['ConductorConnection'].namespaces['myManagedBean.namespace'].scenario['myManagedBean.scenario'].errorMessage}

現在のコンテキスト・オブジェクトでエラーが発生した場合は、エラー・メッセージを返します。

errorMessageメソッドは、PropertySetContextおよび~ScenarioExecutionContextにのみ適用されます。

他の例:

#{p13nContext.properties['PropertiesConnection'].namespaces['MyNamespace'].setDefinitions['MyPropertySetDefinition'].set['MyPropertySet'].errorMessage}

B.4.12 ドキュメント・サービスに関連したEL式

表B-21に、ドキュメント・サービスに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。「コンテキスト」列は、式がSpacesコンテキストで使用できるか(WCS)、またはOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できるか(両方)を示します。

表B-21 ドキュメント・サービスに関連したEL式

機能 コンテキスト

#{documentsService.currentGroupSpace}

スペースのドキュメントの情報を提供します。スペースのドキュメント関連の情報にアクセスするBeanを返します。

WCS

#{documentsService.currentUser}

現在のユーザーのドキュメントに関する情報を提供します。

WCS

#{documentsService.defaultConnectionName}

デフォルト・コンテンツ・リポジトリ・コネクション名を取得します。コネクション名が定義されていない場合はnullを返します。

両方

#{documentsService.groupSpaceByGUID['GUID']}

スペースのGUIDによって、指定されたスペースのドキュメント情報を検索する方法を提供します。スペースのドキュメント関連の情報を提供するBeanを返します。

WCS

#{documentsService.groupSpaceByName['spaceName']}

スペース名によって、指定されたスペースのドキュメント情報を検索する方法を提供します。スペースのドキュメント関連の情報にアクセスするBeanを返します。

スペースの内部名を入力します。スペースの内部名は、スペースの管理設定の「一般」ページの「スペースURL」で指定される名前になります。スペースの表示名「表示名」によって指定されます。これは、スペース上部のバナーに表示される名前です。表B-14のEL式の多くは、スペース内部名を要求します。

WCS

#{documentsService.userByName['userName']}

ユーザー名によってユーザー・ドキュメント情報を検索する方法を提供します。ユーザーのドキュメント関連の情報にアクセスするBeanを返します。

WCS

#{documentsService.configured}

ドキュメント・サービスが構成されているかどうかを確認します。ドキュメント・サービスが構成されている場合は、trueを返し、そうでない場合は、falseを返します。

両方


B.4.13 ピープル・コネクション・サービスに関連したEL式

表B-22に、ピープル・コネクション・サービスのプロファイル機能に関連したEL式をリストし、この式が提供する機能のタイプについて説明します。リストされているELのすべてがOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。


注意:

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


表B-22 ピープル・コネクション・サービスに関連した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}

指定されたユーザーの勤務先の専門(現在のユーザーが知ることを許可されている場合)。


B.4.14 ユーザー・プリファレンスに関連したEL式

表B-23に、ユーザー・プリファレンスに関連したEL式およびそれらの式が提供する機能のタイプについて説明します。リストされているELのすべてがOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。

表B-23 ユーザー・プリファレンスに関連したEL式

機能

#{generalSettings.userTimeZone}

現在のユーザーが、アプリケーションの「プリファレンス」で選択したタイム・ゾーンを返します。詳細は、第38.3項「時刻と日付のプリファレンスの設定」を参照してください。

#{generalSettings.preferredDateStyle}

現在のユーザーが、アプリケーションの「プリファレンス」で選択した日付書式を返します。詳細は、第38.3項「時刻と日付のプリファレンスの設定」を参照してください。

#{generalSettings.preferredDatePattern}

現在のユーザーの優先する日付書式パターンを返します(設定されている場合)。そうでない場合はnullを返します。

日付およびパターンがFrameworkアプリケーションにのみ適用できることに注意してください。このアプリケーションにおいて、設定されている場合は、日付およびパターンが日付およびスタイルより優先されます。

#{generalSettings.preferredTimeStyle}

現在のユーザーが、アプリケーションの「プリファレンス」で選択した時間書式を返します。詳細は、第38.3項「時刻と日付のプリファレンスの設定」を参照してください。

#{generalSettings.preferredTimePattern}

現在のユーザーの優先する時間書式パターンを返します(設定されている場合)。そうでない場合はnullを返します。

#{generalSettings.preferredDateTimePattern}

現在のユーザーの優先する日時書式パターンを返します(設定されている場合)。そうでない場合はnullを返します。

#{generalSettings.preferredAccessibilityMode}

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

#{generalSettings.preferredSkinName}

指定されている場合は、現在のユーザーの優先するスキン名。そうでない場合はデフォルト値を返します。

#{generalSettings.formattedCurrentDate}

現在のユーザーの選択したロケールの現在の日付を返します。

#{generalSettings.formattedCurrentTime}

現在のユーザーの選択したロケールの現在の時刻を返します。

#{generalSettings.formattedCurrentDateTime}

現在のユーザーの選択したロケールの現在の日時を返します。

#{requestContext.skinFamily}

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


B.4.14.1 例: ユーザー・プリファレンスのEL式の使用

この項では、ユーザー・プリファレンスからページをパーソナライズするためにEL式を使用する例を示します。ページのいずれかに現在の日時を表示するとします。次のELを使用できます。

#{generalSettings.formattedCurrentDateTime}

このELは現在のユーザーのロケールを使用して、現在の日時を表示します。

次の手順は、ページに現在の日時を表示する方法を示します。

  1. 編集モードで必要なページを開きます。

  2. 「コンテンツの追加」をクリックします。

  3. リソース・カタログで、「Web開発」をクリックします。

  4. 「HTMLマークアップ」の横の「追加」をクリックし、「閉じる」をクリックします。

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

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

    #{generalSettings.formattedCurrentDateTime}

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

    これで、ページに現在の日時が表示されるようになります。

B.4.15 実用的EL式

表B-24に、実用的EL式をリストし、この式が提供する機能のタイプについて説明します。

表B-24 実用的EL式

機能

#{userPreferences.currentDate}

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

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

textとして指定された文字列のnumberOfCharsとして指定された文字数へのトランケーション、および後続省略記号が返されます。たとえば、#{WCTruncator['abracadabra']['5']}abrac...となります。

#{facesContext.viewRoot.locale}

#{facesContext.externalContext.requestLocale}

これらの式の両方がリクエスト・ロケール(つまり、ブラウザ・ロケール設定)を返します。

#{changeModeBean.inEditMode}

現在のアプリケーション・ページがコンポーザ・モードである場合は、trueを返します。現在のアプリケーション・ページがコンポーザ・モードでない場合は、falseを返します。

#{adfFacesContext.skinFamily}

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