【IT168 专稿】
在当今互联网的世界里,Web 2.0技术已经发展得如火如荼,随之产生的博客、社会书签、社区等已经逐渐改变人们社会交往的沟通方式。大家慢慢习惯了在博客中发表自己的见解,通过评论和其他人交流;使用社会书签来标记感兴趣的内容,并与其他人分享;在论坛中与专家进行讨论。对于企业而言,如何发挥员工的积极性,在企业内部提供同样基于Web 2.0技术的沟通平台,激发员工的创造性,从而促进企业的业务发展,已经成为企业CEO越来越重视的问题。
IBM Lotus Connections是由IBM公司推出的业界第一款企业级的社会网络解决方案,采用了大量Web 2.0技术,帮助企业用户能够轻松与组织内部的专家、同事进行沟通,分享彼此的观点,发起协作和创新。在Lotus Connections 2.0版本中,包含个人档案(Profiles)、活动(Activities)、博客(Blog)、社区(Communities)、社会书签(Dogear)和主页(Homepage)六大功能组件:
个人档案:专家定位系统,帮助用户轻松快速的找到企业内部的专家,通过提供的联系信息、工作背景介绍、上下级汇报链、关系网络等功能快速建立对专家和同事的了解;
活动:帮助用户轻松地组织日常工作,能够将工作涉及的文档、待办工作、邮件、聊天记录、书签等内容聚合到一起,可以非常方便地与其他人展开共享和工作交流;
社区:企业中具有相同兴趣爱好或者技术特长的同事展开讨论的非常好的平台,提供论坛、社区共享标记和订阅源来实现知识共享;
博客:员工的个人博客,允许用户发表个人观点和见解,并从其他人那里接收评论和反馈。同时提供博客内容评级的功能来帮助用户快速定位到精品博客;
社会书签:帮助用户轻松地组织、保存和共享书签,通过“标签云”的方式为用户提供最直观的热点内容;
主页:在Connections 2.0版本中新增加的组件,用于定制其他五个功能组件的组织方式,同时支持将外部的widget添加到其中。
随着Lotus Connections产品在企业中的不断应用,对产品的定制和开发的需求也在不断增加。本文主要针对产品的定制进行介绍,希望能够为大家在基于产品进行定制和开发的工作中起到抛砖引玉的作用。
Lotus Connections六个组件均采用了基于MVC(MVC是Model-View-Controller的简写,模型-视图-控制器)设计模式的struts开发框架实现,因此熟悉Struts框架的朋友能够非常快速地了解定制的方法。Connections的六个组件作为相互独立的轻量级应用,可以独立部署或者部署到同一WebSphere应用服务器上。在每一个组件中,主要分为导航模块和业务功能模块。以下从这两个部分分别进行介绍:
一、定制页面导航模块
对于页面顶部的导航栏,为所有已安装的功能组件实现相互感知的功能,提供快速访问其他组件的链接,为用户提供统一的访问方式。对于导航栏中各个组件访问的地址,可以通过定制配置文件LotusConnections-config.xml完成,在配置文件中定义了各个组件的访问地址和端口号,可以启用或者屏蔽已安装的组件。该文件位于<WAS_HOME>/profiles/<profile_name>/config/cells/<cell_name>/LotusConnections-config/目录下。对于该导航方式的定制,建议使用命令行wsadmin脚本的方式完成。具体的配置方法可以在这里找到。
如果您希望向导航栏中加入其他内容,比如添加访问其他系统的链接或者修改企业徽标,是无法通过配置LotusConnections-config.xml完成的,而是需要修改导航模块(sn-coreui.war)中的header.html,该文件位于文件系统<WAS_home>/profiles/<profile_name>/installedApps/<cell_name>/<feature_name.ear>/sn-coreui.war/templates目录下。在header.html中使用了宏来定义徽标图片路径和链接地址等信息,因此修改该文件之后需要进入WebSphere应用服务器的集成解决方案控制台,对导航模块所在的组件重新启动以后修改才会生效。请参考以下对header.html的修改示例:
……
<ul class="lotusInlinelist lotusLinks">
{{application links: li }}
<li><a href="http://yourco.com">企业门户</a></li>
</ul>
……

图1 导航栏修改效果示例
对于页面底部的页脚内容,默认包含了产品相关的工具和帮助信息。通过修改footer.html文件来定制其中的内容,例如向页脚中加入段或者企业的徽标等信息。footer.html与header.html位于相同的目录下,其定制方式也与header.html的定制方式完全相同,请参考以下示例:
<table cellspacing="0">
<tbody>
<tr>
……
<th>{{ label.footer.about.heading }}</th>
<th class="lotusLast">页脚内容定制</th>
</tr>
<tr>
……
<td ><ul id="lotusFooterULAbout">
{{ footerlink.about.about }}
{{ footerlink.about.connectionsonline }}
{{ footerlink.about.submitfeedback }}
</ul></td>
<td class="lotusLast"><ul id="lotusFooterULAbout">
<li><a href="http://www.lotus.com">测试1</a></li>
<li><a href="http://www.lotus.com">测试2</a></li>
</ul></td>
</tr>
</tbody>
</table>

图2 页脚修改效果示例
通常,我们需要在各个组件中实现一致的页面导航效果,这样的话就需要使各个组件的导航模块中对页面导航栏(header.html)和页脚(footer.html)的定制保持一致。以上介绍的内容就是对Connections 2.0通用导航模块的定制。