| 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アセットの公開」を参照してください。