`

IBM Portal 7主题开发入门-PageBuilder2

 
阅读更多

1.1 简介

IBM WebShere Portal 7相对于之前版本最大的变化就增加了新的皮肤开发模式-PageBuilder2,官方翻译叫"页面构建器"。它同时支持旧的主题开发模式。新模式主要的改变就是将样式与页面布局分开了,同样页面布局可以应用不同的样式,就像WinXP的桌面主题,因此也带来了复杂性。

 

1.2 类型 

PageBuilder2主题开发模式分为两种:

第一种: 样式+war包式。

第二种: 独立war包式。

其中第一种的war包是非必须的,如果不想改变缺省的面布局及内容,你只需修改样式并共享产品自带的war包即可。

 

1.3 步骤

下面分别详细介绍一下。

我的wp7是装在windows2003上的。

 

1.3.1 样式+共享war包式

开始之前需要准备一款WebDAV客户端工具(WebDAV我就不赘述了,搜狗(^0^)一下),我选择的是一个免费的由Java开发的工具“AnyClient”(见附件)。AnyClient需要jre,最低1.5,最高1.6(1.4可打开,但运行异常)。

 

1)使用AnyClient连接Portal的WevDAV目录。

连接地址为 http://localhost:10039/wps/mycontenthandler/dav/themelist/

 注意

wps为上下文根,缺省名字为wps,如果你已经改变了文根,请将wps替换为你自定义的文根。

 提示:

用户名与密码就是Portal was控制台的管理员和密码。如果你在Win7下使用Anyclient,请将窗口主题切换为“windows经典”,否则AnyClient窗口将会是一个大白板。

连接WebDAV时可能会很慢,要耐心等...!

   

2)拷贝themelist/目录下的csa2.theme目录到本地。

 

3)修改下载的csa2.theme文件夹为你喜欢的名字,如:my_theme。

 

4)修改\metadata\localized_zh.properties文件内的title属性。

写个你喜欢的名字吧,最好是英文的(不能直接写中文,需要编码,非必须就别给自己找麻烦了^_^) 。

 

5) 将你修改好的主题文件夹利用AnyClient传输到themelist/文件下。

 

6)传输完成后,你就已经有一个新的主题可选了。

提示:

很显然,你在主体管理工具那是看不到新的主题的,这时你需要任意选择一个主题,点击编辑,然后再点一下保存,这样会强制wp刷新主题列表缓存,你新建的主题就出来了。

总结:

这种方式创建的新主题与wp7自带的主体样式是一样的(复制的嘛),并且共享Jsp页面文件。也就是你只能修改样式。说实话,我感觉真挺不好改的,主题里全是css与js,不知从何改起,我是没再深研究。

 

1.3.2 样式+独享war包式

如果想修改页面的布局与内容,你需要使用自己的主题war包。方法还是一样:复制并改名在传回去。

1)复制PageBuilder2 war包并改个名字。

路径为:wp7安装目录+\IBM\WebSphere\PortalServer\theme\wp.mashup.cc.theme\ installedApps\wp.mashup.cc.theme.ear\PageBuilder2.war

 

2)删除 ./skins 目录下的所有文件。

 

3)修改./themes/html/目录下的PageBuilder2文件夹的名字,如:my_pb2,以下都用my_pb2代表你喜欢的名字。

 

4)在WEB-INF文件夹里删除plugin.xml文件,别的文件不用删。

 

5)修改web.xml里的display-name属性为my_pb2。

 

6)修改ibm-web-bnd.xmi 与 ibm-web-ext.xmi 文件。

ibm-web-bnd.xmi修改位置为:<webapp href="WEB-INF/web.xml#my_pb2"/>

ibm-web-ext.xmi修改位置为:<webApp href="WEB-INF/web.xml#my_pb2"/>

 

7)将修改完的文件打成war包,部署到wp7的was控制台。

注意:

发布时,进行到映射服务器那步时,一定要选择WebSphere_Porta,系统自动选择的那个是错误的。

记住你在部署时输入上下文根路径如:my_pb2。

 

8)测试新部署的主题war包。

访问: http://localhost:10039/wps/my_pb2/dav/themelist/customTheme/

如果页面报500错误,证明你已经部署成功了。因为它缺少Portal环境,所以报错。

 

9)利用xmlaccess 导出主题部署信息。

xmlaccess在中文版中叫“导入xml”,菜单位置在portal后台管理左树-〉门户网站设置-〉导入xml。

将以下xml内容保存为一个文件,使用xmlaccess导入portal。

<?xml version="1.0" encoding="UTF-8"?> <request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PortalConfig_7.0.0.xsd" type="export" create-oids="true"> <portal action="locate"> <theme action="export" objectid="*" /> </portal> </request>

 

 


 

10)导入成功后,你会得到返回的xml字符串,保存为本地文件并修改其中的内容。

修改其中的 context root, resource root, uniquename与为“my_pb2”如:

<theme action="update" active="false" context-root="/my_pb2" default="false" domain="rel" objectid="ZJ_618LOIP300NI60IE2H5GHD3001" resourceroot="my_pb2" uniquename="my_pb2">

 

 


 

11)将修改完的文件利用xmlaccess导入回去。

 

12)修改样式包里的 theme.html 文件。

利用用AnyClient下载到本地修改在传回覆盖原文件。

样式包就是在1.3.1中我们自己创建的那个样式文件夹(my_theme)。

还是要修改上下文根为“my_pb2”如:

替换以下内容:

<link rel="dynamic-content" href="dyn-cs:id:head@tl:oid:csa2.theme">


 为:

<link rel="dynamic-content" href=" res:/my_pb2/themes/html/my_pb2/head.jsp">


 同样的,在theme.html中查找包含“rel="dynamic-content" ”的标签,根据 href属性中位于“id:”与"@"符号之间的内容,替换href属性内容:

<a rel="dynamic-content" href="dyn-cs:id:bannerNav@tl:oid:csa2.theme">

 

 


 

 根据红色字体,替换href属性:

<a rel="dynamic-content" href="res:/my_pb2/themes/html/my_pb2/bannerNav.jsp">

 

 


需要替换的所有jsp页面列表如下:

res:/customTheme/themes/html/customTheme/bannerNav.jsp

res:/customTheme/themes/html/customTheme/search.jsp
res:/customTheme/themes/html/customTheme/bannerCommonActions.jsp
res:/customTheme/themes/html/customTheme/status.jsp
res:/customTheme/themes/html/customTheme/tabNav.jsp
res:/customTheme/themes/html/customTheme/pageToolbar.jsp
res:/customTheme/themes/html/customTheme/asa.jsp
res:/customTheme/themes/html/customTheme/config.jsp
 
注意:

在/nls文件夹下还有一个theme_zh.html文件,也需要按照以上步骤修改。

 

总结:

完工了,现在就可以在主题管理里面使用新的皮肤了,显然它和缺省皮肤一样。如果只需要改样式,则修改样式文件,然后用WebDAV工具上传更新;如果要改变页面格局及内容,则需要修改样式war包中的jsp。

 

1.3.3 独立war包式

抱歉没有亲自实践,不敢乱写,请参考下面列出的文档吧,

《Consolidated Steps for Creating Custom Themes in WP7 》里面有简单的介绍。

 

2 参考文档

Creating a new PageBuilder2 custom theme: wp7

How to deploy a theme as a custom war into WebSphere Application server console

Consolidated Steps for Creating Custom Themes in WP7


后记:

这篇文章大都是翻译而来,其中添加了我遇到的一些问题及解决方法。次篇只是抛砖引玉,入门而已。再多讨论请查阅IBM的信息中心:

http://www-10.lotus.com/ldd/portalwiki.nsf/xpViewCategories.xsp?lookupName=WebSphere%20Portal%20and%20Lotus%20Web%20Content%20Management%20Version%207.0%20documentation

 

欢迎转载,请注明出处,谢谢!

3
0
分享到:
评论

相关推荐

    WebSphere Portal7入门教程:portal7页面构建器

    ### WebSphere Portal 7 入门教程:PageBuilder 页面构建器 #### 一、WebSphere Portal 7 PageBuilder 概览 **WebSphere Portal 7** 的发布标志着门户技术的重大进步,尤其体现在其强大的页面构建工具 **...

    安川MP7系列工控系统源码解析:关键算法与硬件交互揭秘

    内容概要:本文深入剖析了安川MP7系列工业控制系统的关键源码,重点介绍了运动轨迹规划、通信协议处理以及故障处理机制等方面的技术细节。通过对实际代码片段的解读,揭示了该系统在硬件寄存器直接访问、特殊功能码处理等方面的独特之处。同时,文中还分享了一些基于实践经验得出的重要参数设置及其背后的故事,如特定摩擦补偿系数的选择原因等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对安川产品有一定了解并希望深入了解其内部工作机制的专业人士。 使用场景及目标:帮助读者掌握安川MP7系列控制器的工作原理,提高对类似系统的维护能力和故障排查效率。对于想要进一步研究或二次开发该系统的开发者来说,也能提供宝贵的参考资料。 其他说明:文章不仅限于理论讲解,还包括了许多来自一线的实际案例和经验教训,使读者能够更好地理解和应用所学知识。

    自动化测试与脚本开发_Python3_pynput_键盘鼠标操作录制执行代码生成工具_用于自动化测试_脚本录制_重复操作模拟_宏命令生成_提高工作效率_支持GUI界面_跨平台兼容_.zip

    自动化测试与脚本开发_Python3_pynput_键盘鼠标操作录制执行代码生成工具_用于自动化测试_脚本录制_重复操作模拟_宏命令生成_提高工作效率_支持GUI界面_跨平台兼容_

    嵌入式八股文面试题库资料知识宝典-深入分析Windows和Linux动态库应用异同.zip

    嵌入式八股文面试题库资料知识宝典-深入分析Windows和Linux动态库应用异同.zip

    嵌入式八股文面试题库资料知识宝典-C语言总结.zip

    嵌入式八股文面试题库资料知识宝典-C语言总结.zip

    风储直流微电网母线电压控制策略与双闭环MPPT技术研究

    内容概要:本文详细探讨了风储直流微电网中母线电压控制的关键技术。首先介绍了风储直流微电网的背景和发展现状,强调了母线电压控制的重要性。接着阐述了永磁风机储能并网技术,解释了永磁风机如何通过直接驱动发电机将风能转化为电能,并确保与电网的同步性和稳定性。然后深入讨论了双闭环控制MPPT技术,这是一种通过内外两个闭环控制系统来实现实时调整发电机运行参数的技术,确保风机始终处于最大功率点附近。最后,文章探讨了储能控制母线电压平衡的方法,即通过储能系统的充放电操作来维持母线电压的稳定。结论部分指出,通过这些技术的有机结合,可以实现对风储直流微电网的有效管理和优化控制。 适合人群:从事新能源技术研发的专业人士、电气工程研究人员、风电系统工程师。 使用场景及目标:适用于希望深入了解风储直流微电网母线电压控制策略的研究人员和技术人员,旨在帮助他们掌握最新的控制技术和方法,以提高系统的稳定性和效率。 其他说明:文章还对未来风储直流微电网的发展进行了展望,指出了智能化和自动化的趋势,以及储能技术的进步对系统性能的影响。

    嵌入式八股文面试题库资料知识宝典-C++object-oriented.zip

    嵌入式八股文面试题库资料知识宝典-C++object-oriented.zip

    【操作系统开发】HarmonyOS目录结构详解:构建高效开发环境与跨设备协同应用

    内容概要:文章详细介绍了HarmonyOS的目录结构及其重要性,从整体框架到核心目录的具体功能进行了全面剖析。HarmonyOS凭借其分布式架构和跨设备协同能力迅速崛起,成为全球操作系统领域的重要力量。文章首先概述了HarmonyOS的背景和发展现状,强调了目录结构对开发的重要性。接着,具体介绍了根目录文件、AppScope、entry和oh_modules等核心目录的功能和作用。例如,AppScope作为全局资源配置中心,存放应用级的配置文件和公共资源;entry目录是应用的核心入口,负责源代码和界面开发。此外,文章还对比了HarmonyOS与Android、iOS目录结构的异同,突出了HarmonyOS的独特优势。最后,通过旅游应用和电商应用的实际案例,展示了HarmonyOS目录结构在资源管理和代码组织方面的应用效果。; 适合人群:具备一定编程基础,尤其是对移动操作系统开发感兴趣的开发者,包括初学者和有一定经验的研发人员。; 使用场景及目标:①帮助开发者快速理解HarmonyOS的目录结构,提高开发效率;②为跨设备应用开发提供理论和技术支持;③通过实际案例学习资源管理和代码组织的最佳实践。; 其他说明:HarmonyOS的目录结构设计简洁明了,模块职责划分明确,有助于开发者更好地管理和组织代码和资源。随着万物互联时代的到来,HarmonyOS有望在开发便利性和生态建设方面取得更大进展,吸引更多开发者加入其生态系统。

    飞轮储能充放电控制Simulink仿真模型:基于永磁同步电机的矢量控制与dq轴解耦

    内容概要:本文详细介绍了飞轮储能充放电控制的Simulink仿真模型,重点在于采用永磁同步电机的矢量控制和dq轴解耦控制策略。充电时,外环控制转速,内环控制dq轴电流;放电时,外环控制直流母线电压,内环同样控制dq轴电流。文中还讨论了硬件与软件环境的选择,以及仿真模型的调试与运行情况,最终得出该模型具有良好的跟随性能和波形完美度。 适用人群:从事电力电子系统、储能技术和Simulink仿真的研究人员和技术人员。 使用场景及目标:适用于需要对飞轮储能系统进行深入研究和仿真的场合,旨在提高充放电效率和稳定性,满足不同应用场景的需求。 其他说明:该仿真模型已调试完成,可以直接用于进一步的研究和实际应用,为未来的飞轮储能技术研发提供了有价值的参考。

    嵌入式八股文面试题库资料知识宝典-北京瑞德方科技.zip

    嵌入式八股文面试题库资料知识宝典-北京瑞德方科技.zip

    嵌入式八股文面试题库资料知识宝典-同方万维硬件测试工程师.zip

    嵌入式八股文面试题库资料知识宝典-同方万维硬件测试工程师.zip

    1_15套python PDF格式.zip

    1_15套python PDF格式.zip

    三相三电平整流器仿真:基于电压电流双闭环控制与SPWM调制的性能分析

    内容概要:本文详细介绍了三相三电平整流器的仿真过程及其性能分析。文中首先概述了三相三电平整流器的基本概念及其在电力系统中的重要作用,接着重点探讨了电压电流双闭环控制方式的工作原理和优势,以及SPWM调制技术的具体应用。通过仿真文件展示了整流器在不同条件下的响应情况,验证了这两种技术的有效性和优越性。最后,作者表达了对未来实际应用的期望。 适合人群:从事电力电子研究的技术人员、高校相关专业师生、对电力控制系统感兴趣的工程爱好者。 使用场景及目标:适用于希望深入了解三相三电平整流器工作原理和技术细节的研究人员;目标是在理论基础上掌握电压电流双闭环控制和SPWM调制的实际应用方法。 其他说明:本文提供的仅为仿真文件,未涉及实物实验数据。

    嵌入式八股文面试题库资料知识宝典-恒光科技.zip

    嵌入式八股文面试题库资料知识宝典-恒光科技.zip

    嵌入式八股文面试题库资料知识宝典-北京天华威视科技有限公司面试题.zip

    嵌入式八股文面试题库资料知识宝典-北京天华威视科技有限公司面试题.zip

    嵌入式八股文面试题库资料知识宝典-微软研究院笔试题目的答案.zip

    嵌入式八股文面试题库资料知识宝典-微软研究院笔试题目的答案.zip

    Arduino UART实验例程【正点原子EPS32S3】

    Arduino UART实验例程,开发板:正点原子EPS32S3,本人主页有详细实验说明可供参考。

    嵌入式八股文面试题库资料知识宝典-朝歌数码.zip

    嵌入式八股文面试题库资料知识宝典-朝歌数码.zip

    嵌入式八股文面试题库资料知识宝典-Cortex系列.zip

    嵌入式八股文面试题库资料知识宝典-Cortex系列.zip

Global site tag (gtag.js) - Google Analytics