本文介绍简单介绍如何扩展Composer(设计器)附加组件,从而对Composer进行功能扩展
Composer默认为在线编辑功能提供了以下几个组件:
Page Properties、Reset Page,如下图:
这里介绍如何创建并注册一个新的组件。
我们可以创建并注册定制的Task Flow,提供给该Composer工具条上的按钮调用,所有已经注册的附加组件在工具栏上都有一个相关联的按钮。
1.创建一个附加的Task Flow
(这里以一个已创建好的WebCenter Portal - Framework Application为例)
a.在JDev(JDeveloper)中,右键点击工程名(这里为“Portal”),选择New,如下图:
b.在向导对话框中,展开Web Tier,选择JSF,然后选择ADF Task Flow,点击OK
c.在如下对话框向导中,输入File Name(这里Task Flow ID一致)本例为custom-panel-task-flow,其他保持默认,点击OK,如下图所示:
d.在custom-panel-task-flow.xml中添加一个View组件,命名为,如下图:
e.将该View组件命名为custompanelview,如下图:
f.双击该custompanelview组件,创建jsff文件。
g.修改该jsff页面片段代码如下:
h.保存整个工程文件<?xml version='1.0' encoding='UTF-8'?> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"> <af:panelGroupLayout id="pnlgrp1" layout="vertical" halign="center"> <af:spacer id="sp1" height="20"/> <af:image id="customimage" source="/images/ICON16.png" shortDesc="Demo Logo"/> <af:spacer id="sp2" height="20"/> <af:outputText id="output1" value="这是一个Add-Ons测试面板!"/> <af:spacer id="sp3" height="20"/> <af:outputText id="output2" value="Build : 11.1.1" inlineStyle="font-weight:bold;"/> </af:panelGroupLayout> </jsp:root>
2.为Composer注册附加组件
a.如果现在还没有创建 pe_ext.xml 文件,则先在META-INF目录创建该配置文件,(例如:APPLICATION_HOME\Portal\src\META-INF目录下);在Jdev目录点击Flie,选择New,在向导对话框中选择General,选择XML,然后选择XML Document,最后点击OK按钮。文件名为pe_ext.xml
3.在adf-config.xml中注册附加组件b.编辑文件,添加如下内容:
c.保存该文件<?xml version="1.0" encoding="UTF-8" ?> <pe-extension xmlns="http://xmlns.oracle.com/adf/pageeditor/extension"> <addon-config> <panels> <panel name="oracle.custom.panel" title="About" icon="/images/about_ena.png" taskflow-id="/WEB-INF/custom-panel-task-flow.xml#custom-panel-task-flow"/> </panels> </addon-config> </pe-extension>
4.运行工程,进行测试,结果如下a.打开adf-config.xml,该文件位于Application Resources面板中的Descriptors/ADF META-INF文件夹下,如下图:
b.在adf-config标签下添加如下命名空间,xmlns:pe="http://xmlns.oracle.com/adf/pageeditor/config",如果已经存在则忽略此步;
c.找到<pe:page-editor-config>标签,在该标签内末尾位置添加如下代码:
<pe:addon-panels show-default-addons="true"> <pe:addon-panel name="oracle.custom.panel" /> </pe:addon-panels>
上面代码中show-default-addons="true"设置为true,则显示默认附加组件,如下图(页属性-Page Properties),(重设页-Reset Page)组件。
如果需要隐藏具体某一个组件,则设置show-default-addons="true",在内部添加该组件信息,设置其rendered属性为false,如下代码:
<pe:addon-panels show-default-addons="true"> <!-- Hide the Reset Page add-on --> <pe:addon-panel name="oracle.adf.pageeditor.addonpanels.page-reset" rendered="false"/> . . . </pe:addon-panels>
a.Composer工具条中多出About按钮
b.点击“about”,弹出如下对话框
其中Task Flow需要进行授权;
关于adf-config.xml文件的描述,参考:http://docs.oracle.com/cd/E23943_01/webcenter.1111/e10148/jpsdg_app_rc.htm#BABJCJDD
关于pe_ext.xml文件的描述,参考:http://docs.oracle.com/cd/E23943_01/webcenter.1111/e10148/jpsdg_app_rc.htm#BABFAAAD