IBM Connections 3.0.1 的定制概述

品牌化 IBM Connections

IBM Connections 是一款面向业务的社交软件。IBM Connections 包含一些社交应用程序,其中包括 Profiles、Communities、Blogs、Files、Wikis、Activities 和 Bookmarks。本文将了解如何品牌化和定制 IBM Connections 的用户体验,从而满足您的业务需求。

Brian Ochs, 解决方案架构师, Software Information Systems

Brian Ochs 是 IBM 顶级业务合作伙伴 Software Information Systems 的一名解决方案架构师。他专门从事 IBM Connections 和 IBM WebSphere Portal 的客户实现。他从最初的版本就开始一直在使用 Connections,并且是 IBM Connections 3.0.1 Customization Redbook 的合著者。



2013 年 1 月 18 日

IBM Connections 提供了一个以 Profiles、Blogs 和 Wikis 等协作工具为基础的社交软件平台,您可以定制这些应用程序来满足您的业务需求。通常情况下,您可以更改颜色来匹配企业的品牌,或者将信息添加到 Profiles 页面。在以前版本的 IBM Connections 中,这样的定制可能需要大量的开发工作。然而,IBM Connections 版本 3.0.1 大大简化了定制过程,让您能够更容易、更安全地进行更改。

本文从较高层次概述了基本的过程,并介绍了一些典型定制的示例。此外,还提供了一些有用的工具和最佳实践。关于实现定制的更详细的分步说明,请务必参阅 参考资料

概述

IBM Connections 3.0.1 支持修改其外观的多个方面,并且无需更改已安装的 Web 应用程序的源代码。通过在特殊的定制目录中覆盖已安装的文件,您可以定制用户界面 (UI)。定制目录中的更新文件会自动覆盖应用程序的源目录中的相应的已安装文件。此定制过程中使用了 IBM WebSphere® 扩展的文档根设施,允许 IBM Connections 应用程序访问应用程序 Web 归档文件目录以外的文件。从已安装文件中分离出定制的文件,这可以帮助您识别已经定制的内容,使您能够轻松地恢复到默认文件,而且这意味着应用于默认文件的更新或补丁包不会覆盖您的定制。


规划

一个成功的定制项目需要掌握不同技能的多个团队进行良好的协作。所有参与者都必须了解可以实现的更改类型,以及不能实现的更改类型。

必备技能

定制 IBM Connections 通常是一个简单的过程,只需将文件保存到定制目录,并对其进行修改。然而,如果您具备有适当的技能,就更容易知道需要修改哪个文件,并理解要修改什么内容。这些技能分解成以下三个角色:

  • 管理员:
    • 配置 IBM Connections,以匹配您的组织目标。
    • 维护产品安装,并发布定制。
    • 与开发人员配合,在部署补丁包时更新定制文件。
  • 设计人员:
    • 决定 IBM Connections 应如何在组织内品牌化。
    • 产生图像文件和品牌化指引。
  • Web 开发人员:
    • 利用 HTML 通过 JavaServer Pages™ (JSP)、级联样式表和 JavaScript 实现品牌化与定制。
    • 在使用补丁包或 iFixes 时更新定制文件。
    • 对 Profiles、Communities 或需要 Java™ 编码的其他应用程序实现更深层的定制或集成。

开始之前

定制过程需要更改一些可能缓存在服务器或客户端上的文件。所以,为了避免任何不必要的困扰,首先采取一些步骤从正确的方向开始。

定制 IBM Connections 时,有两个 WebSphere 变量发挥了重要作用。您可以从 IBM WebSphere Application Server Integrated Solutions Console 查看和更新这些变量。

启用定制调试

除非启用了定制调试功能,否则仅在 IBM Connections 应用程序重新启动时,才会加载新版本的定制文件。在启用调试功能之后,通常可以通过在浏览器中刷新页面来立即测试您的修改。由于调试功能是资源密集型的,所以只应在开发 IBM Connections 的定制时启用它。另外,不要在生产服务器上启用该功能。调试变量是 CONNECTIONS_CUSTOMIZATION_DEBUG

定制目录路径

在 WebSphere 环境变量 CONNECTIONS_CUSTOMIZATION_PATH 中声明的目录路径识别了 IBM Connections 使用的定制目录的基本位置。此变量是在 IBM Connections 安装过程中进行设置的。IBM Connections 会处理此路径下的文件,以便覆盖已安装的文件。如果您在安装过程中接受默认值,那么定制路径是 Connections_install_directory\data\shared\customization

您可以使用 WebSphere Application Server Integrated System Console 验证此定制路径。您必须将所有定制文件放在此目录下的适当子目录中。


定制过程

对于大多数 UI 定制,都需要复制一个文件,该文件包含一些默认信息,从源目录到定制目录中的相应子目录。您可以更改所复制的文件中的内容,然后保存文件。当渲染页面时,IBM Connections 会使用此定制目录中的该文件的信息。

撤消定制只是一个反向过程。如果您想删除定制,那么可以删除定制文件,并重新启动受影响的应用程序。公共子目录中的文件会影响所有 IBM Connections 应用程序。在应用程序特定的定制目录中的文件仅影响那些应用程序并覆盖公共定制目录。

例如,要更改除了 Activities 以外的所有应用程序的页脚,只需更改公共定制目录中的页脚,并在 Activities 定制目录中进行其他更改。如果只在 Activities 应用程序中更改页脚,那么只需在 Activities 定制目录中进行更改。图 1 说明了在所有应用程序或只在 Profiles 应用程序中修改页眉和页脚的这一处理顺序。

图 1. 定制的优先顺序
本图显示定制的优先顺序

您可以看到,Profiles 定制目录中的文件覆盖了公共定制目录中的更改。两个定制目录中的文件都覆盖了已安装文件。


典型定制

对于 IBM Connections 3.0.1,最常要求的定制可以用最少量的工作实现。您可以更改颜色,使之符合企业标准,也可以创建一个满足您需求的登录页面。本节将讨论如何实现一些比较常见的定制。

通常情况下,第一个定制工作包括用公司的徽标更新页眉和页脚,并应用企业的颜色,或增加额外的菜单链接(参见 图 2)。在所有应用程序中更新标题是一个简单的过程,将默认的 header.jsp 文件(它的一个版本驻留在每个应用程序的源代码目录)复制到定制目录。您可以添加标准的 JSP 或 HTML 代码,以定制此文件的布局或功能。例如,您可以添加链接到其他应用程序的超链接或新的下拉菜单。只需将定制的文件保存到定制目录路径中相应的子目录。

图 2. 页眉定制的样例
本图显示了页眉定制的样例

主题

除了为整个 IBM Connections 站点创建一个自定义的、品牌化的外观之外,您还可以创建被称为主题的文件集,在 Blogs 和 Communities 应用程序中使用它。作为 Blog 或 Community 的所有者,您可以从一组可用的主题中进行选择,向您某部分的站点提供最合适的设计。虽然在安装过程中会提供一些默认主题,但您可以创建更多的主题,并将它们提供给其他站点所有者使用。

要创建一个新的主题,最简单的方法是复制现有的主题并更新 JSP 和 CSS 文件,通过这些实现新的外观。 图 3 提供了一个示例。

图 3. 社区主题选择
本图显示了社区主题选择

产品字符串定制

IBM Connections 的基本安装支持多国语言,并根据站点访问者所使用的语言自动选择合适的语言。该语言支持可以通过使用资源包来实现,资源包是文件集,其中包含在页面上显示的文本的翻译。每种语言被存储在它们自己的特定文件中。您可以覆盖这些文件,更改几乎所有页面上显示的文本。

定制产品字符串的某些方面与其他 UI 定制类似,但也有明显的区别。例如,与其他 UI 定制一样,您要更改特定的文件,并将它们保存到某个定制目录。如您所预料的那样,对定制目录中存储的字符串所做的更改将会覆盖默认的字符串。

然而,与其他 UI 定制不同,对于存储在属性文件中的字符串,始终要将文件保存到 customization_path/strings 目录中。strings 目录下没有子目录。单独一个目录就足够用了,因为定制属性文件的文件名包含了它将覆盖的默认属性文件的完整目录路径。表示目录分隔符的斜线在自定义文件名中被替换为句点。例如,如果您想覆盖存储在 /com/ibm/lconn/core/stringslc.util.web-3.0.jar 中的 templates.properties 文件中的产品字符串,则需要保存文件名为 com.ibm.lconn.core.strings.templates.properties 的定制属性文件。定制属性文件名称中的句点分隔符表示默认文件中的目录分隔符。

此外,IBM Connections 使用 Web 浏览器区域设置自动确定在 UI 中要显示的语言。字符串被存储在语言特定的文件以及语言无关的文件中。默认区域设置(语言无关的文件)的字符串被存储在一个文件名中没有语言代码的文件中。对于特定于语言的文件,其文件名以语言代码作为后缀。例如,com.ibm.lconn.core.strings.templates.properties 文件是语言无关的文件,其中包含默认区域设置使用的字符串。如果不存在 Web 浏览器区域设置的特定属性文件,则会显示此默认属性文件中的字符串。例如,要在这个属性文件中包括字符串的巴西葡萄牙语翻译,就需要创建一个单独的文件,将它命名为 com.ibm.lconn.core.strings.templates_pt-BR.properties。在此文件中的字符串向在巴西葡萄牙语区域设置的用户显示。


高级定制

如前所述,大多数定制都可以通过将文件复制到定制目录来实现。但是,您也可以使用其他方法来定制 IBM Connections。配置文件扩展属性和部件就是使用其他方法的两个示例,但它们向 IBM Connections 平台提供了更多的定制选项。

配置文件扩展属性

除了更改现有的颜色或文本字符串的定制之外,您还可以将新的数据字段添加到 Profiles 应用程序。IBM Connections 提供了档案的一组基本属性,比如姓名、联系方式和背景。在许多情况下,可能需要使用其他数据。在这些情况下,使用被称为扩展属性的新数据字段。使用自带的 IBM Tivoli® Directory Integrator 软件可以从 IBM Connections 外部的数据库自动填充这些新字段,也可以由档案的所有者更新这些新字段。

档案的扩展属性有不同的实现方法,这已超出本文的范围。如欲了解更多的信息,请参阅 Customizing IBM Connections 3.0.1 Redbooks Wiki(参考资料 中提供了相关链接。)

小部件

IBM Connections 支持 iWidget 规范,可以创建放在 Home Page、Profiles 或 Community 页面上的小应用程序。小部件是轻量级的 JavaScript 应用程序,它们从外部数据库或 Web 服务中提取数据。您可以只使用 JavaScript 和 CSS 开发小部件,您也可以利用 Java 或 PHP 等服务器端的语言。清单 1 显示了一个基本小部件的代码。

清单 1. 一个基本的小部件
<iw:iwidget name="helloWorld" xmlns:iw="http://www.ibm.com/xmlns/prod/iWidget">
<iw:content mode="view">
<div>
<div id="helloWorld">Hello World!</div>
</div>
</iw:content>
</iw:iwidget>

除了编写自定义小部件应用程序之外,IBM Business Solutions Catalog 还有许多小部件可供下载。


有用的工具

找出哪些文件控制哪些页面元素,这可能是一项挑战。例如,可能很难找出哪条 CSS 规则控制某个特定的 UI 元素。此外,您对 XML 配置文件所做的更改必须符合模式,而 JSP 和 HTML 文件的结构必须是正确的。在定制 UI 字符串时,必须搜索 Java 档案 (JAR) 文件,看看 UI 字符串存储在哪里。在测试对翻译的 UI 字符串所做的更改时,必须更改您的网络浏览器的区域设置。您可能会发现下面的工具对于完成这些任务非常有用。

禁用浏览器的缓存

您必须经常清除浏览器缓存,以测试对 IBM Connections 所做的更改。要做到这一点,可以使用一个工具来暂时禁用浏览器的缓存,比如面向 Mozilla Firefox 和 Google Chrome 浏览器的 Web Developer 加载项(请参见 参考资料 中的相关链接)。

修改 CSS 规则和 UI 元素

使用一个 Web 检查器工具来查找您要修改的 CSS 规则。Web 检查器工具的示例包括面向 Firefox 和 Chrome 的 Firebug,以及 Chrome 或 Apple Safari 上的 Web Inspector。请参见 参考资料 中的相关链接。

修改 XML、JSP 和 HTML 文件

使用一个可以帮助识别正确标记的文本编辑器。这样的文本编辑器包括 gedit for Linux® 和 Windows® 上的 Notepad++(请参阅 参考资料 中的链接)。您也可以使用 Eclipse,它在许多不同的平台上运行。

测试翻译的字符串

使用一个区域设置切换工具,修改浏览器的区域设置,而无需安装区域设置特定的操作系统或更改操作系统中的设置。区域设置切换工具的一个示例是面向 Firefox 和 Chrome 的 Quick Locale Switcher 加载项(请参阅 参考资料 中的链接)。


最佳实践

以下提示有助于顺利完成定制过程,使您未来的维护任务更易于管理。

经常备份

进行更改之前,在您的开发环境中备份您的定制目录。如果使用源代码进行控制,那么请将定制目录添加到您的工具。如果您没有使用源代码进行控制,请考虑采用它,或设计您自己的版本控制流程。

最大限度地减少复制

仅将需要修改的文件复制到定制目录。将定制目录中的文件数量尽可能地减至最少,这意味着管理更少的文件,使您更易于跟踪有哪些更改。

记录变更

通过记录变更并为文件添加注释,可以跟踪您所做的更改。注释可以帮助您记住变更的位置和原因。如果合并多个变更,直接为 JSP 和 CSS 文件添加注释,那么可以简化这个过程。

适当地检查配置文件

有时,必须更新 WebSphere Application Server 配置目录中的 XML 配置文件。虽然直接更新这些 XML 文件在技术上是可行的,但使用适当的 wsadmin 命令是一个更好的解决方案。使用 wsadmin 可以在将更改提交到版本库之前确保 XML 文件正确形成并且是有效的。有关使用 wsadmin 命令行工具的详细信息,请参阅产品文档。

更新时间戳值

浏览器通常会缓存 IBM Connections 页面和它们的多个 CSS 和 JavaScript 组件,以提高性能。在完成您定制之后,覆盖缓存,强制浏览器下载发生更改的文件的最新副本。您可以使用 WebSphere Application Server wsadmin 工具来更新相应配置文件上的版本印记。


结束语

IBM Connections 提供了一个社交软件平台,您可以通过定制该平台来满足您的业务需求。在 3.0.1 之前的版本中,定制项目可能需要大量的开发工作。但是,这个过程已经被大大简化,让您能够更容易、更安全地执行更改。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus
ArticleID=855404
ArticleTitle=IBM Connections 3.0.1 的定制概述
publish-date=01182013