Oracle® Fusion Middleware Oracle JDeveloperによるWebCenter Portalアセットとカスタム・コンポーネントの開発 12c (12.2.1) E72546-01 |
|
前 |
次 |
この章では、Oracle JDeveloperを使用して、WebCenter Portalで使用するためのページ・スタイルを作成、編集および公開する方法について説明します。
この章の内容は次のとおりです。
ページ・スタイルは、実行時に作成するページに使用するJSPXページです。ページ・スタイルは、新規作成されたページのレイアウトを記述し、ページでサポートされるコンテンツ・タイプを指示する場合もあります。
ユーザーがページ・スタイルを使用してページを作成する場合、レイアウトと初期コンテンツが、ページ・スタイルから新規作成されたページにコピーされます。ページ・テンプレートとは異なり、ページ・スタイルは参照ベースではありません。つまり、ページ・スタイルを変更しても、そのスタイルを使用しているページでは変更内容が継承されません。
通常、ページ・スタイルには、指定したページの有用性と外観を強化するコンポーネントが含まれます。これらのコンポーネントには、インプレースHTMLテキスト・エディタ、イメージ、レイアウト・ボックス、ハイパーリンクなどが含まれます。コンテンツ・コントリビュータを使用すると、ページにコンテンツをさらに移入できます。図6-1 は、ページ・スタイルに基づいたポータル・ページのサンプルを示しています。
実行時にページを作成するために使用するページ・スタイルは、JDeveloperまたはWebCenter Portalの「共有アセット」ページ(または個々のポータルの「アセット」ページ)から作成できます。実行時に、ユーザーは使用可能なページ・スタイルに基づいてページを作成します。「ページの追加」を選択すると、図6-2に示すように、「スタイルの選択」ダイアログに事前に定義された一連のスタイルが表示されます。ユーザーはスタイルを選択し、そのスタイルに基づいてページを作成します。レイアウトが新規ページにすでに配置されているため、ユーザーはページの様々な領域にコンテンツを追加するだけです。
WebCenter Portalアセットとして公開するページ・スタイルを開発する際には、次の前提条件およびガイドラインが役立ちます。
ページ・スタイルがページ・テンプレートに基づいている場合は、ページ・スタイルのJSF (.jspx
)ファイルの設計時に、content
ファセットまたはページ・テンプレートで定義されているその他のファセットを追加して、ページ・コンテンツが含まれるようにします。
ページをカスタマイズ可能にするには、コンテンツ・ファセット内にPage Customizable
コンポーネントを追加します。Page Customizable
には、子であるpanelCustomizable
コンポーネントがデフォルトで含まれているため、ユーザーは実行時にコンテンツをページに追加できます。
ページ・スタイルに使用するページ・テンプレートを動的に選択できるようにするには、ページ・スタイルのJSF (.jspx
)ファイルで、そのページ・テンプレートの定義がページ・スタイルのページ定義の中に含まれていることを、次のように指定します。
<af:pageTemplate value="#{bindings.pageTemplateBinding.templateModel}" id="T">
その後、次のようにページ・スタイルのページ定義の中でEL値を指定して、ページ・テンプレートの名前をデフォルト・ページ・テンプレート設定から取得できます。
<page viewId="#{preferenceBean.defaultPageTemplateViewId}" id="pageTemplateBinding" Refresh="ifNeeded"/>
実行時に、適切な権限を持ったユーザーが、実行時管理コンソールで新しいデフォルト・ページ・テンプレートを選択することにより、別のページ・テンプレートに切り替えることができます。詳細は、『Oracle WebCenter Portalの管理』のデフォルト・ページ・テンプレートの選択に関する項を参照してください。
次の例に示すように、使用するページ・テンプレートを制御するマネージドBeanを作成できます。
例: ページ・テンプレートを制御するためのマネージド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; } }
この項では、新しいページ・スタイル用にWebCenter Portalアセット・アプリケーションを作成する方法について説明します。アセット・アプリケーションが関連するアーティファクトとともに作成されると、続いて「ページ・スタイルの編集」の説明に従ってページ・スタイルのJSPXファイルを変更できます。
この項には次のトピックが含まれます:
この項では、新しいページ・スタイル用にWebCenter Portalアセット・アプリケーションを作成する方法について説明します。アセット・アプリケーションが関連するアーティファクトとともに作成されると、続いて「ページ・スタイルの編集」の説明に従ってページ・スタイルのJSPXファイルを変更できます。
カスタム・ページ・スタイルを作成するには:
ページ・スタイル・アセット・アプリケーションを作成すると、次のアーティファクトとともにデフォルト・ページ・スタイルが生成されます。
ページ・スタイルのページ要素が含まれるJSPファイル(PageStyle1.jspx
など)
ページ・スタイルの対応するページ定義ファイル(PageStyle1PageDef.xml
など)
どちらのファイルも図6-4に示すようにナビゲーション・バーに表示されます。
次の各例は、フローして3列を示すように設計された基本ページを作成する、組込みページ・スタイル「3列」のJSPXファイルおよび関連するページ定義ファイルのページ・スタイル・コードを示しています。
「3列」ページ・スタイルのJSPXファイル
<?xml version='1.0' encoding='UTF-8'?> <jsp:root version="2.1" xmlns:af="http://xmlns.oracle.com/adf/faces/rich" xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable" xmlns:f="http://java.sun.com/jsf/core" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:trh="http://myfaces.apache.org/trinidad/html"> <jsp:directive.page deferredSyntaxAllowedAsLiteral="true"/> <jsp:directive.page contentType="text/html;charset=utf-8"/> <f:view> <af:document id="docrt" title="#{pageDocBean.title}"> <f:facet name="metaContainer"> <trh:meta content="#{bindings.SEO_KEYWORDS}" name="keywords"/> </f:facet> <af:form id="f1" usesUpload="true"> <af:pageTemplate id="T" value="#{bindings.shellTemplateBinding.templateModel}"> <f:facet name="content"> <af:panelGroupLayout id="pgl1" inlineStyle="replace_with_inline_style" layout="scroll" styleClass="replace_with_scheme_name"> <af:declarativeComponent id="dclay" viewId="#{pageDocBean.layoutViewId}"> <f:facet name="area1"> <cust:panelCustomizable id="pcarea1" layout="auto"/> </f:facet> <f:facet name="area2"> <cust:panelCustomizable id="pcarea2" layout="auto"/> </f:facet> <f:facet name="area3"> <cust:panelCustomizable id="pcarea3" layout="auto"/> </f:facet> </af:declarativeComponent> </af:panelGroupLayout> </f:facet> </af:pageTemplate> </af:form> </af:document> </f:view> </jsp:root>
例: 「3列」ページ・スタイルのページ定義ファイル
<?xml version='1.0' encoding='UTF-8'?> <pageDefinition Package="oracle.webcenter.siteresources.scopedMD.s8bba98ff_4cbb_40b8_beee_296c916a23ed.pageStyle.gsr7ae8ef60_d5b9_4411_becb_11239bf4bb63" id="TemplateThreeColumnPageDef" version="11.1.1.41.30" xmlns="http://xmlns.oracle.com/adfm/uimodel"> <parameters> <parameter id="page_layout" value="gsr22bbc98b_834b_425d_8d48_c136d0956ec8"/> <parameter id="page_title" value="Three Column"/> </parameters> <executables> <page Refresh="ifNeeded" id="shellTemplateBinding" viewId="#{WCAppContext.application.siteTemplatesManager.currentSiteTemplateViewId}"/> </executables> <bindings/> <permission permissionClass="oracle.webcenter.page.model.security.CustomPagePermission" target="ps_targetusage" xmlns="http://xmlns.oracle.com/adf/security"> <privilege-map operation="administer" privilege="manage"/> <privilege-map operation="create" privilege="create"/> <privilege-map operation="delete" privilege="delete"/> <privilege-map operation="edit" privilege="update"/> <privilege-map operation="personalize" privilege="personalize"/> <privilege-map operation="view" privilege="view"/> </permission> </pageDefinition>
ページ・スタイル用にWebCenter Portalアセット・アプリケーションを作成したら、続いて新規作成したページ・スタイル・ファイルにコンテンツを追加できます。
注意:
WebCenter Portalで既存または組込みのページ・スタイルをコピーし、JDeveloperでそのページ・スタイルのJSPXファイルに貼り付けることをお薦めします。次に、このページ・スタイルを新しいページ・スタイルの起点として使用し、変更が終了したらWebCenter Portalに公開します。WebCenter Portalでのアセットのコピー方法の詳細は、『Oracle WebCenter Portalでのポータルの構築』のアセットのコピーに関する項を参照してください。
ページ・スタイルを編集するには:
WebCenter Portalアセット・アプリケーションを作成し、ページ・スタイルのJSPXファイルを編集したら、次の工程はページ・スタイルを公開してWebCenter Portalでテストします。アセットを共有アセットとしてWebCenter Portalに公開する、またはポータル・アセットとして特定のポータルに公開する方法の詳細は、「WebCenter Portalアセットの公開」を参照してください。