结束语
最后总结一下所有这些组件如何协同工作,以创建GroupSpace内容链接框架:
- 一个URL链接在一个GroupSpace portlet中(也就是GroupSpace Search portlet)显示。这个URL代表着一块内容。此内容可以属于GroupSpace应用程序管理的众多内容类型之一。例如,链接可能代表一个问题。它被解释成问题的“题目”。
- 这个URL使用JSP标记生成,具体实现参见JSP标记一节。本质上,由门户postback URL和一些附加参数提供了关于所代表问题的信息。
- 当此链接被点击时,一个请求被发送回执行各种portlet生命周期的门户。这导致在支持文件一节中描述的支持文件中的handlePostback()方法被执行。
- 支持文件中的handlePostBack()方法逻辑,基于参与此框架的portlet的内容类型和portlet元数据,决定处理内容显示信息的最合适的portlet。
- 当确定了一个合适的portlet(针对ISSUE类型的内容条目的问题portlet),一个IPC事件被触发。
- 响应IPC事件所执行的动作将是执行支持文件方法。这个方法在事件处理程序一节中描述。
- 事件处理程序把一些信息添加到请求,然后触发第二个正在被指定portlet侦听的IPC事件。
- 第二个IPC事件所执行的动作将是激活包含portlet的门户页面,并且执行指定的页面流动作。
- 页面流动作使用内容惟一标识符从底层内容管理系统获得数据,然后将数据转交给合适的显示内容细节的JSP。
使用定制的JSP标记,使用如下所示的简单JSP代码,内容链接在GroupSpace中生成了。
<wlpGroupSpaceLinksFW:contentDetailsLink contentId="${content.id}" contentType="${content.type}"> ${content.title} </wlpGroupSpaceLinksFW:contentDetailsLink>
这部分代码生成如上所述的触发事件和处理程序的URL。最终,合适的portlet被激活,执行定义好的页面流事件。
在GroupSpace中添加一个参与此链接框架的portlet应该非常容易。Portlet程序开发者应该添加需要的元数据和IPC元素到portlet配置文件中,然后添加定制的页面流动作。
IPC是一个非常强大的门户框架工具。这只是一个有关如何使用IPC增强门户应用程序用户体验的例子。