设为首页 收藏本站
查看: 1601|回复: 0

[经验分享] IBM Portal 7主题开发入门-PageBuilder2

[复制链接]

尚未签到

发表于 2017-5-25 11:19:31 | 显示全部楼层 |阅读模式
  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
 
欢迎转载,请注明出处,谢谢!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-380915-1-1.html 上篇帖子: 一次失败的面试——IBM电话面试 下篇帖子: IBM WebSphere Portal 简介(转帖ZT)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表