级别: 初级 石 文彬, 软件工程师, IBM 中国软件开发中心 赵 蓉, 软件工程师, IBM 刘 向宁, 软件工程师, IBM 殷 智勇, 软件工程师, IBM 中国软件开发中心
2009 年 7 月 24 日 IBM Lotus Quickr 8.2 是一个协同工作软件,实现团队内部的信息共享,帮助团队更好、更快的完成任务。本文主要介绍 Lotus Quickr 8.2 的新功能,文中有许多实例提供给读者,比如 qpconfig.xml 文件的配置,以及和其它 IBM 产品的集成等。这有利于读者更好的了解这些新功能。
IBM Lotus Quickr Services for Lotus Domino 发展到今天已经有将近十年的历史,它是一个协同工作软件,实现团队内部的文档存储,信息共享,实时通信,帮助团队更好、更快的完成任务。 IBM Lotus Quickr 8.2 Services for Lotus Domino 已经于 2009 年 6 月份正式发布,本文将向您详细介绍 IBM Lotus Quickr 8.2 Services for Lotus Domino 的新增功能。
Quickr 提供两种服务,IBM® Lotus® Quickr services for IBM Lotus® Domino® 和 IBM® Lotus® Quickr services for IBM WebSphere® Portal,本文提到的 Quickr 是指 IBM® Lotus® Quickr services for IBM Lotus® Domino® 。
本文将从以下这些方面来介绍 Quickr 8.2 的新功能:
- 对 IBM Lotus Domino 8.5 DAOS 功能的支持;
- 新增加的 API ;
- 可隐藏的主题 (theme) ;
- 创建容器 (room) 的限制;
- 安全性的增强;
- 浏览器性能的改善;
- 连接器安装的增强;
- Quickr 场所添加到连接器的增强;
- 对 Lotus Quickr Services for IBM WebSphere Portal 的支持;
- 连接器拖拽功能的增强;
- 新增加的连接器可定制个人文件 (Personal Files) 的功能;
- 新增加的连接器导入导出的功能;
- Domino 本地目录对 Quickr 和 Sametime 集成的支持;
- Quickr 集成 IBM Lotus Connections 功能的增强;
- Quickr 和 IBM Lotus iNotes® 的集成;
- Quickr 8.2 的其他新功能;
对 IBM Lotus Domino 8.5 DAOS 功能的支持
DAOS(Domino Attachment and Object Service) 是 IBM Lotus Domino 8.5 提供的一个新功能,它可以把原本需要存储到 nsf 文件里的附件直接存储到指定的文件系统目录里,可以明显的减小 nsf 文件的大小,显著的提升 Domino 服务器的性能。例如用户需要上传一个 50M 的文件到场所 (place) 里, 并且 DAOS 已经启用,那么这个 50M 的附件就会存储到 DAOS 指定的文件目录里,而不再存储到 main.nsf 文件里。从图 1 中可以看出普通存储和 DAOS 的区别。
图 1. 普通存储和 DAOS 的区别
新增加的 API
Quickr8.2 以前的版本已经为开发人员提供了非常丰富的 API,Quickr 8.2 将更多的 API 暴露给用户,这使得用户对 Quickr 的定制变得更加灵活方便。 Quickr8.2 中 API 的变化主要有下面三方面:
Quickr 的 Java API 中新增对容器(Room)操作的支持,包括创建和删除等
Quickr8.2 以前的版本已经提供了针对服务器、场所和人员等的 Java API,Quickr8.2 新增了对容器操作的支持,这为管理 Quickr 提供了很大的便利。例如管理员想在场所中创建多个容器,如果通过页面操作,需要重复的录入容器信息,并一次次的点击按钮完成。如果使用 Java API,就可以轻松的实现自动化创建,下面介绍通过这种方式创建容器的步骤:
- 向 Quickr 服务器的 notes.ini 中添加如下配置信息,并重启服务器。
QuickPlaceEnhancedXMLAPI=1 |
- 创建两个 XML 文档 - CreateRoom.xml Session.xml
--- CreateRoom.xml ---
<?xml version="1.0"?>
<service>
<servers>
<server local="true">
<places>
<place>
<name>place</name>
<rooms>
<room action="add">
<title>room1</title>
<position>1</position>
</room>
</rooms>
</place>
</places>
</server>
</servers>
</service>
--- Session.xml ---
<?xml version="1.0"?>
<session>
<person>
<dn>cn=XXX,ou=XXX,o=XXX</dn>
</person>
</session> |
- 执行创建容器操作,在 Quickr 的控制台中输入如下命令:
load qptool execute – i c:\CreateRoom.xml – session c:\Session.xml |
可以使用 Quickr 的 PlaceBot 截获并修改 Quickr 中的某些事件,从而改变 Quickr 的行为
Quickr8.2 以前的版本支持使用 C/C++ 编写的 Hook 程序来截获 Quickr 的事件,现在开发人员也可以通过编写更为简单的 PlaceBot Hook 程序来实现相同的功能。 PlaceBot 是 Quickr 提供的一个功能,类似于 Domino 中的代理,管理员可以通过它对 Quickr 进行扩展,它支持 LotusScript、Java 等语言。编写一个 PlaceBot Hook 程序可以分为如下两步:
- 创建 PlaceBot Hook 程序:
除了可以通过 Quickr 提供的页面来创建这种 Hook 程序之外,还可以使用 Domino Designer 在一个 Domino 数据库中创建一个 Domino 的代理来实现。如果需要这个 Hook 程序在某个事件发生之前触发,那么必须保证它的名称与这个事件名称相同,同时在名称后面加上“ _Before ”,如果需要它在某个事件发生之后触发,那么它的命名就应该是,事件名称后加上“ _After ”。目前 Quickr 所支持的事件列表可以从下面这个链接查看:
http://www.lotus.com/ldd/lqwiki.n
sf/dx/02052009092511AMWEBJWS.htm
- 注册 PlaceBot Hook 到 Quickr 服务器:
通过向 Quickr 服务器的 notes.ini 文件中添加环境变量“ LotusQuickrPlacebotDb ”来注册 PlaceBot Hook 。如果这些 Hook 程序存在于多个数据库中,那么可以在“ LotusQuickrPlacebotDb ”后面添加数字来指明,数字须从“ 1 ”开始递增且不能有间断,否则间断后的注册将无效。
下面的例子可以实现在删除文件夹前向控制台输出文件夹信息的功能:
首先通过 Quickr 的页面在场所 (place) 里中创建一个名为“ h_DeleteFolder_Before ”的 PlaceBot,内容如下:
Sub Initialize
Dim session As New NotesSession
Dim docContext As NotesDocument
Set docContext = session.DocumentContext
MessageBox("The folder - " + docContext.h_Name(0) + " is deleting...")
End Sub
|
然后在 notes.ini 中添加注册信息:
LotusQuickrPlacebotDb1=LotusQuickr\place\Main.nsf
|
重新启动 Quickr 服务器,并从 Quickr 的页面上删除一个文件夹,这时在 Quickr 的控制台上可以看到打印出来的信息。
Quickr 允许用户在不创建新的主题或者场所类型的前提下,通过编写自己的 Javascript 模块来扩展页面显示的行为
Quickr8.2 有一个可选的 Javascript 扩展文件用来与 Quickr 的默认主题配套使用,它必须命名为 Quickr81_ext.js,并位于 /qphtml/skins/quickr81/scripts/ 下,和 Quickr81.js 在同一目录下。它可以让开发人员在其中加载任何外部 Javascript 文件,或者直接编写代码来操作 HTML 页面上的 DOM 对象。例如将下面这段代码添加到 Quickr81_ext.js 中,可以实现在 Quickr 的每一个页面上方显示公司名称:
dojo.addOnLoad(function(){
var elTitle = dojo.byId("pageTitlePlaces");
if (elTitle) {
elTitle.innerHTML = "<a href='http://www.linktomycompany.com ’
target='_new'>My Company, Inc.<a/>";
}
}); |
可隐藏的主题
Quickr 管理员可通过修改 qpconfig.xml 文件中有关主题 (Theme) 的区域,对场所中能显示的主题进行定制。例如,根据用户不同的业务特殊性,需要对场所中的主题进行限制,要求仅能显示 Quickr8.0 及之后版本所独有的主题,Quickr 管理员对 qpconfig.xml 进行如下修改:
<themes restrict_choices="true">
<allowed>"Quickr 8.0", "Quickr 8.0 (with classic navigation)"</allowed>
</themes>
|
加入上述配置信息之后,保存 qpconfig.xml 文件,重启 Qucikr 服务器。然后创建一个新场所,选择定制本场所 (Customize this place) -> 选择主题 (Choose a Theme) 之后,可以看到,仅 Quickr8.0 以及之后版本所独有的主题被显示:
图 2. 仅显示 Quickr 8.0 及之后版本的特定主题
创建容器的限制
Quickr8.2 新增加了限制容器创建的功能。通过对 qpconfig.xml 文件进行适当的配置,可以阻止 Quickr 的使用者在场所中随意创建容器。
在 qpconfig.xml 中,新增加了容器 (Rooms) 区域,以限制容器的创建。
<rooms>
<create enabled="false">
</create>
</rooms> |
修改上述配置信息之后,保存 qpconfig.xml 文件,重启 Quickr 服务器,新建一个场所,然后选择新建文件或文件夹,之后所显示出来的新建元素列表中,没有容器这一选项可以选择:
图 3. 创建容器选项被隐藏
安全性的增强
Quickr8.2 增强了 Quickr 服务器的安全性,使得 Quickr 服务器免受跨站脚本攻击。这种安全性的加强主要体现在两方面:对上传至场所的文件类型的限制;对上传文件的上传者进行限制。下面通过一个实际例子,说明如何通过对 qpconfig.xml 的配置,达到加强 Quickr 服务器的安全性。
Quickr8.2 在 qpconfig.xml 中,新增加了 security 区域。该区域中包含了安全级别控制的若干变量。通对这些变量的设置,达到用户对 Quickr 服务器安全性的需求。具体的配置如下面的例子所示。
<security>
<xss_protection enabled="true" />
<xsrf_protection enabled="true" />
<urilink_field_protection enabled="false">
<allowed_schemes>ftp,mailto</allowed_schemes>
</urilink_field_protection>
<uploadable_filetypes enabled="false">
.pdf,.doc,.ppt,.xls,.docx,.pptx,.xlsx,.png,.jpg,.gif
</uploadable_filetypes>
<privileged enabled="false">
<users>
<dn>cn=Lotus Quickr Admin,o=ibm</dn>
<dn>cn=Lotus Domino Admin,o=ibm</dn>
</users>
<uploadable_filetypes enabled="false">
.txt,.html,.htm,.css,.java,.lss
</uploadable_filetypes>
</privileged>
</security> |
uploadable_filetypes enabled 的默认值为 false 。此时,Quickr 不对上传文件类型进行限制,也就是可以上传任意类型的文件;但是,在对安全性有较高要求时,Quickr 管理员可以设置 uploadable_filetypes enabled 为 true,并结合 <uploadable_filetypes enabled="false"> </uploadable_filetypes> 的设置,以对上传文件类型进行限制。此时,仅上述两个尖括号之间指定的文件类型允许上传。若将上述文件类型设置为 .*,则所有的文件类型均可以被上传。 在上述例子中,普通用户所允许上传的文件类型为:.pdf,.doc,.ppt,.xls,.docx,.pptx,.xlsx,.png,.jpg,.gif 。设置好上述的安全区域后,保存 qpconfig.xml,重启 Quickr 服务器。新建场所,并新建文件或文件夹,在所有可以上传文件的页面,Quickr 将对用户进行提示:仅被允许的那些类型的文件才能被上传。
图 4. 对上传文件类型的限制
浏览器性能的改善
Quickr 管理员可以通过修改 qpconfig.xml 文件来实现用 cookies 存储个人在场所里的个性化的数据, 包括每页显示的记录的数量,索引起始页面,页面排序设置(升序或者降序),文档扩展状态,视图类型,并且会在 cookie 里增加一个目录名称,这个目录名就是该场所的名称。例如用户登陆到场所里面,进入讨论页面,设置每页显示 10 条记录,并且升序排列,那么下次该用户登陆到相同场所,并且进入讨论页面之后,每页仍显示 10 条记录,升序排列,这样就减少了用户的操作次数,提高了浏览器的性能。
连接器安装的增强
在 Quickr 8.2 的连接器的安装过程中, 新增加了 Outlook 选项。用户可以轻松选择是否安装连接器到 Microsoft® Outlook 中去。同时在卸载、修复等过程中,都可单独对 Microsoft® Outlook 连接器进行操作。如下图所示,在连接器的安装向导中新增的 Microsoft® Outlook 连接器安装选项:
图 5. 连接器安装向导中新增的 Microsoft® Outlook 连接器安装选项
Quickr 场所添加到连接器的增强
Quickr8.2 新增了通过浏览器将当前的标准场所添加到连接器中的功能,使得连接器更加快捷方便地管理文档。 通过浏览器登录 Quickr 场所后,在更多操作 (More Actions) 列表里,新增加了一个操作 “添加场所到连接器”。
如下图所示,用户在浏览器中添加当前的场所到连接器:
图 6. 在浏览器中添加当前的场所到连接器
对 Lotus Quickr Services for IBM WebSphere Portal 的支持
Quickr 8.2 的连接器不仅仅支持最新推出的 Lotus Quickr Services for IBM Lotus Domino,也同时支持 Lotus Quickr Services for IBM WebSphere Portal 。对于 Quickr for Portal 用户来讲,可以在 Fix Central 来下载使用最新的 Quickr 8.2 的连接器,升级安装原来版本的连接器到最新版本。
连接器拖拽功能的增强
Quickr 8.2 连接器增强了 Notes(8.0.2 及以上标准版本 ) 文档的拖拽功能。 Quickr 8.2 Notes 连接器通过把 Notes 文档 ( 如 Notes 邮件 ),拖拽到 Notes Sidebar 中,生成 EML 格式的文档并存入 Quickr 场所中。
如果 Notes 文档中包含有附件,用户可通过使用连接器提供的用户可定制的选项,来选择将附件保存到 Quickr 场所中并将邮件中的附件替换成 qkr 链接,或者选择直接将对应附件保留在 EML 文件中。
如图所示从 Notes 邮件中拖拽带有附件的邮件到 Notes Sidebar 的 Quickr 场所中。
图 7. 拖拽带有附件的邮件时,选择保存并替换成链接
图 8. 拖拽之后生成了 EML 文件,附件也被保存在场所中
图 9. 邮件中附件在拖拽后的 EML 被替换成 qkr 链接
新增加的连接器可定制个人文件的功能
在 Quickr 8.2 连接器中,缺省隐藏了 Windows Explorer, Office, Outlook 连接器个人文件的功能。
图 10. 初始 Windows Explorer 连接器隐藏了个人文件的功能
图 11. 初始首选项隐藏了个人文件的功能
如果需要使用个人文件的功能,用户可以通过命令行来加载或再次隐藏个人文件的功能。
- 加载连接器个人文件的功能
缺省安装之后,运行 Windows 操作系统的命令行,切换到连接器安装路径下,如安装的缺省路径:C:\Program Files\IBM\Lotus Quickr connectors,输入:
重新启动或者注销当前操作系统,即可生效;
图 12. 运行命令后 Windows Explorer 连接器加载了个人文件的功能
图 13. 运行命令后首选项加载了个人文件的功能
如果希望首次安装就能够直接加载个人文件的功能,只需要在执行安装的时候,附加以下参数:QC_PROP_ENABLE_ENTRY=1
- 隐藏连接器个人文件的功能
运行 Windows 操作系统的命令行,切换到连接器安装路径下,输入:
重新启动或者注销当前操作系统,即可生效。
新增加的连接器导入导出的功能
Quickr 8.2 连接器新增了 QuickrConfig 工具 , 提供了强大的导入导出功能,用户可以轻松地将自己的连接器配置的服务器、场所、喜好、策略和缺省设置,导出到 xml 格式文档中进行备份,并可将此 xml 中备份的信息恢复到当前系统中来。导入 xml 中数据后,连接器用户只需再次输入认证信息即可。
Domino 本地目录对 Quickr 和 Sametime 集成的支持
IBM Lotus Sametime 是 IBM 提供的面向企业的安全实时通讯工具,Sametime 服务器可以使用 LDAP 和 Domino 目录来验证用户。在 Quickr 8.2 以前的版本里,要使用 Sametime 服务器提供的功能,必须要求 Sametime 服务器和 Quickr 使用相同的 LDAP 目录服务。 Quickr 8.2 增加了对 Sametime 服务器使用 Domino 目录的支持, 即安装 Sametime 服务器的时候,选择 Domino 目录作为用户目录(图), 在 Quickr 8.2 的站点管理里面选择 LDAP 作为目录类型,在名称字段里填写 Sametime 服务器的标准主机名称(图),并且修改 qpconfig.xml 文件中关于 sametime 的区域,将 ldap 属性设置为 "false",然后按照 Quickr 信息中心关于 Quickr 和 Sametime 服务器集成的步骤进行配置,就可以在 Quickr 里使用 Sametime 提供的聊天 (chat) 和在线会议 (online meeting) 的功能了。
图 15. 安装 Sametime 服务器的时候,选择 Domino 目录作为用户目录
图 16. Quickr 8.2 里目录类型设置为 LDAP,名称 (name) 填写 Sametime 服务器的主机名称
Quickr 集成 IBM Lotus Connections 功能的增强
IBM Lotus Connections 是一款面向商务的社会网络软件,能够使您的团队更加具有创造性, 它包括五个相互协作的组件: 个人档案 (Profile)、社区 (Community)、博客 (Blog)、社会标签 (Dogear) 和活动 (Activities) 。 在 Quickr 8.2 里, 用户不仅可以在用户卡片中直接显示他们在 Lotus Connections 中的个人档案 ( 图 17),而且可以在活动里把附件存储到 Quickr 的场所里 ( 图 18),在社区里创建基于 Teamspace and Wiki 的 Quickr 场所 ( 图 19) 。
图 17. 在 Quickr 里显示用户的个人文档
图 18. 在活动里将附件存储到 Quickr 的场所
图 19. 在社区里创建 Quickr 场所
Quickr 和 IBM Lotus iNotes® 的集成
Quickr 8.2 可以很好的与 IBM Lotus iNotes 8.5 集成在一起使用,集成后用户可以将邮件中的附件保存在 Quickr 中,仅仅把指向该附件的链接随邮件发送出去,这样将有效减少邮件的存储空间,减轻服务器负担。
下图显示了在 iNotes 与 Quickr 的集成环境中,用户通过 iNotes 发送一封带有附件的邮件时,对话框提示用户选择附件处理方式的场景。可以看到用户有两种选择:第一种是保持原有方式,附件随邮件一起发送;第二种是选择存放位置,然后附件被保存到 Quickr 并替换为链接随邮件发出。很明显集成了 Quickr 的 iNotes 做到了附件的集中存放与管理。
图 20. IBM Lotus iNotes® 提示用户选择附件处理方式
Quickr 8.2 的其他新功能
- Quickr 8.2 提供静默安装的方式,只需要执行 setup.exe -r 命令生成一个响应文件,然后通过执行 setup.exe – s 命令就可以完成 Quickr 的安装。
- Quickr 8.2 的性能提升浏览器页面访问速度变得更快,图片及静态文本的缓存技术更加优化。由于 Quickr8.2 对 DAOS 的支持,使得数据库中不再存放附件等大尺寸文件,执行效率得到提升。
- Quickr 8.2 已经全面支持 IPv6 协议,用户可以通过 IPv6 协议访问 Quickr 8.2 的服务器。如果 Sametime 服务器使用 IPv6 协议,Quickr 8.2 可以通过 IPv6 协议访问 Sametime 服务器,并使用 Sametime 服务器提供的功能。 Quickr connector 同样全面支持 IPv6 协议。
结束语
本文全面详细地介绍了 Quickr 8.2 的新功能,IBM Lotus Quickr for IBM Lotus Domino 还将把对 ECM, Linux, xPage 的支持增加到未来的版本中。随着 Quickr 功能的增强,性能的进一步提升,它会成为企业团队协作的不可或缺的重要组成部分。
参考资料 学习
讨论
作者简介  | |  | 石文彬,在 IBM 中国软件开发试验室 Lotus 开发中心工作,目前从事 IBM Lotus Quickr 的测试工作。对软件测试和开发、协同软件有着丰富的经验。 |
 | |  | 赵蓉,在 IBM 中国软件开发试验室 Lotus 开发中心工作,目前从事 IBM Lotus Quickr 以及 Lotus Quickr connectors 的测试工作。对软件测试和开发、协同软件有着丰富的经验。 |
 | |  | 刘向宁,在 IBM 中国软件开发试验室 Lotus 开发中心工作,目前从事 IBM Lotus Quickr 的测试工作。对软件测试和开发、协同软件有着丰富的经验。 |
 | |  | 殷智勇,在 IBM 中国软件开发中心工作,是 Quickr SWAT 组的成员,目前从事 Quickr 定制化开发工作。 |
对本文的评价
|