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

前
 
次
 

C ビジネス・マッシュアップの例

WebCenter Portal: Spacesで、マッシュアップ構築機能を最大限に利用するために、この付録では、ビジネス・マッシュアップの作成に必要な多様なビジネス・シナリオ、およびこれらの要件を満たす方法について説明します。内容は次のとおりです。


注意:

この付録では、タスクを実行する手順の概要についてのみ説明します。手順の詳細は、第29章「ビジネス・マッシュアップの作成」を参照してください。


OTNのサンプル・アプリケーション

この付録の例の一部に対して作成されるサンプル・アプリケーションは、Oracle Technology Network (OTN)で使用できます。次のOTNに関するページでは、ビジネス・マッシュアップ独自のサンプルや、WebCenter Portal: Spacesの様々な機能を説明する、その他のサンプル・アプリケーションへのリンクが用意されています。

http://www.oracle.com/technetwork/middleware/webcenter/ps3-samples-176806.html

各サンプルで使用可能なREADMEファイルは、アプリケーションが実際のユースケース用にアプリケーションを拡張またはカスタマイズするためのガイダンスを提供する内容について説明します。

C.1 分析サービスからのデータを使用したマッシュアップの作成

分析サービスは、Spacesアプリケーション全体に対する、コミュニティ・トラフィック、ポートレット・トラフィック、検索済キーワード、レスポンス時間、使用動作などのメトリックを表示します。この項では、分析サービス・データ・ソースから取得されるデータを使用してマッシュアップを作成する方法について説明します。内容は次のとおりです。

WebCenter Portalサービスを構成している場合、Spacesではデフォルトで、分析サービス接続ActivitiesDSを提供します。この接続を使用して、Spacesアプリケーションに統計を表示するグラフとして、SQLデータ・コントロールを作成し、そのデータ・コントロールを使用できます。

分析サービスの構成の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』の分析サービスの管理に関する項を参照してください。

C.1.1 ページ・ヒットを表示するグラフの作成

アプリケーションでページの統計を表示するグラフを作成するには:

  1. ActivitiesDS接続を使用して、SQLデータ・コントールPageStatsを作成します。次のSQL問合せおよびバインド・パラメータを指定します。

    問合せ:

    SELECT space.name_ spaceName, page.name_ pageName, space.id, page.id, count(1), 
    fact.page_, page.resourceid_ FROM asfact_wc_pagevie_0 fact , 
    asdim_wc_groupsp_0 space , asdim_wc_pages_0 page, asdim_wc_applica_0 app 
    WHERE space.id = fact.groupspace_ and page.id = fact.page_ and app.id = 
    fact.application_ and fact.occurred between to_date(:startdate, :dateformat) 
    and to_date(:enddate, :dateformat) and app.name_ = :appname and page.personal_ 
    = :ispersonal and space.name_ is not null and page.name_ is not null and 
    space.id is not null and page.id is not null
    and fact.page_ is not null and page.resourceid_ is not null GROUP BY 
    space.name_, page.name_, space.id, page.id, fact.page_, page.resourceid_ ORDER BY count(1) desc
    

    バインド・パラメータ:

    startdate - 01/01/2008

    dateformat - MM/DD/YYYY

    appname - webcenter

    ispersonal - 1

    enddate - 01/01/2011

    手順の詳細は、第29.2.1.3項「データ・コントロールの作成」を参照してください。

  2. 「編集」メニューから 「表示」を選択して、リソース・カタログのデータ・コントロールを公開します。

  3. 空白のマッシュアップ・スタイルに基づいて、タスク・フローPage Hitsを作成します。

    手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

  4. タスク・フローを編集し、「コンテンツの追加」をクリックし、ダイアログで、PageStatsデータ・コントロールを検索し、Analytics_PageViews_DCアクセッサまでドリルダウンします。

  5. グラフとしてアクセッサを追加します。「グラフの作成」ダイアログで、次のオプションを選択します。

    • 「棒グラフ」タイプを選択します。

    • 「配置」ページで、X軸に沿ってマップされる「スペース名」、「ページ名」および「ページID」データ列、棒としてマップされる「カウント」を選択します。

    • ダイアログの他のすべてのページでデフォルトの値を受け入れます。

    手順の詳細は、第29.4.1.3項「グラフとしてのデータ・コントロールの追加」を参照してください。

    グラフは図C-1で示すように表示されます。

    図C-1 ページ・ヒットを表示する棒グラフ

    ページ・ヒット統計を表示する棒グラフ

C.1.2 Spacesでページ・ヒットのグラフを表示するパラメータ化タスク・フローの使用

前の例で、Spacesアプリケーションでページ・ヒットを表示する方法を説明しました。この項では、同様の例を示すますが、特定のスペース専用にページ・ヒットを表示する機能を持つ列を示します。この場合、データ・コントロールは、パラメータ・フォーム・タスク・フローにグラフとして追加されます。入力パラメータを使用して、ユーザーはスペース名を指定し、グラフでそのスペースの統計を表示できます。この項の内容は次のとおりです。

C.1.2.1 ページ・ヒット・データ・コントロールの作成

アプリケーションでWebCenter Portalサービスを構成している場合は、デフォルトで分析サービス接続ActivitiesDSが使用できます。この接続を使用して、SQLデータ・コントロールを作成できます。この項では、指定されたスペースの過去7日間の上位5つのページ・ヒットを表示するデータ・コントロールの作成方法について説明します。

データ・コントロールを作成するには:


関連項目:

データ・コントロールの作成手順の詳細は、第29.2.1.3項「データ・コントロールの作成」を参照してください。


  1. ActivitiesDS接続を使用して、PageHitsという名前のSQLデータ・コントロールを作成します。

  2. 次のSQL問合せを指定します。

    SELECT * FROM
    (SELECT page.name_ pageName, space.name_ spaceName, COUNT(1) hits 
    FROM asdim_users u, asdim_wc_pages_0 page, asdim_wc_applica_0 app, asdim_wc_groupsp_0 space, asfact_wc_pagevie_0 fact 
    WHERE fact.page_ = page.id AND fact.userid = u.id AND fact.application_ = app.id 
    AND fact.groupspace_ = space.id AND fact.occurred BETWEEN(SYSDATE-6) AND (SYSDATE+1) AND app.name_ = 'webcenter' 
    AND u.userid <> 'anonymous' AND  upper(space.name_) LIKE upper(:spacename) AND space.name_ IS NOT NULL 
    AND page.name_  IS NOT NULL AND space.id IS NOT NULL AND page.id IS NOT NULL 
    AND fact.page_  IS NOT NULL AND page.resourceid_ IS NOT NULL 
    GROUP BY page.name_, space.name_ ORDER BY hits DESC) 
    WHERE rownum <= 5 ORDER BY rownum
    

    データ・コントロールはspacenameバインド変数で作成されます。

  3. spacenameバインド変数をHome spaceに設定します。

  4. 図C-2に示すように、問合せをテストし、データ・ソースから取得されるデータを表示します。

    図C-2 SQLデータ・コントロールの問合せテストの結果

    SQLデータ・コントロールの問合せテストの結果

C.1.2.2 スペース名を指定するパラメータを使用したカスタム・マッシュアップ・スタイルの作成

この項では、SQLデータ・コントロールのバインド変数に結付け可能な入力テキスト・フィールドを使用して、カスタム・マッシュアップ・スタイルInput Space Nameを作成する方法について説明します。この結付けのタイプを使用して、ユーザーはそのスペースのページ・ヒットを表示するためのスペース名を提供できます。

カスタム・マッシュアップ・スタイルを作成するには:

  1. リソース・マネージャで既存のマッシュアップ・スタイルをコピーし、それをInput Space Nameと名付けます。

  2. タスク・フローのソースを編集して、「フラグメント」タブをクリックし、コード全体を次で置き換えます。

    <?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 id="pgl">
        <af:panelGroupLayout id="pg2" layout="horizontal" halign="center" inlineStyle="padding-bottom:5px;">
          <af:inputText id="ip1" value="#{pageFlowScope.bindVarId}" label="Space Name" 
                        shortDesc="Enter a Space name. The default value is Home space."/>
          <af:commandButton text="#{dataComposerBundle.MASHUP_STYLES_GO}" id="cb1"/>
        </af:panelGroupLayout>
        <cust:panelCustomizable id="pc1" halign="center"/>
      </af:panelGroupLayout>
    </jsp:root>
    
  3. リソース・マネージャでマッシュアップ・スタイルを選択し、「編集」メニューから、「表示」をクリックします。

マッシュアップ・スタイルを作成および編集する手順の詳細は、第29.3.4項「マッシュアップ・スタイルの管理」を参照してください。

C.1.2.3 カスタム・マッシュアップ・スタイルを使用したタスク・フローの作成

リソース・マネージャで、図C-3に示すように、新しいマッシュアップ・スタイルに基づいて、タスク・フローTop Five Page Hits for a Spaceを作成します。

図C-3 新しいマッシュアップ・スタイルを表示する新しいタスク・フロー・ダイアログの作成

「作成」ダイアログに表示される新しいマッシュアップ・スタイル

手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

「編集」メニューから、リソース・カタログにタスク・フローを含めるには、「表示」を選択します。

C.1.2.4 タスク・フローのデータ・コントロールの使用

新しいタスク・フローにページ・ヒット・データ・コントロールを追加するには:

  1. 図C-4に示すように、Top Five Page Hits for a Spaceタスク・フローを編集し、グラフとしてPageHitsデータ・コントロール・アクセッサを追加します。

    図C-4 PageHitsデータ・コントロール・アクセッサのグラフ・オプション

    PageHitsデータ・コントロール・アクセッサのグラフ・オプション
  2. 「グラフの作成」ダイアログの「タイプ」ページで、「棒」を選択します。

  3. 「配置」ページで、X軸に「ページ名」および「スペース名」、棒に「ヒット」を配置します。

  4. 「DCパラメータ」ページで、spacenameパラメータに次の値を指定します。

    #{empty pageFlowScope.bindVarId ?'Home space' : pageFlowScope.bindVarId}

C.1.2.5 タスク・フローでのパラメータの結付けのテスト

この項では、タスク・フローのグラフが、入力するスペース名に固有のデータを表示するかどうかをテストするために実行する必要がある手順について説明します。

タスク・フローをテストするには:

  1. テスト・ページを作成し、「コンテンツの追加」ダイアログからタスク・フローを追加します。

  2. グラフがページに正しく表示されていることを確認するには:

    1. タスク・フローを編集するには:

    2. 「コンポーネント・プロパティ」ダイアログの「表示オプション」タブの「基本」ページで、「サイズ変更の許可」オプションの選択を解除します。

    3. 「表示オプション」タブの「詳細設定」ページで、「コンテンツのストレッチ」Autoに設定します。

  3. 入力テキスト・フィールドの異なるスペース名を指定します。図C-5に示すように、グラフにそのスペース固有のデータが表示されます。

    図C-5 指定されたスペースのページ・ヒットを表示する棒グラフ

    スペースのページ・ヒットを表示するグラフ

C.1.3 ポータル・サイト・トラフィックを表示するグラフの作成

この項では、分析サービスからサイト・トラフィック・データを取得して、それを円グラフとして表示する方法について説明します。

ポータル・サイト・トラフィック・データを使用してマッシュアップを作成するには:

  1. ActivitiesDS接続を使用して、SQLデータ・コントールPortalStatsを作成します。次のSQL問合せおよびバインド・パラメータを指定します。

    問合せ:

    SELECT 'Spaces' Name, count(1) Hits
    FROM asfact_wc_groupsp_0 fact , asdim_wc_groupsp_0 space , asdim_wc_applica_0 app
    WHERE space.id = fact.groupspace_ and app.id = fact.application_ and fact.occurred between
    to_date(:startdate, :dateformat) and to_date(:enddate, :dateformat) and 
    app.name_ = :appname and
    space.personal_ = :ispersonal
    UNION ALL
    SELECT 'Pages' Name, count(1) Hits
    FROM asfact_wc_pagevie_0 fact , asdim_wc_pages_0 page , asdim_wc_applica_0 app
    WHERE page.id = fact.page_ and app.id = fact.application_ and fact.occurred
    between
    to_date(:startdate, :dateformat) and to_date(:enddate, :dateformat) and
    app.name_ = :appname and
    page.personal_ = :ispersonal
    UNION ALL
    SELECT 'Portlets' Name, count(1) Hits
    FROM asfact_wc_portlet_0 fact , asdim_wc_applica_0 app
    WHERE app.id = fact.application_ and fact.occurred between to_date(:startdate,
    :dateformat) and
    to_date(:enddate, :dateformat) and app.name_ = :appname
    UNION ALL
    SELECT 'Logins' Name, count(1) Hits
    FROM asfact_wc_logins_0 fact , asdim_wc_applica_0 app
    WHERE app.id = fact.application_ and fact.occurred between to_date(:startdate,
    :dateformat) and
    to_date(:enddate, :dateformat) and app.name_ = :appname
    UNION ALL
    SELECT 'Searches' Name, count(1) Hits
    FROM asfact_wc_searche_0 fact , asdim_wc_applica_0 app
    WHERE app.id = fact.application_ and fact.occurred between to_date(:startdate,
    :dateformat) and
    to_date(:enddate, :dateformat) and app.name_ = :appname
    UNION ALL
    SELECT 'Wikis' Name, count(1) Hits
    FROM asfact_wc_doclib__0 fact , asdim_wc_documen_0 doc , asdim_wc_applica_0 app
    WHERE app.id = fact.application_ and fact.document_ = doc.id and fact.occurred
    between
    to_date(:startdate, :dateformat) and to_date(:enddate, :dateformat) and
    app.name_ = :appname and
    doc.objecttype_ like '%WIKI%'
    UNION ALL
    SELECT 'Blogs' Name, count(1) Hits
    FROM asfact_wc_doclib__0 fact , asdim_wc_documen_0 doc , asdim_wc_applica_0 app
    WHERE app.id = fact.application_ and fact.document_ = doc.id and fact.occurred
    between
    to_date(:startdate, :dateformat) and to_date(:enddate, :dateformat) and
    app.name_ = :appname and
    doc.objecttype_ like '%BLOG%'
    UNION ALL
    SELECT 'Documents' Name, count(1) Hits
    FROM asfact_wc_doclib__0 fact , asdim_wc_documen_0 doc , asdim_wc_applica_0 app
    WHERE app.id = fact.application_ and fact.document_ = doc.id and fact.occurred
    between
    to_date(:startdate, :dateformat) and to_date(:enddate, :dateformat) and
    app.name_ = :appname and
    doc.objecttype_ like '%DOCUMENT%'
    UNION ALL
    SELECT 'Discussions' Name, count(1) Hits
    FROM asfact_wc_discuss_1 fact , asdim_wc_applica_0 app
    WHERE app.id = fact.application_ and fact.occurred between to_date(:startdate,
    :dateformat) and
    to_date(:enddate, :dateformat) and app.name_ = :appname
    

    バインド・パラメータ:

    startdate - 01/01/2008

    dateformat - MM/DD/YYYY

    appname - webcenter

    ispersonal - 1

    enddate - 01/01/2011

    手順の詳細は、第29.2.1.3項「データ・コントロールの作成」を参照してください。

  2. 「編集」メニューから 「表示」を選択して、リソース・カタログのデータ・コントロールを公開します。

  3. 空白のマッシュアップ・スタイルに基づいて、タスク・フローPortal Trafficを作成します。

    手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

  4. タスク・フローを編集し、「コンテンツの追加」をクリックして、カタログで、PortalStatsデータ・コントロールを検索し、Site_Traffic_DCアクセッサまでドリルダウンします。

  5. グラフとしてアクセッサを追加します。「グラフの作成」ダイアログで、次のオプションを選択します。

    • 「円グラフ」タイプを選択します。

    • 「配置」ページで、スライスとしてプロットされる「名前」データ列、円として「ヒット」を選択します。

    • ダイアログの他のすべてのページでデフォルトの値を受け入れます。

    手順の詳細は、第29.4.1.3項「グラフとしてのデータ・コントロールの追加」を参照してください。

    グラフが図C-6に示すように表示されます。

    図C-6 ポータル・トラフィック統計を表示するグラフ

    ポータル・トラフィック統計を表示するグラフ

C.1.4 マスター/ディテール関係の2つのタスク・フローを使用したマッシュアップの作成

この項の例は、1つのタスク・フローの選択により2番目のタスク・フローのアクションが生成されるようにマスター/ディテール関係の2つのタスク・フローの結付けを行う方法について説明します。関係する様々なタスクについては、次のサブセクションで説明します。

前述の構成を実行した後で、マスター表のユーザー名をクリックすると、ディテールがポップアップ・ウィンドウに表示されます。

C.1.4.1 マスター・データ・コントロールおよびタスク・フローの作成

マスター・タスク・フローには、過去7日間の指定のスペースに対する上位5つのページ・ビューを含む表が表示されます。

タスク・フローを作成するには:

  1. ActivitiesDS接続を使用して、SQLデータ・コントールTopFiveDocViewsForSelectedSpaceを作成します。次のSQL問合せを指定します。

    select * from
     (select  u.id id , u.userid userid, count(fact.userid)  pageviews
    from asdim_users u , asfact_wc_pagevie_0 fact,asdim_wc_applica_0 app 
    where fact.userid=u.id
    and u.userid <> 'anonymous' 
    and fact.application_ = app.id 
    and app.name_ = 'webcenter'  
    and fact.occurred 
    BETWEEN (SYSDATE-7) and ( SYSDATE+1)
    group by u.id,u.userid
    order by pageviews desc )
    where rownum<11
    

    手順の詳細は、第29.2.1.3項「データ・コントロールの作成」を参照してください。

    この問合せでは、過去7日間の指定のスペースに対する上位5つのページ・ヒットが返されます。

  2. 新しいデータ・コントロールを選択し、「編集」メニューから、「表示」をクリックします。

  3. 空白のマッシュアップ・スタイルに基づいて、タスク・フローTop 10 Visitor Page Hitsを作成します。

    手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

  4. タスク・フローを編集し、表としてTopFiveDocViewsForSelectedSpaceデータ・コントロール・アクセッサを追加します。

    読取り専用の表を作成します。図C-7に示すように、「表の作成」ダイアログの「列」ページで、ハイパーリンクとしてUSERID列を表示することを選択し、URLをhttp://www.oracle.comと指定します。

    図C-7 ハイパーリンクとしての列の表示

    ハイパーリンクとしての列を表示するオプション

    表に、上位ページ・ヒットにユーザーを加えたリストが表示されます。図C-8に示すように、USERID列には、ハイパーリンクとしてユーザー名が表示されます。

    図C-8 上位ページ・ヒットを表示するマスター・タスク・フロー

    上位のページ・ヒットを含む表を表示するタスク・フロー
  5. 新しいタスク・フローを選択し、「編集」メニューから、「表示」をクリックします。

C.1.4.2 ディテール・データ・コントロールおよびタスク・フローの作成

表に上位ページ・ヒットが表示され、ユーザー名がハイパーリンクされる、マスター・タスク・フローの作成方法について説明しました。次の手順は、マスター・タスク・フローのユーザー名をクリックすると表示される必要があるディテール・タスク・フローの作成です。この項では、指定されたユーザーのすべてのページ・ヒットのグラフを表示するディテール・タスク・フローの作成方法について説明します。

ディテール・データ・コントロールおよびタスク・フローを作成するには:

  1. ActivitiesDS接続を使用して、SQLデータ・コントロールPageHitsForSelectedUserを作成します。次のSQL問合せおよびバインド変数を指定します。

    SELECT page.name_ pageName, space.name_ spaceName, COUNT(1) hits 
    FROM asdim_users u, asdim_wc_pages_0 page, asdim_wc_applica_0 app, 
    asdim_wc_groupsp_0 space, asfact_wc_pagevie_0 fact 
    WHERE fact.page_          = page.id AND fact.userid = u.id  
    AND u.userid=(:userid) AND fact.application_ = app.id 
    AND fact.groupspace_  = space.id AND fact.occurred 
    BETWEEN (SYSDATE-7) and SYSDATE and app.name_ = 'webcenter'  
    AND u.userid <> 'anonymous' AND space.name_ IS NOT NULL 
    AND page.name_  IS NOT NULL AND space.id         IS NOT NULL 
    AND page.id IS NOT NULL AND fact.page_  IS NOT NULL 
    AND page.resourceid_ IS NOT NULL GROUP BY page.name_, space.name_
    

    useridバインド変数をweblogicに設定します。

    手順の詳細は、第29.2.1.3項「データ・コントロールの作成」を参照してください。

  2. 新しいデータ・コントロールを選択し、「編集」メニューから、「表示」をクリックします。

  3. 空白のマッシュアップ・スタイルに基づいて、タスク・フローPage Hits for Selected Userを作成します。

    手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

  4. タスク・フローを編集して、グラフとしてPageHitsForSelectedUserデータ・コントロール・アクセッサを追加します。

    棒グラフを作成し、X軸に沿って「スペース名」と「ページ名」および棒として「ヒット」をプロットします。

    「グラフの作成」の「DCパラメータ」ページで、useridパラメータに次の値を指定します。

    #{empty pageFlowScope.userid ?'weblogic': pageFlowScope.userid}

    これにより、このパラメータにユーザー名が指定されない場合は、weblogicがデフォルトのユーザーとして選択されます。図C-9に示すように、グラフが表示されます。

    図C-9 選択したユーザーのページ・ヒットを表示する棒グラフ

    ユーザーのページ・ヒットを表示する棒グラフ
  5. 図C-10に示すように、useridというタスク・フロー・パラメータを作成し、その値をpageFlowScopeに設定します。

    図C-10 ディテール・タスク・フローに定義されたパラメータ

    ディテール・タスク・フローに定義されたパラメータ
  6. 新しいタスク・フローを選択し、「編集」メニューから、「表示」をクリックします。

C.1.4.3 マスター・タスク・フローとディテール・タスク・フローの結付け

この項では、ユーザーがマスター・タスク・フローのユーザー名をクリックして、そのユーザーのページ・ヒット・グラフを表示するディテール・タスク・フローをポップアップ表示できるように、マスター・タスク・フローとディテール・タスク・フローを結付けする方法について説明します。

マスター・タスク・フローおよびディテール・タスク・フローを結付けするには:

  1. マスター・タスク・フローTop 10 Visitor Page Hitsのソースを編集します。「ソースの編集」ダイアログの「フラグメント」タブをクリックして、ポップアップのディテール・タスク・フローを参照するために、次のコード<af:panelGroupLayout id="pgl1">を下に貼り付けます。

    <af:popup id="popup1" launcherVar="source" eventContext="launcher" contentDelivery="lazyUncached">
      <af:dialog>
        <af:region xmlns:af="http://xmlns.oracle.com/adf/faces/rich" id="oc_449838760region1" 
                   value="#{bindings.popTaskflow.regionModel}"/>
      </af:dialog>
      <af:setPropertyListener from="#{source.attributes.userid}"
                              to="#{viewScope.userid}" type="popupFetch"/>
    </af:popup>
    
  2. <af:goLink>コード・セグメントを検索して、それを次で置き換えて、USERID列がポップアップ・ダイアログを起動するコマンド・リンクを表示できるようにします。

    <af:commandLink text="#{row.bindings.USERID.inputValue}" id="userLink">
      <af:clientAttribute name="userid" value="#{row.bindings.USERID.inputValue}"/>
      <af:showPopupBehavior popupId="::popup1" alignId="userLink" align="afterEnd"/>
    </af:commandLink>
    
  3. 「ページ定義」タブをクリックし、ディテール・タスク・フローへの参照を追加します。<executable>タグ内で<iterator>タグの下の次のコードを貼り付けます。

    <taskFlow id="popTaskflow" taskFlowId="details_taskflow_definition_path#blanktaskflow" 
              xmlns="http://xmlns.oracle.com/adf/controller/binding" Refresh="ifNeeded">
      <parameters>
        <parameter id="userid" value="#{viewScope.userid}"/>
      </parameters>
    </taskFlow>
    

    ここで、details_taskflow_definition_pathは、インスタンスのタスク・フローへのパスです。例: /oracle/webcenter/siteresources/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/taskFlow/gsr34e6278e_9e9a_45eb_bbbf_31aa5ae34381/taskflow-definition.xml

    リソース・マネージャでタスク・フローを選択し、「編集」メニューをクリックして、「プロパティの編集」を選択することによって、このパスを取得できます。Metadata File属性は、タスク・フローへの完全なパスを提供します。

  4. マスター/ディテール関係をテストします。リソース・マネージャでTop 10 Visitor Page Hitsタスク・フローをプレビューします。図C-11に示すように、ユーザー名リンクをクリックすると、そのユーザーのページ・ヒット・グラフがポップアップ・ウィンドウに表示されます。

    図C-11 2つのタスク・フロー間のマスター/ディテール関係

    背景のマスター表と前景のディテール・グラフ

C.1.5 ドキュメントをダウンロードするハイパーリンクを持つ表の作成

この項では、スペースで表示される上位5つのドキュメントをリストする表を使用してマッシュアップを作成する方法について説明します。表のドキュメント名は、ユーザーが新しいウィンドウで選択したドキュメントを開くためのリンクをクリックできるように、ハイパーリンクとして表示されます。表のデータは、SQLデータ・コントロールからSpaces分析サービスに取り込まれます。この項の内容は次のとおりです。

C.1.5.1 ドキュメント・ビュー・データ・コントロールの作成

この項では、指定されたスペースの過去7日間の上位5つのドキュメント・ヒットを表示するデータ・コントロールの作成方法について説明します。

  1. ActivitiesDS接続を使用して、Top Five Doc Views for Given Space in the Past WeekというSQLデータ・コントロールを作成し、次のSQL問合せを指定します。

    SELECT *
    FROM( SELECT  doc.name_ name,space.name_ space,count(1) hits,doc.path_  download_url
    FROM asfact_wc_doclib__0 fact , asdim_wc_documen_0 doc , asdim_wc_applica_0 app,asdim_wc_groupsp_0 space
    WHERE 
    app.name_ = 'webcenter' 
    AND  app.id = fact.application_ 
    AND fact.document_ = doc.id
    AND fact.occurred BETWEEN (SYSDATE-6)  AND (SYSDATE+1)  
    AND doc.name_ is not null 
    AND doc.id is not null 
    AND fact.document_ is not null 
    AND doc.resourceid_ is not null
    AND  fact.GROUPSPACE_ = space.id 
    AND  upper(space.name_) LIKE upper(:spacename) 
    AND space.name_ IS NOT NULL 
    GROUP BY doc.name_, doc.id,space.name_ ,doc.path_
    ORDER BY hits  DESC)
    WHERE rownum <= 5
    ORDER BY rownum
    

    データ・コントロールはspacenameバインド変数で作成されます。

  2. spacenameバインド変数をHome spaceに設定します。

  3. 図C-12に示すように、問合せをテストし、データ・ソースから取得されるデータを表示します。

    図C-12 新規データ・コントロールの問合せテストの結果

    新規データ・コントロールの問合せテストの結果

C.1.5.2 スペース名を指定するパラメータを使用したカスタム・マッシュアップ・スタイルの作成

この項では、SQLデータ・コントロールのバインド変数に結付け可能な入力テキスト・フィールドを使用して、カスタム・マッシュアップ・スタイルInput Space Nameを作成する方法について説明します。この結付けのタイプを使用して、ユーザーはそのスペースのページ・ヒットを表示するためのスペース名を提供できます。

カスタム・マッシュアップ・スタイルを作成するには:

  1. リソース・マネージャで既存のマッシュアップ・スタイルをコピーし、それをInput Space Nameと名付けます。

  2. タスク・フローのソースを編集して、「フラグメント」タブをクリックし、コード全体を次で置き換えます。

    <?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 id="pgl">
        <af:panelGroupLayout id="pg2" layout="horizontal" halign="center" inlineStyle="padding-bottom:5px;">
          <af:inputText id="ip1" value="#{pageFlowScope.bindVarId}" label="Space
                        Name" shortDesc="Enter A Space Name, by default it's all spaces"/>
          <af:commandButton text="#{dataComposerBundle.MASHUP_STYLES_GO}" id="cb1"/>
        </af:panelGroupLayout>
        <cust:panelCustomizable id="pc1" halign="center"/>
      </af:panelGroupLayout>
    </jsp:root>
    
  3. リソース・マネージャでマッシュアップ・スタイルを選択し、「編集」メニューから、「表示」を選択します。

C.1.5.3 カスタム・マッシュアップ・スタイルを使用したタスク・フローの作成

カスタム・スタイルを使用してタスク・フローを作成するには:

  1. リソース・マネージャで、図C-13に示すように、新しいマッシュアップ・スタイルに基づいて、タスク・フローTop Five Doc Hits for a Given Space in a Weekを作成します。

    図C-13 「新しいタスク・フローの作成」ダイアログの新しいマッシュアップ・スタイル

    「新しいタスク・フローの作成」ダイアログの新しいマッシュアップ・スタイル
  2. リソース・マネージャでタスク・フローを選択し、「編集」メニューから、「表示」をクリックします。

C.1.5.4 タスク・フローのデータ・コントロールの使用

新しいタスク・フローのページ・ヒット・データ・コントロールを使用するには:

  1. Top Five Doc Hits for a Given Space in a Weekタスク・フローを編集し、図C-14に示すように、Top Five Doc Views for Given Space in the Past Weekデータ・コントロール・アクセッサを表として追加します。

    図C-14 データ・コントロール・アクセッサの表オプション

    表としてデータ・コントロール・アクセッサをドロップするオプション

    読取り専用の表を作成します。「表の作成」ダイアログの「アイテム」ページ(図C-15)で、DOWNLOAD_URL列が表示されていないことを確認します。

    図C-15 「表の作成」ダイアログの「アイテム」ページ

    「表の作成」ダイアログで選択されていないDOWNLOAD_URLアイテム

    「列」ページで、「名前」列をハイパーリンクとして表示することを選択し、次のようにURLを指定します(図C-16)。

    {doc path pre fix}#{empty row.DOWNLOAD_URL ? '' : row.DOWNLOAD_URL}

    ここで

    doc path pre fixは、ドキュメントURLに使用される接頭辞です。ドキュメント・パスの接頭辞を検索するには、「ドキュメント」ページでドキュメントを選択し、「表示」メニューから「リンクの取得」をクリックします。「ダウンロードURL」の最初の部分(パスの最後)は使用される接頭辞です。たとえば、http://my.company.com:8889/webcenter/content/conn/xyz18-ucm11g/path

    図C-16 ハイパーリンクとして定義される「名前」列

    ハイパーリンクとして定義される「名前」列
  2. 「DCパラメータ」ページで、spacenameパラメータに次の値を指定します。

    spacename: #{empty pageFlowScope.bindVarId ?'%' : pageFlowScope.bindVarId}

    これで、データ・コントロールがタスク・フローの表として表示されるようになります。

  3. 必要に応じて、表を編集します。図C-17に示すように、「コンポーネント・プロパティ」ダイアログで、「列のストレッチ」フィールドの値をlastに変更します。これにより、必要に応じて、最後の列がストレッチされます。

    図C-17 表の「コンポーネント・プロパティ」ダイアログ

    「列のストレッチ」プロパティ
  4. 表がページで正しく表示されていることを確認するには:

    1. タスク・フローを編集するには:

    2. 「コンポーネント・プロパティ」ダイアログの「表示オプション」タブの「基本」ページで、「サイズ変更の許可」オプションの選択を解除します。

    3. 「表示オプション」タブの「詳細設定」ページで、「コンテンツのストレッチ」Autoに設定します。

C.1.5.5 タスク・フローでのパラメータの結付けのテスト

この項では、タスク・フローの表が、入力するスペース名に固有のデータを表示するかどうかをテストするために実行する必要がある手順について説明します。

タスク・フローをテストするには:

  1. テスト・ページを作成して、リソース・カタログからタスク・フローを追加します。

    タスク・フローにより表が表示されます。

  2. 入力テキスト・フィールドの異なるスペース名を指定します。表に、そのスペースに固有のデータが表示されます。

    「名前」列にドキュメントをダウンロード可能なハイパーリンクが表示されます(図C-18)。

    図C-18 ハイパーリンクされるドキュメント名を含む表

    ハイパーリンクされるドキュメント名を含む表

C.2 SQLデータ・コントロールからの従業員データを表示するマッシュアップの作成

この項のタスクは、従業員データベースに基づく例を使用します。この項では、取得された従業員データに視覚化を追加し、いくつかの簡単な構成を実行することによりこの視覚化をカスタマイズする方法について説明します。この項では、Employee Detailsタスク・フローへの表としてEmpDetailsデータ・コントロールを追加する方法、および列の表示または非表示および行のソートなど、表で異なるカスタマイズを実行する方法について説明します。内容は次のとおりです。

C.2.1 SQLデータ・コントロールの作成

次のタスクを実行して、従業員データベースのデータ・コントロールを作成します。

  1. 従業員データベースへの接続を作成します。手順の詳細は、第29.2.1.2項「データベース接続の作成」を参照してください。

  2. SQLデータ・コントロールEmpDetailsを作成し、このデータベース接続を使用してデータを取得します。データを取得するには、次の問合せを使用します。

    select ename, empno, mgr, deptno from emp where job in (:jobId) order by empno asc
    

    手順の詳細は、第29.2.1.3項「データ・コントロールの作成」を参照してください。

    このデータ・コントロールは、職種がjobIdの値に一致するすべての従業員のレコードを返します。レコードは、従業員番号別にソートされます。

  3. 空白のマッシュアップ・スタイルに基づいて、タスク・フローEmployee Detailsを作成します。手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

C.2.2 データ・コントロールの追加およびタスク・フロー・パラメータのデータ・コントロール・パラメータへのバインド

表としてデータ・コントロールを追加するには、次の手順を実行します。

  1. コンポーザでEmployee Detailsタスク・フローを編集します。

  2. 「コンテンツの追加」ダイアログで、図C-19に示すように、EmpDetailsデータ・コントロールのアクセッサに移動して、「追加」をクリックして、「表」を選択します。

    図C-19 従業員詳細データ・コントロール・アクセッサ

    従業員詳細データ・コントロール・アクセッサ
    「図C-19 従業員詳細データ・コントロール・アクセッサ」の説明

  3. 編集可能な表を作成し、行の選択、フィルタおよびソートを有効化して、表に表示するenameempnoおよびdeptno列を選択します。

    手順の詳細は、第29.4.1.1項「表としてのデータ・コントロールの追加」を参照してください。

    図C-20に示すように、各列の上部に空のフィールドを持つ表が表示されますこれらのフィールドを使用して、列のフィルタ条件を指定できます。

    図C-20 従業員詳細タスク・フローの表

    従業員詳細タスク・フローの表
    「図C-20 従業員詳細タスク・フローの表」の説明

  4. タスク・フロー・パラメータdesignationを作成します。

    手順の詳細は、第29.4.2項「タスク・フロー・パラメータの作成」を参照してください。

  5. 表に表示されるデータを実行するためにdesignationパラメータを使用するには、パラメータ#{pageFlowScope.designation}のストレージ値をコピーし、それを表の「コンポーネント・パラメータ」ダイアログの「データ」タブのバインド変数jobIdの値として貼り付けます。

    詳細は、第29.4.3項「データ・コントロール・パラメータのタスク・フロー・パラメータへのバインド」を参照してください。

  6. ページを作成し、そのページにEmployee Detailsタスク・フローを追加します。

    手順の詳細は、第29.4.5項「視覚化を含むタスク・フローの使用」を参照してください。

  7. このページでEmployee Detailsタスク・フローを編集し、「パラメータ」タブで、表に対応する詳細を表示するために職種を指定します。

C.2.3 表の非表示列の表示

SQL問合せで、enameempnodeptnoおよびmgr列を取得する必要があることを指定しました。ただし、enameempnoおよびdeptno列のみ表示することを選択しています。この場合、データ・コントロールは、全4つのデータ列からデータを取得しますが、3つのみ表示します。表の4番目の列をレンダリングできますが、表のソース・コードは編集できません。この操作を実行するには:

  1. リソース・マネージャの「タスク・フロー」ページで、「従業員詳細」タスク・フローを選択します。

  2. 「ソースの編集」「フラグメント」タブをクリックし、非表示列のコードを検索します。このコードは、次の例のコードに類似しています。

    <column sortProperty="MGR" filterable="true" sortable="true"
            headerText="#{bindings.accessor_gsrf2d136f7_d907_481d_ad3a_eb2b9dbe7c35.hints.MGR.label}" 
            id="column4" rendered="false">
      <af:inputText value="#{row.bindings.MGR.inputValue}"
                    label="#{bindings.accessor_gsrf2d136f7_d907_481d_ad3a_eb2b9dbe7c35.hints.MGR.label}"
                    required="#{bindings.accessor_gsrf2d136f7_d907_481d_ad3a_eb2b9dbe7c35.hints.MGR.mandatory}"
                    columns="#{bindings.accessor_gsrf2d136f7_d907_481d_ad3a_eb2b9dbe7c35.hints.MGR.displayWidth}"
                    maximumLength="#{bindings.accessor_gsrf2d136f7_d907_481d_ad3a_eb2b9dbe7c35.hints.MGR.precision}" 
                    shortDesc="#{bindings.accessor_gsrf2d136f7_d907_481d_ad3a_eb2b9dbe7c35.hints.MGR.tooltip}" 
                    id="inputText4">
        <f:validator binding="#{row.bindings.MGR.validator}"/>
        <af:convertNumber groupingUsed="false" pattern="#{bindings.accessor_gsrf2d136f7_d907_481d_ad3a_eb2b9dbe7c35.hints.MGR.format}"
                       id="convertNumber3"/>
      </af:inputText>
    </column>
    
  3. rendered属性をtrueに設定します。

    図C-21に示すように、これで表に全部で4つの列が表示されるようになります。

    図C-21 4つの列を表示する表

    4つの列を表示する表
    「図C-21 4つの列を表示する表」の説明

同様に、そのrendered属性をfalseに設定して、表示される列を非表示にできます。

C.2.4 パラメータ・フォーム・タスク・フローのデータ・コントロールの追加

パラメータ・フォーム・タスク・フローでは、ユーザーが値を指定できる入力テキスト・フィールドを提供します。この値は、アクセッサがユーザー入力に基づいてデータを表示できるようにデータ・コントロール・アクセッサ・パラメータに渡されます。

ユーザーが表の対応する詳細を表示するためにフィールドの値を指定できるように、パラメータ・フォーム・タスク・フロー内の表としてデータ・コントロールを追加できます。

パラメータ・フォーム・タスク・フロー内にデータ・コントロールを追加するには:

  1. Parameter Formマッシュアップ・スタイルに基づいてタスク・フローを作成します。

    手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

  2. コンポーザでタスク・フローを編集し、EmpDetailsデータ・コントロールをタスク・フロー内の表として追加します。

    手順は、第C.2.2項「データ・コントロールの追加およびタスク・フロー・パラメータのデータ・コントロール・パラメータへのバインド」を参照してください。

  3. jobId値を#{pageFlowScope.bindVarId}となるように指定することにより、データ・コントロールのjobIdパラメータをパラメータ・フォーム・タスク・フローのInput Textコンポーネントに結び付けます。

    手順の詳細は、第29.4.4項「パラメータ・フォーム・タスク・フローへのデータ・コントロールの結付け」を参照してください。

これで表の対応するレコードを表示するために、入力テキスト・フィールドの値を指定できるようになります(図C-22)。

図C-22 パラメータ・フォーム・タスク・フローのデータ・コントロール

パラメータ・フォーム・タスク・フローのデータ・コントロール
「図C-22 パラメータ・フォーム・タスク・フローのデータ・コントロール」の説明

C.3 Spaces MDSリポジトリからのデータを使用したマッシュアップの作成

Spacesアプリケーションは、次のリポジトリ接続でシードされます。

これらの接続のいずれかに対してデータ・コントロールを作成し、それをページおよびタスク・フローで使用できます。この項では、Spacesリポジトリに接続するためにデータ・コントロールを作成し、アプリケーションなどでスペースおよびページに関する詳細を表示する方法について説明します。この項の内容は次のとおりです。

C.3.1 データ・コントロールの作成

Spacesデータ・ソースからページ関連のデータを取得するには、データ・コントロールWebCenter Pagesを作成します。mds-SpacesDS接続を使用して、次のSQL問合せを入力します。

select 'Home space Pages' metric, count(*) value from mds_paths where path_type = 'DOCUMENT'
and path_name like '%.jspx' and path_high_cn is null and path_fullname like '%/user/%'
union select 'Business Role Pages' metric, count(*) value  from mds_paths where path_type = 'DOCUMENT'
and path_name like '%.jspx' and path_high_cn is null and path_fullname like '%/businessRolePages/%'
union select 'Space Template Pages' metric, count(*) value from mds_paths where path_type = 'DOCUMENT'
and path_name like '%.jspx' and path_high_cn is null and path_fullname like '%/spacetemplate/%'
union select 'Group Space Pages' metric, count(*) value from mds_paths where path_type = 'DOCUMENT'
and path_name like '%.jspx' and path_high_cn is null and (path_fullname not like '%/user/%'
and path_fullname not like '%/businessRolePages/%' and path_fullname not like '%/spacetemplate/%')

図C-23に示すように、この問合せは、異なるタイプのページおよび各ページ・タイプ数に関する情報を取得します。

図C-23 Spacesリポジトリからのページ情報を持つデータ・コントロール

WebCenter Spacesリポジトリからのページ情報
「図C-23 Spacesリポジトリからのページ情報を持つデータ・コントロール」の説明

このタイプの情報は、表またはグラフのいずれかで表すことができます。次の項では、グラフとしてこのデータ・コントロールを追加する方法について説明します。

C.3.2 タスク・フロー内のグラフとしてのデータ・コントロールの追加

空のタスク・フローを作成し、グラフとしてデータ・コントロールを追加します。「円」グラフ・タイプを選択し、「メトリック」列をスライスとし、「値」列を円として配置します。図C-24に示すように、グラフがタスク・フローに追加されます。

図C-24 円グラフとして表示されるページ・メトリック

円グラフとして表示されるページ・メトリック
「図C-24 円グラフとして表示されるページ・メトリック」の説明

C.4 スペースWebサービスのデータ・ソースからのデータを使用したマッシュアップの作成

スペースWebサービスにデータ・コントロールを作成し、インスタンスのスペースのリストなど、アプリケーションおよびスペースに関する情報を取得します。ただし、Webサービスを公開するには、最初にSpacesインスタンスを準備する必要があります。

概要

この項で構成を開始する前に、Spacesインスタンスに対してWS-Securityを構成する必要があります。手順の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のWS-Securityの構成に関する項を参照してください。WS-Securityを構成しないでマッシュアップを作成する場合は、データ・ソースからデータを取得する際にエラーが発生します。

この項では、次のユースケースについて説明します。

C.4.1 アプリケーションでスペースをリストするためのマッシュアップの作成

この項では、スペースのリストを表示するためにマッシュアップを作成する方法について説明します。ユーザーが選択したスペースを表示するリンクをクリックできるように、スペース名はハイパーリンクとして表示されます。

スペースのリストを表示するためにデータ・コントロールとタスク・フローを作成するには:

  1. 次の例のように、アプリケーション・マシン名とポート番号を持つWSDL URLを使用して、Webサービス・データ・コントロールSpacesWS (図C-25)を作成します。

    http://myserver.example.com:8888/webcenter/SpacesWebService?WSDL
    

    手順の詳細は、第29.2.2項「Webサービス・データ・コントロールの作成」を参照してください。

    図C-25 スペースWebサービス・データ・コントロール

    WebCenter Spaces Webサービス・データ・コントロール - WSDLページ
  2. 図C-26に示すように「OWSMセキュリティ」ページで、次の追加ポリシーを適用します。

    oracle/wss11_saml_token_with_message_protection_client_policy
    

    図C-26 スペースWebサービス・データ・コントロール - OWSMセキュリティ

    WebCenter Spaces Webサービス・データ・コントロール - セキュリティ・ページ
  3. 「作成」をクリックします。

  4. データ・コントロールを選択し、「編集」メニューから、「表示」を選択します。

  5. データ・コントロールを使用するには、空のタスク・フローSpacesを作成します。

    手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

  6. Spacesタスク・フローを編集して、表としてSpacesWSデータ・コントロール・アクセッサを追加します。

    手順の詳細は、第29.4.1.1項「表としてのデータ・コントロールの追加」を参照してください。

    「表の作成」ダイアログの「列」ページで、スペース名をリンクとして表示するには、「表示形式」フィールドの「ハイパーリンク」を選択します。次に、「URL」フィールド(図C-27)で、/spaces/#{row.item}など、別のウィンドウでスペースを空けるように、スペース名を追加する必要があるURLを指定します。

    図C-27 「表の作成」 - 「列」ページの「ハイパーリンク」オプション

    「表の作成」 - 「列」ページの「ハイパーリンク」オプション

    図C-28に示すように、表が表示されます。

    図C-28 スペースのリストを表示するマッシュアップ

    1列にスペースのリストを表示する表

C.4.2 スペースの名前を変更するためのフォームを使用したマッシュアップの作成

この項では、前の項で作成したSpacesWS Webサービス・データ・コントロールを参照し、指定されたスペースの名前を変更するために使用可能なフォームの作成方法について説明します。

カスタム・フォームを作成するには:

  1. 空白のマッシュアップ・スタイルを使用して、タスク・フローRename Spacを作成します。

  2. タスク・フローを編集して、「コンテンツの追加」をクリックします。

  3. SpacesWSデータ・コントロールを表示するためにドリル・ダウンして、renameGroupSpaceメソッドを追加します。

  4. 図C-29に示すように、renameGroupSpaceメソッドを開いて、arg1およびarg0属性をADF Input Text w/Labelとして追加します。この手順は、ユーザーが古いスペース名と新しいスペース名を指定できる、2つの入力テキスト・フィールドを追加します。

    図C-29 renameGroupSpace属性を追加するオプション

    renameGroupSpace属性を追加するオプション
  5. タスク・フローを保存して閉じます。

  6. 入力テキスト・フィールドのラベルを変更します。

    1. タスク・フローを選択し、「編集」メニューから、「ソースの編集」を選択します。

    2. 最初のinputTextコンポーネント(#{bindings.arg0.hints.label})のlabel値をOld Space Nameと置き換えます。

    3. 2番目のinputTextコンポーネント(#{bindings.arg1.hints.label})のlabel値をNew Space Nameと置き換えます。

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

    これで、タスク・フローは図C-30のように表示されます。

    図C-30 スペース名を変更するタスク・フロー

    2つのフィールドおよび名前変更ボタンを持つタスク・フロー
  7. リソース・マネージャでタスク・フローを選択し、「編集」メニューから、「表示」をクリックします。

    これで、任意のページにこのタスク・フローを追加し、スペース名を変更する機能を提供できるようになります。

C.5 Siebelデータ・ソースからのデータを使用したマッシュアップの作成

この項では、Webサービス・データ・コントロールを使用して、Siebelデータ・ソースからのデータを使用してマッシュアップを作成する方法について説明します。内容は次のとおりです。

前提条件

Siebelデータ・ソースにWebサービス・データ・コントロールを作成するには、最初にインバウンドWebサービスを作成し、そのサービス用のWSDLを生成する必要があります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のWebサービスとしてのSiebelアプリケーションの統合に関する項を参照してください。

C.5.1 Webサービス・データ・コントロールの作成

リソース・マネージャの「データ・コントロール」ページで、Siebel Webサービス用のWSDLを使用して、Webサービス・データ・コントロールCustDataを作成します。

手順の詳細は、第29.2.2項「Webサービス・データ・コントロールの作成」を参照してください。

この例では、2つのメソッドMyQueryByIdおよびMyInsertOrUpdateを提供するWebサービスへの接続を示します。MyQueryByIdは複合パラメータMyQueryById_Inputをとり、MyInsertOrUpdateはパラメータMyInsertOrUpdate_Inputをとります。MyInsertOrUpdate_Inputは、配列パラメータで、表の複数のレコードを更新するために使用できます。


注意:

この項で使用されるパラメータ名は、例のみです。Webサービスの作成時に任意のパラメータ名を入力できます。


「編集」メニューから「表示」を選択して、リソース・カタログのCustDataデータ・コントロールを公開します。

C.5.2 タスク・フローへの表としてのデータ・コントロール・メソッドの追加

タスク・フローでCustDataデータ・コントロールを使用するには:

  1. リソース・マネージャの「タスク・フロー」ページで、「パラメータ・フォーム」スタイルに基づいたタスク・フローを作成します。

    手順の詳細は、第29.3.1項「タスク・フローの作成」を参照してください。

  2. タスク・フローを編集して、「コンテンツの追加」をクリックします。

  3. CustomerDataデータ・コントロールを検索し、それを開いてそのコンテンツを表示します。「MyQueryById」「戻る」「ListOfAccountInterface」を開きます。

  4. 編集可能な表として、図C-31で示すように、「アカウント」を追加します。

    図C-31 「アカウント」メソッドの表オプション

    「アカウント」メソッドの表オプション
  5. 図C-32で示すように、「表の作成」ダイアログで、表示される列を選択します。

    図C-32 「表の作成」ダイアログの「アイテム」ページ

    「表の作成」ダイアログの「アイテム」ページ
  6. MyQueryById_Inputフィールドの横のコンテキスト・メニューから、ウィザードの「DCパラメータ」ページで、「パラメータ構造」をクリックします。

  7. 図C-33に示すように、「パラメータ」ダイアログで、PrimaryRowIdパラメータを表示する複合パラメータを開き、このパラメータのバインディングを#{pageFlowScope.id}として指定し、「OK」をクリックします。

    図C-33 「パラメータ」ダイアログ

    「パラメータ」ダイアログ
  8. 「作成」をクリックします。

    図C-34で示すように、この時点で、null値を渡すパラメータとして、表にすべての使用可能なレコードが表示されます。

    図C-34 「パラメータ・フォーム」タスク・フロー内の表

    「パラメータ・フォーム」タスク・フロー内の表
  9. 表はパラメータ・フォーム・タスク・フロー内にあるため、タスク・フロー・パラメータをデータ・コントロール・パラメータに結付けする必要があります。この操作を実行するには:

    1. 「表示」メニューで、「ソース」を選択します。

    2. 「ソース」ビューで、ページの下部のinputTextコンポーネントを選択し、ツールバーの「編集」をクリックします。

    3. 図C-35で示すように、その値属性を#{pageFlowScope.id}に変更します。

      図C-35 「入力テキスト」フィールドの「コンポーネント・プロパティ」ダイアログ

      「入力テキスト」の「コンポーネント・プロパティ」ダイアログ
    4. 「OK」をクリックします。

    5. また、タイトルがGOであるcommandButtonコンポーネントを削除します。

      このボタンのかわりに、データ・ソースを問い合せるためにWebサービス・メソッドのいずれかを使用する方法について説明します。

  10. ページの「デザイン」モードに切り替えます。

    パラメータ・フォーム・タスク・フローのGOボタンを削除しているため、現在はタスク・フローからデータ・ソースを問い合せる方法がありません。したがって、次の手順で、データ・ソースを問い合せるためにWebサービス・メソッドを追加します。

C.5.3 データ・ソースの問合せ

この例のSiebel Webサービスは、MyQueryByIdメソッドを提供し、これは単一のパラメータMyQueryById_Inputをサポートします。タスク・フローへのボタンとしてこのメソッドを追加します。すでに前の手順でMyQueryById_Inputパラメータをタスク・フロー・パラメータに結付けしているため、このボタンは自動的にタスク・フロー・パラメータに結付けされます。

MyQueryByIdメソッドを使用して問合せを有効にするには:

  1. タスク・フローを編集して、「コンテンツの追加」をクリックします。

  2. カタログで、CustDataデータ・コントロールを探して、それを開きます。

  3. ADFボタンとしてMyQueryByIdメソッドを追加します。

    これで、図C-36に示すように、表にそのアカウントの詳細を表示するには、パラメータ・フィールドのアカウントIDを指定できるようになります。

    図C-36 「パラメータ・フォーム」タスク・フロー内の表および問合せボタン

    タスク・フロー内の表および問合せボタン

C.5.4 データ・ソース・レコードの更新

データ・ソースへの書込みが許可される場合、Webサービス・データ・コントロールでは、同時に複数のレコードを更新するために、配列パラメータを提供します。この例のSiebel Webサービスは、データ・ソースへの書込みが許可されています。それにより、一度に複数のレコードを移入するために使用可能な複合パラメータである、MyInsertorUpdate_Inputパラメータが提供されます。この項では、表のレコードを更新するために配列パラメータを使用する方法について説明します。ページの下部に追加されるInput Textフィールドは、表列を更新するために使用されます。

表のレコードを更新するには:

  1. タスク・フローを編集して、「コンテンツの追加」をクリックします。

  2. カタログで、CustDataデータ・コントロールを探して、それを開きます。

  3. ADFボタンとしてMyInsertOrUpdateメソッドを追加します。

  4. ページの「ソース」ビューに切り替えて、新しいボタンを選択し、「編集」をクリックして、そのプロパティを表示します。

  5. 「データ」タブをクリックし、MyInsertOrUpdate_Inputフィールドのコンテキスト・メニューから、「パラメータ構造」を選択します。

  6. 「パラメータ」ダイアログで、MyInsertOrUpdate_InputListOfAccountInterfaceAccountを開きます。

    Accountパラメータは、配列タイプのパラメータであるため、「追加」リンクが表示されます。

  7. 各行で、図C-37に示すように、更新する各列のバインド・パラメータ値を定義します。たとえば、最初の行の#{pageFlowScope.id1}#{pageFlowScope.alias1}および2番目の行の#{pageFlowScope.id2}#{pageFlowScope.alias2}


    ヒント:

    追加したばかりの列を削除するには、列を空のままにします。空の列は、Webサービス・パラメータ値として値を戻す前に削除されます。


    図C-37 「パラメータ」ダイアログの配列パラメータ定義

    「パラメータ」ダイアログの配列パラメータ定義
  8. デフォルトで、2つの行Account[0]Account[1]の値を更新できます。さらに行を追加するには、「追加」をクリックします。

  9. 「パラメータ」ダイアログ、次に「コンポーネント・プロパティ」ダイアログで、「OK」をクリックします。

  10. タスク・フローを保存して閉じます。

  11. ページの下部で、表内の値を更新するには、更新する表セルごとに1つの入力テキスト・フィールドを追加します。この操作を実行するには:

    1. リソース・マネージャでタスク・フローを選択し、「編集」メニューから、「ソースの編集」をクリックします。

    2. パラメータ・フォームのinputTextコンポーネントのソース・コードをコピーして、それを4回貼り付けます。

    3. id属性値を変更して、各IDが一意になるようにします。

    4. 手順7の「パラメータ」ダイアログで定義された値を含むようにvalue属性を変更します。たとえば、#{pageFlowScope.id1}のようにします。

      図C-38は、新しいコンポーネントのソース・コードを示します。

      図C-38 新しい入力テキスト・コンポーネントのソース・コード

      新しい入力テキスト・コンポーネントのソース・コード
  12. 必要に応じて、ページ・コンポーネントをより最適に編成するために、ボックス・コンポーネントの4つのinputTextコンポーネントをグループ化します。

    これで、タスク・フローがデータ・ソースに書き込むために結付けされるようになります。図C-39にタスク・フローの表示方法を示します。最初のフィールドは、MyQueryByIdボタンに結付けされ、残りのフィールは、表に値を提供するために使用されます。MyInsertOrUpdateボタンをクリックすると、新しい値がデータ・ソースに書き込まれます。

    図C-39 問合せと更新を行う表およびオプションを持つタスク・フロー

    問合せと更新オプションを持つ表
    「図C-39 問合せと更新を行う表およびオプションを持つタスク・フロー」の説明

C.6 事前定義された列を持つカスタム・マッシュアップ・スタイルの構築と使用

この項では、リソース・マネージャでカスタム・マッシュアップ・スタイルを作成し、そのスタイルを使用して、タスク・フローを作成する方法について説明します。カスタム・スタイルは、Spacesのアクティビティ・ストリーム・レイアウトに類似したレイアウトで、スペースの上位5つのページ・ヒットをリストするように設計されています。入力テキスト・フィールドにより、ユーザーはそのスペースのページ・ヒットを表示するために、スペース名を指定できます。この項の内容は次のとおりです。

C.6.1 カスタム・マッシュアップ・スタイルの構築

リソース・マネージャの「マッシュアップ・スタイル」ページでは「作成」オプションが提供されないため、新しいマッシュアップ・スタイルを構築するには、デフォルトのマッシュアップ・スタイルをコピーして、そのソース・コードを置き換えます。

カスタム・マッシュアップ・スタイルを構築するには:

  1. 空のマッシュアップ・スタイルのコピーを作成して、それをPageHitsStyleと名付けます。

  2. PageHitsStyleのソースを編集して、「フラグメント」タブのコードを次のものと置き換えます。

    <?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 id="pgl1">
        <af:panelGroupLayout id="pg2" layout="horizontal" halign="center"
                             inlineStyle="padding-bottom:5px;">
          <af:inputText id="ip1" value="#{pageFlowScope.bindVarId}" label="Space Name" 
                        shortDesc="Enter A Space Name, by default it's all spaces"/>
          <af:commandButton text="#{dataComposerBundle.MASHUP_STYLES_GO}" id="cb1"/>
        </af:panelGroupLayout>
        <cust:panelCustomizable id="pc1">
          <table border="0" width="100%">
            <af:iterator id="i1" value="#{dataPresenter.dummyData.collectionModel}" var="row">
            <tr class="PortletText1">
              <td width="12px">
                <af:image id="img1" source="/adf/webcenter/star_sm_ena.png"/>
              </td>
              <td>
                <af:outputText id="otCol1" value="#{empty row.USERNAME ? '#{row.USERNAME}' : row.USERNAME}" 
                               inlineStyle="color:#333333; font-size:12px; font-weight:bold;"/>
                <af:spacer id="spacer1" width="5px"/>
                <af:outputText id="otCol2" value="viewed" inlineStyle="color:#333333; font-size:12px;"/>
                <af:spacer id="spacer2" width="5px"/>
                <af:goLink id="gl1" destination="{doc path pre fix}#{empty row.DOWNLOAD_URL ? '#{row.DOWNLOAD_URL}' : row.DOWNLOAD_URL}" 
                           targetFrame="_blank" text="#{empty row.DOCNAME ? '#{row.DOCNAME}' : row.DOCNAME}"/>
              </td>
            </tr>
            <tr>
              <td/>
              <td>
                <af:outputText id="otCol3" value="#{empty row.HITS? '#{row.HITS}' : row.HITS}" 
                               inlineStyle="color:#666666; font-size:12px;"/>
                <af:spacer id="spacer3" width="5px"/>
                <af:outputText id="otCol4" value="TIMES" inlineStyle="color:#666666; font-size:12px;"/>
                <af:spacer id="spacer4" width="5px"/>
                <af:outputText id="otCol5" value="in the last 7 days" inlineStyle="color:#333333; font-size:12px;"/>
              </td>
            </tr>
            <tr>
              <td/>
              <td>
                <af:outputText id="otCol6" value="Last Visit at " inlineStyle="color:#333333; font-size:12px;"/>
                <af:outputText id="otCol7" value="#{empty row.LASTVIEWED ? '#{row.LASTVIEWED}' : row.LASTVIEWED}" 
                               inlineStyle="color:#666666; font-size:12px;">
                <af:convertDateTime type="both"/>
                </af:outputText>
              </td>
            </tr>
            </af:iterator>
          </table>
        </cust:panelCustomizable>
      </af:panelGroupLayout>
    </jsp:root>
    

    ここで

    #{pageFlowScope.bindVarId}は、入力スペース名を提供する参照です

    #{dataPresenter.dummyData.collectionModel}は、マッシュアップ・スタイルを使用する際に置き換えられるダミーの参照です

    #{row.COLUMN}は、マッシュアップ・スタイルが使用される際にデータ・コントロールからデータを参照するプレースホルダです

    {doc path pre fix}は、ドキュメントURLに使用される接頭辞です。ドキュメント・パスの接頭辞を検索するには、「ドキュメント」ページでドキュメントを選択し、「表示」メニューからGet a Linkをクリックします。「ダウンロードURL」の最初の部分(pathの最後)は使用される接頭辞です。たとえば、http://my.company.com:8889/webcenter/content/conn/xyz18-ucm11g/path

    マッシュアップ・スタイルをプレビューする場合は、図C-40のように表示されます。

    図C-40 カスタム・マッシュアップ・スタイルのプレビュー

    アクティビティ・ストリーム形式を使用したマッシュアップ・スタイル

このマッシュアップ・スタイルを使用して、ページ・ヒットを表示するマッシュアップを構築できます。

C.6.2 カスタム・スタイルに基づいたタスク・フローの作成

この項では、PageHitsマッシュアップ・スタイルを使用して、アクティビティ・ストリーム・レイアウトにページ・ヒットを表示するマッシュアップを作成する方法について説明します。これを示すために、ActivitiesDSデータベース接続を使用して、SQLデータ・コントロールを作成し、PageHitsマッシュアップ・スタイルに基づくタスク・フローでデータ・コントロールを使用する必要があります。ただし、通常の表またはグラフのレイアウトではなく、アクティビティ・ストリーム・レイアウトでデータ・コントロールからのデータを表示するには、次のタスクを実行する必要があります。

  • SQLデータ・コントロールを作成します。

  • 新しいPageHitsマッシュアップ・スタイルに基づいてタスク・フローを作成します。

  • 表としてデータ・コントロールを追加します。

  • 表のプロパティからデータ・コントロールのアクセッサIDをコピーします。

  • 表を非表示にします。

  • アクセッサIDを使用して、データ・コントロールにタスク・フローの入力テキスト・フィールドを結び付けます。

カスタム・マッシュアップ・スタイルを使用するには:

  1. ActivitiesDS接続を使用して、SQLデータ・コントロールTop Five Viewed Documents in a Given Spaceを作成します。次のSQL問合せを指定します。

    SELECT * FROM
    (SELECT users.userid  username, doc.name_  docname,doc.path_  download_url, count(1) hits,max(fact.occurred) lastviewed
    FROM asfact_wc_doclib__0 fact , asdim_wc_documen_0 doc , asdim_wc_applica_0 app,asdim_wc_groupsp_0 space , asdim_users users
    WHERE app.id = fact.application_
    AND app.name_ = 'webcenter' 
    AND fact.occurred BETWEEN (SYSDATE-7) AND SYSDATE
    AND fact.document_ = doc.id
    AND doc.name_ is not null 
    AND doc.id is not null 
    AND fact.document_ is not null 
    AND doc.resourceid_ is not null
    AND  fact.GROUPSPACE_ = space.id 
    AND  upper(space.name_) LIKE upper(:spacename) 
    AND space.name_ IS NOT NULL 
    AND fact.userid=users.id
    GROUP BY users.userid, doc.name_,doc.path_
    ORDER BY hits  DESC)
    WHERE rownum <= 5
    ORDER BY rownum 
    
  2. spacenameバインド・パラメータ値をHome spaceに設定します。

  3. リソース・マネージャでデータ・コントロールを選択し、「編集」メニューから、「表示」をクリックします。

  4. 図C-41に示すように、PageHitsマッシュアップ・スタイルを使用して、タスク・フローTop Five Viewed Documents in a Given Spaceを作成します。

    図C-41 PageHitsスタイルを使用した新しいタスク・フロー・ダイアログの作成

    PageHitsスタイルを使用した新しいタスク・フロー・ダイアログの作成
  5. 図C-42に示すように、タスク・フローを編集し、表としてデータ・コントロールを追加します。

    図C-42 指定されたスペースに表示された上位5つのドキュメント

    指定されたスペースに表示された上位5つのドキュメント

    読取り専用の表を作成し、「表の作成」ダイアログの「アイテム」および「列」ページでデフォルトを受け入れます。

    「DCパラメータ」ページで、spacenameのパラメータ値として次を指定します。

    #{empty pageFlowScope.bindVarId ?'%' : pageFlowScope.bindVarId}

  6. アクセッサIDを取得するには:

    1. タスク・フローの「ソース」ビューに切り替えて、表コンポーネントを選択します。

    2. 「編集」をクリックして、表のプロパティを表示します。

    3. 「コンポーネント・プロパティ」ダイアログで、Value属性の値をコピーします。これは、データ・コントロールのアクセッサIDです。値は、次の例のようになります。

      #{bindings.accessor_gsraffebf20_b500_480f_bf92_a9d33922a0a7.collectionModel}

  7. 表を折り返すshowDetailFrameコンポーネントを選択し、コンテキスト・メニューで「非表示」をクリックします。

  8. 「イテレータ」コンポーネントを右クリックして、「編集」をクリックします。

  9. Value属性の値を表のプロパティからコピーしたアクセッサIDで置き換えます。

    これで、アクティビティ・ストリームのようなシード済レイアウトを使用したタスク・フローになりました。

  10. タスク・フローを保存して、コンポーザを終了します。

  11. リソース・マネージャでタスク・フローを選択し、「編集」メニューの「表示」をクリックします。

  12. ページでタスク・フローを使用します。図C-43のように表示されます。

    図C-43 スペースの上位5つのページ・ヒットを表示するページ

    スペースの上位5つのページ・ヒットを表示するページ

C.7 データ・フィールドを持つカスタム・マッシュアップ・スタイルの構築と使用

この項では、日付範囲を指定するフィールドを持つカスタム・マッシュアップ・スタイル、および指定された日付範囲のデータの視覚化を表示するコンテンツ領域の作成方法について説明します。図C-44に、このようなマッシュアップ・スタイルを使用して作成されたタスク・フローを示します。この項では、カスタム・スタイルを使用して、タスク・フローを作成する方法についても説明します。この項の内容は次のとおりです。

図C-44 データ・フィールドを持つカスタム・マッシュアップ・スタイルを使用したタスク・フロー

データ・フィールドとページ・ヒット・グラフを持つタスク・フロー

C.7.1 カスタム・マッシュアップ・スタイルの構築

リソース・マネージャの「マッシュアップ・スタイル」ページでは「作成」オプションが提供されないため、新しいマッシュアップ・スタイルを構築するには、デフォルトのマッシュアップ・スタイルをコピーして、そのソース・コードを置き換えます。

カスタム・マッシュアップ・スタイルを構築するには:

  1. 空のマッシュアップ・スタイルのコピーを作成して、それをInput Datesと名付けます。

  2. Input Datesのソースを編集して、「フラグメント」タブのコードを次のものと置き換えます。

    <?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 id="pgl">
        <af:panelGroupLayout id="pg2" layout="horizontal" halign="center" inlineStyle="padding-bottom:5px;">
          <af:panelFormLayout id="pfl1" partialTriggers="ipl" inlineStyle="padding-bottom:5px;">
            <af:inputDate id="ip1" value="#{pageFlowScope.bindVarId1}" label="Start Date" autoSubmit="true"/>
            <af:inputDate id="ip2" value="#{pageFlowScope.bindVarId2}" label="End Date"/>
            <af:commandButton text="#{dataComposerBundle.MASHUP_STYLES_GO}" id="cb1"/>
          </af:panelFormLayout>
        </af:panelGroupLayout>
        <cust:panelCustomizable id="pc1" halign="center"/>
      </af:panelGroupLayout>
    </jsp:root>
    

    inputDateコンポーネントは、2つのデータ・フィールドを提供し、panelCustomizableはコンテンツ領域を提供します。プレビューされる場合、マッシュアップ・スタイルは図C-45のように表示されます。

    図C-45 データベース・フィールドを持つカスタム・スタイルのプレビュー

    データ・フィールドと「実行」ボタンを持つカスタム・スタイル

    このマッシュアップ・スタイルを使用してマッシュアップを構築し、コンテンツ領域に、選択した視覚化を移入します。

C.7.2 カスタム・スタイルに基づいたタスク・フローの作成

この項では、Input Datesマッシュアップ・スタイルを使用して、指定された日付範囲のページ・ヒットのグラフを表示するマッシュアップの作成方法について説明します。これを示すために、ActivitiesDSデータベース接続を使用して、SQLデータ・コントロールを作成し、Input Datesマッシュアップ・スタイルに基づくタスク・フローでデータ・コントロールを使用する必要があります。

カスタム・マッシュアップ・スタイルを使用するには:

  1. ActivitiesDS接続を使用して、SQLデータ・コントロールPage Usage Between Two Datesを作成します。次のSQL問合せを指定します。

    SELECT page.name_ pageName, space.name_ spaceName, COUNT(1) hits
    FROM asdim_users u, asdim_wc_pages_0 page, asdim_wc_applica_0 app, asdim_wc_groupsp_0 space, asfact_wc_pagevie_0 fact 
    WHERE 
     app.name_ = 'webcenter' 
    AND fact.page_ = page.id 
    AND fact.userid = u.id 
    AND fact.application_ = app.id 
    AND fact.groupspace_  = space.id 
    AND fact.occurred BETWEEN to_timestamp_tz(to_char(:startdate), :dateformat) 
    AND to_timestamp_tz(to_char(:enddate), :dateformat) 
    AND space.name_ IS NOT NULL 
    AND page.name_ IS NOT NULL 
    AND space.id IS NOT NULL 
    AND page.id IS NOT NULL 
    AND fact.page_ IS NOT NULL 
    AND page.resourceid_ IS NOT NULL 
    GROUP BY page.name_, space.name_ 
    

    データ・コントロールはバインド変数startdatedateformatおよびenddateで作成されます。

  2. 図C-46に示すように、必要に応じてバインド・パラメータ値を設定します。たとえば、2010年のすべてのページの使用について問い合せるなど。

    図C-46 データ・コントロールのバインド・パラメータ値

    データ・コントロールのバインド・パラメータ値
  3. 図C-47に示すように、問合せをテストし、データ・ソースから取得されるデータを表示します。

    図C-47 データ・コントロールの問合せテストの結果

    データ・コントロールの問合せテストの結果
  4. リソース・マネージャでデータ・コントロールを選択し、「編集」メニューから、「表示」をクリックします。

  5. 図C-48に示すように、Input Datesマッシュアップ・スタイルを使用して、タスク・フローPage Usage Between Two Datesを作成します。

    図C-48 「新しいタスク・フローの作成」ダイアログの入力日マッシュアップ・スタイル

    「新しいタスク・フローの作成」ダイアログの入力日マッシュアップ・スタイル
  6. タスク・フローを編集し、グラフとしてデータ・コントロールを追加します(図C-49)。

    図C-49 データ・コントロール・アクセッサのグラフ・オプション

    データ・コントロール・アクセッサのグラフ・オプション
    • 「グラフの作成」ダイアログの「タイプ」ページで、「棒」を選択します。

    • 「配置」ページで、X軸に「ページ名」および「スペース名」、棒に「ヒット」を配置します。

    • 「DCパラメータ」ページで、バインド・パラメータの次の値を指定します。

      startdate:

      #{empty pageFlowScope.bindVarId1 ? '01' : 
      pageFlowScope.bindVarId1.month+1}/#{empty pageFlowScope.bindVarId1 ? '01' : 
      pageFlowScope.bindVarId1.date}/#{empty pageFlowScope.bindVarId1 ? '2010' : 
      pageFlowScope.bindVarId1.year+1900}
      

      (01/01/2010は、日付が選択されない場合は、デフォルトの初期開始日値として設定されます)

      dateformat: MM/DD/YYYY

      enddate:

      #{empty pageFlowScope.bindVarId2 ? '01' : 
      pageFlowScope.bindVarId2.month+1}/#{empty pageFlowScope.bindVarId2 ? '01' : 
      pageFlowScope.bindVarId2.date}/#{empty pageFlowScope.bindVarId2 ? '2011' : 
      pageFlowScope.bindVarId2.year+1900}
      

      (01/01/2011は、日付が選択されない場合は、デフォルトの初期終了日値として設定されます)

  7. グラフを作成し、タスク・フローを保存して、コンポーザを終了します。

  8. リソース・マネージャでタスク・フローを選択し、「編集」メニューの「表示」をクリックします。

  9. ページでタスク・フローを使用します。図C-50のように表示されます。

    図C-50 指定された日付範囲のグラフを表示するマッシュアップ

    指定された日付範囲のグラフを表示するマッシュアップ

C.8 ページ・ナビゲーションに結付けされるグラフを持つマッシュアップの作成

この項では、スペース名をクリックするとグラフにそのスペースのページ・ヒットを表示するような方法で結付けされるナビゲーション・ツリーとマッシュアップを含むサンプル・ページを作成する方法について説明します(図C-51)。

図C-51 左側のナビゲーションとページ・ヒット・グラフを持つマッシュアップ

左側にナビゲーションおよび中央にグラフを表示するマッシュアップ

このようなマッシュアップを作成する手順には、次のものがあります。

C.8.1 ページ・ヒット・データ・コントロールの作成

アプリケーションでWebCenter Portalサービスを構成している場合は、デフォルトで分析サービス接続ActivitiesDSが使用できます。この接続を使用して、SQLデータ・コントロールを作成できます。この項では、指定されたスペースの過去7日間の上位5つのページ・ヒットを表示するデータ・コントロールの作成方法について説明します。

データ・コントロールを作成するには:


関連項目:

データ・コントロールの作成手順の詳細は、第29.2.1.3項「データ・コントロールの作成」を参照してください。


  1. ActivitiesDS接続を使用して、PageHitsという名前のSQLデータ・コントロールを作成します。

  2. 次のSQL問合せを指定します。

    SELECT * FROM
    (SELECT page.name_ pageName, space.name_ spaceName, COUNT(1) hits 
    FROM asdim_users u, asdim_wc_pages_0 page, asdim_wc_applica_0 app, asdim_wc_groupsp_0 space, asfact_wc_pagevie_0 fact 
    WHERE fact.page_ = page.id AND fact.userid = u.id AND fact.application_ = app.id 
    AND fact.groupspace_ = space.id AND fact.occurred BETWEEN(SYSDATE-6) AND (SYSDATE+1) AND app.name_ = 'webcenter' 
    AND u.userid <> 'anonymous' AND  upper(space.name_) LIKE upper(:spacename) AND space.name_ IS NOT NULL 
    AND page.name_  IS NOT NULL AND space.id IS NOT NULL AND page.id IS NOT NULL 
    AND fact.page_  IS NOT NULL AND page.resourceid_ IS NOT NULL 
    GROUP BY page.name_, space.name_ ORDER BY hits DESC) 
    WHERE rownum <= 5 ORDER BY rownum
    

    データ・コントロールはspacenameバインド変数で作成されます。

  3. spacenameバインド変数をHome spaceに設定します。

  4. 図C-52に示すように、問合せをテストし、データ・ソースから取得されたデータを表示します。

    図C-52 SQLデータ・コントロールの問合せテストの結果

    SQLデータ・コントロールの問合せテストの結果
  5. リソース・マネージャでデータ・コントロールを選択し、「編集」メニューの「表示」をクリックします。

C.8.2 ナビゲーション・ツリーを持つページでのデータ・コントロールの使用

この項では、使用可能なスペースをリストするナビゲーション・ツリーを作成し、それをJSPXページで使用して、そのページにページ・ヒット・データ・コントロールを追加します。

ナビゲーションおよびページ・ヒット・グラフを持つページを作成するには:

  1. 「左を狭く」ページ・スタイルを使用して、Top Five Page Views for Given Space Within Past Weekページを作成します。

    コンポーザで新しいページが開きます。

  2. 「ページ・プロパティ」をクリックし、次の値を持つ新しいページ・パラメータspaceを作成します(図C-53):

    #{empty navigationContext.currentNavigationModel.currentSelection.parameters.space ?'Space_Name' : navigationContext.currentNavigationModel.currentSelection.parameters.space}

    Space_Namesample1またはデフォルトで詳細を表示する他のスペースの名前で置き換えます。

    図C-53 新しいパラメータを持つ「ページ・プロパティ」ダイアログ

    新しいパラメータを持つ「ページ・プロパティ」ダイアログ
    「図C-53 新しいパラメータを持つ「ページ・プロパティ」ダイアログ」の説明

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

  4. 図C-54に示すように、グラフとしてPageHitsデータ・コントロール・アクセッサを追加します。

    図C-54 PageHitsデータ・コントロール・アクセッサのグラフ・オプション

    PageHitsデータ・コントロール・アクセッサのグラフ・オプション

    「グラフの作成」ダイアログの「タイプ」ページで、「棒」を選択します。

    「配置」ページで、X軸に「ページ名」および「スペース名」、棒に「ヒット」を配置します。

    「DCパラメータ」ページで、データ・コントロール・パラメータspacenameをページ・パラメータspaceと次のように結付けします。

    #{empty bindings.space ?'sample1' : bindings.space}

  5. リソース・マネージャで、図C-55に示すように、3つのリンク・ナビゲーション・アイテム(Sample1Sample2およびSample3)を持つSpaces Navigationというナビゲーション・モデルを作成します。

    図C-55 3つのナビゲーション・アイテムを持つナビゲーション・コンポーネント

    3つのナビゲーション・アイテムを持つナビゲーション・コンポーネント
  6. Sample1を選択し、「編集」をクリックします。

  7. 「ナビゲーション・アイテムの編集」ダイアログで、図C-56に示すように、Top Five Page Views for Given Space Within Past Weekページへのパスを指定します。

    図C-56 「ナビゲーション・アイテムのプロパティ」ダイアログ

    「ナビゲーション・アイテムのプロパティ」ダイアログ
  8. 「パラメータ」タブで、spaceパラメータの値をSample1に指定します。

  9. 同様に、前の3つの手順を繰り返して、ナビゲーション・モデルのSample2およびSample3リンクを編集します。

    これらの手順では、同じタスク・フローをナビゲーションの3つのリンクに結付けしますが、各リンクに別のスペース名を指定しています。

  10. 「OK」をクリックして、ナビゲーション・エディタを終了します。

  11. リソース・マネージャでSpaces Navigationを選択し、「編集」メニューの「表示」をクリックします。

  12. Five Page Views for Given Space Within Past Weekページを編集し、ページの左列にナビゲーション・ツリー・コンポーネントを追加します。

    デフォルト・ナビゲーションがページの左側に表示されます。

  13. 図C-57に示すように、デフォルト・ナビゲーションの「編集」アイコンをクリックします。

    図C-57 デフォルト・ナビゲーション・ツリー・コンポーネントの「編集」アイコン

    デフォルト・ナビゲーション・ツリー・コンポーネントの「編集」アイコン
  14. 「パラメータ」タブで、図C-58に示すように、「ナビゲーション」フィールドでSpaces Navigationを指定し、「OK」をクリックします。

    図C-58 ナビゲーション・ツリーの「コンポーネント・プロパティ」ダイアログ

    ナビゲーション・ツリーの「コンポーネント・プロパティ」ダイアログ
  15. これで、図C-59に示すように、新しいナビゲーション・モデルがページの左側に表示されます。

    図C-59 スペース名リンクを持つナビゲーション・モデル

    スペース名リンクを持つナビゲーション・モデル
  16. 「保存」「閉じる」をクリックして、ページ編集モードを終了します。

  17. ページを表示すると、図C-60に示すように、ナビゲーション・ツリーとグラフが表示されます。

    図C-60 左側のナビゲーションとSample1のページ・ヒット・グラフを持つマッシュアップ

    Sample1のページ・ヒット・グラフを表示するマッシュアップ
  18. 図C-61に示すように、そのスペースのページ・ヒット・グラフを表示するナビゲーションの異なるスペースをクリックします。

    図C-61 左側のナビゲーションとSample2のページ・ヒット・グラフを持つマッシュアップ

    Sample2のページ・ヒット・グラフを表示するマッシュアップ

C.9 継承されたページ・ナビゲーションに結付けされるグラフを持つマッシュアップの作成

前の例で、指定されたスペースのページ・ヒットのグラフを作成し、それをナビゲーション・ツリーを含むページに結付けする方法について説明しました。さらに進めて、この項ではページ・テンプレートから継承されるナビゲーション・ツリーにページ・ヒット・グラフを結付けする方法について説明します。

このようなマッシュアップを作成する手順には、次のものがあります。

C.9.1 ページ・ヒット・データ・コントロールの作成

第C.8.1項「ページ・ヒット・データ・コントロールの作成」の手順を実行します。

C.9.2 ページ・ヒット・データ・コントロールの使用

この項では、タスク・フローでデータ・コントロールを使用して、継承されたナビゲーション・ツリーを表示するページでタスク・フローを使用する方法について説明します。

データ・コントロールを使用するには:

  1. 空のマッシュアップ・スタイルを使用して、タスク・フローTop Five Page Views for Given Space Within Past Weekを作成します。

  2. グラフとしてPageHitsデータ・コントロール・アクセッサを追加します。

    「グラフの作成」ダイアログの「タイプ」ページで、「棒」を選択します。

    「配置」ページで、X軸に「ページ名」および「スペース名」、棒に「ヒット」を配置します。

    「DCパラメータ」ページで、データ・コントロール・パラメータspacenameを次のように設定します。

    #{empty pageFlowScope.spacename ?'Home space' : pageFlowScope.spacename}

    「作成」をクリックします。

  3. 図C-62に示すように、「タスク・フロー・プロパティ」をクリックし、pageFlowScopeの文字列パラメータspacenameを作成します。

    図C-62 「タスク・フロー・プロパティ」ダイアログの新しいパラメータ

    「タスク・フロー・プロパティ」ダイアログの新しいパラメータ
  4. 「保存」「閉じる」をクリックして、編集モードを終了します。

  5. リソース・マネージャでタスク・フローを選択し、「編集」メニューの「表示」をクリックします。

  6. Sample8bページを作成し、そのページ内に新しいタスク・フローを追加します。

    これにより、タスク・フローにデフォルトでホーム・スペースのページ・ヒット・グラフが表示されます。

C.9.3 カスタム・ページ・テンプレートの作成と適用

この項では、カスタム・ナビゲーション・コンポーネントとナビゲーション・ツリーを含むページ・テンプレートの作成方法、および新しいページ・テンプレートの適用方法について説明します。

カスタム・ナビゲーション・コンポーネントを作成するには:

  1. リソース・マネージャで、図C-63に示すように、3つのリンク・ナビゲーション・アイテム(Sample1Sample2およびSample3)を持つSpaces Navigationというナビゲーション・モデルを作成します。

    図C-63 3つのリンク・ナビゲーション・アイテムを持つナビゲーション・コンポーネント

    3つのナビゲーション・アイテムを持つナビゲーション・コンポーネント
  2. Sample1を選択し、「編集」をクリックします。

  3. 「ナビゲーション・アイテムの編集」ダイアログで、図C-64に示すように、Top Five Page Views for Given Space Within Past Weekページへのパスを指定します。

    図C-64 「ナビゲーション・アイテムのプロパティ」ダイアログ

    「ナビゲーション・アイテムのプロパティ」ダイアログ
  4. 「パラメータ」タブで、spaceパラメータの値をSample1に指定します。

  5. 同様に、前の3つの手順を繰り返して、ナビゲーション・モデルのSample2およびSample3リンクを編集します。

    これらの手順では、同じタスク・フローをナビゲーションの3つのリンクに結付けしますが、各リンクに別のスペース名を指定しています。

  6. 「OK」をクリックして、ナビゲーション・エディタを終了します。

  7. リソース・マネージャでSpaces Navigationを選択し、「編集」メニューの「表示」をクリックします。

カスタム・ページ・テンプレートを作成および適用するには:

  1. デフォルトのサイド・ナビゲーション - フロー・テンプレートに基づいた、カスタム・ページ・テンプレートSample Templateを作成します。

  2. ナビゲーション・ツリー・コンポーネントをテンプレートに追加します。

    デフォルト・ナビゲーションがページの左側に表示されます。

  3. 図C-65に示すように、デフォルト・ナビゲーションの「編集」アイコンをクリックします。

    図C-65 デフォルト・ナビゲーション・ツリー・コンポーネントの「編集」アイコン

    デフォルト・ナビゲーション・ツリー・コンポーネントの「編集」アイコン
  4. 「パラメータ」タブで、「ナビゲーション」フィールドのSpaces Navigationを指定し、「OK」をクリックします。

    これで、図C-66に示すように、テンプレートの左側に新しいナビゲーション・モデルが表示されます。

    図C-66 ナビゲーション・ツリーを持つカスタム・ページ・テンプレート

    ナビゲーション・ツリーを持つカスタム・ページ・テンプレート
  5. 「保存」「閉じる」をクリックして、ページ編集モードを終了します。

  6. リソース・マネージャで新しいテンプレートを選択し、「編集」メニューの「表示」をクリックします。

  7. 「スペース管理」ページに移動し、「構成」タブをクリックします。

  8. 「デフォルト・ページ・テンプレート」フィールドの「一般」ページで、作成した新しいサンプル・テンプレートを選択し(図C-67)、「適用」をクリックします。

    図C-67 デフォルト・ページ・テンプレートの構成

    デフォルト・ページ・テンプレートの構成

    これで、テンプレートのナビゲーション・ツリーがすべてのアプリケーション・ページに表示されます。

C.9.4 ページ・ヒット・グラフと継承されたナビゲーション間の結付けのテスト

グラフがナビゲーションに正しく結付けされていることを確認するには:

  1. Sample8bページを開きます。

    このページには、図C-68に示すように、ホーム・スペースのナビゲーション・ツリーとページ・ヒット・グラフが表示されます。

    図C-68 ナビゲーションで選択されたSample1のページ・ヒット・グラフ

    ナビゲーションで選択されたSample1のページ・ヒット・グラフ
  2. 図C-69に示すように、そのスペースのページ・ヒット・グラフを表示するナビゲーションの異なるスペースをクリックします。

    図C-69 ナビゲーションで選択されたSample2のページ・ヒット・グラフ

    ナビゲーションで選択されたSample2のページ・ヒット・グラフ

C.10 Google Mapsタスク・フローを含むマスター/ディテール・マッシュアップの作成

この項では、マスター/ディテール関係で結付けされた2つのタスク・フローを表示するマッシュアップを作成し、マスター・タスク・フローでの選択によってディテール・タスク・フローのGoogle Mapアドレスを更新する方法について説明します(図C-70)。

図C-70 表およびGoogle Mapを表示するマッシュアップ

表およびGoogle Mapを表示するマッシュアップ

同様なマッシュアップを作成する手順には、次のものがあります。

この項では、これらのタスクの実行方法について説明します。この項の内容は次のとおりです。

C.10.1 データ・コントロールの作成

この例では、select * from dual文を使用して、アドレス・データを取得するためにデータ・コントロールを作成します。既存のデータ・ソース接続を使用して、データ・コントロールを作成できます。即時に、必要なSQLデータ・ソース接続でこれを置き換える必要があります。データ・コントロールを作成するには:

  1. 使用可能なデータベース接続を使用して、SQLデータ・コントロール、アドレスを作成し、次の問合せを指定します。

    SELECT 'Steve' Buddy, 'Palo Alto' City, 'CA' State
    FROM dual
    UNION
    SELECT 'Doris' Buddy, 'Belmont' City, 'CA' State
    FROM dual
    UNION
    SELECT 'John' Buddy, 'New York' City, 'NY' State
    FROM dual
    UNION
    SELECT 'Lily' Buddy, 'Boston' City, 'MA' State
    FROM dual
    
  2. リソース・マネージャで新しいデータ・コントロールを選択し、「編集」メニューから、「表示」をクリックします。

C.10.2 ディテール・タスク・フローの作成

この項では、Google Mapを表示するディテール・タスク・フローの作成方法について説明します。

ディテール・タスク・フローを作成するには:

  1. 空白のマッシュアップ・スタイルに基づいて、タスク・フローBasic Mapsを作成します。

  2. タスク・フローを選択し、「編集」メニューの「ソースの編集」をクリックします。

  3. 「フラグメント」タブのコードを次で置き換えます。

    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:pe="http://xmlns.oracle.com/adf/pageeditor"
              xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:trh="http://myfaces.apache.org/trinidad/html">
      <af:resource type="javascript" source="http://maps.google.com/maps/api/js?sensor=true"/>
      <af:resource type="javascript">
      var geocoder;
      var map;
    function initialize(){  
      geocoder = new google.maps.Geocoder();
      var latlng = new google.maps.LatLng(37.529526, -122.263969);  
      var myOptions = {
          zoom: 3,
          center: latlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
      map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
    }
    function navigate(event) {
    initialize();
    var city= event.getSource().getProperty('city')+"";
    var state= event.getSource().getProperty('state')+"";
    var address;
    if(city== "undefined"||state== "undefined"||city== "NULL"||state== "NULL"){
    address="CA, USA";
    } else {
    map.setZoom(8);
    address=city+" "+state+" USA";  
    }
      geocoder.geocode( { 'address': address}, function(results, status) 
    {  
     if (status == google.maps.GeocoderStatus.OK) {
         map.setCenter(results[0].geometry.location);
         var marker = new google.maps.Marker({          
            map: map, 
            position: results[0].geometry.location
            });
          } 
    else {
            alert("Geocode was not successful for the following reason: " + status);
          }
        });
    }
    </af:resource>
      <af:panelGroupLayout id="pgl1">
        <af:group id="g1">
          <div id="map_canvas" style="width: 600px; height: 600px"/>
        </af:group>
        <af:inlineFrame source="">
          <af:clientListener type="inlineFrameLoad" method="navigate"/>
          <af:clientAttribute name="city" value="#{empty pageFlowScope.city? '' : pageFlowScope.city}"/>
          <af:clientAttribute name="state" value="#{empty pageFlowScope.state ? '' : pageFlowScope.state}"/>
        </af:inlineFrame>
      </af:panelGroupLayout>
    </jsp:root>
    

    太字のコード<af:inline>は、ページがロードされるたびに、navigate Google Map javascriptメソッドをコールし、マップ上のアドレスを更新するためにnavigateメソッドに2つのpageFlowScopeパラメータを解析します。

  4. 「OK」をクリックしてソース・エディタを終了します。

  5. リソース・マネージャでタスク・フローが選択されていることを確認し、「編集」メニューの「編集」をクリックします。

  6. 図C-71に示すように、「タスク・フロー・プロパティ」をクリックして、pageFlowScopeの2つの文字列のタスク・フロー・パラメータcityおよびstateを作成します。

    図C-71 「基本マップ」タスク・フローの新しいパラメータ

    「基本マップ」タスク・フローの新しいパラメータ

C.10.3 マスター・タスク・フローの作成

この項では、表としてaddressesデータ・コントロールおよびBasic Mapsタスク・フローを使用するマスター・タスク・フローの作成方法について説明します。

  1. 空白のマッシュアップ・スタイルに基づいて、タスク・フローAddress on Google Mapsを作成します。

  2. 図C-72に示すように、タスク・フローを編集し、Basic Mapsタスク・フローを追加します。

    図C-72 リソース・カタログの「基本マップ」タスク・フロー

    リソース・カタログの「基本マップ」タスク・フロー
  3. Address on Google Mapsデータ・コントロール・アクセッサを行選択が有効化された読取り専用表として追加します。

    図C-73に示すように、マスター・タスク・フローに上部にアドレス表、その下部にマップが表示されます。

    図C-73 表とGoogle Mapが表示されたマスター/ディテール・タスク・フロー

    表とGoogle Mapが表示されたマスター/ディテール・タスク・フロー

C.10.4 マスター・タスク・フローとディテール・タスク・フローの結付け

この項では、ユーザーが表内の名前をクリックして、マップの対応する場所を示すことができるように、マスター・タスク・フローとディテール・タスク・フローを結付けする方法について説明します。マスター・タスク・フローとディテール・タスク・フローの結付けを行うには:

  1. Basic Mapsタスク・フローの「編集」アイコンをクリックします。

  2. 「コンポーネント・プロパティ」ダイアログで、2つのタスク・フロー・パラメータcityおよびstateの値を次のように変更します。

    city: #{empty dataComposerViewContext.dataSelection.CITY ?'NULL' : dataComposerViewContext.dataSelection.CITY}

    state: #{empty dataComposerViewContext.dataSelection.CITY ?'NULL' : dataComposerViewContext.dataSelection.CITY}

  3. マップのヘッダーを非表示にするには、「表示オプション」タブをクリックして、「ヘッダーの表示」チェック・ボックスの選択を解除します。

  4. 「表示オプション」タブの「詳細設定」リンクをクリックして、「コンテンツのストレッチ」Autoに設定します。

    これにより、必要な場合にのみ、マップにスクロール・バーが表示されることが確認されます。

  5. 「OK」をクリックして変更を保存します。

    マップに、表に現在選択されている名前に対応する場所が表示されます。

  6. 「保存」「閉じる」をクリックして、編集モードを終了します。

    タスク・フローは図C-74に示されるように表示されます。

    図C-74 表とGoogle Mapが表示されたマスター/ディテール・タスク・フロー

    表とGoogle Mapが表示されたマスター/ディテール・タスク・フロー
  7. 必要に応じて、表がマップの左側に表示されるように、タスク・フローのレイアウトを変更できます。マスター・タスク・フローのレイアウトを調整するには:

    1. マスター・タスク・フローのソースを編集し、「フラグメント」タブで、次の行を置き換えます。

      <af:panelGroupLayout id="pgl1">  
      <cust:panelCustomizable id="pc1">
      

      置換え先

      <af:panelGroupLayout id="pgl1" layout="horizontal" valign="top">
      <cust:panelCustomizable id="pc1" layout="vertical" valign="top">
      
    2. </cust:panelCustomizable>の終了タグを右側に、最初の</showDetailFrame>タグの後に、2番目の<showDetailFrame>タグの前に移動します。

    3. 表のデフォルトの選択を無効にするには、<table>タグのselectedRowKeys属性を削除します。

    4. 必要に応じてマップがストレッチすることを確認するには、columnStretching属性をlastに変更します。

  8. マスター/ディテール・タスク・フローをさらにテストするには、ページを作成し、それにAddress on Google Mapsタスク・フローを追加します。

    ページのタスク・フローを編集し、「コンテンツのストレッチ」オプションをautoに設定します。


    注意:

    ページに最近の変更が反映されていることを確認するために、「リフレッシュ」ボタンをクリックするのに対して、直接URLを使用し、再度ページを開く必要がある場合があります。


    図C-75のようにタスク・フローが表示されます。

    図C-75 表およびGoogle Mapが表示されるマッシュアップ

    表およびGoogle Mapを表示するマッシュアップ

    表の名前をクリックします。マップにより、その名前に対応する場所がポイントされます。

C.11 カスタマイズされたRSSフィードOmniPortletを使用したマッシュアップの作成

この項では、ユーザーにOracle Technology NetworkヘッドラインなどのReally Simple Syndication (RSS)ニュース・フィードのニュース情報をリアルタイムにスクロール表示するOmniPortletインスタンスを持つマッシュアップを作成する方法について説明します。また、Spacesインスタンス全体でポートレットを共有する方法についても説明します。

プロデューサの登録

タスク・フローでOmniPortletを使用するには、まず、ポートレットのプロデューサをアプリケーションに登録する必要があります。手順の詳細は、第6.5項「ポートレット・プロデューサの登録」を参照してください。

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

C.11.1 OmniPortletを使用したタスク・フローの作成

Omniportletインスタンスを使用してマッシュアップを作成するには:

  1. 空白のマッシュアップ・スタイルに基づいて新しいタスク・フローを作成します。

  2. 図C-76に示すリソース・カタログからタスク・フローにOmniportletを追加します。

    図C-76 リソース・カタログのOmniPortlet

    リソース・カタログのOmniPortlet
  3. 図C-77に示すポートレット・ヘッダーの右上の「カスタマイズ」アイコンをクリックします。

    図C-77 OmniPortletヘッダーの「カスタマイズ」アイコン

    OmniPortletヘッダーの「カスタマイズ」アイコン

    関連項目:

    詳細は、第30.2項「OmniPortletウィザードの使用」を参照してください。


  4. 図C-78に示すOmniPortletウィザードの「タイプ」ページで、データ・ソース・タイプとして「XML」を選択し、「次」をクリックします。

    図C-78 OmniPortletウィザードの「タイプ」ページ

    OmniPortletウィザードの「タイプ」ページ
  5. 図C-79に示すように、「ソース」ページで、「XML URL」および「XSL Filter URL」を次のように指定します。

    XML URL: http://www.oracle.com/technology/syndication/rss_otn_news.xml

    XSL Filter URL: http://www.oracle.com/technetwork/middleware/webcenter/portal/documentation/omniportletnews-1835159.xsl

    図C-79 OmniPortletウィザードの「ソース」ページ

    OmniPortletウィザードの「ソース」ページ
  6. 図C-80に示すように「ポートレット・パラメータ」セクションで、新しいパラメータDisplay Numを定義して、「次」をクリックします。

    図C-80 OmniPortletウィザードの「ソース」ページの「ポートレット・パラメータ」セクション

    「ソース」ページの「ポートレット・パラメータ」セクション
  7. 図C-81に示す「フィルタ」ページで、フィルタ制限を##Param1##に設定し、「次」をクリックします。

    図C-81 OmniPortletウィザードの「フィルタ」ページの「制限」セクション

    ウィザードの「フィルタ」ページの「制限」セクション
  8. 図C-82に示すように「表示」ページの「レイアウト・スタイル」セクションで、「ニュース」を選択します。

    図C-82 OmniPortletウィザードの「表示」ページの「レイアウト・スタイル」セクション

    OmniPortletウィザードの「レイアウト・スタイル」セクション
    「図C-82 OmniPortletウィザードの「表示」ページの「レイアウト・スタイル」セクション」の説明

  9. 図C-83に示すように、「レイアウト」ページの「列のレイアウト」セクションで、タイトルと説明を指定する2つのフィールドを使用します。

    図C-83 OmniPortletウィザードの「レイアウト」ページの「列のレイアウト」セクション

    ウィザードの「レイアウト」ページの「列のレイアウト」セクション
  10. 「終了」をクリックしてウィザードを終了します。

  11. 「保存」および「閉じる」をクリックして、コンポーザを終了します。

  12. リソース・マネージャで新しいタスク・フローを選択し、「編集」メニューから、「表示」をクリックします。

C.11.2 タスク・フローのテスト

タスク・フローのポートレットが正しくレンダリングされることを確認するには:

  1. タスク・フローをプレビューするか、またはそれをアプリケーション・ページで使用します。

    ポートレットに10個のニュース・アイテムが表示されます。

  2. タスク・フローの右上で、図C-84に示す「パーソナライズ」アイコンをクリックします。

    図C-84 タスク・フロー・ヘッダーの「パーソナライズ」アイコン

    タスク・フロー・ヘッダーの「パーソナライズ」アイコン
  3. 図C-85に示す結果画面で、Display Num変数の値を選択した数字に変更します。

    図C-85 「ポートレット・パラメータのカスタマイズ」画面

    「ポートレット・パラメータのカスタマイズ」画面

    ポートレットに、指定されたニュース・アイテム数が表示されます。

C.11.3 カスタマイズされたポートレットを含むタスク・フローの共有

インスタンスからエクスポートし、そのインスタンスにインポートすることによって、ポートレットを含むタスク・フローを別のSpacesインスタンスと共有できます。ただし、インポートされたタスク・フローは、OmniPortletのプロデューサが他のインスタンスで同じ名前で登録されている場合にのみそのポートレットをレンダリングします。

タスク・フローを別のSpacesインスタンスと共有するには:

  1. ターゲット・インスタンス上で、インスタンスのプロデューサ登録に使用された名前と同じ名前でOmniPortletプロデューサを登録します。

    手順の詳細は、第6.5項「ポートレット・プロデューサの登録」を参照してください。

  2. ソース・インスタンスのリソース・マネージャからタスク・フローをエクスポートします。

    手順の詳細は、第11.5.2項「リソースのダウンロード」を参照してください。

  3. ターゲット・インスタンスのリソース・マネージャのタスク・フローをインポートします。手順の詳細は、第11.5.3項「リソースのアップロード」を参照してください。

    これで、ポートレットはソース・インスタンスで行われるすべてのカスタマイズで使用できます。