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

developerWorks 中国  >  WebSphere | Lotus  >

评论专栏: Stefan Hepper:实现 WebSphere Portal 和 Lotus Web Content Management 之间的更紧密集成

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

英文原文

英文原文


级别: 中级

Stefan Hepper, WCM 架构师,Websphere Portal Server Development, IBM

2009 年 7 月 22 日

Journal icon 通过使用 Portal Catalog 附带的新的 Web Content View portlet,创建和维护 Web 内容页面(以及对这些页面使用 IBM® WebSphere® Portal 的所有功能)变得更加简单。

来自 IBM WebSphere Developer Technical Journal

门户和 web 内容管理系统应该良好地配合

如果您曾经使用过 IBM® Lotus® Web Content Management 并试图使用 IBM WebSphere® Portal 呈现内容,那么可能很难决定在哪里定义您的站点结构。到目前为止,您基本上只有两个选择:

  • 在 WebSphere Portal 和 Lotus Web Content Management 中定义站点结构,从而使用为页面新创建的 Lotus Web Content Management 站点区域复制每个 WebSphere Portal 页面。
  • 在 WebSphere Portal 中只创建一个 stub 页面,其余工具通过站点区域在 Lotus Web Content Management 中完成。

上面两个选项中的任何一个都不完美。除了非常单调并且容易出现错误之外,第一种方法要求您将 Web 内容呈现 portlet 放到每个页面中,并将它们配置为指向当前的站点区域。创建不同页面之间的链接要求对每个 Web 内容呈现 portlet 执行大量硬编码自定义,以使它能够分配到正确的位置。第二种方法也不尽完美。因为 WebSphere Portal 不再关注导航结构,因此也就失去了基本的门户优点。

但是不要绝望!您现在可以拥有一个完全集成的解决方案,在这个解决方案中,WebSphere Portal V6.1 可以了解您的 Lotus Web Content Management V6.1 内容,并且不要求您执行数百次单击动作来设置站点。这个解决方案的奇妙之处在于 Web 内容页面和新的 Web 内容呈现 portlet。





回页首


Web 内容页面

要实现 Lotus Web Content Management 和 WebSphere Portal 之间的更加紧密的集成,第一步是使 WebSphere Portal 能够感知到您的 Lotus Web Content Management 内容。通过新的 Web 内容页面,现在可以将一个 Lotus Web Content Management 站点区域连接到一个门户页面中。这个新概念来自 Lotus Web Content Management Rendering Portlet catalog shipment。

下面介绍如何将这样一个站点区域链接到 UI 中的一个页面:

  1. 在 WebSphere Portal 中,通过 Manage Pages portlet(图 1)创建一个新的 Web 内容页面。

    图 1. Manage Pages portlet 包含一个添加 Web Content 页面的新按钮
    图 1. Manage Pages portlet 包含一个添加 Web Content 页面的新按钮

  2. 在新页面中,有两个新的 Web Content 选项:可以选择一个 Lotus Web Content Management 文件夹或者可以选择一个共享页面作为模板(图 2)。

    图 2. 创建一个 Web Content 页面
    图 2. 创建一个 Web Content 页面

    让我们尝试第一个选项。通过单击 Select 首先选择一个 Lotus Web Content Management 文件夹,然后浏览到希望链接到您的新页面的站点区域(图 3)。

    图 3. 将 Web Content 页面映射到站点区域
    图 3. 将 Web Content 页面映射到站点区域

  3. 接下来,选择一个您希望使用的模板页面,其中已经定义了主题、主题策略和 portlet(图 4)。

    图 4. 为新的 Web Content 页面选择模板页面
    图 4. 为新的 Web Content 页面选择模板页面

现在,您已经完成了一个新的页面。

那么,通过完成这个操作并通知 WebSphere Portal 有关 Lotus Web Content Management 站点区域的信息,您得到了什么?事实上,您收获了很多。

例如,在单击到当前站点区域外部的某个项的链接时,您不再需要将 portlet 配置为发送某个页面。大部分情况下,您也不再需要配置 portlet,因为它们将自动选择页面上下文并呈现站点区域中的默认内容项。需要注意的一点是,只有 Rendering Portlet catalog shipment 中的新的 Web Content Management 呈现 portlet 支持这一功能。

这一新功能使您能够将站点导航从站点内容中分离出来。您现在只能在一个位置中定义您的站点结构:通过创建页面在 WebSphere Portal 中定义。通过生成门户页面和站点区域或内容文件夹之间的链接,可以确定站点结构和页面内容之间的关系。通过使用 Lotus Web Content Management,可以根据内容的重要性来进行内容分组,而不需要顾虑站点结构对用户的呈现方式。现在,Lotus Web Content Management 页面完全处于 WebSphere Portal 内部,就像任何其他门户页面一样,您可以轻松地利用额外的特性,比如将一个友好的名字连接到页面中(将显示在 URL 中),等等。

让我们回过头来试用 Page Properties 面板(图 4)上的第二个新的 Web Content 选项,它是一个模板页面选择功能。

继续查看 WebSphere Portal 中定义站点结构的新范例,这意味着内容作者现在可能需要创建门户页面并将其与他们的 Web Content Management 内容连接起来。要尽可能地为内容作者简化这一过程,现在可以定义一组模板页面,这是位于特殊标签(或页面)下的一些普通门户页面。在这些模板页面中,可以定义主题和皮肤,在其上加载 portlet,甚至对它们进行预配置。内容作者可以从针对新页面复制的模板页面中选择一个要使用的模板和所有设置(图 5)。


图 5. 从模板页面中创建 Web Content 页面
图 5. 从模板页面中创建 Web Content 页面

内容作者设置页面名称,选择模板页面,然后选择 Web Content Management 站点区域,页面就创建完成了(图 6)。


图 6. 新的 Web Content 页面
图 6. 新的 Web Content 页面

主题和皮肤是预定义的,并且页面已经包含有两个预配置 portlet;左侧的 portlet 指向一个列出了当前站点区域中所有项的组件,右侧的 portlet 则显示这些内容项。页面现在已经准备好进行集成。如果单击左侧 portlet 上的链接,右侧 portlet 将发生变化并显示被选择的内容。如果单击右侧 portlet 上指向这个站点区域以外的内容项的链接,WebSphere Portal 将查找链接到相关站点区域的门户页面,自动分配到该站点区域,然后选择链接中的内容项作为新页面的上下文。

只需要单击 New Web Content Page(图 1),添加一个页面名称,选择一个 Web Content Management 站点区域和一个模板页面,就可以完成所有操作。





回页首


新的 Web Content Rendering portlets

正如前一小节所述,新的 Web Content Rendering portlet(也称为 Web Content View portlet)在优化内容与 WebSphere Portal 的集成方面发挥着重要的作用。然而,这些 portlets 甚至提供了更多的好处。现在,以新的 JSR 286 Java Portlet Specification V2.0 标准为基础,这些新 portlet 实现了 IBM Lotus 产品所共有的新的常见 OneUI 感观。除了前面提到的动态页面内容外,这种功能型呈现 portlet 提供了更多优点:

  • 可重用的 UI 提高了易用性

    新的 UI 现在只显示对当前所选内容类型有意义的选项(图 7)。它还在 Advanced Options 选项卡下面隐藏了更高级的设置并使您能够将各个区段收缩起来。每个区段都拥有自己的帮助内容,可以通过右侧的 Help 按钮轻松访问。



    图 7. Web Content Viewer portlet 的更新后 UI
    图 7. Web Content Viewer portlet 的更新后 UI

  • 呈现不再需要使用会话

    新的呈现 portlet 不再需要使用会话来保存其数据,而是使用编码到 URL 中的呈现参数。portlet 不再需要使用匿名 Web 站点来在服务器上创建会话,因此具有更好的可伸缩性。

  • 在 config 模式下锁定性能

    门户管理员现在可以在 portlet config 模式下锁定设置,从而防止内容作者在 edit_defaults 模式下修改其中的设置(图 8)。



    图 8. 锁定设置
    图 8. 锁定设置

    在图 8 中,在 config 模式下预先设置了类别,并且管理员通过单击锁定图标锁定了设置。如果现在转到 edit_defaults 模式,将看到类似图 9 的内容。类别现在变成了灰色并且不能由用户修改。

    图 9. 锁定后的设置
    图 9. 锁定后的设置

  • 在 WebSphere Portal 内部缓存内容

    另一个性能改进是 Web Content Management portlet 的内容现在可以被缓存到门户片段缓存中。缓存设置可以在 portlet settings 区段中配置(图 10)。还可以在用户之间共享缓存条目。针对同样跨用户的内容项共享缓存条目会带来巨大的好处,如果可以在一个频繁访问的登陆页面中完成的话,那么效果尤其显著。



    图 10. Web Content Viewer portlet 中的新缓存选项
    图 10. Web Content Viewer portlet 中的新缓存选项

  • 利用 Eclipse 插件模型实现扩展

    现在可以通过一个 Eclipse 插件修改被呈现的内容项(上下文处理器)的路径,该插件可以托管到其自身的 WAR 文件中并独立于 WebSphere Portal 进行部署。您现在还可以通过配置面板轻松地确定应该将哪个上下文流程应用到哪个呈现 portlet(图 11)。



    图 11. 在呈现内容之前选择要应用的扩展的高级选项
    图 11. 在呈现内容之前选择要应用的扩展的高级选项

  • 站点分析日志

    由于呈现 portlet 实际上就是一种代理,它分派到 Web Content Management 系统以进行呈现,因此并不能帮上太多的忙,仅仅是在站点分析日志中获得一个通用条目,表示 portlet 被调用。更有帮助的是查看哪些内容项被呈现,这样就可以知道哪些内容项要比其他内容项更受欢迎。为了支持这一点,新的呈现 portlet 现在创建了一个额外的站点分析日志条目,使您能够识别被呈现的内容项。

  • 自定义的错误消息

    您现在还可以添加自己的自定义错误 JSP,将在呈现过程中发生错误时显示。可以为指向您的 JSP 的呈现 portlet 设置一个新的配置参数,但是目前需要位于呈现 portlet 中的 WAR 文件中。

  • 支持对本地化的 portlet 标题使用资源绑定

    现在可以将一个 portlet 指向一个资源包,以一种本地化的方式显示其标题(图 12)。资源包的类名必须可以通过类路径访问,并且其中的标题必须包含键 “javax.portlet.title”。



    图 12. 指向外部资源包以呈现 portlet 标题
    图 12. 指向外部资源包以呈现 portlet 标题

可以看到,新的 portlets 提供了许多额外的特性。当然,也支持早期 portlet 的所有选项,因此您应该能够很轻松地从当前配置迁移到新的 portlet。

一个不便之处出现在内联编辑用例;您现在重定向到了一个不同的页面,可以在其中执行内联编辑,但是您需要手动导航回到开始内联编辑的页面。另一种选择是,可以指定一个弹出窗口,在其中进行创建,但是当完成创建并关闭弹出窗口时,需要重新载入页面来获得更新后的视图。(这一问题有望在未来的更新中解决)。





回页首


搜索集成

对于 WebSphere Portal V6.1.0.1,您还获得了面向 Web Content Management 的新的 seedlist 1.0 格式。这种格式现在基于 ATOM 并支持由客户机对访问控制信息进行过滤。它在默认情况下是关闭的,但是开启这种格式非常简单。新的 seedlist 格式现在还包括新的可以直接寻址内容的 POC URI。因此,如果在搜索中心单击这样一个链接,并且设置了上面提到的 Web 内容页面,那么 WebSphere Portal 将自动查找负责呈现内容项的页面并选择该页面,然后设置该内容项的页面上下文。因此,您将在经常显示该内容项的页面中看到所选内容项,包括应当显示在该页面中的所有其他 portlet。





回页首


结束语

Web Content Management Rendering Portlet catalog shipment 解决了尝试集成 WebSphere Portal 和 Lotus Web Content Management 时遇到的所有问题。您现在只需在一个位置定义站点结构(即 WebSphere Portal),因此可以非常轻松地创建新的 Web 内容页面并使所有内容以一种集成的方式工作,包括搜索功能。此外,新的 portlet 还提供了更好的性能和大量新特性!



参考资料

学习

获得产品和技术

讨论


关于作者

作者:Stefan Hepper

Stefan Hepper 是 IBM 美国硅谷实验室的 WebSphere Portal 团队的软件架构师。他负责在门户以及 WCM 和门户的交汇处呈现 WCM 内容。此前,他负责领导 Java Portlet 标准 JSR 286 和 168。他在各种国际会议上进行演讲、发表论文、申请专利,并且是 Pervasive Computing(Addison-Wesley 2001)一书的作者之一。




对本文的评价










回页首


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