WebCenter门户在线编辑功能扩展:扩展Composer附加组件
2013-09-04 19:08
274 查看
1.简介
本文介绍简单介绍如何扩展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页面片段代码如下:
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
b.编辑文件,添加如下内容:
3.在adf-config.xml中注册附加组件
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>标签,在该标签内末尾位置添加如下代码:
上面代码中show-default-addons="true"设置为true,则显示默认附加组件,如下图(页属性-Page Properties),(重设页-Reset Page)组件。
如果需要隐藏具体某一个组件,则设置show-default-addons="true",在内部添加该组件信息,设置其rendered属性为false,如下代码:
4.运行工程,进行测试,结果如下
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
本文介绍简单介绍如何扩展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页面片段代码如下:
<?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>h.保存整个工程文件
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
b.编辑文件,添加如下内容:
<?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>c.保存该文件
3.在adf-config.xml中注册附加组件
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>
4.运行工程,进行测试,结果如下
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
相关文章推荐
- 怎么样在WEB上实现office在线编辑的功能
- Web上功能强大的DbGrid表格HTC组件[只需在Table中指定样式就可以完成多种功能可扩展]
- activiti工作流在线表单设计功能(activiti + ueditor + Ueditor Web Form Design扩展 )
- Ajax式的树形目录组件tree,支持无限层级+在线直观编辑功能——QFaces1.3(JSF)
- Web上功能强大的DbGrid表格HTC组件[只需在Table中指定样式就可以完成多种功能可扩展]
- Firefox - 附加组件 - 扩展 - Firebug - CSS样式表面板 - Edit编辑模式下切换文件不能保持Edit编辑模式
- 如何扩展 web 服务器?----阿里巴巴2015校招研发在线
- 当您尝试通过使用 FrontPage 2003 或当您尝试导出 Web 部件编辑门户收到是类型 Microsoft.SharePoint.SoapServer.SoapServerException " Soap:Server 异常 " 消息
- Firefox - 附加组件 - 扩展 - Firebug - Script脚本面板 - BreakOnErrors在全部错误处标记中断选项不受try/catch影响
- 在线签名组件GroupDocs.Signature V17.8发布 | 新增多项功能
- 在线签名组件GroupDocs.Signature V17.8发布 | 新增多项功能
- 隐私问题警告:此文档中包含宏、ActiveX控件、XML扩展包信息或Web组件......
- Firefox - 附加组件 - 扩展 - CookieSafe
- WebGIS实现要素在线编辑之Silverlight调用FeatureService实现编辑功能
- 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能
- Asp.net 使用weboffice实现Word在线编辑
- 轻量级web富文本框——wangEditor使用手册(2)——扩展一个“缩进”功能 demo
- Easyui datagrid在线编辑时没有提供带时分秒的datetimebox控件,需要自己扩展
- flume各组件功能及扩展总结
- 隐私问题警告:此文档中包含宏、ActiveX控件、XML扩展包信息或Web组件......