IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Lotus  >

Web 2.0 在 Lotus Quickr 中的应用

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

何 辉剑 (hehuij@cn.ibm.com), 软件工程师, IBM
张 子轩 (zhangzix@cn.ibm.com), 软件工程师, IBM
田 荣先 (tianrx@cn.ibm.com), 软件工程师, IBM
王 存玮 (wangcunw@cn.ibm.com), 实习生, IBM
陈 岩 (cheny@cn.ibm.com), 高级软件工程师, IBM 中国软件开发中心

2007 年 8 月 17 日

Lotus Quickr 是基于 Web 2.0 的企业级的内容协作系统。本文介绍了两种 Web 2.0 技术(Feed/Ajax)和两个 Web 2.0 组件(Wiki/Blog)在 Lotus Quickr 中的应用。并以 DDM(Domino Document Management)和 Lotus Quickr 之间的集成为例,介绍了如何使用 Lotus Quickr 提供的 ATOM Feed 接口来实现和其他应用的聚合。

Web 2.0 的概念开始于 O'Reilly 公司与 MediaLive International 公司的一个内部头脑风暴会议。相对于 Web 1.0,Web 2.0 追求更好的用户体验度和参与度。Web 2.0 的理念是“人”,强调的是人和人之间的协作。Enterprise 2.0 又名企业级的 Web 2.0,是指企业采用 Web 2.0 的理念提高员工之间的协同工作能力。Lotus Quickr 的定位是基于 Web 2.0 的企业级内容协作系统,其采用了大量的 Web 2.0 相关技术和组件来提高企业员工的协同工作能力。通过 Lotus Quickr,手机厂商销售人员可以将新产品的图片和参数信息以 ATOM Feed 的方式发布出去。零售商和用户可以通过 Lotus Quickr 的 Feeds Reader Portlet 或者第三方的 Feeds Reader 来订阅这些信息。开发人员可以通过 Lotus Quickr 提供的 Feed 文档导入功能,将哈佛大学图书馆的图书导入到自己的本地文档库中并通过 ATOM Feed 的方式发布给其他同事分享。项目经理可以将项目相关的文档放置在 Wiki 供其他项目参与人员讨论和修改。产品经理则可以在自己的 Blog 上和用户共同评论即将发布的产品,并及时回答用户的问题。

Feed 在 Lotus Quickr 中的应用

Feed 作为 Web 2.0 中一种非常实用的功能,它允许阅读者订阅自己感兴趣的内容。在阅读者订阅了内容以后,内容的更新会及时通知到阅读者。通过这样的方式,使用户能够及时地得到信息的更新,大大提高了用户的体验度。

通过 Feed 发布文档

Lotus Quickr 允许用户将自己的各种内容以 ATOM Feed 的形式发布给他人订阅。


图 1. 手机厂商发布新手机资料库
图 1. 手机厂商发布新手机资料库

文档库被发布成 Feed 的 URL 结构是:http://主机名/dm/atom/library/文档库ID/feed

Lotus Quickr 发布的 Feed 文档格式完全遵循开放的 IETF 标准(ATOM)。ATOM 是用于发布条目(单个主题或者项)和提要(主题或项的集合)的文档格式标准。ATOM 的产生主要是为了解决 RSS 存在的一系列问题(混乱的版本号、不是一个真正的开放标准、表示方法的不一致、定义贫乏等等)。ATOM 希望提供一个真正开放的,完全不依赖任何厂商的发布条目和提要的标准。

代码 清单 1 中展示了一个 Lotus Quickr 文档被发布的 ATOM 格式。


清单 1. 代码清单
<?xml version="1.0" encoding="UTF-8" ?> 
<feed xml:base="https://quickr.tap.ibm.com/dm/atom/library/
    372bd28045aba9c3a9e5bf9ceb83f1f2/" xml:lang="zh-cn" 
    xmlns="http://www.w3.org/2005/Atom" 
    xmlns:td="urn:ibm.com/td">
    <generator uri="https://quickr.tap.ibm.com/dm/atom/library/
        372bd28045aba9c3a9e5bf9ceb83f1f2/" version="8.0.0">
    Teamspace Documents
    </generator> 
    <! – 表示该实体的唯一ID -->
    <id>urn:lsid:ibm.com:td:0fa7ee804635d05bab60ff50fdcc1d8f</id> 
    <! – 用来链接该文档的Feed链接 -->
    <link href="https://quickr.tap.ibm.com/dm/atom/library/
        372bd28045aba9c3a9e5bf9ceb83f1f2/document/0fa7ee804635d05bab60ff50fdcc1d8f/feed" 
        rel="self" /> 
    <! – 替代该实体的URL,可以通过改URL直接访问和下载该文档 -->
    <link href="https://quickr.tap.ibm.com/lotus/mypoc?uri=
        dm:0fa7ee804635d05bab60ff50fdcc1d8f&verb=view" rel="alternate" /> 
    <collection href="https://quickr.tap.ibm.com/dm/atom/library/
        372bd28045aba9c3a9e5bf9ceb83f1f2/document/0fa7ee804635d05bab60ff50fdcc1d8f/feed" 
        xmlns="http://purl.org/atom/app#">
        <! –文档标题 -->
        <atom:title type="text" xmlns:atom="http://www.w3.org/2005/Atom">水红色外壳.png
        </atom:title> 
        <accept>text/*,entry</accept> 
    </collection>
    <td:permissions>add,view,delete,delete_soft,edit</td:permissions> 
    <! – 文档作者信息 -->
    <author>
        <uri>uid%3D913300672%2Cc%3Dcn%2Cou%3Dbluepages%2Co%3Dibm.com</uri> 
        <name>何辉剑/name> 
        <email>hehuij@cn.ibm.com</email> 
    </author>
    <title type="text">水红色外壳.png </title> 
    <! – 文档更新时间 -->
    <updated>2007-07-26T11:16:28.000Z</updated> 
</feed>
      

在 Lotus Quickr 中的其它内容,如文档库中的文件夹、文档、Wiki、Blog 都可以通过 ATOM Feed 的形式发布以供其他人订阅。

通过 Feeds Reader Portlet 订阅信息

Lotus Quickr 提供了一个 Feeds Reader Portlet,通过这个 Portlet 可以订阅 Feed。该 Portlet 同时支持订阅 Feed 的两种格式:ATOM 和 RSS。


图 2. Feeds Reader Portlet 订阅手机图片库
图 2. Feeds Reader Portlet 订阅手机图片库

导入 Feed 文档

Lotus Quickr 提供将其它以 Feed 形式发布出来的文档库或文档导入到本地文档库的功能。下图以研发人员将哈佛大学图书馆中图书导入到本地文档库为例。


图 3. 将哈佛大学 Feed 文档导入本地文档库
图 3. 将哈佛大学 Feed 文档导入本地文档库

Mashup

Mashup 是 Web 2.0 中近来最热门的技术之一,Mashup 也被称为应用聚合。是指通过利用各种应用提供的接口,将不同应用的功能聚合在一起,组成一种新的,功能更加完备的应用。由于 Lotus Quickr 中的 Feed 是基于 ATOM 开放标准的,这就为 Lotus Quickr 和其他应用之间 Mashup 提供了重要的保障。

下面以在 Domino Document Management 中聚合 Lotus Quickr 为例,描述如何通过 ATOM Feed 来实现 Lotus Quickr 和其他应用聚合。

在某产品设计开发过程中,某新加坡客户为该产品提出他们的需求文档。其需求文档保存在本地 Domino Document Management 中。而该产品的所有设计文档是通过在中国的 Lotus Quickr 来维护的。如何将本地 Domino Document Management 的文档直接发布到远端的 Lotus Quickr 文档库中?我们可以通过 Lotus Quickr 提供的 Feed ATOM 接口,将两个应用 Mashup 在一起。

该应用聚合的步骤如下:

在 Domino Document Management 的文档编辑的界面上添加 Lotus Quickr 的聚合按钮。


图 4. DDM 和 Lotus Quickr 的聚合界面
图 4. DDM 和 Lotus Quickr 的聚合界面

当用户需要将 Domino Document Management 中的文档发布到远端的 Lotus Quickr 文档库中去,点击 Add to Quickr 按钮。在弹出输入框中输入远端 Lotus Quickr 文档库或者文件夹的 Feed URL。如 https://quickr.tap.ibm.com/dm/atom/library/8eb7b880464d063c88508a1287d28179/folder/1b30bb00464d07a488578a1287d28179/feed。


图 5. 输入远端文档库 Feed 地址界面
图 5. 输入远端文档库 Feed 地址界面

当用户点击“确定”后,该文档将会使用 Lotus Quickr 的 Feed ATOM 接口,通过 ATOM 传输协议传送到该文档库。

Ajax 在 Lotus Quickr 中的应用

Ajax(Asynchronous JavaScript and XML,异步 JavaScript 与 XML)是 Web 2.0 概念中的一个重要部分。Ajax 并不是一项新技术,而是将几种已有技术开创性的结合使用,它对用户体验的极度关注,促成了 Web 开发的巨大变革。在 Lotus Quickr 中,Ajax 作为改善用户操作体验的重要技术,得到了相当多的应用,我们对此做一简单介绍。

在一些可能需要从服务器获取大量数据的页面上,Lotus Quickr 采用了“微链接”技术,即在用户点击链接时,系统在同一页面内部响应用户操作,而非刷新整个页面。这样,页面可能显示的所有信息并非在载入时一次获取,而是根据用户动作分别传输,从而使得每一次与服务端交互的数据量变小,用户等待时间也就相应缩短了。下图展示了在用户主页上,在“收藏夹”,“我的场所”等几个之间切换的页面显示过程。


图 6. 场所列表信息获取
图 6. 场所列表信息获取

用户填写表单,点击提交,之后等待页面刷新返回结果,这是所有 Web 用户习以为常的事情。现在,在 Ajax 技术的支持下,Lotus Quickr 中一些功能的实现不再需要刷新整个页面,而只需将部分内容更新,在这期间,页面的大部分内容都保持不变。为文档添加注释就应用了这种技术。输入注释内容并点击“添加”,新的注释将直接显示在页面上,而页面的所有其他内容都不进行刷新。下图展示了这一过程。


图 7. 文档注释的添加
图 7. 文档注释的添加

Lotus Quickr 对 Ajax 技术使用的另一个主要方面是弹出式内容显示以及弹出式菜单,这些功能能够丰富用户获得的信息,方便用户操作。我们举两个例子来展示这一功能。

示例一:文档信息显示。在文档列表显示界面上,将鼠标悬停在文档标题上,可以显示文档缩略图及标题、修改日期等基本信息,如下图所示。


图 8. 文档缩略信息显示
图 8. 文档缩略信息显示

示例二:弹出式文档操作菜单。在文档列表显示界面上,Lotus Quickr 提供了弹出式快捷菜单。在用户点击文档标题右侧箭头时,Lotus Quickr 将通过与服务器的交互生成菜单内容。根据选中对象的不同类型(文档与文件夹),当前用户的权限(管理者、编辑者、参与者、阅读者)以及文档的不同状态(已检出、等待核准等)菜单将显示不同的操作选项。当用户点击进入该文档视图时,这些功能都会在操作列表中显示,但显然弹出式菜单是一种更方便的操作方式。下图显示了两种不同状态文档的弹出菜单。


图 9. 文档的弹出式菜单
图 9. 文档的弹出式菜单

在上面的例子中,页面显示内容本身已经是完整的,但弹出式信息使得同一个页面能够提供出更丰富的额外信息,尽管对软件功能来说可能并非必须,但却给用户带来很大的方便。而文档的弹出式菜单提供给用户除页面操作列表之外的另一种进行文档操作的便捷途径。事实上,弹出式信息与菜单在桌面软件中早已有之,但是在 Web 环境中,只有当结合了 Ajax 技术之后,类似功能才能在得以的同时具有足够的响应速度,并充分满足功能与易用性的双方面要求。

以上,我们针对 Lotus Quickr 中 Ajax 技术的几种典型应用进行了介绍。Ajax 技术在 Lotus Quickr 的界面设计中占据着重要的地位,而应用该技术之处也比比皆是,并不仅限于本文所介绍的部分。通过 Ajax 技术,Lotus Quickr 具有了更强大的用户交互能力,并为用户提供出了很多不同于传统 Web 应用的全新操作体验。我们相信,这也是今后软件产品发展的趋势之一。

Lotus Quickr 中的 Web 2.0 组件 Blog/Wiki

谈到 Blog(博客)和 Wiki(维客、维基)大家都耳熟能详,它们是目前 Web 2.0 最广泛被用户接受的组件。Lotus Quickr 的团队 Blog 和 Wiki,主要面向企业级应用,给企业员工提供一个交流和协作的平台。团队 Blog 以日记形式,记录团队或项目的里程碑,注重记录。团队 Wiki 更像一个知识库,员工把关于项目的思考、想法、经验发表到这里,随时更新并加以评论,最后凝结成集体智慧的结晶。

定位为企业级的内容协作系统,Lotus Quickr Blog/Wiki 系统在很多细节方面具备自己的特色:

富文本编辑器的加强功能

Lotus Quickr 中自带的富文本编辑器除了文字、段落、表格等基本编辑功能,还具备 拼写检查、可定制大小的 图像插入、独具特色的 插入链接 等加强功能。


图 10. 富文本编辑器视图
图 10. 富文本编辑器视图

首先是拼写检查。选中有拼写错误的文本,点击 拼写检查,假设本文中出现错误词汇“helo”,则会出现下图所示窗口,选中正确文本,替换即可。


图 11. 拼写检查视图
图 11. 拼写检查视图

在英文文档越发普及的今天,这个功能可以使用户将主要精力集中在 Blog/Wiki 的内容上,而不用太在意词汇拼写这样的“琐碎小事”。

其次是图像插入。点击 图像插入,会出现下图所示窗口:


图 12. 上载图片视图
图 12. 上载图片视图

通常情况下,当要插入的图片比较大时,用户会先使用图片编辑器将图片做一下处理,步骤繁琐,既分散了用户的注意力又浪费了用户的时间。而 Lotus Quickr 中的图像插入,将定制图片大小和图像上载集成在了一起,使用户的操作一步到位。

最后是插入链接。选中作为链接的文字 ,单击 插入链接。得到如下窗口:

选中作为链接的文字,单击 插入链接


图 13. 插入链接视图
图 13. 插入链接视图

单击 浏览内容 可以添加当前场所中的其他 Blog 帖子、Wiki 页面或列表项作为链接。

单击 浏览库 可以链接到当前场所中的文档。

通过这个功能,团队成员可以将项目任务、相关技术文档、项目联系人信息等已有资源引用在自己的 Blog/Wiki 中,使自己的 Blog 帖子或 Wiki 页面的内容既丰富,又精彩,而且众多资源以链接的方式显示,也使得 Blog/Wiki 的内容简洁明了。

模版定制

Lotus Quickr 中的团队 Blog/Wiki 有一个独特的功能,可以自己定义新帖子或页面使用的模板。默认情况下,Blog/Wiki 的内容只能够通过一个富文本编辑器来编辑。如果想使得页面更丰富,用户可以根据自己的需要有选择的添加、修改 Lotus Quickr 提供的以下这些元素:链接、文档管理器、图像、文件资源、简短文本、富文本、日期和时间、HTML、JSP 等。这里简要介绍一下经常使用到的元素,链接、文档编辑器和图像在富文本编辑器里已经介绍过,可以把场所中已有的文档和 Blog/Wiki 作为链接保存,更好地体现了企业中的协作。文件资源,提供了上传附件功能,同时也方便用户下载,其余元素的功能与其名字一样一目了然。主要看一下这些设置是如何定制的。打开团队 Blog/Wiki 的设置页面,启用评论选择框的功能显而易见,通过展开高级外观设置来定制模板,如下图所示。


图 14. 编辑共享设置视图
图 14. 编辑共享设置视图

编写模板是用来管理页面中的元素或组件,创建 Blog 帖子或 Wiki 页面的时候会使用到;演示模板用于定义页面的框架和显示风格,浏览帖子或页面的时候使用。两个模板密切相关,所以设置模板的时候,两个模板都要做相应修改。定制编写模板中使用管理元素来添加元素或组件。如下图加了两个元素:文件资源和图像,富文本是默认的,所有元素支持重复添加,指定不同的名字即可。


图 15. 定制模版视图
图 15. 定制模版视图

演示模板的定制主要通过添加 HTML 代码实现,对于每个新增元素只要使用如下定义:<Element context="current" type="content" key="<name>">,即可将其对应的内容展现给用户。根据实际的需要,还可以对某些元素做进一步设置,比如可以使用一些标签,把文件资源元素设置成一个链接,使其可以在新窗口打开或者提供下载。如下图所示:


图 16. 定制演示模版视图
图 16. 定制演示模版视图

使用定制好的模板,创建一个简单页面,下图中我们看到编写模板中新加的两个元素,可以使用浏览按钮上传本地的文件和图像,还提供设置图像的边框,显示尺寸和文本。下图所示是演示模板的定制效果,将添加的附件和图像呈现给了用户。这一特别功能,提高了用户的参与度,同时提供给用户更加实用、丰富多样的选择。


图 17. 创建帖子或页面
图 17. 创建帖子或页面

图 18. 预览定制效果
图 18. 预览定制效果

用户管理

最后简单介绍一下团队 Blog/Wiki 的用户管理。Lotus Quickr 中通过基于 Ajax 的定制界面来查看、添加、管理成员并管理角色。如下图示:


图 19. 基于 Ajax 的用户管理
图 19. 基于 Ajax 的用户管理

用户管理由 Blog/Wiki 的创建者或系统管理员来控制,查看成员里提供了添加或重新分配用户权限,以及设置是否给新加用户发邮件等功能。管理角色默认提供了四种角色,每种角色由各种权限组合而成,下图所示为团队 Blog/Wiki 组件可设置的权限:


图 20. 用户权限设置
图 20. 用户权限设置

各个角色用户除了具有相应设置的权限外,可以对所有帖子、页面添加评论。Lotus Quickr 中用户还可以通过给页面和组件授予不同权限,自行组合来定制新的角色,使得角色管理更加灵活。

[注:本文中所展示的图片和特性来自 IBM Lotus Quickr for Portal 版本,而 IBM Lotus Quickr for Domino 版本的用户界面会稍有不同]



参考资料

学习

讨论


作者简介

heihuijian

何辉剑,现在 IBM 中国软件开发实验室 Lotus 开发中心工作,目前从事 Lotus Quickr 的开发工作。对 Web 2.0 相关技术和协同软件有丰富的经验。


zhangzixuan

张子轩,现在 IBM 中国软件开发实验室 Lotus 开发中心工作,目前从事 Lotus Quickr 的测试工作,对 Lotus Quickr Feed API 有丰富的经验。


tianrongxian

田荣先,现在 IBM 中国软件开发实验室 Lotus 开发中心工作,目前从事 Lotus Quickr 的测试工作,对软件测试与开发有浓厚兴趣。


wangcunwei

王存玮,来自北京邮电大学,现为 IBM 中国软件开发实验室 Lotus 开发中心一名实习生,目前从事 Lotus Quickr Feed API 的测试工作,对软件测试与开发和 Web 2.0 相关技术有浓厚兴趣。


Chen Yan photo

陈岩,在 IBM 中国软件开发实验室 Lotus 开发中心工作,目前从事 IBM Lotus Quickr 的开发与测试工作。对软件测试和开发、协同软件有着丰富的经验。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款