プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebCenter PortalおよびOracle JDeveloperでのポータルの開発
11gリリース1 (11.1.1.9.0)
E49666-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

12 ページ・スタイルとタスク・フロー・スタイルの開発

この章では、Oracle JDeveloperを使用してWebCenter Portal Frameworkアプリケーション用のページ・スタイルとタスク・フロー・スタイルを作成および管理する方法を説明します。

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

12.1 スタイルの概要

Oracle WebCenter Portalは、ポータル内のコンテンツのレイアウトを決定する数種類のスタイルを提供しています。

  • ページ・スタイルは、実行時に作成される新規ページ内のコンテンツのレイアウトを決定します。詳細は、第12.1.1項「ページ・スタイルの概要」を参照してください。

  • タスク・フロー・スタイルは、実行時に作成されるタスク・フローのコンテンツのレイアウトを決定します。タスク・フロー・スタイルには、タスク・フローに追加されるデータ視覚化にバインドできるオブジェクトを含めることもできます。詳細は、第12.1.2項「タスク・フロー・スタイルの概要」を参照してください。

  • コンテンツ・プレゼンタ表示テンプレートは、コンテンツ・プレゼンタ・コンテンツ・アイテムのページ上でのレイアウトを定義します。これらのテンプレートについては、この章では説明していません。詳細は、第27章「コンテンツ・プレゼンタ表示テンプレートの作成」を参照してください。

実行時管理

Portal Frameworkアプリケーションは、デプロイ後もポータルの開発をユーザーが続行できるように、スタイルの実行時管理をサポートしています。実行時管理により、権限のあるユーザーがスタイルをブラウザ・ベースの環境で管理でき、JDeveloperのインストールや知識は必要ありません。詳細は、第9.5項「実行時のポータル・リソースの使用」を参照してください。

ラウンドトリップ開発

ポータルの再デプロイ時に変更内容が失われないように、実行時に作成または変更されたスタイルをJDeveloperに取り込むことができます。必要な場合は、これらのスタイルを編集してさらに改良でき、デプロイ済ポータルに再びアップロードできます。詳細は、第9.6項「ラウンドトリップ開発での作業」を参照してください。


注意:

コンテンツ・プレゼンタの表示テンプレートを実行時に作成することはできません。実行時にページ・スタイルとタスク・フロー・スタイルを作成するには、既存のスタイルのコピーを作成する必要があります。

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

12.1.1 ページ・スタイルの概要

ページ・スタイルは、実行時に作成するページに使用するJSPXページです。ページ・スタイルには、新規作成されたページのレイアウトが示され、ページでサポートされるコンテンツ・タイプも示される場合があります。

ユーザーがページ・スタイルを使用してページを作成する場合、レイアウトと初期コンテンツが、ページ・スタイルから新規作成されたページにコピーされます。ページ・テンプレートとは異なり、ページ・スタイルは参照ベースではありません。つまり、ページ・スタイルを変更しても、その変更は、スタイルを使用するページに継承されません。

通常、ページ・スタイルには、指定したページの有用性と外観を強化するコンポーネントが含まれます。これらのコンポーネントには、インプレースHTMLテキスト・エディタ、イメージ、レイアウト・ボックス、ハイパーリンクなどが含まれます。コンテンツ・コントリビュータを使用すると、ページにコンテンツをさらに移入できます。図12-1は、ページ・スタイルに基づいたポータル・ページのサンプルを示しています。

図12-1 ページ・スタイルを使用したページのサンプル

図12-1の説明が続きます
「図12-1 ページ・スタイルを使用したページのサンプル」の説明

JDeveloperでページ・スタイルを作成できますが、それらのページ・スタイルは、実行時にページを作成する際にのみ使用されます。

ユーザーは、使用可能なページ・スタイルに基づいて実行時にページを作成できます。実行時管理コンソールの「アセット」ページでは、「ページの作成」オプションを使用できます。このオプションは、ページ - 新規作成タスク・フローが含まれるその他のアプリケーション・ページでも使用できます。ユーザーが「ページの作成」オプションをクリックすると、図12-2に示すように、「ページの作成」ダイアログに一連の事前定義済スタイルが表示されます。ユーザーは、スタイルを選択し、それに基づいてページを作成できます。レイアウトが新規ページにすでに配置されているため、ユーザーはページの様々な領域にコンテンツを追加するだけです。

図12-2 「ページの作成」ダイアログ・ボックス

図12-2の説明が続きます
「図12-2 「ページの作成」ダイアログ・ボックス」の説明

12.1.2 タスク・フロー・スタイルの概要

タスク・フロー・スタイルはページ・スタイルとよく似ていますが、ページではなくタスク・フローを作成するために実行時に使用される点が異なります。タスク・フロー・スタイルは、タスク・フローに追加されるデータ視覚化にバインドできるオブジェクトを組み込むことができるので、データ・プレゼンタで使用するタスク・フローを作成する際に特に便利です。

タスク・フロー・スタイルは、実行時にタスク・フローを作成する際にのみ使用されますが、JDeveloperで作成および公開されます。

タスク・フロー・スタイルは、新規タスク・フローの作成ダイアログ・ボックス(図12-3)に表示されます。ユーザーは、そのスタイルに基づいて、スタイルを選択してタスク・フローを作成できます。詳細は、『Oracle WebCenter Portalでのポータルの構築』のタスク・フローの使用に関する項を参照してください。

図12-3 新規タスク・フローの作成ダイアログ

図12-3の説明が続きます
「図12-3 新規タスク・フローの作成ダイアログ」の説明

12.2 ページ・スタイルの開発

ページ・スタイルは、新規タスク・フローを実行時に作成するためのテンプレートとして使用できるJSPXページです。

ユーザーが実行時に新規ページを作成する際には、図12-2に示す「ページの作成」ダイアログに、使用可能なページ・スタイルが表示されます。

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


注意:

WebCenter Portalで使用するページ・スタイルをJDeveloperで開発できます。詳細は、第9.7項「WebCenter Portalリソースの使用」を参照してください。

12.2.1 ページ・スタイルを作成する方法

ページ・スタイルの作成方法としては、既存のページ・スタイルのいずれかをダウンロードして、JDeveloperにインポートすることをお薦めします。その後、このページ・スタイルを新規ページ・スタイルの開始点として使用でき、作成後はページ・スタイルをエクスポートしてアプリケーションに再びアップロードできます。

また、この方法でページ・スタイルを作成すれば、「ページの作成」ダイアログでこのスタイルを使用できるようになります。

ページ・スタイルを作成するには:

  1. デプロイ済アプリケーションで、既存のページ・スタイルのいずれかをダウンロードします。詳細は、『Oracle WebCenter Portalでのポータルの構築』のアセットのダウンロードに関する項を参照してください。

  2. ダウンロードしたページ・スタイルをJDeveloperにインポートします。詳細は、第9.6.2項「ポータル・リソースをJDeveloperにインポートする方法」を参照してください。

  3. アプリケーション・ナビゲータで、インポートしたページ・スタイルを右クリックして、「開く」を選択します。

  4. ビジュアル・エディタで、ページ・スタイルのコンテンツのレイアウトに変更を加えます(ページを編集するときと同じ方法で)。

    ページ・スタイルのコンテンツを定義する方法については、第17.6.1項「実行時に作成したページ用のテンプレートを作成する方法」、および第12.2.2項「ページ・スタイルの開発に関する必知事項」を参照してください。

    例12-1に、サンプル・ページ・スタイル/oracle/webcenter/portalapp/pages/pageStyles/TemplateFlowingTwoColumn.jspxのコードを示します。このコードにより、35パーセントと65パーセントの割合で2つの列を送り提供するように設計される基本ページが作成されます。例12-2に、関連するページ定義ファイル/oracle/webcenter/portalapp/pages/pageStyles/TemplateFlowingTwoColumnPageDef.jspxを示します。

    例12-1 カスタムのページ・スタイルのソース・コード

    <?xml version='1.0' encoding='utf-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
    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" version="2.1">
     <jsp:directive.page deferredSyntaxAllowedAsLiteral="true"/>
     <jsp:directive.page contentType="text/html;charset=utf-8"/>
     <f:view>
      <af:document title="#{pageDocBean.title}" id="docrt">
       <af:form usesUpload="true" id="f1">
        <af:pageTemplate value="#{bindings.pageTemplateBinding.templateModel}"
        id="T">
         <f:facet name="content">
          <pe:pageCustomizable id="pcl1">
           <af:panelGroupLayout id="pgl1" layout="scroll"
           styleClass="replace_with_scheme_name"
           inlineStyle="replace_with_inline_style">
            <trh:tableLayout id="tl1" width="100%">
             <trh:rowLayout id="rl1">
              <trh:cellFormat id="cf1" width="35%" valign="top">
               <cust:panelCustomizable id="hm_pnc1" layout="scroll"/>
              </trh:cellFormat>
              <trh:cellFormat id="cf2" width="65%" valign="top">
               <cust:panelCustomizable id="hm_pnc2" layout="scroll"/>
              </trh:cellFormat>
             </trh:rowLayout>
            </trh:tableLayout>
            <trh:tableLayout id="tl2"/>
           </af:panelGroupLayout>
           <f:facet name="editor">
            <pe:pageEditorPanel id="pep1"/>
           </f:facet>
          </pe:pageCustomizable>
         </f:facet>
        </af:pageTemplate>
       </af:form>
      </af:document>
     </f:view>
    </jsp:root>
    

    例12-2 カスタムのページ・スタイルのページ定義

    <pageDefinition version="11.1.1.41.30" id="TemplateFlowingTwoColumnPageDef"
      Package="oracle.webcenter.siteresources.scopedMD.s8bba98ff_4cbb_40b8_beee_296c916a23ed.pageStyle.gsr2b052c53_0eba_43fd_81e2_7f12dbb885a5">
      <parameters/>
      <executables>
        <page viewId="#{preferenceBean.defaultPageTemplate}" 
              id="pageTemplateBinding" Refresh="ifNeeded"/> 
        <taskFlow id="pageeditorpanel" taskFlowId="#{pageEditorBean.pageEditorPanel}"/>
      </executables>
    </pageDefinition>
    
  5. 変更内容を保存します。

  6. ページ・スタイルをエクスポートします。詳細は、第9.6.3項「ポータル・リソースをJDeveloperからエクスポートする方法」を参照してください。

  7. エクスポートしたページ・スタイルをデプロイ済アプリケーションにアップロードします。詳細は、『Oracle WebCenter Portalでのポータルの構築』のアセットのアップロードに関する項を参照してください。

12.2.2 ページ・スタイルの開発に関する必知事項

ポータル・リソースとして公開するページ・スタイルの開発については、いくつかの前提条件があります。

  • ページ・スタイルがページ・テンプレートに基づいている場合は、ページ・スタイルのJSPXファイルの設計時に、contentファセットまたはページ・テンプレートで定義されているその他のファセットを追加して、ページ・コンテンツが含まれるようにします。

  • ページをカスタマイズ可能にするには、コンテンツ・ファセット内にPage Customizableコンポーネントを追加します。Page Customizableには、子であるPanel Customizableコンポーネントがデフォルトで含まれているため、ユーザーは実行時にコンテンツをページに追加できます。

  • ページ・スタイルに使用するページ・テンプレートを動的に選択できるようにするには、ページ・スタイルのJSPXファイルで、そのページ・テンプレートの定義がページ・スタイルのページ定義の中に含まれていることを、次のように指定します。

    <af:pageTemplate value="#{bindings.pageTemplateBinding.templateModel}" id="T">
    

    その後、次のようにページ・スタイルのページ定義の中でEL値を指定して、ページ・テンプレートの名前をデフォルト・ページ・テンプレート設定から取得できます。

    <page viewId="#{preferenceBean.defaultPageTemplateViewId}" 
          id="pageTemplateBinding" Refresh="ifNeeded"/>
    

    実行時に、適切な権限を持ったユーザーが、実行時管理コンソールで新しいデフォルト・ページ・テンプレートを選択することにより、別のページ・テンプレートに切り替えることができます。詳細は、『Oracle WebCenter Portalの管理』のデフォルト・ページ・テンプレートの選択に関する項を参照してください。

  • 次の例に示すように、使用するページ・テンプレートを制御するマネージドBeanを作成できます。

    public class siteTemplatesManager {
        final private String templateA = "/templateA.jspx";
        final private String templateB = "/templateB.jspx";
        private String currentSiteTemplateViewId;
        
        public siteTemplatesManager() {
            super();
            currentSiteTemplateViewId = templateA;
        }
        public String gettemplateViewId() {
            return currentSiteTemplateViewId;
        }
        public void settemplateAViewId(ActionEvent ae) {
            currentSiteTemplateViewId = templateA;
        }
        public void settemplateBViewId(ActionEvent ae) {
            currentSiteTemplateViewId = templateB;
        }
    }
    

12.2.3 ページ・スタイルを削除する方法

ページ・スタイルがアプリケーション内で必要ではなくなった場合、それを削除できます。

ページ・スタイルを削除すると、「ページの作成」ダイアログに表示されなくなります。ページ・スタイルを削除しても、そのページ・スタイルを使用してすでに作成済のページには影響がありません。

ページ・スタイルを削除するには、アプリケーション・ナビゲータでページ・スタイルを右クリックして、ポップアップ・メニューから「削除」を選択します。詳細は、第9.4項「ポータル・リソースの削除」を参照してください。

12.3 タスク・フロー・スタイルの開発

タスク・フロー・スタイルは、新規タスク・フローを実行時に作成するためのテンプレートとして使用できるADFタスク・フローです。

タスク・フロー・スタイルの作成を選択する目的として、次の場合があります。

  • タスク・フローに特定の整合性のあるレイアウトを提供します。

  • UIピッカーをシードします。このUIピッカーは、タスク・フロー・スタイル(ポータル・ピッカー・ドロップダウンを使用するタスク・フロー・スタイルなど)から作成されるタスク・フローで使用できます。このスタイルに基づくタスク・フローが「アクティビティ・ストリーム」タスク・フローに移入される場合、ピッカー・ドロップダウンを、「アクティビティ・ストリーム」タスク・フローの入力パラメータに関連付けることができます。「アクティビティ・ストリーム」タスク・フローは、選択したポータルに固有のアクティビティを表示します。

  • データに個別にバインドできる事前定義済UIを提供します。たとえば、タスク・フロー・スタイルでフロー・データ・レイアウトを作成し、そこからタスク・フローを作成し、データ・コントロールをドロップしてから、フロー・データ・レイアウトをデータ・コントロールにバインドできます。

ユーザーが実行時に新規タスク・フローを作成する際には、図12-3に示す新規タスク・フローの作成ダイアログに、使用可能なタスク・フロー・スタイルが表示されます。

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


注意:

WebCenter Portalで使用するタスク・フロー・スタイルをJDeveloperで開発できます。詳細は、第9.7項「WebCenter Portalリソースの使用」を参照してください。

12.3.1 タスク・フロー・スタイルを作成する方法

タスク・フロー・スタイルの作成は、タスク・フローの作成と同じですが、タスク・フロー・スタイルは、実行時にタスク・フローを作成するためのテンプレートとして使用することのみを目的として作成します。

タスク・フロー・スタイルの作成方法としては、既存のタスク・フロー・スタイルのいずれかをダウンロードして、JDeveloperにインポートすることをお薦めします。その後、このタスク・フロー・スタイルを新規タスク・フロー・スタイルの開始点として使用でき、作成後はタスク・フロー・スタイルをエクスポートしてアプリケーションに再びアップロードできます。

また、この方法でタスク・フロー・スタイルを作成すれば、新規タスク・フローの作成ダイアログでこのスタイルを使用できるようになります。

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

  1. デプロイ済アプリケーションで、既存のタスク・フロー・スタイルのいずれかをダウンロードします。詳細は、『Oracle WebCenter Portalでのポータルの構築』のアセットのダウンロードに関する項を参照してください。

  2. ダウンロードしたタスク・フロー・スタイルをJDeveloperにインポートします。詳細は、第9.6.2項「ポータル・リソースをJDeveloperにインポートする方法」を参照してください。

  3. アプリケーション・ナビゲータで、インポートしたタスク・フロー・スタイルを右クリックして、「開く」を選択します。

  4. タスク・フロー・スタイルのコードに変更を加えます。

  5. 変更内容を保存します。

  6. タスク・フロー・スタイルをエクスポートします。詳細は、第9.6.3項「ポータル・リソースをJDeveloperからエクスポートする方法」を参照してください。

  7. エクスポートしたタスク・フロー・スタイルをデプロイ済アプリケーションにアップロードします。詳細は、『Oracle WebCenter Portalでのポータルの構築』のアセットのアップロードに関する項を参照してください。

12.3.2 タスク・フロー・スタイルの開発に関する必知事項

実行時にタスク・フローを作成する際に使用するタスク・フロー・スタイルを公開するには、次の要件を考慮する必要があります。

  • タスク・フロー・スタイルとして使用される、タスク・フローのビュー・フラグメントを1つだけ作成します。ビュー・フラグメントのJSFFファイルは、タスク・フロー定義のXMLファイルと同じ場所に作成する必要があります。

  • コンポーザ・タグ・ライブラリからビュー・フラグメントにPanel Customizableコンポーネントを追加します。これによって、実行時にこのタスク・フロー・スタイルに基づくタスク・フローに値を移入できるようになります。

  • JSFFファイルを右クリックして「ページ定義に移動」を選択し、ビュー・フラグメントのページ定義を作成します。ビュー・フラグメントのページ定義も、タスク・フロー定義XMLファイルと同じディレクトリに置く必要があります。

  • タスク・フロー・スタイルが、EL値などを使用してコードを参照する場合、そのコードはデプロイ済アプリケーションに含まれる必要があります。

12.3.3 タスク・フロー・スタイルを削除する方法

タスク・フロー・スタイルがアプリケーション内で必要ではなくなった場合、それを削除できます。

タスク・フロー・スタイルを削除すると、実行時に新規タスク・フローの作成ダイアログに表示されなくなります。タスク・フロー・スタイルを削除しても、そのタスク・フロー・スタイルを使用してすでに作成済のタスク・フローには影響がありません。

タスク・フロー・スタイルを削除するには、アプリケーション・ナビゲータでタスク・フロー・スタイルを右クリックして、ポップアップ・メニューから「削除」を選択します。詳細は、第9.4項「ポータル・リソースの削除」を参照してください。