Oracle® Fusion Middleware Oracle WebCenter PortalおよびOracle JDeveloperでのポータルの開発 11gリリース1 (11.1.1.8.3) E49666-03 |
|
前 |
次 |
この付録では、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションで使用できる式言語(EL)式について説明します。
内容は次のとおりです。
関連項目: EL APIの詳細は、Oracle Fusion Middleware Oracle WebCenter Portal Java APIリファレンスを参照してください。 |
ページ・コンポーネントまたはアセットを構成する場合、現在のアプリケーション・コンテキストを利用する変数として値を表すことができます。たとえば、現在のユーザーの名前、ユーザーに割り当てられたロール、現在のページの状態などを、変数を使用して取得できます。こうした柔軟性はEL式を使用することで実現できます。
この項には次のサブセクションが含まれます:
EL式は、属性と実行時に決まるオブジェクト値とのバインドに、Portal Frameworkアプリケーション全体で使用されます。特定のコンポーネントの値は、実行時にそのvalue属性によって決定されます。コンポーネントにはその値として静的テキストを割り当てることができますが、通常、value属性には、表示データを決定するために実行時インフラストラクチャにより評価されるEL式が含まれます。
JDeveloperの式ビルダーを使用してEL式を作成できます。ビルダーにはプロパティ・インスペクタからアクセスできます。プロパティ・インスペクタで変更する属性を特定し、「プロパティ・メニュー」アイコンをクリックして、ポップアップから「式ビルダー」を選択します(図F-1)。
「式ビルダー」ダイアログ(図F-2)では、「式」ボックスにEL式を直接入力できます。「変数」ドロップダウン・リストを使用して、式に含める項目を選択することもできます。演算子ボタンを使用して、式に論理演算子または算術演算子を追加します。
式ビルダーの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』の「ADF Facesのスタート・ガイド」の章を参照してください。
WebCenter Portalでは、式エディタと呼ばれる単純な式言語(EL)エディタを提供しています。式エディタは、動的な計算をしなければ不明なプロパティ値(たとえば、現在のユーザーや現在のページ・モードなどを指定する場合)を定式化する場合に使用します。
式エディタは、WebCenter Portalの管理および編集画面で使用できます。式エディタを開くには、フィールド、チェック・ボックスまたはドロップダウン・リストの横の「拡張編集オプション」アイコンをクリックして、「式ビルダー」をクリックします(図F-3)。
関連項目: コンポーネント・プロパティへのアクセスの詳細は、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築のコンポーネントの変更に関する項を参照してください。 |
式エディタには、式の入力用に2つのオプションが用意されています。
値の選択: シード済EL式を選択します。
値または式の入力: 式を手動で入力します。
「値の選択」の下のオプションは、式から返される情報のタイプに基づいて分類されます。最初のメニューでカテゴリを選択し、2番目のメニューで返される値のタイプを選択します(図F-4)。
「値または式の入力」オプションの下のテキスト・ボックスを使用して、目的の式を手動で入力できます(図F-5)。
この付録にある表の式の多くは、結果として返されるオブジェクトを絞り込むための構成要素です。すなわち、必ずしも単独で使用することを意図したものではなく、ELを組み合せて必要な問合せを構築するために使用します。
たとえば、次の式は、3つのアセット関連ELを使用して、特定のポータル・テンプレートを返す問合せを1つ構築します。これは、親ポータルstores
からテンプレートstoresMasterTemplate
を取得します。
#{srmContext.resourceScope['stores'].resourceType['siteTemplate'].displayName['storesMasterTemplate'].singleResult}
式エディタでは、次のいずれかを実行できます。
「値の選択」を選択して、ドロップダウン・リストから事前定義された値を選択します。
「値または式の入力」を入力して、値またはEL式を入力します。次の形式を使用します。
リテラル数値: #{123}
リテラル文字列: #{'string'}
リテラルブール値: #{true}
値を戻すために呼び出されるJava Bean: #{generalSettings.preferredTimeStyle}
エディタには「テスト」ボタンがあり、ELの入力を検証できます。「テスト」ボタンは、「値または式の入力」の下のテキスト・ボックスに入力した式に対して使用できます。
検証では、EL構文がチェックされて式が評価されます。式の値は、それが実行されるコンテキストによって異なるため、エディタには実際の使用時に戻される値とは異なる結果値が表示される可能性があります。
ただし、「テスト」をクリックしたときに検証されるのはELのみで、他のタイプの値は検証されないことに注意してください。結果はポップアップに表示されます。
注意: 「コンポーネント・プロパティ」ダイアログの汎用の「表示オプション」タブ内のどこにELを入力しても、そのエントリは自動的に検証されます。EL構文が無効な場合はエラーが表示され、値は適用も保存もされません。汎用の表示オプションは、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築の表示オプション・プロパティの表に記載されているオプションです。 ELの検証は、汎用でない表示オプションには実行されません。 |
この項では、ユーザーのロールや権限などに基づいて表示を行うためのEL式の使用例を示します。
この例では、式言語を使用して、ユーザーのロールに基づいてナビゲーション・モデル内のアイテムを表示または非表示にしています。式言語はOracle WebCenter Portalによって維持されるほぼすべての要素に対して存在しているので、ELを使用したユーザー・エクスペリエンスのパーソナライズは非常に強力なツールだと言えます。
次のELを使用して、ユーザー・ロールを決定できます。
#{WCSecurityContext.userInScopedRole['Role 1
'] or WCSecurityContext.userInScopedRole['Role 2
']}
このELは、現在のユーザーの資格証明(この場合はrole)を、EL内で指定されている内容と比較しています。結果がtrue
の場合、つまり指定されたロールのいずれかがユーザーに割り当てられている場合は、ナビゲーション・アイテムがユーザーに表示されます。結果がfalse
の場合、ナビゲーション・アイテムはユーザーに表示されません。
EL内で参照するロールは、システム・ロール(Administrator
、Moderator
またはParticipant
)でもカスタム・ロールでも構いません。
このELでは、OR
句を使用して2つの条件を接続しています。つまり、ユーザーがナビゲーション・アイテムが表示できるようになるには、Role 1またはRole 2のいずれかが必要です。
次の手順は、Moderator
ロールが割り当てられたユーザーのみに表示されるナビゲーション・アイテム(別のポータルに対するページ問合せ)を追加する方法を示しています。
注意: この演習では、自分のポータルにカスタム・ナビゲーション・モデルを適用済であるとします。シード済ナビゲーション・モデルは編集できません。 |
ポータル内のナビゲーションをパーソナライズするには:
ポータル管理で「アセット」ページに移動して、左側ペインの「ナビゲーション」をクリックします。
ブラウザで次のURLを入力して、「アセット」ページに直接移動することもできます。
http://host:port
/webcenter/portal/portalName
/admin/assets
ポータルで使用しているナビゲーション・モデルの「編集」クイック・リンクをクリックします。
ヒント: 現在のポータルが使用しているナビゲーション・モデルを判別するには、ポータルの管理設定に移動して、「ナビゲーション」フィールド内の値を確認します。 |
「編集 - navigation model」ダイアログで、「追加」メニューを開き、「ページ問合せ」を選択します。
「ターゲット」タブでは、次の操作を実行します。
「名前」フィールドに、問合せの名前を入力します(例: moderatorQuery
)。
検索ページの横で、「ポータル」を選択し、現在のポータル名がフィールドに表示されるのを確認します。
「表示可能」チェック・ボックスの横の「拡張編集オプション」アイコンをクリックして、「式ビルダー」を選択します。
「値の選択」を選択して、1つ目のドロップダウン・リストから「ポータル情報」、2つ目のリストから「CurrentPortalロール - 進行役」を選択します。
#{WCSecurityContext.userInScopedRole['Moderator']}
という式がテキスト・フィールドに表示されます。
ヒント: カスタム・ロールで作業する場合は、「CurrentPortalロール - カスタム」を選択します。テキスト領域で、 |
「アセット」ページに戻るまで「OK」をクリックします。
「保存」をクリックします。
これをテストするには、ポータルにメンバーを追加して、このユーザーにModerator
以外のロールを割り当てます。ログオフして、そのユーザーとして再度ログインします。「ページ問合せ」ナビゲーション・アイテムは表示されないはずです。
表F-1は、アプリケーションに関連するEL式をリストし、それが提供する機能のタイプを説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。
WebCenter Portalのみに関連するEL式の詳細は、第F.14.3項「WebCenter Portal情報に関連するEL式」を参照してください。
表F-1は、アプリケーション・セキュリティに関連するEL式をリストし、それらが提供する機能のタイプを説明します。これらの式の一部は、Portal FrameworkアプリケーションとWebCenter Portalで構築されたポータルの両方で使用できます。「コンテキスト」列は、ELがFrameworkアプリケーション専用なのか、WebCenter Portal専用なのか、両方で使用できる(両方)のかを示します。
表F-2 セキュリティに関連するEL式
式 | 機能 | コンテキスト |
---|---|---|
|
ELが呼び出されているコンテキスト内で現在のユーザーが認証済の場合は |
両方 |
|
現在ログインしているユーザーのユーザー名を返します。現在ユーザーがログインしていない場合、値を返しません。 |
両方 |
|
指定されたユーザーが現在のユーザーである場合は |
両方 |
|
指定されたOPSSアプリケーション・ロールが現在のユーザーに割り当てられている場合は 例: #{WCSecurityContext.userInAppRole['AppConnectionManager']} |
Frameworkアプリケーション |
|
指定されたグループが現在のユーザーに割り当てられている場合はtrueを返します。例: #{WCSecurityContext.userInGroup['Administrators']} |
両方 |
|
現在のユーザーが現在のポータルのモデレータの場合は、値trueを返します。 |
WebCenter Portal |
|
現在のスコープの指定されたロールが現在のユーザーに割り当てられている場合はtrueを返します。ロールは スコープは暗黙的に現在のスコープに解決されます。このELをホーム・ポータルで使用した場合、ホーム・ポータルのGUIDと、アプリケーション・レベルで定義されたロールに解決されます。このELをポータル・スコープで使用した場合、ポータルに対して定義されたロールに解決されます。 |
WebCenter Portal |
この項では、ユーザーのロールに基づいて表示を行うためのEL式の使用例を示します。この例では、ページ・スタイルを作成してそのソース・コードを編集し、AdvancedEdit
ロールを付与されたユーザーのみがホーム・ポータル内でコンポーザの構造ビューにアクセスできるようにするEL式を追加します。
ホーム・ポータルでコンポーザの構造ビューへのアクセスを制限するには:
WebCenter Portalに管理権限でログインして、WebCenter Portal管理の「セキュリティ」タブに移動します。
AdvancedEdit
という名前の新しいロールを作成し、それをweblogic
というユーザーに割り当てます。
WebCenter Portalでのアプリケーション・レベルのロールと権限の詳細は、Oracle Fusion Middleware Oracle WebCenter Portalの管理の「ポータル間のセキュリティ管理」の章を参照してください。
ユーザーweblogic
はこれで、Administrator
とAdvancedEdit
の2つのロールを持つことになります。
新しいページ・スタイル、たとえば空白ページを作成します(ページ・スタイルの作成の詳細は、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築のページ・スタイルの作成に関する項を参照してください)。
コンポーザの構造ビューへのアクセス権をAdvancedEdit
ロールを持つユーザーのみに付与するには、ページ・スタイルのソース・コードを編集して、<pe: pageCustomizable>
タグに次の属性を追加します(図F-6)。
toolbarLayout="message stretch statusindicator newline designViews="design #{WCSecurityContext.userInScopedRole['AdvancedEdit'] ? 'source' : '}" addonpanels stretch help button"
ソース・コードの編集に関する詳細は、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築のアセットのソース・コードの編集に関する項を参照してください。
weblogic
以外のユーザーとしてログインして、ホーム・ポータルで「空白ページ」ページ・スタイルを使用してページを作成します。コンポーザでページを開くと、デザイン・ビューにページが表示され、「構造」タブは表示されません。このユーザーにはAdvancedEdit
ロールが付与されていないからです。
ホーム・ポータル内でユーザーが使用可能なすべてのページ・スタイルにこの方法を適用すると、構造ビューへのアクセスが完全に制御されます。他のポータルにも同じ方法を適用できます。
表F-2は、一般アプリケーションの設定に関連するEL式をリストし、それらが提供する機能のタイプを説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。
表F-3 一般設定に関連するEL式
式 | 機能 |
---|---|
|
現在のユーザーがアプリケーション・プリファレンスで選択しているタイムゾーンを返します。 |
|
現在のユーザーがアプリケーション・プリファレンスで選択している日付書式を返します。 |
|
現在のユーザーの優先日付書式パターンが設定されている場合はそれを返し、それ以外の場合は 日付とパターンの組合せはPortal Frameworkアプリケーションにのみ適用可能であり、設定されている場合は日付とスタイルの組合せよりも優先されます。 |
|
現在のユーザーがアプリケーション・プリファレンスで選択している時間書式を返します。 |
|
現在のユーザーの優先時間書式パターンが設定されている場合はそれを返し、それ以外の場合は |
|
現在のユーザーの日付書式と時間書式の優先パターンが設定されている場合はそれを返し、それ以外の場合は |
|
現在のユーザーの優先アクセシビリティ・モード( |
|
現在のユーザーの優先スキン名が指定されている場合はその名前、それ以外の場合はデフォルト値。 |
|
現在のユーザーが選択しているロケールの現在の日付を返します。 |
|
現在のユーザーが選択しているロケールの現在の時間を返します。 |
|
現在のユーザーが選択しているロケールの現在の日付と時間を返します。 |
|
アプリケーション・レベルで構成されている要素や現在のユーザーのプリファレンス設定などに応じて、現在のWebリクエストで使用されるADF Facesスキン・ファミリの名前を返します。 |
この項の式を使用して、ポータル・リソースの問合せを行います。EL式によるポータル・リソースの問合せは、APIコールによるリソースの問合せと類似しています。すなわち、問合せパラメータは.
property
['
value
']
という形式で設定する必要があり、property
はid
、resourceScope
などのプロパティの名前、value
は属性の検索値です。
問合せを実行すると、1件または複数件の結果が返される可能性があります。問合せデザイナは、どちらの結果を望むのかを決める必要があります。問合せデザイナは式で次の値のいずれかを使用して、1件の結果を返すのか、複数件の結果を返すのかを指定します。
singleResult
: 1つのポータル・リソースを返します。一致するリソースが見つからない場合、nullを返します。
resultList
: ポータル・リソースのリストを返します。一致するポータル・リソースが見つからない場合、空のリストを返します。
注意: 式で使用されている |
次の例は、表示名にmyPage
が含まれる、最初に見つけたページ・テンプレート・ポータル・リソースを返します。
#{srmContext.resourceType['siteTemplate'].displayName['myPage'].singleResult}
次の例は、ディレクトリresourceDir
に存在し、説明にsampleDesc
が含まれるページ・テンプレート・ポータル・リソースのリストを返します。
#{srmContext.resourceType['siteTemplate'].description['sampleDesc'].contentDirectory['resourceDir'].resultList}
このクラスのプロパティには、このクラスの任意の属性が含まれます。たとえば、Id
、DisplayName
、iconURI
、contentDirectory
などのプロパティが含まれます。
プロパティ値は、明示的な値として、またはそのタイプの値を返すEL式として、指定できます。たとえば、次の2つの問合せは同じ結果を返します。
#{srmContext.id['resourceId
'].singleResult}
#{srmContext.id['spacesContext.currentSpace.uiMetadata.siteTemplateId'].singleResult}
EL式を使用する問合せでは、このクラスの任意のプロパティをproperty
['
value
']
という形式で、任意の順序で使用できます。たとえば、次の2つの問合せは同じ結果を返します。
#{srmContext.resourceScope['scopeName
'].id['resourceId
'].singleResult} #{srmContext.id['resourceId
'].resourceScope['scopeName
'].singleResult}
表F-4は、ポータル・リソースに関連するEL式をリストし、それぞれが提供する機能のタイプを説明します。表F-4の多くの式は、返すリソースを絞り込むためのブロックを構築します。すなわち、必ずしも単独で使用することを意図したものではなく、ELを組み合せて必要な問合せを構築するために使用します。
たとえば、次の式は、3つのポータル・リソース関連ELを使用して、特定のポータル・テンプレートを返す問合せを1つ構築します。これは、親ポータルstores
からテンプレートstoresMasterTemplate
を取得します。
#{srmContext.resourceScope['stores'].resourceType['siteTemplate'].displayName['storesMasterTemplate'].singleResult}
WebCenter Portalアセットのみに関連するEL式の詳細は、第F.14.4項「アセットに関連するEL式」を参照してください。
表F-4 ポータル・リソースに関連するEL
EL | 機能 |
---|---|
|
指定されたIDのポータル・リソースを返します |
|
指定された表示名を持つ任意のポータル・リソースを返します |
|
指定された表示名キーを持つ任意のポータル・リソースを返します |
|
指定された値が説明に含まれるポータル・リソースを1つ返します 複数の結果を取得するには、 |
|
指定された説明キーを持つポータル・リソースを1つ返します 説明キーは、ポータル・リソースの説明を示す、 複数の結果を取得するには、 |
|
指定された作成日を持つ任意のポータル・リソースを返します |
|
指定されたユーザー名のユーザーにより最後に変更された任意のポータル・リソースを返します |
|
指定された日付以前に最後に変更された任意のポータル・リソースを返します |
|
指定されたスコープに該当する任意のポータル・リソースを返します |
|
指定されたカテゴリに該当する任意のポータル・リソースを返します 例: #{srmContext.category['siteTemplates']} |
|
指定されたディレクトリに格納されている任意のポータル・リソースを返します |
|
指定されたメタデータ・ファイルからポータル・リソース・メタデータを返します たとえば、次の式はファイル #{srmContext.metadataFile['/home/metadat/data.xml']} |
|
指定された場所にある任意の たとえば、次の式は #{srmContext.jspx['/home/web/page.jspx']} |
|
指定されたページ定義が含まれる任意の |
|
指定されたアイコンURIのアイコンを返します |
|
より大きな式で使用され、除外されたスコープで使用可能なポータル・リソースを除く、指定されたすべてのリソースを返します |
|
より大きな式で使用され、カスタム・セキュリティを使用する、または使用しない、任意のポータル・リソースを返します
|
|
より大きな式で使用され、指定された値に応じてシードされる、またはシードされない、任意のポータル・リソースを返します
#{srmContext.seeded['TRUE']} |
|
より大きな式で使用され、指定された可視性タイプの任意のポータル・リソースを返します
#{srmContext.visibleType['TRUE']} |
|
より大きな式で使用され、可視性が |
|
より大きな式で使用され、指定されたユーザーによって作成された任意のポータル・リソースを返します |
|
より大きな式で使用され、指定されたタイプの1つまたは複数のポータル・リソースを返します たとえば、次の式はタイプ #{srmContext.resourceType['SITE_TEMPLATE']} すべてのリソース・タイプのリストは、Oracle Fusion Middleware Oracle WebCenter Portal Java APIリファレンスの |
|
より大きな式で使用され、指定されたバージョンのアプリケーションで使用可能な1つまたは複数のポータル・リソースを返します |
|
より大きな式で使用され、指定されたスコープで使用可能な1つまたは複数のポータル・リソースを返します たとえば、次の式はスコープ(このインスタンスではポータル)が #{srmContext.resourceScope['MyPortal']} デフォルト・スコープ、すなわちアプリケーション・スコープ内を検索するには、 |
|
より大きな式で使用され、組み込まれている他の式で設定された値が含まれる、またはその値に等しい、1つまたは複数のポータル・リソースを返します
|
表F-4は、アプリケーション・ナビゲーションに関連するEL式をリストし、それらが提供する機能のタイプを説明します。ここに示すナビゲーションELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。
表F-5 ナビゲーションに関連するEL式
この項では、親ポータルの共有ページから2つのサブポータルのアクティビティを監視する場合のナビゲーション・モデルの使用例を示します。この例では、アクティビティ・ストリーム・タスク・フローを含むページを使用します。タスク・フローのコンテンツは、ページに渡されるパラメータによって決定されます。ナビゲーション・モデルには、このページにリンクする2つのリンクが含まれます。1つ目のリンクはsubportal1
をパラメータとして渡すので、アクティビティ・ストリーム・タスク・フローにはsubportal1
のアクティビティが表示されます。2つ目のリンクはsubportal2
をパラメータとして渡します。つまり、ページのコンテンツは、ナビゲーションでクリックするリンクによって異なります。
ELを使用して親ポータルからサブポータルのアクティビティを監視するナビゲーション・モデルを構築するには:
WebCenter Portalで、ポータルと2つのサブポータルを作成します。サブポータルの作成時には、使用する内部名(subportal1
やsubportal2
など)をメモしておきます。
ポータルで、Subportal Activity
という名前のページを作成し、アクティビティ・ストリーム・タスク・フローをこのページに追加します。タスク・フローの追加方法の詳細は、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築のコンポーネントのページへの追加に関する項を参照してください。
新しく作成したページ用に、ページ・パラメータ(subportalName
)を作成します。詳細は、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築のページ・パラメータの追加または変更に関する項を参照してください。
次のELをパラメータの値として使用します。
#{empty navigationContext.currentNavigationModel.currentSelection.parameters.subspaceName ? 'subportal1' : navigationContext.currentNavigationModel.currentSelection.parameters.subspaceName}
ここで、'subportal1
'は、ページ・パラメータ用にナビゲーションから何も渡されなかった場合に使用される値です。
アクティビティ・ストリーム・タスク・フローの設定を編集します。「コンポーネント・プロパティ」ダイアログの「パラメータ」タブで、「スペース」パラメータに対して式ビルダーを開き、「ページ・パラメータ」に対してsubportalNameを選択します。
「表示オプション」タブでは、「テキスト」フィールドで、アクティビティを表示するサブポータルの名前を示す値を指定します。たとえば、次のELを使用します。
#{bindings.subspaceName} Activity
自分のページを表示するポータルを渡すナビゲーションを構築します。
ポータル・デフォルト・ナビゲーション・モデルに基づいてナビゲーションを作成します。
リンク・ナビゲーション・アイテムを追加することで、ナビゲーションを編集します。
「ターゲット」タブの「名前」フィールドで、リンク・アイテムの名前をSub Portal 1
と指定します。
「パス」フィールドで、「Subportal Activity」
ページを選択します。
「パラメータ」タブの「subportalName」
フィールドで、最初のサブポータルの内部名、subportal1
を指定します。
新しく作成されたリンクをコピーして、それを編集し、2つ目のサブポータルsubportal2
に対するリンクを作成します。
編集時、「ターゲット」タブで変更する必要があるのは、リンクの「名前」のみです。「パラメータ」タブでは、「subportalName」パラメータの値をsubportal2
(2つ目のサブポータルの内部名)に変更する必要があるだけです。
新しく作成されたナビゲーションが、ポータルの現在のナビゲーションとして設定されていることを確認します。
これで、共有のSubportal Activity
ページに移動できる2つのリンクが作成されます。クリックしたリンクに応じて、ポータルの異なる値が渡されます。
表F-5は、ツールとサービスに関連するEL式をリストし、それらが提供する機能のタイプを説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。
表F-6 ツールとサービスに関連するEL式
式 | 機能 |
---|---|
|
サービスID #{webcenterService['oracle.webcenter.doclib']} サービスIDについては、表F-7を参照してください。 |
|
サービスID #{webcenterService['oracle.webcenter.collab.forum'].configured} サービスIDについては、表F-7を参照してください。 |
|
指定されたポータル・ディスカッション・フォーラムのフォーラムIDを返します。 |
|
指定されたポータル・ディスカッション・フォーラムのカテゴリIDを返します。 |
表F-7は、WebCenter Portalのツールとサービスに関連付けられているサービスIDをリストしています。
表F-7 サービスとツールのID
サービス/ツール | ID |
---|---|
お知らせ |
oracle.webcenter.collab.announcement |
ディスカッション |
oracle.webcenter.collab.forum |
ドキュメントとWiki |
oracle.webcenter.doclib |
イベント |
oracle.webcenter.collab.calendar.community |
インスタント・メッセージおよびプレゼンス(IMP) |
oracle.webcenter.collab.rtc |
リンク |
oracle.webcenter.relationship |
リスト |
oracle.webcenter.list |
メール |
oracle.webcenter.collab.mail |
通知 |
oracle.webcenter.notification |
ページ |
oracle.webcenter.page |
ピープル・コネクション: アクティビティ・ストリーム |
oracle.webcenter.activitystreaming |
ピープル・コネクション: コネクション |
oracle.webcenter.peopleconnections.connections |
ピープル・コネクション: フィードバック |
oracle.webcenter.peopleconnections.kudos |
ピープル・コネクション: メッセージ・ボード |
oracle.webcenter.peopleconnections.wall |
ピープル・コネクション: プロファイル |
oracle.webcenter.peopleconnections.profile |
投票 |
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 |
表F-8は、ドキュメントに関連するEL式をリストし、それらが提供する機能のタイプを説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。
表F-9は、ピープル・コネクションのプロファイル機能に関連するEL式をリストし、それらが提供する機能のタイプを説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。
注意: エントリ |
表F-9 ピープル・コネクション(プロファイル)に関連するEL式
式 | 機能 |
---|---|
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーのマネージャの表示名。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの従業員番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーに関連付けられている私書箱番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの勤務先が存在するタイムゾーン。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの説明(「プロファイル」の「自己紹介」より)。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーが所属する部門。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの勤務先ページャ番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーが勤務する市区町村。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの旧姓。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの勤務先FAX番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの入社日。 |
|
現在のユーザーが知ることを許可されている場合、ユーザーの名前に追加される情報( |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーのミドル・ネーム。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの自宅電話番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの従業員タイプ分類( |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの姓。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの誕生日。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの勤務先が存在する都道府県。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの自宅の住所。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの勤務先番地。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの郵便番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーのイニシャル。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの名。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーが所属する組織単位( |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーのワイヤレス・アカウント番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの勤務先電話番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーが配属されている国。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの優先言語。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの表示名。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの実際の名前。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの役職名。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの勤務先電子メール・アドレス。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーが所属する組織( |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの携帯電話番号。 |
|
現在のユーザーが知ることを許可されている場合、指定されたユーザーの専門。 |
表F-10は、パーソナライズに関連するEL式をリストし、それらが提供する機能のタイプを説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。
表F-10 パーソナライズに関連する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} |
表F-11は、WebCenter Portal偽装に関連するEL式をリストし、それらが提供する機能のタイプを説明します。ここに示すELは、WebCenter Portalで構築されたポータルとJDeveloperで構築されたPortal Frameworkアプリケーションの両方に適用されます。
これらのELの使用方法の詳細は、第74.19項「WebCenter Portal偽装ELおよびAPIの使用」を参照してください。
表F-11 偽装に関連するEL式
式 | 機能 |
---|---|
|
現在のドメインで偽装が有効化されているかどうかを返します。 このELは、偽装セッションの終了が早すぎることが原因でエラーが発生したのかどうかを判別したり、セッションが終了したことを示す追加のインジケータを提供する場合に便利です。 |
|
現在のユーザーが偽装セッションにあるのかどうかを返します。 このELを使用して、コンテンツを保護し、偽装セッション中はアクセスできないようにレンダリングできます。たとえば、ページ上の管理タスク・フローのレンダリングされた属性をこのELにマップして、ユーザーが偽装セッションでタスク・フローを表示しない場合、タスク・フローのレンダリングのみを行うことができます。 |
|
このELを使用すると、ページ・テンプレートを変更して偽装者を表示したり、特定の偽装者のみにアクセスできるようにコンテンツをレンダリングできます。 |
表F-12は、コンポーザに関連するEL式を示しています。これらのEL式は、WebCenter Portalを使用して構築されたポータルとOracle JDeveloperで構築されたPortal Frameworkアプリケーションの両方で使用できます。
表F-12 コンポーザに関連するEL式
式 | 機能 |
---|---|
|
現在のページが表示モードなのか編集モードなのかを決定します。 例: <af:outputText id="ot1" value="#{composerContext.inEditMode ne true ? 'View mode' : 'Edit mode'} /> この例は、ページが表示モードの場合、ADF Facesの |
|
例: <af:popup childCreation="#{changeModeBean.inEditMode ? 'immediate' : 'deferred'}" />
|
この項では、表示モードと編集モードで異なるページを表示するためのEL式の使用例を示します。自分のページのうちの1つ(Page1
)について、表示モードでは別のページ(Page2
)を表示することを考えてみます。ただし、Page1
の編集中は、Page2
ではなく、www.example.com
というWebサイトを表示させます。次の形式の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」をクリックします。
コンポーザでは、指定したWebサイトがPage1
に表示されます。ページを保存して閉じます。Page1
にはPage2
が表示されます。
この項には次のサブセクションが含まれます:
JPQL WHERE
句に基づいてポータルを問い合せるためにEL式を使用していた場合、WebCenter Portalでは、自由形式のJPQL WHERE
句がサポートされないことを認識する必要があります。かわりに、構造化されたWHERE
句を使用します。自由形式のSORT
句もサポートされません。かわりに、構造化された方法でポータル問合せのソート基準を指定します。
たとえば、ポータル問合せに対してWHERE
句を形成するために、次の構文を使用していたとします。
#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].whereClause['sp.keywords like \'forquery%\' and not (sp.discoverable is null or sp.discoverable = \'N\')'].listSpaces}
これからは、WHERE
句を形成するには、次の構文を使用する必要があります。
#{spaceContext.spacesQuery.unionOf['ALL_QUERIABLE'].where[wCond['sp.keywords']['like']['forquery']['and'][wCond['sp.discoverable'] ['is']['null']['or'][wCond['sp.discoverable']['=']['N']]['not']]].listSpaces}
ここで:
wCond
はアトミック条件で、wCond[
p
][
op
][
v
]
と表すことができます。
ここで:
p
はポータル属性です(WcSpaceHeader
のフィールド。下記の箇条書きリストを参照)。
op
は、JPQL比較演算子の制限されたセット('=
', 'like
', '!=
', '<
', '>
', '<=
', '>=
', 'is
')のいずれかです。
v
は、演算子op
によって解釈が決まる文字列です。
この演算子がis
の場合、v
には文字列'null'
または'not null'
を設定でき、JPQLでそれぞれnullまたは非nullであることをチェックされる属性として、条件が認識されます。この演算子がそれ以外である場合、v
はリテラルとして解釈され、条件はリテラル値と比較される属性として認識されます。
WHERE
句では、次のようなWcSpaceHeader
で定義されるフィールドのいずれかを使用できます。
closed
createDate
createdBy
description
discoverable
displayName
keywords
icon
logo
lastUpdateDate
selfSubEnabled
rssEnabled
spaceGuid
spaceId
spaceOffline
spacePublic
spacesType
spacesUser
updatedBy
version
parentGuid
securityParentGuid
ancestorPath
seeded
groupSpaceMemCount
sp
は、ポータルWcSpaceHeader
のJPAエンティティを表しています。
たとえば、ユーザー名がmonty
で始まり、自己サブスクリプションが有効になっているユーザーによって作成されたすべてのポータルに対するフィルタを作成するには、次の条件を使用できます。
sp.createdBy like 'monty%' and not (sp.selfSubEnabled is null or sp.selfSubEnabled = 'N')
and
、or
、not
(wCond
とともに使用)は、条件のタイプです。
ここで:
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}
Oracleでは、既存の自由形式のJPQL WHERE
句とSORT
句をすべて新しい構文に変換することを強くお薦めします。
なんらかの理由で既存の構文を維持する必要がある場合は、WebCenter Portal管理者が、webcenter-config.xml.xml
ファイル内で次のグローバル・フラグを設定することで、自由形式のJPQLに対するサポートを明示的に有効にする必要があります。
oracle.webcenter.spaces.query.DIRECT_JPQL_CLAUSE_SUPPORTED
注意:
|
従来の自由形式のWHERE
句とSORT
句のサポートを継続するには、このフラグをtrue
に設定します。このオプションをtrue
に設定すると、WebCenter Portalログ・ファイルには警告が格納されます。
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
ファイルをWebCenter Portalにインポートします。
例:
importMetadata(application='webcenter', server='WC_Spaces', fromLocation='/tmp/mydata', docs='/oracle/webcenter/webcenterapp/metadata/mdssys/cust/site/webcenter/webcenter-config.xml.xml')
式エディタで、「値の選択」というオプションを選択すると、ダイアログ内のテキスト・ボックスにシード済のEL式を移入できます。まず式のカテゴリを選択し、次に式から返される情報のタイプを選択します。選択内容に関連するELが、ダイアログ下部のテキスト・ボックスに表示されます(図F-7)。
この項は、カテゴリごとの項に分類されます。各項では、そのカテゴリに関連付けられるELをリストし、説明しています。
この項には次のサブセクションが含まれます:
アプリケーション情報のシード済EL式は、WebCenter Portalに関連する値を返します。たとえば、#{WCAppContext.application.applicationConfig.title}
という式は、WebCenter Portal管理の「一般」ページで指定されるアプリケーション名を返します。
表F-13は、「アプリケーション情報」カテゴリで使用できるシード済EL式をリストし、返される値のタイプの例を示しています。
表F-13 「アプリケーション情報」のシード済EL式
オプション | 式 | 戻り値の例 |
---|---|---|
現在のスコープ |
|
|
現在のページ・テンプレート・スコープ |
|
|
以前に設定されたページ・テンプレート |
|
|
アプリケーション |
|
|
アプリケーションURL |
|
|
現在のWebCenter Portal URI |
|
|
アプリケーション構成 |
|
|
アプリケーション構成タイトル |
|
|
アプリケーション構成ロゴ |
|
|
アプリケーション構成ヘルプ・ページ |
|
|
アプリケーション構成著作権メッセージ・カスタム値 |
|
|
アプリケーション構成プライバシ・ポリシーURL |
|
|
アプリケーション構成スキン |
|
|
たとえば、現在のページのURLをコピーおよび共有できるようにするリンクをポータルのすべてのページに表示する場合を考えてみます。HTMLマークアップ・アイテムをページ・テンプレートに追加して、ページURLを返すELを追加できます。
次の手順は、ELを使用してページURLを取得する方法を示しています。
カスタム・ページ・テンプレートを編集モードで開きます。
デザイン・ビューで、リソース・カタログの「Web開発」をクリックします。
「HTMLマークアップ」の横の「追加」をクリックします。
新しく追加されたHTMLマークアップの「編集」アイコンをクリックします。
「コンポーネント・プロパティ」ダイアログの「表示オプション」タブで、「値」フィールドに、次のELを入力します。
<a href="javascript:{ var returnvalue = prompt( '#{pageDocBean.title} URL','#{WCAppContext.applicationURL}/faces#{WCAppContext.currentWebCenterURI}'); }">Share Link</a>
「OK」をクリックします。
ページ・テンプレートをポータルに適用します。
アセット情報のシード済EL式は、WebCenter Portalリソース(テンプレート、スタイル、リソース・カタログなど)に関連する値を返します。たとえば、#{srmContext.id['
ResourceID
'].singleResult}
という式は、指定されたGUIDのアセットを返します。
表F-14は、「アセット情報」カテゴリで使用できるシード済EL式をリストし、返される値のタイプの例を示しています。
表F-14 「アセット情報」のシード済EL式
オプション | 式 | 戻り値の例 |
---|---|---|
アセットID |
|
|
表示名 |
|
戻り値の例は、「アセットID」を参照してください。 |
説明 |
|
戻り値の例は、「アセットID」を参照してください。 |
作成日 |
|
戻り値の例は、「アセットID」を参照してください。 |
変更者 |
|
戻り値の例は、「アセットID」を参照してください。 |
更新日 |
|
戻り値の例は、「アセットID」を参照してください。 |
アセット・スコープ |
|
戻り値の例は、「アセットID」を参照してください。 |
ページ情報のシード済EL式は、WebCenter Portalページに関連する値を返します。たとえば、#{pageDocBean.createdBy}
という式は、現在のページの作成者のユーザー名を返します。
表F-15は、「ページ情報」カテゴリで使用できるシード済EL式をリストし、返される値のタイプの例を示しています。
表F-15 「ページ情報」のシード済EL式
オプション | 式 | 戻り値の例 |
---|---|---|
役職 |
|
|
作成者 |
|
j.doe |
作成日文字列 |
|
|
最終更新者 |
|
|
最終更新日文字列 |
|
|
ページ・パス |
|
|
名前 |
|
|
UI CSSスタイル |
|
|
UIスキームの背景イメージ |
|
|
UIスキームの背景色文字列 |
|
null |
ページ権限 |
|
|
ページ・セキュリティ・ターゲット |
|
|
ページ・パラメータのシード済EL式は、WebCenter Portalページ・パラメータに関連する値を返します。エディタには、現在のページで定義されているすべてのパラメータが表示されます。パラメータが定義されていない場合、「ページ・パラメータ」カテゴリは使用できません。
たとえば、シード済のページ・スタイル「3列」には、5つのシード済パラメータが表示されます(表F-16を参照)。width
パラメータは、各列に割り当てられる、幅全体の割合(パーセント)を表します。show
パラメータは、ページのヘッダーとフッターがレンダリングされるかどうかを指定します。シード済ページ・スタイルの「空白」、「ホーム・ページ」、「左を狭く」、「右を狭く」は、すべて同じシード済ページ・パラメータを提供します(表F-16を参照)。さらに、どのページも独自のカスタム・ページ・パラメータを持つことができます。
シード済でもカスタムでも、使用可能なページ・パラメータは、「ページ・パラメータ」カテゴリの式エディタに表示されます。
関連項目: ページ・パラメータの作成および使用方法の詳細は、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築のコンポーネントとページ・パラメータの作成に関する項を参照してください。 |
表F-16は、「3列」、「空白」、「ホーム・ページ」、「左を狭く」、「右を狭く」のスタイルに基づくページに対して、「ページ・パラメータ」カテゴリで使用できるEL式をリストしています。それぞれの戻り値のタイプも例示しています。
ポータル情報のシード済EL式は、(ホーム・ポータル以外の)ポータルに関連する値を返します。たとえば、#{spaceContext.space['
portalName
'].children}
という式は、名前指定された親ポータルの下のサブポータルのリストを返します。
表F-17は、「ポータル情報」カテゴリで使用できるシード済EL式をリストし、返される値のタイプの例を示しています。
表F-17 「ポータル情報」のシード済EL式
オプション | 式 | 戻り値の例 |
---|---|---|
NamedPortal |
|
|
CurrentPortal |
|
|
CurrentPortal名 |
|
|
NamedPortalメタデータ・パス |
|
|
CurrentPortalメタデータ・パス |
|
|
NamedPortalメタデータ |
|
|
CurrentPortalメタデータ |
|
|
NamedPortalメタデータ表示名 |
|
|
CurrentPortalメタデータ表示名 |
|
|
NamedPortalメタデータ・アイコン |
|
|
CurrentPortalメタデータ・アイコン |
|
|
NamedPortalメタデータ説明 |
|
|
CurrentPortalメタデータ説明 |
|
|
NamedPortalメタデータ作成日 |
|
java.util.GregorianCalendar[time=1290103432242,areFieldsSet=true,areAllFieldsSet=false,lenient=false,zone=java.util.SimpleTimeZone[id=,offset=-28800000,dstSavings=3600000,useDaylight=false,startYear=0, startMode=0,startMonth=0,startDay=0,startDayOfWeek=0,startTime=0,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1, YEAR=2010,MONTH=10,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=18,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=3,SECOND=52,MILLISECOND=242,ZONE_OFFSET=?,DST_OFFSET=?] |
CurrentPortalメタデータ作成日 |
#{spaceContext.currentSpace.metadata.creationDate} |
java.util.GregorianCalendar[time=1290103432242,areFieldsSet=true,areAllFieldsSet=false,lenient=false,zone=java.util.SimpleTimeZone[id=,offset=-28800000,dstSavings=3600000,useDaylight=false,startYear=0, startMode=0,startMonth=0,startDay=0,startDayOfWeek=0,startTime=0,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2010,MONTH=10, WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=18,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=3,SECOND=52,MILLISECOND=242,ZONE_OFFSET=?,DST_OFFSET=?] |
NamedPortalメタデータ作成者 |
|
|
NamedPortalメタデータ・キーワード |
|
|
CurrentPortalメタデータ・キーワード |
|
|
NamedPortalメタデータ・オフライン |
|
指定されたポータルがオフラインかどうかによって、 |
CurrentPortalメタデータ・オフライン |
|
現在のポータルがオフラインかどうかによって、 |
NamedPortalメタデータ・クローズ |
|
指定されたポータルが閉じているかどうかによって、 |
CurrentPortalメタデータ・クローズ |
|
現在のポータルが閉じているかどうかによって、 |
NamedPortalメタデータ自己登録 |
|
指定されたポータルで自己登録が有効かどうかによって、 |
CurrentPortalメタデータ自己登録 |
|
現在のポータルで自己登録が有効かどうかによって、 |
NamedPortalメタデータ検出可能 |
|
指定されたポータルが検出可能かどうかによって、 |
CurrentPortalメタデータ検出可能 |
|
現在のポータルが検出可能かどうかによって、 |
NamedPortalメタデータ公開RSS |
|
指定されたポータルがRSSリーダーで公開可能どうかによって、 |
CurrentPortalメタデータ公開RSS |
|
現在のポータルがRSSリーダーで公開可能どうかによって、 |
NamedPortal配信リスト |
|
|
CurrentPortal配信リスト |
|
|
NamedPortalメタデータ・カスタム属性 |
|
名前付きカスタム属性に入力される値が返されます |
CurrentPortalメタデータ・カスタム属性 |
|
名前付きカスタム属性に入力される値が返されます |
CurrentPortalメタデータ・ロゴ |
|
|
CurrentPortalロール - 進行役 |
|
現在のスコープ内のいずれかのユーザーに |
CurrentPortalロール - 参加者 |
|
現在のスコープ内のいずれかのユーザーに |
CurrentPortalロール - 閲覧者 |
|
現在のスコープ内のいずれかのユーザーに |
CurrentPortalロール - カスタム |
|
現在のスコープ内のいずれかのユーザーに名前付きカスタム・ロールが割り当てられているかどうかによって、 |
NamedPortal子 |
|
注意: 角カッコ([])はセットを示します。 |
CurrentPortal子 |
|
注意: 角カッコ([])はセットを示します。 |
NamedPortal親 |
|
|
CurrentPortal親 |
|
|
NamedPortalセキュリティ親 |
|
|
CurrentPortalセキュリティ親 |
|
|
すべての表示可能なルート・レベル・スペース |
|
|
指定された親ポータルGUIDのすべての子孫ポータル |
|
|
指定された親ポータル名の直近のサブ・ポータル |
|
|
指定されたポータル名に一致するポータルのリスト |
|
|
指定されたポータルGUIDに一致するポータルのリスト |
|
|
基準に基づいてソートされたポータルのリスト |
|
|
検索パターンに基づいたポータルのリスト |
|
|
ページ・サイズが制限されたポータルのリスト |
|
|
WHERE句に一致するポータルのリスト |
|
|
「ポータル・ページ情報」での選択内容は、EL式ではなく、様々なアプリケーション・ページへのディレクトリ・パスです。たとえば、これらを使用して、指定されたページへのナビゲーション情報を設定したりします。
表F-18は、「ポータル・ページ情報」カテゴリで使用できるシード済ディレクトリ・パスをリストし、返される値のタイプの例を示しています。ドロップダウン・リスト内の値の数は、ユーザーが使用するテンプレートや作成するページによって異なります。
表F-18 「ポータル・ページ情報」のシード済パス
オプション | パス | 宛先 |
---|---|---|
PortalSiteHome.jspx |
|
現在のポータルのホーム・ページへのパス |
GroupSpaceDocLibMainView.jspx |
|
現在のポータルの「ドキュメント」ページへのパス |
ForumMainView.jspx |
|
現在のポータルの「ディスカッション」ページへのパス |
AnnouncementsMainView.jspx |
|
現在のポータルの「お知らせ」ページへのパス |
ListsMainView.jspx |
|
現在のポータルの「リスト」ページへのパス |
EventsMainView.jspx |
|
現在のポータルの「イベント」ページへのパス |
GroupSpaceActivityStreamMainView.jspx |
|
現在のポータルの「アクティビティ・ストリーム」ページへのパス |
システムのシード済EL式は、現在のユーザーのユーザー名や現在のユーザーの指定されたロケールなど、システム設定に関連する値を返します。たとえば、#{securityContext.userName}
という式は、現在ログインしているユーザーの名前を返します。たとえば、ユーザーj.doeがこの式の使用されているページを表示すると、j.doeのビューでの戻り値はj.doe
になります。ユーザーj.smithが同じページを表示すると、j.smithのビューでの戻り値はj.smith
になります。
表F-19は、「システム」カテゴリで使用できるシード済EL式をリストし、返される値のタイプの例を示しています。
ユーザー情報のシード済EL式は、特定のユーザーのプロファイルに関連する値を返します。たとえば、#{webCenterProfile[securityContext.userName].description}
という式は、現在のユーザーのプロファイルの「自己紹介」属性のコンテンツを返します。
表F-20は、「ユーザー情報」カテゴリで使用できるシード済EL式をリストし、返される値のタイプの例を示しています。
表F-20 「ユーザー情報」のシード済EL式
オプション | 式 | 戻り値の例 |
---|---|---|
自己紹介 |
|
現在のユーザーのプロファイルの「自己紹介」属性のコンテンツを返します |
ユーザー名 |
|
現在のユーザーのプロファイルで指定されたユーザー名 これを現在のユーザーの表示名と比較します |
名 |
|
現在のユーザーの名。 |
ミドル・ネーム |
|
現在のユーザーのミドルネーム。 |
姓 |
|
現在のユーザーの姓 |
使用されるイニシャル |
|
現在のユーザーのイニシャル。 |
表示名 |
|
現在のユーザーの表示名。 これを現在のユーザーのユーザー名と比較します |
電子メール |
|
現在のユーザーの業務用電子メール・アドレス。 |
部門 |
|
現在のユーザーの部門 |
役職/職種 |
|
現在のユーザーの役職または職種 |
マネージャ |
|
現在のユーザーのマネージャの表示名 |
タイムゾーン |
|
現在のユーザーに関連付けられたタイムゾーン |
従業員タイプ |
|
現在のユーザーの従業員タイプ |
従業員番号 |
|
現在のユーザーの社員番号。 |
優先言語コード |
|
現在のユーザーの優先言語。 |
組織 |
|
現在のユーザーが所属する会社組織 |
組織単位 |
|
現在のユーザーが所属する会社組織の単位 |
専門 |
|
現在のユーザーの専門(例: |
勤務先FAX |
|
現在のユーザーの業務用FAX番号。 |
勤務先携帯電話番号 |
|
現在のユーザーの勤務先の携帯電話番号 |
勤務先電話番号 |
|
現在のユーザーの勤務先電話番号 |
勤務先ページャ番号 |
|
現在のユーザーの業務用ページャの番号。 |
勤務先番地 |
|
現在のユーザーの勤務先の住所 |
勤務先市区町村 |
|
現在のユーザーの勤務先がある市区町村 |
勤務先都道府県 |
|
現在のユーザーの勤務先がある都道府県 |
勤務先私書箱 |
|
現在のユーザーの勤務先の私書箱番号 |
勤務先郵便番号 |
|
現在のユーザーの勤務先の郵便番号 |
勤務先国 |
|
現在のユーザーの勤務先がある国 |
自宅の住所 |
|
現在のユーザーの自宅住所 |
自宅電話番号 |
|
現在のユーザーの自宅の電話番号。 |
生年月日 |
|
現在のユーザーの生年月日 |
旧姓 |
|
現在のユーザーの旧姓 |
入社日 |
|
現在のユーザーの入社日 |
名前接尾辞 |
|
現在のユーザーの名前に追加される役職や資格(例: |
ワイヤレス・アカウント番号 |
|
現在のユーザーのワイヤレス・インターネット・アカウントのアカウント番号 |
WebCenterイベントのシード済EL式は、ドキュメント関連のイベントに関する値を返します(選択されているドキュメント、ドキュメントの作成者、ドキュメントが最後に修正された日付など)。たとえば、#{wcEventContext.events.WebCenterResourceSelected.name}
という式は、現在選択されているドキュメントの名前を返します。
表F-21は、「WebCenterイベント」カテゴリで使用できるシード済EL式をリストし、返される値のタイプの例を示しています。
表F-21 「WebCenterイベント」のシード済EL式
オプション | 式 | 戻り値の例 |
---|---|---|
選択したユーザー名 |
|
現在選択されているユーザーのユーザー名 |
選択したドキュメント名 |
|
現在選択されているドキュメントの名前 |
選択したドキュメント作成者 |
|
現在選択されているドキュメントの作成者の名前 |
選択したドキュメント最終変更者 |
|
選択されているドキュメントが最後に変更された日付 |
表F-22は、WebCenter Portal情報に関連するEL式をリストし、それが提供する機能のタイプを説明します。
表F-22 WebCenter Portal情報に関連するEL式
式 | 機能 |
---|---|
|
現在のWebリクエスト内で、すべてのWebCenter Portal関連情報へのアクセス・ポイントを提供する |
|
現行のWebリクエストを表すURLを戻します。このURLの末尾には、リクエストのブックマーク設定可能なWebCenter Portal URLパラメータが追加されています(パラメータは順不同の場合があります)。 例: http://www.example.com/webcenter/faces/oracle/webcenter/page/scopedMD/someguid/SomePage.jspx?wc.contextURL=/spaces/somename&wc.pageScope=1234 |
|
WebCenter Portalからのメタデータのペイロードを含む |
|
現在のWebCenter Portalアプリケーションの表示名(「WebCenter Portal管理」設定で構成)を返します。 デフォルトでは、WebCenter Portalを返します。 |
|
アプリケーション・ロゴが「WebCenter Portal管理」設定を介してアップロードされた場合、この式はアプリケーション・ロゴ・イメージへのURLを返します。 デフォルトでは、nullを戻します。 |
|
WebCenter Portalで使用するヘルプ・アプリケーションへのURL (「WebCenter Portal管理」設定で構成)を返します。 デフォルトでは、/webcenterhelp/spacesを戻します。 |
|
著作権メッセージが「WebCenter Portal管理」設定によって構成されている場合は、アプリケーションの著作権メッセージを返します。 デフォルトでは、 |
|
アプリケーションのプライバシ・ポリシーを含むドキュメントへのURL (「WebCenter Portal管理」設定で構成)を返します。 デフォルトでは、 |
|
アプリケーションでページのレンダリングに使用するデフォルトのADF Facesスキン・ファミリの名前(「WebCenter Portal管理」設定で構成)を返します。 この式は、すべてのWebリクエストで使用できるとはかぎらないアプリケーション・レベルの設定のみを表します。たとえば、ユーザーがアプリケーションの「プリファレンス」を介してスキンをオーバーライドするように選択している場合、この式は正常に使用できません。 |
|
アプリケーション・レベルで構成されている要素や現在のユーザーのプリファレンス設定などに応じて、現在のWebリクエストで使用されるADF Facesスキン・ファミリの名前を返します。
このELは、WebCenter Portalを使用して構築されたポータルとOracle JDeveloperで構築されたPortal Frameworkアプリケーションの両方で使用できます。 |
この項の式を使用して、アセットの問合せを行います。EL式によるアセットの問合せは、APIコールによるアセットの問合せと類似しています。すなわち、問合せパラメータは['
property
']['like']['
value
']
(property
はid
、resourceScope
などのプロパティの名前、value
は属性の検索値)という形式で設定する必要があります。
問合せを実行すると、1件または複数件の結果が返される可能性があります。問合せデザイナは、どちらの結果を望むのかを決める必要があります。問合せデザイナは式で次の値のいずれかを使用して、1件の結果を返すのか、複数件の結果を返すのかを指定します。
singleResult
: 1つのアセットを返します。一致するアセットが見つからない場合、nullを返します。
resultList
: アセットのリストを返します。一致するアセットが見つからない場合、空のリストを返します。
注意: 式で使用されている |
次の例は、表示名にmyPage
が含まれる、最初に見つけたページ・テンプレート・アセットを返します。
#{srmContext[wCond['resourceType']['like']['siteTemplate']]['and'][wCond['displayName']['like']['myPage']].singleResult}
次の例は、ディレクトリresourceDir
に存在し、説明にsampleDesc
が含まれるページ・テンプレート・アセットのリストを返します。
#{srmContext[wCond['resourceType']['like']['siteTemplate']]['and'][wCond['description']['like']['sampleDesc']]['and'][wCond['contentDirectory']['like']['resourceDir'].resultList}
このクラスのプロパティには、このクラスの任意の属性が含まれます。たとえば、Id
、DisplayName
、iconURI
、contentDirectory
などのプロパティが含まれます。
プロパティ値は、明示的な値として、またはそのタイプの値を返すEL式として、指定できます。たとえば、次の2つの問合せは同じ結果を返します。
#{srmContext[wCond['id']['like']['resourceId']].singleResult} #{srmContext[wCond['id']['like']['spacesContext.currentSpace.uiMetadata.siteTemplateId']].singleResult}
EL式を使用する問合せでは、このクラスの任意のプロパティをproperty
['
value
']
という形式で、任意の順序で使用できます。たとえば、次の2つの問合せは同じ結果を返します。
#{srmContext[wCond['resourceScope']['like']['scopeName']]['and'][wCond['id]['like']['resourceId']].singleResult} #{srmContext[wCond['id']['like']['resourceId']]['and'][wCond['resourceScope']['like']['scopeName']].singleResult}
表F-23は、アセットに関連するEL式をリストし、それぞれが提供する機能のタイプを説明します。
表F-23 アセットに関連するEL
EL | 機能 |
---|---|
|
指定されたIDのアセットを返します |
|
指定された表示名を持つ任意のアセットを返します |
|
指定された表示名キーを持つ任意のアセットを返します |
|
指定された値が説明に含まれるアセットを1つ返します 複数の結果を取得するには、 |
|
指定された説明キーを持つアセットを1つ返します 説明キーは、アセットの説明を示す、 複数の結果を取得するには、 |
|
指定された作成日を持つ任意のアセットを返します |
|
指定されたユーザー名のユーザーにより最後に変更された任意のアセットを返します |
|
指定された日付以前に最後に変更された任意のアセットを返します |
|
指定されたスコープに該当する任意のアセットを返します |
|
指定されたカテゴリに該当する任意のアセットを返します 例:
カテゴリ名として使用できるものには、 |
|
指定されたディレクトリに格納されている任意のアセットを返します |
|
指定されたメタデータ・ファイルからアセット・メタデータを返します たとえば、次の式はファイル
|
|
指定された場所にある任意の たとえば、次の式は
|
|
指定されたページ定義が含まれる任意の |
|
指定されたアイコンURIのアイコンを返します |
|
より大きな式で使用され、除外されたスコープで使用可能なリソースを除く、指定されたすべてのリソースを返します |
|
より大きな式で使用され、カスタム・セキュリティを使用する、または使用しない、任意のアセットを返します
|
|
より大きな式で使用され、指定された値に応じてシードされる、またはシードされない、任意のアセットを返します
|
|
より大きな式で使用され、指定された可視性タイプの任意のアセットを返します
|
|
より大きな式で使用され、可視性が |
|
より大きな式で使用され、指定されたユーザーによって作成された任意のアセットを返します |
|
より大きな式で使用され、指定されたタイプの1つまたは複数のアセットを返します たとえば、次の式はタイプ
すべてのアセット・タイプのリストは、Oracle Fusion Middleware Oracle WebCenter Portal 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 Portal Top Navigation']]
現在のユーザーがモデレータかどうかによって、リストを1つまで縮小します。ユーザーがモデレータであれば、「Fusionサイド・ナビゲーション」ページ・テンプレートが適用されます。その他すべてのユーザー・ロールでは、「WebCenter Portalトップ・ナビゲーション」ページ・テンプレートを使用してポータルがレンダリングされます。
singleResult.id
必要とされるエントリのGUIDを返します。
「OK」をクリックします。
表F-24は、ポータルに関連するEL式をリストし、それぞれが提供する機能のタイプを説明します。
注意: ポータルの内部名は、ポータルの管理設定の「概要」ページにある「PortalのURL」で指定された名前のことです。ポータルの表示名は、「名前」で指定された名前です。表F-24に示したEL式の多くは、ポータルの内部名を呼び出します。 |
表F-24 特定のポータルに関連するEL式
式 | 機能 |
---|---|
|
現在のWebリクエスト内で、すべてのポータル関連情報へのアクセス・ポイントを提供する この式の値は、Java API |
|
現在のWebリクエストに関連付けられているポータルを表す この式の値は、Java API |
|
現行のWebリクエストに関連付けられているポータルの名前。現在のWebリクエストがホーム・ポータル・コンテキストにある場合は、 この式の値は、Java API |
|
この式の値は、現行の |
|
指定した名前 この式の値は、ポータルのポータル・オブジェクトに対して |
|
この式の値は、現在の |
|
|
|
|
|
|
|
|
|
指定した名前 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
式に たとえば、次のEL式は検出可能なすべてのポータルのリストを返します。 #{spaceContext.spacesQuery.unionOf['DISCOVERABLE'].listSpaces}
たとえば、次のEL式は、すべての問合せ条件が移入された状態で、タイプが #{spaceContext.spacesQuery.unionOf['DISCOVERABLE']} |
|
現在のユーザーがメンバーになっているすべての最上位ポータルのリストを返します。 このELは、親を持たないポータルのみを返します(つまりサブポータルは返しません)。 |
|
現在のユーザーがメンバーになっているすべてのポータルのリストを返します。 このELは、現在のユーザーがアクセスできる各親ポータルの下にあるすべてのサブポータルも返します。 例の詳細は、第F.14.5.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 Portal Java APIリファレンスの |
この項では、様々なポータルを問い合せるためのEL式の使用例を示します。
この例では、次のELを使用して、自分がメンバーになっているすべてのポータルのリストを表示します。
"#{spaceContext.spacesQuery.unionOf['USER_JOINED'].shape['RECURSIVE_FLATTENED'].listSpaces}"
さらに次のメソッドを使用して、ポータルのロゴ、名前、説明、メンバー数も表示します。
iconURI
: ポータルのロゴを表示
displayName
: ポータル名を表示
description
: ポータルの説明を表示
memberCount
: ポータルのメンバー数を表示
ポータルを問い合せるには:
新しいタスク・フローを作成し、それを使用可能にマークします。詳細は、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築のタスク・フローの使用に関する項を参照してください。
タスク・フローのソース・コードを編集します。「アセット」ページで、タスク・フローを選択します。「アクション」メニューから、「ソースの編集」を選択します。
「ソースの編集」ダイアログの「フラグメント」タブで、既存のコードを次のコードに置き換えます。
<?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>
このタスク・フローをページに追加します。リソース・カタログでは、「UIコンポーネント」→「タスク・フロー」でカスタム・タスク・フローを使用できます。
ページには、自分がメンバーになっているすべてのポータルのリストが表示されます。
表F-25は、ポータル・ページに関連するEL式をリストし、それが提供する機能のタイプを説明します。
表F-25 特定のページに関連する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 |
|
現在のページがコンポーザ・モードの場合は、trueを返します。現在のページがコンポーザ・モードでない場合は、falseを返します。 |
表F-26は、ペイロードの受け渡しをトリガーできるポータル・イベントのタイプ(イベント機能に関連するイベントではない)に関連するEL式をリストします。
表F-26に示すイベント・ペイロードには、発生後、その全部または一部にアクセスできます。
たとえば、ペイロード全体に対して、次のELを使用します。
#{wcEventContext.events.eventName}
例:
#{wcEventContext.events.WebCenterUserSelected}
表F-26のELのペイロードはすべてマップです。マップ・エントリを参照解除するには、マップ用の標準のELを使用します。
#{wcEventContext.events.WebCenterUserSelected.UserName}
関連項目: イベント・ワイヤリングの詳細は、Oracle Fusion Middleware Oracle WebCenter Portalによるポータルの構築の「ページ、タスク・フロー、ポートレット、ADFコンポーネントのワイヤリング」の章を参照してください。 |
表F-26 イベント・コンテキストに関連する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.
ポータルGUID
#{wcEventContext.events.WebCenterUserSelected. |
プロデューサとコンシューマ間のコンテキスト・ワイヤリングで使用します。プロデューサのメタデータの一部分をコンシューマのメタデータの一部分に(たとえば、ユーザーをユーザーのコネクションに)関連付けるマップを返します。 プロデューサのタスク・フローには次のものが含まれます。
コンシューマのタスク・フローには次のものが含まれます。
|
イベント・コンテキスト #{wcEventContext.events.WebCenterConnectionSelected} プロファイルのユーザー名 #{wcEventContext.events.WebCenterConnectionSelected.profileUserName} プロファイルのユーザーGUID #{wcEventContext.events.WebCenterConnectionSelected.profileUserGUID} コネクションがあるユーザー名 #{wcEventContext.events.WebCenterConnectionSelected.userName} コネクションがあるユーザーGUID #{wcEventContext.events.WebCenterConnectionSelected.userGUID} |
-- |
|
選択されたポータルの名前を返します |
|
選択されたポータルのGUIDを返します |
表F-27は、実用的なEL式をリストし、それらが提供する機能のタイプを説明します。
表F-27 実用的なEL式
式 | 機能 |
---|---|
|
現在の日付を現在のユーザーのプリファレンスで指定されている形式で戻します。 |
|
|
|
どちらの式も、リクエストのロケール(ブラウザのロケール設定)を返します。 |
|
現行のアプリケーション・スキン・ファミリを戻します。戻り値は |
この項では、デバイス設定に関する情報を取得するELについて説明します。デバイス設定の詳細は、Oracle Fusion Middleware Oracle WebCenter Portalの管理の「デバイス設定の管理」の章を参照してください。
EL式を使用して、特定のデバイスをターゲットとするアセット(スキンおよびページ・テンプレート)を設定できます。デバイス設定でのELの使用方法の詳細は、Oracle Fusion Middleware Oracle WebCenter Portalの管理の「デバイス設定の管理」の章を参照してください。
表F-28は、デバイス・グループ・マッピングに関する情報を取得するためのEL式を示しています。
表F-29は、デバイスに関する情報を取得するためのELを示しています。
表F-30は、デバイス・グループに関連付けられているスキンおよびページ・テンプレート関する情報を取得するためのELを示しています。
第F.15.1項「デバイス属性を検出するタスク・フローのサンプル・コード」は、ポータルへのアクセスに使用するデバイスの属性を検出するためのタスク・フローで使用できるサンプル・コードを表しています。
たとえば、ページ・デザイナは、デバイスの属性を使用してページのコンテンツ領域の幅を制御するために、次のELを使用できます。
#{DeviceAgent.device.attributes['display_resolution_width']
表F-28 デバイス・エージェントに関連するEL式
式 | 関連するJava API | 説明 |
---|---|---|
|
|
すべてのデバイス設定ELに対するルート・エントリ・ポイント。 |
|
|
現在のリクエストのマップ先のデバイス。 |
# |
|
現在のデバイスのマップ先のデバイス・グループのリスト。この操作では、 |
|
|
特定のポータルについて着信リクエストがマップされたデバイス・グループを取得します。このELによって、特定のデバイスについてページ・バリアントが表示されない理由に関する問題を、管理者が診断しやすくなります。 |
表F-29 デバイスに関連するEL式
式 | 関連するJava API | 説明 |
---|---|---|
|
|
現在のリクエストのマップ先のデバイス。 |
|
|
デバイスの名前。システム・フレンドリな識別子で、内部リンクに使用できます。 |
|
|
デバイスの表示名。 |
|
|
デバイスに関連付けられている属性のマップ。画面サイズ、OSバージョンなど。 たとえば、次のELは、デバイスの作成時に設定された表示解像度の幅を返します。
|
表F-30 デバイス・グループに関連するEL式
式 | 関連するJava API | 説明 |
---|---|---|
|
|
現在のリクエストのマップ先のデバイス・グループ。適切なデバイス・グループを識別するための一般的なフローは次のとおりです。
|
|
|
デバイス・グループの名前。例:
|
|
|
このデバイス・グループ・オブジェクトに関連付けられているポータル・ページ・テンプレートのGUIDを返します。メソッドからNULLが返された場合、ポータルのデフォルト・ページ・テンプレート設定が有効になっています。 注意: 取得したGUIDの操作に使用するリソースELの詳細は、第F.6項「ポータル・リソースに関連するEL」を参照してください。 |
|
|
このデバイス・グループに関連付けられているポータル・スキンのGUIDを返します。メソッドからNULLが返された場合、ポータルのデフォルト・スキン設定が有効になっています。 注意: 取得したGUIDの操作に使用するリソースELの詳細は、第F.6項「ポータル・リソースに関連するEL」を参照してください。 |
|
|
デバイス・グループが現在のデバイスのデフォルトである場合は、trueを返します。デバイス・グループがデバイスのデフォルトでない場合は、falseを返します。たとえば、デフォルトのデバイス・グループがデスクトップ・ブラウザになっているときに、iPad上でポータルにアクセスした場合、デバイス・グループはiPadになりますが、これはデフォルトのデバイス・グループではありません。この場合、メソッドはfalseを返します。 |
|
|
このデバイス・グループが現在のポータルに対して有効とマークされているかどうかを識別します。 注意: この呼出しでは、デバイス・グループは常に |
例F-1は、デバイス属性を検出するタスク・フローの作成に使用できるJSFページ・フラグメントを示しています。ELによって属性が返されます。このタスク・フローは、デバイス上でポータルが正しくレンダリングされないような状況のトラブルシューティングなどに役立ちます。デバイス属性を検出することで、レンダリング問題の修正処理を行えます。表F-8は、このサンプル・コードによって作成されたタスク・フローからの出力を示しています。
例F-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"> <af:panelGroupLayout layout="scroll" id="pgl1"> <cust:panelCustomizable id="pc1"/> <f:facet name="separator"> <af:separator id="s1"/> </f:facet> <af:panelFormLayout id="pfl1"> <af:group id="g1"> <af:panelLabelAndMessage id="it0" label="Current Device" labelStyle="color:#0000ff;font-weight:bold;"/> <af:panelLabelAndMessage id="it1plm" label="Internal Name"> <af:outputText id="it1" value="#{DeviceAgent.device.name}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it2plm" label="Display Name"> <af:outputText id="it2" value="#{DeviceAgent.device.displayName}"/> </af:panelLabelAndMessage> </af:group> <af:group> <af:panelLabelAndMessage id="it01" label="Current Device Group" labelStyle="color:#0000ff;font-weight:bold;"/> <af:panelLabelAndMessage id="it3plm" label="Internal Name"> <af:outputText id="it3" value="#{DeviceAgent.currentScopeDeviceGroup.name}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it4plm" label="Display Name"> <af:outputText id="it4" value="#{DeviceAgent.currentScopeDeviceGroup.displayName}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it5plm" label="PageTemplate"> <af:outputText id="it5" value="#{srmContext.id[DeviceAgent.currentScopeDeviceGroup.portalPageTemplate].singleResult.displayName}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it6plm" label="Skin"> <af:outputText id="it6" value="#{srmContext.id[DeviceAgent.currentScopeDeviceGroup.portalSkin].singleResult.displayName}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it7plm" label="Is Default"> <af:outputText id="it7" value="#{DeviceAgent.currentScopeDeviceGroup.default}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it8plm" label="Is Enabled"> <af:outputText id="it8" value="#{DeviceAgent.currentScopeDeviceGroup.enabled}"/> </af:panelLabelAndMessage> </af:group> <af:group> <af:panelLabelAndMessage id="it9plm" label="Current Browser User Agent" labelStyle="color:#0000ff;font-weight:bold;"> <af:outputText id="it9" value="#{DeviceAgent.userAgent}"/> </af:panelLabelAndMessage> </af:group> <af:group> <af:panelLabelAndMessage id="pt0" label="Page Template Info" labelStyle="color:#0000ff;font-weight:bold;"/> <af:panelLabelAndMessage id="it010plm" label="Expected PageTemplate:GUID"> <af:outputText id="it010" value="#{DeviceAgent.currentScopeDeviceGroup.portalPageTemplate}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it0010plm" label="Expected PageTemplate:Name"> <af:outputText id="it0010" value="#{srmContext.id[DeviceAgent.currentScopeDeviceGroup.portalPageTemplate].singleResult.displayName}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it10plm" label="Current PageTemplate:GUID"> <af:outputText id="it10" value="#{WCAppContext.application.siteTemplatesManager.currentSiteTemplateId}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it10aplm" label="Current PageTemplate:Name"> <af:outputText id="it10a" value="#{srmContext.id[WCAppContext.application.siteTemplatesManager.currentSiteTemplateId].singleResult.displayName}"/> </af:panelLabelAndMessage> </af:group> <af:group> <af:panelLabelAndMessage id="sk0" label="Skin Info" labelStyle="color:#0000ff;font-weight:bold;"/> <af:panelLabelAndMessage id="it0111plm" label="Expected Skin:GUID"> <af:outputText id="it0111" value="#{DeviceAgent.currentScopeDeviceGroup.portalSkin}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it0112plm" label="Expected Skin:Name"> <af:outputText id="it0112" value="#{srmContext.id[DeviceAgent.currentScopeDeviceGroup.portalSkin].singleResult.displayName}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it111plm" label="Current Skin:GUID"> <af:outputText id="it111" value=""/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="it112plm" label="Current Skin:Name"> <af:outputText id="it112" value="#{requestScope['oracle.webcenter.webcenterapp.view.shell.WebCenterShellManager.SHELLHANDLER'].adfFacesSkin}"/> </af:panelLabelAndMessage> </af:group> <af:group> <af:panelLabelAndMessage id="pg0" label="Page Info" labelStyle="color:#0000ff;font-weight:bold;"/> <af:panelLabelAndMessage id="pg10" label="Page Path"> <af:outputText id="pg1" value="#{pageDocBean.pagePath}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="pg20" label="Page Style"> <af:outputText id="pg2" value=""/> </af:panelLabelAndMessage> </af:group> <af:group> <af:panelLabelAndMessage id="ap90" label="Optional Attributes" labelStyle="color:#0000ff;font-weight:bold;"/> <af:panelLabelAndMessage id="ap1opta" label="brand-name"> <af:outputText id="ap1" value="#{DeviceAgent.device.attributes['brand-name']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap2opta" label="device-os"> <af:outputText id="ap2" value="#{DeviceAgent.device.attributes['device-os']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap3opta" label="device-type"> <af:outputText id="ap3" value="#{DeviceAgent.device.attributes['device-type']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap4opta" label="device_default_aspect_ratio"> <af:outputText id="ap4" value="#{DeviceAgent.device.attributes['device_default_aspect_ratio']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap5opta" label="device_os-version"> <af:outputText id="ap5" value="#{DeviceAgent.device.attributes['device_os-version']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap6opta" label="device_preview_css"> <af:outputText id="ap6" value="#{DeviceAgent.device.attributes['device_preview_css']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap7opta" label="device_preview_horizontal_css"> <af:outputText id="ap7" value="#{DeviceAgent.device.attributes['device_preview_horizontal_css']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap8opta" label="device_preview_viewport_css"> <af:outputText id="ap8" value="#{DeviceAgent.device.attributes['device_preview_viewport_css']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap9opta" label="device_preview_viewport_horizontal_css"> <af:outputText id="ap9" value="#{DeviceAgent.device.attributes['device_preview_viewport_horizontal_css']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap10opta" label="device_streaming_flv"> <af:outputText id="ap10" value="#{DeviceAgent.device.attributes['device_streaming_flv']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap11opta" label="device_streaming_preferred_http_protocol"> <af:outputText id="ap11" value="#{DeviceAgent.device.attributes['device_streaming_preferred_http_protocol']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap12opta" label="device_streaming_preferred_protocol"> <af:outputText id="ap12" value="#{DeviceAgent.device.attributes['device_streaming_preferred_protocol']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap13opta" label="device_video_streaming"> <af:outputText id="ap13" value="#{DeviceAgent.device.attributes['device_video_streaming']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap14opta" label="display_orientation_support"> <af:outputText id="ap14" value="#{DeviceAgent.device.attributes['display_orientation_support']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap15opta" label="display_resolution_height"> <af:outputText id="ap15" value="#{DeviceAgent.device.attributes['display_resolution_height']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap16opta" label="display_resolution_width"> <af:outputText id="ap16" value="#{DeviceAgent.device.attributes['display_resolution_width']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap17opta" label="is-wireless_device"> <af:outputText id="ap17" value="#{DeviceAgent.device.attributes['is-wireless_device']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap18opta" label="marketing-name"> <af:outputText id="ap18" value="#{DeviceAgent.device.attributes['marketing-name']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap19opta" label="model-name"> <af:outputText id="ap19" value="#{DeviceAgent.device.attributes['model-name']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap20opta" label="model-version"> <af:outputText id="ap20" value="#{DeviceAgent.device.attributes['model-version']}"/> </af:panelLabelAndMessage> <af:panelLabelAndMessage id="ap21opta" label="icon"> <af:outputText id="ap21" value="#{DeviceAgent.device.attributes['icon']}"/> </af:panelLabelAndMessage> </af:group> </af:panelFormLayout> </af:panelGroupLayout> </jsp:root>