Oracle® Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド 11g リリース1(11.1.1.7.0) B72923-01 |
|
![]() 前 |
![]() 次 |
ページ・コンポーネントの構成時に、現時点でtrueである情報を取得することにより、現在のアプリケーション・コンテキストを利用する変数として値を表示できます。たとえば、現在のユーザーの名前、ユーザーに割り当てられたロール、現在のページの状態などを取得するために変数を使用できます。
このような柔軟性は、EL式を作成するために使用可能な単純な式言語(EL)エディタである式ビルダーにより実現されます。
この付録では、式ビルダーおよび有効なEL式について説明します。この項の内容は次のとおりです。
関連項目: EL APIの詳細は、Oracle Fusion Middleware Oracle WebCenter Java APIリファレンスを参照してください。 |
「パラメータ」および「表示オプション」タブのすべてのプロパティにより、式ビルダーと呼ばれる単純な式言語(EL)エディタを開く「式ビルダー」アイコンが提供されます。式ビルダーは、現在のユーザー、現在のページ・モードなど、不明なプロパティ値の動的計算を作成するときに使用します。
エディタを開くには、プロパティの横にある「式ビルダー」アイコンをクリックします。(図B-1)。
式ビルダーは、現在のユーザーまたは現在のアプリケーション・スキンの名前など、検出可能だが不明な値が必要な場合に特に役立ちます。
式ビルダーには式を入力するための次の2つのオプションがあります。
値の選択: シード済EL式を選択する
値または式の入力: 式を手動で入力する
「値の選択」のオプションは、式が返す情報のタイプによって分類されます。最初のメニューからカテゴリを選択し、2番目のメニューから返される値のタイプを選択します(図B-2)。
「値または式の入力」オプションに続いて、テキスト・ボックスが表示され、これを使用して、目的の式を手動で入力できます(図B-3)。
この付録の表の多数の式は、オブジェクトまたは返されるオブジェクトを絞るための構成要素です。つまり、必ずしも単独で使用することを意図しておらず、むしろ必要な問合せを作成するためにELのアセンブリで使用されることを意図されています。
たとえば、次の式は特定のスペース・テンプレートを返す単純な問合せを作成するために3つのリソース関連のELを使用します。この式は、親スペースstores
からテンプレートstoresMasterTemplate
を取得します。
#{srmContext.resourceScope['stores'].resourceType['siteTemplate'].displayName['storesMasterTemplate'].singleResult}
式ビルダーの「値の選択」で、事前定義された値を選択するか、または「値または式の入力」で、値または式言語式を入力します。
リテラル番号: #{123}
リテラル文字列: #{'string'}
ブール・リテラル: #{true}
値を返すためにコールされるJava Bean: #{generalSettings.preferredTimeStyle}
エディタでは、ELエントリを検証するための「テスト」ボタンが提供されます。「テスト」ボタンは、「値または式の入力」のテキスト・ボックスに入力される式に使用できます。
検証により、EL構文が確認され、式が評価されます。式の値は実行されるコンテキストによって異なるため、エディタに表示される値は、実際の使用中に返される値とは異なる場合があります。
ただし、「テスト」をクリックするときにELのみが検証され、他のタイプの値は検証されないことに注意してください。
テスト結果はポップアップで表示されます(図B-4)。
注意: 「コンポーネント・プロパティ」ダイアログの汎用の「表示オプション」タブでELを入力すると、入力内容が自動的に検証されます。EL構文が無効な場合、エラーが表示され、値は適用も保存もされません。汎用の表示オプションとは、表18-1に掲載されているオプションです。 汎用以外の表示オプションには、ELの検証は行われません。 |
この項では、ユーザーのロール、権限などに基づいて何かを表示するためにEL式を使用する例を示します。
この例では、ユーザーのロールに基づいてナビゲーション・モデルのアイテムを表示または非表示にするために式言語を使用します。Spacesによって管理されるほとんどすべてのメタデータに対して式言語があるため、ユーザーの経験をパーソナライズするためにELを使用することによって、非常に強力なツールとなります。
ユーザーのロールを判断するために、次のELを使用できます。
#{WCSecurityContext.userInScopedRole['Role 1
'] or WCSecurityContext.userInScopedRole['Role 2
']}
このELでは、ELで指定される内容に対して、現在のユーザーの資格証明(この場合は、ロール)が比較されます。結果がtrue
の場合、すなわち、ユーザーが指定されたロールのいずれかに割り当てられている場合、ナビゲーション・アイテムはユーザーに表示されます。結果がfalse
の場合、ナビゲーション・アイテムはユーザーに対して非表示になります。
ELで参照されるロールには、Administrator
、Moderator
、Participant
、カスタム・ロールなどのシステム・ロールがあります。
このELがOR
句を使用して2つの条件を結合すること、すなわち、ユーザーがナビゲーション・アイテムを表示できるようにロール1またはロール2のいずれかを使用する必要があることに注意してください。
次の手順は、Moderator
ロールを割り当てられているユーザーにのみ表示されるナビゲーション・アイテム(別のスペースのページ問合せ)の追加方法を示します。
注意: これは、自身のスペースにカスタム・ナビゲーション・モデルを適用していることを前提としています。シード済ナビゲーション・モデルを編集することはできません。 |
ナビゲーションをパーソナライズするには:
スペース設定に移動し、「リソース」の下の「ナビゲーション」パネルにアクセスします。
次のURLを使用して「リソース」サブページに移動し、そこから「ナビゲーション」をクリックできます。
http://host:port/webcenter/spaces/
spaceName
/admin/resources
スペースが使用しているナビゲーション・モデルを選択します。
ヒント: 現在のスペースが使用しているナビゲーション・モデルを確認するには、スペース設定の下にある「一般」サブページに移動して、「ナビゲーション」フィールドの値を探します。 |
「編集」メニューから「編集」を選択します。
「編集 - ナビゲーション・モデル」ダイアログで、「追加」メニューを開き、「ページ問合せ」を選択します。
「ターゲット」タブを前面に表示します。
「名前」フィールドに、moderatorQuery
などの問合せの名前を入力します。
「ページの検索場所」の横の「スペース」を選択し、現在のスペース名がフィールドに表示されていることを確認します。
「表示」チェック・ボックスの右側のアイコンをクリックし、「式ビルダー」を選択します。
「値の選択」を選択し、最初のドロップダウンから「スペース情報」、2番目のドロップダウンから「CurrentSpaceロール - 進行役」を選択します。
テキスト・フィールドに#{WCSecurityContext.userInScopedRole['Moderator']}
という式が表示されます。
ヒント: カスタム・ロール使用している場合は、「CurrentSpaceロール - カスタム」を選択します。テキスト領域で、 |
「リソース」タブに戻るまで、「OK」をクリックします。
これをテストするには、スペースにメンバーを追加し、Moderator
以外のロールをこのユーザーに割り当てます。ログオフしてからそのユーザーとして再度ログインします。「ページ問合せ」ナビゲーション・アイテムは表示しないでください。
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}
詳細は次のとおりです。
wCond
は、wCond[
p
][
op
][
v
]
として表示可能なアトミック条件です。
詳細は次のとおりです。
p
は、スペース属性(WcSpaceHeader
のフィールド、以下の箇条書きリストを参照)です。
op
は、JPQL比較演算子('=
'、'like
'、'!=
'、'<
'、'>
'、'<=
'、'>=
'、'is
')の制限されたセットの1つです。
v
は、解釈が演算子op
によって異なる文字列です。
演算子がis
の場合、v
には、文字列'null'
または'not null'
を指定できます。また、その条件は、JPQLでnullまたはnot 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')
(wCond
とともに)and
、or
、not
は条件のタイプです。
詳細は次のとおりです。
and
は、2つの条件の結合を表します。cond1
['and'][
cond2
]
として論理積条件を表示できます。ここで、cond1
およびcond2
は、結合される2つの条件を表しています。
or
は論理和条件を表します。cond1
['or'][
cond2
]
として論理和条件を表示できます。ここで、cond1
およびcond2
は、分離される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
で定義されているフィールドについては前の箇条書きリストを参照してください)。
desc
およびasc
は、それぞれ降順および昇順のソート順を定義します。
たとえば、次の問合せは、ユーザーが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
注意:
|
レガシーな自由形式のWHERE
およびSORT
句のサポートを継続して行う場合は、このフラグをtrue
に設定します。このオプションがtrue
に設定される場合、Spacesログ・ファイルには警告が含まれます。
webcenter-config.xml.xml
でこのフラグを設定するには:
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')
必要に応じて、テキスト・エディタでファイルを開き、設定を変更します。
例:
<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>
webcenter-config.xml.xml
を保存して、閉じます。
更新した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')
この項では、有効なEL式をリストして説明する一連の表について説明します。これらの表は、表に含まれる式が適用されるコンテキストによってグループ化されます。
この項の内容は次のとおりです。
式ビルダー・エディタで、「値の選択」オプションを選択すると、ダイアログのテキスト・ボックスにシード済EL式を移入できます。最初に、式カテゴリを選択し、式で返す情報のタイプを選択します。選択内容に関連したELがダイアログの下部のテキスト・ボックスに表示されます(図B-5)。
この項は、各カテゴリのサブセクションに分類されます。各サブセクションでは、そのカテゴリに関連したELとその説明を示します。
この項の内容は次のとおりです。
アプリケーション情報のシード済EL式は、Spacesアプリケーションに関連する値を返します。たとえば、#{WCAppContext.application.applicationConfig.title}
という式は、「スペース管理」ページの「構成」ページで指定されるアプリケーション・タイトルを返します。
表B-1に、「アプリケーション情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。
表B-1 「アプリケーション情報」のシード済EL式
オプション | 式 | 返される値の例 |
---|---|---|
現在のスコープ |
|
|
現在のページ・テンプレート・スコープ |
|
|
以前に設定されたページ・テンプレート |
|
|
アプリケーション |
|
|
アプリケーションURL |
|
|
現在のWebCenter Portal URL |
|
|
アプリケーション構成 |
|
|
アプリケーション構成タイトル |
|
|
アプリケーション構成ロゴ |
|
|
アプリケーション構成ヘルプ・ページ |
|
|
アプリケーション構成著作権メッセージ・カスタム値 |
|
|
アプリケーション構成プライバシ・ポリシーURL |
|
|
アプリケーション構成スキン |
|
|
たとえば、現在のページのURLをコピーして共有するスペースの全ページにリンクを表示するとします。ページ・テンプレートにHTMLマークアップ・アイテムを追加し、ページURLを返すELを追加できます。
次の手順は、ページURLを取得するためにELを使用する方法を示します。
編集モードでカスタム・ページ・テンプレートを開きます。
「コンテンツの追加」をクリックします。
リソース・カタログで、「Web開発」をクリックします。
「HTMLマークアップ」の横の「追加」をクリックし、「閉じる」をクリックします。
新たに追加されたHTMLマークアップの「編集」アイコンをクリックします。
「コンポーネント・プロパティ」ダイアログの「表示オプション」タブの「値」フィールドで、次のELを入力します。
<a href="javascript:{ var returnvalue = prompt( '#{pageDocBean.title} URL','#{WCAppContext.applicationURL}/faces#{WCAppContext.currentWebCenterURI}'); }">Share Link</a>
「OK」をクリックします。
スペースにページ・テンプレートを適用します。
ページ情報のシード済EL式は、Spacesアプリケーションに関連する値を返します。たとえば、#{pageDocBean.createdBy}
という式は、現在のページの作成者のユーザー名を返します。
表B-2に、「ページ情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。
表B-2 「ページ情報」のシード済EL式
オプション | 式 | 返される値の例 |
---|---|---|
Title |
|
|
作成者 |
|
j.doe |
作成日文字列 |
|
|
最終更新者 |
|
|
最終更新日文字列 |
|
|
ページ・パス |
|
|
名前 |
|
|
UI CSSスタイル |
|
|
UIスキームの背景イメージ |
|
|
UIスキームの背景色文字列 |
|
null |
ページ権限 |
|
|
ページ・セキュリティ・ターゲット |
|
|
ページ・パラメータのシード済EL式は、Spacesページ・パラメータに関連する値を返します。エディタは、現在のページに対して定義されているすべてのパラメータをリストします。パラメータが定義されていない場合、「ページ・パラメータ」カテゴリは使用できません。
たとえば、シード済ページ・スタイルである「3列」により、5つのシード済ページ・パラメータが提供されます(表B-3を参照)。width
パラメータでは、各列に割り当てられた全幅の割合を示します。show
パラメータは、ページ・ヘッダーおよびページ・フッターがレンダリングされるかどうかを指定します。シード済ページ・スタイルの中で、「空白」、「ホームページ」、「左を狭く」および「右を狭く」のすべてが同じシード済ページ・パラメータを提供します(表B-3を参照)。また、どのページも独自のカスタム・ページ・パラメータを持つ場合があります。
シード済であるかカスタムであるかにかかわらず、使用可能なページ・パラメータは「ページ・パラメータ」カテゴリの式ビルダー・エディタで公開されます。
表B-3に、「3列」、「空白」、「ホームページ」、「左を狭く」および「右を狭く」スタイルに基づいてページに対する「ページ・パラメータ」カテゴリで使用可能なEL式をリストします。また、それぞれが返す値のタイプの例を示します。
リソース情報のシード済EL式は、テンプレート、スタイル、リソース・カテゴリなど、Spacesリソースに関連する値を返します。たとえば、#{srmContext.id['
ResourceID
'].singleResult}
という式は、指定されたGUIDを持つリソースを返します。
表B-4に、「リソース情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。
表B-4 「リソース情報」のシード済EL式
オプション | 式 | 返される値の例 |
---|---|---|
リソースID |
|
|
表示名 |
|
返される値の例は、「リソースID」を参照してください。 |
説明 |
|
返される値の例は、「リソースID」を参照してください。 |
作成日 |
|
返される値の例は、「リソースID」を参照してください。 |
変更者 |
|
返される値の例は、「リソースID」を参照してください。 |
更新日 |
|
返される値の例は、「リソースID」を参照してください。 |
リソース・スコープ |
|
返される値の例は、「リソースID」を参照してください。 |
スペース情報のシード済EL式は、(ホーム・スペースではなく)スペースに関する値を返します。たとえば、#{spaceContext.space['
spaceName
'].children}
という式は、指定された親スペースの下にあるサブスペースのリストを返します。
表B-5に、「スペース情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。
表B-5 「スペース情報」のシード済EL式
オプション | 式 | 返される値の例 |
---|---|---|
NamedSpace |
|
|
CurrentSpace |
|
|
CurrentSpace名 |
|
|
NamedSpaceメタデータ・パス |
|
|
CurrentSpaceメタデータ・パス |
|
|
NamedSpaceメタデータ |
|
|
CurrentSpaceメタデータ |
|
|
NamedSpaceメタデータ表示名 |
|
|
CurrentSpaceメタデータ表示名 |
|
|
NamedSpaceメタデータ・アイコン |
|
|
CurrentSpaceメタデータ・アイコン |
|
|
NamedSpaceメタデータ説明 |
|
|
CurrentSpaceメタデータ説明 |
|
|
NamedSpaceメタデータ作成日 |
|
|
CurrentSpaceメタデータ作成日 |
#{spaceContext.currentSpace.metadata.creationDate} |
|
NamedSpaceメタデータ作成者 |
|
|
NamedSpaceメタデータ・キーワード |
|
|
CurrentSpaceメタデータ・キーワード |
|
|
NamedSpaceメタデータ・オフライン |
|
指定されたスペースがオフラインかどうかによって、 |
CurrentSpaceメタデータ・オフライン |
|
現在のスペースがオフラインかどうかによって、 |
NamedSpaceメタデータ・クローズ |
|
指定されたスペースがクローズしているかどうかによって、 |
CurrentSpaceメタデータ・クローズ |
|
現在のスペースがクローズしているかどうかによって、 |
NamedSpaceメタデータ自己登録 |
|
指定されたスペースに対して自己登録が有効であるかどうかによって、 |
CurrentSpaceメタデータ自己登録 |
|
現在のスペースに対して自己登録が有効であるかどうかによって、 |
NamedSpaceメタデータ検出可能 |
|
指定されたスペースが検出可能かどうかによって、 |
CurrentSpaceメタデータ検出可能 |
|
現在のスペースが検出可能かどうかによって、 |
NamedSpaceメタデータ公開RSS |
|
指定されたスペースがRSSリーダーで公開可能かどうかによって、 |
CurrentSpaceメタデータ公開RSS |
|
現在のスペースがRSSリーダーで公開可能かどうかによって、 |
NamedSpace配信リスト |
|
|
CurrentSpace配信リスト |
|
|
NamedSpaceメタデータ・カスタム属性 |
|
指定されたカスタム属性に対して提供される値を返します |
CurrentSpaceメタデータ・カスタム属性 |
|
指定されたカスタム属性に対して提供される値を返します |
CurrentSpaceメタデータ・ロゴ |
|
|
CurrentSpaceロール - 進行役 |
|
現在のスコープのユーザーが |
CurrentSpaceロール - 参加者 |
|
現在のスコープのユーザーが |
CurrentSpaceロール - 閲覧者 |
|
現在のスコープのユーザーが |
CurrentSpaceロール - カスタム |
|
現在のスコープのユーザーが指定されたカスタム・ロールを割り当てられているかどうかによって、 |
NamedSpace子 |
|
注意: 括弧([])はセットであることを示します。 |
CurrentSpace子 |
|
注意: 括弧([])はセットであることを示します。 |
NamedSpace親 |
|
|
CurrentSpace親 |
|
|
NamedSpaceセキュリティ親 |
|
|
CurrentSpaceセキュリティ親 |
|
|
すべての表示可能なルート・レベル・スペース |
|
|
指定された親スペースGUIDのすべての子および子孫のスペース |
|
|
指定された親スペース名の直近のサブ・スペース |
|
|
指定されたスペース名に一致するスペースのリスト |
|
|
指定されたスペースGUIDに一致するスペースのリスト |
|
|
基準に基づいてソートされたスペースのリスト |
|
|
検索パターンに基づいたスペースのリスト |
|
|
ページ・サイズが制限されたスペースのリスト |
|
|
WHERE句に一致するスペースのリスト |
|
|
EL式ではなく、「スペース・ページ情報」の選択内容は別のアプリケーション・ページへのディレクトリ・パスです。たとえば、指定されたページにナビゲーション情報を提供するためにそれらのパスを使用します。
表B-6に、「スペース・ページ情報」カテゴリで使用可能なシード済ディレクトリのパスをリストし、それぞれが返す値のタイプの例を示します。ドロップダウン・リストの値数は、ユーザーによって使用されるテンプレートおよび作成されるページによって異なります。
表B-6 「スペース・ページ情報」のシード済パス
オプション | Path | Destination |
---|---|---|
COIHome.jspx |
|
現在のスペースのホームページへのパス |
GroupSpaceDocLibMainView.jspx |
|
現在のスペースの「ドキュメント」ページへのパス |
ForumMainView.jspx |
|
現在のスペースの「ディスカッション」ページへのパス |
AnnouncementsMainView.jspx |
|
現在のスペースの「お知らせ」ページへのパス |
EventsMainView.jspx |
|
現在のスペースの「イベント」ページへのパス |
ListsMainView.jspx |
|
現在のスペースの「リスト」ページへのパス |
GroupSpaceActivityMainView.jspx |
|
現在のスペースの「アクティビティ・ストリーム」ページへのパス |
システムのシード済EL式は、現在のユーザーの名前または現在のユーザーの指定されたロケールなど、システム設定に関連する値を返します。たとえば、#{securityContext.userName}
という式は、現在ログインしているユーザーの名前を返します。たとえば、j.doeというユーザーがこの式が使用されているページを表示している場合、j.doeのビューに返された値は、j.doe
です。j.smithというユーザーが同じページを参照している場合、j.smithのビューに返された値は、j.smith
です。
表B-7に、「システム」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。
ユーザー情報のシード済EL式は、指定されたユーザーのプロファイルに関連する値を返します。たとえば、#{webCenterProfile[securityContext.userName].description}
という式は、現在のユーザーのプロファイルの「自己紹介」属性のコンテンツを返します。
表B-8に、「ユーザー情報」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。
表B-8 「ユーザー情報」のシード済EL式
オプション | 式 | 返される値の例 |
---|---|---|
自己紹介 |
|
現在のユーザーのプロファイルの「自己紹介」属性のコンテンツを返します。 |
ユーザー名 |
|
現在のユーザーのプロファイルで指定されるユーザー名 これを現在のユーザーの表示名と比較します。 |
名 |
|
現在のユーザーの名 |
ミドル・ネーム |
|
現在のユーザーのミドル・ネーム |
姓 |
|
現在のユーザーの姓 |
使用されるイニシャル |
|
現在のユーザーのイニシャル |
表示名 |
|
現在のユーザーの表示名 これを現在のユーザーのユーザー名と比較します。 |
電子メール |
|
現在のユーザーの勤務先の電子メール・アドレス |
部門 |
|
現在のユーザーの部門 |
役職/職種 |
|
現在のユーザーの役職/職種 |
マネージャ |
|
現在のユーザーのマネージャの表示名 |
タイムゾーン |
|
現在のユーザーに関連付けられているタイムゾーン |
従業員タイプ |
|
現在のユーザーの従業員タイプ |
従業員番号 |
|
現在のユーザーの従業員番号 |
優先言語コード |
|
現在のユーザーの優先言語 |
組織 |
|
現在のユーザーが属している会社の組織 |
組織単位 |
|
現在のユーザーが属している会社の組織単位 |
専門 |
|
現在のユーザーの専門。たとえば、 |
勤務先FAX |
|
現在のユーザーの勤務先FAX番号 |
勤務先携帯電話番号 |
|
現在のユーザーの勤務先携帯電話番号 |
勤務先電話番号 |
|
現在のユーザーの勤務先電話番号 |
勤務先ページャ番号 |
|
現在のユーザーの勤務先ページャ番号 |
勤務先番地 |
|
現在のユーザーの勤務先番地 |
勤務先市区町村 |
|
現在のユーザーの勤務先の市区町村 |
勤務先都道府県 |
|
現在のユーザーの勤務先の都道府県 |
勤務先私書箱 |
|
現在のユーザーの勤務先の私書箱 |
勤務先郵便番号 |
|
現在のユーザーの勤務先郵便番号 |
勤務先国 |
|
現在のユーザーの勤務先国 |
自宅の住所 |
|
現在のユーザーの自宅の住所 |
自宅電話番号 |
|
現在のユーザーの自宅電話番号 |
生年月日 |
|
現在のユーザーの生年月日 |
旧姓 |
|
現在のユーザーの旧姓 |
入社日 |
|
現在のユーザーが会社によって雇用された日 |
名前接尾辞 |
|
現在のユーザー名に追加されたタイトルおよび資格証明。たとえば、 |
ワイヤレス・アカウント番号 |
|
現在のユーザーのワイヤレス・インターネット・アカウントのアカウント番号 |
WebCenterイベントのシード済EL式は、選択したドキュメントの名前、ドキュメントの作成者、ドキュメントの最終変更日など、ドキュメント関連のイベントに関連する値を返します。たとえば、#{wcEventContext.events.WebCenterResourceSelected.name}
という式は、現在選択しているドキュメントの名前を返します。
表B-9に、「WebCenterイベント」カテゴリで使用可能なシード済EL式をリストし、それぞれの式が返す値のタイプの例を示します。
表B-9 「WebCenterイベント」のシード済EL式
オプション | 式 | 返される値の例 |
---|---|---|
選択したユーザー名 |
|
現在選択しているユーザーのユーザー名 |
選択したドキュメント名 |
|
現在選択しているドキュメントの名前 |
選択したドキュメント作成者 |
|
現在選択しているドキュメントの作成者の名前 |
選択したドキュメント最終変更者 |
|
選択したドキュメントが最後に変更された日付 |
表B-10に、Spacesアプリケーション情報に関連したEL式をリストし、この式が提供する機能のタイプについて説明します。「コンテキスト」列は、式がSpacesコンテキストで使用できるか(WCS)、またはOracle JDeveloperで構築されたSpacesおよびFrameworkアプリケーションの両方で使用できるか(両方)を示します。
表B-10 Spacesアプリケーションに関連したEL式
式 | 機能 | コンテキスト |
---|---|---|
|
すべてのOracle WebCenter Portalアプリケーション関連の情報に対する現在のWebリクエストのアクセス・ポイントを提供するoracle.webcenter.webcenterapp.context.WCApplicationContextオブジェクト。 |
WCS |
|
最後に追加されたリクエストのブックマーク可能な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 |
|
現在のSpacesアプリケーションからのメタデータのペイロードを持つoracle.webcenter.webcenterapp.beans.WebCenterType Bean。 |
WCS |
|
(スペース管理設定から構成される)現在のSpacesアプリケーションの表示名を返します。 デフォルトで、これはWebCenter Portalを返します。 |
WCS |
|
アプリケーション・ロゴがスペース管理設定からアップロードされた場合、この式はアプリケーション・ロゴ・イメージへのURLを返します。 デフォルトで、これはnullを返します。 |
WCS |
|
(スペース管理設定から構成される)現在のSpacesアプリケーションに使用されるヘルプ・アプリケーションへのURLを返します。 デフォルトで、これは/webcenterhelp/spacesを返します。 |
WCS |
|
著作権メッセージがスペース管理設定から構成されている場合、この式はアプリケーションの著作権メッセージを返します。 デフォルトで、これはnullを返します。 |
WCS |
|
(スペース管理設定から構成される)アプリケーションのプライバシー・ポリシーを含むドキュメントへのURLを返します。 デフォルトで、これはhttp://www.oracle.com/html/privacy.htmlを返します。 |
WCS |
|
(スペース管理設定から構成される)アプリケーションのページをレンダリングするために使用するデフォルトのADF Facesスキン・ファミリの名前を返します。 この式は、必ずしもすべてのWebリクエストで使用されるわけでないアプリケーションレベルの設定のみを示します。たとえば、ユーザーがアプリケーションの「プリファレンス」からスキンをオーバーライドすることを選択している場合は、その式を正常に使用することはできません(詳細は、第38章「個人用プリファレンスの設定」を参照してください)。 |
WCS |
|
アプリケーション・レベルで構成されている内容などの要因、現在のユーザーのプリファレンス設定などによって、現在のWebリクエストに使用されるADF Facesスキン・ファミリの名前を返します。
|
両方 |
表B-11に、アプリケーション・セキュリティに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。「コンテキスト」列は、式がSpacesコンテキストで使用できるか(WCS)、またはOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できるか(両方)を示します。
表B-11 セキュリティに関連したEL式
式 | 機能 | コンテキスト |
---|---|---|
|
現在のユーザーがELが起動されているコンテキストで認証される場合は |
両方 |
|
現在のログイン・ユーザーのユーザー名を返します。現在のユーザーがログインされていない場合、この式は値を返しません。 |
両方 |
|
現在のユーザーが現在のスペースのモデレータである場合、値trueを返します。 |
WCS |
|
現在のユーザーが現在のスコープの指定されたロールを割り当てられている場合は、値trueを返します。ロールには、 スコープは暗黙的に現在のスコープに決まります。このELをホーム・スペースで使用すると、ホーム・スペースのGUIDとアプリケーション・レベルで定義されるロールが決まります。このELをスペースのスコープで使用すると、そのスペースで定義されるロールが決まります。 |
WCS |
|
現在のユーザーが指定されたグループ(例: |
両方 |
|
現在のユーザーが指定されたユーザーである場合は、値trueを返します。 |
両方 |
この項では、ユーザーのロールに基づいて何かを表示するためにEL式を使用する例を示します。この例では、ホーム・スペースのコンポーザのソース・ビューにアクセスできるようにAdvancedEdit
ロールを付与したユーザーのみ許可されるEL式を追加するために、ページ・スタイルを作成して、そのソース・コードを編集します。
ホーム・スペースのコンポーザのソース・ビューへのアクセスを制限するには:
管理権限を使用してSpacesにログオンし、「スペース管理」の「セキュリティ」タブに移動します。
AdvancedEdit
という新しいロールを作成し、それをユーザーweblogic
に割り当てます。(詳細は、第24.2項「アプリケーション・ロールおよび権限の管理」を参照ください。)
ユーザーweblogic
は、現在次の2つのロールを持ちます: Administrator
およびAdvancedEdit
。
たとえば、「空白ページ」のような、新しいページ・スタイルを作成します(詳細は、第15.2項「カスタム・ページ・スタイルの作成」を参照してください。)
AdvancedEdit
ロールを持つユーザーにのみコンポーザのソース・ビューへのアクセスを許可するには、ページ・スタイルのソース・コードを編集して、次の属性を<pe: pageCustomizable>
タグに追加します(図B-6)。
toolbarLayout="message stretch statusindicator newline #{WCSecurityContext.userInScopedRole['AdvancedEdit'] ? 'menu' : ''} addonpanels stretch help button"
リソース・コードの編集の詳細は、第11.3.2項「リソースのソース・コードの編集」を参照してください。
weblogic
以外のユーザーとしてログインし、ホーム・スペースで、「空白ページ」ページ・スタイルを使用してページを作成します。コンポーザで、ページを開く場合、デザイン・ビューにページが表示されますが、ユーザーがAdvancedEdit
ロールを付与されていないため、「表示」メニューは使用できません。
ホーム・スペースのユーザーに使用可能なすべてのページ・スタイルにこの技術を適用すると、ソース・ビューへのアクセスが完全に制御されます。様々なスペースに対して同じ技術を使用できます。
表B-12に、Spacesナビゲーションに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。すべてのナビゲーションELは、Oracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。
表B-12 ナビゲーションに関連したEL式
この項では、親スペースの共有ページから2つのサブスペースのアクティビティを監視するために、ナビゲーション・モデルを使用する例を示します。この例では、「アクティビティ・ストリーム」タスク・フローを含むページを使用します。タスク・フローのコンテンツは、ページに渡されるパラメータによって決まります。ナビゲーション・モデルには、ページにリンクする2つのリンクが含まれます。最初のリンクは、「アクティビティ・ストリーム」タスク・フローがsubspace1
のアクティビティを示すように、パラメータとしてsubspace1
を渡します。2番目のリンクはパラメータとしてsubspace2
を渡します。そのため、ページのコンテンツは、ナビゲーションをクリックするリンクによって異なります。
親スペースからサブスペース・アクティビティを監視するためにELを使用するナビゲーション・モデルを構築するには:
スペース、および2つのサブスペースを作成します。サブスペースを作成する際には、使用される内部名を書き留めます(たとえば、subspace1
およびsubspace2
)。
スペースでは、Subspace Activity
というページを作成し、そのページに「アクティビティ・ストリーム」タスク・フローを追加します。タスク・フローの追加の詳細は、第18.5項「ページへのコンポーネントの追加」を参照してください。
新規に作成されたページに対して、subspaceName
のような、ページ・パラメータを作成します。詳細は、第22.3.1項「ページ・パラメータの作成」を参照してください。
パラメータの値として次のELを使用します。
#{empty navigationContext.currentNavigationModel.currentSelection.parameters.subspaceName ? 'subspace1' : navigationContext.currentNavigationModel.currentSelection.parameters.subspaceName}
ここで、'subspace1
'は、ナビゲーションから何も渡されない場合に、ページ・パラメータに対して使用される値です。
「アクティビティ・ストリーム」タスク・フローの設定を編集します。「コンポーネント・プロパティ」ダイアログの「パラメータ」タブで、Spacesパラメータについて、式ビルダーを開き、「ページ・パラメータ」で、subspaceNameを選択します。
「表示オプション」タブの「テキスト」フィールドに、アクティビティが示されているサブスペースの名前を示す値を指定します。たとえば、次のELを使用します。
#{bindings.subspaceName} Activity
ページを表示するスペースを渡すナビゲーションを構築します。
「スペース・デフォルト・ナビゲーション・モデル」に基づくナビゲーションを作成します。
リンク・ナビゲーション・アイテムを追加して、ナビゲーションを編集します。
「ターゲット」タブの「名前」フィールドで、Sub Space 1
としてリンク・アイテムの名前を指定します。
「パス」フィールドで、Subspace Activity
ページを選択します。
「パラメータ」タブのsubspaceName
フィールドで、最初のサブスペースの内部名subspace1
を指定します。
新規に作成されたリンクをコピーし、それを編集して、2番目のサブスペースsubspace2
のリンクを作成します。
編集時に、「ターゲット」タブで、リンクの「名前」のみ変更する必要があります。「パラメータ」タブで、subspaceNameパラメータの値をsubspace2
(2番目のサブスペースの内部名)にのみ変更する必要があります。
新規に作成されたナビゲーションがスペースの現在のナビゲーションとして設定されていることを確認します。
共有のSubspace Activity
ページを表示する2つのリンクがあり、クリックするリンクによって、スペースに異なる値を渡します。
リソースの問合せにこの項の式を使用します。EL式を介したリソースの問合せは、APIコールからそれを問い合せるのと同じです。つまり、['property']['like']['value']
形式の問合せパラメータを設定する必要があります。ここで、property
は、id
、resourceScope
などのプロパティの名前で、value
は、属性の検索値です。
問合せにより、単一または複数の結果が生成されます。問合せ設計者は、必要な内容を決定する必要があります。問合せ設計者は、式で次の値のいずれかが生成されることにより、1つの結果を返すか、または複数の結果を返すかどうかを決定します。
singleResult
: 単一のリソースを返します。一致するリソースが見つからない場合、nullが返されます。
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}
このクラスのプロパティには、このクラスの属性が含まれます。例のプロパティには、Id
、DisplayName
、iconURI
、contentDirectory
などが含まれます。
プロパティ値には、明示的な値、またはそのタイプの値を返す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 | 機能 |
---|---|
|
指定されたIDを持つリソースを返します |
|
指定された表示名を持つリソースを返します |
|
指定された表示名キーを持つリソースを返します |
|
その説明に、指定された値を含むリソースの1つの結果を返します。 複数の結果を取得するには、 |
|
指定された説明キーを持つリソースの1つの結果を返します 説明キーは、リソースの説明の 複数の結果を取得するには、 |
|
指定された作成日を持つリソースを返します |
|
指定されたユーザー名を持つユーザーによって最後に変更されたリソースを返します |
|
指定日に最後に変更されたリソースを返します |
|
指定された範囲内のリソースを返します |
|
指定されたカテゴリ内のリソースを返します 例:
|
|
指定されたディレクトリ内に格納されるリソースを返します |
|
指定されたメタデータ・ファイルからのリソース・メタデータを返します たとえば、次の式は、次のファイル
|
|
指定された場所の たとえば、次の式は
|
|
指定されたページ定義を持つ |
|
指定されたアイコンURIのアイコンを返します |
|
より大きな式で、除外された範囲で使用可能なリソースを除く、すべての指定されたリソースを返します |
|
より大きな式では、カスタム・セキュリティを使用するか、またはカスタム・セキュリティを使用しないリソースを返します
|
|
より大きな式では、提供される値によって、シードされているかまたはシードされていないリソースを返します
|
|
より大きな式では、可視性の指定されたタイプであるリソースを返します
|
|
より大きな式では、可視性が |
|
より大きな式では、指定されたユーザーによって作成されたリソースを返します |
|
より大きな式では、指定されたタイプの1つまたは複数のリソースを返します たとえば、次の式は、
すべてのリソース・タイプが、Oracle Fusion Middleware Oracle WebCenter Java APIリファレンスの |
|
より大きな式では、指定されたバージョンのアプリケーションで使用可能な1つまたは複数のリソースを返します |
|
より大きな式では、指定された範囲で使用可能な1つまたは複数のリソースを返します たとえば、次の式はスコープ(このインスタンスでは、スペース)
デフォルトのスコープ、つまり、アプリケーション・スコープを検索するには、 |
|
より大きな式では、他の組込み式によって設定された値が含まれるかその値に等しい1つまたは複数のリソースを返します
|
この項では、ユーザーのロールに基づいたページ・テンプレートを表示するためにEL式を使用する例を示します。
この例では、EL式を使用して、そのページ・テンプレートで使用可能な機能またはリンクにのみアクセスできるように、特定のページ・テンプレートがモデレータに表示できるようにします。
ユーザー・ロールに基づいたページ・テンプレートを表示するには:
必要なスペースに移動します。
「管理」→「一般設定」に移動します。
「表示設定」セクションの「ページ・テンプレート」で、「式ビルダー」アイコンをクリックして、「式ビルダー」をクリックします。
「値または式の入力」で、次の式を入力します。
#{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を返します。
「OK」をクリックします。
表B-14に、スペースに関連したEL式をリストし、各式が提供する機能のタイプについて説明します。リストされているELのすべてがSpacesで使用することを目的としています。
注意: スペースの内部名は、スペースの管理設定の「一般」ページの「スペースURL」で指定される名前になります。スペースの表示名は、「表示名」で指定されます。表B-14のEL式の多くは、スペース内部名を要求します。 |
表B-14 特定のスペースに関連したEL式
式 | 機能 |
---|---|
|
すべてのスペース関連の情報に対する現在のWebリクエストのアクセス・ポイントを提供する この式の値は、java API: |
|
現在のWebリクエストに関連付けられているスペースを表す この式の値は、Java API: |
|
現在のWebリクエストに関連付けられているスペースの名前。現在のWebリクエストがホーム・スペース・コンテキスト内である場合、 この式の値は、java API: |
|
この式の値は、現在の |
|
指定された名前 この式の値は、スペースのスペース・オブジェクトで |
|
この式の値は、現在の |
|
|
|
|
|
|
|
|
|
指定された名前 |
|
|
|
名前 |
|
|
|
|
|
|
|
ユーザーが、検索を行うか、または「マイ・スペース」ページのリストを参照することによって、 |
|
|
|
|
|
|
|
|
|
たとえば、次のEL式は、すべての検出可能なスペースのリストを返します。 #{spaceContext.spacesQuery.unionOf['DISCOVERABLE'].listSpaces}
たとえば、次のEL式は、すべての問合せ条件が移入された #{spaceContext.spacesQuery.unionOf['DISCOVERABLE']} |
|
現在のユーザーがメンバーであるすべての上位レベルのスペースのリストを返します。 このELは、親を持たないスペースのみを返します。つまりサブスペースは返しません。 |
|
現在のユーザーがメンバーであるすべてのスペースのリストを返します。 このELは、現在のユーザーがアクセス権を持つ各親スペースの下にあるすべてのサブスペースも返します。 例を表示するには、第B.4.6.1項「例: 様々なスペースのEL式の使用」を参照してください。 |
|
ソート基準によって指定された順番にソートされるスペースを返します たとえば、次の問合せは、ユーザーが 次の例では、識別子 #{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].sort['sp.discoverable']['asc']['sp.lastUpdateDate']['desc'].listSpaces} |
|
ページ番号(0ベース)の指定を、問合せ条件に一致する結果から選択できるようにします たとえば、次の式はユーザーがアクセス権を持つすべてのスペースのリストを返し、結果セットの3番目のページを返します。 #{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].pageNumber[2].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リファレンスの |
この項では、様々なスペースを問い合せるためにEL式を使用する例を示します。
この例では、ユーザーがメンバーであるすべてのスペースのリストを表示するために次のELを使用します。
"#{spaceContext.spacesQuery.unionOf['USER_JOINED'].shape['RECURSIVE_FLATTENED'].listSpaces}"
スペースのロゴ、名前、説明およびメンバー数を表示するには、次のメソッドも使用します。
iconURI
: スペース・ロゴを表示する
displayName
: スペース名を表示する
description
: スペースの説明を表示する
memberCount
: スペース・メンバー数を表示する
スペースを問い合せるには:
第29.3.1項「タスク・フローの作成」の説明に従って、新しいタスク・フローを作成し、それを使用できるようにマークします。
タスク・フローのソース・コードを編集します。「リソース」タブで、タスク・フローを選択します。「編集」メニューから、「ソースの編集」を選択します。
「ソースの編集」ダイアログの「フラグメント」タブで、既存のコードを次のコードで置き換えます。
<?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>
タスク・フローをページに追加します。リソース・カタログで、カスタム・タスク・フローが「マッシュアップ」→「タスク・フロー」で使用できます。
このページには現在、ユーザーがメンバーであるすべてのスペースのリストが表示されます(図B-1)。
表B-15に、アプリケーション・ページに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。
表B-15 アプリケーション・ページに関連したEL式
式 | 機能 |
---|---|
|
ページの表示名を返します。例: FinanceProject |
|
ページの作成者のユーザー名を返します。例: monty |
|
ページの作成日時を返します。例: 2008-11-19T10:18:36 |
|
ページの最終更新者のユーザー名を返します。例: monty |
|
ページの最終更新日時を返します。例: 2008-11-19T10:18:36 |
|
アプリケーション・ルート・ディレクトリに相対するページへのファイル・ディレクトリ・パスを返します。例: /oracle/webcenter/page/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/user/Umonty/Page4.jspx |
|
ページのファイル名を返します。例: Page4.jspx |
|
ページに使用されるスタイル・スキームの名前を返します。例: WCSchemeEggShell |
|
ページ・スキーム背景イメージのディレクトリ・パスとファイル名を返します。 |
|
ページ・スキーム背景色の16進数値を返します。例: #ffa500 |
|
現在のユーザーがページ上に持つ権限を返します。例: oracle.webcenter.page.model.security.CustomPagePermission |
|
セキュリティ・システムに対して現在のページを一意に識別する60文字くらいの文字列。例: oracle_webcenter_page_scopedMD_s8bba98ff_4cbb_40b8_beee_296c916a23ed_user_Umonty_Page4PageDef |
表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'} /> この例では、ページがビュー・モードの場合は |
両方 |
この項では、ビュー・モードおよび編集モードで異なるページを表示するためにEL式を使用する例を示します。ビュー・モードで、ページの一方はPage1
、別のページはPage2
を表示するとします。ただし、Page2
ではなく、Page1
を編集する場合は、Webサイトwww.example.com
を表示します。次の形式のELを使用できます。
#{ composerContext.inEditMode ? 'http://www.example.com' : 'url_of_Page2' }
このELでは、ページが編集モードの場合は指定されたWebサイトを表示し、ビュー・モードの場合はPage2
を表示します。
次の手順は、ページ・モードによって異なるページの表示方法を示します。
編集モードで、Page1
という名前のページを開きます。
「コンテンツの追加」をクリックします。
リソース・カタログで、「Web開発」をクリックします。
「Webページ」の横の「追加」をクリックし、「閉じる」をクリックします。
新たに追加されたWebページの「編集」アイコンをクリックします。
「コンポーネント・プロパティ」ダイアログの「表示オプション」タブの「ソース」フィールドで、次の形式で値を入力します。
#{ composerContext.inEditMode ? 'website_url' : 'url_of_Page2' }
「OK」をクリックします。
編集モードで、Page1
には現在、指定したWebサイトが表示されます。ページを保存して閉じます。Page1
には現在、Page2
が表示されます。
表B-17は、(イベント・サービスに関連したイベントではなく)ペイロードを渡すことができるイベントのタイプに関連したEL式をリストします。
これらが生成されると、表B-17で提供されるイベント・ペイロードのすべてまたは一部にアクセスできます。
たとえば、ペイロード全体について、次のELを使用します。
#{wcEventContext.events.<eventName>}
例:
#{wcEventContext.events.WebCenterUserSelected}
表B-17のELのペイロードのすべてはマップです。マップ・エントリを間接参照するには、マップ用の標準ELを使用します。
#{wcEventContext.events.WebCenterUserSelected.UserName}
表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} |
-- |
|
選択したスペースの名前を返します |
|
選択したスペースのGUIDを返します |
表B-18に、サービスに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。リストされているELのすべてがSpacesおよびWebCenter Portal: Frameworkの両方で使用できます。
表B-18 サービスに関連したEL式
式 | 機能 |
---|---|
|
サービスID #{webcenterService['oracle.webcenter.doclib']} サービスIDは、表B-19を参照してください。 |
|
サービスID
サービスIDは、表B-19を参照してください。 |
|
指定されたスペース・ディスカッション・フォーラムのフォーラムIDを返します。 |
|
指定されたスペース・ディスカッション・フォーラムのカテゴリIDを返します。 |
表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-20に、パーソナライズ・コンダクタに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。リストされているELのすべてがOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。
表B-20 パーソナライズ・コンダクタに関連したEL式
式 | 機能 |
---|---|
|
起動されるコンテキスト・オブジェクトの状態を消去します。 他の例: #{p13nContext.conductor['ConductorConnection'].reset} #{p13nContext.conductor['ConductorConnection'].namespaces['MyNamespace'].reset} #{p13nContext.properties['PropertiesConnection'].namespaces['MyNamespace'].setDefinitions['MyPropertySetDefinition'].set['MyPropertySet'].reset} |
|
フォームにバウンドされる場合は新しい値でプロパティ・セットを更新します。
|
|
コンテキスト・オブジェクトの結果を取得します。
他の例: #{p13nContext.conductor['ConductorConnection'].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> 各パラメータ名および値は、セミコロンで区別されます。
|
|
現在のコンテキスト・オブジェクトでエラーが発生したかどうかを決定します。
他の例: #{p13nContext.properties['PropertiesConnection'].namespaces['MyNamespace'].setDefinitions['MyPropertySetDefinition'].set['MyPropertySet'].isError} |
|
現在のコンテキスト・オブジェクトでエラーが発生した場合は、エラー・メッセージを返します。 errorMessageメソッドは、 他の例: #{p13nContext.properties['PropertiesConnection'].namespaces['MyNamespace'].setDefinitions['MyPropertySetDefinition'].set['MyPropertySet'].errorMessage} |
表B-21に、ドキュメント・サービスに関連したEL式をリストし、この式が提供する機能のタイプについて説明します。「コンテキスト」列は、式がSpacesコンテキストで使用できるか(WCS)、またはOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できるか(両方)を示します。
表B-21 ドキュメント・サービスに関連したEL式
式 | 機能 | コンテキスト |
---|---|---|
|
スペースのドキュメントの情報を提供します。スペースのドキュメント関連の情報にアクセスするBeanを返します。 |
WCS |
|
現在のユーザーのドキュメントに関する情報を提供します。 |
WCS |
|
デフォルト・コンテンツ・リポジトリ・コネクション名を取得します。コネクション名が定義されていない場合は |
両方 |
|
スペースのGUIDによって、指定されたスペースのドキュメント情報を検索する方法を提供します。スペースのドキュメント関連の情報を提供するBeanを返します。 |
WCS |
|
スペース名によって、指定されたスペースのドキュメント情報を検索する方法を提供します。スペースのドキュメント関連の情報にアクセスするBeanを返します。 スペースの内部名を入力します。スペースの内部名は、スペースの管理設定の「一般」ページの「スペースURL」で指定される名前になります。スペースの表示名は「表示名」によって指定されます。これは、スペース上部のバナーに表示される名前です。表B-14のEL式の多くは、スペース内部名を要求します。 |
WCS |
|
ユーザー名によってユーザー・ドキュメント情報を検索する方法を提供します。ユーザーのドキュメント関連の情報にアクセスするBeanを返します。 |
WCS |
|
ドキュメント・サービスが構成されているかどうかを確認します。ドキュメント・サービスが構成されている場合は、 |
両方 |
表B-22に、ピープル・コネクション・サービスのプロファイル機能に関連したEL式をリストし、この式が提供する機能のタイプについて説明します。リストされているELのすべてがOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。
注意: エントリ |
表B-22 ピープル・コネクション・サービスに関連したEL式(プロファイル)
式 | 機能 |
---|---|
|
指定されたユーザーのマネージャの表示名(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの従業員番号(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーに関連付けられている勤務先の私書箱(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーのホーム・オフィスがあるタイム・ゾーン(現在のユーザーが知ることを許可されている場合)。 |
|
(プロファイルの「自己紹介」からの)指定されたユーザーの説明(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーが属する部門(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの勤務先ページャ番号(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの市区町村(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの結婚前の姓または名(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの勤務先FAX番号(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの入社日(現在のユーザーが知ることを許可されている場合)。 |
|
|
|
指定されたユーザーのミドル・ネーム(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの自宅電話番号(現在のユーザーが知ることを許可されている場合)。 |
|
|
|
指定されたユーザーの姓または名(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの誕生日(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーのホーム・オフィスがある都道府県(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの自宅の住所(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーのホーム・オフィスがある番地(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの郵便番号(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーのイニシャル(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの名(現在のユーザーが知ることを許可されている場合)。 |
|
|
|
指定されたユーザーのワイヤレス・アカウント番号(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの勤務先電話番号(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーが割り当てられている国(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの優先言語(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの表示名(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの実際の名前(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの役職(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの勤務先電子メール・アドレス(現在のユーザーが知ることを許可されている場合)。 |
|
|
|
指定されたユーザーの携帯電話番号(現在のユーザーが知ることを許可されている場合)。 |
|
指定されたユーザーの勤務先の専門(現在のユーザーが知ることを許可されている場合)。 |
表B-23に、ユーザー・プリファレンスに関連したEL式およびそれらの式が提供する機能のタイプについて説明します。リストされているELのすべてがOracle JDeveloperで構築されたSpacesアプリケーションおよびFrameworkアプリケーションの両方で使用できます。
表B-23 ユーザー・プリファレンスに関連したEL式
式 | 機能 |
---|---|
|
現在のユーザーが、アプリケーションの「プリファレンス」で選択したタイム・ゾーンを返します。詳細は、第38.3項「時刻と日付のプリファレンスの設定」を参照してください。 |
|
現在のユーザーが、アプリケーションの「プリファレンス」で選択した日付書式を返します。詳細は、第38.3項「時刻と日付のプリファレンスの設定」を参照してください。 |
|
現在のユーザーの優先する日付書式パターンを返します(設定されている場合)。そうでない場合は 日付およびパターンがFrameworkアプリケーションにのみ適用できることに注意してください。このアプリケーションにおいて、設定されている場合は、日付およびパターンが日付およびスタイルより優先されます。 |
|
現在のユーザーが、アプリケーションの「プリファレンス」で選択した時間書式を返します。詳細は、第38.3項「時刻と日付のプリファレンスの設定」を参照してください。 |
|
現在のユーザーの優先する時間書式パターンを返します(設定されている場合)。そうでない場合は |
|
現在のユーザーの優先する日時書式パターンを返します(設定されている場合)。そうでない場合は |
|
現在のユーザーの優先するアクセシビリティ・モードを返します( |
|
指定されている場合は、現在のユーザーの優先するスキン名。そうでない場合はデフォルト値を返します。 |
|
現在のユーザーの選択したロケールの現在の日付を返します。 |
|
現在のユーザーの選択したロケールの現在の時刻を返します。 |
|
現在のユーザーの選択したロケールの現在の日時を返します。 |
|
アプリケーション・レベルで構成されている内容などの要因、現在のユーザーのプリファレンス設定などによって、現在のWebリクエストに使用されるADF Facesスキン・ファミリの名前を返します。 |
この項では、ユーザー・プリファレンスからページをパーソナライズするためにEL式を使用する例を示します。ページのいずれかに現在の日時を表示するとします。次のELを使用できます。
#{generalSettings.formattedCurrentDateTime}
このELは現在のユーザーのロケールを使用して、現在の日時を表示します。
次の手順は、ページに現在の日時を表示する方法を示します。
編集モードで必要なページを開きます。
「コンテンツの追加」をクリックします。
リソース・カタログで、「Web開発」をクリックします。
「HTMLマークアップ」の横の「追加」をクリックし、「閉じる」をクリックします。
新たに追加されたHTMLマークアップの「編集」アイコンをクリックします。
「コンポーネント・プロパティ」ダイアログの「表示オプション」タブの「値」フィールドで、次のELを入力します。
#{generalSettings.formattedCurrentDateTime}
「OK」をクリックします。
これで、ページに現在の日時が表示されるようになります。
表B-24に、実用的EL式をリストし、この式が提供する機能のタイプについて説明します。
表B-24 実用的EL式
式 | 機能 |
---|---|
|
現在のユーザーのプリファレンスで指定された形式で現在の日付を返します。 |
|
|
|
これらの式の両方がリクエスト・ロケール(つまり、ブラウザ・ロケール設定)を返します。 |
|
現在のアプリケーション・ページがコンポーザ・モードである場合は、trueを返します。現在のアプリケーション・ページがコンポーザ・モードでない場合は、falseを返します。 |
|
現在のアプリケーション・スキン・ファミリを返します。 |